@ddd-ts/traits 0.0.17 → 0.0.19

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/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type Constructor<Props = any, Result extends {} = {}> = new (props: Props) => Result;
1
+ export type Constructor<in Props = any, Result extends {} = {}> = new (props: Props) => Result;
2
2
  export type AbstractConstructor<Props = any, Result extends {} = {}> = abstract new (props: Props) => Result;
3
3
  export type Trait<Factory extends <Base extends AbstractConstructor>(base: Base) => AbstractConstructor = any> = {
4
4
  factory: Factory;
@@ -47,6 +47,38 @@ export declare function Derive<R extends Trait[], C extends CheckTraitRequiremen
47
47
  __traits__: R;
48
48
  __traits_props__: MergeParameter<R>;
49
49
  } : C;
50
+ export declare function WithDerivations<B extends AbstractConstructor<any>, R extends Trait[]>(base: B, ...traits: R): CheckTraitRequirementsInternal<[], [{
51
+ factory: () => B;
52
+ superTraits: Trait[];
53
+ symbol: symbol;
54
+ }, ...R]> extends infer T ? T extends CheckTraitRequirementsInternal<[], [{
55
+ factory: () => B;
56
+ superTraits: Trait[];
57
+ symbol: symbol;
58
+ }, ...R]> ? T extends "success" ? (new (param: MergeParameter<[{
59
+ factory: () => B;
60
+ superTraits: Trait[];
61
+ symbol: symbol;
62
+ }, ...R]>) => MergeInstanceSide<[{
63
+ factory: () => B;
64
+ superTraits: Trait[];
65
+ symbol: symbol;
66
+ }, ...R]>) & UnionToIntersection<Explode<ReturnType<[{
67
+ factory: () => B;
68
+ superTraits: Trait[];
69
+ symbol: symbol;
70
+ }, ...R][number]["factory"]>>> & {
71
+ __traits__: [{
72
+ factory: () => B;
73
+ superTraits: Trait[];
74
+ symbol: symbol;
75
+ }, ...R];
76
+ __traits_props__: MergeParameter<[{
77
+ factory: () => B;
78
+ superTraits: Trait[];
79
+ symbol: symbol;
80
+ }, ...R]>;
81
+ } : T : never : never;
50
82
  export declare const Trait: <T extends (base: AbstractConstructor<{}, {}>) => AbstractConstructor<any, any>>(factory: T) => {
51
83
  factory: T;
52
84
  superTraits: Trait[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WithProps = exports.Trait = void 0;
4
4
  exports.Subtrait = Subtrait;
5
5
  exports.Derive = Derive;
6
+ exports.WithDerivations = WithDerivations;
6
7
  exports.implementsTrait = implementsTrait;
7
8
  function Subtrait(superTraits, factory) {
8
9
  const symbol = Symbol();
@@ -23,6 +24,9 @@ function Derive(...traits) {
23
24
  }
24
25
  return current;
25
26
  }
27
+ function WithDerivations(base, ...traits) {
28
+ return Derive((0, exports.Trait)(() => base), ...traits);
29
+ }
26
30
  const Trait = (factory) => {
27
31
  const symbol = Symbol();
28
32
  return { factory, superTraits: [], symbol };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AA4FA,4BAcC;AAaD,wBAeC;AAYD,0CAKC;AA3DD,SAAgB,QAAQ,CAOtB,WAAwB,EAAE,OAAgB;IAC1C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,OAAO;QACL,OAAO;QACP,WAAW;QACX,MAAM;KACP,CAAC;AACJ,CAAC;AAaD,SAAgB,MAAM,CACpB,GAAG,MAAS;IAIZ,IAAI,OAAO,GAAgB;KAAQ,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC1B,OAAe,CAAE,KAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACjD,CAAC;IAED,OAAO,OAAc,CAAC;AACxB,CAAC;AACM,MAAM,KAAK,GAAG,CAKnB,OAAU,EACV,EAAE;IACF,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,EAAa,EAAE,MAAM,EAAE,CAAC;AACzD,CAAC,CAAC;AATW,QAAA,KAAK,SAShB;AAEF,SAAgB,eAAe,CAC7B,QAAW,EACX,KAAQ;IAER,OAAQ,QAAgB,CAAC,WAAW,CAAE,KAAa,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;AACvE,CAAC;AAqBM,MAAM,SAAS,GAAG,GAAkC,EAAE,CAC3D,IAAA,aAAK,EAAC,CAAC,IAAI,EAAE,EAAE;IACb,MAAM,YAAa,SAAQ,IAAI;KAAG;IAQlC,OAAO,YAAuC,CAAC;AACjD,CAAC,CAAC,CAAC;AAXQ,QAAA,SAAS,aAWjB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AA4FA,4BAcC;AAaD,wBAeC;AAED,0CAQC;AAaD,0CAKC;AAtED,SAAgB,QAAQ,CAOtB,WAAwB,EAAE,OAAgB;IAC1C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,OAAO;QACL,OAAO;QACP,WAAW;QACX,MAAM;KACP,CAAC;AACJ,CAAC;AAaD,SAAgB,MAAM,CACpB,GAAG,MAAS;IAIZ,IAAI,OAAO,GAAgB;KAAQ,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC1B,OAAe,CAAE,KAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACjD,CAAC;IAED,OAAO,OAAc,CAAC;AACxB,CAAC;AAED,SAAgB,eAAe,CAG7B,IAAO,EAAE,GAAG,MAAS;IACrB,OAAO,MAAM,CACX,IAAA,aAAK,EAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EACjB,GAAG,MAAM,CACV,CAAC;AACJ,CAAC;AAEM,MAAM,KAAK,GAAG,CAKnB,OAAU,EACV,EAAE;IACF,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,EAAa,EAAE,MAAM,EAAE,CAAC;AACzD,CAAC,CAAC;AATW,QAAA,KAAK,SAShB;AAEF,SAAgB,eAAe,CAC7B,QAAW,EACX,KAAQ;IAER,OAAQ,QAAgB,CAAC,WAAW,CAAE,KAAa,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;AACvE,CAAC;AAqBM,MAAM,SAAS,GAAG,GAAkC,EAAE,CAC3D,IAAA,aAAK,EAAC,CAAC,IAAI,EAAE,EAAE;IACb,MAAM,YAAa,SAAQ,IAAI;KAAG;IAQlC,OAAO,YAAuC,CAAC;AACjD,CAAC,CAAC,CAAC;AAXQ,QAAA,SAAS,aAWjB"}
@@ -378,7 +378,7 @@ describe("Traits", () => {
378
378
  new Athlete({ speed: 10, weigth: 10, wings: 10 });
379
379
  });
380
380
  });
381
- it('allow abstract traits', () => {
381
+ it("allow abstract traits", () => {
382
382
  const SomeTrait = (0, _1.Trait)((base) => {
383
383
  class I extends base {
384
384
  }
@@ -394,12 +394,33 @@ describe("Traits", () => {
394
394
  });
395
395
  class Test extends (0, _1.Derive)(SomeTrait, SomeSubTrait) {
396
396
  do() {
397
- console.log('do');
397
+ console.log("do");
398
398
  }
399
399
  }
400
400
  new Test({ test: 2 });
401
401
  // @ts-expect-error
402
402
  new Test({ anything: 2 });
403
403
  });
404
+ it("allow to derive from a base class", () => {
405
+ class Base {
406
+ params;
407
+ constructor(params) {
408
+ this.params = params;
409
+ }
410
+ }
411
+ const SomeTrait = (0, _1.Trait)((base) => {
412
+ class I extends base {
413
+ }
414
+ return I;
415
+ });
416
+ class Test extends (0, _1.WithDerivations)(Base, SomeTrait) {
417
+ do() {
418
+ console.log("do");
419
+ }
420
+ }
421
+ new Test({ a: "a" });
422
+ // @ts-expect-error
423
+ new Test(2);
424
+ });
404
425
  });
405
426
  //# sourceMappingURL=index.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../src/index.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../src/index.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ddd-ts/traits",
3
- "version": "0.0.17",
3
+ "version": "0.0.19",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "license": "MIT",
@@ -9,7 +9,7 @@
9
9
  "test": "jest --config node_modules/@ddd-ts/tools/jest.config.ts"
10
10
  },
11
11
  "devDependencies": {
12
- "@ddd-ts/tools": "0.0.17",
12
+ "@ddd-ts/tools": "0.0.19",
13
13
  "@types/jest": "^29.5.12"
14
14
  }
15
15
  }