typia 7.0.2-dev.20241204 → 7.0.2-dev.20241205
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/executable/TypiaPatchWizard.js +10 -10
- package/lib/executable/TypiaPatchWizard.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_native.js +9 -6
- package/lib/factories/internal/metadata/iterate_metadata_native.js.map +1 -1
- package/lib/programmers/json/JsonAssertParseProgrammer.js +7 -0
- package/lib/programmers/json/JsonAssertParseProgrammer.js.map +1 -1
- package/package.json +3 -3
- package/src/executable/TypiaPatchWizard.ts +45 -44
- package/src/factories/internal/metadata/iterate_metadata_native.ts +10 -9
- package/src/programmers/json/JsonAssertParseProgrammer.ts +7 -0
|
@@ -30,16 +30,16 @@ var TypiaPatchWizard;
|
|
|
30
30
|
yield TypiaPatchWizard.patch();
|
|
31
31
|
});
|
|
32
32
|
TypiaPatchWizard.patch = () => __awaiter(this, void 0, void 0, function* () {
|
|
33
|
-
for (const file of ["tsc", "_tsc"])
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
33
|
+
for (const file of ["tsc.js", "_tsc.js"])
|
|
34
|
+
try {
|
|
35
|
+
const location = require.resolve(`typescript/lib/${file}`);
|
|
36
|
+
const content = yield fs_1.default.promises.readFile(location, "utf8");
|
|
37
|
+
if (content.indexOf(FROM_WITH_COMMENT) !== -1)
|
|
38
|
+
yield fs_1.default.promises.writeFile(location, content.replace(FROM_WITH_COMMENT, TO_WITH_COMMENT), "utf8");
|
|
39
|
+
else if (content.indexOf(FROM_ONLY) !== -1)
|
|
40
|
+
yield fs_1.default.promises.writeFile(location, content.replace(FROM_ONLY, TO_ONLY), "utf8");
|
|
41
|
+
}
|
|
42
|
+
catch (_a) { }
|
|
43
43
|
});
|
|
44
44
|
})(TypiaPatchWizard || (exports.TypiaPatchWizard = TypiaPatchWizard = {}));
|
|
45
45
|
const FROM_WITH_COMMENT = `var defaultJSDocParsingMode = 2 /* ParseForTypeErrors */`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypiaPatchWizard.js","sourceRoot":"","sources":["../../src/executable/TypiaPatchWizard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAAoB;AAEpB,IAAiB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"TypiaPatchWizard.js","sourceRoot":"","sources":["../../src/executable/TypiaPatchWizard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAAoB;AAEpB,IAAiB,gBAAgB,CAqChC;AArCD,WAAiB,gBAAgB;IAClB,qBAAI,GAAG,GAAwB,EAAE;QAC5C,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CACT;YACE,oEAAoE;YACpE,EAAE;YACF,yEAAyE;YACzE,EAAE;YACF,gGAAgG;SACjG,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;QAEF,MAAM,iBAAA,KAAK,EAAE,CAAC;IAChB,CAAC,CAAA,CAAC;IAEW,sBAAK,GAAG,GAAwB,EAAE;QAC7C,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC;YACtC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAW,OAAO,CAAC,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;gBACnE,MAAM,OAAO,GAAW,MAAM,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBACrE,IAAI,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;oBAC3C,MAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CACzB,QAAQ,EACR,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE,eAAe,CAAC,EACnD,MAAM,CACP,CAAC;qBACC,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACxC,MAAM,YAAE,CAAC,QAAQ,CAAC,SAAS,CACzB,QAAQ,EACR,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,EACnC,MAAM,CACP,CAAC;YACN,CAAC;YAAC,WAAM,CAAC,CAAA,CAAC;IACd,CAAC,CAAA,CAAC;AACJ,CAAC,EArCgB,gBAAgB,gCAAhB,gBAAgB,QAqChC;AAED,MAAM,iBAAiB,GAAG,0DAA0D,CAAC;AACrF,MAAM,eAAe,GAAG,gDAAgD,CAAC;AACzE,MAAM,SAAS,GAAG,iCAAiC,CAAC;AACpD,MAAM,OAAO,GAAG,iCAAiC,CAAC"}
|
|
@@ -5,11 +5,12 @@ const MetadataNative_1 = require("../../../schemas/metadata/MetadataNative");
|
|
|
5
5
|
const ArrayUtil_1 = require("../../../utils/ArrayUtil");
|
|
6
6
|
const TypeFactory_1 = require("../../TypeFactory");
|
|
7
7
|
const iterate_metadata_native = (props) => {
|
|
8
|
-
|
|
8
|
+
var _a, _b;
|
|
9
|
+
const name = (_b = (_a = TypeFactory_1.TypeFactory.getFullName({
|
|
9
10
|
checker: props.checker,
|
|
10
11
|
type: props.type,
|
|
11
12
|
symbol: props.type.getSymbol(),
|
|
12
|
-
});
|
|
13
|
+
}).split("<")) === null || _a === void 0 ? void 0 : _a[0]) !== null && _b !== void 0 ? _b : "";
|
|
13
14
|
const simple = SIMPLES.get(name);
|
|
14
15
|
if (simple !== undefined &&
|
|
15
16
|
validate({
|
|
@@ -45,21 +46,23 @@ exports.iterate_metadata_native = iterate_metadata_native;
|
|
|
45
46
|
const validate = (props) => {
|
|
46
47
|
var _a, _b;
|
|
47
48
|
return ((_a = props.info.methods) !== null && _a !== void 0 ? _a : []).every((method) => {
|
|
49
|
+
var _a;
|
|
48
50
|
const returnType = TypeFactory_1.TypeFactory.getReturnTypeOfClassMethod({
|
|
49
51
|
checker: props.checker,
|
|
50
52
|
class: props.type,
|
|
51
53
|
function: method.name,
|
|
52
54
|
});
|
|
53
55
|
return (returnType !== null &&
|
|
54
|
-
props.checker.typeToString(returnType) === method.return);
|
|
56
|
+
((_a = props.checker.typeToString(returnType).split("<")) === null || _a === void 0 ? void 0 : _a[0]) === method.return);
|
|
55
57
|
}) &&
|
|
56
58
|
((_b = props.info.properties) !== null && _b !== void 0 ? _b : []).every((property) => {
|
|
59
|
+
var _a;
|
|
57
60
|
const prop = props.checker.getPropertyOfType(props.type, property.name);
|
|
58
61
|
const propType = (prop === null || prop === void 0 ? void 0 : prop.valueDeclaration)
|
|
59
62
|
? props.checker.getTypeAtLocation(prop === null || prop === void 0 ? void 0 : prop.valueDeclaration)
|
|
60
63
|
: undefined;
|
|
61
64
|
return (propType !== undefined &&
|
|
62
|
-
props.checker.typeToString(propType) === property.type);
|
|
65
|
+
((_a = props.checker.typeToString(propType).split("<")) === null || _a === void 0 ? void 0 : _a[0]) === property.type);
|
|
63
66
|
});
|
|
64
67
|
};
|
|
65
68
|
const getBinaryProps = (className) => ({
|
|
@@ -157,9 +160,9 @@ const SIMPLES = new Map([
|
|
|
157
160
|
className,
|
|
158
161
|
{
|
|
159
162
|
methods: [
|
|
160
|
-
{ name: "arrayBuffer", return: "Promise
|
|
163
|
+
{ name: "arrayBuffer", return: "Promise" },
|
|
161
164
|
{ name: "slice", return: "Blob" },
|
|
162
|
-
{ name: "text", return: "Promise
|
|
165
|
+
{ name: "text", return: "Promise" },
|
|
163
166
|
],
|
|
164
167
|
properties: [
|
|
165
168
|
{ name: "size", type: "number" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iterate_metadata_native.js","sourceRoot":"","sources":["../../../../src/factories/internal/metadata/iterate_metadata_native.ts"],"names":[],"mappings":";;;AAEA,6EAA0E;AAE1E,wDAAqD;AAErD,mDAAgD;AAGzC,MAAM,uBAAuB,GAAG,CACrC,KAA6B,EACpB,EAAE
|
|
1
|
+
{"version":3,"file":"iterate_metadata_native.js","sourceRoot":"","sources":["../../../../src/factories/internal/metadata/iterate_metadata_native.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.JsonAssertParseProgrammer = void 0;
|
|
7
7
|
const typescript_1 = __importDefault(require("typescript"));
|
|
8
8
|
const IdentifierFactory_1 = require("../../factories/IdentifierFactory");
|
|
9
|
+
const JsonMetadataFactory_1 = require("../../factories/JsonMetadataFactory");
|
|
9
10
|
const StatementFactory_1 = require("../../factories/StatementFactory");
|
|
10
11
|
const TypeFactory_1 = require("../../factories/TypeFactory");
|
|
11
12
|
const AssertProgrammer_1 = require("../AssertProgrammer");
|
|
@@ -15,6 +16,12 @@ var JsonAssertParseProgrammer;
|
|
|
15
16
|
(function (JsonAssertParseProgrammer) {
|
|
16
17
|
JsonAssertParseProgrammer.decompose = (props) => {
|
|
17
18
|
var _a;
|
|
19
|
+
JsonMetadataFactory_1.JsonMetadataFactory.analyze({
|
|
20
|
+
method: props.functor.method,
|
|
21
|
+
checker: props.context.checker,
|
|
22
|
+
transformer: props.context.transformer,
|
|
23
|
+
type: props.type,
|
|
24
|
+
});
|
|
18
25
|
const assert = AssertProgrammer_1.AssertProgrammer.decompose(Object.assign(Object.assign({}, props), { context: Object.assign(Object.assign({}, props.context), { options: Object.assign(Object.assign({}, props.context.options), { functional: false, numeric: false }) }), config: {
|
|
19
26
|
equals: false,
|
|
20
27
|
guard: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonAssertParseProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/json/JsonAssertParseProgrammer.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAE5B,yEAAsE;AACtE,uEAAoE;AACpE,6DAA0D;AAK1D,0DAAuD;AACvD,4DAAyD;AACzD,sEAAmE;AAEnE,IAAiB,yBAAyB,
|
|
1
|
+
{"version":3,"file":"JsonAssertParseProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/json/JsonAssertParseProgrammer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "typia",
|
|
3
|
-
"version": "7.0.2-dev.
|
|
3
|
+
"version": "7.0.2-dev.20241205",
|
|
4
4
|
"description": "Superfast runtime validators with only one line",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"typings": "lib/index.d.ts",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
},
|
|
42
42
|
"homepage": "https://typia.io",
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@samchon/openapi": "^2.0.
|
|
44
|
+
"@samchon/openapi": "^2.0.1",
|
|
45
45
|
"commander": "^10.0.0",
|
|
46
46
|
"comment-json": "^4.2.3",
|
|
47
47
|
"inquirer": "^8.2.5",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
},
|
|
51
51
|
"peerDependencies": {
|
|
52
52
|
"typescript": ">=4.8.0 <5.8.0",
|
|
53
|
-
"@samchon/openapi": ">=2.0.
|
|
53
|
+
"@samchon/openapi": ">=2.0.1 <3.0.0"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
56
|
"@rollup/plugin-commonjs": "^26.0.1",
|
|
@@ -1,44 +1,45 @@
|
|
|
1
|
-
import fs from "fs";
|
|
2
|
-
|
|
3
|
-
export namespace TypiaPatchWizard {
|
|
4
|
-
export const main = async (): Promise<void> => {
|
|
5
|
-
console.log("----------------------------------------");
|
|
6
|
-
console.log(" Typia Setup Wizard");
|
|
7
|
-
console.log("----------------------------------------");
|
|
8
|
-
console.log(
|
|
9
|
-
[
|
|
10
|
-
`Since TypeScript v5.3 update, "tsc" no more parses JSDoc comments.`,
|
|
11
|
-
``,
|
|
12
|
-
`Therefore, "typia" revives the JSDoc parsing feature by patching "tsc".`,
|
|
13
|
-
``,
|
|
14
|
-
`This is a temporary feature of "typia", and it would be removed when "ts-patch" being updated.`,
|
|
15
|
-
].join("\n"),
|
|
16
|
-
);
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
const
|
|
43
|
-
const
|
|
44
|
-
const
|
|
1
|
+
import fs from "fs";
|
|
2
|
+
|
|
3
|
+
export namespace TypiaPatchWizard {
|
|
4
|
+
export const main = async (): Promise<void> => {
|
|
5
|
+
console.log("----------------------------------------");
|
|
6
|
+
console.log(" Typia Setup Wizard");
|
|
7
|
+
console.log("----------------------------------------");
|
|
8
|
+
console.log(
|
|
9
|
+
[
|
|
10
|
+
`Since TypeScript v5.3 update, "tsc" no more parses JSDoc comments.`,
|
|
11
|
+
``,
|
|
12
|
+
`Therefore, "typia" revives the JSDoc parsing feature by patching "tsc".`,
|
|
13
|
+
``,
|
|
14
|
+
`This is a temporary feature of "typia", and it would be removed when "ts-patch" being updated.`,
|
|
15
|
+
].join("\n"),
|
|
16
|
+
);
|
|
17
|
+
|
|
18
|
+
await patch();
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export const patch = async (): Promise<void> => {
|
|
22
|
+
for (const file of ["tsc.js", "_tsc.js"])
|
|
23
|
+
try {
|
|
24
|
+
const location: string = require.resolve(`typescript/lib/${file}`);
|
|
25
|
+
const content: string = await fs.promises.readFile(location, "utf8");
|
|
26
|
+
if (content.indexOf(FROM_WITH_COMMENT) !== -1)
|
|
27
|
+
await fs.promises.writeFile(
|
|
28
|
+
location,
|
|
29
|
+
content.replace(FROM_WITH_COMMENT, TO_WITH_COMMENT),
|
|
30
|
+
"utf8",
|
|
31
|
+
);
|
|
32
|
+
else if (content.indexOf(FROM_ONLY) !== -1)
|
|
33
|
+
await fs.promises.writeFile(
|
|
34
|
+
location,
|
|
35
|
+
content.replace(FROM_ONLY, TO_ONLY),
|
|
36
|
+
"utf8",
|
|
37
|
+
);
|
|
38
|
+
} catch {}
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const FROM_WITH_COMMENT = `var defaultJSDocParsingMode = 2 /* ParseForTypeErrors */`;
|
|
43
|
+
const TO_WITH_COMMENT = `var defaultJSDocParsingMode = 0 /* ParseAll */`;
|
|
44
|
+
const FROM_ONLY = `var defaultJSDocParsingMode = 2`;
|
|
45
|
+
const TO_ONLY = `var defaultJSDocParsingMode = 0`;
|
|
@@ -10,11 +10,12 @@ import { IMetadataIteratorProps } from "./IMetadataIteratorProps";
|
|
|
10
10
|
export const iterate_metadata_native = (
|
|
11
11
|
props: IMetadataIteratorProps,
|
|
12
12
|
): boolean => {
|
|
13
|
-
const name: string =
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
const name: string =
|
|
14
|
+
TypeFactory.getFullName({
|
|
15
|
+
checker: props.checker,
|
|
16
|
+
type: props.type,
|
|
17
|
+
symbol: props.type.getSymbol(),
|
|
18
|
+
}).split("<")?.[0] ?? "";
|
|
18
19
|
const simple: IClassInfo | undefined = SIMPLES.get(name);
|
|
19
20
|
if (
|
|
20
21
|
simple !== undefined &&
|
|
@@ -72,7 +73,7 @@ const validate = (props: {
|
|
|
72
73
|
});
|
|
73
74
|
return (
|
|
74
75
|
returnType !== null &&
|
|
75
|
-
props.checker.typeToString(returnType) === method.return
|
|
76
|
+
props.checker.typeToString(returnType).split("<")?.[0] === method.return
|
|
76
77
|
);
|
|
77
78
|
}) &&
|
|
78
79
|
(props.info.properties ?? []).every((property) => {
|
|
@@ -82,7 +83,7 @@ const validate = (props: {
|
|
|
82
83
|
: undefined;
|
|
83
84
|
return (
|
|
84
85
|
propType !== undefined &&
|
|
85
|
-
props.checker.typeToString(propType) === property.type
|
|
86
|
+
props.checker.typeToString(propType).split("<")?.[0] === property.type
|
|
86
87
|
);
|
|
87
88
|
});
|
|
88
89
|
|
|
@@ -187,9 +188,9 @@ const SIMPLES: Map<string, IClassInfo> = new Map([
|
|
|
187
188
|
className,
|
|
188
189
|
{
|
|
189
190
|
methods: [
|
|
190
|
-
{ name: "arrayBuffer", return: "Promise
|
|
191
|
+
{ name: "arrayBuffer", return: "Promise" },
|
|
191
192
|
{ name: "slice", return: "Blob" },
|
|
192
|
-
{ name: "text", return: "Promise
|
|
193
|
+
{ name: "text", return: "Promise" },
|
|
193
194
|
],
|
|
194
195
|
properties: [
|
|
195
196
|
{ name: "size", type: "number" },
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
2
|
|
|
3
3
|
import { IdentifierFactory } from "../../factories/IdentifierFactory";
|
|
4
|
+
import { JsonMetadataFactory } from "../../factories/JsonMetadataFactory";
|
|
4
5
|
import { StatementFactory } from "../../factories/StatementFactory";
|
|
5
6
|
import { TypeFactory } from "../../factories/TypeFactory";
|
|
6
7
|
|
|
@@ -19,6 +20,12 @@ export namespace JsonAssertParseProgrammer {
|
|
|
19
20
|
name: string | undefined;
|
|
20
21
|
init: ts.Expression | undefined;
|
|
21
22
|
}): FeatureProgrammer.IDecomposed => {
|
|
23
|
+
JsonMetadataFactory.analyze({
|
|
24
|
+
method: props.functor.method,
|
|
25
|
+
checker: props.context.checker,
|
|
26
|
+
transformer: props.context.transformer,
|
|
27
|
+
type: props.type,
|
|
28
|
+
});
|
|
22
29
|
const assert: FeatureProgrammer.IDecomposed = AssertProgrammer.decompose({
|
|
23
30
|
...props,
|
|
24
31
|
context: {
|