@ddd-ts/shape 0.0.0-test-concurrency.5 → 0.0.0-ts-6-compat.2

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 (123) hide show
  1. package/LICENSE +21 -0
  2. package/dist/_.d.ts +7 -7
  3. package/dist/_.d.ts.map +1 -1
  4. package/dist/_.js +34 -51
  5. package/dist/_.mjs +36 -0
  6. package/dist/addons/microsecond-timestamp.d.ts +24 -0
  7. package/dist/addons/microsecond-timestamp.d.ts.map +1 -0
  8. package/dist/addons/microsecond-timestamp.js +62 -0
  9. package/dist/addons/microsecond-timestamp.mjs +61 -0
  10. package/dist/choice.d.ts +13 -26
  11. package/dist/choice.d.ts.map +1 -1
  12. package/dist/choice.js +43 -47
  13. package/dist/choice.mjs +44 -0
  14. package/dist/class.d.ts +8 -7
  15. package/dist/class.d.ts.map +1 -1
  16. package/dist/class.js +29 -30
  17. package/dist/class.mjs +30 -0
  18. package/dist/deserialization-error.d.ts +32 -0
  19. package/dist/deserialization-error.d.ts.map +1 -0
  20. package/dist/deserialization-error.js +45 -0
  21. package/dist/deserialization-error.mjs +44 -0
  22. package/dist/dict.d.ts +25 -13
  23. package/dist/dict.d.ts.map +1 -1
  24. package/dist/dict.js +46 -44
  25. package/dist/dict.mjs +47 -0
  26. package/dist/discriminated-union.d.ts +16 -17
  27. package/dist/discriminated-union.d.ts.map +1 -1
  28. package/dist/discriminated-union.js +61 -92
  29. package/dist/discriminated-union.mjs +66 -0
  30. package/dist/either.d.ts +56 -12
  31. package/dist/either.d.ts.map +1 -1
  32. package/dist/either.js +50 -61
  33. package/dist/either.mjs +51 -0
  34. package/dist/index.d.ts +2 -0
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +34 -29
  37. package/dist/index.mjs +16 -0
  38. package/dist/literal.d.ts +5 -7
  39. package/dist/literal.d.ts.map +1 -1
  40. package/dist/literal.js +26 -26
  41. package/dist/literal.mjs +27 -0
  42. package/dist/mapping.d.ts +16 -12
  43. package/dist/mapping.d.ts.map +1 -1
  44. package/dist/mapping.js +37 -49
  45. package/dist/mapping.mjs +38 -0
  46. package/dist/multiple.d.ts +10 -100
  47. package/dist/multiple.d.ts.map +1 -1
  48. package/dist/multiple.js +126 -105
  49. package/dist/multiple.mjs +127 -0
  50. package/dist/nothing.d.ts +2 -2
  51. package/dist/nothing.d.ts.map +1 -1
  52. package/dist/nothing.js +18 -18
  53. package/dist/nothing.mjs +19 -0
  54. package/dist/optional.d.ts +12 -14
  55. package/dist/optional.d.ts.map +1 -1
  56. package/dist/optional.js +33 -40
  57. package/dist/optional.mjs +34 -0
  58. package/dist/primitive.d.ts +5 -7
  59. package/dist/primitive.d.ts.map +1 -1
  60. package/dist/primitive.js +29 -29
  61. package/dist/primitive.mjs +30 -0
  62. package/package.json +24 -9
  63. package/dist/_.js.map +0 -1
  64. package/dist/choice.js.map +0 -1
  65. package/dist/choice.spec.d.ts +0 -2
  66. package/dist/choice.spec.d.ts.map +0 -1
  67. package/dist/choice.spec.js +0 -147
  68. package/dist/choice.spec.js.map +0 -1
  69. package/dist/class.js.map +0 -1
  70. package/dist/class.spec.d.ts +0 -2
  71. package/dist/class.spec.d.ts.map +0 -1
  72. package/dist/class.spec.js +0 -39
  73. package/dist/class.spec.js.map +0 -1
  74. package/dist/dict.js.map +0 -1
  75. package/dist/dict.spec.d.ts +0 -2
  76. package/dist/dict.spec.d.ts.map +0 -1
  77. package/dist/dict.spec.js +0 -180
  78. package/dist/dict.spec.js.map +0 -1
  79. package/dist/discriminated-union.js.map +0 -1
  80. package/dist/discriminated-union.spec.d.ts +0 -2
  81. package/dist/discriminated-union.spec.d.ts.map +0 -1
  82. package/dist/discriminated-union.spec.js +0 -262
  83. package/dist/discriminated-union.spec.js.map +0 -1
  84. package/dist/either.js.map +0 -1
  85. package/dist/either.spec.d.ts +0 -2
  86. package/dist/either.spec.d.ts.map +0 -1
  87. package/dist/either.spec.js +0 -211
  88. package/dist/either.spec.js.map +0 -1
  89. package/dist/index.js.map +0 -1
  90. package/dist/literal.js.map +0 -1
  91. package/dist/literal.spec.d.ts +0 -2
  92. package/dist/literal.spec.d.ts.map +0 -1
  93. package/dist/literal.spec.js +0 -162
  94. package/dist/literal.spec.js.map +0 -1
  95. package/dist/mapping.js.map +0 -1
  96. package/dist/mapping.spec.d.ts +0 -2
  97. package/dist/mapping.spec.d.ts.map +0 -1
  98. package/dist/mapping.spec.js +0 -207
  99. package/dist/mapping.spec.js.map +0 -1
  100. package/dist/multiple.js.map +0 -1
  101. package/dist/multiple.spec.d.ts +0 -2
  102. package/dist/multiple.spec.d.ts.map +0 -1
  103. package/dist/multiple.spec.js +0 -207
  104. package/dist/multiple.spec.js.map +0 -1
  105. package/dist/nothing.js.map +0 -1
  106. package/dist/nothing.spec.d.ts +0 -2
  107. package/dist/nothing.spec.d.ts.map +0 -1
  108. package/dist/nothing.spec.js +0 -172
  109. package/dist/nothing.spec.js.map +0 -1
  110. package/dist/optional.js.map +0 -1
  111. package/dist/optional.spec.d.ts +0 -2
  112. package/dist/optional.spec.d.ts.map +0 -1
  113. package/dist/optional.spec.js +0 -172
  114. package/dist/optional.spec.js.map +0 -1
  115. package/dist/primitive.js.map +0 -1
  116. package/dist/primitive.spec.d.ts +0 -2
  117. package/dist/primitive.spec.d.ts.map +0 -1
  118. package/dist/primitive.spec.js +0 -162
  119. package/dist/primitive.spec.js.map +0 -1
  120. package/dist/test.d.ts +0 -36
  121. package/dist/test.d.ts.map +0 -1
  122. package/dist/test.js +0 -45
  123. package/dist/test.js.map +0 -1
