@forinda/kickjs 5.17.0 → 5.18.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapter-D_uzU-QA.d.mts +2121 -0
- package/dist/adapter-D_uzU-QA.d.mts.map +1 -0
- package/dist/{context-decorator-DDZ30BIW.d.mts → app-module-CuAS6hJC.d.mts} +184 -4
- package/dist/app-module-CuAS6hJC.d.mts.map +1 -0
- package/dist/application-BU5N6o_M.mjs +12 -0
- package/dist/application-BU5N6o_M.mjs.map +1 -0
- package/dist/{application-CAnpDQ8d.d.mts → application-pbx53JnX.d.mts} +31 -5
- package/dist/application-pbx53JnX.d.mts.map +1 -0
- package/dist/{bootstrap-CHmCh_cE.mjs → bootstrap-CFog4v_L.mjs} +3 -3
- package/dist/{bootstrap-CHmCh_cE.mjs.map → bootstrap-CFog4v_L.mjs.map} +1 -1
- package/dist/{bootstrap-8DDzBjhx.d.mts → bootstrap-DzfBj6Ja.d.mts} +2 -2
- package/dist/{bootstrap-8DDzBjhx.d.mts.map → bootstrap-DzfBj6Ja.d.mts.map} +1 -1
- package/dist/config/index.mjs +2 -2
- package/dist/{config-BvyPboRZ.mjs → config-Di3HlRTS.mjs} +3 -3
- package/dist/{config-BvyPboRZ.mjs.map → config-Di3HlRTS.mjs.map} +1 -1
- package/dist/{container-CPz0l8-b.mjs → container-BiGimG12.mjs} +3 -3
- package/dist/{container-CPz0l8-b.mjs.map → container-BiGimG12.mjs.map} +1 -1
- package/dist/context-leZajQAj.mjs +12 -0
- package/dist/context-leZajQAj.mjs.map +1 -0
- package/dist/core/adapter.d.mts +1 -1
- package/dist/core/adapter.mjs +1 -1
- package/dist/core/app-module.d.mts +1 -1
- package/dist/core/app-module.mjs +1 -1
- package/dist/core/cache.mjs +1 -1
- package/dist/core/container.mjs +2 -2
- package/dist/core/cron.mjs +2 -2
- package/dist/core/decorators.mjs +2 -2
- package/dist/core/errors.d.mts +1 -1
- package/dist/core/errors.mjs +2 -2
- package/dist/core/errors.mjs.map +1 -1
- package/dist/core/interfaces.mjs +1 -1
- package/dist/core/logger.mjs +1 -1
- package/dist/core/path.mjs +1 -1
- package/dist/core/plugin.d.mts +1 -1
- package/dist/core/plugin.mjs +1 -1
- package/dist/core/reactivity.mjs +1 -1
- package/dist/{core-C_gfh7JQ.mjs → core-Y_xSqZ7v.mjs} +3 -3
- package/dist/{core-C_gfh7JQ.mjs.map → core-Y_xSqZ7v.mjs.map} +1 -1
- package/dist/{env-LIrKUSAJ.mjs → env-BoMBrGWs.mjs} +3 -3
- package/dist/{env-LIrKUSAJ.mjs.map → env-BoMBrGWs.mjs.map} +1 -1
- package/dist/{errors-CRCTjEUK.d.mts → errors-n0H96eEz.d.mts} +3 -1
- package/dist/errors-n0H96eEz.d.mts.map +1 -0
- package/dist/http/application.d.mts +1 -1
- package/dist/http/application.mjs +2 -2
- package/dist/http/bootstrap.d.mts +1 -1
- package/dist/http/bootstrap.mjs +2 -2
- package/dist/http/context.d.mts +2 -2
- package/dist/http/context.mjs +2 -2
- package/dist/http/middleware/cors.mjs +1 -1
- package/dist/http/middleware/csrf.mjs +1 -1
- package/dist/http/middleware/error-handler.mjs +2 -2
- package/dist/http/middleware/helmet.mjs +1 -1
- package/dist/http/middleware/rate-limit.mjs +1 -1
- package/dist/http/middleware/request-id.mjs +1 -1
- package/dist/http/middleware/request-logger.mjs +2 -2
- package/dist/http/middleware/session.mjs +1 -1
- package/dist/http/middleware/spa.d.mts +1 -1
- package/dist/http/middleware/spa.mjs +2 -2
- package/dist/http/middleware/upload.d.mts +2 -2
- package/dist/http/middleware/upload.mjs +3 -3
- package/dist/http/middleware/upload.mjs.map +1 -1
- package/dist/http/middleware/validate.mjs +2 -2
- package/dist/http/middleware/views.d.mts +1 -1
- package/dist/http/middleware/views.mjs +2 -2
- package/dist/http/query/index.mjs +2 -2
- package/dist/http/router-builder.d.mts +2 -2
- package/dist/http/router-builder.mjs +2 -2
- package/dist/http/router-builder.mjs.map +1 -1
- package/dist/http/runtimes/fastify.d.mts +66 -0
- package/dist/http/runtimes/fastify.d.mts.map +1 -0
- package/dist/http/runtimes/fastify.mjs +13 -0
- package/dist/http/runtimes/fastify.mjs.map +1 -0
- package/dist/http/runtimes/h3.d.mts +29 -0
- package/dist/http/runtimes/h3.d.mts.map +1 -0
- package/dist/http/runtimes/h3.mjs +12 -0
- package/dist/http/runtimes/h3.mjs.map +1 -0
- package/dist/index.d.mts +11 -16
- package/dist/index.mjs +2 -2
- package/dist/index.mjs.map +1 -1
- package/dist/{metadata-D8hSFaux.mjs → metadata-Pvgc-K8a.mjs} +2 -2
- package/dist/{metadata-D8hSFaux.mjs.map → metadata-Pvgc-K8a.mjs.map} +1 -1
- package/dist/{query-NhwucLHS.mjs → query-B3PhfU6M.mjs} +2 -2
- package/dist/{query-NhwucLHS.mjs.map → query-B3PhfU6M.mjs.map} +1 -1
- package/dist/request-scope-BaM8_e_8.mjs +12 -0
- package/dist/request-scope-BaM8_e_8.mjs.map +1 -0
- package/dist/router-builder-Bh3qSiDz.d.mts +39 -0
- package/dist/router-builder-Bh3qSiDz.d.mts.map +1 -0
- package/dist/{spa-IRFC2eMN.d.mts → spa-BdvZFXJz.d.mts} +3 -2
- package/dist/spa-BdvZFXJz.d.mts.map +1 -0
- package/dist/{upload-D6edAELH.d.mts → upload-Bc_rBRtE.d.mts} +37 -2
- package/dist/upload-Bc_rBRtE.d.mts.map +1 -0
- package/dist/{views-DkllbVB3.d.mts → views-DcTVDiOh.d.mts} +31 -7
- package/dist/views-DcTVDiOh.d.mts.map +1 -0
- package/package.json +29 -1
- package/dist/adapter-CkpcZwzZ.d.mts +0 -407
- package/dist/adapter-CkpcZwzZ.d.mts.map +0 -1
- package/dist/app-module-BTzb-Vd6.d.mts +0 -92
- package/dist/app-module-BTzb-Vd6.d.mts.map +0 -1
- package/dist/application-CAnpDQ8d.d.mts.map +0 -1
- package/dist/application-CRmMytW1.mjs +0 -12
- package/dist/application-CRmMytW1.mjs.map +0 -1
- package/dist/context-C6e-S0uc.mjs +0 -12
- package/dist/context-C6e-S0uc.mjs.map +0 -1
- package/dist/context-DV7RjM9F.d.mts +0 -445
- package/dist/context-DV7RjM9F.d.mts.map +0 -1
- package/dist/context-decorator-DDZ30BIW.d.mts.map +0 -1
- package/dist/errors-CRCTjEUK.d.mts.map +0 -1
- package/dist/execution-context-B4cfhivz.d.mts +0 -98
- package/dist/execution-context-B4cfhivz.d.mts.map +0 -1
- package/dist/index-frSEHiL_.d.mts +0 -796
- package/dist/index-frSEHiL_.d.mts.map +0 -1
- package/dist/plugin-BQCn6zyj.d.mts +0 -260
- package/dist/plugin-BQCn6zyj.d.mts.map +0 -1
- package/dist/router-builder-oQpcQMWl.d.mts +0 -31
- package/dist/router-builder-oQpcQMWl.d.mts.map +0 -1
- package/dist/spa-IRFC2eMN.d.mts.map +0 -1
- package/dist/upload-D6edAELH.d.mts.map +0 -1
- package/dist/views-DkllbVB3.d.mts.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index-frSEHiL_.d.mts","names":[],"sources":["../src/core/define-plugin.ts","../src/core/define-module.ts","../src/core/define-modules.ts","../src/core/kick-error.ts","../src/core/metadata.ts","../src/core/circuit-breaker.ts","../src/core/context-errors.ts","../src/core/contributor-pipeline.ts","../src/core/contributor-runner.ts","../src/core/mount-sort.ts","../src/core/define-adapter.ts","../src/core/asset-keys.ts"],"mappings":"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"}
|
|
@@ -1,260 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import { t as Container } from "./container-TWOUyR_0.mjs";
|
|
3
|
-
import { s as ContributorRegistrations } from "./context-decorator-DDZ30BIW.mjs";
|
|
4
|
-
import { c as KickJsPluginName, p as IntrospectionSnapshot, r as AppAdapter } from "./adapter-CkpcZwzZ.mjs";
|
|
5
|
-
import { r as AppModuleEntry } from "./app-module-BTzb-Vd6.mjs";
|
|
6
|
-
|
|
7
|
-
//#region src/core/module-registry.d.ts
|
|
8
|
-
/**
|
|
9
|
-
* Imperative receiver passed to {@link KickPlugin.setup} and the
|
|
10
|
-
* top-level `bootstrap({ setup })` callback so adopters can register
|
|
11
|
-
* modules conditionally — based on env flags, runtime config,
|
|
12
|
-
* tenant lists, etc. — instead of being limited to the static
|
|
13
|
-
* `modules: [...]` array.
|
|
14
|
-
*
|
|
15
|
-
* @example
|
|
16
|
-
* ```ts
|
|
17
|
-
* bootstrap({
|
|
18
|
-
* modules: [HelloModule()], // static — always mounted
|
|
19
|
-
* setup(registry) {
|
|
20
|
-
* if (env.ENABLE_ADMIN) registry.mount(AdminModule())
|
|
21
|
-
* for (const tenant of env.TENANTS) {
|
|
22
|
-
* registry.mount(TenantModule.scoped(tenant.id, { id: tenant.id }))
|
|
23
|
-
* }
|
|
24
|
-
* },
|
|
25
|
-
* })
|
|
26
|
-
* ```
|
|
27
|
-
*
|
|
28
|
-
* **Currently exposes only `.mount(module)` — the HTTP-feature path.**
|
|
29
|
-
* A future `.use(module)` for non-HTTP modules (queues, cron, workers,
|
|
30
|
-
* DI-only seeds) is planned but not yet implemented; existing non-HTTP
|
|
31
|
-
* modules continue returning `null` from `routes()` and registering
|
|
32
|
-
* via `.mount()`.
|
|
33
|
-
*
|
|
34
|
-
* Same dispatch rules as the static `modules: [...]` array — class
|
|
35
|
-
* entries get `new`-ed at boot, `defineModule` factory output is used
|
|
36
|
-
* directly. The registry doesn't validate the entry shape itself; the
|
|
37
|
-
* Application loader does the typeof discrimination at mount time.
|
|
38
|
-
*/
|
|
39
|
-
interface ModuleRegistry {
|
|
40
|
-
/**
|
|
41
|
-
* Register a module for the full HTTP lifecycle: `register()` runs,
|
|
42
|
-
* `import.meta.glob` decorator side-effects fire, `routes()` is
|
|
43
|
-
* called and its result mounted, `contributors()` are merged at
|
|
44
|
-
* `'module'` precedence and applied to the mounted routes.
|
|
45
|
-
*
|
|
46
|
-
* Modules are mounted in registration order (first call → first
|
|
47
|
-
* mount). Order across sources is: plugin static modules → plugin
|
|
48
|
-
* `setup()` calls → user static modules → user `setup()` callback.
|
|
49
|
-
*/
|
|
50
|
-
mount(module: AppModuleEntry): void;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Internal collector implementing {@link ModuleRegistry}. Application
|
|
54
|
-
* passes one of these to every `setup()` callback during bootstrap;
|
|
55
|
-
* the collected `entries` array is then run through the same
|
|
56
|
-
* class-vs-instance dispatch as the static `modules: [...]` array.
|
|
57
|
-
*
|
|
58
|
-
* Not exported from the public surface — adopters interact only
|
|
59
|
-
* through the {@link ModuleRegistry} interface.
|
|
60
|
-
*/
|
|
61
|
-
declare class MutableModuleRegistry implements ModuleRegistry {
|
|
62
|
-
readonly entries: AppModuleEntry[];
|
|
63
|
-
mount(module: AppModuleEntry): void;
|
|
64
|
-
}
|
|
65
|
-
//#endregion
|
|
66
|
-
//#region src/core/plugin.d.ts
|
|
67
|
-
/**
|
|
68
|
-
* Plugin interface for extending KickJS applications.
|
|
69
|
-
*
|
|
70
|
-
* Plugins bundle modules, adapters, middleware, and DI bindings into a single
|
|
71
|
-
* reusable unit. They run before the application bootstraps, so they can
|
|
72
|
-
* register services and configure the app before any module loads.
|
|
73
|
-
*
|
|
74
|
-
* @example
|
|
75
|
-
* ```ts
|
|
76
|
-
* import type { KickPlugin } from '@forinda/kickjs'
|
|
77
|
-
*
|
|
78
|
-
* export class CorsPlugin implements KickPlugin {
|
|
79
|
-
* name = 'CorsPlugin'
|
|
80
|
-
*
|
|
81
|
-
* middleware() {
|
|
82
|
-
* return [cors({ origin: '*' })]
|
|
83
|
-
* }
|
|
84
|
-
* }
|
|
85
|
-
*
|
|
86
|
-
* // Usage:
|
|
87
|
-
* bootstrap({
|
|
88
|
-
* modules,
|
|
89
|
-
* plugins: [new CorsPlugin()],
|
|
90
|
-
* })
|
|
91
|
-
* ```
|
|
92
|
-
*
|
|
93
|
-
* @example
|
|
94
|
-
* ```ts
|
|
95
|
-
* // A more complex plugin that bundles modules and adapters
|
|
96
|
-
* export class AuthPlugin implements KickPlugin {
|
|
97
|
-
* name = 'AuthPlugin'
|
|
98
|
-
*
|
|
99
|
-
* constructor(private config: AuthConfig) {}
|
|
100
|
-
*
|
|
101
|
-
* register(container: Container) {
|
|
102
|
-
* container.registerFactory(AUTH_SERVICE, () => new JwtAuthService(this.config))
|
|
103
|
-
* }
|
|
104
|
-
*
|
|
105
|
-
* modules() {
|
|
106
|
-
* return [AuthModule]
|
|
107
|
-
* }
|
|
108
|
-
*
|
|
109
|
-
* adapters() {
|
|
110
|
-
* return [new AuthGuardAdapter(this.config)]
|
|
111
|
-
* }
|
|
112
|
-
*
|
|
113
|
-
* middleware() {
|
|
114
|
-
* return [passport.initialize()]
|
|
115
|
-
* }
|
|
116
|
-
* }
|
|
117
|
-
* ```
|
|
118
|
-
*/
|
|
119
|
-
interface KickPlugin {
|
|
120
|
-
/** Human-readable name for logging, debugging, and `dependsOn` resolution. */
|
|
121
|
-
name: string;
|
|
122
|
-
/**
|
|
123
|
-
* Other plugin names that must mount before this one. The framework
|
|
124
|
-
* topologically sorts plugins at boot — cycles or unknown names throw
|
|
125
|
-
* via {@link MountCycleError} / {@link MissingMountDepError} so bad
|
|
126
|
-
* configurations fail boot rather than corrupt live traffic.
|
|
127
|
-
*
|
|
128
|
-
* Plugins with no `dependsOn` retain their declaration order, so
|
|
129
|
-
* existing apps that don't use this field see no behaviour change.
|
|
130
|
-
*
|
|
131
|
-
* @example
|
|
132
|
-
* ```ts
|
|
133
|
-
* class MonitoringPlugin implements KickPlugin {
|
|
134
|
-
* name = 'MonitoringPlugin'
|
|
135
|
-
* // OTel must initialize traces before request logger reads them
|
|
136
|
-
* dependsOn = ['OtelPlugin']
|
|
137
|
-
* }
|
|
138
|
-
* ```
|
|
139
|
-
*/
|
|
140
|
-
dependsOn?: readonly KickJsPluginName[];
|
|
141
|
-
/**
|
|
142
|
-
* Register DI bindings before modules load.
|
|
143
|
-
* Use this to provide services that modules depend on.
|
|
144
|
-
*/
|
|
145
|
-
register?(container: Container): void;
|
|
146
|
-
/**
|
|
147
|
-
* Return modules to be loaded alongside user modules. Plugin
|
|
148
|
-
* modules are loaded before user modules.
|
|
149
|
-
*
|
|
150
|
-
* Accepts both class form (`SomeModule extends AppModule`) and
|
|
151
|
-
* instance form (output of {@link defineModule}'s factory call,
|
|
152
|
-
* e.g. `TasksModule({ scope: 'admin' })`) — the bootstrap loader
|
|
153
|
-
* discriminates and either `new`-s the class or uses the instance
|
|
154
|
-
* directly.
|
|
155
|
-
*
|
|
156
|
-
* Static path — for conditional / dynamic registration, use
|
|
157
|
-
* {@link KickPlugin.setup} instead.
|
|
158
|
-
*/
|
|
159
|
-
modules?(): AppModuleEntry[];
|
|
160
|
-
/**
|
|
161
|
-
* Imperative module registration hook. Receives a {@link ModuleRegistry}
|
|
162
|
-
* the plugin can call `.mount(module)` on to register modules
|
|
163
|
-
* conditionally — e.g. based on injected config, env flags, or a
|
|
164
|
-
* tenant list resolved at boot.
|
|
165
|
-
*
|
|
166
|
-
* Runs after the static {@link KickPlugin.modules} array is collected
|
|
167
|
-
* but before user modules and the user-level `setup()` callback. The
|
|
168
|
-
* plugin sees the same dispatch rules as everything else: class
|
|
169
|
-
* entries get `new`-ed, factory output is used directly.
|
|
170
|
-
*
|
|
171
|
-
* @example
|
|
172
|
-
* ```ts
|
|
173
|
-
* definePlugin<{ tenants: string[] }>({
|
|
174
|
-
* name: 'MultiTenantPlugin',
|
|
175
|
-
* build: (config) => ({
|
|
176
|
-
* setup(registry) {
|
|
177
|
-
* for (const tenant of config.tenants) {
|
|
178
|
-
* registry.mount(TenantModule.scoped(tenant, { id: tenant }))
|
|
179
|
-
* }
|
|
180
|
-
* },
|
|
181
|
-
* }),
|
|
182
|
-
* })
|
|
183
|
-
* ```
|
|
184
|
-
*/
|
|
185
|
-
setup?(registry: ModuleRegistry): void;
|
|
186
|
-
/**
|
|
187
|
-
* Return adapter instances to be added to the application.
|
|
188
|
-
* Plugin adapters are added before user adapters.
|
|
189
|
-
*/
|
|
190
|
-
adapters?(): AppAdapter[];
|
|
191
|
-
/**
|
|
192
|
-
* Return Express middleware to be added to the global pipeline.
|
|
193
|
-
* Plugin middleware runs before user-defined middleware.
|
|
194
|
-
*/
|
|
195
|
-
middleware?(): any[];
|
|
196
|
-
/**
|
|
197
|
-
* Return Context Contributors (#107) the plugin ships. Contributors
|
|
198
|
-
* returned here merge into the per-route pipeline at the **`'adapter'`
|
|
199
|
-
* precedence level** — same as those returned by adapters the plugin
|
|
200
|
-
* ships via {@link KickPlugin.adapters}, and for the same reason: a
|
|
201
|
-
* plugin is a cross-cutting bundle, narrower than the global default
|
|
202
|
-
* but broader than a per-module hook.
|
|
203
|
-
*
|
|
204
|
-
* Use when a plugin wants to ship a typed contributor without standing
|
|
205
|
-
* up an accompanying adapter. For full coverage of the precedence
|
|
206
|
-
* matrix (method > class > module > adapter > global) see
|
|
207
|
-
* `docs/guide/context-decorators.md`.
|
|
208
|
-
*
|
|
209
|
-
* @example
|
|
210
|
-
* ```ts
|
|
211
|
-
* import { defineContextDecorator, type KickPlugin } from '@forinda/kickjs'
|
|
212
|
-
*
|
|
213
|
-
* const LoadFlags = defineContextDecorator({
|
|
214
|
-
* key: 'flags',
|
|
215
|
-
* resolve: (ctx) => fetchFlags(ctx.requestId!),
|
|
216
|
-
* })
|
|
217
|
-
*
|
|
218
|
-
* export class FlagsPlugin implements KickPlugin {
|
|
219
|
-
* name = 'FlagsPlugin'
|
|
220
|
-
* contributors() {
|
|
221
|
-
* return [LoadFlags.registration]
|
|
222
|
-
* }
|
|
223
|
-
* }
|
|
224
|
-
* ```
|
|
225
|
-
*/
|
|
226
|
-
contributors?(): ContributorRegistrations;
|
|
227
|
-
/**
|
|
228
|
-
* Called after the application has fully bootstrapped.
|
|
229
|
-
* Use for post-startup logic like logging, health registration, etc.
|
|
230
|
-
*/
|
|
231
|
-
onReady?(container: Container): void | Promise<void>;
|
|
232
|
-
/**
|
|
233
|
-
* Called during application shutdown.
|
|
234
|
-
* Clean up plugin resources (connections, intervals, etc.).
|
|
235
|
-
*/
|
|
236
|
-
shutdown?(): void | Promise<void>;
|
|
237
|
-
/**
|
|
238
|
-
* Optional DevTools introspection hook (architecture.md §23). Returns
|
|
239
|
-
* a snapshot describing this plugin's current state, metrics, and DI
|
|
240
|
-
* tokens. DevTools awaits the result, so async work is fine — but keep
|
|
241
|
-
* the implementation cheap (counters + flags, no DB round trips) since
|
|
242
|
-
* the topology endpoint polls on a short interval.
|
|
243
|
-
*
|
|
244
|
-
* The return type lives in `@forinda/kickjs` itself
|
|
245
|
-
* ({@link IntrospectionSnapshot}) so adopters can author `introspect()`
|
|
246
|
-
* without importing the kit just to satisfy the contract. The kit's
|
|
247
|
-
* own `IntrospectionSnapshot` type stays structurally identical;
|
|
248
|
-
* either import works.
|
|
249
|
-
*/
|
|
250
|
-
introspect?(): IntrospectionSnapshot | Promise<IntrospectionSnapshot>;
|
|
251
|
-
/**
|
|
252
|
-
* Optional DevTools tabs this plugin contributes (architecture.md §23).
|
|
253
|
-
* Same shape as {@link AppAdapter.devtoolsTabs}; the kit's
|
|
254
|
-
* `DevtoolsTabDescriptor` types it for plugin authors.
|
|
255
|
-
*/
|
|
256
|
-
devtoolsTabs?(): readonly unknown[];
|
|
257
|
-
}
|
|
258
|
-
//#endregion
|
|
259
|
-
export { ModuleRegistry as n, MutableModuleRegistry as r, KickPlugin as t };
|
|
260
|
-
//# sourceMappingURL=plugin-BQCn6zyj.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-BQCn6zyj.d.mts","names":[],"sources":["../src/core/module-registry.ts","../src/core/plugin.ts"],"mappings":";;;;;;;;;;;;AAiCA;;;;;;;;AAW8B;AAY9B;;;;;;;;;;;;;;;AAG8B;;UA1Bb,cAAA;;AC2BjB;;;;;;;;;EDhBE,KAAA,CAAM,MAAA,EAAQ,cAAc;AAAA;;;;;;;;;;cAYjB,qBAAA,YAAiC,cAAA;EAAA,SACnC,OAAA,EAAS,cAAA;EAElB,KAAA,CAAM,MAAA,EAAQ,cAAA;AAAA;;;;;;;;;;AAfc;AAY9B;;;;;;;;;;;;;;;AAG8B;;;;ACC9B;;;;;;;;;;;;;;;;;;;;;;;;;UAAiB,UAAA;EAsEE;EApEjB,IAAA;EA0EA;;;;;;;;;;;;;;;;;AAwEY;EA9HZ,SAAA,YAAqB,gBAAA;;;;;EAMrB,QAAA,EAAU,SAAA,EAAW,SAAA;;;;;;;;;;;;;;EAerB,OAAA,KAAY,cAAA;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BZ,KAAA,EAAO,QAAA,EAAU,cAAA;;;;;EAMjB,QAAA,KAAa,UAAA;;;;;EAMb,UAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCA,YAAA,KAAiB,wBAAA;;;;;EAMjB,OAAA,EAAS,SAAA,EAAW,SAAA,UAAmB,OAAA;;;;;EAMvC,QAAA,YAAoB,OAAA;;;;;;;;;;;;;;EAepB,UAAA,KAAe,qBAAA,GAAwB,OAAA,CAAQ,qBAAA;;;;;;EAO/C,YAAA;AAAA"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import { S as SourcedRegistration } from "./index-frSEHiL_.mjs";
|
|
3
|
-
import { Router } from "express";
|
|
4
|
-
|
|
5
|
-
//#region src/http/router-builder.d.ts
|
|
6
|
-
/** @internal — set by Application.setup() before each `mod.routes()` call. */
|
|
7
|
-
declare function _setExternalContributorSources(sources: readonly SourcedRegistration[]): void;
|
|
8
|
-
interface BuildRoutesOptions {
|
|
9
|
-
/**
|
|
10
|
-
* Extra contributors to merge into the per-route pipeline at their declared
|
|
11
|
-
* precedence levels. Pass explicitly when calling buildRoutes outside the
|
|
12
|
-
* Application route-mount loop (typically in tests). When omitted, falls
|
|
13
|
-
* back to the slot set by Application.setup().
|
|
14
|
-
*/
|
|
15
|
-
externalSources?: readonly SourcedRegistration[];
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Build an Express Router from a controller class decorated with @Get, @Post, etc.
|
|
19
|
-
* Resolves the controller from the DI container, wraps handlers in RequestContext,
|
|
20
|
-
* and applies class-level and method-level middleware.
|
|
21
|
-
*
|
|
22
|
-
* Routes are registered using only the method-level decorator paths (e.g. @Get('/me') → '/me').
|
|
23
|
-
* The @Controller path is NOT baked into the router — it serves as metadata only
|
|
24
|
-
* (used by Swagger and other adapters for introspection).
|
|
25
|
-
* The module's routes().path is the single source of truth for the mount prefix,
|
|
26
|
-
* which avoids path doubling when both the module and controller specify the same path.
|
|
27
|
-
*/
|
|
28
|
-
declare function buildRoutes(controllerClass: any, options?: BuildRoutesOptions): Router;
|
|
29
|
-
//#endregion
|
|
30
|
-
export { _setExternalContributorSources as n, buildRoutes as r, BuildRoutesOptions as t };
|
|
31
|
-
//# sourceMappingURL=router-builder-oQpcQMWl.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"router-builder-oQpcQMWl.d.mts","names":[],"sources":["../src/http/router-builder.ts"],"mappings":";;;;;;iBAmCgB,8BAAA,CAA+B,OAAuC,WAArB,mBAAmB;AAAA,UAInE,kBAAA;EAJ6B;;;AAAwC;AAItF;;EAOE,eAAA,YAA2B,mBAAmB;AAAA;AAAA;AAchD;;;;;;;;;AAA2F;AAd3C,iBAchC,WAAA,CAAY,eAAA,OAAsB,OAAA,GAAS,kBAAA,GAA0B,MAAM"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"spa-IRFC2eMN.d.mts","names":[],"sources":["../src/http/middleware/spa.ts"],"mappings":";;;UAMiB,iBAAA;;;AAAjB;;;;;;;;;;AAiDmB;EAnCjB,SAAA;EAqEsB;;;;;;;;;;EAzDtB,SAAA;EAkEoB;;;;;;;;;EAvDpB,OAAA;EAuDoB;;;;EAjDpB,YAAA;EAoGA;;;;EA9FA,iBAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAkCW,UAAA,YAAsB,UAAA;EAAA,QASb,OAAA;EARpB,IAAA;EAAA,QACQ,SAAA;EAAA,QACA,WAAA;EAAA,QACA,YAAA;EAAA,QACA,YAAA;EAAA,QACA,iBAAA;EAAA,QACA,SAAA;EAER,WAAA,CAAoB,OAAA,GAAS,iBAAA;EAU7B,WAAA;IAAc;EAAA,GAAO,cAAA;EAyCrB,WAAA;IAAc;EAAA,GAAO,cAAA;AAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"upload-D6edAELH.d.mts","names":[],"sources":["../src/http/middleware/upload.ts"],"mappings":";;;;;;;;;AAiGA;;;;AAAgD;AAYhD;;iBAZgB,gBAAA,CAAiB,KAAe;;;;;;UAY/B,aAAA,SAAsB,iBAAiB;EAIlD;EAFJ,OAAA,GAAU,OAAA;EAmEG;EAjEb,IAAA;AAAA;;;;;;AAiE6E;AAAA;;;;;;iBAAtE,MAAA,CAAO,SAAA,UAAmB,OAAA,GAAS,aAAA,GAAqB,cAAc;;;;iBAQtE,KAAA,CAAM,SAAA,UAAmB,QAAA,WAAe,OAAA,GAAS,aAAA,GAAqB,cAAc;AAAA;;;AAAA,iBAQpF,IAAA,CAAK,OAAA,GAAS,aAAA,GAAqB,cAAc;;;;;AAAA;AAmB1D;;;;;;;;;iBAAgB,YAAA,KAAY,GAAA,EACb,OAAA,EAAO,GAAA,EAAO,QAAA,EAAQ,IAAA,EAAQ,YAAA;;;;;;iBA+B7B,qBAAA,CAAsB,MAAA,EAAQ,gBAAA,GAAmB,cAAc;AAA/E;AAAA,cAmBa,MAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"views-DkllbVB3.d.mts","names":[],"sources":["../src/http/cluster.ts","../src/http/define-http-context-decorator.ts","../src/http/request-store.ts","../src/http/middleware/request-scope.ts","../src/http/middleware/trace-context.ts","../src/http/middleware/views.ts"],"mappings":";;;;;;;;;UAOiB,cAAA;;EAEf,OAAA;;EAEA,uBAAA;;EAEA,YAAA;;EAEA,WAAA;;EAEA,aAAA;AAAA;;iBAIc,gBAAA;;;;;;;;UCuDC,oCAAA,WAA+C,MAAA;EAAA,6BACjC,MAAA,SAAe,QAAA,IAAY,MAAA,iBACtD,IAAA,EAAM,oBAAA,CAAqB,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,cAAA,IACnC,gBAAA,CAAiB,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,cAAA;AAAA;;;;;;UAQd,4BAAA;EAAA,6BAGH,MAAA,SAAe,QAAA,IAAY,MAAA,2BAC3B,MAAA,oBAA0B,MAAA,iBAEpC,IAAA,EAAM,oBAAA,CAAqB,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,cAAA,IACnC,gBAAA,CAAiB,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,cAAA;EAfc;AAAA;AAQ7C;;;;;;;;;;;;;EAwBE,UAAA,WAAqB,MAAA,sBAA4B,oCAAA,CAAqC,CAAA;AAAA;AAAA,cAW3E,0BAAA,EAA4B,4BAQR;;;;UC9HhB,YAAA;;EAEf,SAAA;;;;;;EAMA,SAAA,EAAW,GAAA;;;;;;;;;;;;AFLb;;;;;;;;;EE0BE,MAAA,EAAQ,GAAG;AAAA;AFZb;AAAA,cEgBa,YAAA,EAAY,iBAAA,CAAA,YAAA;;;AFhBO;;iBEsBhB,eAAA,IAAmB,YAAY;;ADiC/C;;;;;;;;;;;;;;;;;;;;;;;;;iBCGgB,eAAA,mBAAkC,GAAA,EAAK,CAAA,GAAI,SAAA,CAAU,CAAA;;;;;;;;;;;iBCrDrD,sBAAA,KAAsB,GAAA,EACnB,OAAA,EAAO,IAAA,EAAQ,QAAA,EAAQ,IAAA,EAAQ,YAAA;;;;;;;cCnBrC,kBAAA;AAAA,UAKI,mBAAA;;;;;EAKf,iBAAiB;AAAA;;;;UAMF,YAAA;;EAEf,OAAA;;EAEA,OAAA;;EAEA,YAAA;EJvBe;EIyBf,KAAA;AAAA;;;;;iBAqBc,gBAAA,CAAiB,MAAA,WAAiB,YAAY;;;AJpC/C;AAIf;;;;AAAgC;;;;ACuDhC;;;;;;;;;;iBGmBgB,YAAA,CAAa,OAAA,GAAS,mBAAA,IAAwB,GAAA,EAC/C,OAAA,EAAO,GAAA,EAAO,QAAA,EAAQ,IAAA,EAAQ,YAAA;;;UC3F5B,kBAAA;;;;;;;;;;;;;;;EAef,MAAA;;EAGA,GAAA;;EAGA,QAAA;;EAGA,MAAA;AAAA;ALtBF;;;;;;;;;;AAUe;AAIf;;;;AAAgC;;;;ACuDhC;;;;;;;;;;ADrEA,cKsDa,WAAA,EAAW,cAAA,CAAA,kBAAA"}
|