@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 +471 -0
- package/dist/_.d.ts +19 -0
- package/dist/_.d.ts.map +1 -1
- package/dist/dict.d.ts +6 -6
- package/dist/dict.d.ts.map +1 -1
- package/dist/discriminated-union.d.ts +3 -2
- package/dist/discriminated-union.d.ts.map +1 -1
- package/dist/either.d.ts +2 -2
- package/dist/either.d.ts.map +1 -1
- package/dist/mapping.d.ts +1 -1
- package/dist/mapping.d.ts.map +1 -1
- package/dist/multiple.d.ts +3 -2
- package/dist/multiple.d.ts.map +1 -1
- package/dist/nothing.d.ts +3 -1
- package/dist/nothing.d.ts.map +1 -1
- package/dist/nothing.js +1 -1
- package/dist/nothing.mjs +1 -1
- package/dist/primitive.d.ts +3 -2
- package/dist/primitive.d.ts.map +1 -1
- package/package.json +4 -4
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":"AAAA,OAAO,EAAS,KAAK,MAAM,EAAE,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAQ,KAAK,KAAK,EAAE,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAY,KAAK,SAAS,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAW,KAAK,QAAQ,EAAE,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE1E,8BAAsB,KAAK;CAAG;AAE9B,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE;IAC3D,KAAK,GAAG,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;CACrB;AACD,MAAM,MAAM,mBAAmB,CAC7B,CAAC,GAAG,GAAG,EACP,CAAC,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,IACrB,QAAQ,MAAM,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;AAEnC,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,GAAG,CAAC;IACb,UAAU,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG,CAAC;IAC5B,YAAY,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG,CAAC;CAC/B;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,KACtC,GAAG,MAAM,EAAE,MAAM,CAAC,KACf,MAAM,CAAC,GACR,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,MAAM,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,GAChD,KAAK,CAAC;AAEV,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,mBAAmB,CAAC,GAAG,CAAC,IACrD,CAAC,SAAS,QAAQ,MAChB,GAAG,MAAM,EAAE,MAAM,CAAC,KACf,MAAM,CAAC,GACR,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG;IACZ,KAAK,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;CACvB,GACD,KAAK,CAAC;AAEZ,MAAM,MAAM,SAAS,GACjB,UAAU,GACV,aAAa,GACb,kBAAkB,GAClB,iBAAiB,GACjB,gBAAgB,GAChB,cAAc,GACd,gBAAgB,CAAC;AAErB,MAAM,MAAM,YAAY,CACtB,CAAC,SAAS,SAAS,GAAG,UAAU,EAChC,CAAC,SAAS,mBAAmB,CAAC,EAAE,CAAC,GAAG,OAAO,KAAK,IAC9C,CAAC,SAAS,gBAAgB,GAC1B,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,GACd,CAAC,SAAS,SAAS,GACjB,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,GAC7B,CAAC,SAAS,kBAAkB,GAC1B,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAClC,CAAC,SAAS,iBAAiB,GACzB,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAClB,CAAC,SAAS,cAAc,GACtB,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GACZ,CAAC,SAAS,UAAU,GAClB,CAAC,GACD,CAAC,SAAS,aAAa,GACrB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GACX,KAAK,CAAC;AAEtB,wBAAgB,KAAK,CACnB,KAAK,CAAC,CAAC,SAAS,UAAU,GAAG,SAAS,EACtC,CAAC,SAAS,mBAAmB,CAAC,EAAE,CAAC,GAAG,OAAO,KAAK,EAChD,SAAS,EAAE,CAAC,EAAE,IAAI,GAAE,CAAgB,GAAG,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAqC1D;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,SAAS,IAAI,GAAG,CAAA;CAAE,GAClD,CAAC,GACD,CAAC,SAAS,IAAI,GACZ,CAAC,GACD,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B;KAAG,GAAG,IAAI,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;CAAE,GACpC,CAAC,CAAC;AAEV,wBAAgB,OAAO,CACrB,CAAC,SAAS,mBAAmB,CAAC;IAAE,KAAK,EAAE,GAAG,CAAA;CAAE,CAAC,EAC7C,KAAK,CAAC,OAAO,SAAS,CAAC,SAAS,mBAAmB,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC,GACnE,CAAC,MAAM,CAAC,CAAC,EAAE,GACX,KAAK,EAET,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,OAAO,GACf,YAAY,CACb,CAAC,GACC,CAAC,KACC,GAAG,IAAI,EAAE,qBAAqB,CAAC,CAAC,CAAC,KAC9B,YAAY,CAAC,CAAC,CAAC,GAAG;KACpB,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;CACpD,CAAC,CACL,CASA;AAED,MAAM,MAAM,YAAY,CACtB,CAAC,SAAS,mBAAmB,EAC7B,OAAO,SAAS,mBAAmB,IACjC,QAAQ,MACV,GAAG,IAAI,EAAE,qBAAqB,CAAC,OAAO,CAAC,KACpC,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC"}
|
|
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
|
|
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:
|
|
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:
|
|
40
|
-
serialize():
|
|
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
|
package/dist/dict.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dict.d.ts","sourceRoot":"","sources":["../src/dict.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,SAAS,EAEd,KAAK,
|
|
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>["
|
|
63
|
-
$deserialize<T>(this: T, value: Internal<S, K>["
|
|
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":"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
|
|
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>["
|
|
79
|
-
$deserialize<T>(this: T, value: Internal<S, B>["
|
|
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
|
};
|
package/dist/either.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"either.d.ts","sourceRoot":"","sources":["../src/either.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,MAAM,EACX,KAAK,YAAY,EAEjB,KAAK,mBAAmB,EACxB,KAAK,EACN,MAAM,KAAK,CAAC;AACb,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG9C,KAAK,MAAM,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAAC;AAErC,KAAK,iBAAiB,CAAC,CAAC,SAAS,MAAM,IAAI;KACxC,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG;CACvD,CAAC;AAEF,KAAK,wBAAwB,CAAC,CAAC,SAAS,MAAM,IAAI;KAC/C,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG;CACxD,GAAG;IACF,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;CAC7C,CAAC;AAEF,KAAK,cAAc,CAAC,CAAC,SAAS,MAAM,IAAI;KACrC,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG;CACxD,CAAC;AAEF,KAAK,OAAO,CAAC,CAAC,SAAS,MAAM,IACzB,iBAAiB,CAAC,CAAC,CAAC,GACpB,wBAAwB,CAAC,CAAC,CAAC,GAC3B,cAAc,CAAC,CAAC,CAAC,CAAC;AAEtB,MAAM,MAAM,mBAAmB,GAAG;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC;CAC/B,CAAC;AAEF,KAAK,QAAQ,CACX,CAAC,SAAS,mBAAmB,EAC7B,CAAC,SAAS,mBAAmB,CAAC,EAAE,CAAC,IAC/B;IACF,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACrC,UAAU,EAAE,CAAC,CAAC,SAAS;QAAE,KAAK,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG;QAAE,KAAK,EAAE,CAAC,CAAA;KAAE,GAAG,EAAE,CAAC,GAAG;QAC/D,IAAI,EAAE,MAAM,CAAC,CAAC;KACf,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IACvD,aAAa,EAAE,CAAC,CAAC,SAAS;QAAE,KAAK,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG;QAAE,KAAK,EAAE,CAAC,CAAA;KAAE,GAAG,EAAE,CAAC,GAAG;QAClE,IAAI,EAAE,MAAM,CAAC,CAAC;KACf,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;CAC7C,CAAC;AAEF,eAAO,MAAM,MAAM,SACX,CAAC,SAAS,mBAAmB,QAC7B,CAAC,SAAS,mBAAmB,CAAC,EAAE,CAAC,qBAEnC,CAAC,SACC,CAAC;;iBAyBQ,MAAM,IAtBlB,CAAC;cAAsB,CAAC;iEAsBM;UAK7B,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,EACpB,CAAC,SAAS,CAAC,SAAS,iBAAiB,CAAC,CAAC,CAAC,GACpC,EAAE,GACF,CAAC,SAAS,wBAAwB,CAAC,CAAC,CAAC,GACnC,EAAE,GACF,CAAC,SAAS,cAAc,CAAC,CAAC,CAAC,GACzB,CACE,QAAQ,EAAE,CACR,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAC1D,GAAG,CACT,GACD,EAAE,iCAIR,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;;mBA7CpE,CAAC;cAAsB,CAAC;;;YAoBT,QAAQ;gBA2CL,CAAC,+BACZ,CAAC,SACA,MAAM,IAjEd,CAAC;cAAsB,CAAC;iEAiEE,GACxB,YAAY,CAAC,CAAC,CAAC;iBAIE,CAAC,+BACb,CAAC,YAvER,CAAC;cAAsB,CAAC;;eAkFP,CAAC,+BACX,CAAC,kDAnFR,CAAC;cAAsB,CAAC;;;wCAwGlB,MAAM,qCAAQ,KAClB,YAAY,CAAC,CAAC,CAAC;;iBAnFL,MAAM,IAtBlB,CAAC;cAAsB,CAAC;iEAsBM;UAK7B,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,EACpB,CAAC,SAAS,CAAC,SAAS,iBAAiB,CAAC,CAAC,CAAC,GACpC,EAAE,GACF,CAAC,SAAS,wBAAwB,CAAC,CAAC,CAAC,GACnC,EAAE,GACF,CAAC,SAAS,cAAc,CAAC,CAAC,CAAC,GACzB,CACE,QAAQ,EAAE,CACR,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAC1D,GAAG,CACT,GACD,EAAE,iCAIR,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;CA4DzC,CAM/B,CAAC;AAEF,MAAM,MAAM,MAAM,CAChB,CAAC,SAAS,mBAAmB,EAC7B,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,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAC5B;IACH,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,CAAC,CAAC,EACpB,CAAC,SAAS,CAAC,SAAS,iBAAiB,CAAC,CAAC,CAAC,GACpC,EAAE,GACF,CAAC,SAAS,wBAAwB,CAAC,CAAC,CAAC,GACnC,EAAE,GACF,CAAC,SAAS,cAAc,CAAC,CAAC,CAAC,GACzB;QACE,QAAQ,EAAE,CACR,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,KAC1D,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,GAAG;IACH,UAAU,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IACzC,EAAE,EAAE,CAAC,CAAC;IACN,MAAM,EAAE,QAAQ,CAAC;IACjB,WAAW,CAAC,CAAC,SAAS,WAAW,EAC/B,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,
|
|
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>["
|
|
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"];
|
package/dist/mapping.d.ts.map
CHANGED
|
@@ -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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"}
|
package/dist/multiple.d.ts
CHANGED
|
@@ -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>["
|
|
15
|
-
$deserialize<T extends Constructor>(this: T, value: Internal<S>["
|
|
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
|
};
|
package/dist/multiple.d.ts.map
CHANGED
|
@@ -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,
|
|
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
|
package/dist/nothing.d.ts.map
CHANGED
|
@@ -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;
|
|
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
package/dist/nothing.mjs
CHANGED
package/dist/primitive.d.ts
CHANGED
|
@@ -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:
|
|
32
|
+
deserialize<T extends Constructor<any>>(this: T, value: PrimitiveDeserializing<S>): InstanceType<T>;
|
|
32
33
|
$serialize(value: PrimitiveFromConstructor<S>): PrimitiveFromConstructor<S>;
|
|
33
|
-
$deserialize(value:
|
|
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>;
|
package/dist/primitive.d.ts.map
CHANGED
|
@@ -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,
|
|
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-
|
|
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-
|
|
13
|
+
"@ddd-ts/traits": "0.0.0-elo-shape-improvments.1"
|
|
14
14
|
},
|
|
15
15
|
"devDependencies": {
|
|
16
|
-
"@ddd-ts/tools": "0.0.0-elo-
|
|
17
|
-
"@ddd-ts/types": "0.0.0-elo-
|
|
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": {
|