typia 8.0.2 → 8.0.3

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/json.d.ts CHANGED
@@ -57,9 +57,9 @@ export declare function schemas<Types extends unknown[], Version extends "3.0" |
57
57
  * @template Version Version of OpenAPI specification. Default is 3.1
58
58
  * @return JSON schema list
59
59
  *
60
- * @deprcated Use {@link schemas} function instead please.
61
- * This function would be changed to return {@linkk ILlmApplication} like
62
- * structure in the future version (maybe next v8 major update).
60
+ * @deprecated Use {@link schemas} function instead please.
61
+ * This function would be changed to return {@linkk ILlmApplication} like
62
+ * structure in the future version (maybe next v8 major update).
63
63
  * @author Jeongho Nam - https://github.com/samchon
64
64
  */
65
65
  export declare function application(): never;
@@ -78,9 +78,9 @@ export declare function application(): never;
78
78
  * @template Version Version of OpenAPI specification. Default is 3.1
79
79
  * @return JSON schema list
80
80
  *
81
- * @deprcated Use {@link schemas} function instead please.
82
- * This function would be changed to return {@linkk ILlmApplication} like
83
- * structure in the future version (maybe next v8 major update).
81
+ * @deprecated Use {@link schemas} function instead please.
82
+ * This function would be changed to return {@linkk ILlmApplication} like
83
+ * structure in the future version (maybe next v8 major update).
84
84
  * @author Jeongho Nam - https://github.com/samchon
85
85
  */
86
86
  export declare function application<Types extends unknown[], Version extends "3.0" | "3.1" = "3.1">(): IJsonSchemaCollection<Version, Types>;
@@ -84,18 +84,23 @@ var LlmSchemaTransformer;
84
84
  if (Object.keys(out.$defs).length === 0)
85
85
  return literal;
86
86
  return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createArrowFunction(undefined, undefined, [
87
- IdentifierFactory_1.IdentifierFactory.parameter("$defs", typescript_1.default.factory.createTypeReferenceNode("Record", [
88
- typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.StringKeyword),
89
- schemaTypeNode,
87
+ IdentifierFactory_1.IdentifierFactory.parameter("props", typescript_1.default.factory.createTypeLiteralNode([
88
+ typescript_1.default.factory.createPropertySignature(undefined, typescript_1.default.factory.createIdentifier("$defs"), typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionToken), typescript_1.default.factory.createUnionTypeNode([
89
+ typescript_1.default.factory.createTypeReferenceNode("Record", [
90
+ typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.StringKeyword),
91
+ schemaTypeNode,
92
+ ]),
93
+ typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.UndefinedKeyword),
94
+ ])),
90
95
  ]), undefined),
91
96
  ], undefined, undefined, typescript_1.default.factory.createBlock([
92
- typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Object.assign"), undefined, [
93
- typescript_1.default.factory.createIdentifier("$defs"),
97
+ typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createStrictInequality(typescript_1.default.factory.createIdentifier("undefined"), IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier("props"), "$defs", true)), typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Object.assign"), undefined, [
98
+ IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier("props"), "$defs"),
94
99
  typescript_1.default.factory.createAsExpression(LiteralFactory_1.LiteralFactory.write(out.$defs), typescript_1.default.factory.createTypeReferenceNode("Record", [
95
100
  typescript_1.default.factory.createKeywordTypeNode(typescript_1.default.SyntaxKind.StringKeyword),
96
101
  schemaTypeNode,
97
102
  ])),
98
- ])),
103
+ ]))),
99
104
  typescript_1.default.factory.createReturnStatement(literal),
100
105
  ], true)), undefined, [props.expression.arguments[0]]);
101
106
  };
@@ -1 +1 @@
1
- {"version":3,"file":"LlmSchemaTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/llm/LlmSchemaTransformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LlmSchemaTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/llm/LlmSchemaTransformer.ts"],"names":[],"mappings":"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"}
@@ -78,18 +78,23 @@ var LlmSchemaTransformer;
78
78
  if (Object.keys(out.$defs).length === 0)
79
79
  return literal;
80
80
  return ts.factory.createCallExpression(ts.factory.createArrowFunction(undefined, undefined, [
81
- IdentifierFactory.parameter("$defs", ts.factory.createTypeReferenceNode("Record", [
82
- ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword),
83
- schemaTypeNode,
81
+ IdentifierFactory.parameter("props", ts.factory.createTypeLiteralNode([
82
+ ts.factory.createPropertySignature(undefined, ts.factory.createIdentifier("$defs"), ts.factory.createToken(ts.SyntaxKind.QuestionToken), ts.factory.createUnionTypeNode([
83
+ ts.factory.createTypeReferenceNode("Record", [
84
+ ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword),
85
+ schemaTypeNode,
86
+ ]),
87
+ ts.factory.createKeywordTypeNode(ts.SyntaxKind.UndefinedKeyword),
88
+ ])),
84
89
  ]), undefined),
85
90
  ], undefined, undefined, ts.factory.createBlock([
86
- ts.factory.createExpressionStatement(ts.factory.createCallExpression(ts.factory.createIdentifier("Object.assign"), undefined, [
87
- ts.factory.createIdentifier("$defs"),
91
+ ts.factory.createIfStatement(ts.factory.createStrictInequality(ts.factory.createIdentifier("undefined"), IdentifierFactory.access(ts.factory.createIdentifier("props"), "$defs", true)), ts.factory.createExpressionStatement(ts.factory.createCallExpression(ts.factory.createIdentifier("Object.assign"), undefined, [
92
+ IdentifierFactory.access(ts.factory.createIdentifier("props"), "$defs"),
88
93
  ts.factory.createAsExpression(LiteralFactory.write(out.$defs), ts.factory.createTypeReferenceNode("Record", [
89
94
  ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword),
90
95
  schemaTypeNode,
91
96
  ])),
92
- ])),
97
+ ]))),
93
98
  ts.factory.createReturnStatement(literal),
94
99
  ], true)), undefined, [props.expression.arguments[0]]);
