@ddd-ts/shape 0.0.0-feat.june-improvements.c0df263 → 0.0.0-feat.shape.ee0e705

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.
@@ -0,0 +1,89 @@
1
+ import { Trait } from "@ddd-ts/traits";
2
+ type Constructor = new (...args: any[]) => any;
3
+ type PrimitiveShape = NumberConstructor | StringConstructor | BooleanConstructor | DateConstructor | BigIntConstructor;
4
+ type PrimitiveShapeToPrimitive<T extends PrimitiveShape> = T extends NumberConstructor ? number : T extends StringConstructor ? string : T extends BooleanConstructor ? boolean : T extends DateConstructor ? Date : never;
5
+ type SerializedShape<S> = S extends PrimitiveShape ? PrimitiveShapeToPrimitive<S> : S extends {
6
+ optional: infer U;
7
+ } ? SerializedShape<U> | undefined : S extends Constructor & {
8
+ deserialize(serialized: infer U): any;
9
+ } ? U : S extends Array<infer U> ? Array<SerializedShape<U>> : S extends readonly [...any[]] ? {
10
+ [K in keyof S]: SerializedShape<S[K]>;
11
+ } : S extends Record<string, any> ? {
12
+ [K in keyof S]: SerializedShape<S[K]>;
13
+ } : any;
14
+ type RuntimeShape<S> = S extends PrimitiveShape ? PrimitiveShapeToPrimitive<S> : S extends {
15
+ optional: infer U;
16
+ } ? RuntimeShape<U> : S extends Constructor ? InstanceType<S> : S extends Array<infer U> ? Array<RuntimeShape<U>> : S extends readonly [...any[]] ? {
17
+ [K in keyof S]: RuntimeShape<S[K]>;
18
+ } : S extends Record<string, any> ? {
19
+ [K in keyof S]: RuntimeShape<S[K]>;
20
+ } : never;
21
+ export declare const Shaped: <S>(shape: S) => {
22
+ factory: (base: import("@ddd-ts/traits").Constructor<{}, {}>) => ((abstract new (props: RuntimeShape<S>) => {
23
+ serialize(): SerializedShape<S>;
24
+ }) & {
25
+ shape: S;
26
+ deserialize<T extends Constructor>(this: T, serialized: SerializedShape<S>): InstanceType<T>;
27
+ }) & (new (props: RuntimeShape<S>) => {
28
+ serialize(): SerializedShape<S>;
29
+ } & MergedProps<S>);
30
+ superTraits: Trait<any>[];
31
+ };
32
+ type MergedProps<S> = S extends Constructor & {
33
+ shape: any;
34
+ } ? {
35
+ value: InstanceType<S>;
36
+ } : S extends {
37
+ optional: infer U extends Constructor & {
38
+ shape: any;
39
+ };
40
+ } ? {
41
+ value: InstanceType<U> | undefined;
42
+ } : S extends PrimitiveShape ? {
43
+ value: RuntimeShape<S>;
44
+ } : S extends {
45
+ optional: infer U extends PrimitiveShape;
46
+ } ? {
47
+ value: RuntimeShape<U> | undefined;
48
+ } : S extends Array<any> ? {
49
+ value: RuntimeShape<S>;
50
+ } : S extends {
51
+ optional: infer U extends Array<any>;
52
+ } ? {
53
+ value: RuntimeShape<U> | undefined;
54
+ } : S extends readonly [...any[]] ? {
55
+ value: RuntimeShape<S>;
56
+ } : S extends {
57
+ optional: infer U extends readonly [...any[]];
58
+ } ? {
59
+ value: RuntimeShape<U> | undefined;
60
+ } : S extends {
61
+ optional: infer U;
62
+ } ? {
63
+ value: RuntimeShape<U> | undefined;
64
+ } : RuntimeShape<S>;
65
+ export declare const Shape: <S>(shape: S) => (new (param: import("@ddd-ts/traits").UnionToIntersection<RuntimeShape<S>>) => import("@ddd-ts/traits").UnionToIntersection<{
66
+ serialize(): SerializedShape<S>;
67
+ } & MergedProps<S>>) & {
68
+ prototype: any;
69
+ shape: S;
70
+ deserialize: <T extends Constructor>(this: T, serialized: SerializedShape<S>) => InstanceType<T>;
71
+ } & {
72
+ __traits__: [{
73
+ factory: (base: import("@ddd-ts/traits").Constructor<{}, {}>) => ((abstract new (props: RuntimeShape<S>) => {
74
+ serialize(): SerializedShape<S>;
75
+ }) & {
76
+ shape: S;
77
+ deserialize<T extends Constructor>(this: T, serialized: SerializedShape<S>): InstanceType<T>;
78
+ }) & (new (props: RuntimeShape<S>) => {
79
+ serialize(): SerializedShape<S>;
80
+ } & MergedProps<S>);
81
+ superTraits: Trait<any>[];
82
+ }];
83
+ __traits_props__: import("@ddd-ts/traits").UnionToIntersection<RuntimeShape<S>>;
84
+ };
85
+ export declare const Optional: <S>(shape: S) => {
86
+ optional: S;
87
+ };
88
+ export {};
89
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE/C,KAAK,WAAW,GAAG,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;AAE/C,KAAK,cAAc,GAChB,iBAAiB,GACjB,iBAAiB,GACjB,kBAAkB,GAClB,eAAe,GACf,iBAAiB,CAAC;AAErB,KAAK,yBAAyB,CAAC,CAAC,SAAS,cAAc,IACtD,CAAC,SAAS,iBAAiB,GACxB,MAAM,GACN,CAAC,SAAS,iBAAiB,GAC3B,MAAM,GACN,CAAC,SAAS,kBAAkB,GAC5B,OAAO,GACP,CAAC,SAAS,eAAe,GACzB,IAAI,GACJ,KAAK,CAAC;AAEV,KAAK,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS,cAAc,GAC/C,yBAAyB,CAAC,CAAC,CAAC,GAC5B,CAAC,SAAS;IAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;CAAE,GAC/B,eAAe,CAAC,CAAC,CAAC,GAAG,SAAS,GAC9B,CAAC,SAAS,WAAW,GAAG;IAAE,WAAW,CAAC,UAAU,EAAE,MAAM,CAAC,GAAG,GAAG,CAAA;CAAE,GACjE,CAAC,GACD,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACxB,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GACzB,CAAC,SAAS,SAAS,CAAC,GAAG,GAAG,EAAE,CAAC,GAC7B;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACzC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACzC,GAAG,CAAC;AAEP,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,cAAc,GAC5C,yBAAyB,CAAC,CAAC,CAAC,GAC5B,CAAC,SAAS;IAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;CAAE,GAC/B,YAAY,CAAC,CAAC,CAAC,GACf,CAAC,SAAS,WAAW,GACrB,YAAY,CAAC,CAAC,CAAC,GACf,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACxB,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GACtB,CAAC,SAAS,SAAS,CAAC,GAAG,GAAG,EAAE,CAAC,GAC7B;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACtC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC7B;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GACtC,KAAK,CAAC;AAgIT,eAAO,MAAM,MAAM;;;;;;;;;;CA8BhB,CAAC;AAEJ,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,WAAW,GAAG;IAAE,KAAK,EAAE,GAAG,CAAA;CAAE,GACzD;IAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;CAAE,GAC1B,CAAC,SAAS;IAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,WAAW,GAAG;QAAE,KAAK,EAAE,GAAG,CAAA;KAAE,CAAA;CAAE,GACpE;IAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;CAAE,GACtC,CAAC,SAAS,cAAc,GACxB;IAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;CAAE,GAC1B,CAAC,SAAS;IAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,cAAc,CAAA;CAAE,GACtD;IAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;CAAE,GACtC,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,GACpB;IAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;CAAE,GAC1B,CAAC,SAAS;IAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,KAAK,CAAC,GAAG,CAAC,CAAA;CAAE,GAClD;IAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;CAAE,GACtC,CAAC,SAAS,SAAS,CAAC,GAAG,GAAG,EAAE,CAAC,GAC7B;IAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAA;CAAE,GAC1B,CAAC,SAAS;IAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,SAAS,CAAC,GAAG,GAAG,EAAE,CAAC,CAAA;CAAE,GAC3D;IAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;CAAE,GACtC,CAAC,SAAS;IAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;CAAE,GAC/B;IAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;CAAE,GACtC,YAAY,CAAC,CAAC,CAAC,CAAC;AAEnB,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;CAAyC,CAAC;AAC5D,eAAO,MAAM,QAAQ;;CAAyC,CAAC"}
package/dist/index.js CHANGED
@@ -4,6 +4,7 @@ exports.Optional = exports.Shape = exports.Shaped = void 0;
4
4
  const traits_1 = require("@ddd-ts/traits");
