typia 3.8.5-dev.20230510 → 3.8.6-dev.20230511
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/module.d.ts +1 -3
- package/lib/module.js.map +1 -1
- package/lib/programmers/ApplicationProgrammer.d.ts +1 -4
- package/lib/programmers/ApplicationProgrammer.js +2 -6
- package/lib/programmers/ApplicationProgrammer.js.map +1 -1
- package/lib/programmers/internal/JSON_SCHEMA_PREFIX.d.ts +1 -0
- package/lib/programmers/internal/JSON_SCHEMA_PREFIX.js +5 -0
- package/lib/programmers/internal/JSON_SCHEMA_PREFIX.js.map +1 -0
- package/lib/programmers/internal/application_array.js +6 -5
- package/lib/programmers/internal/application_array.js.map +1 -1
- package/lib/programmers/internal/application_boolean.js +1 -1
- package/lib/programmers/internal/application_boolean.js.map +1 -1
- package/lib/programmers/internal/application_constant.js +1 -1
- package/lib/programmers/internal/application_constant.js.map +1 -1
- package/lib/programmers/internal/application_default.js +3 -3
- package/lib/programmers/internal/application_default.js.map +1 -1
- package/lib/programmers/internal/application_native.js +15 -11
- package/lib/programmers/internal/application_native.js.map +1 -1
- package/lib/programmers/internal/application_number.js +8 -7
- package/lib/programmers/internal/application_number.js.map +1 -1
- package/lib/programmers/internal/application_object.js +18 -13
- package/lib/programmers/internal/application_object.js.map +1 -1
- package/lib/programmers/internal/application_schema.js +43 -63
- package/lib/programmers/internal/application_schema.js.map +1 -1
- package/lib/programmers/internal/application_string.js +29 -27
- package/lib/programmers/internal/application_string.js.map +1 -1
- package/lib/programmers/internal/application_templates.js +1 -1
- package/lib/programmers/internal/application_templates.js.map +1 -1
- package/lib/programmers/internal/application_tuple.js +3 -3
- package/lib/programmers/internal/application_tuple.js.map +1 -1
- package/lib/schemas/IJsonApplication.d.ts +3 -0
- package/lib/schemas/IJsonComponents.d.ts +7 -1
- package/lib/schemas/IJsonSchema.d.ts +4 -1
- package/lib/transformers/features/miscellaneous/ApplicationTransformer.js +0 -6
- package/lib/transformers/features/miscellaneous/ApplicationTransformer.js.map +1 -1
- package/package.json +1 -1
- package/src/module.ts +1 -6
- package/src/programmers/ApplicationProgrammer.ts +2 -8
- package/src/programmers/internal/JSON_SCHEMA_PREFIX.ts +1 -0
- package/src/programmers/internal/application_array.ts +4 -8
- package/src/programmers/internal/application_boolean.ts +6 -8
- package/src/programmers/internal/application_constant.ts +3 -7
- package/src/programmers/internal/application_default.ts +1 -1
- package/src/programmers/internal/application_native.ts +16 -12
- package/src/programmers/internal/application_number.ts +7 -9
- package/src/programmers/internal/application_object.ts +13 -6
- package/src/programmers/internal/application_schema.ts +36 -51
- package/src/programmers/internal/application_string.ts +28 -29
- package/src/programmers/internal/application_templates.ts +0 -1
- package/src/programmers/internal/application_tuple.ts +3 -7
- package/src/schemas/IJsonApplication.ts +4 -0
- package/src/schemas/IJsonComponents.ts +8 -1
- package/src/schemas/IJsonSchema.ts +5 -1
- package/src/transformers/features/miscellaneous/ApplicationTransformer.ts +0 -11
|
@@ -25,6 +25,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
25
25
|
exports.application_schema = void 0;
|
|
26
26
|
var Metadata_1 = require("../../metadata/Metadata");
|
|
27
27
|
var AtomicPredicator_1 = require("../helpers/AtomicPredicator");
|
|
28
|
+
var JSON_SCHEMA_PREFIX_1 = require("./JSON_SCHEMA_PREFIX");
|
|
28
29
|
var application_array_1 = require("./application_array");
|
|
29
30
|
var application_boolean_1 = require("./application_boolean");
|
|
30
31
|
var application_constant_1 = require("./application_constant");
|
|
@@ -40,130 +41,113 @@ var application_schema = function (options) {
|
|
|
40
41
|
return function (meta) {
|
|
41
42
|
return function (attribute) {
|
|
42
43
|
var e_1, _a, e_2, _b, e_3, _c, e_4, _d, e_5, _e, e_6, _f;
|
|
43
|
-
var _g
|
|
44
|
+
var _g;
|
|
44
45
|
if (meta.any === true)
|
|
45
46
|
return __assign(__assign({}, attribute), { type: undefined });
|
|
46
47
|
else if (meta.nullable && meta.empty())
|
|
47
48
|
return __assign({ type: "null" }, attribute);
|
|
48
49
|
var union = [];
|
|
50
|
+
if (meta.nullable && options.purpose !== "swagger")
|
|
51
|
+
union.push(__assign(__assign({}, attribute), { type: "null" }));
|
|
52
|
+
var insert = meta.nullable && options.purpose === "swagger"
|
|
53
|
+
? function (significant) {
|
|
54
|
+
return union.push(__assign(__assign({}, significant), { nullable: true }));
|
|
55
|
+
}
|
|
56
|
+
: function (schema) { return union.push(schema); };
|
|
49
57
|
if (meta.resolved !== null) {
|
|
50
58
|
var resolved = (0, exports.application_schema)(options)(blockNever)(components)(meta.resolved)(attribute);
|
|
51
59
|
if (resolved !== null)
|
|
52
60
|
union.push(resolved);
|
|
53
61
|
}
|
|
54
62
|
if (meta.templates.length && AtomicPredicator_1.AtomicPredicator.template(meta))
|
|
55
|
-
|
|
63
|
+
insert((0, application_templates_1.application_templates)(meta)(attribute));
|
|
56
64
|
try {
|
|
57
|
-
for (var
|
|
58
|
-
var constant =
|
|
65
|
+
for (var _h = __values(meta.constants), _j = _h.next(); !_j.done; _j = _h.next()) {
|
|
66
|
+
var constant = _j.value;
|
|
59
67
|
if (constant.type === "bigint")
|
|
60
68
|
throw new Error(NO_BIGINT);
|
|
61
69
|
else if ((constant.type === "string" && meta.templates.length) ||
|
|
62
70
|
AtomicPredicator_1.AtomicPredicator.constant(meta)(constant.type) === false)
|
|
63
71
|
continue;
|
|
64
72
|
else
|
|
65
|
-
|
|
66
|
-
nullable: meta.nullable,
|
|
67
|
-
attribute: attribute,
|
|
68
|
-
}));
|
|
73
|
+
insert((0, application_constant_1.application_constant)(constant)(attribute));
|
|
69
74
|
}
|
|
70
75
|
}
|
|
71
76
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
72
77
|
finally {
|
|
73
78
|
try {
|
|
74
|
-
if (
|
|
79
|
+
if (_j && !_j.done && (_a = _h.return)) _a.call(_h);
|
|
75
80
|
}
|
|
76
81
|
finally { if (e_1) throw e_1.error; }
|
|
77
82
|
}
|
|
78
83
|
try {
|
|
79
|
-
for (var
|
|
80
|
-
var type =
|
|
84
|
+
for (var _k = __values(meta.atomics), _l = _k.next(); !_l.done; _l = _k.next()) {
|
|
85
|
+
var type = _l.value;
|
|
81
86
|
if (type === "bigint")
|
|
82
87
|
throw new Error(NO_BIGINT);
|
|
83
88
|
else if (AtomicPredicator_1.AtomicPredicator.atomic(meta)(type) === false)
|
|
84
89
|
continue;
|
|
85
90
|
else
|
|
86
|
-
|
|
87
|
-
? (0, application_string_1.application_string)(meta
|
|
91
|
+
insert(type === "string"
|
|
92
|
+
? (0, application_string_1.application_string)(meta)(attribute)
|
|
88
93
|
: type === "boolean"
|
|
89
|
-
? (0, application_boolean_1.application_boolean)(
|
|
90
|
-
|
|
91
|
-
attribute: attribute,
|
|
92
|
-
})
|
|
93
|
-
: (0, application_number_1.application_number)({
|
|
94
|
-
nullable: meta.nullable,
|
|
95
|
-
attribute: attribute,
|
|
96
|
-
}));
|
|
94
|
+
? (0, application_boolean_1.application_boolean)(attribute)
|
|
95
|
+
: (0, application_number_1.application_number)(attribute));
|
|
97
96
|
}
|
|
98
97
|
}
|
|
99
98
|
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
100
99
|
finally {
|
|
101
100
|
try {
|
|
102
|
-
if (
|
|
101
|
+
if (_l && !_l.done && (_b = _k.return)) _b.call(_k);
|
|
103
102
|
}
|
|
104
103
|
finally { if (e_2) throw e_2.error; }
|
|
105
104
|
}
|
|
106
105
|
try {
|
|
107
|
-
for (var
|
|
108
|
-
var schema =
|
|
109
|
-
|
|
110
|
-
nullable: meta.nullable,
|
|
111
|
-
attribute: attribute,
|
|
112
|
-
}));
|
|
106
|
+
for (var _m = __values(meta.arrays.values()), _o = _m.next(); !_o.done; _o = _m.next()) {
|
|
107
|
+
var schema = _o.value;
|
|
108
|
+
insert((0, application_array_1.application_array)(options)(components)()(schema)(attribute));
|
|
113
109
|
}
|
|
114
110
|
}
|
|
115
111
|
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
116
112
|
finally {
|
|
117
113
|
try {
|
|
118
|
-
if (
|
|
114
|
+
if (_o && !_o.done && (_c = _m.return)) _c.call(_m);
|
|
119
115
|
}
|
|
120
116
|
finally { if (e_3) throw e_3.error; }
|
|
121
117
|
}
|
|
122
118
|
try {
|
|
123
|
-
for (var
|
|
124
|
-
var items =
|
|
125
|
-
var tuple = (0, application_tuple_1.application_tuple)(options)(components)(items)(
|
|
126
|
-
nullable: meta.nullable,
|
|
127
|
-
attribute: attribute,
|
|
128
|
-
});
|
|
119
|
+
for (var _p = __values(meta.tuples), _q = _p.next(); !_q.done; _q = _p.next()) {
|
|
120
|
+
var items = _q.value;
|
|
121
|
+
var tuple = (0, application_tuple_1.application_tuple)(options)(components)(items)(attribute);
|
|
129
122
|
if (options.purpose === "swagger" && items.length === 0)
|
|
130
123
|
throw new Error("Error on typia.application(): swagger does not support zero length tuple type.");
|
|
131
124
|
else if (options.purpose === "ajv" &&
|
|
132
125
|
!((_g = items[items.length - 1]) === null || _g === void 0 ? void 0 : _g.rest))
|
|
133
|
-
|
|
126
|
+
insert(tuple);
|
|
134
127
|
else {
|
|
135
128
|
var merged = items.reduce(function (x, y) {
|
|
136
129
|
return Metadata_1.Metadata.merge(x, y);
|
|
137
130
|
});
|
|
138
|
-
|
|
139
|
-
nullable: (_h = merged === null || merged === void 0 ? void 0 : merged.nullable) !== null && _h !== void 0 ? _h : false,
|
|
140
|
-
attribute: attribute,
|
|
141
|
-
}));
|
|
131
|
+
insert((0, application_array_1.application_array)(options)(components)(tuple)(merged)(attribute));
|
|
142
132
|
}
|
|
143
133
|
}
|
|
144
134
|
}
|
|
145
135
|
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
146
136
|
finally {
|
|
147
137
|
try {
|
|
148
|
-
if (
|
|
138
|
+
if (_q && !_q.done && (_d = _p.return)) _d.call(_p);
|
|
149
139
|
}
|
|
150
140
|
finally { if (e_4) throw e_4.error; }
|
|
151
141
|
}
|
|
152
142
|
try {
|
|
153
|
-
for (var
|
|
154
|
-
var native =
|
|
143
|
+
for (var _r = __values(meta.natives), _s = _r.next(); !_s.done; _s = _r.next()) {
|
|
144
|
+
var native = _s.value;
|
|
155
145
|
if (AtomicPredicator_1.AtomicPredicator.native(native))
|
|
156
|
-
|
|
157
|
-
? (0, application_string_1.application_string)(meta
|
|
146
|
+
insert(native === "String"
|
|
147
|
+
? (0, application_string_1.application_string)(meta)(attribute)
|
|
158
148
|
: native === "Boolean"
|
|
159
|
-
? (0, application_boolean_1.application_boolean)(
|
|
160
|
-
|
|
161
|
-
attribute: attribute,
|
|
162
|
-
})
|
|
163
|
-
: (0, application_number_1.application_number)({
|
|
164
|
-
nullable: meta.nullable,
|
|
165
|
-
attribute: attribute,
|
|
166
|
-
}));
|
|
149
|
+
? (0, application_boolean_1.application_boolean)(attribute)
|
|
150
|
+
: (0, application_number_1.application_number)(attribute));
|
|
167
151
|
else
|
|
168
152
|
union.push((0, application_native_1.application_native)(options)(components)(native)({
|
|
169
153
|
nullable: meta.nullable,
|
|
@@ -174,7 +158,7 @@ var application_schema = function (options) {
|
|
|
174
158
|
catch (e_5_1) { e_5 = { error: e_5_1 }; }
|
|
175
159
|
finally {
|
|
176
160
|
try {
|
|
177
|
-
if (
|
|
161
|
+
if (_s && !_s.done && (_e = _r.return)) _e.call(_r);
|
|
178
162
|
}
|
|
179
163
|
finally { if (e_5) throw e_5.error; }
|
|
180
164
|
}
|
|
@@ -189,22 +173,18 @@ var application_schema = function (options) {
|
|
|
189
173
|
attribute: attribute,
|
|
190
174
|
}));
|
|
191
175
|
try {
|
|
192
|
-
for (var
|
|
193
|
-
var obj =
|
|
194
|
-
var key =
|
|
195
|
-
(0, application_object_1.application_object)(options)(components)(obj)({
|
|
196
|
-
key: key,
|
|
197
|
-
nullable: meta.nullable,
|
|
198
|
-
});
|
|
176
|
+
for (var _t = __values(meta.objects), _u = _t.next(); !_u.done; _u = _t.next()) {
|
|
177
|
+
var obj = _u.value;
|
|
178
|
+
var key = (0, application_object_1.application_object)(options)(components)(obj)(meta.nullable);
|
|
199
179
|
union.push((options.purpose === "ajv" && obj.recursive
|
|
200
180
|
? recursive
|
|
201
|
-
: reference)("".concat(
|
|
181
|
+
: reference)("".concat(JSON_SCHEMA_PREFIX_1.JSON_SCHEMA_PREFIX, "/").concat(key), attribute));
|
|
202
182
|
}
|
|
203
183
|
}
|
|
204
184
|
catch (e_6_1) { e_6 = { error: e_6_1 }; }
|
|
205
185
|
finally {
|
|
206
186
|
try {
|
|
207
|
-
if (
|
|
187
|
+
if (_u && !_u.done && (_f = _t.return)) _f.call(_t);
|
|
208
188
|
}
|
|
209
189
|
finally { if (e_6) throw e_6.error; }
|
|
210
190
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application_schema.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_schema.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAmD;AAKnD,gEAA+D;AAC/D,yDAAwD;AACxD,6DAA4D;AAC5D,+DAA8D;AAC9D,2DAA0D;AAC1D,2DAA0D;AAC1D,2DAA0D;AAC1D,2DAA0D;AAC1D,iEAAgE;AAChE,yDAAwD;AAKjD,IAAM,kBAAkB,GAC3B,UAAC,OAAuC;IACxC,OAAA,UAA6B,UAAsB;QACnD,OAAA,UAAC,UAA2B;YAC5B,OAAA,UAAC,IAAc;gBACf,OAAA,UACI,SAAiC;;;oBAGjC,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI;wBACjB,6BACO,SAAS,KACZ,IAAI,EAAE,SAAS,IACjB;yBACD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE;wBAClC,kBAAS,IAAI,EAAE,MAAM,IAAK,SAAS,EAAG;oBAK1C,IAAM,KAAK,GAAkB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"application_schema.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,35 +24,37 @@ var __values = (this && this.__values) || function(o) {
|
|
|
24
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
25
|
exports.application_string = void 0;
|
|
26
26
|
var application_default_string_1 = require("./application_default_string");
|
|
27
|
-
var application_string = function (meta
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
for (var _e = __values((_d = attribute["x-typia-metaTags"]) !== null && _d !== void 0 ? _d : []), _f = _e.next(); !_f.done; _f = _e.next()) {
|
|
36
|
-
var tag = _f.value;
|
|
37
|
-
if (tag.kind === "minLength")
|
|
38
|
-
output.minLength = tag.value;
|
|
39
|
-
else if (tag.kind === "maxLength")
|
|
40
|
-
output.maxLength = tag.value;
|
|
41
|
-
else if (tag.kind === "format")
|
|
42
|
-
output.format = emendFormat(tag.value);
|
|
43
|
-
else if (tag.kind === "pattern")
|
|
44
|
-
output.pattern = tag.value;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
48
|
-
finally {
|
|
27
|
+
var application_string = function (meta) {
|
|
28
|
+
return function (attribute) {
|
|
29
|
+
var e_1, _a;
|
|
30
|
+
var _b, _c, _d;
|
|
31
|
+
var output = __assign(__assign({}, attribute), { type: "string" });
|
|
32
|
+
var formatJsdocTag = (_b = attribute["x-typia-jsDocTags"]) === null || _b === void 0 ? void 0 : _b.find(function (tag) { return tag.name === "format"; });
|
|
33
|
+
if ((_c = formatJsdocTag === null || formatJsdocTag === void 0 ? void 0 : formatJsdocTag.text) === null || _c === void 0 ? void 0 : _c.length)
|
|
34
|
+
output.format = formatJsdocTag === null || formatJsdocTag === void 0 ? void 0 : formatJsdocTag.text.map(function (t) { return t.text; }).join(" ");
|
|
49
35
|
try {
|
|
50
|
-
|
|
36
|
+
for (var _e = __values((_d = attribute["x-typia-metaTags"]) !== null && _d !== void 0 ? _d : []), _f = _e.next(); !_f.done; _f = _e.next()) {
|
|
37
|
+
var tag = _f.value;
|
|
38
|
+
if (tag.kind === "minLength")
|
|
39
|
+
output.minLength = tag.value;
|
|
40
|
+
else if (tag.kind === "maxLength")
|
|
41
|
+
output.maxLength = tag.value;
|
|
42
|
+
else if (tag.kind === "format")
|
|
43
|
+
output.format = emendFormat(tag.value);
|
|
44
|
+
else if (tag.kind === "pattern")
|
|
45
|
+
output.pattern = tag.value;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
49
|
+
finally {
|
|
50
|
+
try {
|
|
51
|
+
if (_f && !_f.done && (_a = _e.return)) _a.call(_e);
|
|
52
|
+
}
|
|
53
|
+
finally { if (e_1) throw e_1.error; }
|
|
51
54
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
return output;
|
|
55
|
+
output.default = (0, application_default_string_1.application_default_string)(meta)(attribute)(output);
|
|
56
|
+
return output;
|
|
57
|
+
};
|
|
56
58
|
};
|
|
57
59
|
exports.application_string = application_string;
|
|
58
60
|
var emendFormat = function (tag) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application_string.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_string.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAIA,2EAA0E;AAKnE,IAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"application_string.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_string.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAIA,2EAA0E;AAKnE,IAAM,kBAAkB,GAC3B,UAAC,IAAc;IACf,OAAA,UAAC,SAAiC;;;QAC9B,IAAM,MAAM,yBACL,SAAS,KACZ,IAAI,EAAE,QAAQ,GACjB,CAAC;QAGF,IAAM,cAAc,GAAG,MAAA,SAAS,CAAC,mBAAmB,CAAC,0CAAE,IAAI,CACvD,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,IAAI,KAAK,QAAQ,EAArB,CAAqB,CACjC,CAAC;QACF,IAAI,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,0CAAE,MAAM;YAC5B,MAAM,CAAC,MAAM,GAAG,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,EAAN,CAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;;YAGtE,KAAkB,IAAA,KAAA,SAAA,MAAA,SAAS,CAAC,kBAAkB,CAAC,mCAAI,EAAE,CAAA,gBAAA,4BAAE;gBAAlD,IAAM,GAAG,WAAA;gBAEV,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW;oBAAE,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC;qBACtD,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW;oBAAE,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC;qBAE3D,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ;oBAC1B,MAAM,CAAC,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;qBACtC,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;oBAAE,MAAM,CAAC,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC;aAC/D;;;;;;;;;QAGD,MAAM,CAAC,OAAO,GAAG,IAAA,uDAA0B,EAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;QAGrE,OAAO,MAAM,CAAC;IAClB,CAAC;AA7BD,CA6BC,CAAC;AA/BO,QAAA,kBAAkB,sBA+BzB;AAEN,IAAM,WAAW,GAAG,UAAC,GAAkC;IACnD,OAAA,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG;AAAtC,CAAsC,CAAC"}
|
|
@@ -16,7 +16,7 @@ var application_default_string_1 = require("./application_default_string");
|
|
|
16
16
|
var metadata_to_pattern_1 = require("./metadata_to_pattern");
|
|
17
17
|
var application_templates = function (meta) {
|
|
18
18
|
return function (attribute) {
|
|
19
|
-
var output = __assign({ type: "string"
|
|
19
|
+
var output = __assign({ type: "string" }, attribute);
|
|
20
20
|
output.pattern = (0, metadata_to_pattern_1.metadata_to_pattern)(true)(meta);
|
|
21
21
|
output.default = (0, application_default_string_1.application_default_string)(meta)(attribute)(output);
|
|
22
22
|
return output;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application_templates.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_templates.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAGA,2EAA0E;AAC1E,6DAA4D;AAKrD,IAAM,qBAAqB,GAC9B,UAAC,IAAc;IACf,OAAA,UAAC,SAAiC;QAE9B,IAAM,MAAM,cACR,IAAI,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"application_templates.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_templates.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAGA,2EAA0E;AAC1E,6DAA4D;AAKrD,IAAM,qBAAqB,GAC9B,UAAC,IAAc;IACf,OAAA,UAAC,SAAiC;QAE9B,IAAM,MAAM,cACR,IAAI,EAAE,QAAQ,IACX,SAAS,CACf,CAAC;QACF,MAAM,CAAC,OAAO,GAAG,IAAA,yCAAmB,EAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAGjD,MAAM,CAAC,OAAO,GAAG,IAAA,uDAA0B,EAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;QAGrE,OAAO,MAAM,CAAC;IAClB,CAAC;AAbD,CAaC,CAAC;AAfO,QAAA,qBAAqB,yBAe5B"}
|
|
@@ -16,10 +16,10 @@ var application_schema_1 = require("./application_schema");
|
|
|
16
16
|
var application_tuple = function (options) {
|
|
17
17
|
return function (components) {
|
|
18
18
|
return function (items) {
|
|
19
|
-
return function (
|
|
19
|
+
return function (attribute) { return (__assign({ type: "array", items: items.map(function (meta, i) {
|
|
20
20
|
var _a;
|
|
21
|
-
return (0, application_schema_1.application_schema)(options)(false)(components)((_a = meta.rest) !== null && _a !== void 0 ? _a : meta)(__assign(__assign({},
|
|
22
|
-
})
|
|
21
|
+
return (0, application_schema_1.application_schema)(options)(false)(components)((_a = meta.rest) !== null && _a !== void 0 ? _a : meta)(__assign(__assign({}, attribute), { "x-typia-rest": i === items.length - 1 ? meta.rest !== null : undefined, "x-typia-required": meta.required, "x-typia-optional": meta.optional }));
|
|
22
|
+
}) }, attribute)); };
|
|
23
23
|
};
|
|
24
24
|
};
|
|
25
25
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application_tuple.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_tuple.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAKA,2DAA0D;AAKnD,IAAM,iBAAiB,GAC1B,UAAC,OAAuC;IACxC,OAAA,UAAC,UAA2B;QAC5B,OAAA,UAAC,KAAsB;YACvB,OAAA,UAAC,
|
|
1
|
+
{"version":3,"file":"application_tuple.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_tuple.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAKA,2DAA0D;AAKnD,IAAM,iBAAiB,GAC1B,UAAC,OAAuC;IACxC,OAAA,UAAC,UAA2B;QAC5B,OAAA,UAAC,KAAsB;YACvB,OAAA,UAAC,SAAiC,IAAyB,OAAA,YACvD,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI,EAAE,CAAC;;oBACrB,OAAA,IAAA,uCAAkB,EAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,MAAA,IAAI,CAAC,IAAI,mCAAI,IAAI,CAAC,uBAC1D,SAAS,KACZ,cAAc,EACV,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,EAC3D,kBAAkB,EAAE,IAAI,CAAC,QAAQ,EACjC,kBAAkB,EAAE,IAAI,CAAC,QAAQ,IACnC,CAAA;iBAAA,CACL,IACE,SAAS,EACd,EAZyD,CAYzD;QAZF,CAYE;IAbF,CAaE;AAdF,CAcE,CAAC;AAhBM,QAAA,iBAAiB,qBAgBvB"}
|
|
@@ -5,10 +5,16 @@ export interface IJsonComponents {
|
|
|
5
5
|
}
|
|
6
6
|
export declare namespace IJsonComponents {
|
|
7
7
|
interface IObject {
|
|
8
|
+
/**
|
|
9
|
+
* Used only when ajv mode.
|
|
10
|
+
*/
|
|
8
11
|
$id?: string;
|
|
9
12
|
$recursiveAnchor?: boolean;
|
|
10
13
|
type: "object";
|
|
11
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Only when swagger mode.
|
|
16
|
+
*/
|
|
17
|
+
nullable?: boolean;
|
|
12
18
|
properties: Record<string, IJsonSchema>;
|
|
13
19
|
patternProperties?: Record<string, IJsonSchema>;
|
|
14
20
|
additionalProperties?: IJsonSchema;
|
|
@@ -83,7 +83,10 @@ export declare namespace IJsonSchema {
|
|
|
83
83
|
}
|
|
84
84
|
interface ISignificant<Literal extends string> extends IAttribute {
|
|
85
85
|
type: Literal;
|
|
86
|
-
|
|
86
|
+
/**
|
|
87
|
+
* Only when swagger mode.
|
|
88
|
+
*/
|
|
89
|
+
nullable?: boolean;
|
|
87
90
|
}
|
|
88
91
|
interface IAttribute {
|
|
89
92
|
deprecated?: boolean;
|
|
@@ -28,11 +28,6 @@ var ApplicationTransformer;
|
|
|
28
28
|
if (types.some(function (t) { return t.isTypeParameter(); }))
|
|
29
29
|
throw new Error(GENERIC_ARGUMENT);
|
|
30
30
|
var purpose = get_parameter(checker, "Purpose", expression.typeArguments[1], function (str) { return str === "swagger" || str === "ajv"; }, function () { return "swagger"; });
|
|
31
|
-
var prefix = get_parameter(checker, "Prefix", expression.typeArguments[2], function () { return true; }, function () {
|
|
32
|
-
return purpose === "swagger"
|
|
33
|
-
? "#/components/schemas"
|
|
34
|
-
: "components#/schemas";
|
|
35
|
-
});
|
|
36
31
|
var collection = new MetadataCollection_1.MetadataCollection({
|
|
37
32
|
replace: MetadataCollection_1.MetadataCollection.replace,
|
|
38
33
|
});
|
|
@@ -48,7 +43,6 @@ var ApplicationTransformer;
|
|
|
48
43
|
});
|
|
49
44
|
var app = ApplicationProgrammer_1.ApplicationProgrammer.write({
|
|
50
45
|
purpose: purpose,
|
|
51
|
-
prefix: prefix,
|
|
52
46
|
})(metadatas);
|
|
53
47
|
return LiteralFactory_1.LiteralFactory.generate(app);
|
|
54
48
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApplicationTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/miscellaneous/ApplicationTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,4EAA2E;AAC3E,sEAAqE;AAKrE,oFAAmF;AAInF,IAAiB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"ApplicationTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/miscellaneous/ApplicationTransformer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/module.ts
CHANGED
|
@@ -488,7 +488,6 @@ export const customValidators: CustomValidatorMap = {
|
|
|
488
488
|
*
|
|
489
489
|
* @template Types Tuple of target types
|
|
490
490
|
* @template Purpose Purpose of the JSON schema`
|
|
491
|
-
* @template Prefix Prefix of the JSON components referenced by `$ref` tag
|
|
492
491
|
* @return JSON schema application
|
|
493
492
|
*
|
|
494
493
|
* @author Jeongho Nam - https://github.com/samchon
|
|
@@ -512,17 +511,13 @@ export function application(): never;
|
|
|
512
511
|
*
|
|
513
512
|
* @template Types Tuple of target types
|
|
514
513
|
* @template Purpose Purpose of the JSON schema
|
|
515
|
-
* @template Prefix Prefix of the JSON components referenced by `$ref` tag
|
|
516
514
|
* @return JSON schema application
|
|
517
515
|
*
|
|
518
516
|
* @author Jeongho Nam - https://github.com/samchon
|
|
519
517
|
*/
|
|
520
518
|
export function application<
|
|
521
519
|
Types extends unknown[],
|
|
522
|
-
Purpose extends "
|
|
523
|
-
Prefix extends string = Purpose extends "swagger"
|
|
524
|
-
? "#/components/schemas"
|
|
525
|
-
: "components#/schemas",
|
|
520
|
+
Purpose extends "ajv" | "swagger" = "swagger",
|
|
526
521
|
>(): IJsonApplication;
|
|
527
522
|
|
|
528
523
|
/**
|
|
@@ -6,12 +6,8 @@ import { IJsonSchema } from "../schemas/IJsonSchema";
|
|
|
6
6
|
import { application_schema } from "./internal/application_schema";
|
|
7
7
|
|
|
8
8
|
export namespace ApplicationProgrammer {
|
|
9
|
-
export const AJV_PREFIX = "components#/schemas";
|
|
10
|
-
export const SWAGGER_PREFIX = "#/components/schemas";
|
|
11
|
-
|
|
12
9
|
export interface IOptions {
|
|
13
|
-
purpose: "
|
|
14
|
-
prefix: string;
|
|
10
|
+
purpose: "ajv" | "swagger";
|
|
15
11
|
}
|
|
16
12
|
|
|
17
13
|
/**
|
|
@@ -22,9 +18,6 @@ export namespace ApplicationProgrammer {
|
|
|
22
18
|
const purpose: "swagger" | "ajv" = options?.purpose ?? "swagger";
|
|
23
19
|
return {
|
|
24
20
|
purpose,
|
|
25
|
-
prefix:
|
|
26
|
-
options?.prefix ||
|
|
27
|
-
(purpose === "swagger" ? SWAGGER_PREFIX : AJV_PREFIX),
|
|
28
21
|
};
|
|
29
22
|
};
|
|
30
23
|
}
|
|
@@ -57,6 +50,7 @@ export namespace ApplicationProgrammer {
|
|
|
57
50
|
}),
|
|
58
51
|
components,
|
|
59
52
|
...fullOptions,
|
|
53
|
+
prefix: "#/components/schemas",
|
|
60
54
|
};
|
|
61
55
|
};
|
|
62
56
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const JSON_SCHEMA_PREFIX = "#/components/schemas";
|
|
@@ -13,23 +13,19 @@ export const application_array =
|
|
|
13
13
|
(components: IJsonComponents) =>
|
|
14
14
|
(tuple?: IJsonSchema.ITuple) =>
|
|
15
15
|
(metadata: Metadata) =>
|
|
16
|
-
(
|
|
17
|
-
nullable: boolean;
|
|
18
|
-
attribute: IJsonSchema.IAttribute;
|
|
19
|
-
}): IJsonSchema.IArray => {
|
|
16
|
+
(attribute: IJsonSchema.IAttribute): IJsonSchema.IArray => {
|
|
20
17
|
// SCHEMA
|
|
21
18
|
const output: IJsonSchema.IArray = {
|
|
19
|
+
...attribute,
|
|
22
20
|
type: "array",
|
|
23
21
|
items: application_schema(options)(false)(components)(metadata)(
|
|
24
|
-
|
|
22
|
+
attribute,
|
|
25
23
|
),
|
|
26
|
-
nullable: props.nullable,
|
|
27
24
|
"x-typia-tuple": tuple,
|
|
28
|
-
...props.attribute,
|
|
29
25
|
};
|
|
30
26
|
|
|
31
27
|
// RANGE
|
|
32
|
-
for (const tag of
|
|
28
|
+
for (const tag of attribute["x-typia-metaTags"] ?? [])
|
|
33
29
|
if (tag.kind === "minItems") output.minItems = tag.value;
|
|
34
30
|
else if (tag.kind === "maxItems") output.maxItems = tag.value;
|
|
35
31
|
return output;
|
|
@@ -4,14 +4,12 @@ import { application_default } from "./application_default";
|
|
|
4
4
|
/**
|
|
5
5
|
* @internal
|
|
6
6
|
*/
|
|
7
|
-
export const application_boolean = (
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
nullable: props.nullable,
|
|
13
|
-
...props.attribute,
|
|
14
|
-
default: application_default(props.attribute)(
|
|
7
|
+
export const application_boolean = (
|
|
8
|
+
attribute: IJsonSchema.IAttribute,
|
|
9
|
+
): IJsonSchema.IBoolean => ({
|
|
10
|
+
...attribute,
|
|
11
|
+
default: application_default(attribute)(
|
|
15
12
|
(def) => def === "true" || def === "false",
|
|
16
13
|
)((str) => Boolean(str)),
|
|
14
|
+
type: "boolean",
|
|
17
15
|
});
|
|
@@ -8,15 +8,11 @@ import { application_default } from "./application_default";
|
|
|
8
8
|
*/
|
|
9
9
|
export const application_constant =
|
|
10
10
|
(constant: MetadataConstant) =>
|
|
11
|
-
(
|
|
12
|
-
|
|
13
|
-
attribute: IJsonSchema.IAttribute;
|
|
14
|
-
}): IJsonSchema.IEnumeration<any> => ({
|
|
11
|
+
(attribute: IJsonSchema.IAttribute): IJsonSchema.IEnumeration<any> => ({
|
|
12
|
+
...attribute,
|
|
15
13
|
type: constant.type,
|
|
16
14
|
enum: constant.values as any,
|
|
17
|
-
|
|
18
|
-
...props.attribute,
|
|
19
|
-
default: application_default(props.attribute)((def) =>
|
|
15
|
+
default: application_default(attribute)((def) =>
|
|
20
16
|
constant.values.some((v) => v.toString() === def),
|
|
21
17
|
)(
|
|
22
18
|
constant.type === "string"
|
|
@@ -7,7 +7,7 @@ export const application_default =
|
|
|
7
7
|
(attribute: IJsonSchema.IAttribute) =>
|
|
8
8
|
(pred: (value: string) => boolean) =>
|
|
9
9
|
<T>(caster: (str: string) => T): T | undefined => {
|
|
10
|
-
const defaults = (attribute["x-typia-jsDocTags"]
|
|
10
|
+
const defaults = (attribute["x-typia-jsDocTags"] ?? []).filter(
|
|
11
11
|
(tag) => tag.name === "default",
|
|
12
12
|
);
|
|
13
13
|
for (const def of defaults)
|