typia 7.0.0-dev.20241010 → 7.0.0-dev.20241011

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.
Files changed (75) hide show
  1. package/lib/index.mjs +7 -0
  2. package/lib/index.mjs.map +1 -1
  3. package/lib/internal/$httpParameterReadBigint.d.ts +1 -0
  4. package/lib/internal/{$httpParameterBigint.js → $httpParameterReadBigint.js} +4 -4
  5. package/lib/internal/$httpParameterReadBigint.js.map +1 -0
  6. package/lib/internal/$httpParameterReadBoolean.d.ts +1 -0
  7. package/lib/internal/{$httpParameterBoolean.js → $httpParameterReadBoolean.js} +4 -4
  8. package/lib/internal/$httpParameterReadBoolean.js.map +1 -0
  9. package/lib/internal/$httpParameterReadNumber.d.ts +1 -0
  10. package/lib/internal/{$httpParameterNumber.js → $httpParameterReadNumber.js} +4 -4
  11. package/lib/internal/$httpParameterReadNumber.js.map +1 -0
  12. package/lib/internal/$httpParameterReadString.d.ts +1 -0
  13. package/lib/internal/$httpParameterReadString.js +8 -0
  14. package/lib/internal/$httpParameterReadString.js.map +1 -0
  15. package/lib/json.d.ts +47 -13
  16. package/lib/json.js +7 -0
  17. package/lib/json.js.map +1 -1
  18. package/lib/module.d.ts +1 -0
  19. package/lib/module.js +1 -0
  20. package/lib/module.js.map +1 -1
  21. package/lib/programmers/json/JsonApplicationProgrammer.d.ts +6 -2
  22. package/lib/programmers/json/JsonApplicationProgrammer.js +200 -75
  23. package/lib/programmers/json/JsonApplicationProgrammer.js.map +1 -1
  24. package/lib/programmers/json/JsonSchemasProgrammer.d.ts +6 -0
  25. package/lib/programmers/json/JsonSchemasProgrammer.js +109 -0
  26. package/lib/programmers/json/JsonSchemasProgrammer.js.map +1 -0
  27. package/lib/programmers/llm/LlmApplicationProgrammer.d.ts +1 -1
  28. package/lib/programmers/llm/LlmApplicationProgrammer.js +57 -39
  29. package/lib/programmers/llm/LlmApplicationProgrammer.js.map +1 -1
  30. package/lib/schemas/json/IJsonApplication.d.ts +31 -12
  31. package/lib/schemas/json/IJsonSchemaList.d.ts +16 -0
  32. package/lib/schemas/json/IJsonSchemaList.js +3 -0
  33. package/lib/schemas/json/IJsonSchemaList.js.map +1 -0
  34. package/lib/transformers/CallExpressionTransformer.js +3 -1
  35. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  36. package/lib/transformers/features/json/JsonApplicationTransformer.d.ts +1 -1
  37. package/lib/transformers/features/json/JsonApplicationTransformer.js +27 -97
  38. package/lib/transformers/features/json/JsonApplicationTransformer.js.map +1 -1
  39. package/lib/transformers/features/json/JsonSchemasTransformer.d.ts +5 -0
  40. package/lib/transformers/features/json/JsonSchemasTransformer.js +159 -0
  41. package/lib/transformers/features/json/JsonSchemasTransformer.js.map +1 -0
  42. package/lib/transformers/features/llm/LlmApplicationTransformer.js +1 -1
  43. package/lib/transformers/features/llm/LlmApplicationTransformer.js.map +1 -1
  44. package/package.json +1 -1
  45. package/src/factories/MetadataFactory.ts +400 -400
  46. package/src/factories/internal/metadata/IMetadataIteratorProps.ts +16 -16
  47. package/src/factories/internal/metadata/emplace_metadata_object.ts +206 -206
  48. package/src/factories/internal/metadata/iterate_metadata_collection.ts +145 -145
  49. package/src/factories/internal/metadata/iterate_metadata_comment_tags.ts +32 -32
  50. package/src/factories/internal/metadata/iterate_metadata_function.ts +88 -88
  51. package/src/internal/{$httpParameterBigint.ts → $httpParameterReadBigint.ts} +1 -1
  52. package/src/internal/{$httpParameterBoolean.ts → $httpParameterReadBoolean.ts} +1 -1
  53. package/src/internal/{$httpParameterNumber.ts → $httpParameterReadNumber.ts} +1 -1
  54. package/src/internal/$httpParameterReadString.ts +2 -0
  55. package/src/json.ts +63 -17
  56. package/src/module.ts +1 -0
  57. package/src/programmers/json/JsonApplicationProgrammer.ts +249 -72
  58. package/src/programmers/json/JsonSchemasProgrammer.ts +94 -0
  59. package/src/programmers/llm/LlmApplicationProgrammer.ts +66 -41
  60. package/src/schemas/json/IJsonApplication.ts +61 -22
  61. package/src/schemas/json/IJsonSchemaList.ts +22 -0
  62. package/src/transformers/CallExpressionTransformer.ts +3 -1
  63. package/src/transformers/features/json/JsonApplicationTransformer.ts +29 -54
  64. package/src/transformers/features/json/JsonSchemasTransformer.ts +130 -0
  65. package/src/transformers/features/llm/LlmApplicationTransformer.ts +1 -1
  66. package/lib/internal/$httpParameterBigint.d.ts +0 -1
  67. package/lib/internal/$httpParameterBigint.js.map +0 -1
  68. package/lib/internal/$httpParameterBoolean.d.ts +0 -1
  69. package/lib/internal/$httpParameterBoolean.js.map +0 -1
  70. package/lib/internal/$httpParameterNumber.d.ts +0 -1
  71. package/lib/internal/$httpParameterNumber.js.map +0 -1
  72. package/lib/internal/$httpParameterString.d.ts +0 -1
  73. package/lib/internal/$httpParameterString.js +0 -8
  74. package/lib/internal/$httpParameterString.js.map +0 -1
  75. package/src/internal/$httpParameterString.ts +0 -2
