@ddd-ts/traits 0.0.0-feat.shape.ee0e705 → 0.0.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/dist/index.d.ts CHANGED
@@ -1,7 +1,6 @@
1
- export type Constructor<Props extends {} = any, Result extends {} = {}> = {
2
- new (props: Props): Result;
3
- };
4
- export type Trait<Factory extends <Base extends Constructor>(base: Base) => Constructor = any> = {
1
+ export type Constructor<Props extends any = any, Result extends {} = {}> = new (props: Props) => Result;
2
+ export type AbstractConstructor<Props extends any = any, Result extends {} = {}> = abstract new (props: Props) => Result;
3
+ export type Trait<Factory extends <Base extends AbstractConstructor>(base: Base) => AbstractConstructor = any> = {
5
4
  factory: Factory;
6
5
  superTraits: readonly Trait<any>[];
7
6
  };
@@ -11,7 +10,7 @@ type Explode<T> = {
11
10
  export type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
12
11
  type MergeStaticSide<T extends readonly Trait[]> = UnionToIntersection<Explode<ReturnType<[...T][number]["factory"]>>>;
13
12
  export type MergeInstanceSide<T extends readonly Trait[]> = T extends [] ? {} : T extends never[] ? {} : UnionToIntersection<InstanceType<ReturnType<[...T][number]["factory"]>>>;
14
- export type MergeParameter<T extends readonly Trait[]> = T extends [] ? {} : T extends never[] ? {} : UnionToIntersection<ConstructorParameters<ReturnType<[...T][number]["factory"]>>[0]>;
13
+ export type MergeParameter<T extends readonly Trait[]> = T extends [] ? {} : T extends never[] ? {} : ConstructorParameters<ReturnType<[...T][number]["factory"]>>[0] extends {} ? UnionToIntersection<ConstructorParameters<ReturnType<[...T][number]["factory"]>>[0]> : ConstructorParameters<ReturnType<[...T][number]["factory"]>>[0];
15
14
  export type ApplyTraits<T extends readonly Trait[]> = {
16
15
  new (param: MergeParameter<T>): MergeInstanceSide<T>;
17
16
  } & MergeStaticSide<T>;
@@ -34,9 +33,10 @@ type CheckTraitRequirementsInternal<AppliedTraits extends readonly Trait[], Rema
34
33
  ApplyingTrait
35
34
  ]> ? true : false;
36
35
  } : "success";
