@avijs/core 1.0.0-rc.3 → 1.0.0-rc.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/app.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AACjF,OAAO,EAML,KAAK,UAAU,EAGf,KAAK,WAAW,EAEhB,KAAK,aAAa,EACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAK5C,OAAO,EAAoC,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AACtF,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,SAAS,EACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAIL,KAAK,QAAQ,EAEb,KAAK,aAAa,EAClB,KAAK,SAAS,EACf,MAAM,eAAe,CAAC;AAcvB,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC;IAClE;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,cAAc,CAAC,EAAE,CAAC;IACtD,mCAAmC;IACnC,UAAU,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IACtC,sCAAsC;IACtC,MAAM,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IAChC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;CACrC;AAED,MAAM,WAAW,MAAM;IACrB,wGAAwG;IACxG,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,IAAI,CAAC;IAClD,+FAA+F;IAC/F,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,8DAA8D;IAC9D,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1D,4FAA4F;IAC5F,GAAG,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7C,wFAAwF;IACxF,MAAM,IAAI,SAAS,SAAS,EAAE,CAAC;IAC/B,0FAA0F;IAC1F,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;CACzC;AASD,wBAAgB,SAAS,CAAC,OAAO,GAAE,UAAe,GAAG,MAAM,CAE1D;AAED,eAAO,MAAM,UAAU;IACrB,qFAAqF;mBAChE,SAAS,GAAG,aAAa,YAAY,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;CAKvF,CAAC"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,KAAK,QAAQ,EAAE,KAAK,KAAK,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAClG,OAAO,EAML,KAAK,UAAU,EAGf,KAAK,WAAW,EAEhB,KAAK,aAAa,EACnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAK5C,OAAO,EAAoC,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AACtF,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,SAAS,EACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAIL,KAAK,QAAQ,EAEb,KAAK,aAAa,EAClB,KAAK,SAAS,EACf,MAAM,eAAe,CAAC;AAcvB,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC;IAClE;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,cAAc,CAAC,EAAE,CAAC;IACtD,mCAAmC;IACnC,UAAU,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IACtC,sCAAsC;IACtC,MAAM,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IAChC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;CACrC;AAED,MAAM,WAAW,MAAM;IACrB,wGAAwG;IACxG,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,IAAI,CAAC;IAClD,+FAA+F;IAC/F,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,8DAA8D;IAC9D,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAC1D,4FAA4F;IAC5F,GAAG,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7C,wFAAwF;IACxF,MAAM,IAAI,SAAS,SAAS,EAAE,CAAC;IAC/B,0FAA0F;IAC1F,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;CACzC;AASD,wBAAgB,SAAS,CAAC,OAAO,GAAE,UAAe,GAAG,MAAM,CAE1D;AAED,eAAO,MAAM,UAAU;IACrB,qFAAqF;mBAChE,SAAS,GAAG,aAAa,YAAY,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;CAKvF,CAAC"}
package/dist/app.js CHANGED
@@ -1,4 +1,4 @@
1
- import { Container } from '@avijs/di';
1
+ import { Container, injectListError } from '@avijs/di';
2
2
  import { HttpServer, Router, compose, } from '@avijs/http';
3
3
  import { withValidation } from '@avijs/validation';
4
4
  import cluster from 'node:cluster';
