@codefast/di-testing 0.0.0 → 0.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.
Files changed (60) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/discovery/dependency-scanner.d.ts +6 -0
  3. package/dist/discovery/dependency-scanner.d.ts.map +1 -1
  4. package/dist/discovery/dependency-scanner.js +4 -0
  5. package/dist/discovery/dependency-scanner.js.map +1 -1
  6. package/dist/discovery/mock-binder.d.ts +16 -0
  7. package/dist/discovery/mock-binder.d.ts.map +1 -1
  8. package/dist/discovery/mock-binder.js +6 -0
  9. package/dist/discovery/mock-binder.js.map +1 -1
  10. package/dist/errors/errors.d.ts +17 -1
  11. package/dist/errors/errors.d.ts.map +1 -1
  12. package/dist/errors/errors.js +12 -0
  13. package/dist/errors/errors.js.map +1 -1
  14. package/dist/mocking/auto-mock.d.ts +8 -0
  15. package/dist/mocking/auto-mock.d.ts.map +1 -1
  16. package/dist/mocking/auto-mock.js +4 -0
  17. package/dist/mocking/auto-mock.js.map +1 -1
  18. package/dist/mocking/mock-factory.d.ts +6 -0
  19. package/dist/mocking/mock-factory.d.ts.map +1 -1
  20. package/dist/mocking/mock-factory.js +2 -0
  21. package/dist/mocking/mock-factory.js.map +1 -1
  22. package/dist/mocking/spy.d.ts +8 -0
  23. package/dist/mocking/spy.d.ts.map +1 -1
  24. package/dist/mocking/spy.js +2 -0
  25. package/dist/mocking/spy.js.map +1 -1
  26. package/dist/test-bed/bed-builder.d.ts +8 -0
  27. package/dist/test-bed/bed-builder.d.ts.map +1 -1
  28. package/dist/test-bed/bed-builder.js +2 -0
  29. package/dist/test-bed/bed-builder.js.map +1 -1
  30. package/dist/test-bed/sociable-builder.d.ts +4 -0
  31. package/dist/test-bed/sociable-builder.d.ts.map +1 -1
  32. package/dist/test-bed/sociable-builder.js +2 -0
  33. package/dist/test-bed/sociable-builder.js.map +1 -1
  34. package/dist/test-bed/solitary-builder.d.ts +4 -0
  35. package/dist/test-bed/solitary-builder.d.ts.map +1 -1
  36. package/dist/test-bed/solitary-builder.js +2 -0
  37. package/dist/test-bed/solitary-builder.js.map +1 -1
  38. package/dist/test-bed/test-bed.d.ts +4 -0
  39. package/dist/test-bed/test-bed.d.ts.map +1 -1
  40. package/dist/test-bed/test-bed.js +2 -0
  41. package/dist/test-bed/test-bed.js.map +1 -1
  42. package/dist/test-bed/unit-test-bed.d.ts +10 -0
  43. package/dist/test-bed/unit-test-bed.d.ts.map +1 -1
  44. package/dist/test-bed/unit-test-bed.js +4 -0
  45. package/dist/test-bed/unit-test-bed.js.map +1 -1
  46. package/dist/types.d.ts +2 -0
  47. package/dist/types.d.ts.map +1 -1
  48. package/package.json +3 -3
  49. package/src/discovery/dependency-scanner.ts +6 -0
  50. package/src/discovery/mock-binder.ts +16 -0
  51. package/src/errors/errors.ts +17 -1
  52. package/src/mocking/auto-mock.ts +8 -0
  53. package/src/mocking/mock-factory.ts +6 -0
  54. package/src/mocking/spy.ts +8 -0
  55. package/src/test-bed/bed-builder.ts +8 -0
  56. package/src/test-bed/sociable-builder.ts +4 -0
  57. package/src/test-bed/solitary-builder.ts +4 -0
  58. package/src/test-bed/test-bed.ts +4 -0
  59. package/src/test-bed/unit-test-bed.ts +10 -0
  60. package/src/types.ts +2 -0
