@rudderjs/core 1.0.0 → 1.1.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/README.md +145 -0
- package/boost/guidelines.md +9 -3
- package/dist/application.d.ts.map +1 -1
- package/dist/application.js +16 -3
- package/dist/application.js.map +1 -1
- package/dist/di.d.ts +55 -0
- package/dist/di.d.ts.map +1 -1
- package/dist/di.js +168 -9
- package/dist/di.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/validation.d.ts +17 -0
- package/dist/validation.d.ts.map +1 -1
- package/dist/validation.js +79 -22
- package/dist/validation.js.map +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -80,6 +80,94 @@ export default Application.configure({
|
|
|
80
80
|
- `ConfigureOptions`
|
|
81
81
|
- `server`, `config?`, `providers?`
|
|
82
82
|
|
|
83
|
+
## Container
|
|
84
|
+
|
|
85
|
+
The DI `Container` is the heart of the framework — services bound here are resolvable via `@Inject()`, contextual bindings (`when().needs().give()`), and direct `make()` calls. Beyond `bind` / `singleton` / `scoped` / `instance`, two convenience surfaces help framework providers and plugin-style fan-out:
|
|
86
|
+
|
|
87
|
+
### Conditional binding (`*If`)
|
|
88
|
+
|
|
89
|
+
`bindIf` / `singletonIf` / `scopedIf` register a binding only when the token is currently unbound. Lets framework providers register a sane default that an app provider can override by binding the same token first:
|
|
90
|
+
|
|
91
|
+
```ts
|
|
92
|
+
// Inside CacheServiceProvider.register()
|
|
93
|
+
this.app.singletonIf(CacheManager, c => new CacheManager(c.make(ConfigRepo)))
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
If an app provider already bound `CacheManager` before this provider registers, the framework default is skipped — no ad-hoc `if (!app.has(...))` dance.
|
|
97
|
+
|
|
98
|
+
### Tagging
|
|
99
|
+
|
|
100
|
+
Group bindings under one or more tag names, then resolve them all at once. Useful for plugin fan-out — exporters, channels, recorders:
|
|
101
|
+
|
|
102
|
+
```ts
|
|
103
|
+
container.bind('csv.exporter', () => new CsvExporter())
|
|
104
|
+
container.bind('xlsx.exporter', () => new XlsxExporter())
|
|
105
|
+
container.bind('json.exporter', () => new JsonExporter())
|
|
106
|
+
|
|
107
|
+
container.tag(['csv.exporter', 'xlsx.exporter', 'json.exporter'], 'reports.exporters')
|
|
108
|
+
// or, additively:
|
|
109
|
+
container.tag('json.exporter', ['reports.exporters', 'serializers.json'])
|
|
110
|
+
|
|
111
|
+
const exporters = container.tagged<Exporter>('reports.exporters')
|
|
112
|
+
// → [CsvExporter, XlsxExporter, JsonExporter] — resolved in insertion order
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
`tagged()` returns `[]` for unknown tags (no throw). Singletons stay singletons across `tagged()` calls. Tagging an unbound token is allowed — `tagged()` will throw the standard "cannot resolve" error when one is asked for, matching Laravel's behavior.
|
|
116
|
+
|
|
117
|
+
For constructor-time injection, decorate a parameter with `@Tag(name)`:
|
|
118
|
+
|
|
119
|
+
```ts
|
|
120
|
+
import { Injectable, Tag } from '@rudderjs/core'
|
|
121
|
+
|
|
122
|
+
@Injectable()
|
|
123
|
+
class ReportRunner {
|
|
124
|
+
constructor(@Tag('reports.exporters') private exporters: Exporter[]) {}
|
|
125
|
+
}
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
For contextual binding, pair the `tagToken()` sentinel with `when().needs().give()`:
|
|
129
|
+
|
|
130
|
+
```ts
|
|
131
|
+
import { tagToken } from '@rudderjs/core'
|
|
132
|
+
|
|
133
|
+
container.when(ReportRunner)
|
|
134
|
+
.needs(tagToken('reports.exporters'))
|
|
135
|
+
.give(c => c.tagged<Exporter>('reports.exporters').filter(e => e.enabled))
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
`@Tag` is constructor-only — `design:paramtypes` metadata is dropped on method parameters by esbuild/Vite.
|
|
139
|
+
|
|
140
|
+
### Extending bindings
|
|
141
|
+
|
|
142
|
+
`extend()` wraps the resolved value with a decorator function. Useful for telemetry, tracing, or feature flags without subclassing:
|
|
143
|
+
|
|
144
|
+
```ts
|
|
145
|
+
container.singleton(Logger, () => new ConsoleLogger())
|
|
146
|
+
|
|
147
|
+
container.extend<Logger>(Logger, (logger, c) =>
|
|
148
|
+
new TelescopeLoggerProxy(logger, c.make(Telescope))
|
|
149
|
+
)
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
Multiple `extend()` calls chain in registration order. Singletons cache the wrapped value (extenders run once); transient bindings re-wrap on every `make()`; scoped bindings re-wrap once per scope. If a value is already cached when `extend()` is called, the new extender wraps it eagerly so consumers that already resolved the token see the wrap on their next `make()`.
|
|
153
|
+
|
|
154
|
+
### Rebinding hooks
|
|
155
|
+
|
|
156
|
+
`rebinding()` registers a listener that fires when an existing binding is replaced — useful for test hot-swaps and `app->refresh()` parity:
|
|
157
|
+
|
|
158
|
+
```ts
|
|
159
|
+
container.singleton(Mailer, () => new SesMailer())
|
|
160
|
+
|
|
161
|
+
container.rebinding<Mailer>(Mailer, (newInstance, c) => {
|
|
162
|
+
c.make(MailQueue).rewire(newInstance)
|
|
163
|
+
})
|
|
164
|
+
|
|
165
|
+
// In a test:
|
|
166
|
+
container.instance(Mailer, new FakeMailer()) // listener fires synchronously with the FakeMailer
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
Listeners do **not** fire on the initial bind — only when an already-bound token is rebound via `bind` / `singleton` / `scoped` / `instance`. The listener receives the freshly-resolved value, not the stale singleton cache.
|
|
170
|
+
|
|
83
171
|
## Middleware Groups
|
|
84
172
|
|
|
85
173
|
Routes loaded via `withRouting({ web })` are tagged `web`; via `withRouting({ api })` tagged `api`. The server adapter prepends the matching group's middleware stack before per-route middleware — Laravel-style.
|
|
@@ -265,9 +353,66 @@ When `@rudderjs/log` is installed, `report()` routes through the log channel aut
|
|
|
265
353
|
| Error type | Response |
|
|
266
354
|
|---|---|
|
|
267
355
|
| `ValidationError` | `422` JSON `{ message, errors }` |
|
|
356
|
+
| `ValidationResponse` | The wrapped `Response` is emitted directly (used by `FormRequest.failedValidation()` short-circuit) |
|
|
268
357
|
| `HttpException` | Status from `statusCode`, JSON or HTML based on `Accept` |
|
|
269
358
|
| Unhandled error | Reported via reporter, then `500` (with stack in debug mode) |
|
|
270
359
|
|
|
360
|
+
## FormRequest
|
|
361
|
+
|
|
362
|
+
Subclass `FormRequest`, define a Zod schema in `rules()`, and call `validate(req)`. The merged `body + query + params` flows through five optional lifecycle hooks that mirror Laravel's `FormRequest`:
|
|
363
|
+
|
|
364
|
+
```ts
|
|
365
|
+
import { FormRequest, z } from '@rudderjs/core'
|
|
366
|
+
|
|
367
|
+
const schema = z.object({
|
|
368
|
+
email: z.string().email(),
|
|
369
|
+
password: z.string().min(8),
|
|
370
|
+
})
|
|
371
|
+
|
|
372
|
+
class StoreUser extends FormRequest<typeof schema> {
|
|
373
|
+
rules() { return schema }
|
|
374
|
+
|
|
375
|
+
// Mutate input before parsing — sync only.
|
|
376
|
+
protected override prepareForValidation(input: Record<string, unknown>) {
|
|
377
|
+
if (typeof input['email'] === 'string') input['email'] = input['email'].toLowerCase().trim()
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
// Per-request message overrides keyed by dot-path. Static string OR function.
|
|
381
|
+
protected override messages() {
|
|
382
|
+
return {
|
|
383
|
+
email: 'Please enter a valid email address.',
|
|
384
|
+
password: (issue: z.core.$ZodRawIssue) =>
|
|
385
|
+
issue.code === 'too_small' ? 'Min 8 characters.' : 'Invalid password.',
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
// Cross-field checks against parsed data. Run serially after parse; collect all errors.
|
|
390
|
+
protected override after() {
|
|
391
|
+
return [
|
|
392
|
+
({ data, addError }) => {
|
|
393
|
+
if (data.email.endsWith('@example.com')) addError('email', 'No example.com addresses')
|
|
394
|
+
},
|
|
395
|
+
]
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
// Final transform after all checks pass; return value replaces resolved data.
|
|
399
|
+
protected override async passedValidation(data: z.infer<typeof schema>) {
|
|
400
|
+
return { ...data, password: await Bcrypt.hash(data.password) }
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
// Customize the failure path. Default throws `ValidationError`; return a `Response` to short-circuit.
|
|
404
|
+
protected override failedValidation(errors: Record<string, string[]>): never {
|
|
405
|
+
throw new ValidationError(errors)
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
**Pipeline order:** `authorize → prepareForValidation → rules.parse → after → passedValidation`. Both Zod parse failures and `after()` errors converge through `failedValidation(errors)`.
|
|
411
|
+
|
|
412
|
+
**Short-circuit responses:** `failedValidation` may `return` a Web `Response` to bypass the default 422 — the framework's exception handler unwraps the `ValidationResponse` sentinel and emits the wrapped Response directly.
|
|
413
|
+
|
|
414
|
+
**Type inference:** parameterize the class with the schema type (`extends FormRequest<typeof schema>`) so `data` in `after()`/`passedValidation` is inferred as `z.infer<typeof schema>`. Without the parameter, `data` is typed as `unknown`.
|
|
415
|
+
|
|
271
416
|
## Notes
|
|
272
417
|
|
|
273
418
|
- `Application.create()` is singleton-based and can recreate in development/local mode when config is passed.
|
package/boost/guidelines.md
CHANGED
|
@@ -100,6 +100,12 @@ Contextual bindings let you override a dependency for a specific consumer:
|
|
|
100
100
|
container.when(PhotoController).needs('storage').give(() => new S3Storage())
|
|
101
101
|
```
|
|
102
102
|
|
|
103
|
+
Conditional binding helpers (`bindIf` / `singletonIf` / `scopedIf`) register only when the token is currently unbound — used by framework providers so app providers can override defaults by binding first.
|
|
104
|
+
|
|
105
|
+
Tagging groups bindings under one or more tag names: `container.tag(['csv.exporter', 'xlsx.exporter'], 'reports.exporters')`, then `container.tagged<Exporter>('reports.exporters')` resolves all of them in insertion order. Singletons stay singletons across `tagged()` calls. Inject the array directly with `@Tag('reports.exporters')` on a constructor parameter, or use `tagToken('reports.exporters')` as a token in `when().needs().give()`.
|
|
106
|
+
|
|
107
|
+
`extend(token, fn)` wraps the resolved value with a decorator function — chained in registration order, applied eagerly to any cached singleton/instance. `rebinding(token, fn)` registers a listener that fires when an existing binding is replaced (not on the initial bind), useful for test hot-swaps and `app->refresh()` parity.
|
|
108
|
+
|
|
103
109
|
### Middleware
|
|
104
110
|
|
|
105
111
|
Middleware is configured in `bootstrap/app.ts` via `withMiddleware()`. Each handler receives a `MiddlewareHandler` signature from `@rudderjs/contracts`:
|
|
@@ -121,7 +127,7 @@ Extend `Listener` and call `dispatch(new MyEvent(data))`. Register listeners in
|
|
|
121
127
|
|
|
122
128
|
### Validation
|
|
123
129
|
|
|
124
|
-
Extend `FormRequest` and define a `rules()` method returning a Zod schema (`z.object({...})`). `z` is re-exported from `@rudderjs/core`.
|
|
130
|
+
Extend `FormRequest` and define a `rules()` method returning a Zod schema (`z.object({...})`). `z` is re-exported from `@rudderjs/core`. Five optional lifecycle hooks mirror Laravel: `prepareForValidation` (mutate input pre-parse), `messages` (per-request error message overrides keyed by dot-path), `after` (array of cross-field check closures with `addError(path, msg)`), `passedValidation` (final transform on parsed data), and `failedValidation` (override the throw — return a `Response` to short-circuit, otherwise it throws `ValidationError`). Parameterize as `extends FormRequest<typeof schema>` to get `z.infer<typeof schema>` typing inside the hooks.
|
|
125
131
|
|
|
126
132
|
## Common Pitfalls
|
|
127
133
|
|
|
@@ -134,8 +140,8 @@ Extend `FormRequest` and define a `rules()` method returning a Zod schema (`z.ob
|
|
|
134
140
|
## Key Imports
|
|
135
141
|
|
|
136
142
|
```ts
|
|
137
|
-
import { Application, app, resolve, ServiceProvider, Injectable, Inject } from '@rudderjs/core'
|
|
138
|
-
import { FormRequest, ValidationError, z } from '@rudderjs/core'
|
|
143
|
+
import { Application, app, resolve, ServiceProvider, Injectable, Inject, Tag, tagToken } from '@rudderjs/core'
|
|
144
|
+
import { FormRequest, ValidationError, ValidationResponse, z } from '@rudderjs/core'
|
|
139
145
|
import { Listener, dispatch, events } from '@rudderjs/core'
|
|
140
146
|
import { HttpException, abort, abort_if, report } from '@rudderjs/core'
|
|
141
147
|
import { Collection, Env, env, config, sleep } from '@rudderjs/core'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}
|
package/dist/application.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { container } from './di.js';
|
|
2
2
|
import { Env, ConfigRepository, setConfigRepository } from '@rudderjs/support';
|
|
3
3
|
import { rudder } from '@rudderjs/console';
|
|
4
|
-
import { ValidationError } from './validation.js';
|
|
4
|
+
import { ValidationError, ValidationResponse } from './validation.js';
|
|
5
5
|
import { HttpException, renderHttpException, renderServerError, report, setExceptionReporter, } from './exceptions.js';
|
|
6
6
|
import { getLastLoadedProviderEntries } from './default-providers.js';
|
|
7
7
|
export class Application {
|
|
@@ -323,7 +323,11 @@ export class ExceptionConfigurator {
|
|
|
323
323
|
if (err instanceof type)
|
|
324
324
|
return fn(err, req);
|
|
325
325
|
}
|
|
326
|
-
// 3.
|
|
326
|
+
// 3. ValidationResponse — short-circuit emit the wrapped Response (FormRequest.failedValidation)
|
|
327
|
+
if (err instanceof ValidationResponse) {
|
|
328
|
+
return err.response;
|
|
329
|
+
}
|
|
330
|
+
// 4. ValidationError — 422 JSON
|
|
327
331
|
if (err instanceof ValidationError) {
|
|
328
332
|
return new Response(JSON.stringify(err.toJSON()), {
|
|
329
333
|
status: 422,
|
|
@@ -334,7 +338,16 @@ export class ExceptionConfigurator {
|
|
|
334
338
|
if (err instanceof HttpException) {
|
|
335
339
|
return renderHttpException(err, req);
|
|
336
340
|
}
|
|
337
|
-
// 5.
|
|
341
|
+
// 5. Errors carrying a duck-typed `httpStatus` (e.g. ModelNotFoundError,
|
|
342
|
+
// RouteModelNotFoundError) — render with that status. Avoids a hard
|
|
343
|
+
// dependency on @rudderjs/orm or @rudderjs/router from here.
|
|
344
|
+
if (err instanceof Error) {
|
|
345
|
+
const status = err.httpStatus;
|
|
346
|
+
if (typeof status === 'number' && status >= 400 && status < 600) {
|
|
347
|
+
return renderHttpException(new HttpException(status, err.message), req);
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
// 6. Unhandled — report + render 500
|
|
338
351
|
report(err);
|
|
339
352
|
let debug = false;
|
|
340
353
|
try {
|
package/dist/application.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}
|
package/dist/di.d.ts
CHANGED
|
@@ -1,10 +1,22 @@
|
|
|
1
1
|
import 'reflect-metadata';
|
|
2
2
|
type Constructor<T = unknown> = new (...args: never) => T;
|
|
3
3
|
type Factory<T = unknown> = (container: Container) => T;
|
|
4
|
+
type Extender<T = unknown> = (resolved: T, container: Container) => T;
|
|
5
|
+
type Rebinder<T = unknown> = (instance: T, container: Container) => void;
|
|
4
6
|
/** Mark a class as injectable (auto-resolved by the container) */
|
|
5
7
|
export declare function Injectable(): ClassDecorator;
|
|
6
8
|
/** Inject a specific token into a constructor parameter */
|
|
7
9
|
export declare function Inject(token: string | symbol): ParameterDecorator;
|
|
10
|
+
/**
|
|
11
|
+
* Inject the array of bindings tagged with `name` into a constructor parameter.
|
|
12
|
+
* Constructor-only — esbuild drops `design:paramtypes` for method decorators.
|
|
13
|
+
*/
|
|
14
|
+
export declare function Tag(name: string): ParameterDecorator;
|
|
15
|
+
/**
|
|
16
|
+
* Stable token sentinel for `when().needs(tagToken('group')).give(...)`.
|
|
17
|
+
* Backed by `Symbol.for()` so cross-bundle plugin authors share the same token.
|
|
18
|
+
*/
|
|
19
|
+
export declare function tagToken(name: string): symbol;
|
|
8
20
|
export declare class Container {
|
|
9
21
|
private bindings;
|
|
10
22
|
private instances;
|
|
@@ -12,6 +24,9 @@ export declare class Container {
|
|
|
12
24
|
private _scopeAlsInstance;
|
|
13
25
|
private get _scopeAls();
|
|
14
26
|
private _contextual;
|
|
27
|
+
private _tags;
|
|
28
|
+
private _extenders;
|
|
29
|
+
private _rebinders;
|
|
15
30
|
private _missingHandler;
|
|
16
31
|
reset(): this;
|
|
17
32
|
bind<T>(token: string | symbol | Constructor<T>, factory: Factory<T>): this;
|
|
@@ -27,6 +42,44 @@ export declare class Container {
|
|
|
27
42
|
*/
|
|
28
43
|
runScoped<T>(fn: () => T): T;
|
|
29
44
|
instance<T>(token: string | symbol | Constructor<T>, value: T): this;
|
|
45
|
+
/**
|
|
46
|
+
* Wrap the value resolved for `token` with `extender`. Multiple extenders
|
|
47
|
+
* chain in registration order. Applies eagerly to any currently cached
|
|
48
|
+
* instance — only the newly registered extender wraps the cached value
|
|
49
|
+
* (the chain was already applied to it). Singletons and `instance()`-bound
|
|
50
|
+
* values cache the wrapped form; transient bindings re-wrap on each
|
|
51
|
+
* `make()`; scoped bindings re-wrap once per scope.
|
|
52
|
+
*/
|
|
53
|
+
extend<T>(token: string | symbol | Constructor<T>, extender: Extender<T>): this;
|
|
54
|
+
/**
|
|
55
|
+
* Register a listener that fires whenever `token` is *re*-bound. Listeners
|
|
56
|
+
* do not fire on the initial bind — only when an existing binding is
|
|
57
|
+
* replaced via `bind`/`singleton`/`scoped`/`instance`. The listener
|
|
58
|
+
* receives the freshly-resolved value, not the stale singleton cache.
|
|
59
|
+
*/
|
|
60
|
+
rebinding<T>(token: string | symbol | Constructor<T>, listener: Rebinder<T>): this;
|
|
61
|
+
/**
|
|
62
|
+
* Bind a factory only if the token is not already bound. Returns `this` either way.
|
|
63
|
+
* Useful for framework providers registering sane defaults that an app provider
|
|
64
|
+
* can override by binding the same token first.
|
|
65
|
+
*/
|
|
66
|
+
bindIf<T>(token: string | symbol | Constructor<T>, factory: Factory<T>): this;
|
|
67
|
+
/** Singleton variant of `bindIf`. */
|
|
68
|
+
singletonIf<T>(token: string | symbol | Constructor<T>, factory: Factory<T>): this;
|
|
69
|
+
/** Scoped variant of `bindIf`. */
|
|
70
|
+
scopedIf<T>(token: string | symbol | Constructor<T>, factory: Factory<T>): this;
|
|
71
|
+
/**
|
|
72
|
+
* Tag one or more tokens with one or more tag names. Calls are additive —
|
|
73
|
+
* tagging the same token twice with the same tag is a no-op.
|
|
74
|
+
* Tagging an unbound token is allowed; resolution via `tagged()` will
|
|
75
|
+
* throw the standard "cannot resolve" error.
|
|
76
|
+
*/
|
|
77
|
+
tag(tokens: string | symbol | Constructor | Array<string | symbol | Constructor>, tags: string | string[]): this;
|
|
78
|
+
/**
|
|
79
|
+
* Resolve every token registered under `tag` via `make()`. Returns `[]` for
|
|
80
|
+
* an unknown tag (no throw). Order is insertion order.
|
|
81
|
+
*/
|
|
82
|
+
tagged<T>(tag: string): T[];
|
|
30
83
|
alias(from: string, to: string | symbol): this;
|
|
31
84
|
make<T>(token: string | symbol | Constructor<T>): T;
|
|
32
85
|
has(token: string | symbol | Constructor): boolean;
|
|
@@ -46,6 +99,8 @@ export declare class Container {
|
|
|
46
99
|
/** @internal — called by ContextualBindingBuilder */
|
|
47
100
|
_addContextualBinding(concrete: Constructor, need: string | symbol, factory: Factory): void;
|
|
48
101
|
private autoResolve;
|
|
102
|
+
private runExtenders;
|
|
103
|
+
private fireRebinders;
|
|
49
104
|
private toToken;
|
|
50
105
|
private resolveAlias;
|
|
51
106
|
}
|
package/dist/di.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"di.d.ts","sourceRoot":"","sources":["../src/di.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAA;AAkBzB,KAAK,WAAW,CAAC,CAAC,GAAG,OAAO,IAAI,KAAK,GAAG,IAAI,EAAE,KAAK,KAAK,CAAC,CAAA;AACzD,KAAK,OAAO,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,SAAS,EAAE,SAAS,KAAK,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"di.d.ts","sourceRoot":"","sources":["../src/di.ts"],"names":[],"mappings":"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"}
|
package/dist/di.js
CHANGED
|
@@ -6,6 +6,8 @@ if (typeof globalThis.process !== 'undefined') {
|
|
|
6
6
|
// ─── Decorators ────────────────────────────────────────────
|
|
7
7
|
const INJECTABLE_METADATA = 'rudderjs:injectable';
|
|
8
8
|
const INJECT_METADATA = 'rudderjs:inject';
|
|
9
|
+
const TAG_METADATA = 'rudderjs:tag';
|
|
10
|
+
const TAG_TOKEN_PREFIX = 'rudderjs:tag:';
|
|
9
11
|
/** Mark a class as injectable (auto-resolved by the container) */
|
|
10
12
|
export function Injectable() {
|
|
11
13
|
return target => {
|
|
@@ -19,6 +21,23 @@ export function Inject(token) {
|
|
|
19
21
|
Reflect.defineMetadata(INJECT_METADATA, [...existing, { index, token }], target);
|
|
20
22
|
};
|
|
21
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Inject the array of bindings tagged with `name` into a constructor parameter.
|
|
26
|
+
* Constructor-only — esbuild drops `design:paramtypes` for method decorators.
|
|
27
|
+
*/
|
|
28
|
+
export function Tag(name) {
|
|
29
|
+
return (target, _, index) => {
|
|
30
|
+
const existing = Reflect.getMetadata(TAG_METADATA, target) ?? [];
|
|
31
|
+
Reflect.defineMetadata(TAG_METADATA, [...existing, { index, tag: name }], target);
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Stable token sentinel for `when().needs(tagToken('group')).give(...)`.
|
|
36
|
+
* Backed by `Symbol.for()` so cross-bundle plugin authors share the same token.
|
|
37
|
+
*/
|
|
38
|
+
export function tagToken(name) {
|
|
39
|
+
return Symbol.for(TAG_TOKEN_PREFIX + name);
|
|
40
|
+
}
|
|
22
41
|
// ─── Container ─────────────────────────────────────────────
|
|
23
42
|
export class Container {
|
|
24
43
|
bindings = new Map();
|
|
@@ -39,6 +58,19 @@ export class Container {
|
|
|
39
58
|
}
|
|
40
59
|
// ── Contextual bindings ───────────────────────────────────
|
|
41
60
|
_contextual = new Map();
|
|
61
|
+
// ── Tagging ───────────────────────────────────────────────
|
|
62
|
+
// Map of tag name → set of token keys (resolved via toToken()).
|
|
63
|
+
// Tagging an unbound token is allowed (Laravel parity); tagged() throws
|
|
64
|
+
// the standard "cannot resolve" error when one is asked for.
|
|
65
|
+
_tags = new Map();
|
|
66
|
+
// ── Extenders ─────────────────────────────────────────────
|
|
67
|
+
// Wrappers chained in registration order, applied to resolved values.
|
|
68
|
+
// Keyed on resolved-alias key so aliases share extender state.
|
|
69
|
+
_extenders = new Map();
|
|
70
|
+
// ── Rebinding listeners ───────────────────────────────────
|
|
71
|
+
// Listeners that fire when a token is *re*-bound (not on initial bind).
|
|
72
|
+
// Keyed on resolved-alias key.
|
|
73
|
+
_rebinders = new Map();
|
|
42
74
|
// ── Missing handler (for deferred providers) ──────────────
|
|
43
75
|
_missingHandler = null;
|
|
44
76
|
reset() {
|
|
@@ -46,15 +78,28 @@ export class Container {
|
|
|
46
78
|
this.instances.clear();
|
|
47
79
|
this.aliases.clear();
|
|
48
80
|
this._contextual.clear();
|
|
81
|
+
this._tags.clear();
|
|
82
|
+
this._extenders.clear();
|
|
83
|
+
this._rebinders.clear();
|
|
49
84
|
this._missingHandler = null;
|
|
50
85
|
return this;
|
|
51
86
|
}
|
|
52
87
|
bind(token, factory) {
|
|
53
|
-
this.
|
|
88
|
+
const key = this.toToken(token);
|
|
89
|
+
const wasBound = this.bindings.has(key) || this.instances.has(key);
|
|
90
|
+
this.instances.delete(key);
|
|
91
|
+
this.bindings.set(key, { factory, singleton: false });
|
|
92
|
+
if (wasBound)
|
|
93
|
+
this.fireRebinders(this.resolveAlias(key));
|
|
54
94
|
return this;
|
|
55
95
|
}
|
|
56
96
|
singleton(token, factory) {
|
|
57
|
-
this.
|
|
97
|
+
const key = this.toToken(token);
|
|
98
|
+
const wasBound = this.bindings.has(key) || this.instances.has(key);
|
|
99
|
+
this.instances.delete(key);
|
|
100
|
+
this.bindings.set(key, { factory, singleton: true });
|
|
101
|
+
if (wasBound)
|
|
102
|
+
this.fireRebinders(this.resolveAlias(key));
|
|
58
103
|
return this;
|
|
59
104
|
}
|
|
60
105
|
/**
|
|
@@ -62,7 +107,12 @@ export class Container {
|
|
|
62
107
|
* The factory runs once per `runScoped()` call and is cached for that scope.
|
|
63
108
|
*/
|
|
64
109
|
scoped(token, factory) {
|
|
65
|
-
this.
|
|
110
|
+
const key = this.toToken(token);
|
|
111
|
+
const wasBound = this.bindings.has(key) || this.instances.has(key);
|
|
112
|
+
this.instances.delete(key);
|
|
113
|
+
this.bindings.set(key, { factory, singleton: false, scoped: true });
|
|
114
|
+
if (wasBound)
|
|
115
|
+
this.fireRebinders(this.resolveAlias(key));
|
|
66
116
|
return this;
|
|
67
117
|
}
|
|
68
118
|
/**
|
|
@@ -74,9 +124,95 @@ export class Container {
|
|
|
74
124
|
}
|
|
75
125
|
instance(token, value) {
|
|
76
126
|
const key = this.toToken(token);
|
|
77
|
-
this.
|
|
127
|
+
const resolvedKey = this.resolveAlias(key);
|
|
128
|
+
const wasBound = this.bindings.has(key) || this.instances.has(key);
|
|
129
|
+
const wrapped = this.runExtenders(resolvedKey, value);
|
|
130
|
+
this.instances.set(key, wrapped);
|
|
131
|
+
if (wasBound)
|
|
132
|
+
this.fireRebinders(resolvedKey);
|
|
78
133
|
return this;
|
|
79
134
|
}
|
|
135
|
+
/**
|
|
136
|
+
* Wrap the value resolved for `token` with `extender`. Multiple extenders
|
|
137
|
+
* chain in registration order. Applies eagerly to any currently cached
|
|
138
|
+
* instance — only the newly registered extender wraps the cached value
|
|
139
|
+
* (the chain was already applied to it). Singletons and `instance()`-bound
|
|
140
|
+
* values cache the wrapped form; transient bindings re-wrap on each
|
|
141
|
+
* `make()`; scoped bindings re-wrap once per scope.
|
|
142
|
+
*/
|
|
143
|
+
extend(token, extender) {
|
|
144
|
+
const key = this.resolveAlias(this.toToken(token));
|
|
145
|
+
const list = this._extenders.get(key) ?? [];
|
|
146
|
+
list.push(extender);
|
|
147
|
+
this._extenders.set(key, list);
|
|
148
|
+
if (this.instances.has(key)) {
|
|
149
|
+
const current = this.instances.get(key);
|
|
150
|
+
this.instances.set(key, extender(current, this));
|
|
151
|
+
}
|
|
152
|
+
return this;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Register a listener that fires whenever `token` is *re*-bound. Listeners
|
|
156
|
+
* do not fire on the initial bind — only when an existing binding is
|
|
157
|
+
* replaced via `bind`/`singleton`/`scoped`/`instance`. The listener
|
|
158
|
+
* receives the freshly-resolved value, not the stale singleton cache.
|
|
159
|
+
*/
|
|
160
|
+
rebinding(token, listener) {
|
|
161
|
+
const key = this.resolveAlias(this.toToken(token));
|
|
162
|
+
const list = this._rebinders.get(key) ?? [];
|
|
163
|
+
list.push(listener);
|
|
164
|
+
this._rebinders.set(key, list);
|
|
165
|
+
return this;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Bind a factory only if the token is not already bound. Returns `this` either way.
|
|
169
|
+
* Useful for framework providers registering sane defaults that an app provider
|
|
170
|
+
* can override by binding the same token first.
|
|
171
|
+
*/
|
|
172
|
+
bindIf(token, factory) {
|
|
173
|
+
return this.has(token) ? this : this.bind(token, factory);
|
|
174
|
+
}
|
|
175
|
+
/** Singleton variant of `bindIf`. */
|
|
176
|
+
singletonIf(token, factory) {
|
|
177
|
+
return this.has(token) ? this : this.singleton(token, factory);
|
|
178
|
+
}
|
|
179
|
+
/** Scoped variant of `bindIf`. */
|
|
180
|
+
scopedIf(token, factory) {
|
|
181
|
+
return this.has(token) ? this : this.scoped(token, factory);
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Tag one or more tokens with one or more tag names. Calls are additive —
|
|
185
|
+
* tagging the same token twice with the same tag is a no-op.
|
|
186
|
+
* Tagging an unbound token is allowed; resolution via `tagged()` will
|
|
187
|
+
* throw the standard "cannot resolve" error.
|
|
188
|
+
*/
|
|
189
|
+
tag(tokens, tags) {
|
|
190
|
+
const tokenList = Array.isArray(tokens) ? tokens : [tokens];
|
|
191
|
+
const tagList = Array.isArray(tags) ? tags : [tags];
|
|
192
|
+
for (const tag of tagList) {
|
|
193
|
+
let set = this._tags.get(tag);
|
|
194
|
+
if (!set) {
|
|
195
|
+
set = new Set();
|
|
196
|
+
this._tags.set(tag, set);
|
|
197
|
+
}
|
|
198
|
+
for (const t of tokenList)
|
|
199
|
+
set.add(this.toToken(t));
|
|
200
|
+
}
|
|
201
|
+
return this;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Resolve every token registered under `tag` via `make()`. Returns `[]` for
|
|
205
|
+
* an unknown tag (no throw). Order is insertion order.
|
|
206
|
+
*/
|
|
207
|
+
tagged(tag) {
|
|
208
|
+
const set = this._tags.get(tag);
|
|
209
|
+
if (!set)
|
|
210
|
+
return [];
|
|
211
|
+
const out = [];
|
|
212
|
+
for (const token of set)
|
|
213
|
+
out.push(this.make(token));
|
|
214
|
+
return out;
|
|
215
|
+
}
|
|
80
216
|
alias(from, to) {
|
|
81
217
|
this.aliases.set(from, to);
|
|
82
218
|
return this;
|
|
@@ -97,17 +233,17 @@ export class Container {
|
|
|
97
233
|
}
|
|
98
234
|
if (scope.has(key))
|
|
99
235
|
return scope.get(key);
|
|
100
|
-
const value = binding.factory(this);
|
|
236
|
+
const value = this.runExtenders(key, binding.factory(this));
|
|
101
237
|
scope.set(key, value);
|
|
102
238
|
return value;
|
|
103
239
|
}
|
|
104
|
-
const value = binding.factory(this);
|
|
240
|
+
const value = this.runExtenders(key, binding.factory(this));
|
|
105
241
|
if (binding.singleton)
|
|
106
242
|
this.instances.set(key, value);
|
|
107
243
|
return value;
|
|
108
244
|
}
|
|
109
245
|
if (typeof token === 'function') {
|
|
110
|
-
return this.autoResolve(token);
|
|
246
|
+
return this.runExtenders(key, this.autoResolve(token));
|
|
111
247
|
}
|
|
112
248
|
// Deferred provider hook — give the missing handler a chance to register the binding
|
|
113
249
|
if (this._missingHandler) {
|
|
@@ -117,7 +253,7 @@ export class Container {
|
|
|
117
253
|
return this.instances.get(key);
|
|
118
254
|
const retryBinding = this.bindings.get(key);
|
|
119
255
|
if (retryBinding) {
|
|
120
|
-
const value = retryBinding.factory(this);
|
|
256
|
+
const value = this.runExtenders(key, retryBinding.factory(this));
|
|
121
257
|
if (retryBinding.singleton)
|
|
122
258
|
this.instances.set(key, value);
|
|
123
259
|
return value;
|
|
@@ -176,21 +312,44 @@ export class Container {
|
|
|
176
312
|
}
|
|
177
313
|
const paramTypes = Reflect.getMetadata('design:paramtypes', target) ?? [];
|
|
178
314
|
const tokenOverrides = Reflect.getMetadata(INJECT_METADATA, target) ?? [];
|
|
315
|
+
const tagOverrides = Reflect.getMetadata(TAG_METADATA, target) ?? [];
|
|
179
316
|
// Check contextual bindings for this target class
|
|
180
317
|
const ctxMap = this._contextual.get(target.name);
|
|
181
318
|
const args = paramTypes.map((type, i) => {
|
|
319
|
+
const tagOverride = tagOverrides.find(o => o.index === i);
|
|
182
320
|
const override = tokenOverrides.find(o => o.index === i);
|
|
183
321
|
const needToken = override ? override.token : this.toToken(type);
|
|
184
|
-
// Contextual override takes priority
|
|
322
|
+
// Contextual override takes priority over decorators
|
|
185
323
|
if (ctxMap) {
|
|
186
324
|
const ctxFactory = ctxMap.get(needToken);
|
|
187
325
|
if (ctxFactory)
|
|
188
326
|
return ctxFactory(this);
|
|
189
327
|
}
|
|
328
|
+
// @Tag wins over @Inject — they should not coexist on the same param,
|
|
329
|
+
// but if they do, the more specific intent (tagged array) takes precedence.
|
|
330
|
+
if (tagOverride)
|
|
331
|
+
return this.tagged(tagOverride.tag);
|
|
190
332
|
return override ? this.make(override.token) : this.make(type);
|
|
191
333
|
});
|
|
192
334
|
return new target(...args);
|
|
193
335
|
}
|
|
336
|
+
runExtenders(key, value) {
|
|
337
|
+
const exts = this._extenders.get(key);
|
|
338
|
+
if (!exts || exts.length === 0)
|
|
339
|
+
return value;
|
|
340
|
+
let v = value;
|
|
341
|
+
for (const ext of exts)
|
|
342
|
+
v = ext(v, this);
|
|
343
|
+
return v;
|
|
344
|
+
}
|
|
345
|
+
fireRebinders(key) {
|
|
346
|
+
const listeners = this._rebinders.get(key);
|
|
347
|
+
if (!listeners?.length)
|
|
348
|
+
return;
|
|
349
|
+
const fresh = this.make(key);
|
|
350
|
+
for (const fn of listeners)
|
|
351
|
+
fn(fresh, this);
|
|
352
|
+
}
|
|
194
353
|
toToken(token) {
|
|
195
354
|
return typeof token === 'function' ? token.name : token;
|
|
196
355
|
}
|
package/dist/di.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"di.js","sourceRoot":"","sources":["../src/di.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"di.js","sourceRoot":"","sources":["../src/di.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { Application, RudderJS, AppBuilder, MiddlewareConfigurator, ExceptionConfigurator, appendToGroup, resetGroupMiddleware, app, resolve, defineConfig, } from './application.js';
|
|
2
2
|
export type { BootConfig, ConfigureOptions, RoutingOptions, ErrorRenderer, ProviderClass } from './application.js';
|
|
3
|
-
export { Container, ContextualBindingBuilder, container, Injectable, Inject } from './di.js';
|
|
3
|
+
export { Container, ContextualBindingBuilder, container, Injectable, Inject, Tag, tagToken } from './di.js';
|
|
4
4
|
export { ServiceProvider, getPublishGroups } from './service-provider.js';
|
|
5
5
|
export type { PublishGroup } from './service-provider.js';
|
|
6
6
|
export { defaultProviders, getLastLoadedProviderEntries } from './default-providers.js';
|
|
@@ -12,7 +12,8 @@ export { Listener, EventDispatcher, dispatcher, dispatch, eventsProvider } from
|
|
|
12
12
|
export type { ListenMap } from './events.js';
|
|
13
13
|
export { EventFake } from './events-fake.js';
|
|
14
14
|
export type { DispatchedEvent } from './events-fake.js';
|
|
15
|
-
export { FormRequest, ValidationError, validate, validateWith, z } from './validation.js';
|
|
15
|
+
export { FormRequest, ValidationError, ValidationResponse, validate, validateWith, z } from './validation.js';
|
|
16
|
+
export type { AfterCallback, AfterContext, MessagesMap } from './validation.js';
|
|
16
17
|
export { rudder, Rudder, CommandRegistry, CommandBuilder, Command, CancelledError, parseSignature } from '@rudderjs/console';
|
|
17
18
|
export type { ConsoleHandler, CommandArgDef, CommandOptDef, ParsedSignature } from '@rudderjs/console';
|
|
18
19
|
export { Collection, Env, env, sleep, ucfirst, tap, pick, omit, defineEnv, ConfigRepository, setConfigRepository, getConfigRepository, resolveOptionalPeer, dump, dd, } from '@rudderjs/support';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EACX,QAAQ,EACR,UAAU,EACV,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EACpB,GAAG,EACH,OAAO,EACP,YAAY,GACb,MAAM,kBAAkB,CAAA;AACzB,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAIlH,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EACX,QAAQ,EACR,UAAU,EACV,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EACpB,GAAG,EACH,OAAO,EACP,YAAY,GACb,MAAM,kBAAkB,CAAA;AACzB,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAIlH,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAI3G,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACzE,YAAY,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAIzD,OAAO,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAA;AACvF,YAAY,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAI1D,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC7F,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAIvD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,kBAAkB,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAA;AAC7G,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAI/E,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAC5H,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAItG,OAAO,EACL,UAAU,EACV,GAAG,EACH,GAAG,EACH,KAAK,EACL,OAAO,EACP,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,IAAI,EACJ,EAAE,GACH,MAAM,mBAAmB,CAAA;AAI1B,OAAO,EACL,aAAa,EACb,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,SAAS,EACT,oBAAoB,GACrB,MAAM,iBAAiB,CAAA;AAMxB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAI5C,YAAY,EACV,UAAU,EACV,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,qBAAqB,GACtB,MAAM,qBAAqB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// ─── Application ───────────────────────────────────────────
|
|
2
2
|
export { Application, RudderJS, AppBuilder, MiddlewareConfigurator, ExceptionConfigurator, appendToGroup, resetGroupMiddleware, app, resolve, defineConfig, } from './application.js';
|
|
3
3
|
// ─── DI ────────────────────────────────────────────────────
|
|
4
|
-
export { Container, ContextualBindingBuilder, container, Injectable, Inject } from './di.js';
|
|
4
|
+
export { Container, ContextualBindingBuilder, container, Injectable, Inject, Tag, tagToken } from './di.js';
|
|
5
5
|
// ─── Service Provider ──────────────────────────────────────
|
|
6
6
|
export { ServiceProvider, getPublishGroups } from './service-provider.js';
|
|
7
7
|
// ─── Provider Auto-Discovery ───────────────────────────────
|
|
@@ -12,7 +12,7 @@ export { sortByStageAndDepends } from './provider-sort.js';
|
|
|
12
12
|
export { EventDispatcher, dispatcher, dispatch, eventsProvider } from './events.js';
|
|
13
13
|
export { EventFake } from './events-fake.js';
|
|
14
14
|
// ─── Validation ────────────────────────────────────────────
|
|
15
|
-
export { FormRequest, ValidationError, validate, validateWith, z } from './validation.js';
|
|
15
|
+
export { FormRequest, ValidationError, ValidationResponse, validate, validateWith, z } from './validation.js';
|
|
16
16
|
// ─── Rudder ───────────────────────────────────────────────
|
|
17
17
|
export { rudder, Rudder, CommandRegistry, CommandBuilder, Command, CancelledError, parseSignature } from '@rudderjs/console';
|
|
18
18
|
// ─── Support ───────────────────────────────────────────────
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAE9D,OAAO,EACL,WAAW,EACX,QAAQ,EACR,UAAU,EACV,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EACpB,GAAG,EACH,OAAO,EACP,YAAY,GACb,MAAM,kBAAkB,CAAA;AAGzB,8DAA8D;AAE9D,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAE9D,OAAO,EACL,WAAW,EACX,QAAQ,EACR,UAAU,EACV,sBAAsB,EACtB,qBAAqB,EACrB,aAAa,EACb,oBAAoB,EACpB,GAAG,EACH,OAAO,EACP,YAAY,GACb,MAAM,kBAAkB,CAAA;AAGzB,8DAA8D;AAE9D,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAE3G,8DAA8D;AAE9D,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAGzE,8DAA8D;AAE9D,OAAO,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAA;AAEvF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAEzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAE1D,8DAA8D;AAE9D,OAAO,EAAY,eAAe,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE7F,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAG5C,8DAA8D;AAE9D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,kBAAkB,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAA;AAG7G,6DAA6D;AAE7D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAG5H,8DAA8D;AAE9D,OAAO,EACL,UAAU,EACV,GAAG,EACH,GAAG,EACH,KAAK,EACL,OAAO,EACP,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,IAAI,EACJ,EAAE,GACH,MAAM,mBAAmB,CAAA;AAE1B,8DAA8D;AAE9D,OAAO,EACL,aAAa,EACb,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,SAAS,EACT,oBAAoB,GACrB,MAAM,iBAAiB,CAAA;AAExB,8DAA8D;AAC9D,uEAAuE;AACvE,mEAAmE;AAEnE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA"}
|
package/dist/validation.d.ts
CHANGED
|
@@ -8,11 +8,28 @@ export declare class ValidationError extends Error {
|
|
|
8
8
|
errors: Record<string, string[]>;
|
|
9
9
|
};
|
|
10
10
|
}
|
|
11
|
+
export declare class ValidationResponse extends Error {
|
|
12
|
+
response: Response;
|
|
13
|
+
constructor(response: Response);
|
|
14
|
+
}
|
|
15
|
+
export interface AfterContext<TData> {
|
|
16
|
+
data: TData;
|
|
17
|
+
req: AppRequest;
|
|
18
|
+
addError: (path: string, message: string) => void;
|
|
19
|
+
}
|
|
20
|
+
export type AfterCallback<TData> = (ctx: AfterContext<TData>) => void | Promise<void>;
|
|
21
|
+
export type MessagesMap = Record<string, string | ((issue: z.core.$ZodRawIssue) => string)>;
|
|
11
22
|
export declare abstract class FormRequest<T extends ZodType = ZodType> {
|
|
12
23
|
protected req: AppRequest;
|
|
13
24
|
abstract rules(): T;
|
|
14
25
|
authorize(): boolean;
|
|
26
|
+
protected prepareForValidation(_input: Record<string, unknown>): Record<string, unknown> | void;
|
|
27
|
+
protected after(): Array<AfterCallback<z.infer<T>>>;
|
|
28
|
+
protected passedValidation(_data: z.infer<T>): z.infer<T> | void | Promise<z.infer<T> | void>;
|
|
29
|
+
protected failedValidation(errors: Record<string, string[]>): never | Response | Promise<never | Response>;
|
|
30
|
+
protected messages(): MessagesMap;
|
|
15
31
|
validate(req: AppRequest): Promise<z.infer<T>>;
|
|
32
|
+
private fail;
|
|
16
33
|
}
|
|
17
34
|
export declare function validate<T extends ZodType>(schema: T, req: AppRequest): Promise<z.infer<T>>;
|
|
18
35
|
export declare function validateWith<T extends ZodType>(schema: T): (req: AppRequest, _res: AppResponse, next: () => Promise<void>) => Promise<void>;
|
package/dist/validation.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,OAAO,EAAY,MAAM,KAAK,CAAA;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAIlE,qBAAa,eAAgB,SAAQ,KAAK;IACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gBAAhC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAKnD,MAAM;;;;CAMP;AAID,8BAAsB,WAAW,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO;IAC3D,SAAS,CAAC,GAAG,EAAG,UAAU,CAAA;IAE1B,QAAQ,CAAC,KAAK,IAAI,CAAC;IAEnB,SAAS,IAAI,OAAO;
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,OAAO,EAAY,MAAM,KAAK,CAAA;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAIlE,qBAAa,eAAgB,SAAQ,KAAK;IACrB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gBAAhC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAKnD,MAAM;;;;CAMP;AAOD,qBAAa,kBAAmB,SAAQ,KAAK;IACxB,QAAQ,EAAE,QAAQ;gBAAlB,QAAQ,EAAE,QAAQ;CAItC;AAID,MAAM,WAAW,YAAY,CAAC,KAAK;IACjC,IAAI,EAAM,KAAK,CAAA;IACf,GAAG,EAAO,UAAU,CAAA;IACpB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAClD;AAED,MAAM,MAAM,aAAa,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;AAErF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,KAAK,MAAM,CAAC,CAAC,CAAA;AAE3F,8BAAsB,WAAW,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO;IAC3D,SAAS,CAAC,GAAG,EAAG,UAAU,CAAA;IAE1B,QAAQ,CAAC,KAAK,IAAI,CAAC;IAEnB,SAAS,IAAI,OAAO;IAMpB,SAAS,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI/F,SAAS,CAAC,KAAK,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAInD,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAI7F,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC;IAI1G,SAAS,CAAC,QAAQ,IAAI,WAAW;IAM3B,QAAQ,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAqCtC,IAAI;CAKnB;AA0BD,wBAAsB,QAAQ,CAAC,CAAC,SAAS,OAAO,EAC9C,MAAM,EAAE,CAAC,EACT,GAAG,EAAE,UAAU,GACd,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAerB;AAID,wBAAgB,YAAY,CAAC,CAAC,SAAS,OAAO,EAAE,MAAM,EAAE,CAAC,IAErD,KAAK,UAAU,EACf,MAAM,WAAW,EACjB,MAAM,MAAM,OAAO,CAAC,IAAI,CAAC,mBAK5B;AAED,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA"}
|
package/dist/validation.js
CHANGED
|
@@ -14,37 +14,99 @@ export class ValidationError extends Error {
|
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
-
// ───
|
|
17
|
+
// ─── Validation Response (short-circuit sentinel) ──────────
|
|
18
|
+
// Thrown by FormRequest.validate() when failedValidation() returns a Response.
|
|
19
|
+
// The framework's exception handler unwraps it and emits the wrapped Response
|
|
20
|
+
// directly. Mirrors how view-controller routes short-circuit with raw Response.
|
|
21
|
+
export class ValidationResponse extends Error {
|
|
22
|
+
response;
|
|
23
|
+
constructor(response) {
|
|
24
|
+
super('Validation short-circuit');
|
|
25
|
+
this.response = response;
|
|
26
|
+
this.name = 'ValidationResponse';
|
|
27
|
+
}
|
|
28
|
+
}
|
|
18
29
|
export class FormRequest {
|
|
19
30
|
req;
|
|
20
31
|
authorize() {
|
|
21
32
|
return true;
|
|
22
33
|
}
|
|
34
|
+
// ─── Lifecycle hooks (default no-ops; override in subclass) ──
|
|
35
|
+
prepareForValidation(_input) {
|
|
36
|
+
// default: no-op
|
|
37
|
+
}
|
|
38
|
+
after() {
|
|
39
|
+
return [];
|
|
40
|
+
}
|
|
41
|
+
passedValidation(_data) {
|
|
42
|
+
// default: no-op
|
|
43
|
+
}
|
|
44
|
+
failedValidation(errors) {
|
|
45
|
+
throw new ValidationError(errors);
|
|
46
|
+
}
|
|
47
|
+
messages() {
|
|
48
|
+
return {};
|
|
49
|
+
}
|
|
50
|
+
// ─── Pipeline ────────────────────────────────────────────
|
|
23
51
|
async validate(req) {
|
|
24
52
|
this.req = req;
|
|
25
53
|
if (!this.authorize()) {
|
|
26
|
-
|
|
54
|
+
return this.fail({ auth: ['Unauthorized'] });
|
|
27
55
|
}
|
|
28
|
-
|
|
56
|
+
let input = {
|
|
29
57
|
...(typeof req.body === 'object' && req.body !== null ? req.body : {}),
|
|
30
58
|
...req.query,
|
|
31
59
|
...req.params,
|
|
32
60
|
};
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
61
|
+
const prepared = this.prepareForValidation(input);
|
|
62
|
+
if (prepared && typeof prepared === 'object')
|
|
63
|
+
input = prepared;
|
|
64
|
+
const errorMap = buildErrorMap(this.messages());
|
|
65
|
+
const result = errorMap
|
|
66
|
+
? this.rules().safeParse(input, { error: errorMap })
|
|
67
|
+
: this.rules().safeParse(input);
|
|
68
|
+
if (!result.success)
|
|
69
|
+
return this.fail(zodIssuesToErrors(result.error));
|
|
70
|
+
const data = result.data;
|
|
71
|
+
const errors = {};
|
|
72
|
+
const addError = (path, message) => {
|
|
73
|
+
errors[path] = [...(errors[path] ?? []), message];
|
|
74
|
+
};
|
|
75
|
+
for (const cb of this.after()) {
|
|
76
|
+
await cb({ data, req, addError });
|
|
46
77
|
}
|
|
78
|
+
if (Object.keys(errors).length > 0)
|
|
79
|
+
return this.fail(errors);
|
|
80
|
+
const post = await this.passedValidation(data);
|
|
81
|
+
return (post && typeof post === 'object' ? post : data);
|
|
47
82
|
}
|
|
83
|
+
async fail(errors) {
|
|
84
|
+
const out = await this.failedValidation(errors);
|
|
85
|
+
if (out instanceof Response)
|
|
86
|
+
throw new ValidationResponse(out);
|
|
87
|
+
throw new ValidationError(errors);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
// ─── Internal helpers ──────────────────────────────────────
|
|
91
|
+
function zodIssuesToErrors(err) {
|
|
92
|
+
const errors = {};
|
|
93
|
+
for (const issue of err.issues) {
|
|
94
|
+
const key = issue.path.join('.') || 'root';
|
|
95
|
+
errors[key] = [...(errors[key] ?? []), issue.message];
|
|
96
|
+
}
|
|
97
|
+
return errors;
|
|
98
|
+
}
|
|
99
|
+
function buildErrorMap(messages) {
|
|
100
|
+
const keys = Object.keys(messages);
|
|
101
|
+
if (keys.length === 0)
|
|
102
|
+
return undefined;
|
|
103
|
+
return (issue) => {
|
|
104
|
+
const path = (issue.path ?? []).join('.');
|
|
105
|
+
const entry = messages[path];
|
|
106
|
+
if (entry === undefined)
|
|
107
|
+
return undefined;
|
|
108
|
+
return { message: typeof entry === 'function' ? entry(issue) : entry };
|
|
109
|
+
};
|
|
48
110
|
}
|
|
49
111
|
// ─── validate helper ───────────────────────────────────────
|
|
50
112
|
export async function validate(schema, req) {
|
|
@@ -58,12 +120,7 @@ export async function validate(schema, req) {
|
|
|
58
120
|
}
|
|
59
121
|
catch (err) {
|
|
60
122
|
if (err instanceof ZodError) {
|
|
61
|
-
|
|
62
|
-
for (const issue of err.issues) {
|
|
63
|
-
const key = issue.path.join('.') || 'root';
|
|
64
|
-
errors[key] = [...(errors[key] ?? []), issue.message];
|
|
65
|
-
}
|
|
66
|
-
throw new ValidationError(errors);
|
|
123
|
+
throw new ValidationError(zodIssuesToErrors(err));
|
|
67
124
|
}
|
|
68
125
|
throw err;
|
|
69
126
|
}
|
package/dist/validation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,QAAQ,EAAE,MAAM,KAAK,CAAA;AAG1C,8DAA8D;AAE9D,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACrB;IAAnB,YAAmB,MAAgC;QACjD,KAAK,CAAC,mBAAmB,CAAC,CAAA;QADT,WAAM,GAAN,MAAM,CAA0B;QAEjD,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAA;IAC/B,CAAC;IAED,MAAM;QACJ,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAG,IAAI,CAAC,MAAM;SACrB,CAAA;IACH,CAAC;CACF;AAED,8DAA8D;AAE9D,MAAM,OAAgB,WAAW;IACrB,GAAG,CAAa;IAI1B,SAAS;QACP,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAe;QAC5B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QAEd,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACtB,
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rudderjs/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -31,10 +31,10 @@
|
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"reflect-metadata": "^0.2.2",
|
|
33
33
|
"zod": "^4.0.0",
|
|
34
|
-
"@rudderjs/
|
|
35
|
-
"@rudderjs/
|
|
36
|
-
"@rudderjs/router": "^1.
|
|
37
|
-
"@rudderjs/support": "^1.
|
|
34
|
+
"@rudderjs/console": "^1.0.0",
|
|
35
|
+
"@rudderjs/contracts": "^1.2.0",
|
|
36
|
+
"@rudderjs/router": "^1.1.0",
|
|
37
|
+
"@rudderjs/support": "^1.1.1"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@types/node": "^20.0.0",
|