37
- export declare function Subtrait<const SuperTraits extends readonly Trait[], Applied extends ApplyTraits<SuperTraits>, const Factory extends (base: Applied, props: ConstructorParameters<Applied>[0]) => Constructor>(superTraits: SuperTraits, factory: Factory): {
36
+ export declare function Subtrait<const SuperTraits extends readonly Trait[], Applied extends ApplyTraits<SuperTraits>, const Factory extends (base: Applied, props: ConstructorParameters<Applied>[0]) => AbstractConstructor>(superTraits: SuperTraits, factory: Factory): {
38
37
  factory: Factory;
39
38
  superTraits: SuperTraits;
39
+ symbol: symbol;
40
40
  };
41
41
  export type Props<T extends {
42
42
  __traits_props__: any;
@@ -47,17 +47,20 @@ 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 const Trait: <T extends (base: Constructor<{}, {}>) => Constructor<any, any>>(factory: T) => {
50
+ export declare const Trait: <T extends (base: AbstractConstructor<{}, {}>) => AbstractConstructor<any, any>>(factory: T) => {
51
51
  factory: T;
52
52
  superTraits: Trait<any>[];
53
+ symbol: symbol;
53
54
  };
54
55
  export declare function implementsTrait<I extends InstanceType<any>, T extends Trait>(instance: I, trait: T): instance is ImplementsTrait<T>;
56
+ export type HasTrait<T extends Trait> = ReturnType<T["factory"]>;
55
57
  export type ImplementsTrait<T extends Trait> = InstanceType<ReturnType<T["factory"]>>;
56
58
  export declare const WithProps: <P extends Record<string, any>>() => {
57
- factory: (base: Constructor<{}, {}>) => {
59
+ factory: (base: AbstractConstructor<{}, {}>) => {
58
60
  new (props: {}): {};
59
61
  } & (new (props: {}) => {} & P);
60
62
  superTraits: Trait<any>[];
63
+ symbol: symbol;
61
64
  };
62
65
  export {};
63
66
  //# sourceMappingURL=index.d.ts.map
@@ -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
@@ -2,9 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WithProps = exports.implementsTrait = exports.Trait = exports.Derive = exports.Subtrait = void 0;
4
4
  function Subtrait(superTraits, factory) {
5
+ const symbol = Symbol();
5
6
  return {
6
7
  factory,
7
8
  superTraits,
9
+ symbol
8
10
  };
9
11
  }
10
12
  exports.Subtrait = Subtrait;
@@ -22,8 +24,7 @@ function Derive(...traits) {
22
24
  exports.Derive = Derive;
23
25
  const Trait = (factory) => {
24
26
  const symbol = Symbol();
25
- factory.symbol = symbol;
26
- return { factory, superTraits: [] };
27
+ return { factory, superTraits: [], symbol };
27
28
  };
28
29
  exports.Trait = Trait;
29
30
  function implementsTrait(instance, trait) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAkFA,SAAgB,QAAQ,CAOtB,WAAwB,EAAE,OAAgB;IAC1C,OAAO;QACL,OAAO;QACP,WAAW;KACZ,CAAC;AACJ,CAAC;AAZD,4BAYC;AAaD,SAAgB,MAAM,CACpB,GAAG,MAAS;IAIZ,IAAI,OAAO,GAAgB;KAAQ,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QAC1B,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;KAClC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;QACzB,OAAe,CAAE,KAAa,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;KAChD;IAED,OAAO,OAAc,CAAC;AACxB,CAAC;AAfD,wBAeC;AACM,MAAM,KAAK,GAAG,CAGnB,OAAU,EACV,EAAE;IACF,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC;IACvB,OAAe,CAAC,MAAM,GAAG,MAAM,CAAC;IACjC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,EAAa,EAAE,CAAC;AACjD,CAAC,CAAC;AARW,QAAA,KAAK,SAQhB;AAEF,SAAgB,eAAe,CAC7B,QAAW,EACX,KAAQ;IAER,OAAQ,QAAgB,CAAC,WAAW,CAAE,KAAa,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;AACvE,CAAC;AALD,0CAKC;AAMM,MAAM,SAAS,GAAG,GAAkC,EAAE,CAC3D,IAAA,aAAK,EAAC,CAAC,IAAI,EAAE,EAAE;IACb,MAAM,YAAa,SAAQ,IAAI;KAAG;IAIlC,OAAO,YAAuC,CAAC;AACjD,CAAC,CAAC,CAAC;AAPQ,QAAA,SAAS,aAOjB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAmFA,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;AAdD,4BAcC;AAaD,SAAgB,MAAM,CACpB,GAAG,MAAS;IAIZ,IAAI,OAAO,GAAgB;KAAS,CAAC;IACrC,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;AAfD,wBAeC;AACM,MAAM,KAAK,GAAG,CAGnB,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;AAPW,QAAA,KAAK,SAOhB;AAEF,SAAgB,eAAe,CAC7B,QAAW,EACX,KAAQ;IAER,OAAQ,QAAgB,CAAC,WAAW,CAAE,KAAa,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;AACvE,CAAC;AALD,0CAKC;AAQM,MAAM,SAAS,GAAG,GAAkC,EAAE,CAC3D,IAAA,aAAK,EAAC,CAAC,IAAI,EAAE,EAAE;IACb,MAAM,YAAa,SAAQ,IAAI;KAAI;IAInC,OAAO,YAAuC,CAAC;AACjD,CAAC,CAAC,CAAC;AAPQ,QAAA,SAAS,aAOjB"}
@@ -83,6 +83,11 @@ describe("Traits", () => {
83
83
  expect(walker.run()).toBe(20);
84
84
  });
85
85
  it("asserts an instance implements a trait", () => {
86
+ const Unused = (0, _1.Trait)((base) => class extends base {
87
+ constructor(props) {
88
+ super(props);
89
+ }
90
+ });
86
91
  class Athlete extends (0, _1.Derive)(Run, Jump) {
87
92
  constructor() {
88
93
  super({ speed: 10, agility: 10 });
@@ -92,6 +97,7 @@ describe("Traits", () => {
92
97
  expect(athlete instanceof Athlete).toBe(true);
93
98
  expect((0, _1.implementsTrait)(athlete, Run)).toBe(true);
94
99
  expect((0, _1.implementsTrait)(athlete, Jump)).toBe(true);
100
+ expect((0, _1.implementsTrait)(athlete, Unused)).toBe(false);
95
101
  const unknown = athlete;
96
102
  if ((0, _1.implementsTrait)(unknown, Run) && (0, _1.implementsTrait)(unknown, Jump)) {
97
103
  // if type error, ensure the type guard works
@@ -372,5 +378,28 @@ describe("Traits", () => {
372
378
  new Athlete({ speed: 10, weigth: 10, wings: 10 });
373
379
  });
374
380
  });
381
+ it('allow abstract traits', () => {
382
+ const SomeTrait = (0, _1.Trait)((base) => {
383
+ class I extends base {
384
+ }
385
+ return I;
386
+ });
387
+ const SomeSubTrait = (0, _1.Subtrait)([SomeTrait], (base, Props) => {
388
+ class I extends base {
389
+ constructor(props) {
390
+ super(props);
391
+ }
392
+ }
393
+ return I;
394
+ });
395
+ class Test extends (0, _1.Derive)(SomeTrait, SomeSubTrait) {
396
+ do() {
397
+ console.log('do');
398
+ }
399
+ }
400
+ new Test({ test: 2 });
401
+ // @ts-expect-error
402
+ new Test({ anything: 2 });
403
+ });
375
404
  });
376
405
  //# 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,14 +1,15 @@
1
1
  {
2
2
  "name": "@ddd-ts/traits",
3
- "version": "0.0.0-feat.shape.ee0e705",
3
+ "version": "0.0.1",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "license": "MIT",
7
7
  "scripts": {
8
- "build": "builder",
9
- "test": "test-runner"
8
+ "build": "tsc",
9
+ "test": "jest --config node_modules/@ddd-ts/tools/jest.config.ts"
10
10
  },
11
11
  "devDependencies": {
12
- "@ddd-ts/dev": "*"
12
+ "@ddd-ts/tools": "0.0.1",
13
+ "@types/jest": "^29.5.12"
13
14
  }
14
- }
15
+ }