@@ -1 +1 @@
1
- {"version":3,"file":"bed-builder.js","sourceRoot":"","sources":["../../src/test-bed/bed-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bed-builder.js","sourceRoot":"","sources":["../../src/test-bed/bed-builder.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,8 @@ import type { InjectionIdentifier } from "#/types";
15
15
  *
16
16
  * @typeParam Class - The class under test.
17
17
  * @typeParam Backend - The spy type the bed's mock factory produces.
18
+ *
19
+ * @since 0.1.0
18
20
  */
19
21
  export interface SociableTestBedBuilder<Class, Backend extends MockFunction = Spy> {
20
22
  /** Keeps a class-keyed collaborator real; its own dependencies follow the same exposure rules. */
@@ -31,6 +33,8 @@ export interface SociableTestBedBuilder<Class, Backend extends MockFunction = Sp
31
33
  *
32
34
  * @typeParam Class - The class under test.
33
35
  * @typeParam Backend - The spy type the bed's mock factory produces.
36
+ *
37
+ * @since 0.1.0
34
38
  */
35
39
  export declare class SociableBuilder<Class, Backend extends MockFunction = Spy> extends BedBuilder<Class, Backend> implements SociableTestBedBuilder<Class, Backend> {
36
40
  #private;
@@ -1 +1 @@
1
- {"version":3,"file":"sociable-builder.d.ts","sourceRoot":"","sources":["../../src/test-bed/sociable-builder.ts"],"names":[],"mappings":"AAAA,uFAAuF;AAEvF,OAAO,KAAK,EAAE,WAAW,EAAkB,aAAa,EAAE,MAAM,cAAc,CAAC;AAM/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,mBAAmB,EAAe,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD;;;;;;;;;GASG;AACH,MAAM,WAAW,sBAAsB,CAAC,KAAK,EAAE,OAAO,SAAS,YAAY,GAAG,GAAG;IAC/E,kGAAkG;IAClG,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACpE,8FAA8F;IAC9F,IAAI,CAAC,UAAU,EACb,UAAU,EAAE,mBAAmB,CAAC,UAAU,CAAC,EAC3C,OAAO,CAAC,EAAE,aAAa,GACtB,mBAAmB,CAAC,UAAU,EAAE,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IACpF,8EAA8E;IAC9E,OAAO,IAAI,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC/C,2GAA2G;IAC3G,YAAY,IAAI,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;CAC9D;AAKD;;;;;GAKG;AACH,qBAAa,eAAe,CAAC,KAAK,EAAE,OAAO,SAAS,YAAY,GAAG,GAAG,CACpE,SAAQ,UAAU,CAAC,KAAK,EAAE,OAAO,CACjC,YAAW,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC;;IAIjD,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAGhC;IAED,OAAO,IAAI,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAU7C;IAEK,YAAY,IAAI,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAUjE;CA6DF"}
1
+ {"version":3,"file":"sociable-builder.d.ts","sourceRoot":"","sources":["../../src/test-bed/sociable-builder.ts"],"names":[],"mappings":"AAAA,uFAAuF;AAEvF,OAAO,KAAK,EAAE,WAAW,EAAkB,aAAa,EAAE,MAAM,cAAc,CAAC;AAM/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,mBAAmB,EAAe,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,sBAAsB,CAAC,KAAK,EAAE,OAAO,SAAS,YAAY,GAAG,GAAG;IAC/E,kGAAkG;IAClG,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACpE,8FAA8F;IAC9F,IAAI,CAAC,UAAU,EACb,UAAU,EAAE,mBAAmB,CAAC,UAAU,CAAC,EAC3C,OAAO,CAAC,EAAE,aAAa,GACtB,mBAAmB,CAAC,UAAU,EAAE,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IACpF,8EAA8E;IAC9E,OAAO,IAAI,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC/C,2GAA2G;IAC3G,YAAY,IAAI,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;CAC9D;AAKD;;;;;;;GAOG;AACH,qBAAa,eAAe,CAAC,KAAK,EAAE,OAAO,SAAS,YAAY,GAAG,GAAG,CACpE,SAAQ,UAAU,CAAC,KAAK,EAAE,OAAO,CACjC,YAAW,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC;;IAIjD,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAGhC;IAED,OAAO,IAAI,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAU7C;IAEK,YAAY,IAAI,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAUjE;CA6DF"}
@@ -10,6 +10,8 @@ import { createSociableUnitTestBed, createUnitTestBed } from "#/test-bed/unit-te
10
10
  *
11
11
  * @typeParam Class - The class under test.
12
12
  * @typeParam Backend - The spy type the bed's mock factory produces.
13
+ *
14
+ * @since 0.1.0
13
15
  */
14
16
  export class SociableBuilder extends BedBuilder {
15
17
  #exposed = new Set();
@@ -1 +1 @@
1
- {"version":3,"file":"sociable-builder.js","sourceRoot":"","sources":["../../src/test-bed/sociable-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sociable-builder.js","sourceRoot":"","sources":["../../src/test-bed/sociable-builder.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,8 @@ import type { InjectionIdentifier } from "#/types";
11
11
  *
12
12
  * @typeParam Class - The class under test.
13
13
  * @typeParam Backend - The spy type the bed's mock factory produces.
14
+ *
15
+ * @since 0.1.0
14
16
  */
15
17
  export interface SolitaryTestBedBuilder<Class, Backend extends MockFunction = Spy> {
16
18
  /** Replaces the auto-mock for one dependency with a hand-written stub or a concrete value. */
@@ -25,6 +27,8 @@ export interface SolitaryTestBedBuilder<Class, Backend extends MockFunction = Sp
25
27
  *
26
28
  * @typeParam Class - The class under test.
27
29
  * @typeParam Backend - The spy type the bed's mock factory produces.
30
+ *
31
+ * @since 0.1.0
28
32
  */
29
33
  export declare class SolitaryBuilder<Class, Backend extends MockFunction = Spy> extends BedBuilder<Class, Backend> implements SolitaryTestBedBuilder<Class, Backend> {
30
34
  #private;
@@ -1 +1 @@
1
- {"version":3,"file":"solitary-builder.d.ts","sourceRoot":"","sources":["../../src/test-bed/solitary-builder.ts"],"names":[],"mappings":"AAAA,mEAAmE;AAEnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAKlD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,mBAAmB,EAAe,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB,CAAC,KAAK,EAAE,OAAO,SAAS,YAAY,GAAG,GAAG;IAC/E,8FAA8F;IAC9F,IAAI,CAAC,UAAU,EACb,UAAU,EAAE,mBAAmB,CAAC,UAAU,CAAC,EAC3C,OAAO,CAAC,EAAE,aAAa,GACtB,mBAAmB,CAAC,UAAU,EAAE,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IACpF,2GAA2G;IAC3G,OAAO,IAAI,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACvC,wGAAwG;IACxG,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;CACtD;AAED;;;;;GAKG;AACH,qBAAa,eAAe,CAAC,KAAK,EAAE,OAAO,SAAS,YAAY,GAAG,GAAG,CACpE,SAAQ,UAAU,CAAC,KAAK,EAAE,OAAO,CACjC,YAAW,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC;;IAEjD,OAAO,IAAI,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAKrC;IAEK,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAKzD;CAUF"}
1
+ {"version":3,"file":"solitary-builder.d.ts","sourceRoot":"","sources":["../../src/test-bed/solitary-builder.ts"],"names":[],"mappings":"AAAA,mEAAmE;AAEnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAKlD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,mBAAmB,EAAe,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAE5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEnD;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB,CAAC,KAAK,EAAE,OAAO,SAAS,YAAY,GAAG,GAAG;IAC/E,8FAA8F;IAC9F,IAAI,CAAC,UAAU,EACb,UAAU,EAAE,mBAAmB,CAAC,UAAU,CAAC,EAC3C,OAAO,CAAC,EAAE,aAAa,GACtB,mBAAmB,CAAC,UAAU,EAAE,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC;IACpF,2GAA2G;IAC3G,OAAO,IAAI,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACvC,wGAAwG;IACxG,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;CACtD;AAED;;;;;;;GAOG;AACH,qBAAa,eAAe,CAAC,KAAK,EAAE,OAAO,SAAS,YAAY,GAAG,GAAG,CACpE,SAAQ,UAAU,CAAC,KAAK,EAAE,OAAO,CACjC,YAAW,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC;;IAEjD,OAAO,IAAI,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAKrC;IAEK,YAAY,IAAI,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAKzD;CAUF"}
@@ -9,6 +9,8 @@ import { createUnitTestBed } from "#/test-bed/unit-test-bed";
9
9
  *
10
10
  * @typeParam Class - The class under test.
11
11
  * @typeParam Backend - The spy type the bed's mock factory produces.
12
+ *
13
+ * @since 0.1.0
12
14
  */
13
15
  export class SolitaryBuilder extends BedBuilder {
14
16
  compile() {
@@ -1 +1 @@
1
- {"version":3,"file":"solitary-builder.js","sourceRoot":"","sources":["../../src/test-bed/solitary-builder.ts"],"names":[],"mappings":"AAAA,mEAAmE;AAGnE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAIpD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAqB7D;;;;;GAKG;AACH,MAAM,OAAO,eACX,SAAQ,UAA0B;IAGlC,OAAO;QACL,OAAO,IAAI,CAAC,WAAW,CACrB,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EACrB,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,CAChF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO,IAAI,CAAC,gBAAgB,CAC1B,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EACrB,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,CAChF,CAAC;IACJ,CAAC;IAED,kGAAkG;IAClG,QAAQ;QACN,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACpE,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAChE,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACnF,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC;QACjD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC9B,CAAC;CACF"}
1
+ {"version":3,"file":"solitary-builder.js","sourceRoot":"","sources":["../../src/test-bed/solitary-builder.ts"],"names":[],"mappings":"AAAA,mEAAmE;AAGnE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAIpD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAuB7D;;;;;;;GAOG;AACH,MAAM,OAAO,eACX,SAAQ,UAA0B;IAGlC,OAAO;QACL,OAAO,IAAI,CAAC,WAAW,CACrB,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EACrB,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,CAChF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO,IAAI,CAAC,gBAAgB,CAC1B,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EACrB,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,CAChF,CAAC;IACJ,CAAC;IAED,kGAAkG;IAClG,QAAQ;QACN,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACpE,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAChE,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,EAAE,YAAY,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACnF,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,CAAC;QACjD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAC9B,CAAC;CACF"}
@@ -7,6 +7,8 @@ import type { SociableTestBedBuilder } from "#/test-bed/sociable-builder";
7
7
  import type { SolitaryTestBedBuilder } from "#/test-bed/solitary-builder";
8
8
  /**
9
9
  * The factory surface for building isolated units under test.
10
+ *
11
+ * @since 0.1.0
10
12
  */
11
13
  export interface TestBedStatic {
12
14
  /**
@@ -30,6 +32,8 @@ export interface TestBedStatic {
30
32
  *
31
33
  * @remarks `solitary` and `sociable` record the target and options only; nothing is instantiated
32
34
  * until `compile()`.
35
+ *
36
+ * @since 0.1.0
33
37
  */
34
38
  export declare const TestBed: TestBedStatic;
35
39
  //# sourceMappingURL=test-bed.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"test-bed.d.ts","sourceRoot":"","sources":["../../src/test-bed/test-bed.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE1E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,SAAS,YAAY,GAAG,GAAG,EAChD,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,EAC1B,OAAO,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,GAChC,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAE1C;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,SAAS,YAAY,GAAG,GAAG,EAChD,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,EAC1B,OAAO,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,GAChC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;CAC3D;AAED;;;;;GAKG;AACH,eAAO,MAAM,OAAO,EAAE,aAarB,CAAC"}
1
+ {"version":3,"file":"test-bed.d.ts","sourceRoot":"","sources":["../../src/test-bed/test-bed.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAE9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE1E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE1E;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,SAAS,YAAY,GAAG,GAAG,EAChD,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,EAC1B,OAAO,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,GAChC,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAE1C;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,SAAS,YAAY,GAAG,GAAG,EAChD,MAAM,EAAE,WAAW,CAAC,KAAK,CAAC,EAC1B,OAAO,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,GAChC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;CAC3D;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO,EAAE,aAarB,CAAC"}
@@ -6,6 +6,8 @@ import { SolitaryBuilder } from "#/test-bed/solitary-builder";
6
6
  *
7
7
  * @remarks `solitary` and `sociable` record the target and options only; nothing is instantiated
8
8
  * until `compile()`.
9
+ *
10
+ * @since 0.1.0
9
11
  */
10
12
  export const TestBed = {
11
13
  solitary(target, options) {
@@ -1 +1 @@
1
- {"version":3,"file":"test-bed.js","sourceRoot":"","sources":["../../src/test-bed/test-bed.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAO9D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AA+B9D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAkB;IACpC,QAAQ,CACN,MAA0B,EAC1B,OAAiC;QAEjC,OAAO,IAAI,eAAe,CAAiB,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IACD,QAAQ,CACN,MAA0B,EAC1B,OAAiC;QAEjC,OAAO,IAAI,eAAe,CAAiB,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"test-bed.js","sourceRoot":"","sources":["../../src/test-bed/test-bed.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAO9D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAiC9D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,OAAO,GAAkB;IACpC,QAAQ,CACN,MAA0B,EAC1B,OAAiC;QAEjC,OAAO,IAAI,eAAe,CAAiB,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IACD,QAAQ,CACN,MAA0B,EAC1B,OAAiC;QAEjC,OAAO,IAAI,eAAe,CAAiB,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;CACF,CAAC"}
@@ -8,6 +8,8 @@ import type { Spy } from "#/mocking/spy";
8
8
  * A lookup from a dependency's token or class to the mock the unit was built with.
9
9
  *
10
10
  * @typeParam Backend - The spy type the bed's mock factory produces.
11
+ *
12
+ * @since 0.1.0
11
13
  */
12
14
  export interface UnitReference<Backend extends MockFunction = Spy> {
13
15
  /**
@@ -31,6 +33,8 @@ export interface UnitReference<Backend extends MockFunction = Spy> {
31
33
  *
32
34
  * @typeParam Class - The class under test.
33
35
  * @typeParam Backend - The spy type the bed's mock factory produces.
36
+ *
37
+ * @since 0.1.0
34
38
  */
35
39
  export interface UnitTestBed<Class, Backend extends MockFunction = Spy> extends AsyncDisposable {
36
40
  readonly unit: Class;
@@ -45,6 +49,8 @@ export interface UnitTestBed<Class, Backend extends MockFunction = Spy> extends
45
49
  *
46
50
  * @typeParam Class - The class under test.
47
51
  * @typeParam Backend - The spy type the bed's mock factory produces.
52
+ *
53
+ * @since 0.1.0
48
54
  */
49
55
  export interface SociableUnitTestBed<Class, Backend extends MockFunction = Spy> extends UnitTestBed<Class, Backend> {
50
56
  /**
@@ -56,10 +62,14 @@ export interface SociableUnitTestBed<Class, Backend extends MockFunction = Spy>
56
62
  }
57
63
  /**
58
64
  * Wraps a compiled bed with access to its exposed real collaborators.
65
+ *
66
+ * @since 0.1.0
59
67
  */
60
68
  export declare function createSociableUnitTestBed<Class, Backend extends MockFunction = Spy>(bed: UnitTestBed<Class, Backend>, container: Container, exposedClasses: ReadonlySet<Constructor>): SociableUnitTestBed<Class, Backend>;
61
69
  /**
62
70
  * Assembles a {@link UnitTestBed} around an instantiated unit and its bound mock entries.
71
+ *
72
+ * @since 0.1.0
63
73
  */
64
74
  export declare function createUnitTestBed<Class, Backend extends MockFunction = Spy>(unit: Class, entries: ReadonlyMap<DependencyKey, ReadonlyArray<BoundMock>>, container: Container): UnitTestBed<Class, Backend>;
65
75
  //# sourceMappingURL=unit-test-bed.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"unit-test-bed.d.ts","sourceRoot":"","sources":["../../src/test-bed/unit-test-bed.ts"],"names":[],"mappings":"AAEA,kFAAkF;AAElF,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAGrG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEzC;;;;GAIG;AACH,MAAM,WAAW,aAAa,CAAC,OAAO,SAAS,YAAY,GAAG,GAAG;IAC/D;;;;;;;;;;OAUG;IACH,GAAG,CAAC,UAAU,SAAS,aAAa,EAClC,UAAU,EAAE,UAAU,EACtB,OAAO,CAAC,EAAE,aAAa,GACtB,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;CAC5C;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW,CAAC,KAAK,EAAE,OAAO,SAAS,YAAY,GAAG,GAAG,CAAE,SAAQ,eAAe;IAC7F,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACvC,oGAAoG;IACpG,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAC7B,8EAA8E;IAC9E,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB,CAAC,KAAK,EAAE,OAAO,SAAS,YAAY,GAAG,GAAG,CAAE,SAAQ,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC;IACjH;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAChD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,SAAS,YAAY,GAAG,GAAG,EACjF,GAAG,EAAE,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,EAChC,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,WAAW,CAAC,WAAW,CAAC,GACvC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAiBrC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,SAAS,YAAY,GAAG,GAAG,EACzE,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,WAAW,CAAC,aAAa,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,EAC7D,SAAS,EAAE,SAAS,GACnB,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CA8C7B"}
1
+ {"version":3,"file":"unit-test-bed.d.ts","sourceRoot":"","sources":["../../src/test-bed/unit-test-bed.ts"],"names":[],"mappings":"AAEA,kFAAkF;AAElF,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAGrG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAEzC;;;;;;GAMG;AACH,MAAM,WAAW,aAAa,CAAC,OAAO,SAAS,YAAY,GAAG,GAAG;IAC/D;;;;;;;;;;OAUG;IACH,GAAG,CAAC,UAAU,SAAS,aAAa,EAClC,UAAU,EAAE,UAAU,EACtB,OAAO,CAAC,EAAE,aAAa,GACtB,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;CAC5C;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,WAAW,CAAC,KAAK,EAAE,OAAO,SAAS,YAAY,GAAG,GAAG,CAAE,SAAQ,eAAe;IAC7F,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IACvC,oGAAoG;IACpG,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAC7B,8EAA8E;IAC9E,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB,CAAC,KAAK,EAAE,OAAO,SAAS,YAAY,GAAG,GAAG,CAAE,SAAQ,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC;IACjH;;;;OAIG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAChD;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,SAAS,YAAY,GAAG,GAAG,EACjF,GAAG,EAAE,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,EAChC,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,WAAW,CAAC,WAAW,CAAC,GACvC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAiBrC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,SAAS,YAAY,GAAG,GAAG,EACzE,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,WAAW,CAAC,aAAa,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,EAC7D,SAAS,EAAE,SAAS,GACnB,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CA8C7B"}
@@ -5,6 +5,8 @@ import { ExposureError, SealedDependencyError, UndeclaredDependencyError } from
5
5
  import { MOCK_RESET } from "#/mocking/auto-mock";
6
6
  /**
7
7
  * Wraps a compiled bed with access to its exposed real collaborators.
8
+ *
9
+ * @since 0.1.0
8
10
  */
9
11
  export function createSociableUnitTestBed(bed, container, exposedClasses) {
10
12
  // Copied member by member, so a future bed with accessor or prototype members cannot be dropped
@@ -26,6 +28,8 @@ export function createSociableUnitTestBed(bed, container, exposedClasses) {
26
28
  }
27
29
  /**
28
30
  * Assembles a {@link UnitTestBed} around an instantiated unit and its bound mock entries.
31
+ *
32
+ * @since 0.1.0
29
33
  */
30
34
  export function createUnitTestBed(unit, entries, container) {
31
35
  const mocks = {
@@ -1 +1 @@
1
- {"version":3,"file":"unit-test-bed.js","sourceRoot":"","sources":["../../src/test-bed/unit-test-bed.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unit-test-bed.js","sourceRoot":"","sources":["../../src/test-bed/unit-test-bed.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -7,6 +7,8 @@ import type { Constructor, Token } from "@codefast/di";
7
7
  * `mocks.get()` can map an identifier back to the mock type it produced.
8
8
  *
9
9
  * @typeParam Value - The value type the identified dependency resolves to.
10
+ *
11
+ * @since 0.1.0
10
12
  */
11
13
  export type InjectionIdentifier<Value> = Token<Value> | Constructor<Value>;
12
14
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAEvD;;;;;;;GAOG;AACH,MAAM,MAAM,mBAAmB,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAE/D,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAEvD;;;;;;;;;GASG;AACH,MAAM,MAAM,mBAAmB,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@codefast/di-testing",
3
- "version": "0.0.0",
3
+ "version": "0.1.0",
4
4
  "description": "Solitary and sociable auto-mocking test beds for @codefast/di",
5
5
  "keywords": [
6
6
  "auto-mock",
@@ -132,8 +132,8 @@
132
132
  "expect-type": "^1.4.0",
133
133
  "typescript": "^7.0.2",
134
134
  "vitest": "^4.1.11",
135
- "@codefast/typescript-config": "0.8.0",
136
- "@codefast/di": "0.7.1"
135
+ "@codefast/di": "0.7.1",
136
+ "@codefast/typescript-config": "0.8.0"
137
137
  },
138
138
  "peerDependencies": {
139
139
  "@codefast/di": ">=0.7.0"
@@ -10,6 +10,8 @@ import { NotInjectableError } from "#/errors/errors";
10
10
  * @remarks Mirrors di's own fallback: a class with no constructor metadata is fine as long as its
11
11
  * constructor takes no parameters, which keeps zero-arg and accessor-only classes testable without
12
12
  * `@injectable`. A parameterful constructor with no metadata is a {@link NotInjectableError}.
13
+ *
14
+ * @since 0.1.0
13
15
  */
14
16
  export function scanDependencies(target: Constructor, reader: MetadataReader): ReadonlyArray<DependencySlot> {
15
17
  const constructorMetadata = reader.getConstructorMetadata(target);
@@ -25,6 +27,8 @@ export function scanDependencies(target: Constructor, reader: MetadataReader): R
25
27
  /**
26
28
  * What a sociable scan finds: the slots to mock, the exposed classes the unit actually reaches, and
27
29
  * the constrained slots those classes are injected through.
30
+ *
31
+ * @since 0.1.0
28
32
  */
29
33
  export interface SociableScan {
30
34
  readonly mockSlots: ReadonlyArray<DependencySlot>;
@@ -39,6 +43,8 @@ export interface SociableScan {
39
43
  *
40
44
  * @remarks Class identity is what exposure follows — a `Token`-keyed dependency is always mocked,
41
45
  * treating tokens as the declared boundary between the logic under test and the outside world.
46
+ *
47
+ * @since 0.1.0
42
48
  */
43
49
  export function scanSociableDependencies(
44
50
  target: Constructor,
@@ -13,6 +13,8 @@ import type { MockFactory } from "#/mocking/mock-factory";
13
13
  *
14
14
  * @remarks A stub's `setup` runs once per compile, so two beds built from one builder never share
15
15
  * seeded spies.
16
+ *
17
+ * @since 0.1.0
16
18
  */
17
19
  export type MockOverride =
18
20
  | { readonly kind: "stub"; readonly setup: (mock: MockFactory) => unknown }
@@ -22,6 +24,8 @@ export type MockOverride =
22
24
 
23
25
  /**
24
26
  * Normalized slot criteria an override or a `mocks.get` lookup addresses one binding slot with.
27
+ *
28
+ * @since 0.1.0
25
29
  */
26
30
  export interface SlotCriteria {
27
31
  readonly name: string | undefined;
@@ -31,6 +35,8 @@ export interface SlotCriteria {
31
35
  /**
32
36
  * One override registration: how a dependency is supplied, and which slot it targets (none = every
33
37
  * slot of the token that has no more specific override).
38
+ *
39
+ * @since 0.1.0
34
40
  */
35
41
  export interface SlottedOverride {
36
42
  readonly criteria: SlotCriteria | undefined;
@@ -39,11 +45,15 @@ export interface SlottedOverride {
39
45
 
40
46
  /**
41
47
  * What one bound entry was supplied with — only `auto` and `stub` entries carry a mock surface.
48
+ *
49
+ * @since 0.1.0
42
50
  */
43
51
  export type BoundMockKind = "auto" | "stub" | "value" | "absent" | "all" | "exposed";
44
52
 
45
53
  /**
46
54
  * One bound value `mocks` can look up: its slot criteria, the value, and how it was supplied.
55
+ *
56
+ * @since 0.1.0
47
57
  */
48
58
  export interface BoundMock {
49
59
  readonly criteria: SlotCriteria | undefined;
@@ -59,6 +69,8 @@ const ALL_ELEMENT_SLOT_PREFIX = "di-testing:all:";
59
69
  *
60
70
  * @remarks Tags are copied and deduplicated by identity — di interns each `(key, value)` pair, so a
61
71
  * repeated pair is the same object.
72
+ *
73
+ * @since 0.1.0
62
74
  */
63
75
  export function normalizeCriteria(options: InjectOptions | undefined): SlotCriteria | undefined {
64
76
  if (options === undefined) {
@@ -74,6 +86,8 @@ export function normalizeCriteria(options: InjectOptions | undefined): SlotCrite
74
86
 
75
87
  /**
76
88
  * Returns whether two criteria address the same slot — equal name and the same tag set.
89
+ *
90
+ * @since 0.1.0
77
91
  */
78
92
  export function criteriaEquals(left: SlotCriteria, right: SlotCriteria): boolean {
79
93
  return left.name === right.name && tagSetEquals(left.tags, right.tags);
@@ -134,6 +148,8 @@ function acceptsAll(slot: DependencySlot): boolean {
134
148
  * An override that matches nothing is an {@link UndeclaredDependencyError}; `.absent()` on a
135
149
  * required slot or `.usingAll()` with no unconstrained `injectAll()` slot is an
136
150
  * {@link OverrideMismatchError}.
151
+ *
152
+ * @since 0.1.0
137
153
  */
138
154
  export function bindMocks(
139
155
  container: Container,
@@ -5,6 +5,8 @@
5
5
  *
6
6
  * @remarks Mirrors `@codefast/di`'s own `DiError` shape rather than extending it, so a caller can
7
7
  * catch testing-setup failures separately from resolution failures.
8
+ *
9
+ * @since 0.1.0
8
10
  */
9
11
  export abstract class TestingError extends Error {
10
12
  abstract readonly code: string;
@@ -17,6 +19,8 @@ export abstract class TestingError extends Error {
17
19
 
18
20
  /**
19
21
  * A scanned class takes constructor parameters but carries no `@injectable` metadata.
22
+ *
23
+ * @since 0.1.0
20
24
  */
21
25
  export class NotInjectableError extends TestingError {
22
26
  readonly code = "NOT_INJECTABLE";
@@ -35,6 +39,8 @@ export class NotInjectableError extends TestingError {
35
39
  *
36
40
  * @remarks Almost always a typo or a stale token reference; failing loudly beats silently binding an
37
41
  * unused constant or returning `undefined`.
42
+ *
43
+ * @since 0.1.0
38
44
  */
39
45
  export class UndeclaredDependencyError extends TestingError {
40
46
  readonly code = "UNDECLARED_DEPENDENCY";
@@ -48,7 +54,11 @@ export class UndeclaredDependencyError extends TestingError {
48
54
  }
49
55
  }
50
56
 
51
- /** What a sealed entry was supplied with, naming the one cause a lookup error should report. */
57
+ /**
58
+ * What a sealed entry was supplied with, naming the one cause a lookup error should report.
59
+ *
60
+ * @since 0.1.0
61
+ */
52
62
  export type SealedCause = "value" | "absent" | "all" | "exposed";
53
63
 
54
64
  const SEALED_MESSAGES: Readonly<Record<SealedCause, string>> = {
@@ -63,6 +73,8 @@ const SEALED_MESSAGES: Readonly<Record<SealedCause, string>> = {
63
73
  *
64
74
  * @remarks `.using()`, `.absent()`, and `.usingAll()` seal the value, and an exposed class is real —
65
75
  * none of them carries a mock surface, so handing them back typed as `Mocked` would lie.
76
+ *
77
+ * @since 0.1.0
66
78
  */
67
79
  export class SealedDependencyError extends TestingError {
68
80
  readonly code = "SEALED_DEPENDENCY";
@@ -77,6 +89,8 @@ export class SealedDependencyError extends TestingError {
77
89
  /**
78
90
  * An override whose shape does not fit the slot it targets — `.absent()` on a required dependency,
79
91
  * or `.usingAll()` where no unconstrained `injectAll()` slot exists.
92
+ *
93
+ * @since 0.1.0
80
94
  */
81
95
  export class OverrideMismatchError extends TestingError {
82
96
  readonly code = "OVERRIDE_MISMATCH";
@@ -91,6 +105,8 @@ export class OverrideMismatchError extends TestingError {
91
105
  /**
92
106
  * A sociable bed's exposure could not be honoured — the class is unreachable, already the unit, or
93
107
  * was asked for without having been exposed.
108
+ *
109
+ * @since 0.1.0
94
110
  */
95
111
  export class ExposureError extends TestingError {
96
112
  readonly code = "EXPOSURE";
@@ -13,6 +13,8 @@ import type { Spy } from "#/mocking/spy";
13
13
  *
14
14
  * @typeParam Dependency - The dependency type being mocked.
15
15
  * @typeParam Backend - The spy type the active mock factory produces.
16
+ *
17
+ * @since 0.1.0
16
18
  */
17
19
  export type Mocked<Dependency, Backend extends MockFunction = Spy> = Dependency extends (
18
20
  ...args: infer Args
@@ -33,6 +35,8 @@ export type Mocked<Dependency, Backend extends MockFunction = Spy> = Dependency
33
35
  * optional so only the members a test cares about need spelling out.
34
36
  *
35
37
  * @typeParam Dependency - The dependency type being partially stubbed.
38
+ *
39
+ * @since 0.1.0
36
40
  */
37
41
  export type DeepPartial<Dependency> = Dependency extends (...args: Array<never>) => unknown
38
42
  ? Dependency
@@ -43,6 +47,8 @@ export type DeepPartial<Dependency> = Dependency extends (...args: Array<never>)
43
47
  /**
44
48
  * The key an auto-mock answers with its reset routine, clearing the root spy, every materialized
45
49
  * member, and the spies of its seed.
50
+ *
51
+ * @since 0.1.0
46
52
  */
47
53
  export const MOCK_RESET: unique symbol = Symbol("di-testing:mock-reset");
48
54
 
@@ -107,6 +113,8 @@ function seedProvides(seed: object, key: PropertyKey): boolean {
107
113
  *
108
114
  * @typeParam Dependency - The dependency type being mocked.
109
115
  * @typeParam Backend - The spy type the factory produces, threaded into the returned `Mocked` view.
116
+ *
117
+ * @since 0.1.0
110
118
  */
111
119
  export function createAutoMock<Dependency, Backend extends MockFunction = Spy>(
112
120
  mockFactory: MockFactory<Backend>,
@@ -8,6 +8,8 @@ import { createSpy } from "#/mocking/spy";
8
8
  *
9
9
  * @remarks Deliberately structural so any backend qualifies: the built-in {@link Spy}, a Vitest
10
10
  * `vi.fn()`, a `jest.fn()`, or a Sinon stub all satisfy it.
11
+ *
12
+ * @since 0.1.0
11
13
  */
12
14
  export type MockFunction = (...args: ReadonlyArray<unknown>) => unknown;
13
15
 
@@ -20,10 +22,14 @@ export type MockFunction = (...args: ReadonlyArray<unknown>) => unknown;
20
22
  * with no adapter package and no module augmentation.
21
23
  *
22
24
  * @typeParam Backend - The spy type one factory call produces; defaults to the loose callable.
25
+ *
26
+ * @since 0.1.0
23
27
  */
24
28
  export type MockFactory<Backend extends MockFunction = MockFunction> = () => Backend;
25
29
 
26
30
  /**
27
31
  * The default `MockFactory` — one built-in {@link Spy} per call, with no test-framework dependency.
32
+ *
33
+ * @since 0.1.0
28
34
  */
29
35
  export const defaultMockFactory: MockFactory<Spy> = () => createSpy();
@@ -2,6 +2,8 @@
2
2
 
3
3
  /**
4
4
  * One recorded invocation's outcome — a returned value or a thrown error.
5
+ *
6
+ * @since 0.1.0
5
7
  */
6
8
  export interface SpyResult {
7
9
  readonly type: "return" | "throw";
@@ -12,6 +14,8 @@ export interface SpyResult {
12
14
  * The call log a spy exposes for assertions.
13
15
  *
14
16
  * @typeParam Args - The spy's argument tuple.
17
+ *
18
+ * @since 0.1.0
15
19
  */
16
20
  export interface SpyState<Args extends ReadonlyArray<unknown>> {
17
21
  readonly calls: ReadonlyArray<Args>;
@@ -24,6 +28,8 @@ export interface SpyState<Args extends ReadonlyArray<unknown>> {
24
28
  *
25
29
  * @remarks `Return` defaults to `any` so a spy drops into any typed method slot, exactly as Vitest's
26
30
  * own mock type does — the package's one deliberate `any`.
31
+ *
32
+ * @since 0.1.0
27
33
  */
28
34
  export interface Spy<Args extends ReadonlyArray<unknown> = ReadonlyArray<unknown>, Return = any> {
29
35
  (...args: Args): Return;
@@ -40,6 +46,8 @@ export interface Spy<Args extends ReadonlyArray<unknown> = ReadonlyArray<unknown
40
46
 
41
47
  /**
42
48
  * Creates a fresh zero-dependency spy that records its calls and returns `undefined` until configured.
49
+ *
50
+ * @since 0.1.0
43
51
  */
44
52
  export function createSpy(): Spy {
45
53
  const calls: Array<ReadonlyArray<unknown>> = [];
@@ -17,6 +17,8 @@ import type { InjectionIdentifier } from "#/types";
17
17
  *
18
18
  * @typeParam Backend - The spy type the mock factory produces; it flows into every `Mocked` member,
19
19
  * `mocks.get`, and the `.stub` callback, so `() => vi.fn()` yields Vitest's own mock typing.
20
+ *
21
+ * @since 0.1.0
20
22
  */
21
23
  export interface TestBedOptions<Backend extends MockFunction = Spy> {
22
24
  /** Spy factory each auto-mock property is materialized with; defaults to the built-in spy. */
@@ -31,6 +33,8 @@ export interface TestBedOptions<Backend extends MockFunction = Spy> {
31
33
  * @typeParam Dependency - The dependency's value type.
32
34
  * @typeParam Owner - The builder the chain returns to.
33
35
  * @typeParam Backend - The spy type the bed's mock factory produces.
36
+ *
37
+ * @since 0.1.0
34
38
  */
35
39
  export interface MockOverrideBuilder<Dependency, Owner, Backend extends MockFunction = Spy> {
36
40
  /**
@@ -54,6 +58,8 @@ export interface MockOverrideBuilder<Dependency, Owner, Backend extends MockFunc
54
58
 
55
59
  /**
56
60
  * What a builder's prepare step hands the compile template: the container and the bound mock entries.
61
+ *
62
+ * @since 0.1.0
57
63
  */
58
64
  export interface PreparedBed {
59
65
  readonly container: Container;
@@ -69,6 +75,8 @@ export interface PreparedBed {
69
75
  *
70
76
  * @typeParam Class - The class under test.
71
77
  * @typeParam Backend - The spy type the bed's mock factory produces.
78
+ *
79
+ * @since 0.1.0
72
80
  */
73
81
  export abstract class BedBuilder<Class, Backend extends MockFunction = Spy> {
74
82
  protected readonly target: Constructor<Class>;
@@ -23,6 +23,8 @@ import type { InjectionIdentifier } from "#/types";
23
23
  *
24
24
  * @typeParam Class - The class under test.
25
25
  * @typeParam Backend - The spy type the bed's mock factory produces.
26
+ *
27
+ * @since 0.1.0
26
28
  */
27
29
  export interface SociableTestBedBuilder<Class, Backend extends MockFunction = Spy> {
28
30
  /** Keeps a class-keyed collaborator real; its own dependencies follow the same exposure rules. */
@@ -46,6 +48,8 @@ type PreparedSociableBed = PreparedBed & { readonly realClasses: ReadonlySet<Con
46
48
  *
47
49
  * @typeParam Class - The class under test.
48
50
  * @typeParam Backend - The spy type the bed's mock factory produces.
51
+ *
52
+ * @since 0.1.0
49
53
  */
50
54
  export class SociableBuilder<Class, Backend extends MockFunction = Spy>
51
55
  extends BedBuilder<Class, Backend>
@@ -18,6 +18,8 @@ import type { InjectionIdentifier } from "#/types";
18
18
  *
19
19
  * @typeParam Class - The class under test.
20
20
  * @typeParam Backend - The spy type the bed's mock factory produces.
21
+ *
22
+ * @since 0.1.0
21
23
  */
22
24
  export interface SolitaryTestBedBuilder<Class, Backend extends MockFunction = Spy> {
23
25
  /** Replaces the auto-mock for one dependency with a hand-written stub or a concrete value. */
@@ -36,6 +38,8 @@ export interface SolitaryTestBedBuilder<Class, Backend extends MockFunction = Sp
36
38
  *
37
39
  * @typeParam Class - The class under test.
38
40
  * @typeParam Backend - The spy type the bed's mock factory produces.
41
+ *
42
+ * @since 0.1.0
39
43
  */
40
44
  export class SolitaryBuilder<Class, Backend extends MockFunction = Spy>
41
45
  extends BedBuilder<Class, Backend>
@@ -12,6 +12,8 @@ import type { SolitaryTestBedBuilder } from "#/test-bed/solitary-builder";
12
12
 
13
13
  /**
14
14
  * The factory surface for building isolated units under test.
15
+ *
16
+ * @since 0.1.0
15
17
  */
16
18
  export interface TestBedStatic {
17
19
  /**
@@ -43,6 +45,8 @@ export interface TestBedStatic {
43
45
  *
44
46
  * @remarks `solitary` and `sociable` record the target and options only; nothing is instantiated
45
47
  * until `compile()`.
48
+ *
49
+ * @since 0.1.0
46
50
  */
47
51
  export const TestBed: TestBedStatic = {
48
52
  solitary<Class, Backend extends MockFunction = Spy>(