@@ -1,4 +1,15 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  var __values = (this && this.__values) || function(o) {
3
14
  var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
4
15
  if (m) return m.call(o);
@@ -10,100 +21,214 @@ var __values = (this && this.__values) || function(o) {
10
21
  };
11
22
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
12
23
  };
24
+ var __read = (this && this.__read) || function (o, n) {
25
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
26
+ if (!m) return o;
27
+ var i = m.call(o), r, ar = [], e;
28
+ try {
29
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
30
+ }
31
+ catch (error) { e = { error: error }; }
32
+ finally {
33
+ try {
34
+ if (r && !r.done && (m = i["return"])) m.call(i);
35
+ }
36
+ finally { if (e) throw e.error; }
37
+ }
38
+ return ar;
39
+ };
13
40
  Object.defineProperty(exports, "__esModule", { value: true });
14
41
  exports.JsonApplicationProgrammer = void 0;
15
- var TransformerError_1 = require("../../transformers/TransformerError");
16
- var AtomicPredicator_1 = require("../helpers/AtomicPredicator");
17
- var application_v30_schema_1 = require("../internal/application_v30_schema");
18
- var application_v31_schema_1 = require("../internal/application_v31_schema");
42
+ var JsonSchemasProgrammer_1 = require("./JsonSchemasProgrammer");
19
43
  var JsonApplicationProgrammer;
