@rudderjs/core 1.0.1 → 1.1.1

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 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.
@@ -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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"}
@@ -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. ValidationError422 JSON
326
+ // 3. ValidationResponseshort-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,
@@ -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;AAQvD,kEAAkE;AAClE,wBAAgB,UAAU,IAAI,cAAc,CAI3C;AAED,2DAA2D;AAC3D,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,kBAAkB,CAMjE;AAID,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAuC;IACvD,OAAO,CAAC,SAAS,CAAsC;IACvD,OAAO,CAAC,OAAO,CAAuC;IAKtD,OAAO,CAAC,iBAAiB,CAA8B;IACvD,OAAO,KAAK,SAAS,GAQpB;IAGD,OAAO,CAAC,WAAW,CAAmD;IAGtE,OAAO,CAAC,eAAe,CAAkD;IAEzE,KAAK,IAAI,IAAI;IASb,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI;IAK3E,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI;IAKhF;;;OAGG;IACH,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI;IAK7E;;;OAGG;IACH,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAI5B,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAMpE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAK9C,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;IAqDnD,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO;IAKlD,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,IAAI;IAOlD;;;OAGG;IACH,iBAAiB,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;IAKtE;;;;;OAKG;IACH,IAAI,CAAC,QAAQ,EAAE,WAAW,GAAG,wBAAwB;IAIrD,qDAAqD;IACrD,qBAAqB,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAU3F,OAAO,CAAC,WAAW;IAyCnB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,YAAY;CAMrB;AAID,qBAAa,wBAAwB;IAEjC,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS;gBADT,UAAU,EAAE,SAAS,EACrB,SAAS,EAAE,WAAW;IAGzC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG;QAAE,IAAI,EAAE,CAAC,cAAc,EAAE,OAAO,GAAG,OAAO,KAAK,IAAI,CAAA;KAAE;CAUnG;AAQD,eAAO,MAAM,SAAS,WAAkB,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.bindings.set(this.toToken(token), { factory, singleton: false });
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.bindings.set(this.toToken(token), { factory, singleton: true });
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.bindings.set(this.toToken(token), { factory, singleton: false, scoped: true });
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.instances.set(key, value);
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';
@@ -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;AAI5F,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,QAAQ,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAA;AAIzF,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"}
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;AAE5F,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,QAAQ,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,iBAAiB,CAAA;AAEzF,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"}
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"}
@@ -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 | Promise<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>;
@@ -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;IAId,QAAQ,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CA2BrD;AAID,wBAAsB,QAAQ,CAAC,CAAC,SAAS,OAAO,EAC9C,MAAM,EAAE,CAAC,EACT,GAAG,EAAE,UAAU,GACd,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAoBrB;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"}
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,CAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAI3E,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;YA2CtC,IAAI;CAKnB;AA6BD,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"}
@@ -14,38 +14,109 @@ export class ValidationError extends Error {
14
14
  };
15
15
  }
16
16
  }