package/dist/class.js CHANGED
@@ -1,31 +1,30 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Class = void 0;
4
- const _1 = require("./_");
5
- const Class = (of, base = _1.Empty) => {
6
- class $Class extends base {
7
- value;
8
- static $shape = "class";
9
- static $of = of;
10
- constructor(value) {
11
- super();
12
- this.value = value;
13
- }
14
- static deserialize(value) {
15
- return new this(of.deserialize(value));
16
- }
17
- serialize() {
18
- return this.value.serialize();
19
- }
20
- static $deserialize(value) {
21
- return of.deserialize(value);
22
- }
23
- static $serialize(value) {
24
- return value.serialize();
25
- }
26
- static $inline;
27
- }
28
- return $Class;
1
+ const require__ = require('./_.js');
2
+
3
+ //#region src/class.ts
4
+ const Class = (of, base = require__.Empty) => {
5
+ class $Class extends base {
6
+ static $shape = "class";
7
+ static $of = of;
8
+ constructor(value) {
9
+ super();
10
+ this.value = value;
11
+ }
12
+ static deserialize(value) {
13
+ return new this(of.deserialize(value));
14
+ }
15
+ serialize() {
16
+ return this.value.serialize();
17
+ }
18
+ static $deserialize(value) {
19
+ return of.deserialize(value);
20
+ }
21
+ static $serialize(value) {
22
+ return value.serialize();
23
+ }
24
+ static $inline;
25
+ }
26
+ return $Class;
29
27
  };
30
- exports.Class = Class;
31
- //# sourceMappingURL=class.js.map
28
+
29
+ //#endregion
30
+ exports.Class = Class;
package/dist/class.mjs ADDED
@@ -0,0 +1,30 @@
1
+ import { Empty } from "./_.mjs";
2
+
3
+ //#region src/class.ts
4
+ const Class = (of, base = Empty) => {
5
+ class $Class extends base {
6
+ static $shape = "class";
7
+ static $of = of;
8
+ constructor(value) {
9
+ super();
10
+ this.value = value;
11
+ }
12
+ static deserialize(value) {
13
+ return new this(of.deserialize(value));
14
+ }
15
+ serialize() {
16
+ return this.value.serialize();
17
+ }
18
+ static $deserialize(value) {
19
+ return of.deserialize(value);
20
+ }
21
+ static $serialize(value) {
22
+ return value.serialize();
23
+ }
24
+ static $inline;
25
+ }
26
+ return $Class;
27
+ };
28
+
29
+ //#endregion
30
+ export { Class };
@@ -0,0 +1,32 @@
1
+ export type DeserializationErrorContext = {
2
+ expected?: string;
3
+ rejectedValue?: unknown;
4
+ registryEntry?: {
5
+ name: string;
6
+ version?: number;
7
+ };
8
+ };
9
+ export declare class DeserializationError extends Error {
10
+ readonly path: string[];
11
+ readonly rejectedValue: unknown;
12
+ readonly expected?: string;
13
+ registryEntry?: {
14
+ name: string;
15
+ version?: number;
16
+ };
17
+ readonly cause?: unknown;
18
+ constructor(message: string, options?: {
19
+ path?: string[];
20
+ rejectedValue?: unknown;
21
+ expected?: string;
22
+ registryEntry?: {
23
+ name: string;
24
+ version?: number;
25
+ };
26
+ cause?: unknown;
27
+ });
28
+ prependPath(segment: string): DeserializationError;
29
+ private unprefixedMessage;
30
+ static wrap(error: unknown, segment: string, rejectedValue?: unknown): DeserializationError;
31
+ }
32
+ //# sourceMappingURL=deserialization-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deserialization-error.d.ts","sourceRoot":"","sources":["../src/deserialization-error.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,2BAA2B,GAAG;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACpD,CAAC;AAEF,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,SAAkB,KAAK,CAAC,EAAE,OAAO,CAAC;IAElC,YACE,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;QACP,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACnD,KAAK,CAAC,EAAE,OAAO,CAAC;KACZ,EAaP;IAED,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB,CAQjD;IAED,OAAO,CAAC,iBAAiB;IAKzB,MAAM,CAAC,IAAI,CACT,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,OAAO,GACtB,oBAAoB,CAWtB;CACF"}
@@ -0,0 +1,45 @@
1
+
2
+ //#region src/deserialization-error.ts
3
+ var DeserializationError = class DeserializationError extends Error {
4
+ path;
5
+ rejectedValue;
6
+ expected;
7
+ registryEntry;
8
+ cause;
9
+ constructor(message, options = {}) {
10
+ const { path = [], rejectedValue, expected, registryEntry, cause } = options;
11
+ const formattedPath = path.length ? `/${path.join("/")}` : "";
12
+ super(`${message}${formattedPath ? ` (at ${formattedPath})` : ""}`);
13
+ this.name = "DeserializationError";
14
+ this.path = path;
15
+ this.rejectedValue = rejectedValue;
16
+ this.expected = expected;
17
+ this.registryEntry = registryEntry;
18
+ this.cause = cause;
19
+ }
20
+ prependPath(segment) {
21
+ return new DeserializationError(this.unprefixedMessage(), {
22
+ path: [segment, ...this.path],
23
+ rejectedValue: this.rejectedValue,
24
+ expected: this.expected,
25
+ registryEntry: this.registryEntry,
26
+ cause: this.cause ?? this
27
+ });
28
+ }
29
+ unprefixedMessage() {
30
+ const idx = this.message.lastIndexOf(" (at /");
31
+ return idx >= 0 ? this.message.slice(0, idx) : this.message;
32
+ }
33
+ static wrap(error, segment, rejectedValue) {
34
+ if (error instanceof DeserializationError) return error.prependPath(segment);
35
+ const cause = error instanceof Error ? error : void 0;
36
+ return new DeserializationError(cause?.message ?? String(error), {
37
+ path: [segment],
38
+ rejectedValue,
39
+ cause: cause ?? error
40
+ });
41
+ }
42
+ };
43
+
44
+ //#endregion
45
+ exports.DeserializationError = DeserializationError;
@@ -0,0 +1,44 @@
1
+ //#region src/deserialization-error.ts
2
+ var DeserializationError = class DeserializationError extends Error {
3
+ path;
4
+ rejectedValue;
5
+ expected;
6
+ registryEntry;
7
+ cause;
8
+ constructor(message, options = {}) {
9
+ const { path = [], rejectedValue, expected, registryEntry, cause } = options;
10
+ const formattedPath = path.length ? `/${path.join("/")}` : "";
11
+ super(`${message}${formattedPath ? ` (at ${formattedPath})` : ""}`);
12
+ this.name = "DeserializationError";
13
+ this.path = path;
14
+ this.rejectedValue = rejectedValue;
15
+ this.expected = expected;
16
+ this.registryEntry = registryEntry;
17
+ this.cause = cause;
18
+ }
19
+ prependPath(segment) {
20
+ return new DeserializationError(this.unprefixedMessage(), {
21
+ path: [segment, ...this.path],
22
+ rejectedValue: this.rejectedValue,
23
+ expected: this.expected,
24
+ registryEntry: this.registryEntry,
25
+ cause: this.cause ?? this
26
+ });
27
+ }
28
+ unprefixedMessage() {
29
+ const idx = this.message.lastIndexOf(" (at /");
30
+ return idx >= 0 ? this.message.slice(0, idx) : this.message;
31
+ }
32
+ static wrap(error, segment, rejectedValue) {
33
+ if (error instanceof DeserializationError) return error.prependPath(segment);
34
+ const cause = error instanceof Error ? error : void 0;
35
+ return new DeserializationError(cause?.message ?? String(error), {
36
+ path: [segment],
37
+ rejectedValue,
38
+ cause: cause ?? error
39
+ });
40
+ }
41
+ };
42
+
43
+ //#endregion
44
+ export { DeserializationError };
package/dist/dict.d.ts CHANGED
@@ -1,31 +1,43 @@
1
- import { DefinitionOf, Shorthand, Expand, AbstractConstructor, Constructor, Empty } from "./_";
1
+ import { type DefinitionOf, type Shorthand, type Expand, type AbstractConstructor, type Constructor, Empty } from "./_";
2
2
  export type DictShorthand = {
3
3
  [key: string]: Shorthand;
4
4
  };
5
- type Internal<S extends DictShorthand> = {
5
+ type Internal<S extends DictShorthand, B extends AbstractConstructor<{}>> = {
6
6
  Definition: {
7
7
  -readonly [K in keyof S]: DefinitionOf<S[K]>;
8
8
  };
9
- Serialized: {
9
+ Serialized: (B extends {
10
+ $name: infer U;
11
+ } ? {
12
+ $name: U;
13
+ } : {}) & {
10
14
  -readonly [K in keyof S]: ReturnType<DefinitionOf<S[K]>["$serialize"]>;
11
15
  };
16
+ Deserializing: (B extends {
17
+ $name: infer U;
18
+ } ? {
19
+ $name: U;
20
+ } : {}) & {
21
+ -readonly [K in keyof S]: Parameters<DefinitionOf<S[K]>["$deserialize"]>[0];
22
+ };
12
23
  Inline: {
13
24
  -readonly [K in keyof S]: DefinitionOf<S[K]>["$inline"];
14
25
  };
15
26
  };
16
27
  export declare const Dict: <const S extends {
17
28
  [key: string]: any;
18
- }, B extends AbstractConstructor<{}> = typeof Empty, Cache extends Internal<S> = Internal<S>>(of: S, base?: B) => Omit<B, ""> & Omit<(abstract new (...args: any[]) => {
19
- serialize(): Expand<Cache["Serialized"]>;
20
- }) & {
29
+ }, B extends AbstractConstructor<{}> = typeof Empty>(of: S, base?: B) => IDict<S, B>;
30
+ export type IDict<S extends {
31
+ [key: string]: any;
32
+ }, B extends AbstractConstructor<{}> = typeof Empty> = Omit<B, ""> & {
21
33
  $shape: "dict";
22
34
  $of: S;
23
- deserialize<T extends Constructor<any, any[]>>(this: T, value: Expand<Cache["Serialized"]>): InstanceType<T>;
24
- $deserialize<T_1 extends any>(this: T_1, value: Cache["Serialized"]): Cache["Inline"];
25
- $serialize<T_2 extends any>(this: T_2, value: InstanceType<T_2>): Cache["Serialized"];
26
- $inline: Cache["Inline"];
27
- }, ""> & (abstract new (value: Expand<Cache["Inline"]>) => InstanceType<B> & {
28
- serialize(): Expand<Cache["Serialized"]>;
29
- } & Cache["Inline"]);
35
+ deserialize<T extends Constructor>(this: T, value: Expand<Internal<S, B>["Serialized"]>): InstanceType<T>;
36
+ $deserialize<T>(this: T, value: Internal<S, B>["Deserializing"]): Internal<S, B>["Inline"];
37
+ $serialize<T extends Constructor>(this: T, value: InstanceType<T>): Internal<S, B>["Serialized"];
38
+ $inline: Internal<S, B>["Inline"];
39
+ } & (abstract new (value: Expand<Internal<S, B>["Inline"]>) => InstanceType<B> & {
40
+ serialize(): Expand<Internal<S, B>["Serialized"]>;
41
+ } & Internal<S, B>["Inline"]);
30
42
  export {};
31
43
  //# sourceMappingURL=dict.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dict.d.ts","sourceRoot":"","sources":["../src/dict.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,SAAS,EAET,MAAM,EACN,mBAAmB,EACnB,WAAW,EACX,KAAK,EACN,MAAM,KAAK,CAAC;AAEb,MAAM,MAAM,aAAa,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAEzD,KAAK,QAAQ,CAAC,CAAC,SAAS,aAAa,IAAI;IACvC,UAAU,EAAE;QAAE,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAAE,CAAC;IAC7D,UAAU,EAAE;QACV,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;KACvE,CAAC;IACF,MAAM,EAAE;QACN,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;KACxD,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,IAAI,SAKX,CAAC;;GAyDa,CAAC,iDAAY,KAAK,wCAzDhC,CAAC,SAyDa,CAAC,AAxDZ,gDAMgB,GAAG,EAAE;iBAKb,MAAM,CA6CU,KAAK,AA7CT,CAAC,YAAY,CAAC,CAAC;;;;gBAOxB,CAAC,wCAAD,CAAC,AAFR,SACA,MAAM,CAuCc,KAAK,AAvCb,CAAC,YAAY,CAAC,CAAC,GACjC,YAAY,CAAC,CAAC,CAAC;iBAMV,GAAC,oBAAD,GAAC,SAgCoB,KAAK,AA/BpB,CAAC,YAAY,CAAC,GA+BC,KAAK,AA9B1B,CAAC,QAAQ,CAAC;eAYV,GAAC,oBAAD,GAAC,SACA,YAAY,CAAC,AADd,GACe,CAAC,GAiBK,KAAK,AAhB1B,CAAC,YAAY,CAAC;aAgBO,KAAK,AALb,CAAC,QAAQ,CAAC;+BAIxB,MAAM,CACgB,KAAK,AADf,CAAC,QAAQ,CAAC,CAAC;iBA5CjB,MAAM,CA6CU,KAAK,AA7CT,CAAC,YAAY,CAAC,CAAC;oBAgD3C,CAAC"}
1
+ {"version":3,"file":"dict.d.ts","sourceRoot":"","sources":["../src/dict.ts"],"names":[],"mappings":"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"}
package/dist/dict.js CHANGED
@@ -1,45 +1,47 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Dict = void 0;
4
- const _1 = require("./_");
5
- const Dict = (of, base = _1.Empty) => {
6
- class $Dict extends base {
7
- static $shape = "dict";
8
- static $of = of;
9
- constructor(...args) {
10
- super();
11
- Object.assign(this, args[0]);
12
- }
13
- serialize() {
14
- return $Dict.$serialize(this);
15
- }
16
- static deserialize(value) {
17
- const runtime = this.$deserialize(value);
18
- return new this(runtime);
19
- }
20
- static $deserialize(value) {
21
- const split = Object.entries(of);
22
- const transform = split.map(([key, child]) => {
23
- const longhand = (0, _1.Shape)(child);
24
- const deserialized = longhand.$deserialize(value[key]);
25
- return [key, deserialized];
26
- });
27
- const merge = Object.fromEntries(transform);
28
- return merge;
29
- }
30
- static $serialize(value) {
31
- const split = Object.entries(of);
32
- const transform = split.map(([key, child]) => {
33
- const longhand = (0, _1.Shape)(child);
34
- const serialized = longhand.$serialize(value[key]);
35
- return [key, serialized];
36
- });
37
- const merge = Object.fromEntries(transform);
38
- return merge;
39
- }
40
- static $inline;
41
- }
42
- return $Dict;
1
+ const require_deserialization_error = require('./deserialization-error.js');
2
+ const require__ = require('./_.js');
3
+
4
+ //#region src/dict.ts
5
+ const Dict = (of, base = require__.Empty) => {
6
+ class $Dict extends base {
7
+ static $shape = "dict";
8
+ static $of = of;
9
+ constructor(...args) {
10
+ super();
11
+ Object.assign(this, args[0]);
12
+ }
13
+ serialize() {
14
+ return $Dict.$serialize(this);
15
+ }
16
+ static deserialize(value) {
17
+ const runtime = this.$deserialize(value);
18
+ return new this(runtime);
19
+ }
20
+ static $deserialize(value) {
21
+ const transform = Object.entries(of).map(([key, child]) => {
22
+ const longhand = require__.Shape(child);
23
+ try {
24
+ return [key, longhand.$deserialize(value?.[key])];
25
+ } catch (err) {
26
+ throw require_deserialization_error.DeserializationError.wrap(err, key, value?.[key]);
27
+ }
28
+ });
29
+ return Object.fromEntries(transform);
30
+ }
31
+ static $serialize(value) {
32
+ const transform = Object.entries(of).map(([key, child]) => {
33
+ return [key, require__.Shape(child).$serialize(value[key])];
34
+ });
35
+ const merge = Object.fromEntries(transform);
36
+ if ("$name" in base) return {
37
+ ...merge,
38
+ $name: base.$name
39
+ };
40
+ return merge;
41
+ }
42
+ }
43
+ return $Dict;
43
44
  };
44
- exports.Dict = Dict;
45
- //# sourceMappingURL=dict.js.map
45
+
46
+ //#endregion
47
+ exports.Dict = Dict;
package/dist/dict.mjs ADDED
@@ -0,0 +1,47 @@
1
+ import { DeserializationError } from "./deserialization-error.mjs";
2
+ import { Empty, Shape } from "./_.mjs";
3
+
4
+ //#region src/dict.ts
5
+ const Dict = (of, base = Empty) => {
6
+ class $Dict extends base {
7
+ static $shape = "dict";
8
+ static $of = of;
9
+ constructor(...args) {
10
+ super();
11
+ Object.assign(this, args[0]);
12
+ }
13
+ serialize() {
14
+ return $Dict.$serialize(this);
15
+ }
16
+ static deserialize(value) {
17
+ const runtime = this.$deserialize(value);
18
+ return new this(runtime);
19
+ }
20
+ static $deserialize(value) {
21
+ const transform = Object.entries(of).map(([key, child]) => {
22
+ const longhand = Shape(child);
23
+ try {
24
+ return [key, longhand.$deserialize(value?.[key])];
25
+ } catch (err) {
26
+ throw DeserializationError.wrap(err, key, value?.[key]);
27
+ }
28
+ });
29
+ return Object.fromEntries(transform);
30
+ }
31
+ static $serialize(value) {
32
+ const transform = Object.entries(of).map(([key, child]) => {
33
+ return [key, Shape(child).$serialize(value[key])];
34
+ });
35
+ const merge = Object.fromEntries(transform);
36
+ if ("$name" in base) return {
37
+ ...merge,
38
+ $name: base.$name
39
+ };
40
+ return merge;
41
+ }
42
+ }
43
+ return $Dict;
44
+ };
45
+
46
+ //#endregion
47
+ export { Dict };
@@ -1,5 +1,5 @@
1
- import { Expand, DefinitionOf, AbstractConstructor, Empty, type Shorthand, type Definition } from "./_";
2
- import { ClassShorthand } from "./class";
1
+ import { type Expand, type DefinitionOf, type AbstractConstructor, Empty, type Shorthand, type Definition } from "./_";
2
+ import type { ClassShorthand } from "./class";
3
3
  import { type DictShorthand } from "./dict";
4
4
  type UnionToIntersection<U> = (U extends unknown ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
5
5
  type PopUnion<U> = UnionToOvlds<U> extends (a: infer A) => void ? A : never;
@@ -54,22 +54,21 @@ type Internal<S extends DiscriminatedUnionConfiguration, K extends BestKey<S>> =
54
54
  Serialized: ReturnType<DefinitionOf<S[number]>["$serialize"]>;
55
55
  Inline: DefinitionOf<S[number]>["$inline"];
56
56
  };
57
- export declare const DiscriminatedUnion: <S extends DiscriminatedUnionConfiguration, K extends BestKey<S>, const B extends AbstractConstructor<{}> = typeof Empty, IInternal extends Internal<S, K> = Internal<S, K>>(of: S, base?: B | undefined) => Omit<B, "prototype"> & Omit<(abstract new (value: IInternal["Inline"]) => {
58
- value: IInternal["Inline"];
59
- serialize(): Expand<IInternal["Serialized"]>;
60
- match<M extends Matcher<IInternal["Map"]>, F extends M extends ExhaustiveMatcher<IInternal["Map"]> ? [] : M extends UnsafeFallthroughMatcher<IInternal["Map"]> ? [] : M extends PartialMatcher<IInternal["Map"]> ? [fallback: (value: Omit<IInternal["Map"], keyof M>[keyof Omit<IInternal["Map"], keyof M>] extends infer U extends Shorthand ? Expand<DefinitionOf<U>["$inline"]> : never) => any] : []>(matcher: M, ...__0_1: F): (M[keyof M] extends (...args: any[]) => any ? ReturnType<M[keyof M]> : never) | (F[0] extends (...args: any[]) => any ? ReturnType<F[0]> : never);
61
- }) & {
62
- serialized: IInternal["Serialized"];
63
- $of: S;
57
+ export declare const DiscriminatedUnion: <S extends DiscriminatedUnionConfiguration, K extends BestKey<S>, const B extends AbstractConstructor = typeof Empty>(of: S, ...args: [base?: B]) => IDiscriminatedUnion<S, K, B>;
58
+ export type IDiscriminatedUnion<S extends DiscriminatedUnionConfiguration, K extends BestKey<S>, B extends AbstractConstructor = typeof Empty> = Omit<B, "prototype"> & {
64
59
  $shape: "discriminated-union";
65
- deserialize<T extends any>(this: T, value: Expand<IInternal["Serialized"]>): InstanceType<T>;
66
- $deserialize<T_1 extends any>(this: T_1, value: IInternal["Serialized"]): IInternal["Inline"];
67
- $serialize<T_2 extends any>(this: T_2, value: IInternal["Inline"]): IInternal["Serialized"];
68
- $inline: IInternal["Inline"];
69
- }, "prototype"> & (abstract new (value: Expand<IInternal["Inline"]>) => InstanceType<B> & {
70
- value: IInternal["Inline"];
71
- serialize(): Expand<IInternal["Serialized"]>;
72
- match<M extends Matcher<IInternal["Map"]>, F extends M extends ExhaustiveMatcher<IInternal["Map"]> ? [] : M extends UnsafeFallthroughMatcher<IInternal["Map"]> ? [] : M extends PartialMatcher<IInternal["Map"]> ? [fallback: (value: Omit<IInternal["Map"], keyof M>[keyof Omit<IInternal["Map"], keyof M>] extends infer U extends Shorthand ? Expand<DefinitionOf<U>["$inline"]> : never) => any] : []>(matcher: M, ...__0_1: F): (M[keyof M] extends (...args: any[]) => any ? ReturnType<M[keyof M]> : never) | (F[0] extends (...args: any[]) => any ? ReturnType<F[0]> : never);
60
+ $of: S;
61
+ serialized: Internal<S, K>["Serialized"];
62
+ deserialize<T>(this: T, value: Expand<Internal<S, K>["Serialized"]>): T extends AbstractConstructor ? InstanceType<T> : any;
63
+ $deserialize<T>(this: T, value: Internal<S, K>["Serialized"]): Internal<S, K>["Inline"];
64
+ $serialize<T extends AbstractConstructor>(this: T, value: InstanceType<T>): Internal<S, K>["Serialized"];
65
+ $inline: Internal<S, K>["Inline"];
66
+ } & (abstract new (value: Internal<S, K>["Inline"]) => InstanceType<B> & {
67
+ value: Internal<S, K>["Inline"];
68
+ serialize(): Internal<S, K>["Serialized"];
69
+ match<M extends Matcher<Internal<S, K>["Map"]>, F extends M extends ExhaustiveMatcher<Internal<S, K>["Map"]> ? [] : M extends UnsafeFallthroughMatcher<Internal<S, K>["Map"]> ? [] : M extends PartialMatcher<Internal<S, K>["Map"]> ? [
70
+ fallback: (value: Omit<Internal<S, K>["Map"], keyof M>[keyof Omit<Internal<S, K>["Map"], keyof M>] extends infer U extends Shorthand ? Expand<DefinitionOf<U>["$inline"]> : never) => any
71
+ ] : []>(matcher: M, ...fallback_n: F): (M[keyof M] extends (...args: any[]) => any ? ReturnType<M[keyof M]> : never) | (F[0] extends (...args: any[]) => any ? ReturnType<F[0]> : never);
73
72
  });
74
73
  export {};
75
74
  //# sourceMappingURL=discriminated-union.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"discriminated-union.d.ts","sourceRoot":"","sources":["../src/discriminated-union.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discriminated-union.d.ts","sourceRoot":"","sources":["../src/discriminated-union.ts"],"names":[],"mappings":"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"}