typia 4.0.9 → 4.0.10-dev.20230616
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/lib/factories/MetadataTagFactory.js +64 -20
- package/lib/factories/MetadataTagFactory.js.map +1 -1
- package/lib/factories/internal/metadata/explore_metadata.js +4 -2
- package/lib/factories/internal/metadata/explore_metadata.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_collection.js +3 -3
- package/lib/factories/internal/metadata/iterate_metadata_collection.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_resolve.js +9 -3
- package/lib/factories/internal/metadata/iterate_metadata_resolve.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_sort.js +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_sort.js.map +1 -1
- package/lib/metadata/IMetadata.d.ts +2 -1
- package/lib/metadata/IMetadataResolved.d.ts +5 -0
- package/lib/metadata/IMetadataResolved.js +3 -0
- package/lib/metadata/IMetadataResolved.js.map +1 -0
- package/lib/metadata/Metadata.d.ts +2 -1
- package/lib/metadata/Metadata.js +31 -24
- package/lib/metadata/Metadata.js.map +1 -1
- package/lib/metadata/MetadataArray.d.ts +4 -2
- package/lib/metadata/MetadataArray.js.map +1 -1
- package/lib/metadata/MetadataResolved.d.ts +12 -0
- package/lib/metadata/MetadataResolved.js +31 -0
- package/lib/metadata/MetadataResolved.js.map +1 -0
- package/lib/programmers/CloneProgrammer.js +1 -1
- package/lib/programmers/CloneProgrammer.js.map +1 -1
- package/lib/programmers/RandomProgrammer.js +1 -1
- package/lib/programmers/RandomProgrammer.js.map +1 -1
- package/lib/programmers/StringifyProgrammer.js +1 -1
- package/lib/programmers/StringifyProgrammer.js.map +1 -1
- package/lib/programmers/helpers/StringifyPredicator.js +1 -1
- package/lib/programmers/helpers/StringifyPredicator.js.map +1 -1
- package/lib/programmers/internal/application_resolved.d.ts +4 -0
- package/lib/programmers/internal/application_resolved.js +50 -0
- package/lib/programmers/internal/application_resolved.js.map +1 -0
- package/lib/programmers/internal/application_schema.js +28 -5
- package/lib/programmers/internal/application_schema.js.map +1 -1
- package/lib/transformers/features/miscellaneous/MetadataTransformer.js +1 -1
- package/lib/transformers/features/miscellaneous/MetadataTransformer.js.map +1 -1
- package/package.json +1 -1
- package/src/factories/MetadataTagFactory.ts +80 -25
- package/src/factories/internal/metadata/emend_metadata_atomics.ts +33 -33
- package/src/factories/internal/metadata/explore_metadata.ts +40 -37
- package/src/factories/internal/metadata/iterate_metadata.ts +85 -85
- package/src/factories/internal/metadata/iterate_metadata_collection.ts +3 -3
- package/src/factories/internal/metadata/iterate_metadata_resolve.ts +49 -38
- package/src/factories/internal/metadata/iterate_metadata_sort.ts +2 -1
- package/src/factories/internal/metadata/iterate_metadata_union.ts +24 -24
- package/src/metadata/IMetadata.ts +2 -1
- package/src/metadata/IMetadataResolved.ts +6 -0
- package/src/metadata/Metadata.ts +17 -4
- package/src/metadata/MetadataArray.ts +4 -1
- package/src/metadata/MetadataResolved.ts +51 -0
- package/src/programmers/CloneProgrammer.ts +1 -1
- package/src/programmers/RandomProgrammer.ts +5 -1
- package/src/programmers/StringifyProgrammer.ts +983 -983
- package/src/programmers/helpers/StringifyPredicator.ts +1 -1
- package/src/programmers/internal/application_resolved.ts +55 -0
- package/src/programmers/internal/application_schema.ts +7 -6
- package/src/transformers/features/miscellaneous/MetadataTransformer.ts +1 -1
package/src/metadata/Metadata.ts
CHANGED
|
@@ -12,6 +12,7 @@ import { MetadataArray } from "./MetadataArray";
|
|
|
12
12
|
import { MetadataConstant } from "./MetadataConstant";
|
|
13
13
|
import { MetadataObject } from "./MetadataObject";
|
|
14
14
|
import { MetadataProperty } from "./MetadataProperty";
|
|
15
|
+
import { MetadataResolved } from "./MetadataResolved";
|
|
15
16
|
import { MetadataTuple } from "./MetadataTuple";
|
|
16
17
|
|
|
17
18
|
export class Metadata {
|
|
@@ -21,7 +22,7 @@ export class Metadata {
|
|
|
21
22
|
public nullable: boolean;
|
|
22
23
|
public functional: boolean;
|
|
23
24
|
|
|
24
|
-
public resolved:
|
|
25
|
+
public resolved: MetadataResolved | null;
|
|
25
26
|
public atomics: Atomic.Literal[];
|
|
26
27
|
public constants: MetadataConstant[];
|
|
27
28
|
public templates: Metadata[][];
|
|
@@ -207,7 +208,9 @@ export class Metadata {
|
|
|
207
208
|
templates: meta.templates.map((tpl) =>
|
|
208
209
|
tpl.map((meta) => this._From(meta, dict)),
|
|
209
210
|
),
|
|
210
|
-
resolved: meta.resolved
|
|
211
|
+
resolved: meta.resolved
|
|
212
|
+
? MetadataResolved._From(meta.resolved, dict)
|
|
213
|
+
: null,
|
|
211
214
|
|
|
212
215
|
rest: meta.rest ? this._From(meta.rest, dict) : null,
|
|
213
216
|
arrays: meta.arrays.map((id) => {
|
|
@@ -482,8 +485,18 @@ export namespace Metadata {
|
|
|
482
485
|
|
|
483
486
|
resolved:
|
|
484
487
|
x.resolved !== null && y.resolved !== null
|
|
485
|
-
? merge(x.resolved, y.resolved)
|
|
486
|
-
|
|
488
|
+
? //? merge(x.resolved, y.resolved)
|
|
489
|
+
MetadataResolved.create({
|
|
490
|
+
original: merge(
|
|
491
|
+
x.resolved.original,
|
|
492
|
+
y.resolved.original,
|
|
493
|
+
),
|
|
494
|
+
returns: merge(
|
|
495
|
+
x.resolved.returns,
|
|
496
|
+
y.resolved.returns,
|
|
497
|
+
),
|
|
498
|
+
})
|
|
499
|
+
: x.resolved ?? y.resolved,
|
|
487
500
|
atomics: [...new Set([...x.atomics, ...y.atomics])],
|
|
488
501
|
constants: [...x.constants],
|
|
489
502
|
templates: x.templates.slice(),
|
|
@@ -11,7 +11,7 @@ export class MetadataArray {
|
|
|
11
11
|
public readonly index: number | null;
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
|
-
* @
|
|
14
|
+
* @hidden
|
|
15
15
|
*/
|
|
16
16
|
private constructor(props: ClassProperties<MetadataArray>) {
|
|
17
17
|
this.name = props.name;
|
|
@@ -36,6 +36,9 @@ export class MetadataArray {
|
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
+
/**
|
|
40
|
+
* @internal
|
|
41
|
+
*/
|
|
39
42
|
public static create(props: ClassProperties<MetadataArray>): MetadataArray {
|
|
40
43
|
return new MetadataArray(props);
|
|
41
44
|
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { ClassProperties } from "../typings/ClassProperties";
|
|
2
|
+
|
|
3
|
+
import { IMetadataDictionary } from "./IMetadataDictionary";
|
|
4
|
+
import { IMetadataResolved } from "./IMetadataResolved";
|
|
5
|
+
import { Metadata } from "./Metadata";
|
|
6
|
+
|
|
7
|
+
export class MetadataResolved {
|
|
8
|
+
public readonly original: Metadata;
|
|
9
|
+
public readonly returns: Metadata;
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @hidden
|
|
13
|
+
*/
|
|
14
|
+
private constructor(props: ClassProperties<MetadataResolved>) {
|
|
15
|
+
this.original = props.original;
|
|
16
|
+
this.returns = props.returns;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
public static _From(
|
|
23
|
+
props: IMetadataResolved,
|
|
24
|
+
dict: IMetadataDictionary,
|
|
25
|
+
): MetadataResolved {
|
|
26
|
+
return this.create({
|
|
27
|
+
original: Metadata._From(props.original, dict),
|
|
28
|
+
returns: Metadata._From(props.returns, dict),
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* @internal
|
|
34
|
+
*/
|
|
35
|
+
public static create(
|
|
36
|
+
props: ClassProperties<MetadataResolved>,
|
|
37
|
+
): MetadataResolved {
|
|
38
|
+
return new MetadataResolved(props);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
public getName(): string {
|
|
42
|
+
return this.returns.getName();
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
public toJSON(): IMetadataResolved {
|
|
46
|
+
return {
|
|
47
|
+
original: this.original.toJSON(),
|
|
48
|
+
returns: this.returns.toJSON(),
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -263,7 +263,11 @@ export namespace RandomProgrammer {
|
|
|
263
263
|
// INSTANCE TYPES
|
|
264
264
|
if (meta.resolved)
|
|
265
265
|
expressions.push(
|
|
266
|
-
decode(importer)(explore)(
|
|
266
|
+
decode(importer)(explore)(
|
|
267
|
+
meta.resolved.returns,
|
|
268
|
+
tags,
|
|
269
|
+
comments,
|
|
270
|
+
),
|
|
267
271
|
);
|
|
268
272
|
for (const array of meta.arrays)
|
|
269
273
|
expressions.push(
|