95
100
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typia",
3
- "version": "8.0.2",
3
+ "version": "8.0.3",
4
4
  "description": "Superfast runtime validators with only one line",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
package/src/json.ts CHANGED
@@ -80,9 +80,9 @@ export function schemas(): never {
80
80
  * @template Version Version of OpenAPI specification. Default is 3.1
81
81
  * @return JSON schema list
82
82
  *
83
- * @deprcated Use {@link schemas} function instead please.
84
- * This function would be changed to return {@linkk ILlmApplication} like
85
- * structure in the future version (maybe next v8 major update).
83
+ * @deprecated Use {@link schemas} function instead please.
84
+ * This function would be changed to return {@linkk ILlmApplication} like
85
+ * structure in the future version (maybe next v8 major update).
86
86
  * @author Jeongho Nam - https://github.com/samchon
87
87
  */
88
88
  export function application(): never;
@@ -102,9 +102,9 @@ export function application(): never;
102
102
  * @template Version Version of OpenAPI specification. Default is 3.1
103
103
  * @return JSON schema list
104
104
  *
105
- * @deprcated Use {@link schemas} function instead please.
106
- * This function would be changed to return {@linkk ILlmApplication} like
107
- * structure in the future version (maybe next v8 major update).
105
+ * @deprecated Use {@link schemas} function instead please.
106
+ * This function would be changed to return {@linkk ILlmApplication} like
107
+ * structure in the future version (maybe next v8 major update).
108
108
  * @author Jeongho Nam - https://github.com/samchon
109
109
  */
110
110
  export function application<
@@ -101,10 +101,24 @@ export namespace LlmSchemaTransformer {
101
101
  undefined,
102
102
  [
103
103
  IdentifierFactory.parameter(
104
- "$defs",
105
- ts.factory.createTypeReferenceNode("Record", [
106
- ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword),
107
- schemaTypeNode,
104
+ "props",
105
+ ts.factory.createTypeLiteralNode([
106
+ ts.factory.createPropertySignature(
107
+ undefined,
108
+ ts.factory.createIdentifier("$defs"),
109
+ ts.factory.createToken(ts.SyntaxKind.QuestionToken),
110
+ ts.factory.createUnionTypeNode([
111
+ ts.factory.createTypeReferenceNode("Record", [
112
+ ts.factory.createKeywordTypeNode(
113
+ ts.SyntaxKind.StringKeyword,
114
+ ),
115
+ schemaTypeNode,
116
+ ]),
117
+ ts.factory.createKeywordTypeNode(
118
+ ts.SyntaxKind.UndefinedKeyword,
119
+ ),
120
+ ]),
121
+ ),
108
122
  ]),
109
123
  undefined,
110
124
  ),
@@ -113,22 +127,35 @@ export namespace LlmSchemaTransformer {
113
127
  undefined,
114
128
  ts.factory.createBlock(
115
129
  [
116
- ts.factory.createExpressionStatement(
117
- ts.factory.createCallExpression(
118
- ts.factory.createIdentifier("Object.assign"),
119
- undefined,
120
- [
121
- ts.factory.createIdentifier("$defs"),
122
- ts.factory.createAsExpression(
123
- LiteralFactory.write(out.$defs),
124
- ts.factory.createTypeReferenceNode("Record", [
125
- ts.factory.createKeywordTypeNode(
126
- ts.SyntaxKind.StringKeyword,
127
- ),
128
- schemaTypeNode,
129
- ]),
130
- ),
131
- ],
130
+ ts.factory.createIfStatement(
131
+ ts.factory.createStrictInequality(
132
+ ts.factory.createIdentifier("undefined"),
133
+ IdentifierFactory.access(
134
+ ts.factory.createIdentifier("props"),
135
+ "$defs",
136
+ true,
137
+ ),
138
+ ),
139
+ ts.factory.createExpressionStatement(
140
+ ts.factory.createCallExpression(
141
+ ts.factory.createIdentifier("Object.assign"),
142
+ undefined,
143
+ [
144
+ IdentifierFactory.access(
145
+ ts.factory.createIdentifier("props"),
146
+ "$defs",
147
+ ),
148
+ ts.factory.createAsExpression(
149
+ LiteralFactory.write(out.$defs),
150
+ ts.factory.createTypeReferenceNode("Record", [
151
+ ts.factory.createKeywordTypeNode(
152
+ ts.SyntaxKind.StringKeyword,
153
+ ),
154
+ schemaTypeNode,
155
+ ]),
156
+ ),
157
+ ],
158
+ ),
132
159
  ),
133
160
  ),
134
161
  ts.factory.createReturnStatement(literal),