@@ -331,8 +331,8 @@ class Pipeline {
331
331
  let instance = this.#instances.get(cls);
332
332
  if (!instance) {
333
333
  const inject = injectOf(cls);
334
- if (cls.length > inject.length) {
335
- throw new TypeError(`${cls.name} takes ${String(cls.length)} constructor arguments but static inject lists ${String(inject.length)}: add static inject, or import inject.gen.ts, which avi dev keeps up to date`);
334
+ if (cls.inject === undefined && cls.length > 0) {
335
+ throw injectListError(cls.name, cls.length);
336
336
  }
337
337
  const Ctor = cls;
338
338
  instance = new Ctor(...inject.map(this.resolve));
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Container, Token } from '@avijs/di';
1
+ import { type Container, type Token } from '@avijs/di';
2
2
  /**
3
3
  * Checks that controllers, middleware and guard classes can see what they inject, and that
4
4
  * middleware and guards do not need a request scope.
@@ -1 +1 @@
1
- {"version":3,"file":"consumers.d.ts","sourceRoot":"","sources":["../src/consumers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAIlD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAoBzD;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,KAAK,EAAE,CAAA;CAAE,GAAG,SAAS,KAAK,EAAE,CAEtF"}
1
+ {"version":3,"file":"consumers.d.ts","sourceRoot":"","sources":["../src/consumers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,SAAS,EAAE,KAAK,KAAK,EAAE,MAAM,WAAW,CAAC;AAIvE;;;GAGG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAoBzD;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE;IAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,KAAK,EAAE,CAAA;CAAE,GAAG,SAAS,KAAK,EAAE,CAGtF"}
package/dist/consumers.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { resolveInjects } from '@avijs/di';
1
2
  import { isClass } from './pipeline.js';
2
3
  /**
3
4
  * Checks that controllers, middleware and guard classes can see what they inject, and that
@@ -26,6 +27,7 @@ export function checkConsumers(container) {
26
27
  }
27
28
  }
28
29
  export function injectOf(cls) {
30
+ resolveInjects();
29
31
  return cls.inject ?? [];
30
32
  }
31
33
  //# sourceMappingURL=consumers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"consumers.js","sourceRoot":"","sources":["../src/consumers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAsD,MAAM,eAAe,CAAC;AAE5F;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,SAAoB;IACjD,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,OAAsB,EAAE,CAAC;QACtD,MAAM,QAAQ,GAAG,CAAC,GAA6B,EAAE,KAAa,EAAE,EAAE;YAChE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;gBAAE,OAAO;YAC1B,MAAM,GAAG,GAAG,GAAiB,CAAC;YAC9B,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC7B,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YACxD,IAAI,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;gBAC3C,MAAM,IAAI,KAAK,CACb,GAAG,KAAK,IAAI,GAAG,CAAC,IAAI,qIAAqI,CAC1J,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;QACF,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;YAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACvF,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,GAAG,MAAM,CAAC,IAAI,eAAe,UAAU,CAAC,MAAM,EAAE,CAAC;YAC/D,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAClD,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,UAAU,CAAC,UAAU,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC;gBAAE,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAA2C;IAClE,OAAO,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"consumers.js","sourceRoot":"","sources":["../src/consumers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAA8B,MAAM,WAAW,CAAC;AAEvE,OAAO,EAAE,OAAO,EAAsD,MAAM,eAAe,CAAC;AAE5F;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,SAAoB;IACjD,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,OAAsB,EAAE,CAAC;QACtD,MAAM,QAAQ,GAAG,CAAC,GAA6B,EAAE,KAAa,EAAE,EAAE;YAChE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;gBAAE,OAAO;YAC1B,MAAM,GAAG,GAAG,GAAiB,CAAC;YAC9B,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC7B,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YACxD,IAAI,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;gBAC3C,MAAM,IAAI,KAAK,CACb,GAAG,KAAK,IAAI,GAAG,CAAC,IAAI,qIAAqI,CAC1J,CAAC;YACJ,CAAC;QACH,CAAC,CAAC;QACF,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,MAAM,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;YAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;QACvF,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,GAAG,MAAM,CAAC,IAAI,eAAe,UAAU,CAAC,MAAM,EAAE,CAAC;YAC/D,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAClD,KAAK,MAAM,GAAG,IAAI,CAAC,GAAG,UAAU,CAAC,UAAU,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC;gBAAE,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAA2C;IAClE,cAAc,EAAE,CAAC;IACjB,OAAO,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;AAC1B,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { Class, Scope } from '@avijs/di';
1
+ import { type Class, type Scope } from '@avijs/di';
2
2
  import type { HttpMethod } from '@avijs/http';
3
3
  import type { RouteSchema } from '@avijs/validation';
4
4
  import type { ControllerDefinition } from './controller.js';
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,KAAK,EAAS,MAAM,WAAW,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;CAC7C;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;CACtC;AAED,eAAO,MAAM,MAAM,eAAuB,CAAC;AAC3C,eAAO,MAAM,UAAU,eAA2B,CAAC;AACnD,eAAO,MAAM,MAAM,eAAuB,CAAC;AAC3C,eAAO,MAAM,iBAAiB,eAAiC,CAAC;AAChE,eAAO,MAAM,aAAa,eAA6B,CAAC;AAExD,eAAO,MAAM,iBAAiB,gCAAuC,CAAC;AACtE,eAAO,MAAM,aAAa,2BAAkC,CAAC;AAC7D,eAAO,MAAM,gBAAgB,uBAA8B,CAAC;AAI5D,uFAAuF;AACvF,wBAAgB,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,CAIxE;AAED,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,CAK5F;AAuBD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,KAAK,GAAG,oBAAoB,CA+DpE"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAmC,KAAK,KAAK,EAAE,KAAK,KAAK,EAAc,MAAM,WAAW,CAAC;AAChG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,eAAe,CAAC;AAEvB,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;CAC7C;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;CACtC;AAED,eAAO,MAAM,MAAM,eAAuB,CAAC;AAC3C,eAAO,MAAM,UAAU,eAA2B,CAAC;AACnD,eAAO,MAAM,MAAM,eAAuB,CAAC;AAC3C,eAAO,MAAM,iBAAiB,eAAiC,CAAC;AAChE,eAAO,MAAM,aAAa,eAA6B,CAAC;AAExD,eAAO,MAAM,iBAAiB,gCAAuC,CAAC;AACtE,eAAO,MAAM,aAAa,2BAAkC,CAAC;AAC7D,eAAO,MAAM,gBAAgB,uBAA8B,CAAC;AAI5D,uFAAuF;AACvF,wBAAgB,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,EAAE,CAIxE;AAED,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,CAK5F;AAuBD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,KAAK,GAAG,oBAAoB,CAwEpE"}
package/dist/registry.js CHANGED
@@ -1,3 +1,5 @@
1
+ // Decorated classes map to the same definitions the explicit API produces.
2
+ import { injectListError, resolveInjects } from '@avijs/di';
1
3
  import { checkRefs, } from './pipeline.js';
2
4
  export const ROUTES = Symbol('avi.routes');
3
5
  export const MIDDLEWARE = Symbol('avi.middleware');
@@ -42,12 +44,22 @@ export function controllerFromClass(cls) {
42
44
  if (!meta) {
43
45
  throw new TypeError(`${cls.name || 'This class'} is not a controller: add @Controller()`);
44
46
  }
45
- const inject = cls.inject ?? [];
46
- if (!Array.isArray(inject))
47
- throw new TypeError(`${cls.name}.inject must be an array of tokens`);
48
- if (cls.length > inject.length) {
49
- throw new TypeError(`${cls.name} takes ${String(cls.length)} constructor arguments but static inject lists ${String(inject.length)}: add static inject, or import inject.gen.ts, which avi dev keeps up to date`);
50
- }
47
+ // Read when the app starts, not when the module loads: a list from inject.gen.ts may not be
48
+ // registered yet, since that file can be in an import cycle with this module.
49
+ let inject;
50
+ const injectList = () => {
51
+ if (inject)
52
+ return inject;
53
+ resolveInjects();
54
+ const given = cls.inject;
55
+ const list = given ?? [];
56
+ if (!Array.isArray(list))
57
+ throw new TypeError(`${cls.name}.inject must be an array of tokens`);
58
+ if (given === undefined && cls.length > 0) {
59
+ throw injectListError(cls.name, cls.length);
60
+ }
61
+ return (inject = Object.freeze([...list]));
62
+ };
51
63
  const { metadata } = meta;
52
64
  const entries = collect(metadata, ROUTES);
53
65
  const perRoute = entries.map((entry) => ({
@@ -60,7 +72,9 @@ export function controllerFromClass(cls) {
60
72
  name: cls.name,
61
73
  prefix: meta.prefix,
62
74
  staticRoutes: Object.freeze(entries.map(({ method, path }) => ({ method, path }))),
63
- inject: Object.freeze([...inject]),
75
+ get inject() {
76
+ return injectList();
77
+ },
64
78
  middleware: checkRefs(collect(metadata, MIDDLEWARE), 'use', `${cls.name} middleware`),
65
79
  guards: checkRefs(collect(metadata, GUARDS), 'canActivate', `${cls.name} guards`),
66
80
  createRoutes(deps) {
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@avijs/core",
3
- "version": "1.0.0-rc.3",
3
+ "version": "1.0.0-rc.5",
4
4
  "description": "Avi.js public API: application factory, modules and controllers.",
5
5
  "keywords": [
6
6
  "avi",
@@ -43,9 +43,9 @@
43
43
  "access": "public"
44
44
  },
45
45
  "dependencies": {
46
- "@avijs/di": "^1.0.0-rc.3",
47
- "@avijs/http": "^1.0.0-rc.3",
48
- "@avijs/validation": "^1.0.0-rc.3"
46
+ "@avijs/di": "^1.0.0-rc.5",
47
+ "@avijs/http": "^1.0.0-rc.5",
48
+ "@avijs/validation": "^1.0.0-rc.5"
49
49
  },
50
50
  "devDependencies": {
51
51
  "valibot": "1.5.0"
package/src/app.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Container, type Provider, type Token, type TokenType } from '@avijs/di';
1
+ import { Container, injectListError, type Provider, type Token, type TokenType } from '@avijs/di';
2
2
  import {
3
3
  HttpServer,
4
4
  Router,
@@ -453,10 +453,8 @@ class Pipeline {
453
453
  let instance = this.#instances.get(cls);
454
454
  if (!instance) {
455
455
  const inject = injectOf(cls);
456
- if (cls.length > inject.length) {
457
- throw new TypeError(
458
- `${cls.name} takes ${String(cls.length)} constructor arguments but static inject lists ${String(inject.length)}: add static inject, or import inject.gen.ts, which avi dev keeps up to date`,
459
- );
456
+ if (cls.inject === undefined && cls.length > 0) {
457
+ throw injectListError(cls.name, cls.length);
460
458
  }
461
459
  const Ctor = cls as unknown as new (...args: unknown[]) => unknown;
462
460
  instance = new Ctor(...inject.map(this.resolve));
package/src/consumers.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Container, Token } from '@avijs/di';
1
+ import { resolveInjects, type Container, type Token } from '@avijs/di';
2
2
  import type { AviModule } from './module.js';
3
3
  import { isClass, type GuardClass, type GuardRef, type MiddlewareRef } from './pipeline.js';
4
4
 
@@ -29,5 +29,6 @@ export function checkConsumers(container: Container): void {
29
29
  }
30
30
 
31
31
  export function injectOf(cls: { readonly inject?: readonly Token[] }): readonly Token[] {
32
+ resolveInjects();
32
33
  return cls.inject ?? [];
33
34
  }
package/src/registry.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  // Decorated classes map to the same definitions the explicit API produces.
2
- import type { Class, Scope, Token } from '@avijs/di';
2
+ import { injectListError, resolveInjects, type Class, type Scope, type Token } from '@avijs/di';
3
3
  import type { HttpMethod } from '@avijs/http';
4
4
  import type { RouteSchema } from '@avijs/validation';
5
5
  import type { ControllerDefinition } from './controller.js';
@@ -80,13 +80,20 @@ export function controllerFromClass(cls: Class): ControllerDefinition {
80
80
  throw new TypeError(`${cls.name || 'This class'} is not a controller: add @Controller()`);
81
81
  }
82
82
 
83
- const inject = (cls as { inject?: unknown }).inject ?? [];
84
- if (!Array.isArray(inject)) throw new TypeError(`${cls.name}.inject must be an array of tokens`);
85
- if (cls.length > inject.length) {
86
- throw new TypeError(
87
- `${cls.name} takes ${String(cls.length)} constructor arguments but static inject lists ${String(inject.length)}: add static inject, or import inject.gen.ts, which avi dev keeps up to date`,
88
- );
89
- }
83
+ // Read when the app starts, not when the module loads: a list from inject.gen.ts may not be
84
+ // registered yet, since that file can be in an import cycle with this module.
85
+ let inject: readonly Token[] | undefined;
86
+ const injectList = (): readonly Token[] => {
87
+ if (inject) return inject;
88
+ resolveInjects();
89
+ const given = (cls as { inject?: unknown }).inject;
90
+ const list = given ?? [];
91
+ if (!Array.isArray(list)) throw new TypeError(`${cls.name}.inject must be an array of tokens`);
92
+ if (given === undefined && cls.length > 0) {
93
+ throw injectListError(cls.name, cls.length);
94
+ }
95
+ return (inject = Object.freeze([...(list as Token[])]));
96
+ };
90
97
 
91
98
  const { metadata } = meta;
92
99
  const entries = collect<RouteEntry>(metadata, ROUTES);
@@ -109,7 +116,9 @@ export function controllerFromClass(cls: Class): ControllerDefinition {
109
116
  name: cls.name,
110
117
  prefix: meta.prefix,
111
118
  staticRoutes: Object.freeze(entries.map(({ method, path }) => ({ method, path }))),
112
- inject: Object.freeze([...(inject as Token[])]),
119
+ get inject() {
120
+ return injectList();
121
+ },
113
122
  middleware: checkRefs(
114
123
  collect<MiddlewareRef>(metadata, MIDDLEWARE),
115
124
  'use',