@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/literal.js
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
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
|
-
return $Literal;
|
|
1
|
+
const require__ = require('./_.js');
|
|
2
|
+
|
|
3
|
+
//#region src/literal.ts
|
|
4
|
+
const Literal = (of, base = require__.Empty) => {
|
|
5
|
+
class $Literal extends base {
|
|
6
|
+
value = of;
|
|
7
|
+
static value = of;
|
|
8
|
+
static $shape = "literal";
|
|
9
|
+
serialize() {
|
|
10
|
+
return of;
|
|
11
|
+
}
|
|
12
|
+
static deserialize(value) {
|
|
13
|
+
return new this();
|
|
14
|
+
}
|
|
15
|
+
static $serialize(value) {
|
|
16
|
+
return of;
|
|
17
|
+
}
|
|
18
|
+
static $deserialize(value) {
|
|
19
|
+
return of;
|
|
20
|
+
}
|
|
21
|
+
static $inline;
|
|
22
|
+
}
|
|
23
|
+
return $Literal;
|
|
25
24
|
};
|
|
26
|
-
|
|
27
|
-
//#
|
|
25
|
+
|
|
26
|
+
//#endregion
|
|
27
|
+
exports.Literal = Literal;
|
package/dist/literal.mjs
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Empty } from "./_.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/literal.ts
|
|
4
|
+
const Literal = (of, base = Empty) => {
|
|
5
|
+
class $Literal extends base {
|
|
6
|
+
value = of;
|
|
7
|
+
static value = of;
|
|
8
|
+
static $shape = "literal";
|
|
9
|
+
serialize() {
|
|
10
|
+
return of;
|
|
11
|
+
}
|
|
12
|
+
static deserialize(value) {
|
|
13
|
+
return new this();
|
|
14
|
+
}
|
|
15
|
+
static $serialize(value) {
|
|
16
|
+
return of;
|
|
17
|
+
}
|
|
18
|
+
static $deserialize(value) {
|
|
19
|
+
return of;
|
|
20
|
+
}
|
|
21
|
+
static $inline;
|
|
22
|
+
}
|
|
23
|
+
return $Literal;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
//#endregion
|
|
27
|
+
export { Literal };
|
package/dist/mapping.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Definition, Expand, Shorthand, DefinitionOf, AbstractConstructor, Empty } from "./_";
|
|
1
|
+
import { type Definition, type Expand, type Shorthand, type DefinitionOf, type AbstractConstructor, Empty, type Constructor } from "./_";
|
|
2
2
|
type MappingLiteralKey = [
|
|
3
3
|
[
|
|
4
4
|
StringConstructor,
|
|
@@ -22,18 +22,22 @@ type MappingOf<C extends MappingConfiguration> = C extends [
|
|
|
22
22
|
key: StringConstructor;
|
|
23
23
|
value: DefinitionOf<V>;
|
|
24
24
|
} : never;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
type Internal<C extends MappingConfiguration, B extends AbstractConstructor<{}>> = {
|
|
26
|
+
Definition: MappingOf<C>["value"];
|
|
27
|
+
Serialized: Record<MappingKeyRuntimeFromConstructor<MappingOf<C>["key"]>, ReturnType<MappingOf<C>["value"]["$serialize"]>>;
|
|
28
|
+
Deserializing: Record<MappingKeyRuntimeFromConstructor<MappingOf<C>["key"]>, Parameters<MappingOf<C>["value"]["$deserialize"]>[0]>;
|
|
29
|
+
Inline: Record<MappingKeyRuntimeFromConstructor<MappingOf<C>["key"]>, MappingOf<C>["value"]["$inline"]>;
|
|
30
|
+
};
|
|
31
|
+
export declare const Mapping: <C extends MappingConfiguration, B extends AbstractConstructor<{}> = typeof Empty>(config: C, base?: B) => Mapping<C, B>;
|
|
32
|
+
export type Mapping<C extends MappingConfiguration, B extends AbstractConstructor<{}> = typeof Empty> = Omit<B, "prototype"> & (abstract new (value: Internal<C, B>["Inline"]) => InstanceType<B> & {
|
|
33
|
+
value: Internal<C, B>["Inline"];
|
|
34
|
+
serialize(): Expand<Internal<C, B>["Serialized"]>;
|
|
28
35
|
}) & {
|
|
29
36
|
$shape: "mapping";
|
|
30
|
-
deserialize<T extends
|
|
31
|
-
$deserialize<
|
|
32
|
-
$serialize<
|
|
33
|
-
$inline:
|
|
34
|
-
}
|
|
35
|
-
value: Record<MappingKeyRuntimeFromConstructor<MappingOf<C>["key"]>, MappingOf<C>["value"]["$inline"]>;
|
|
36
|
-
serialize(): Expand<Record<MappingKeyRuntimeFromConstructor<MappingOf<C>["key"]>, ReturnType<MappingOf<C>["value"]["$serialize"]>>>;
|
|
37
|
-
});
|
|
37
|
+
deserialize<T extends Constructor>(this: T, value: Expand<Internal<C, B>["Serialized"]>): InstanceType<T>;
|
|
38
|
+
$deserialize<T>(this: T, value: Internal<C, B>["Deserializing"]): Internal<C, B>["Inline"];
|
|
39
|
+
$serialize<T>(this: T, value: Internal<C, B>["Inline"]): Internal<C, B>["Serialized"];
|
|
40
|
+
$inline: Internal<C, B>["Inline"];
|
|
41
|
+
};
|
|
38
42
|
export {};
|
|
39
43
|
//# sourceMappingURL=mapping.d.ts.map
|
package/dist/mapping.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapping.d.ts","sourceRoot":"","sources":["../src/mapping.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,
|
|
1
|
+
{"version":3,"file":"mapping.d.ts","sourceRoot":"","sources":["../src/mapping.ts"],"names":[],"mappings":"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"}
|
package/dist/mapping.js
CHANGED
|
@@ -1,50 +1,38 @@
|
|
|
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
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
static $serialize(value) {
|
|
36
|
-
const split = Object.entries(value);
|
|
37
|
-
const transform = split.map(([key, child]) => {
|
|
38
|
-
const longhand = (0, _1.Shape)($value);
|
|
39
|
-
const serialized = longhand.$serialize(child);
|
|
40
|
-
return [key, serialized];
|
|
41
|
-
});
|
|
42
|
-
const merge = Object.fromEntries(transform);
|
|
43
|
-
return merge;
|
|
44
|
-
}
|
|
45
|
-
static $inline;
|
|
46
|
-
}
|
|
47
|
-
return $Mapping;
|
|
1
|
+
const require__ = require('./_.js');
|
|
2
|
+
|
|
3
|
+
//#region src/mapping.ts
|
|
4
|
+
const Mapping = (config, base = require__.Empty) => {
|
|
5
|
+
let [, _value] = config;
|
|
6
|
+
if (config.length === 1) _value = config[0];
|
|
7
|
+
const $value = _value;
|
|
8
|
+
class $Mapping extends base {
|
|
9
|
+
constructor(value) {
|
|
10
|
+
super();
|
|
11
|
+
this.value = value;
|
|
12
|
+
}
|
|
13
|
+
static $shape = "mapping";
|
|
14
|
+
serialize() {
|
|
15
|
+
return $Mapping.$serialize(this.value);
|
|
16
|
+
}
|
|
17
|
+
static deserialize(value) {
|
|
18
|
+
return new this($Mapping.$deserialize(value));
|
|
19
|
+
}
|
|
20
|
+
static $deserialize(value) {
|
|
21
|
+
const transform = Object.entries(value).map(([key, child]) => {
|
|
22
|
+
return [key, require__.Shape(_value).$deserialize(child)];
|
|
23
|
+
});
|
|
24
|
+
return Object.fromEntries(transform);
|
|
25
|
+
}
|
|
26
|
+
static $serialize(value) {
|
|
27
|
+
const transform = Object.entries(value).map(([key, child]) => {
|
|
28
|
+
return [key, require__.Shape($value).$serialize(child)];
|
|
29
|
+
});
|
|
30
|
+
return Object.fromEntries(transform);
|
|
31
|
+
}
|
|
32
|
+
static $inline;
|
|
33
|
+
}
|
|
34
|
+
return $Mapping;
|
|
48
35
|
};
|
|
49
|
-
|
|
50
|
-
//#
|
|
36
|
+
|
|
37
|
+
//#endregion
|
|
38
|
+
exports.Mapping = Mapping;
|
package/dist/mapping.mjs
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Empty, Shape } from "./_.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/mapping.ts
|
|
4
|
+
const Mapping = (config, base = Empty) => {
|
|
5
|
+
let [, _value] = config;
|
|
6
|
+
if (config.length === 1) _value = config[0];
|
|
7
|
+
const $value = _value;
|
|
8
|
+
class $Mapping extends base {
|
|
9
|
+
constructor(value) {
|
|
10
|
+
super();
|
|
11
|
+
this.value = value;
|
|
12
|
+
}
|
|
13
|
+
static $shape = "mapping";
|
|
14
|
+
serialize() {
|
|
15
|
+
return $Mapping.$serialize(this.value);
|
|
16
|
+
}
|
|
17
|
+
static deserialize(value) {
|
|
18
|
+
return new this($Mapping.$deserialize(value));
|
|
19
|
+
}
|
|
20
|
+
static $deserialize(value) {
|
|
21
|
+
const transform = Object.entries(value).map(([key, child]) => {
|
|
22
|
+
return [key, Shape(_value).$deserialize(child)];
|
|
23
|
+
});
|
|
24
|
+
return Object.fromEntries(transform);
|
|
25
|
+
}
|
|
26
|
+
static $serialize(value) {
|
|
27
|
+
const transform = Object.entries(value).map(([key, child]) => {
|
|
28
|
+
return [key, Shape($value).$serialize(child)];
|
|
29
|
+
});
|
|
30
|
+
return Object.fromEntries(transform);
|
|
31
|
+
}
|
|
32
|
+
static $inline;
|
|
33
|
+
}
|
|
34
|
+
return $Mapping;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
//#endregion
|
|
38
|
+
export { Mapping };
|
package/dist/multiple.d.ts
CHANGED
|
@@ -1,110 +1,20 @@
|
|
|
1
|
-
import { Definition, Expand, Shorthand, DefinitionOf, AbstractConstructor, Empty, Constructor } from "./_";
|
|
1
|
+
import { type Definition, type Expand, type Shorthand, type DefinitionOf, type AbstractConstructor, Empty, type Constructor } from "./_";
|
|
2
2
|
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
6
|
Inline: DefinitionOf<S>["$inline"][];
|
|
7
7
|
};
|
|
8
|
-
export declare const Multiple: <const S extends MultipleConfiguration, B extends AbstractConstructor<{}> = typeof Empty
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
readonly reduce: {
|
|
13
|
-
(callbackfn: (previousValue: DefinitionOf<S, typeof Empty>["$inline"], currentValue: DefinitionOf<S, typeof Empty>["$inline"], currentIndex: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => DefinitionOf<S, typeof Empty>["$inline"]): DefinitionOf<S, typeof Empty>["$inline"];
|
|
14
|
-
(callbackfn: (previousValue: DefinitionOf<S, typeof Empty>["$inline"], currentValue: DefinitionOf<S, typeof Empty>["$inline"], currentIndex: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => DefinitionOf<S, typeof Empty>["$inline"], initialValue: DefinitionOf<S, typeof Empty>["$inline"]): DefinitionOf<S, typeof Empty>["$inline"];
|
|
15
|
-
<U_1>(callbackfn: (previousValue: U_1, currentValue: DefinitionOf<S, typeof Empty>["$inline"], currentIndex: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => U_1, initialValue: U_1): U_1;
|
|
16
|
-
};
|
|
17
|
-
readonly filter: {
|
|
18
|
-
<S_1 extends DefinitionOf<S, typeof Empty>["$inline"]>(predicate: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => value is S_1, thisArg?: any): S_1[];
|
|
19
|
-
(predicate: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => unknown, thisArg?: any): DefinitionOf<S, typeof Empty>["$inline"][];
|
|
20
|
-
};
|
|
21
|
-
readonly forEach: (callbackfn: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => void, thisArg?: any) => void;
|
|
22
|
-
readonly some: (predicate: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => unknown, thisArg?: any) => boolean;
|
|
23
|
-
readonly every: {
|
|
24
|
-
<S_2 extends DefinitionOf<S, typeof Empty>["$inline"]>(predicate: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => value is S_2, thisArg?: any): this is S_2[];
|
|
25
|
-
(predicate: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => unknown, thisArg?: any): boolean;
|
|
26
|
-
};
|
|
27
|
-
readonly find: {
|
|
28
|
-
<S_3 extends DefinitionOf<S, typeof Empty>["$inline"]>(predicate: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, obj: DefinitionOf<S, typeof Empty>["$inline"][]) => value is S_3, thisArg?: any): S_3 | undefined;
|
|
29
|
-
(predicate: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, obj: DefinitionOf<S, typeof Empty>["$inline"][]) => unknown, thisArg?: any): DefinitionOf<S, typeof Empty>["$inline"] | undefined;
|
|
30
|
-
};
|
|
31
|
-
readonly findIndex: (predicate: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, obj: DefinitionOf<S, typeof Empty>["$inline"][]) => unknown, thisArg?: any) => number;
|
|
32
|
-
readonly indexOf: (searchElement: DefinitionOf<S, typeof Empty>["$inline"], fromIndex?: number) => number;
|
|
33
|
-
readonly lastIndexOf: (searchElement: DefinitionOf<S, typeof Empty>["$inline"], fromIndex?: number) => number;
|
|
34
|
-
readonly includes: (searchElement: DefinitionOf<S, typeof Empty>["$inline"], fromIndex?: number) => boolean;
|
|
35
|
-
readonly keys: () => IterableIterator<number>;
|
|
36
|
-
readonly values: () => IterableIterator<DefinitionOf<S, typeof Empty>["$inline"]>;
|
|
37
|
-
readonly entries: () => IterableIterator<[number, DefinitionOf<S, typeof Empty>["$inline"]]>;
|
|
38
|
-
readonly at: (index: number) => DefinitionOf<S, typeof Empty>["$inline"] | undefined;
|
|
39
|
-
readonly concat: {
|
|
40
|
-
(...items: ConcatArray<DefinitionOf<S, typeof Empty>["$inline"]>[]): DefinitionOf<S, typeof Empty>["$inline"][];
|
|
41
|
-
(...items: (DefinitionOf<S, typeof Empty>["$inline"] | ConcatArray<DefinitionOf<S, typeof Empty>["$inline"]>)[]): DefinitionOf<S, typeof Empty>["$inline"][];
|
|
42
|
-
};
|
|
43
|
-
readonly flat: <A, D extends number = 1>(this: A, depth?: D | undefined) => FlatArray<A, D>[];
|
|
44
|
-
readonly splice: {
|
|
45
|
-
(start: number, deleteCount?: number): DefinitionOf<S, typeof Empty>["$inline"][];
|
|
46
|
-
(start: number, deleteCount: number, ...items: DefinitionOf<S, typeof Empty>["$inline"][]): DefinitionOf<S, typeof Empty>["$inline"][];
|
|
47
|
-
};
|
|
48
|
-
readonly flatMap: <U_2, This = undefined>(callback: (this: This, value: DefinitionOf<S, typeof Empty>["$inline"], index: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => U_2 | readonly U_2[], thisArg?: This | undefined) => U_2[];
|
|
49
|
-
readonly push: (...items: DefinitionOf<S, typeof Empty>["$inline"][]) => number;
|
|
50
|
-
readonly pop: () => DefinitionOf<S, typeof Empty>["$inline"] | undefined;
|
|
51
|
-
readonly sort: (compareFn?: ((a: DefinitionOf<S, typeof Empty>["$inline"], b: DefinitionOf<S, typeof Empty>["$inline"]) => number) | undefined) => Cache["Inline"];
|
|
52
|
-
readonly slice: (start?: number, end?: number) => DefinitionOf<S, typeof Empty>["$inline"][];
|
|
53
|
-
readonly length: number;
|
|
54
|
-
[Symbol.iterator](): IterableIterator<DefinitionOf<S, typeof Empty>["$inline"]>;
|
|
8
|
+
export declare const Multiple: <const S extends MultipleConfiguration, B extends AbstractConstructor<{}> = typeof Empty>(of: S, base?: B) => IMultiple<S, B>;
|
|
9
|
+
export type IMultiple<S extends MultipleConfiguration, B extends AbstractConstructor<{}> = typeof Empty> = Omit<B, "prototype"> & (abstract new (value: Internal<S>["Inline"]) => InstanceType<B> & Pick<Internal<S>["Inline"], "at" | "length" | "concat" | "copyWithin" | "entries" | "every" | "fill" | "filter" | "find" | "findIndex" | "flat" | "flatMap" | "forEach" | "includes" | "indexOf" | "join" | "keys" | "lastIndexOf" | "map" | "pop" | "push" | "reduce" | "reduceRight" | "reverse" | "shift" | "slice" | "some" | "sort" | "splice" | "unshift" | "values" | typeof Symbol.iterator> & {
|
|
10
|
+
value: Internal<S>["Inline"];
|
|
11
|
+
serialize(): Expand<Internal<S>["Serialized"]>;
|
|
55
12
|
}) & {
|
|
56
13
|
$shape: "multiple";
|
|
57
|
-
deserialize<T extends Constructor
|
|
58
|
-
$deserialize<
|
|
59
|
-
$serialize(value:
|
|
60
|
-
$inline:
|
|
61
|
-
}
|
|
62
|
-
value: Cache["Inline"];
|
|
63
|
-
serialize(): Expand<Cache["Serialized"]>;
|
|
64
|
-
readonly map: <U>(callbackfn: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => U, thisArg?: any) => U[];
|
|
65
|
-
readonly reduce: {
|
|
66
|
-
(callbackfn: (previousValue: DefinitionOf<S, typeof Empty>["$inline"], currentValue: DefinitionOf<S, typeof Empty>["$inline"], currentIndex: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => DefinitionOf<S, typeof Empty>["$inline"]): DefinitionOf<S, typeof Empty>["$inline"];
|
|
67
|
-
(callbackfn: (previousValue: DefinitionOf<S, typeof Empty>["$inline"], currentValue: DefinitionOf<S, typeof Empty>["$inline"], currentIndex: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => DefinitionOf<S, typeof Empty>["$inline"], initialValue: DefinitionOf<S, typeof Empty>["$inline"]): DefinitionOf<S, typeof Empty>["$inline"];
|
|
68
|
-
<U_1>(callbackfn: (previousValue: U_1, currentValue: DefinitionOf<S, typeof Empty>["$inline"], currentIndex: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => U_1, initialValue: U_1): U_1;
|
|
69
|
-
};
|
|
70
|
-
readonly filter: {
|
|
71
|
-
<S_1 extends DefinitionOf<S, typeof Empty>["$inline"]>(predicate: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => value is S_1, thisArg?: any): S_1[];
|
|
72
|
-
(predicate: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => unknown, thisArg?: any): DefinitionOf<S, typeof Empty>["$inline"][];
|
|
73
|
-
};
|
|
74
|
-
readonly forEach: (callbackfn: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => void, thisArg?: any) => void;
|
|
75
|
-
readonly some: (predicate: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => unknown, thisArg?: any) => boolean;
|
|
76
|
-
readonly every: {
|
|
77
|
-
<S_2 extends DefinitionOf<S, typeof Empty>["$inline"]>(predicate: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => value is S_2, thisArg?: any): this is S_2[];
|
|
78
|
-
(predicate: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => unknown, thisArg?: any): boolean;
|
|
79
|
-
};
|
|
80
|
-
readonly find: {
|
|
81
|
-
<S_3 extends DefinitionOf<S, typeof Empty>["$inline"]>(predicate: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, obj: DefinitionOf<S, typeof Empty>["$inline"][]) => value is S_3, thisArg?: any): S_3 | undefined;
|
|
82
|
-
(predicate: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, obj: DefinitionOf<S, typeof Empty>["$inline"][]) => unknown, thisArg?: any): DefinitionOf<S, typeof Empty>["$inline"] | undefined;
|
|
83
|
-
};
|
|
84
|
-
readonly findIndex: (predicate: (value: DefinitionOf<S, typeof Empty>["$inline"], index: number, obj: DefinitionOf<S, typeof Empty>["$inline"][]) => unknown, thisArg?: any) => number;
|
|
85
|
-
readonly indexOf: (searchElement: DefinitionOf<S, typeof Empty>["$inline"], fromIndex?: number) => number;
|
|
86
|
-
readonly lastIndexOf: (searchElement: DefinitionOf<S, typeof Empty>["$inline"], fromIndex?: number) => number;
|
|
87
|
-
readonly includes: (searchElement: DefinitionOf<S, typeof Empty>["$inline"], fromIndex?: number) => boolean;
|
|
88
|
-
readonly keys: () => IterableIterator<number>;
|
|
89
|
-
readonly values: () => IterableIterator<DefinitionOf<S, typeof Empty>["$inline"]>;
|
|
90
|
-
readonly entries: () => IterableIterator<[number, DefinitionOf<S, typeof Empty>["$inline"]]>;
|
|
91
|
-
readonly at: (index: number) => DefinitionOf<S, typeof Empty>["$inline"] | undefined;
|
|
92
|
-
readonly concat: {
|
|
93
|
-
(...items: ConcatArray<DefinitionOf<S, typeof Empty>["$inline"]>[]): DefinitionOf<S, typeof Empty>["$inline"][];
|
|
94
|
-
(...items: (DefinitionOf<S, typeof Empty>["$inline"] | ConcatArray<DefinitionOf<S, typeof Empty>["$inline"]>)[]): DefinitionOf<S, typeof Empty>["$inline"][];
|
|
95
|
-
};
|
|
96
|
-
readonly flat: <A, D extends number = 1>(this: A, depth?: D | undefined) => FlatArray<A, D>[];
|
|
97
|
-
readonly splice: {
|
|
98
|
-
(start: number, deleteCount?: number): DefinitionOf<S, typeof Empty>["$inline"][];
|
|
99
|
-
(start: number, deleteCount: number, ...items: DefinitionOf<S, typeof Empty>["$inline"][]): DefinitionOf<S, typeof Empty>["$inline"][];
|
|
100
|
-
};
|
|
101
|
-
readonly flatMap: <U_2, This = undefined>(callback: (this: This, value: DefinitionOf<S, typeof Empty>["$inline"], index: number, array: DefinitionOf<S, typeof Empty>["$inline"][]) => U_2 | readonly U_2[], thisArg?: This | undefined) => U_2[];
|
|
102
|
-
readonly push: (...items: DefinitionOf<S, typeof Empty>["$inline"][]) => number;
|
|
103
|
-
readonly pop: () => DefinitionOf<S, typeof Empty>["$inline"] | undefined;
|
|
104
|
-
readonly sort: (compareFn?: ((a: DefinitionOf<S, typeof Empty>["$inline"], b: DefinitionOf<S, typeof Empty>["$inline"]) => number) | undefined) => Cache["Inline"];
|
|
105
|
-
readonly slice: (start?: number, end?: number) => DefinitionOf<S, typeof Empty>["$inline"][];
|
|
106
|
-
readonly length: number;
|
|
107
|
-
[Symbol.iterator](): IterableIterator<DefinitionOf<S, typeof Empty>["$inline"]>;
|
|
108
|
-
});
|
|
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>;
|
|
16
|
+
$serialize(value: Internal<S>["Inline"]): Internal<S>["Serialized"];
|
|
17
|
+
$inline: Internal<S>["Inline"];
|
|
18
|
+
};
|
|
109
19
|
export {};
|
|
110
20
|
//# sourceMappingURL=multiple.d.ts.map
|
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,UAAU,
|
|
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;AAGb,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,GACnB,KAAK,CAAC,CAAC,SAAS,qBAAqB,EACrC,CAAC,SAAS,mBAAmB,CAAC,EAAE,CAAC,GAAG,OAAO,KAAK,MAE5C,CAAC,SACC,CAAC,KACN,SAAS,CAAC,CAAC,EAAE,CAAC,CA0JhB,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"}
|