17
- // ─── Form Request ──────────────────────────────────────────
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
- if (!this.authorize()) {
26
- throw new ValidationError({ auth: ['Unauthorized'] });
27
- }
28
- const input = {
53
+ let input = {
29
54
  ...(typeof req.body === 'object' && req.body !== null ? req.body : {}),
30
55
  ...req.query,
31
56
  ...req.params,
32
57
  };
33
- try {
34
- return this.rules().parse(input);
58
+ // prepareForValidation runs first so subclasses can normalize input that
59
+ // authorize() then reads (matches Laravel's FormRequest::validateResolved
60
+ // ordering). Awaited so async overrides work — without the await, a
61
+ // returned Promise would pass `typeof === 'object'` and be assigned to
62
+ // `input`, then the schema would fail with a confusing "expected object,
63
+ // received object" error.
64
+ const prepared = await this.prepareForValidation(input);
65
+ if (prepared && typeof prepared === 'object')
66
+ input = prepared;
67
+ if (!this.authorize()) {
68
+ return this.fail({ auth: ['Unauthorized'] });
35
69
  }
36
- catch (err) {
37
- if (err instanceof ZodError) {
38
- const errors = {};
39
- for (const issue of err.issues) {
40
- const key = issue.path.join('.') || 'root';
41
- errors[key] = [...(errors[key] ?? []), issue.message];
42
- }
43
- throw new ValidationError(errors);
44
- }
45
- throw err;
70
+ const errorMap = buildErrorMap(this.messages());
71
+ const result = errorMap
72
+ ? this.rules().safeParse(input, { error: errorMap })
73
+ : this.rules().safeParse(input);
74
+ if (!result.success)
75
+ return this.fail(zodIssuesToErrors(result.error));
76
+ const data = result.data;
77
+ const errors = {};
78
+ const addError = (path, message) => {
79
+ errors[path] = [...(errors[path] ?? []), message];
80
+ };
81
+ for (const cb of this.after()) {
82
+ await cb({ data, req, addError });
46
83
  }
84
+ if (Object.keys(errors).length > 0)
85
+ return this.fail(errors);
86
+ const post = await this.passedValidation(data);
87
+ return (post && typeof post === 'object' ? post : data);
88
+ }
89
+ async fail(errors) {
90
+ const out = await this.failedValidation(errors);
91
+ if (out instanceof Response)
92
+ throw new ValidationResponse(out);
93
+ throw new ValidationError(errors);
47
94
  }
48
95
  }
96
+ // ─── Internal helpers ──────────────────────────────────────
97
+ function zodIssuesToErrors(err) {
98
+ const errors = {};
99
+ for (const issue of err.issues) {
100
+ const key = issue.path.join('.') || 'root';
101
+ errors[key] = [...(errors[key] ?? []), issue.message];
102
+ }
103
+ return errors;
104
+ }
105
+ function buildErrorMap(messages) {
106
+ const keys = Object.keys(messages);
107
+ if (keys.length === 0)
108
+ return undefined;
109
+ return (issue) => {
110
+ // Match the key shape that ValidationError.errors uses — top-level
111
+ // (no-path) issues land under `'root'`, not `''`. Override maps need to
112
+ // use the same key the user sees in the rendered errors.
113
+ const path = (issue.path ?? []).join('.') || 'root';
114
+ const entry = messages[path];
115
+ if (entry === undefined)
116
+ return undefined;
117
+ return { message: typeof entry === 'function' ? entry(issue) : entry };
118
+ };
119
+ }
49
120
  // ─── validate helper ───────────────────────────────────────
50
121
  export async function validate(schema, req) {
51
122
  const input = {
@@ -58,12 +129,7 @@ export async function validate(schema, req) {
58
129
  }
59
130
  catch (err) {
60
131
  if (err instanceof ZodError) {
61
- const errors = {};
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);
132
+ throw new ValidationError(zodIssuesToErrors(err));
67
133
  }
68
134
  throw err;
69
135
  }
@@ -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,MAAM,IAAI,eAAe,CAAC,EAAE,IAAI,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;QACvD,CAAC;QAED,MAAM,KAAK,GAAG;YACZ,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAA+B,CAAC,CAAC,CAAC,EAAE,CAAC;YACjG,GAAG,GAAG,CAAC,KAAK;YACZ,GAAG,GAAG,CAAC,MAAM;SACd,CAAA;QAED,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,CAAe,CAAA;QAChD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;gBAC5B,MAAM,MAAM,GAA6B,EAAE,CAAA;gBAC3C,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;oBAC/B,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,CAAA;oBAC1C,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;gBACvD,CAAC;gBACD,MAAM,IAAI,eAAe,CAAC,MAAM,CAAC,CAAA;YACnC,CAAC;YACD,MAAM,GAAG,CAAA;QACX,CAAC;IACH,CAAC;CACF;AAED,8DAA8D;AAE9D,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,MAAS,EACT,GAAe;IAEf,MAAM,KAAK,GAAG;QACZ,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAA+B,CAAC,CAAC,CAAC,EAAE,CAAC;QACjG,GAAG,GAAG,CAAC,KAAK;QACZ,GAAG,GAAG,CAAC,MAAM;KACd,CAAA;IAED,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;YAC5B,MAAM,MAAM,GAA6B,EAAE,CAAA;YAC3C,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,CAAA;gBAC1C,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;YACvD,CAAC;YACD,MAAM,IAAI,eAAe,CAAC,MAAM,CAAC,CAAA;QACnC,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC;AAED,8DAA8D;AAE9D,MAAM,UAAU,YAAY,CAAoB,MAAS;IACvD,OAAO,KAAK,EACV,GAAe,EACf,IAAiB,EACjB,IAAyB,EACzB,EAAE;QACF,MAAM,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QAC3B,MAAM,IAAI,EAAE,CAAA;IACd,CAAC,CAAA;AACH,CAAC;AAED,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA"}
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,+EAA+E;AAC/E,8EAA8E;AAC9E,gFAAgF;AAChF,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IACxB;IAAnB,YAAmB,QAAkB;QACnC,KAAK,CAAC,0BAA0B,CAAC,CAAA;QADhB,aAAQ,GAAR,QAAQ,CAAU;QAEnC,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAA;IAClC,CAAC;CACF;AAcD,MAAM,OAAgB,WAAW;IACrB,GAAG,CAAa;IAI1B,SAAS;QACP,OAAO,IAAI,CAAA;IACb,CAAC;IAED,gEAAgE;IAEtD,oBAAoB,CAC5B,MAA+B;QAE/B,iBAAiB;IACnB,CAAC;IAES,KAAK;QACb,OAAO,EAAE,CAAA;IACX,CAAC;IAES,gBAAgB,CAAC,KAAiB;QAC1C,iBAAiB;IACnB,CAAC;IAES,gBAAgB,CAAC,MAAgC;QACzD,MAAM,IAAI,eAAe,CAAC,MAAM,CAAC,CAAA;IACnC,CAAC;IAES,QAAQ;QAChB,OAAO,EAAE,CAAA;IACX,CAAC;IAED,4DAA4D;IAE5D,KAAK,CAAC,QAAQ,CAAC,GAAe;QAC5B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QAEd,IAAI,KAAK,GAA4B;YACnC,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAA+B,CAAC,CAAC,CAAC,EAAE,CAAC;YACjG,GAAG,GAAG,CAAC,KAAK;YACZ,GAAG,GAAG,CAAC,MAAM;SACd,CAAA;QAED,yEAAyE;QACzE,0EAA0E;QAC1E,oEAAoE;QACpE,uEAAuE;QACvE,yEAAyE;QACzE,0BAA0B;QAC1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAA;QACvD,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,KAAK,GAAG,QAAQ,CAAA;QAE9D,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;QAC9C,CAAC;QAED,MAAM,QAAQ,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC/C,MAAM,MAAM,GAAG,QAAQ;YACrB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACpD,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QAEjC,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QAEtE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAkB,CAAA;QACtC,MAAM,MAAM,GAA6B,EAAE,CAAA;QAC3C,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,OAAe,EAAE,EAAE;YACjD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;QACnD,CAAC,CAAA;QACD,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC;YAC9B,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAA;QACnC,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAE5D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;QAC9C,OAAO,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAe,CAAA;IACvE,CAAC;IAEO,KAAK,CAAC,IAAI,CAAC,MAAgC;QACjD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;QAC/C,IAAI,GAAG,YAAY,QAAQ;YAAE,MAAM,IAAI,kBAAkB,CAAC,GAAG,CAAC,CAAA;QAC9D,MAAM,IAAI,eAAe,CAAC,MAAM,CAAC,CAAA;IACnC,CAAC;CACF;AAED,8DAA8D;AAE9D,SAAS,iBAAiB,CAAC,GAAa;IACtC,MAAM,MAAM,GAA6B,EAAE,CAAA;IAC3C,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,CAAA;QAC1C,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAA;IACvD,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,aAAa,CAAC,QAAqB;IAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAClC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IACvC,OAAO,CAAC,KAAK,EAAE,EAAE;QACf,mEAAmE;QACnE,wEAAwE;QACxE,yDAAyD;QACzD,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,CAAA;QACnD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;QAC5B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAA;QACzC,OAAO,EAAE,OAAO,EAAE,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAA;IACxE,CAAC,CAAA;AACH,CAAC;AAED,8DAA8D;AAE9D,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,MAAS,EACT,GAAe;IAEf,MAAM,KAAK,GAAG;QACZ,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAA+B,CAAC,CAAC,CAAC,EAAE,CAAC;QACjG,GAAG,GAAG,CAAC,KAAK;QACZ,GAAG,GAAG,CAAC,MAAM;KACd,CAAA;IAED,IAAI,CAAC;QACH,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,QAAQ,EAAE,CAAC;YAC5B,MAAM,IAAI,eAAe,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAA;QACnD,CAAC;QACD,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC;AAED,8DAA8D;AAE9D,MAAM,UAAU,YAAY,CAAoB,MAAS;IACvD,OAAO,KAAK,EACV,GAAe,EACf,IAAiB,EACjB,IAAyB,EACzB,EAAE;QACF,MAAM,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QAC3B,MAAM,IAAI,EAAE,CAAA;IACd,CAAC,CAAA;AACH,CAAC;AAED,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rudderjs/core",
3
- "version": "1.0.1",
3
+ "version": "1.1.1",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -32,9 +32,9 @@
32
32
  "reflect-metadata": "^0.2.2",
33
33
  "zod": "^4.0.0",
34
34
  "@rudderjs/console": "^1.0.0",
35
- "@rudderjs/contracts": "^1.1.0",
36
- "@rudderjs/router": "^1.0.0",
37
- "@rudderjs/support": "^1.1.0"
35
+ "@rudderjs/contracts": "^1.2.0",
36
+ "@rudderjs/router": "^1.1.2",
37
+ "@rudderjs/support": "^1.1.1"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@types/node": "^20.0.0",