20
44
  (function (JsonApplicationProgrammer) {
21
- JsonApplicationProgrammer.validate = function (meta) {
45
+ JsonApplicationProgrammer.validate = function (metadata, explore) {
22
46
  var e_1, _a;
47
+ if (explore.top === false)
48
+ return JsonSchemasProgrammer_1.JsonSchemasProgrammer.validate(metadata);
23
49
  var output = [];
24
- if (meta.atomics.some(function (a) { return a.type === "bigint"; }) ||
25
- meta.constants.some(function (c) { return c.type === "bigint"; }))
26
- output.push("JSON schema does not support bigint type.");
27
- if (meta.tuples.some(function (t) {
28
- return t.type.elements.some(function (e) { return e.isRequired() === false; });
29
- }) ||
30
- meta.arrays.some(function (a) { return a.type.value.isRequired() === false; }))
31
- output.push("JSON schema does not support undefined type in array.");
32
- if (meta.maps.length)
33
- output.push("JSON schema does not support Map type.");
34
- if (meta.sets.length)
35
- output.push("JSON schema does not support Set type.");
36
- try {
37
- for (var _b = __values(meta.natives), _c = _b.next(); !_c.done; _c = _b.next()) {
38
- var native = _c.value;
39
- if (AtomicPredicator_1.AtomicPredicator.native(native) === false &&
40
- native !== "Date" &&
41
- native !== "Blob" &&
42
- native !== "File")
43
- output.push("JSON schema does not support ".concat(native, " type."));
44
- }
45
- }
46
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
47
- finally {
50
+ var valid = metadata.size() === 1 &&
51
+ metadata.objects.length === 1 &&
52
+ metadata.isRequired() === true &&
53
+ metadata.nullable === false;
54
+ if (valid === false)
55
+ output.push("JSON application's generic arugment must be a class/interface type.");
56
+ var object = metadata.objects[0];
57
+ if (object !== undefined) {
58
+ if (object.properties.some(function (p) { return p.key.isSoleLiteral() === false; }))
59
+ output.push("JSON application does not allow dynamic keys.");
60
+ var least = false;
48
61
  try {
49
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
62
+ for (var _b = __values(object.properties), _c = _b.next(); !_c.done; _c = _b.next()) {
63
+ var p = _c.value;
64
+ var value = p.value;
65
+ if (value.functions.length) {
66
+ least || (least = true);
67
+ if (valid === false) {
68
+ if (value.functions.length !== 1 || value.size() !== 1)
69
+ output.push("JSON application's function type does not allow union type.");
70
+ if (value.isRequired() === false)
71
+ output.push("JSON application's function type must be required.");
72
+ if (value.nullable === true)
73
+ output.push("JSON application's function type must not be nullable.");
74
+ }
75
+ }
76
+ }
50
77
  }
51
- finally { if (e_1) throw e_1.error; }
78
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
79
+ finally {
80
+ try {
81
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
82
+ }
83
+ finally { if (e_1) throw e_1.error; }
84
+ }
85
+ if (least === false)
86
+ output.push("JSON application's target type must have at least a function type.");
52
87
  }
53
88
  return output;
54
89
  };
55
- JsonApplicationProgrammer.write = function (version) {
56
- return version === "3.0" ? v30 : v31;
57
- };
58
- var v30 = function (metadatas) {
59
- var components = {};
60
- var generator = function (meta) {
61
- return (0, application_v30_schema_1.application_v30_schema)({
62
- blockNever: true,
63
- components: components,
64
- attribute: {},
65
- metadata: meta,
66
- });
90
+ JsonApplicationProgrammer.write = function (props) {
91
+ var errors = JsonApplicationProgrammer.validate(props.metadata, {
92
+ top: true,
93
+ object: null,
94
+ property: null,
95
+ parameter: null,
96
+ nested: null,
97
+ aliased: false,
98
+ escaped: false,
99
+ output: false,
100
+ });
101
+ if (errors.length)
102
+ throw new Error("Failed to write LLM application: " + errors.join("\n"));
103
+ var object = props.metadata.objects[0];
104
+ var definitions = [];
105
+ var setters = [];
106
+ var collect = function (metadata, setter) {
107
+ definitions.push(metadata);
108
+ setters.push(setter);
67
109
  };
110
+ var functions = object.properties
111
+ .filter(function (p) {
112
+ return p.key.isSoleLiteral() &&
113
+ p.value.size() === 1 &&
114
+ p.value.nullable === false &&
115
+ p.value.isRequired() === true &&
116
+ p.value.functions.length === 1;
117
+ })
118
+ .map(function (r) {
119
+ return collectFunction({
120
+ version: props.version,
121
+ name: r.key.getSoleLiteral(),
122
+ function: r.value.functions[0],
123
+ description: r.description,
124
+ jsDocTags: r.jsDocTags,
125
+ collect: collect,
126
+ });
127
+ });
128
+ var _a = JsonSchemasProgrammer_1.JsonSchemasProgrammer.write(props.version)(definitions), components = _a.components, schemas = _a.schemas;
129
+ schemas.forEach(function (s, i) { var _a; return (_a = setters[i]) === null || _a === void 0 ? void 0 : _a.call(setters, s); });
68
130
  return {
69
- version: "3.0",
131
+ version: props.version,
70
132
  components: components,
71
- schemas: metadatas.map(function (meta, i) {
72
- var schema = generator(meta);
73
- if (schema === null)
74
- throw new TransformerError_1.TransformerError({
75
- code: "typia.json.application",
76
- message: "invalid type on argument - (".concat(meta.getName(), ", ").concat(i, ")"),
77
- });
78
- return schema;
79
- }),
133
+ functions: functions,
80
134
  };
81
135
  };
82
- var v31 = function (metadatas) {
83
- var components = {
84
- schemas: {},
85
- };
86
- var generator = function (meta) {
87
- return (0, application_v31_schema_1.application_v31_schema)({
88
- blockNever: true,
89
- components: components,
90
- attribute: {},
91
- metadata: meta,
92
- });
93
- };
136
+ var collectFunction = function (props) {
137
+ var _a;
138
+ var deprecated = props.jsDocTags.some(function (tag) { return tag.name === "deprecated"; });
139
+ var tags = props.jsDocTags
140
+ .map(function (tag) {
141
+ var _a, _b;
142
+ return tag.name === "tag"
143
+ ? ((_b = (_a = tag.text) === null || _a === void 0 ? void 0 : _a.filter(function (elem) { return elem.kind === "text"; })) !== null && _b !== void 0 ? _b : [])
144
+ : [];
145
+ })
146
+ .flat()
147
+ .map(function (elem) { return elem.text; })
148
+ .map(function (str) { var _a; return (_a = str.trim().split(" ")[0]) !== null && _a !== void 0 ? _a : ""; })
149
+ .filter(function (str) { return !!str.length; });
94
150
  return {
95
- version: "3.1",
96
- components: components,
97
- schemas: metadatas.map(function (meta, i) {
98
- var schema = generator(meta);
99
- if (schema === null)
100
- throw new TransformerError_1.TransformerError({
101
- code: "typia.json.application",
102
- message: "invalid type on argument - (".concat(meta.getName(), ", ").concat(i, ")"),
103
- });
104
- return schema;
151
+ name: props.name,
152
+ async: props.function.async,
153
+ parameters: props.function.parameters.map(function (param) {
154
+ var _a, _b, _c, _d, _e, _f, _g, _h;
155
+ var appParam = __assign(__assign({ name: param.name }, writeDescription({
156
+ description: (_h = (_e = (_a = param.description) !== null && _a !== void 0 ? _a : (_d = (_c = (_b = param.jsDocTags.find(function (tag) { return tag.name === "description"; })) === null || _b === void 0 ? void 0 : _b.text) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.text) !== null && _e !== void 0 ? _e : (_g = (_f = props.jsDocTags
157
+ .find(function (tag) { var _a, _b; return tag.name === "param" && ((_b = (_a = tag.text) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.text) === param.name; })) === null || _f === void 0 ? void 0 : _f.text) === null || _g === void 0 ? void 0 : _g.map(function (e) { return e.text; }).join("").substring(param.name.length)) !== null && _h !== void 0 ? _h : null,
158
+ jsDocTags: props.jsDocTags,
159
+ kind: "title",
160
+ })), { required: param.type.isRequired(), schema: null });
161
+ props.collect(param.type, function (schema) { return (appParam.schema = schema); });
162
+ return appParam;
105
163
  }),
164
+ output: props.function.output.size()
165
+ ? (function () {
166
+ var _a, _b;
167
+ var appOutput = {
168
+ schema: null,
169
+ required: props.function.output.isRequired(),
170
+ description: (_b = (_a = writeDescriptionFromJsDocTag({
171
+ jsDocTags: props.jsDocTags,
172
+ name: "return",
173
+ })) !== null && _a !== void 0 ? _a : writeDescriptionFromJsDocTag({
174
+ jsDocTags: props.jsDocTags,
175
+ name: "returns",
176
+ })) !== null && _b !== void 0 ? _b : undefined,
177
+ };
178
+ props.collect(props.function.output, function (schema) { return (appOutput.schema = schema); });
179
+ return appOutput;
180
+ })()
181
+ : undefined,
182
+ description: (_a = props.description) !== null && _a !== void 0 ? _a : undefined,
183
+ deprecated: deprecated || undefined,
184
+ tags: tags.length ? tags : undefined,
106
185
  };
107
186
  };
108
187
  })(JsonApplicationProgrammer || (exports.JsonApplicationProgrammer = JsonApplicationProgrammer = {}));
188
+ var writeDescription = function (props) {
189
+ var _a;
190
+ var _b;
191
+ var title = (function () {
192
+ var _a;
193
+ var _b = __read(getJsDocTexts({
194
+ jsDocTags: props.jsDocTags,
195
+ name: props.kind,
196
+ }), 1), explicit = _b[0];
197
+ if (explicit === null || explicit === void 0 ? void 0 : explicit.length)
198
+ return explicit;
199
+ else if (!((_a = props.description) === null || _a === void 0 ? void 0 : _a.length))
200
+ return undefined;
201
+ var index = props.description.indexOf("\n");
202
+ var top = (index === -1 ? props.description : props.description.substring(0, index)).trim();
203
+ return top.endsWith(".") ? top.substring(0, top.length - 1) : undefined;
204
+ })();
205
+ return _a = {},
206
+ _a[props.kind] = title,
207
+ _a.description = ((_b = props.description) === null || _b === void 0 ? void 0 : _b.length) ? props.description : undefined,
208
+ _a;
209
+ };
210
+ var writeDescriptionFromJsDocTag = function (props) {
211
+ var _a, _b;
212
+ var parametric = props.parameter
213
+ ? function (tag) {
214
+ return tag.text.find(function (elem) {
215
+ return elem.kind === "parameterName" && elem.text === props.parameter;
216
+ }) !== undefined;
217
+ }
218
+ : function () { return true; };
219
+ var tag = props.jsDocTags.find(function (tag) { return tag.name === props.name && tag.text && parametric(tag); });
220
+ return tag && tag.text
221
+ ? ((_b = (_a = tag.text.find(function (elem) { return elem.kind === "text"; })) === null || _a === void 0 ? void 0 : _a.text) !== null && _b !== void 0 ? _b : null)
222
+ : null;
223
+ };
224
+ var getJsDocTexts = function (props) {
225
+ return props.jsDocTags
226
+ .filter(function (tag) {
227
+ return tag.name === props.name &&
228
+ tag.text &&
229
+ tag.text.find(function (elem) { return elem.kind === "text" && elem.text.length; }) !==
230
+ undefined;
231
+ })
232
+ .map(function (tag) { return tag.text.find(function (elem) { return elem.kind === "text"; }).text; });
233
+ };
109
234
  //# sourceMappingURL=JsonApplicationProgrammer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"JsonApplicationProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/json/JsonApplicationProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JsonApplicationProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/json/JsonApplicationProgrammer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { IJsonSchemaCollection } from "../../schemas/json/IJsonSchemaList";
2
+ import { Metadata } from "../../schemas/metadata/Metadata";
3
+ export declare namespace JsonSchemasProgrammer {
4
+ const validate: (metadata: Metadata) => string[];
5
+ const write: <Version extends "3.0" | "3.1">(version: Version) => ((medadataList: Array<Metadata>) => IJsonSchemaCollection<"3.0">) | ((metadataList: Array<Metadata>) => IJsonSchemaCollection<"3.1">);
6
+ }
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ var __values = (this && this.__values) || function(o) {
3
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
4
+ if (m) return m.call(o);
5
+ if (o && typeof o.length === "number") return {
6
+ next: function () {
7
+ if (o && i >= o.length) o = void 0;
8
+ return { value: o && o[i++], done: !o };
9
+ }
10
+ };
11
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.JsonSchemasProgrammer = void 0;
15
+ var TransformerError_1 = require("../../transformers/TransformerError");
16
+ var AtomicPredicator_1 = require("../helpers/AtomicPredicator");
17
+ var application_v30_schema_1 = require("../internal/application_v30_schema");
18
+ var application_v31_schema_1 = require("../internal/application_v31_schema");
19
+ var JsonSchemasProgrammer;
20
+ (function (JsonSchemasProgrammer) {
21
+ JsonSchemasProgrammer.validate = function (metadata) {
22
+ var e_1, _a;
23
+ var output = [];
24
+ if (metadata.atomics.some(function (a) { return a.type === "bigint"; }) ||
25
+ metadata.constants.some(function (c) { return c.type === "bigint"; }))
26
+ output.push("JSON schema does not support bigint type.");
27
+ if (metadata.tuples.some(function (t) {
28
+ return t.type.elements.some(function (e) { return e.isRequired() === false; });
29
+ }) ||
30
+ metadata.arrays.some(function (a) { return a.type.value.isRequired() === false; }))
31
+ output.push("JSON schema does not support undefined type in array.");
32
+ if (metadata.maps.length)
33
+ output.push("JSON schema does not support Map type.");
34
+ if (metadata.sets.length)
35
+ output.push("JSON schema does not support Set type.");
36
+ try {
37
+ for (var _b = __values(metadata.natives), _c = _b.next(); !_c.done; _c = _b.next()) {
38
+ var native = _c.value;
39
+ if (AtomicPredicator_1.AtomicPredicator.native(native) === false &&
40
+ native !== "Date" &&
41
+ native !== "Blob" &&
42
+ native !== "File")
43
+ output.push("JSON schema does not support ".concat(native, " type."));
44
+ }
45
+ }
46
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
47
+ finally {
48
+ try {
49
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
50
+ }
51
+ finally { if (e_1) throw e_1.error; }
52
+ }
53
+ return output;
54
+ };
55
+ JsonSchemasProgrammer.write = function (version) {
56
+ return version === "3.0" ? v30 : v31;
57
+ };
58
+ var v30 = function (medadataList) {
59
+ var components = {};
60
+ var generator = function (metadata) {
61
+ return (0, application_v30_schema_1.application_v30_schema)({
62
+ blockNever: true,
63
+ components: components,
64
+ attribute: {},
65
+ metadata: metadata,
66
+ });
67
+ };
68
+ return {
69
+ version: "3.0",
70
+ components: components,
71
+ schemas: medadataList.map(function (meta, i) {
72
+ var schema = generator(meta);
73
+ if (schema === null)
74
+ throw new TransformerError_1.TransformerError({
75
+ code: "typia.json.application",
76
+ message: "invalid type on argument - (".concat(meta.getName(), ", ").concat(i, ")"),
77
+ });
78
+ return schema;
79
+ }),
80
+ };
81
+ };
82
+ var v31 = function (metadataList) {
83
+ var components = {
84
+ schemas: {},
85
+ };
86
+ var generator = function (metadata) {
87
+ return (0, application_v31_schema_1.application_v31_schema)({
88
+ blockNever: true,
89
+ components: components,
90
+ attribute: {},
91
+ metadata: metadata,
92
+ });
93
+ };
94
+ return {
95
+ version: "3.1",
96
+ components: components,
97
+ schemas: metadataList.map(function (meta, i) {
98
+ var schema = generator(meta);
99
+ if (schema === null)
100
+ throw new TransformerError_1.TransformerError({
101
+ code: "typia.json.application",
102
+ message: "invalid type on argument - (".concat(meta.getName(), ", ").concat(i, ")"),
103
+ });
104
+ return schema;
105
+ }),
106
+ };
107
+ };
108
+ })(JsonSchemasProgrammer || (exports.JsonSchemasProgrammer = JsonSchemasProgrammer = {}));
109
+ //# sourceMappingURL=JsonSchemasProgrammer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonSchemasProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/json/JsonSchemasProgrammer.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,6 @@ import { ILlmApplication } from "@samchon/openapi";
2
2
  import { MetadataFactory } from "../../factories/MetadataFactory";
3
3
  import { Metadata } from "../../schemas/metadata/Metadata";
4
4
  export declare namespace LlmApplicationProgrammer {
5
- const validate: (metadata: Metadata, explore: MetadataFactory.IExplore) => string[];
5
+ const validate: () => (metadata: Metadata, explore: MetadataFactory.IExplore) => string[];
6
6
  const write: (metadata: Metadata) => ILlmApplication;
7
7
  }
@@ -42,53 +42,71 @@ exports.LlmApplicationProgrammer = void 0;
42
42
  var LlmSchemaProgrammer_1 = require("./LlmSchemaProgrammer");
43
43
  var LlmApplicationProgrammer;
44
44
  (function (LlmApplicationProgrammer) {
45
- LlmApplicationProgrammer.validate = function (metadata, explore) {
46
- var e_1, _a;
47
- if (explore.top === false)
48
- return LlmSchemaProgrammer_1.LlmSchemaProgrammer.validate(metadata);
49
- var output = [];
50
- var valid = metadata.size() === 1 &&
51
- metadata.objects.length === 1 &&
52
- metadata.isRequired() === true &&
53
- metadata.nullable === false;
54
- if (valid === false)
55
- output.push("LLM application's generic arugment must be a class/interface type.");
56
- var object = metadata.objects[0];
57
- if (object !== undefined) {
58
- if (object.properties.some(function (p) { return p.key.isSoleLiteral() === false; }))
59
- output.push("LLM application does not allow dynamic keys.");
60
- var least = false;
61
- try {
62
- for (var _b = __values(object.properties), _c = _b.next(); !_c.done; _c = _b.next()) {
63
- var p = _c.value;
64
- var value = p.value;
65
- if (value.functions.length) {
66
- least || (least = true);
67
- if (valid === false) {
68
- if (value.functions.length !== 1 || value.size() !== 1)
69
- output.push("LLM application's function type does not allow union type.");
70
- if (value.isRequired() === false)
71
- output.push("LLM application's function type must be required.");
72
- if (value.nullable === true)
73
- output.push("LLM application's function type must not be nullable.");
45
+ LlmApplicationProgrammer.validate = function () {
46
+ var top;
47
+ return function (metadata, explore) {
48
+ var e_1, _a;
49
+ top !== null && top !== void 0 ? top : (top = metadata);
50
+ if (explore.top === false)
51
+ if (explore.object === (top === null || top === void 0 ? void 0 : top.objects[0]) &&
52
+ typeof explore.property === "string" &&
53
+ metadata.size() === 1 &&
54
+ metadata.nullable === false &&
55
+ metadata.isRequired() === true &&
56
+ metadata.functions.length === 1)
57
+ return validateFunction(metadata.functions[0]);
58
+ else
59
+ return LlmSchemaProgrammer_1.LlmSchemaProgrammer.validate(metadata);
60
+ var output = [];
61
+ var valid = metadata.size() === 1 &&
62
+ metadata.objects.length === 1 &&
63
+ metadata.isRequired() === true &&
64
+ metadata.nullable === false;
65
+ if (valid === false)
66
+ output.push("LLM application's generic arugment must be a class/interface type.");
67
+ var object = metadata.objects[0];
68
+ if (object !== undefined) {
69
+ if (object.properties.some(function (p) { return p.key.isSoleLiteral() === false; }))
70
+ output.push("LLM application does not allow dynamic keys.");
71
+ var least = false;
72
+ try {
73
+ for (var _b = __values(object.properties), _c = _b.next(); !_c.done; _c = _b.next()) {
74
+ var p = _c.value;
75
+ var value = p.value;
76
+ if (value.functions.length) {
77
+ least || (least = true);
78
+ if (valid === false) {
79
+ if (value.functions.length !== 1 || value.size() !== 1)
80
+ output.push("LLM application's function type does not allow union type.");
81
+ if (value.isRequired() === false)
82
+ output.push("LLM application's function type must be required.");
83
+ if (value.nullable === true)
84
+ output.push("LLM application's function type must not be nullable.");
85
+ }
74
86
  }
75
87
  }
76
88
  }
77
- }
78
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
79
- finally {
80
- try {
81
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
89
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
90
+ finally {
91
+ try {
92
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
93
+ }
94
+ finally { if (e_1) throw e_1.error; }
82
95
  }
83
- finally { if (e_1) throw e_1.error; }
96
+ if (least === false)
97
+ output.push("LLM application's target type must have at least a function type.");
84
98
  }
85
- if (least === false)
86
- output.push("LLM application's target type must have at least a function type.");
87
- }
99
+ return output;
100
+ };
101
+ };
102
+ var validateFunction = function (func) {
103
+ var output = [];
104
+ if (func.output.size() && func.output.isRequired() === false)
105
+ output.push("LLM application's function return type must not be union type with undefined.");
88
106
  return output;
89
107
  };
90
108
  LlmApplicationProgrammer.write = function (metadata) {
91
- var errors = LlmApplicationProgrammer.validate(metadata, {
109
+ var errors = LlmApplicationProgrammer.validate()(metadata, {
92
110
  top: true,
93
111
  object: null,
94
112
  property: null,
@@ -1 +1 @@
1
- {"version":3,"file":"LlmApplicationProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/llm/LlmApplicationProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LlmApplicationProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/llm/LlmApplicationProgrammer.ts"],"names":[],"mappings":"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"}