@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.
- package/LICENSE +21 -0
- package/dist/_.d.ts +7 -7
- package/dist/_.d.ts.map +1 -1
- package/dist/_.js +34 -51
- package/dist/_.mjs +36 -0
- package/dist/addons/microsecond-timestamp.d.ts +24 -0
- package/dist/addons/microsecond-timestamp.d.ts.map +1 -0
- package/dist/addons/microsecond-timestamp.js +62 -0
- package/dist/addons/microsecond-timestamp.mjs +61 -0
- package/dist/choice.d.ts +13 -26
- package/dist/choice.d.ts.map +1 -1
- package/dist/choice.js +43 -47
- package/dist/choice.mjs +44 -0
- package/dist/class.d.ts +8 -7
- package/dist/class.d.ts.map +1 -1
- package/dist/class.js +29 -30
- package/dist/class.mjs +30 -0
- package/dist/deserialization-error.d.ts +32 -0
- package/dist/deserialization-error.d.ts.map +1 -0
- package/dist/deserialization-error.js +45 -0
- package/dist/deserialization-error.mjs +44 -0
- package/dist/dict.d.ts +25 -13
- package/dist/dict.d.ts.map +1 -1
- package/dist/dict.js +46 -44
- package/dist/dict.mjs +47 -0
- package/dist/discriminated-union.d.ts +16 -17
- package/dist/discriminated-union.d.ts.map +1 -1
- package/dist/discriminated-union.js +61 -92
- package/dist/discriminated-union.mjs +66 -0
- package/dist/either.d.ts +56 -12
- package/dist/either.d.ts.map +1 -1
- package/dist/either.js +50 -61
- package/dist/either.mjs +51 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +34 -29
- package/dist/index.mjs +16 -0
- package/dist/literal.d.ts +5 -7
- package/dist/literal.d.ts.map +1 -1
- package/dist/literal.js +26 -26
- package/dist/literal.mjs +27 -0
- package/dist/mapping.d.ts +16 -12
- package/dist/mapping.d.ts.map +1 -1
- package/dist/mapping.js +37 -49
- package/dist/mapping.mjs +38 -0
- package/dist/multiple.d.ts +10 -100
- package/dist/multiple.d.ts.map +1 -1
- package/dist/multiple.js +126 -105
- package/dist/multiple.mjs +127 -0
- package/dist/nothing.d.ts +2 -2
- package/dist/nothing.d.ts.map +1 -1
- package/dist/nothing.js +18 -18
- package/dist/nothing.mjs +19 -0
- package/dist/optional.d.ts +12 -14
- package/dist/optional.d.ts.map +1 -1
- package/dist/optional.js +33 -40
- package/dist/optional.mjs +34 -0
- package/dist/primitive.d.ts +5 -7
- package/dist/primitive.d.ts.map +1 -1
- package/dist/primitive.js +29 -29
- package/dist/primitive.mjs +30 -0
- package/package.json +24 -9
- package/dist/_.js.map +0 -1
- package/dist/choice.js.map +0 -1
- package/dist/choice.spec.d.ts +0 -2
- package/dist/choice.spec.d.ts.map +0 -1
- package/dist/choice.spec.js +0 -147
- package/dist/choice.spec.js.map +0 -1
- package/dist/class.js.map +0 -1
- package/dist/class.spec.d.ts +0 -2
- package/dist/class.spec.d.ts.map +0 -1
- package/dist/class.spec.js +0 -39
- package/dist/class.spec.js.map +0 -1
- package/dist/dict.js.map +0 -1
- package/dist/dict.spec.d.ts +0 -2
- package/dist/dict.spec.d.ts.map +0 -1
- package/dist/dict.spec.js +0 -180
- package/dist/dict.spec.js.map +0 -1
- package/dist/discriminated-union.js.map +0 -1
- package/dist/discriminated-union.spec.d.ts +0 -2
- package/dist/discriminated-union.spec.d.ts.map +0 -1
- package/dist/discriminated-union.spec.js +0 -262
- package/dist/discriminated-union.spec.js.map +0 -1
- package/dist/either.js.map +0 -1
- package/dist/either.spec.d.ts +0 -2
- package/dist/either.spec.d.ts.map +0 -1
- package/dist/either.spec.js +0 -211
- package/dist/either.spec.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/literal.js.map +0 -1
- package/dist/literal.spec.d.ts +0 -2
- package/dist/literal.spec.d.ts.map +0 -1
- package/dist/literal.spec.js +0 -162
- package/dist/literal.spec.js.map +0 -1
- package/dist/mapping.js.map +0 -1
- package/dist/mapping.spec.d.ts +0 -2
- package/dist/mapping.spec.d.ts.map +0 -1
- package/dist/mapping.spec.js +0 -207
- package/dist/mapping.spec.js.map +0 -1
- package/dist/multiple.js.map +0 -1
- package/dist/multiple.spec.d.ts +0 -2
- package/dist/multiple.spec.d.ts.map +0 -1
- package/dist/multiple.spec.js +0 -207
- package/dist/multiple.spec.js.map +0 -1
- package/dist/nothing.js.map +0 -1
- package/dist/nothing.spec.d.ts +0 -2
- package/dist/nothing.spec.d.ts.map +0 -1
- package/dist/nothing.spec.js +0 -172
- package/dist/nothing.spec.js.map +0 -1
- package/dist/optional.js.map +0 -1
- package/dist/optional.spec.d.ts +0 -2
- package/dist/optional.spec.d.ts.map +0 -1
- package/dist/optional.spec.js +0 -172
- package/dist/optional.spec.js.map +0 -1
- package/dist/primitive.js.map +0 -1
- package/dist/primitive.spec.d.ts +0 -2
- package/dist/primitive.spec.d.ts.map +0 -1
- package/dist/primitive.spec.js +0 -162
- package/dist/primitive.spec.js.map +0 -1
- package/dist/test.d.ts +0 -36
- package/dist/test.d.ts.map +0 -1
- package/dist/test.js +0 -45
- package/dist/test.js.map +0 -1
package/dist/class.js
CHANGED
|
@@ -1,31 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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
|
-
|
|
31
|
-
//#
|
|
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
|
|
19
|
-
|
|
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
|
|
24
|
-
$deserialize<
|
|
25
|
-
$serialize<
|
|
26
|
-
$inline:
|
|
27
|
-
}
|
|
28
|
-
serialize(): Expand<
|
|
29
|
-
} &
|
|
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
|
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,YAAY,
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const Dict = (of, base =
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
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
|
-
|
|
45
|
-
//#
|
|
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
|
|
58
|
-
|
|
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
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
$
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
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":"AAAA,OAAO,EAEL,MAAM,
|
|
1
|
+
{"version":3,"file":"discriminated-union.d.ts","sourceRoot":"","sources":["../src/discriminated-union.ts"],"names":[],"mappings":"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"}
|