@ddd-ts/shape 0.0.0-elo-handle-old-task-deserialization.6 → 0.0.0-elo-shape-improvments.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/README.md ADDED
@@ -0,0 +1,471 @@
1
+ # @ddd-ts/shape
2
+
3
+ Type-safe, serializable data shapes for TypeScript. Define your models once, get automatic serialization, deserialization, and full type inference.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ npm install @ddd-ts/shape
9
+ ```
10
+
11
+ ## Quick start
12
+
13
+ ```ts
14
+ import { Dict, Primitive, Optional, Choice, Multiple } from "@ddd-ts/shape";
15
+
16
+ class User extends Dict({
17
+ name: String,
18
+ age: Number,
19
+ email: Optional(String),
20
+ role: Choice(["admin", "user", "guest"]),
21
+ tags: [String],
22
+ }) {}
23
+
24
+ // Instantiate
25
+ const user = new User({
26
+ name: "Alice",
27
+ age: 30,
28
+ email: "alice@example.com",
29
+ role: "admin",
30
+ tags: ["staff"],
31
+ });
32
+
33
+ // Serialize (to plain JSON-safe object)
34
+ user.serialize();
35
+ // { name: "Alice", age: 30, email: "alice@example.com", role: "admin", tags: ["staff"] }
36
+
37
+ // Deserialize (from plain object back to typed instance)
38
+ const restored = User.deserialize({
39
+ name: "Alice",
40
+ age: 30,
41
+ email: "alice@example.com",
42
+ role: "admin",
43
+ tags: ["staff"],
44
+ });
45
+ restored instanceof User; // true
46
+ ```
47
+
48
+ All types are fully inferred. The constructor, `serialize()`, and `deserialize()` are all type-checked.
49
+
50
+ ## Shapes
51
+
52
+ ### Primitive
53
+
54
+ Wraps a single primitive value: `String`, `Number`, `Boolean`, or `Date`.
55
+
56
+ ```ts
57
+ import { Primitive } from "@ddd-ts/shape";
58
+
59
+ class UserId extends Primitive(String) {}
60
+
61
+ const id = new UserId("usr_123");
62
+ id.value; // "usr_123"
63
+ id.serialize(); // "usr_123"
64
+
65
+ const restored = UserId.deserialize("usr_123");
66
+ restored.value; // "usr_123"
67
+ ```
68
+
69
+ Date primitives are automatically coerced from strings during deserialization:
70
+
71
+ ```ts
72
+ class CreatedAt extends Primitive(Date) {}
73
+
74
+ const date = CreatedAt.deserialize("2024-01-01T00:00:00Z");
75
+ date.value; // Date instance
76
+ ```
77
+
78
+ #### Shorthand
79
+
80
+ Primitives can be used directly as shorthand inside `Dict`:
81
+
82
+ ```ts
83
+ class User extends Dict({
84
+ name: String, // shorthand for Primitive(String)
85
+ age: Number, // shorthand for Primitive(Number)
86
+ active: Boolean, // shorthand for Primitive(Boolean)
87
+ born: Date, // shorthand for Primitive(Date)
88
+ }) {}
89
+ ```
90
+
91
+ ### Dict
92
+
93
+ A structured object with named, typed fields. Fields are accessed directly on the instance (not under `.value`).
94
+
95
+ ```ts
96
+ import { Dict } from "@ddd-ts/shape";
97
+
98
+ class Address extends Dict({
99
+ street: String,
100
+ city: String,
101
+ zip: Number,
102
+ }) {}
103
+
104
+ const addr = new Address({ street: "123 Main", city: "Paris", zip: 75001 });
105
+ addr.street; // "123 Main"
106
+ addr.city; // "Paris"
107
+ addr.serialize(); // { street: "123 Main", city: "Paris", zip: 75001 }
108
+ ```
109
+
110
+ Dicts can be nested:
111
+
112
+ ```ts
113
+ class User extends Dict({
114
+ name: String,
115
+ address: Address,
116
+ }) {}
117
+
118
+ // Construct with instances
119
+ const user = new User({ name: "Alice", address: new Address({ street: "123 Main", city: "Paris", zip: 75001 }) });
120
+
121
+ // Deserialize from plain objects
122
+ const restored = User.deserialize({ name: "Alice", address: { street: "123 Main", city: "Paris", zip: 75001 } });
123
+ restored.address instanceof Address; // true
124
+ ```
125
+
126
+ Inline nested objects are also supported (anonymous dicts):
127
+
128
+ ```ts
129
+ class User extends Dict({
130
+ name: String,
131
+ address: { street: String, city: String },
132
+ }) {}
133
+ ```
134
+
135
+ ### Literal
136
+
137
+ A constant string or number value.
138
+
139
+ ```ts
140
+ import { Literal } from "@ddd-ts/shape";
141
+
142
+ class Version extends Literal("v1") {}
143
+
144
+ const v = new Version("v1");
145
+ v.value; // "v1"
146
+ v.serialize(); // "v1"
147
+ ```
148
+
149
+ Literals can also be used as shorthand inside `Dict`:
150
+
151
+ ```ts
152
+ class Event extends Dict({
153
+ type: "user_created", // shorthand for Literal("user_created")
154
+ userId: String,
155
+ }) {}
156
+ ```
157
+
158
+ ### Nothing
159
+
160
+ A shape with no data. Useful for marker types or events with no payload.
161
+
162
+ ```ts
163
+ import { Nothing } from "@ddd-ts/shape";
164
+
165
+ class Ping extends Nothing() {}
166
+
167
+ const ping = new Ping();
168
+ ping.serialize(); // undefined
169
+
170
+ const restored = Ping.deserialize();
171
+ ```
172
+
173
+ `undefined` can be used as shorthand inside `Dict`:
174
+
175
+ ```ts
176
+ class Event extends Dict({
177
+ type: "ping",
178
+ payload: undefined, // shorthand for Nothing()
179
+ }) {}
180
+ ```
181
+
182
+ ### Multiple
183
+
184
+ A typed array of elements.
185
+
186
+ ```ts
187
+ import { Multiple } from "@ddd-ts/shape";
188
+
189
+ class Tags extends Multiple(String) {}
190
+
191
+ const tags = new Tags(["typescript", "ddd"]);
192
+ tags.value; // ["typescript", "ddd"]
193
+ tags.serialize(); // ["typescript", "ddd"]
194
+ tags.length; // 2
195
+
196
+ // Array methods are available directly
197
+ tags.map((t) => t.toUpperCase()); // ["TYPESCRIPT", "DDD"]
198
+ tags.filter((t) => t.startsWith("t")); // ["typescript"]
199
+ tags.includes("ddd"); // true
200
+
201
+ for (const tag of tags) {
202
+ console.log(tag);
203
+ }
204
+ ```
205
+
206
+ Array shorthand uses bracket syntax inside `Dict`:
207
+
208
+ ```ts
209
+ class User extends Dict({
210
+ tags: [String], // shorthand for Multiple(String)
211
+ scores: [Number], // shorthand for Multiple(Number)
212
+ addresses: [{ city: String }], // array of anonymous dicts
213
+ }) {}
214
+ ```
215
+
216
+ ### Optional
217
+
218
+ A value that can be `T | undefined`. Provides a `.match()` method for safe access.
219
+
220
+ ```ts
221
+ import { Optional } from "@ddd-ts/shape";
222
+
223
+ class Nickname extends Optional(String) {}
224
+
225
+ const some = new Nickname("Bob");
226
+ const none = new Nickname(undefined);
227
+
228
+ some.value; // "Bob"
229
+ none.value; // undefined
230
+
231
+ some.match({
232
+ some: (value) => `Hello, ${value}`,
233
+ none: () => "Anonymous",
234
+ }); // "Hello, Bob"
235
+
236
+ none.match({
237
+ some: (value) => `Hello, ${value}`,
238
+ none: () => "Anonymous",
239
+ }); // "Anonymous"
240
+ ```
241
+
242
+ ### Choice
243
+
244
+ One value from a fixed set of string options. Provides `.is()` for narrowing and `.match()` for branching.
245
+
246
+ ```ts
247
+ import { Choice } from "@ddd-ts/shape";
248
+
249
+ class Status extends Choice(["active", "inactive", "banned"]) {}
250
+
251
+ const status = new Status("active");
252
+ status.value; // "active"
253
+ status.serialize(); // "active"
254
+
255
+ // Type narrowing
256
+ if (status.is("active")) {
257
+ status.value; // narrowed to "active"
258
+ }
259
+
260
+ // Pattern matching
261
+ status.match({
262
+ active: () => "green",
263
+ inactive: () => "gray",
264
+ banned: () => "red",
265
+ }); // "green"
266
+
267
+ // Fallback matching
268
+ status.match({
269
+ active: () => "green",
270
+ _: () => "other",
271
+ }); // "green"
272
+
273
+ // Static factory methods
274
+ Status.active(); // new Status("active")
275
+ Status.inactive(); // new Status("inactive")
276
+ Status.banned(); // new Status("banned")
277
+ ```
278
+
279
+ ### Either
280
+
281
+ A tagged union where the value is one of several named class variants. Serializes with a `_key` discriminator.
282
+
283
+ ```ts
284
+ import { Either, Dict } from "@ddd-ts/shape";
285
+
286
+ class Success extends Dict({ message: String }) {}
287
+ class Failure extends Dict({ code: Number, reason: String }) {}
288
+
289
+ class Result extends Either({ Success, Failure }) {}
290
+
291
+ // Construct
292
+ const ok = new Result(new Success({ message: "done" }));
293
+ const err = new Result(new Failure({ code: 404, reason: "Not found" }));
294
+
295
+ // Serialize
296
+ ok.serialize(); // { _key: "Success", message: "done" }
297
+ err.serialize(); // { _key: "Failure", code: 404, reason: "Not found" }
298
+
299
+ // Deserialize
300
+ const restored = Result.deserialize({ _key: "Success", message: "done" });
301
+ restored.value instanceof Success; // true
302
+
303
+ // Pattern matching
304
+ ok.match({
305
+ Success: (s) => s.message,
306
+ Failure: (f) => f.reason,
307
+ }); // "done"
308
+
309
+ // Partial match with fallback
310
+ ok.match(
311
+ { Failure: (f) => f.reason },
312
+ () => "ok",
313
+ ); // "ok"
314
+
315
+ // Fallthrough match
316
+ ok.match({
317
+ _: (value) => "something",
318
+ }); // "something"
319
+ ```
320
+
321
+ ### DiscriminatedUnion
322
+
323
+ A union of shapes that share a common discriminator field. The discriminator key is detected automatically.
324
+
325
+ ```ts
326
+ import { DiscriminatedUnion, Dict } from "@ddd-ts/shape";
327
+
328
+ class Created extends Dict({ type: "created", name: String }) {}
329
+ class Deleted extends Dict({ type: "deleted", id: Number }) {}
330
+
331
+ class Event extends DiscriminatedUnion([Created, Deleted]) {}
332
+
333
+ // Construct
334
+ const evt = new Event(new Created({ type: "created", name: "Alice" }));
335
+
336
+ // Serialize
337
+ evt.serialize(); // { type: "created", name: "Alice" }
338
+
339
+ // Deserialize
340
+ const restored = Event.deserialize({ type: "deleted", id: 42 });
341
+
342
+ // Pattern matching
343
+ evt.match({
344
+ created: (e) => e.name,
345
+ deleted: (e) => e.id,
346
+ });
347
+ ```
348
+
349
+ You can also mix named classes with anonymous dict shorthands:
350
+
351
+ ```ts
352
+ class Created extends Dict({ type: "created", name: String }) {}
353
+
354
+ class Event extends DiscriminatedUnion([
355
+ Created,
356
+ { type: "deleted" as const, id: Number },
357
+ ]) {}
358
+ ```
359
+
360
+ ### Mapping
361
+
362
+ A key-value record (like `Record<K, V>`).
363
+
364
+ ```ts
365
+ import { Mapping, Primitive } from "@ddd-ts/shape";
366
+
367
+ // Record<string, number>
368
+ class Scores extends Mapping([Primitive(Number)]) {}
369
+
370
+ const scores = new Scores({ alice: 10, bob: 20 });
371
+ scores.value; // { alice: 10, bob: 20 }
372
+ scores.serialize(); // { alice: 10, bob: 20 }
373
+
374
+ // With explicit key type: Record<number, string>
375
+ class Labels extends Mapping([Number, { label: String }]) {}
376
+ ```
377
+
378
+ ### Class
379
+
380
+ Wraps an existing class that already has `serialize()` and `static deserialize()` methods.
381
+
382
+ ```ts
383
+ import { Class, Dict } from "@ddd-ts/shape";
384
+
385
+ class Money {
386
+ constructor(public amount: number, public currency: string) {}
387
+
388
+ serialize() {
389
+ return { amount: this.amount, currency: this.currency };
390
+ }
391
+
392
+ static deserialize(data: { amount: number; currency: string }) {
393
+ return new Money(data.amount, data.currency);
394
+ }
395
+ }
396
+
397
+ class Product extends Dict({
398
+ name: String,
399
+ price: Class(Money),
400
+ }) {}
401
+
402
+ const product = Product.deserialize({ name: "Book", price: { amount: 10, currency: "EUR" } });
403
+ product.price instanceof Money; // true
404
+ ```
405
+
406
+ ## Composition
407
+
408
+ Shapes compose naturally. Any shape can be used inside another:
409
+
410
+ ```ts
411
+ class Email extends Primitive(String) {
412
+ get domain() {
413
+ return this.value.split("@")[1];
414
+ }
415
+ }
416
+
417
+ class Role extends Choice(["admin", "user"]) {}
418
+
419
+ class User extends Dict({
420
+ email: Email,
421
+ role: Role,
422
+ scores: Mapping([Number]),
423
+ tags: [String],
424
+ nickname: Optional(String),
425
+ }) {}
426
+ ```
427
+
428
+ When a named class is used as a field in a `Dict`:
429
+ - **Constructor** expects an instance of that class
430
+ - **`deserialize()`** accepts the serialized form and reconstructs the instance
431
+ - **`serialize()`** recursively serializes nested shapes
432
+
433
+ ## Adding behavior
434
+
435
+ Since shapes are classes, you can add methods and properties:
436
+
437
+ ```ts
438
+ class Temperature extends Primitive(Number) {
439
+ toFahrenheit() {
440
+ return this.value * 9 / 5 + 32;
441
+ }
442
+
443
+ static fromFahrenheit(f: number) {
444
+ return new this((f - 32) * 5 / 9);
445
+ }
446
+ }
447
+
448
+ class Range extends Dict({ min: Number, max: Number }) {
449
+ get span() {
450
+ return this.max - this.min;
451
+ }
452
+
453
+ contains(value: number) {
454
+ return value >= this.min && value <= this.max;
455
+ }
456
+ }
457
+ ```
458
+
459
+ ## Static serialization
460
+
461
+ Every shape provides static `$serialize` and `$deserialize` methods that transform values without constructing instances:
462
+
463
+ ```ts
464
+ class User extends Dict({ name: String, age: Number }) {}
465
+
466
+ // Transform a plain value without wrapping it in a User instance
467
+ User.$deserialize({ name: "Alice", age: 30 }); // { name: "Alice", age: 30 }
468
+ User.$serialize({ name: "Alice", age: 30 }); // { name: "Alice", age: 30 }
469
+ ```
470
+
471
+ This is useful when you need to transform data at the boundary without allocating instances.
package/dist/_.d.ts CHANGED
@@ -23,11 +23,29 @@ export type Concrete<T extends AbstractConstructor<any>> = T extends abstract ne
23
23
  export type Shorthand = Definition | DictShorthand | PrimitiveShorthand | MultipleShorthand | NothingShorthand | ClassShorthand | LiteralShorthand;
24
24
  export type DefinitionOf<T extends Shorthand | Definition, B extends AbstractConstructor<{}> = typeof Empty> = T extends LiteralShorthand ? ILiteral<T, B> : T extends undefined ? ReturnType<typeof Nothing<B>> : T extends PrimitiveShorthand ? ReturnType<typeof Primitive<T, B>> : T extends MultipleShorthand ? IMultiple<T[0], B> : T extends ClassShorthand ? IClass<T, B> : T extends Definition ? T : T extends DictShorthand ? IDict<T, B> : never;
25
25
  export declare function Shape<const S extends Definition | Shorthand, B extends AbstractConstructor<{}> = typeof Empty>(shorthand: S, base?: B): DefinitionOf<S, B>;
26
+ export interface ShapeConfig {
27
+ partialSerialize: false;
28
+ }
26
29
  export type Expand<T> = T extends {
27
30
  serialize(): any;
28
31
  } ? T : T extends Date ? T : T extends Record<string, any> ? {
29
32
  [key in keyof T]: Expand<T[key]>;
30
33
  } : T;
34
+ type IsUnion<T, U = T> = T extends U ? [U] extends [T] ? false : true : never;
35
+ type IsLiteral<T> = IsUnion<T> extends true ? false : T extends string ? string extends T ? false : true : T extends number ? number extends T ? false : true : false;
36
+ type InferableKeys<T> = {
37
+ [K in keyof T]: void extends T[K] ? never : undefined extends T[K] ? K : IsLiteral<T[K]> extends true ? K : never;
38
+ }[keyof T];
39
+ export type ExpandPartial<T> = T extends {
40
+ serialize(): any;
41
+ } ? T : T extends Date ? T : T extends Record<string, any> ? {
42
+ [K in Exclude<keyof T, InferableKeys<T>>]: Expand<T[K]>;
43
+ } & {
44
+ [K in InferableKeys<T>]?: Expand<T[K]>;
45
+ } extends infer O ? {
46
+ [K in keyof O]: O[K];
47
+ } : never : T;
48
+ export type ExpandOutput<T> = ShapeConfig["partialSerialize"] extends true ? ExpandPartial<T> : Expand<T>;
31
49
  export declare function forward<T extends AbstractConstructor<{
32
50
  value: any;
33
51
  }>, const Forward extends T extends AbstractConstructor<{
@@ -36,4 +54,5 @@ export declare function forward<T extends AbstractConstructor<{
36
54
  [K in Forward[number]]: InstanceType<T>["value"][K];
37
55
  })>;
38
56
  export type MergeClasses<B extends AbstractConstructor, Current extends AbstractConstructor> = abstract new (...args: ConstructorParameters<Current>) => InstanceType<B> & InstanceType<Current>;
57
+ export {};
39
58
  //# sourceMappingURL=_.d.ts.map
package/dist/_.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"_.d.ts","sourceRoot":"","sources":["../src/_.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_.d.ts","sourceRoot":"","sources":["../src/_.ts"],"names":[],"mappings":"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"}
package/dist/dict.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type DefinitionOf, type Shorthand, type Expand, type AbstractConstructor, type Constructor, Empty } from "./_";
1
+ import { type DefinitionOf, type Shorthand, type ExpandOutput, type ExpandPartial, type AbstractConstructor, type Constructor, Empty } from "./_";
2
2
  export type DictShorthand = {
3
3
  [key: string]: Shorthand;
4
4
  };
@@ -32,12 +32,12 @@ export type IDict<S extends {
32
32
  }, B extends AbstractConstructor<{}> = typeof Empty> = Omit<B, ""> & {
33
33
  $shape: "dict";
34
34
  $of: S;
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"];
35
+ deserialize<T extends Constructor>(this: T, value: ExpandPartial<Internal<S, B>["Deserializing"]>): InstanceType<T>;
36
+ $deserialize<T>(this: T, value: ExpandPartial<Internal<S, B>["Deserializing"]>): Internal<S, B>["Inline"];
37
+ $serialize<T extends Constructor>(this: T, value: InstanceType<T>): ExpandOutput<Internal<S, B>["Serialized"]>;
38
38
  $inline: Internal<S, B>["Inline"];
39
- } & (abstract new (value: Expand<Internal<S, B>["Inline"]>) => InstanceType<B> & {
40
- serialize(): Expand<Internal<S, B>["Serialized"]>;
39
+ } & (abstract new (value: ExpandPartial<Internal<S, B>["Inline"]>) => InstanceType<B> & {
40
+ serialize(): ExpandOutput<Internal<S, B>["Serialized"]>;
41
41
  } & Internal<S, B>["Inline"]);
42
42
  export {};
43
43
  //# sourceMappingURL=dict.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dict.d.ts","sourceRoot":"","sources":["../src/dict.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dict.d.ts","sourceRoot":"","sources":["../src/dict.ts"],"names":[],"mappings":"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"}
@@ -52,6 +52,7 @@ export declare function prepareShapeMap(config: DiscriminatedUnionConfiguration,
52
52
  type Internal<S extends DiscriminatedUnionConfiguration, K extends BestKey<S>> = {
53
53
  Map: Entries<S, K>;
54
54
  Serialized: ReturnType<DefinitionOf<S[number]>["$serialize"]>;
55
+ Deserializing: Parameters<DefinitionOf<S[number]>["$deserialize"]>[0];
55
56
  Inline: DefinitionOf<S[number]>["$inline"];
56
57
  };
57
58
  export declare const DiscriminatedUnion: <S extends DiscriminatedUnionConfiguration, K extends BestKey<S>, const B extends AbstractConstructor = typeof Empty>(of: S, base?: B | undefined) => IDiscriminatedUnion<S, K, B>;
@@ -59,8 +60,8 @@ export type IDiscriminatedUnion<S extends DiscriminatedUnionConfiguration, K ext
59
60
  $shape: "discriminated-union";
60
61
  $of: S;
61
62
  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"];
63
+ deserialize<T>(this: T, value: Expand<Internal<S, K>["Deserializing"]>): T extends AbstractConstructor ? InstanceType<T> : any;
64
+ $deserialize<T>(this: T, value: Internal<S, K>["Deserializing"]): Internal<S, K>["Inline"];
64
65
  $serialize<T extends AbstractConstructor>(this: T, value: InstanceType<T>): Internal<S, K>["Serialized"];
65
66
  $inline: Internal<S, K>["Inline"];
66
67
  } & (abstract new (value: Internal<S, K>["Inline"]) => InstanceType<B> & {
@@ -1 +1 @@
1
- {"version":3,"file":"discriminated-union.d.ts","sourceRoot":"","sources":["../src/discriminated-union.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,MAAM,EACX,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,EACL,KAAK,SAAS,EAEd,KAAK,UAAU,EAChB,MAAM,KAAK,CAAC;AACb,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE5C,KAAK,mBAAmB,CAAC,CAAC,IAAI,CAC5B,CAAC,SAAS,OAAO,GACb,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GACd,KAAK,CACV,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,GAC1B,CAAC,GACD,KAAK,CAAC;AACV,KAAK,QAAQ,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC;AAE5E,KAAK,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,EAAE,GAAG,EAAE,IAAI,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,GACpE,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAC1D,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AACd,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC;AAEtE,KAAK,UAAU,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,SAAS,GAAG,EAAE,GAC9D,CAAC,CAAC,QAAQ,CAAC,GACX,KAAK,CAAC;AAEV,KAAK,YAAY,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE/E,KAAK,YAAY,CAAC,CAAC,IAAI,mBAAmB,CACxC,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,KAAK,CACvC,CAAC;AAEF,KAAK,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GACtC,MAAM,SAAS,CAAC,GACd,KAAK,GACL,IAAI,GACN,KAAK,CAAC;AAEV,KAAK,sBAAsB,CAAC,SAAS,IAAI,YAAY,CACnD,MAAM,SAAS,SAAS,MAAM,CAAC,GAC3B,CAAC,SAAS,MAAM,SAAS,GACvB,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,UAAU,CAAC,SAAS,CAAC,GAC7D,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,GAC5C,CAAC,GACD,KAAK,GACP,KAAK,GACP,KAAK,GACP,KAAK,CACV,CAAC;AAEF,KAAK,aAAa,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAC;AAE5C,KAAK,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,aAAa,GAC/C;KACG,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,GAAG;CAC1E,GACD,KAAK,CAAC;AAEV,KAAK,wBAAwB,CAAC,CAAC,IAAI,CAAC,SAAS,aAAa,GACtD;KACG,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CACjB,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAC3C,GAAG;CACT,GAAG;IACF,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,GAAG,CAAC;CAChE,GACD,KAAK,CAAC;AAEV,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,aAAa,GAC5C;KACG,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CACjB,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,KAC3C,GAAG;CACT,GACD,KAAK,CAAC;AAEV,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,aAAa,GACrC,iBAAiB,CAAC,CAAC,CAAC,GAAG,wBAAwB,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,GACtE,KAAK,CAAC;AAEV,KAAK,MAAM,GAAG,kBAAkB,GAAG,UAAU,GAAG,cAAc,GAAG,SAAS,CAAC;AAE3E,KAAK,UAAU,GAAG,cAAc,CAAC;AAEjC,KAAK,cAAc,GAAG,cAAc,GAAG;IAAE,GAAG,EAAE,EAAE,CAAA;CAAE,CAAC;AAEnD,KAAK,SAAS,GAAG;IAAE,GAAG,EAAE,EAAE,CAAA;CAAE,CAAC;AAE7B,KAAK,kBAAkB,GAAG,aAAa,CAAC;AAExC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AAErD,KAAK,OAAO,CAAC,CAAC,SAAS,SAAS,GAAG,EAAE,EAAE,CAAC,IAAI,mBAAmB,CAC7D;KACG,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,SAAS,MAAM,GACpE,eAAe,CAAC,CAAC,CAAC,SAAS,IAAI,GAC7B;SACG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,kBAAkB,GACvC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAClB,CAAC,CAAC,CAAC,CAAC;KACT,GACD,KAAK,GACP,KAAK;CACV,CAAC,MAAM,CAAC,CACV,CAAC;AAEF,KAAK,QAAQ,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,SAAS,GACjD,CAAC,CAAC,KAAK,CAAC,GACR,CAAC,SAAS,UAAU,GAClB,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,GACtB,CAAC,CAAC;AAER,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,SAAS,MAAM,EAAE,IAAI;KAChD,GAAG,IAAI,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;CACnC,CAAC,MAAM,CAAC,SAAS,MAAM,CAAC,GACrB,sBAAsB,CAAC,CAAC,CAAC,GACzB,KAAK,CAAC;AAEV,MAAM,MAAM,+BAA+B,GAAG,SAAS,MAAM,EAAE,CAAC;AAEhE,wBAAgB,WAAW,CAAC,MAAM,EAAE,+BAA+B,UAyBlE;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,+BAA+B,EACvC,GAAG,EAAE,MAAM;;EAuBZ;AAED,KAAK,QAAQ,CACX,CAAC,SAAS,+BAA+B,EACzC,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,IAClB;IACF,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACnB,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IAC9D,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;CAC5C,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,CAAC,SAAS,+BAA+B,EACzC,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,QACd,CAAC,SAAS,mBAAmB,qBAE/B,CAAC,2BAEJ,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAqD7B,CAAC;AAEF,MAAM,MAAM,mBAAmB,CAC7B,CAAC,SAAS,+BAA+B,EACzC,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,EACpB,CAAC,SAAS,mBAAmB,GAAG,OAAO,KAAK,IAC1C,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG;IACzB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,GAAG,EAAE,CAAC,CAAC;IACP,UAAU,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACzC,WAAW,CAAC,CAAC,EACX,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GACzC,CAAC,SAAS,mBAAmB,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAC1D,YAAY,CAAC,CAAC,EACZ,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,GAClC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5B,UAAU,CAAC,CAAC,SAAS,mBAAmB,EACtC,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GACrB,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAChC,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;CACnC,GAAG,CAAC,QAAQ,MACT,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAC5B,YAAY,CAAC,CAAC,CAAC,GAAG;IACrB,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAChC,SAAS,IAAI,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAC1C,KAAK,CACH,CAAC,SAAS,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EACxC,CAAC,SAAS,CAAC,SAAS,iBAAiB,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GACxD,EAAE,GACF,CAAC,SAAS,wBAAwB,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GACvD,EAAE,GACF,CAAC,SAAS,cAAc,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAC7C;QACE,QAAQ,EAAE,CACR,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CACpD,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EACrB,MAAM,CAAC,CACR,CAAC,SAAS,MAAM,CAAC,SAAS,SAAS,GAChC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAClC,KAAK,KACN,GAAG;KACT,GACD,EAAE,EAEV,OAAO,EAAE,CAAC,EACV,GAAG,UAAU,EAAE,CAAC,GAEd,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GACvC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GACtB,KAAK,CAAC,GACV,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;CACvE,CAAC,CAAC"}
1
+ {"version":3,"file":"discriminated-union.d.ts","sourceRoot":"","sources":["../src/discriminated-union.ts"],"names":[],"mappings":"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"}
package/dist/either.d.ts CHANGED
@@ -75,8 +75,8 @@ export type Either<S extends EitherConfiguration, B extends AbstractConstructor<
75
75
  serialized: Internal<S, B>["Serialized"];
76
76
  of: S;
77
77
  $shape: "either";
78
- deserialize<T extends Constructor>(this: T, value: Internal<S, B>["Serialized"]): InstanceType<T>;
79
- $deserialize<T>(this: T, value: Internal<S, B>["Serialized"]): Internal<S, B>["Inline"];
78
+ deserialize<T extends Constructor>(this: T, value: Internal<S, B>["Deserializing"]): InstanceType<T>;
79
+ $deserialize<T>(this: T, value: Internal<S, B>["Deserializing"]): Internal<S, B>["Inline"];
80
80
  $serialize<T>(this: T, value: Internal<S, B>["Inline"]): Internal<S, B>["Serialized"];
81
81
  $inline: Internal<S, B>["Inline"];
82
82
  };
@@ -1 +1 @@
1
- {"version":3,"file":"either.d.ts","sourceRoot":"","sources":["../src/either.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"either.d.ts","sourceRoot":"","sources":["../src/either.ts"],"names":[],"mappings":"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"}
package/dist/mapping.d.ts CHANGED
@@ -34,7 +34,7 @@ export type Mapping<C extends MappingConfiguration, B extends AbstractConstructo
34
34
  serialize(): Expand<Internal<C, B>["Serialized"]>;
35
35
  }) & {
36
36
  $shape: "mapping";
37
- deserialize<T extends Constructor>(this: T, value: Expand<Internal<C, B>["Serialized"]>): InstanceType<T>;
37
+ deserialize<T extends Constructor>(this: T, value: Expand<Internal<C, B>["Deserializing"]>): InstanceType<T>;
38
38
  $deserialize<T>(this: T, value: Internal<C, B>["Deserializing"]): Internal<C, B>["Inline"];
39
39
  $serialize<T>(this: T, value: Internal<C, B>["Inline"]): Internal<C, B>["Serialized"];
40
40
  $inline: Internal<C, B>["Inline"];
@@ -1 +1 @@
1
- {"version":3,"file":"mapping.d.ts","sourceRoot":"","sources":["../src/mapping.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mapping.d.ts","sourceRoot":"","sources":["../src/mapping.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ export type MultipleConfiguration = Definition | Shorthand;
3
3
  export type MultipleShorthand = [any] | readonly [any];
4
4
  type Internal<S extends MultipleConfiguration> = {
5
5
  Serialized: ReturnType<DefinitionOf<S>["$serialize"]>[];
6
+ Deserializing: Parameters<DefinitionOf<S>["$deserialize"]>[0][];
6
7
  Inline: DefinitionOf<S>["$inline"][];
7
8
  };
8
9
  export declare const Multiple: <const S extends MultipleConfiguration, B extends AbstractConstructor<{}> = typeof Empty>(of: S, base?: B) => IMultiple<S, B>;
@@ -11,8 +12,8 @@ export type IMultiple<S extends MultipleConfiguration, B extends AbstractConstru
11
12
  serialize(): Expand<Internal<S>["Serialized"]>;
12
13
  }) & {
13
14
  $shape: "multiple";
14
- deserialize<T extends Constructor>(this: T, value: Expand<Internal<S>["Serialized"]>): InstanceType<T>;
15
- $deserialize<T extends Constructor>(this: T, value: Internal<S>["Serialized"]): InstanceType<T>;
15
+ deserialize<T extends Constructor>(this: T, value: Expand<Internal<S>["Deserializing"]>): InstanceType<T>;
16
+ $deserialize<T extends Constructor>(this: T, value: Internal<S>["Deserializing"]): InstanceType<T>;
16
17
  $serialize(value: Internal<S>["Inline"]): Internal<S>["Serialized"];
17
18
  $inline: Internal<S>["Inline"];
18
19
  };
@@ -1 +1 @@
1
- {"version":3,"file":"multiple.d.ts","sourceRoot":"","sources":["../src/multiple.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EACf,KAAK,MAAM,EACX,KAAK,SAAS,EACd,KAAK,YAAY,EAEjB,KAAK,mBAAmB,EACxB,KAAK,EACL,KAAK,WAAW,EACjB,MAAM,KAAK,CAAC;AAEb,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,SAAS,CAAC;AAC3D,MAAM,MAAM,iBAAiB,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;AAEvD,KAAK,QAAQ,CAAC,CAAC,SAAS,qBAAqB,IAAI;IAC/C,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;IACxD,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;CACtC,CAAC;AAEF,eAAO,MAAM,QAAQ,SACb,CAAC,SAAS,qBAAqB,EACrC,CAAC,SAAS,mBAAmB,CAAC,EAAE,CAAC,qBAE7B,CAAC,SACC,CAAC,KACN,SAAS,CAAC,CAAC,EAAE,CAAC,CAmJhB,CAAC;AAEF,MAAM,MAAM,SAAS,CACnB,CAAC,SAAS,qBAAqB,EAC/B,CAAC,SAAS,mBAAmB,CAAC,EAAE,CAAC,GAAG,OAAO,KAAK,IAC9C,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,GACtB,CAAC,QAAQ,MACP,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KACzB,YAAY,CAAC,CAAC,CAAC,GAClB,IAAI,CACF,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EACnB,IAAI,GACJ,QAAQ,GACR,QAAQ,GACR,YAAY,GACZ,SAAS,GACT,OAAO,GACP,MAAM,GACN,QAAQ,GACR,MAAM,GACN,WAAW,GACX,MAAM,GACN,SAAS,GACT,SAAS,GACT,UAAU,GACV,SAAS,GACT,MAAM,GACN,MAAM,GACN,aAAa,GACb,KAAK,GACL,KAAK,GACL,MAAM,GACN,QAAQ,GACR,aAAa,GACb,SAAS,GACT,OAAO,GACP,OAAO,GACP,MAAM,GACN,MAAM,GACN,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,OAAO,MAAM,CAAC,QAAQ,CACzB,GAAG;IACF,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC7B,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;CAChD,CAAC,GAAG;IACL,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,CAAC,CAAC,SAAS,WAAW,EAC/B,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GACvC,YAAY,CAAC,CAAC,CAAC,CAAC;IACnB,YAAY,CAAC,CAAC,SAAS,WAAW,EAChC,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAC/B,YAAY,CAAC,CAAC,CAAC,CAAC;IACnB,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACpE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;CAChC,CAAC"}
1
+ {"version":3,"file":"multiple.d.ts","sourceRoot":"","sources":["../src/multiple.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EACf,KAAK,MAAM,EACX,KAAK,SAAS,EACd,KAAK,YAAY,EAEjB,KAAK,mBAAmB,EACxB,KAAK,EACL,KAAK,WAAW,EACjB,MAAM,KAAK,CAAC;AAEb,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,SAAS,CAAC;AAC3D,MAAM,MAAM,iBAAiB,GAAG,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;AAEvD,KAAK,QAAQ,CAAC,CAAC,SAAS,qBAAqB,IAAI;IAC/C,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;IACxD,aAAa,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;CACtC,CAAC;AAEF,eAAO,MAAM,QAAQ,SACb,CAAC,SAAS,qBAAqB,EACrC,CAAC,SAAS,mBAAmB,CAAC,EAAE,CAAC,qBAE7B,CAAC,SACC,CAAC,KACN,SAAS,CAAC,CAAC,EAAE,CAAC,CAmJhB,CAAC;AAEF,MAAM,MAAM,SAAS,CACnB,CAAC,SAAS,qBAAqB,EAC/B,CAAC,SAAS,mBAAmB,CAAC,EAAE,CAAC,GAAG,OAAO,KAAK,IAC9C,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,GACtB,CAAC,QAAQ,MACP,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KACzB,YAAY,CAAC,CAAC,CAAC,GAClB,IAAI,CACF,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EACnB,IAAI,GACJ,QAAQ,GACR,QAAQ,GACR,YAAY,GACZ,SAAS,GACT,OAAO,GACP,MAAM,GACN,QAAQ,GACR,MAAM,GACN,WAAW,GACX,MAAM,GACN,SAAS,GACT,SAAS,GACT,UAAU,GACV,SAAS,GACT,MAAM,GACN,MAAM,GACN,aAAa,GACb,KAAK,GACL,KAAK,GACL,MAAM,GACN,QAAQ,GACR,aAAa,GACb,SAAS,GACT,OAAO,GACP,OAAO,GACP,MAAM,GACN,MAAM,GACN,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,OAAO,MAAM,CAAC,QAAQ,CACzB,GAAG;IACF,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC7B,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;CAChD,CAAC,GAAG;IACL,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,CAAC,CAAC,SAAS,WAAW,EAC/B,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,GAC1C,YAAY,CAAC,CAAC,CAAC,CAAC;IACnB,YAAY,CAAC,CAAC,SAAS,WAAW,EAChC,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAClC,YAAY,CAAC,CAAC,CAAC,CAAC;IACnB,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACpE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;CAChC,CAAC"}
package/dist/nothing.d.ts CHANGED
@@ -1,14 +1,16 @@
1
1
  import { type AbstractConstructor, type Constructor, Empty } from "./_";
2
2
  export type NothingShorthand = undefined;
3
+ type NothingDeserializingType = void;
3
4
  export declare const Nothing: <B extends AbstractConstructor<{}> = typeof Empty>(config: void, base?: B) => Omit<B, "prototype"> & Omit<(abstract new (...args: any[]) => {
4
5
  serialize(): void;
5
6
  }) & {
6
7
  $shape: "nothing";
7
8
  deserialize<T extends Constructor>(this: T, value: void): InstanceType<T>;
8
- $deserialize(): void;
9
+ $deserialize(value: NothingDeserializingType): void;
9
10
  $serialize(): void;
10
11
  $inline: void;
11
12
  }, ""> & (abstract new (value: void) => InstanceType<B> & {
12
13
  serialize(): void;
13
14
  });
15
+ export {};
14
16
  //# sourceMappingURL=nothing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nothing.d.ts","sourceRoot":"","sources":["../src/nothing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,WAAW,EAAmB,KAAK,EAAE,MAAM,KAAK,CAAC;AAEzF,MAAM,MAAM,gBAAgB,GAAG,SAAS,CAAC;AAEzC,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,mBAAmB,CAAC,EAAE,CAAC,yBAC/C,IAAI,SACN,CAAC;;;YAGW,SAAS;gBAGN,CAAC,SAAS,WAAW,QAChC,CAAC,SACA,IAAI,GACV,YAAY,CAAC,CAAC,CAAC;;;aAKF,IAAI;+BAIb,IAAI,KACR,YAAY,CAAC,CAAC,CAAC;;CAAW,CAOhC,CAAC"}
1
+ {"version":3,"file":"nothing.d.ts","sourceRoot":"","sources":["../src/nothing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,WAAW,EAAmB,KAAK,EAAE,MAAM,KAAK,CAAC;AAEzF,MAAM,MAAM,gBAAgB,GAAG,SAAS,CAAC;AAGzC,KAAK,wBAAwB,GAAG,IAAI,CAAC;AAErC,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,mBAAmB,CAAC,EAAE,CAAC,yBAC/C,IAAI,SACN,CAAC;;;YAGW,SAAS;gBAGN,CAAC,SAAS,WAAW,QAChC,CAAC,SACA,IAAI,GACV,YAAY,CAAC,CAAC,CAAC;wBAGS,wBAAwB,GAAG,IAAI;;aAE1C,IAAI;+BAIb,IAAI,KACR,YAAY,CAAC,CAAC,CAAC;;CAAW,CAOhC,CAAC"}
package/dist/nothing.js CHANGED
@@ -8,7 +8,7 @@ const Nothing = (config, base = require__.Empty) => {
8
8
  static deserialize(value) {
9
9
  return new this();
10
10
  }
11
- static $deserialize() {}
11
+ static $deserialize(value) {}
12
12
  static $serialize() {}
13
13
  static $inline;
14
14
  }
package/dist/nothing.mjs CHANGED
@@ -8,7 +8,7 @@ const Nothing = (config, base = Empty) => {
8
8
  static deserialize(value) {
9
9
  return new this();
10
10
  }
11
- static $deserialize() {}
11
+ static $deserialize(value) {}
12
12
  static $serialize() {}
13
13
  static $inline;
14
14
  }
@@ -23,14 +23,15 @@ export type PrimitiveFromConstructor<S> = Extract<PrimitiveMap[number], [
23
23
  any
24
24
  ]>[1];
25
25
  export type PrimitiveShorthand = PrimitiveConstructor;
26
+ type PrimitiveDeserializing<S extends PrimitiveConstructor> = S extends DateConstructor ? Date | string : PrimitiveFromConstructor<S>;
26
27
  export type IPrimitive<S extends PrimitiveConstructor, B extends AbstractConstructor<{}> = typeof Empty> = Omit<B, ""> & (abstract new (value: Expand<PrimitiveFromConstructor<S>>) => InstanceType<B> & {
27
28
  readonly value: Expand<PrimitiveFromConstructor<S>>;
28
29
  serialize(): PrimitiveFromConstructor<S>;
29
30
  }) & {
30
31
  $shape: "primitive";
31
- deserialize<T extends Constructor<any>>(this: T, value: PrimitiveFromConstructor<S>): InstanceType<T>;
32
+ deserialize<T extends Constructor<any>>(this: T, value: PrimitiveDeserializing<S>): InstanceType<T>;
32
33
  $serialize(value: PrimitiveFromConstructor<S>): PrimitiveFromConstructor<S>;
33
- $deserialize(value: PrimitiveFromConstructor<S>): PrimitiveFromConstructor<S>;
34
+ $deserialize(value: PrimitiveDeserializing<S>): PrimitiveFromConstructor<S>;
34
35
  $inline: Expand<PrimitiveFromConstructor<S>>;
35
36
  };
36
37
  export declare const Primitive: <S extends PrimitiveConstructor, B extends AbstractConstructor<{}> = typeof Empty>(of: S, base?: B) => IPrimitive<S, B>;
@@ -1 +1 @@
1
- {"version":3,"file":"primitive.d.ts","sourceRoot":"","sources":["../src/primitive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAiB,KAAK,WAAW,EAAE,KAAK,EAAE,KAAK,MAAM,EAAE,MAAM,KAAK,CAAC;AAEpG,KAAK,YAAY,GAAG;IAClB;QAAC,iBAAiB;QAAE,MAAM;KAAC;IAC3B;QAAC,iBAAiB;QAAE,MAAM;KAAC;IAC3B;QAAC,eAAe;QAAE,IAAI;KAAC;IACvB;QAAC,kBAAkB;QAAE,OAAO;KAAC;CAC9B,CAAC;AAEF,KAAK,oBAAoB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAAI,OAAO,CAC/C,YAAY,CAAC,MAAM,CAAC,EACpB;IAAC,CAAC;IAAE,GAAG;CAAC,CACT,CAAC,CAAC,CAAC,CAAC;AAEL,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAEtD,MAAM,MAAM,UAAU,CACpB,CAAC,SAAS,oBAAoB,EAC9B,CAAC,SAAS,mBAAmB,CAAC,EAAE,CAAC,GAAG,OAAO,KAAK,IAC9C,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,GACb,CAAC,QAAQ,MACP,KAAK,EAAE,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,KACvC,YAAY,CAAC,CAAC,CAAC,GAAG;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,SAAS,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAAC;CAC1C,CAAC,GAAG;IACH,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,CAAC,CAAC,SAAS,WAAW,CAAC,GAAG,CAAC,EACpC,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,wBAAwB,CAAC,CAAC,CAAC,GACjC,YAAY,CAAC,CAAC,CAAC,CAAC;IACnB,UAAU,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAAC;IAC5E,YAAY,CACV,KAAK,EAAE,wBAAwB,CAAC,CAAC,CAAC,GACjC,wBAAwB,CAAC,CAAC,CAAC,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9C,CAAC;AAEJ,eAAO,MAAM,SAAS,GACpB,CAAC,SAAS,oBAAoB,EAC9B,CAAC,SAAS,mBAAmB,CAAC,EAAE,CAAC,qBAE7B,CAAC,SACC,CAAC,KACN,UAAU,CAAC,CAAC,EAAE,CAAC,CA4CjB,CAAC"}
1
+ {"version":3,"file":"primitive.d.ts","sourceRoot":"","sources":["../src/primitive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAiB,KAAK,WAAW,EAAE,KAAK,EAAE,KAAK,MAAM,EAAE,MAAM,KAAK,CAAC;AAEpG,KAAK,YAAY,GAAG;IAClB;QAAC,iBAAiB;QAAE,MAAM;KAAC;IAC3B;QAAC,iBAAiB;QAAE,MAAM;KAAC;IAC3B;QAAC,eAAe;QAAE,IAAI;KAAC;IACvB;QAAC,kBAAkB;QAAE,OAAO;KAAC;CAC9B,CAAC;AAEF,KAAK,oBAAoB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAAI,OAAO,CAC/C,YAAY,CAAC,MAAM,CAAC,EACpB;IAAC,CAAC;IAAE,GAAG;CAAC,CACT,CAAC,CAAC,CAAC,CAAC;AAEL,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAEtD,KAAK,sBAAsB,CAAC,CAAC,SAAS,oBAAoB,IACxD,CAAC,SAAS,eAAe,GAAG,IAAI,GAAG,MAAM,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAAC;AAE1E,MAAM,MAAM,UAAU,CACpB,CAAC,SAAS,oBAAoB,EAC9B,CAAC,SAAS,mBAAmB,CAAC,EAAE,CAAC,GAAG,OAAO,KAAK,IAC9C,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,GACb,CAAC,QAAQ,MACP,KAAK,EAAE,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,KACvC,YAAY,CAAC,CAAC,CAAC,GAAG;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,SAAS,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAAC;CAC1C,CAAC,GAAG;IACH,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,CAAC,CAAC,SAAS,WAAW,CAAC,GAAG,CAAC,EACpC,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAC/B,YAAY,CAAC,CAAC,CAAC,CAAC;IACnB,UAAU,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAAC;IAC5E,YAAY,CACV,KAAK,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAC/B,wBAAwB,CAAC,CAAC,CAAC,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9C,CAAC;AAEJ,eAAO,MAAM,SAAS,GACpB,CAAC,SAAS,oBAAoB,EAC9B,CAAC,SAAS,mBAAmB,CAAC,EAAE,CAAC,qBAE7B,CAAC,SACC,CAAC,KACN,UAAU,CAAC,CAAC,EAAE,CAAC,CA4CjB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ddd-ts/shape",
3
- "version": "0.0.0-elo-handle-old-task-deserialization.6",
3
+ "version": "0.0.0-elo-shape-improvments.1",
4
4
  "types": "dist/index.d.ts",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -10,11 +10,11 @@
10
10
  "dist"
11
11
  ],
12
12
  "dependencies": {
13
- "@ddd-ts/traits": "0.0.0-elo-handle-old-task-deserialization.6"
13
+ "@ddd-ts/traits": "0.0.0-elo-shape-improvments.1"
14
14
  },
15
15
  "devDependencies": {
16
- "@ddd-ts/tools": "0.0.0-elo-handle-old-task-deserialization.6",
17
- "@ddd-ts/types": "0.0.0-elo-handle-old-task-deserialization.6",
16
+ "@ddd-ts/tools": "0.0.0-elo-shape-improvments.1",
17
+ "@ddd-ts/types": "0.0.0-elo-shape-improvments.1",
18
18
  "@types/jest": "^29.5.1"
19
19
  },
20
20
  "exports": {