5
5
  function serialize(shape, runtime) {
6
6
  if (shape === Number) {
7
+ shape;
7
8
  return runtime;
8
9
  }
9
10
  if (shape === Boolean) {
@@ -78,7 +79,7 @@ function deserialize(shape, serialized) {
78
79
  }
79
80
  return deserialized;
80
81
  }
81
- function isPrimitiveShape(shape) {
82
+ function isNested(shape) {
82
83
  const isPrimitive = shape === Number ||
83
84
  shape === Boolean ||
84
85
  shape === String ||
@@ -92,18 +93,16 @@ function isPrimitiveShape(shape) {
92
93
  if (Array.isArray(shape)) {
93
94
  return true;
94
95
  }
95
- const isWrappingPrimitive = shape?.shape
96
- ? isPrimitiveShape(shape.shape)
97
- : false;
96
+ const isWrappingPrimitive = shape?.shape ? isNested(shape.shape) : false;
98
97
  return isWrappingPrimitive;
99
98
  }
100
99
  const Shaped = (shape) => (0, traits_1.Trait)((base) => {
101
- const primitive = isPrimitiveShape(shape);
100
+ const nested = isNested(shape);
102
101
  class Intermediate extends base {
103
102
  static shape = shape;
104
103
  constructor(props) {
105
104
  super(props);
106
- if (primitive) {
105
+ if (nested) {
107
106
  this.value = props;
108
107
  }
109
108
  else {
@@ -112,12 +111,11 @@ const Shaped = (shape) => (0, traits_1.Trait)((base) => {
112
111
  }
113
112
  serialize() {
114
113
  const { serialize: _, ...props } = this;
115
- return serialize(shape, primitive ? this.value : props);
114
+ return serialize(shape, nested ? this.value : props);
116
115
  }
117
116
  static deserialize(serialized) {
118
117
  return new this(deserialize(shape, serialized));
119
118
  }
120
- ensureValidity() { }
121
119
  }
122
120
  return Intermediate;
123
121
  });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.spec.d.ts","sourceRoot":"","sources":["../src/index.spec.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@ddd-ts/shape",
3
- "version": "0.0.0-feat.june-improvements.c0df263",
3
+ "version": "0.0.0-feat.shape.ee0e705",
4
4
  "main": "dist/index.js",
5
- "types": "src/index.ts",
5
+ "types": "dist/index.d.ts",
6
6
  "license": "MIT",
7
7
  "scripts": {
8
8
  "build": "builder",