typia 4.1.6-dev.20230213 → 4.1.7-dev.20230715
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/MetadataCollection.js +1 -0
- package/lib/factories/MetadataCollection.js.map +1 -1
- package/lib/factories/internal/metadata/{emplace_metadata_definition.d.ts → emplace_metadata_alias.d.ts} +1 -1
- package/lib/factories/internal/metadata/{emplace_metadata_definition.js → emplace_metadata_alias.js} +17 -5
- package/lib/factories/internal/metadata/emplace_metadata_alias.js.map +1 -0
- package/lib/factories/internal/metadata/iterate_metadata_alias.js +2 -2
- package/lib/factories/internal/metadata/iterate_metadata_alias.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_collection.js +4 -4
- package/lib/factories/internal/metadata/iterate_metadata_collection.js.map +1 -1
- package/lib/metadata/IMetadataAlias.d.ts +3 -1
- package/lib/metadata/MetadataAlias.d.ts +2 -0
- package/lib/metadata/MetadataAlias.js +4 -1
- package/lib/metadata/MetadataAlias.js.map +1 -1
- package/lib/programmers/LiteralsProgrammer.js +3 -2
- package/lib/programmers/LiteralsProgrammer.js.map +1 -1
- package/lib/programmers/internal/application_alias.js +21 -3
- package/lib/programmers/internal/application_alias.js.map +1 -1
- package/lib/programmers/internal/application_object.js +1 -1
- package/lib/programmers/internal/application_object.js.map +1 -1
- package/package.json +1 -1
- package/src/factories/MetadataCollection.ts +1 -0
- package/src/factories/MetadataTagFactory.ts +355 -355
- package/src/factories/internal/metadata/{emplace_metadata_definition.ts → emplace_metadata_alias.ts} +7 -2
- package/src/factories/internal/metadata/iterate_metadata_alias.ts +4 -4
- package/src/factories/internal/metadata/iterate_metadata_collection.ts +4 -4
- package/src/metadata/IMetadataAlias.ts +3 -1
- package/src/metadata/IMetadataTag.ts +105 -105
- package/src/metadata/Metadata.ts +603 -603
- package/src/metadata/MetadataAlias.ts +6 -1
- package/src/module.ts +2038 -2038
- package/src/programmers/LiteralsProgrammer.ts +63 -62
- package/src/programmers/internal/application_alias.ts +22 -1
- package/src/programmers/internal/application_number.ts +74 -74
- package/src/programmers/internal/application_object.ts +1 -1
- package/src/transformers/CallExpressionTransformer.ts +179 -179
- package/src/transformers/features/miscellaneous/ApplicationTransformer.ts +104 -104
- package/lib/factories/internal/metadata/emplace_metadata_definition.js.map +0 -1
package/src/factories/internal/metadata/{emplace_metadata_definition.ts → emplace_metadata_alias.ts}
RENAMED
|
@@ -7,9 +7,10 @@ import { ArrayUtil } from "../../../utils/ArrayUtil";
|
|
|
7
7
|
|
|
8
8
|
import { MetadataCollection } from "../../MetadataCollection";
|
|
9
9
|
import { MetadataFactory } from "../../MetadataFactory";
|
|
10
|
+
import { MetadataTagFactory } from "../../MetadataTagFactory";
|
|
10
11
|
import { explore_metadata } from "./explore_metadata";
|
|
11
12
|
|
|
12
|
-
export const
|
|
13
|
+
export const emplace_metadata_alias =
|
|
13
14
|
(checker: ts.TypeChecker) =>
|
|
14
15
|
(options: MetadataFactory.IOptions) =>
|
|
15
16
|
(collection: MetadataCollection) =>
|
|
@@ -30,6 +31,10 @@ export const emplace_metadata_definition =
|
|
|
30
31
|
true,
|
|
31
32
|
);
|
|
32
33
|
closure(value);
|
|
33
|
-
|
|
34
|
+
alias.tags.push(
|
|
35
|
+
...MetadataTagFactory.generate(value)(alias.jsDocTags)(
|
|
36
|
+
() => alias.name,
|
|
37
|
+
),
|
|
38
|
+
);
|
|
34
39
|
return alias;
|
|
35
40
|
};
|
|
@@ -7,7 +7,7 @@ import { ArrayUtil } from "../../../utils/ArrayUtil";
|
|
|
7
7
|
|
|
8
8
|
import { MetadataCollection } from "../../MetadataCollection";
|
|
9
9
|
import { MetadataFactory } from "../../MetadataFactory";
|
|
10
|
-
import {
|
|
10
|
+
import { emplace_metadata_alias } from "./emplace_metadata_alias";
|
|
11
11
|
|
|
12
12
|
export const iterate_metadata_alias =
|
|
13
13
|
(checker: ts.TypeChecker) =>
|
|
@@ -22,9 +22,9 @@ export const iterate_metadata_alias =
|
|
|
22
22
|
if (node === undefined) return false;
|
|
23
23
|
|
|
24
24
|
// CONSTRUCT DEFINITION
|
|
25
|
-
const alias: MetadataAlias =
|
|
26
|
-
|
|
27
|
-
)(
|
|
25
|
+
const alias: MetadataAlias = emplace_metadata_alias(checker)(options)(
|
|
26
|
+
collection,
|
|
27
|
+
)(type, meta.nullable);
|
|
28
28
|
ArrayUtil.add(meta.aliases, alias, (elem) => elem.name === alias.name);
|
|
29
29
|
return true;
|
|
30
30
|
};
|
|
@@ -48,8 +48,8 @@ const isArrayRecursive =
|
|
|
48
48
|
meta.arrays.some(
|
|
49
49
|
(a) => a === array || isArrayRecursive(visited)(array)(a.value),
|
|
50
50
|
) ||
|
|
51
|
-
meta.aliases.some((
|
|
52
|
-
isArrayRecursive(visited)(array)(
|
|
51
|
+
meta.aliases.some((alias) =>
|
|
52
|
+
isArrayRecursive(visited)(array)(alias.value),
|
|
53
53
|
) ||
|
|
54
54
|
meta.tuples.some(
|
|
55
55
|
(t) =>
|
|
@@ -83,8 +83,8 @@ const isTupleRecursive =
|
|
|
83
83
|
) ||
|
|
84
84
|
meta.maps.some((m) => isTupleRecursive(visited)(tuple)(m.value)) ||
|
|
85
85
|
meta.sets.some((s) => isTupleRecursive(visited)(tuple)(s)) ||
|
|
86
|
-
meta.aliases.some((
|
|
87
|
-
isTupleRecursive(visited)(tuple)(
|
|
86
|
+
meta.aliases.some((alias) =>
|
|
87
|
+
isTupleRecursive(visited)(tuple)(alias.value),
|
|
88
88
|
) ||
|
|
89
89
|
(meta.resolved !== null &&
|
|
90
90
|
isTupleRecursive(visited)(tuple)(meta.resolved.returns)) ||
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { IJsDocTagInfo } from "./IJsDocTagInfo";
|
|
2
2
|
import { IMetadata } from "./IMetadata";
|
|
3
|
+
import { IMetadataTag } from "./IMetadataTag";
|
|
3
4
|
|
|
4
5
|
export interface IMetadataAlias {
|
|
5
6
|
name: string;
|
|
6
7
|
value: IMetadata;
|
|
8
|
+
nullables: boolean[];
|
|
7
9
|
|
|
8
10
|
description: string | null;
|
|
11
|
+
tags: IMetadataTag[];
|
|
9
12
|
jsDocTags: IJsDocTagInfo[];
|
|
10
13
|
recursive: boolean;
|
|
11
|
-
nullables: boolean[];
|
|
12
14
|
}
|
|
@@ -1,105 +1,105 @@
|
|
|
1
|
-
export type IMetadataTag =
|
|
2
|
-
// NUMBER
|
|
3
|
-
| IMetadataTag.IType
|
|
4
|
-
| IMetadataTag.IMinimum
|
|
5
|
-
| IMetadataTag.IMaximum
|
|
6
|
-
| IMetadataTag.IExclusiveMinimum
|
|
7
|
-
| IMetadataTag.IExclusiveMaximum
|
|
8
|
-
| IMetadataTag.IMultipleOf
|
|
9
|
-
| IMetadataTag.IStep
|
|
10
|
-
// STRING
|
|
11
|
-
| IMetadataTag.IFormat
|
|
12
|
-
| IMetadataTag.IPattern
|
|
13
|
-
| IMetadataTag.ILength
|
|
14
|
-
| IMetadataTag.IMinLength
|
|
15
|
-
| IMetadataTag.IMaxLength
|
|
16
|
-
// ARRAY
|
|
17
|
-
| IMetadataTag.IItems
|
|
18
|
-
| IMetadataTag.IMinItems
|
|
19
|
-
| IMetadataTag.IMaxItems;
|
|
20
|
-
|
|
21
|
-
export namespace IMetadataTag {
|
|
22
|
-
/* -----------------------------------------------------------
|
|
23
|
-
NUMBER
|
|
24
|
-
----------------------------------------------------------- */
|
|
25
|
-
export interface IType {
|
|
26
|
-
kind: "type";
|
|
27
|
-
value: "int" | "uint";
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export interface IMinimum {
|
|
31
|
-
kind: "minimum";
|
|
32
|
-
value: number;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export interface IMaximum {
|
|
36
|
-
kind: "maximum";
|
|
37
|
-
value: number;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export interface IExclusiveMinimum {
|
|
41
|
-
kind: "exclusiveMinimum";
|
|
42
|
-
value: number;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
export interface IExclusiveMaximum {
|
|
46
|
-
kind: "exclusiveMaximum";
|
|
47
|
-
value: number;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
export interface IMultipleOf {
|
|
51
|
-
kind: "multipleOf";
|
|
52
|
-
value: number;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
export interface IStep {
|
|
56
|
-
kind: "step";
|
|
57
|
-
value: number;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
/* -----------------------------------------------------------
|
|
61
|
-
STRING
|
|
62
|
-
----------------------------------------------------------- */
|
|
63
|
-
export interface IFormat {
|
|
64
|
-
kind: "format";
|
|
65
|
-
value: "uuid" | "email" | "url" | "ipv4" | "ipv6" | "date" | "datetime";
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
export interface IPattern {
|
|
69
|
-
kind: "pattern";
|
|
70
|
-
value: string;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
export interface ILength {
|
|
74
|
-
kind: "length";
|
|
75
|
-
value: number;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
export interface IMinLength {
|
|
79
|
-
kind: "minLength";
|
|
80
|
-
value: number;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
export interface IMaxLength {
|
|
84
|
-
kind: "maxLength";
|
|
85
|
-
value: number;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
/* -----------------------------------------------------------
|
|
89
|
-
ARRAY
|
|
90
|
-
----------------------------------------------------------- */
|
|
91
|
-
export interface IItems {
|
|
92
|
-
kind: "items";
|
|
93
|
-
value: number;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
export interface IMinItems {
|
|
97
|
-
kind: "minItems";
|
|
98
|
-
value: number;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
export interface IMaxItems {
|
|
102
|
-
kind: "maxItems";
|
|
103
|
-
value: number;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
1
|
+
export type IMetadataTag =
|
|
2
|
+
// NUMBER
|
|
3
|
+
| IMetadataTag.IType
|
|
4
|
+
| IMetadataTag.IMinimum
|
|
5
|
+
| IMetadataTag.IMaximum
|
|
6
|
+
| IMetadataTag.IExclusiveMinimum
|
|
7
|
+
| IMetadataTag.IExclusiveMaximum
|
|
8
|
+
| IMetadataTag.IMultipleOf
|
|
9
|
+
| IMetadataTag.IStep
|
|
10
|
+
// STRING
|
|
11
|
+
| IMetadataTag.IFormat
|
|
12
|
+
| IMetadataTag.IPattern
|
|
13
|
+
| IMetadataTag.ILength
|
|
14
|
+
| IMetadataTag.IMinLength
|
|
15
|
+
| IMetadataTag.IMaxLength
|
|
16
|
+
// ARRAY
|
|
17
|
+
| IMetadataTag.IItems
|
|
18
|
+
| IMetadataTag.IMinItems
|
|
19
|
+
| IMetadataTag.IMaxItems;
|
|
20
|
+
|
|
21
|
+
export namespace IMetadataTag {
|
|
22
|
+
/* -----------------------------------------------------------
|
|
23
|
+
NUMBER
|
|
24
|
+
----------------------------------------------------------- */
|
|
25
|
+
export interface IType {
|
|
26
|
+
kind: "type";
|
|
27
|
+
value: "int" | "uint";
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export interface IMinimum {
|
|
31
|
+
kind: "minimum";
|
|
32
|
+
value: number;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export interface IMaximum {
|
|
36
|
+
kind: "maximum";
|
|
37
|
+
value: number;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export interface IExclusiveMinimum {
|
|
41
|
+
kind: "exclusiveMinimum";
|
|
42
|
+
value: number;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export interface IExclusiveMaximum {
|
|
46
|
+
kind: "exclusiveMaximum";
|
|
47
|
+
value: number;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export interface IMultipleOf {
|
|
51
|
+
kind: "multipleOf";
|
|
52
|
+
value: number;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export interface IStep {
|
|
56
|
+
kind: "step";
|
|
57
|
+
value: number;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/* -----------------------------------------------------------
|
|
61
|
+
STRING
|
|
62
|
+
----------------------------------------------------------- */
|
|
63
|
+
export interface IFormat {
|
|
64
|
+
kind: "format";
|
|
65
|
+
value: "uuid" | "email" | "url" | "ipv4" | "ipv6" | "date" | "datetime";
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export interface IPattern {
|
|
69
|
+
kind: "pattern";
|
|
70
|
+
value: string;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export interface ILength {
|
|
74
|
+
kind: "length";
|
|
75
|
+
value: number;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export interface IMinLength {
|
|
79
|
+
kind: "minLength";
|
|
80
|
+
value: number;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export interface IMaxLength {
|
|
84
|
+
kind: "maxLength";
|
|
85
|
+
value: number;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/* -----------------------------------------------------------
|
|
89
|
+
ARRAY
|
|
90
|
+
----------------------------------------------------------- */
|
|
91
|
+
export interface IItems {
|
|
92
|
+
kind: "items";
|
|
93
|
+
value: number;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export interface IMinItems {
|
|
97
|
+
kind: "minItems";
|
|
98
|
+
value: number;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
export interface IMaxItems {
|
|
102
|
+
kind: "maxItems";
|
|
103
|
+
value: number;
|
|
104
|
+
}
|
|
105
|
+
}
|