typia 4.0.0-dev.20230519 → 4.0.0-dev.20230519-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/transform.d.ts +3 -2
- package/lib/transform.js +15 -1
- package/lib/transform.js.map +1 -1
- package/lib/utils/TsSymbolUtil.js +8 -4
- package/lib/utils/TsSymbolUtil.js.map +1 -1
- package/package.json +2 -2
- package/src/transform.ts +21 -2
- package/src/utils/TsSymbolUtil.ts +10 -4
package/lib/transform.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import type ts from "typescript/lib/tsclibrary";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
import { ITransformOptions } from "./transformers/ITransformOptions";
|
|
3
|
+
declare const _default: ts.CustomTransformersModuleFactory | ((program: ts.Program, options?: ITransformOptions | undefined) => ts.TransformerFactory<ts.SourceFile>);
|
|
4
|
+
export = _default;
|
package/lib/transform.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var FileTransformer_1 = require("./transformers/FileTransformer");
|
|
3
|
-
var
|
|
3
|
+
var regular = function (_a) {
|
|
4
4
|
var typescript = _a.typescript;
|
|
5
5
|
return ({
|
|
6
6
|
create: function (info) { return ({
|
|
@@ -20,5 +20,19 @@ var transform = function (_a) {
|
|
|
20
20
|
}); },
|
|
21
21
|
});
|
|
22
22
|
};
|
|
23
|
+
var patch = function (program, options) {
|
|
24
|
+
var tsc = require("ts");
|
|
25
|
+
return FileTransformer_1.FileTransformer.transform({
|
|
26
|
+
tsc: tsc,
|
|
27
|
+
program: program,
|
|
28
|
+
compilerOptions: program.getCompilerOptions(),
|
|
29
|
+
checker: program.getTypeChecker(),
|
|
30
|
+
printer: tsc.createPrinter(),
|
|
31
|
+
options: options || {},
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
var transform = function (x, y) {
|
|
35
|
+
return x.typescript ? regular(x) : patch(x, y);
|
|
36
|
+
};
|
|
23
37
|
module.exports = transform;
|
|
24
38
|
//# sourceMappingURL=transform.js.map
|
package/lib/transform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":";AAEA,kEAAiE;
|
|
1
|
+
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":";AAEA,kEAAiE;AAGjE,IAAM,OAAO,GAAuC,UAAC,EAAc;QAAZ,UAAU,gBAAA;IAAO,OAAA,CAAC;QACrE,MAAM,EAAE,UAAC,IAAI,IAAK,OAAA,CAAC;YACf,MAAM,EAAE;gBACJ,UAAC,OAAO,IAAK,OAAA,UAAC,IAAI;;oBACd,OAAA,iCAAe,CAAC,SAAS,CAAC;wBACtB,GAAG,EAAE,UAAU;wBACf,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE;wBAClD,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;wBACtC,OAAO,EAAE,UAAU,CAAC,aAAa,EAAE;wBACnC,OAAO,EAAE,MAAA,IAAI,CAAC,MAAM,mCAAI,EAAE;qBAC7B,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAA;iBAAA,EARR,CAQQ;aACxB;SACJ,CAAC,EAZgB,CAYhB;KACL,CAAC;AAdsE,CActE,CAAC;AAEH,IAAM,KAAK,GAAG,UACV,OAAmB,EACnB,OAA2B;IAE3B,IAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,OAAO,iCAAe,CAAC,SAAS,CAAC;QAC7B,GAAG,KAAA;QACH,OAAO,SAAA;QACP,eAAe,EAAE,OAAO,CAAC,kBAAkB,EAAE;QAC7C,OAAO,EAAE,OAAO,CAAC,cAAc,EAAE;QACjC,OAAO,EAAE,GAAG,CAAC,aAAa,EAAE;QAC5B,OAAO,EAAE,OAAO,IAAI,EAAE;KACzB,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,IAAM,SAAS,GAAG,UAAC,CAAM,EAAE,CAAO;IAC9B,OAAA,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AAAvC,CAAuC,CAAC;AAC5C,iBAAS,SAA0C,CAAC"}
|
|
@@ -23,7 +23,7 @@ var TsSymbolUtil;
|
|
|
23
23
|
return undefined;
|
|
24
24
|
var range = tsc.getCommentRange(node);
|
|
25
25
|
var text = TsNodeUtil_1.TsNodeUtil.getSourceFile(tsc)(node).text.substring(range.pos, range.end);
|
|
26
|
-
return
|
|
26
|
+
return transform(text).join("\n");
|
|
27
27
|
};
|
|
28
28
|
};
|
|
29
29
|
TsSymbolUtil.getCommentTags = function (tsc) {
|
|
@@ -76,13 +76,15 @@ var TsSymbolUtil;
|
|
|
76
76
|
.replace("@".concat(tagName), "")
|
|
77
77
|
.split("\n")
|
|
78
78
|
.map(function (str) { return trim(str); })
|
|
79
|
-
.filter(function (str) {
|
|
79
|
+
.filter(function (str, i, array) {
|
|
80
|
+
return (i !== 0 && i !== array.length - 1) || !!str.length;
|
|
81
|
+
})
|
|
80
82
|
.join("\n");
|
|
81
83
|
return comment.length
|
|
82
84
|
? __assign(__assign({}, tag), { comment: comment }) : tag;
|
|
83
85
|
};
|
|
84
86
|
};
|
|
85
|
-
var
|
|
87
|
+
var transform = function (text) {
|
|
86
88
|
var elements = text.split("\n");
|
|
87
89
|
var first = lastIndexOf(elements)(function (elem) {
|
|
88
90
|
return elem.trim().startsWith("/**");
|
|
@@ -99,7 +101,9 @@ var TsSymbolUtil;
|
|
|
99
101
|
elem = elem.substring(0, elem.lastIndexOf("*/"));
|
|
100
102
|
return trim(elem);
|
|
101
103
|
})
|
|
102
|
-
.filter(function (
|
|
104
|
+
.filter(function (str, i, array) {
|
|
105
|
+
return (i !== 0 && i !== array.length - 1) || !!str.length;
|
|
106
|
+
});
|
|
103
107
|
};
|
|
104
108
|
var lastIndexOf = function (array) {
|
|
105
109
|
return function (pred) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TsSymbolUtil.js","sourceRoot":"","sources":["../../src/utils/TsSymbolUtil.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAGA,2CAA0C;AAE1C,IAAiB,YAAY,
|
|
1
|
+
{"version":3,"file":"TsSymbolUtil.js","sourceRoot":"","sources":["../../src/utils/TsSymbolUtil.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "typia",
|
|
3
|
-
"version": "4.0.0-dev.20230519",
|
|
3
|
+
"version": "4.0.0-dev.20230519-3",
|
|
4
4
|
"description": "Superfast runtime validators with only one line",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"typings": "lib/index.d.ts",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"benchmark": "npm run build:benchmark && node measure/benchmark",
|
|
12
12
|
"benchmark:generate": "ts-node benchmark/generate && npm run build:benchmark",
|
|
13
13
|
"test:generate": "npx ts-node src/executable/typia generate --input test/features --output test/generated/output --project test/tsconfig.json",
|
|
14
|
-
"test:template": "npx tsc && ts-node -P build/tsconfig.json build/test.ts
|
|
14
|
+
"test:template": "npx tsc && ts-node -P build/tsconfig.json build/test.ts",
|
|
15
15
|
"----------------------------------------------": "",
|
|
16
16
|
"build": "rimraf lib && tsc --removeComments --declaration false && tsc --emitDeclarationOnly",
|
|
17
17
|
"build:test": "npx tsc && rimraf bin && tsc -p test/tsconfig.json --allowPlugins",
|
package/src/transform.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type ts from "typescript/lib/tsclibrary";
|
|
2
2
|
|
|
3
3
|
import { FileTransformer } from "./transformers/FileTransformer";
|
|
4
|
+
import { ITransformOptions } from "./transformers/ITransformOptions";
|
|
4
5
|
|
|
5
|
-
const
|
|
6
|
+
const regular: ts.CustomTransformersModuleFactory = ({ typescript }) => ({
|
|
6
7
|
create: (info) => ({
|
|
7
8
|
before: [
|
|
8
9
|
(context) => (file) =>
|
|
@@ -17,4 +18,22 @@ const transform: ts.CustomTransformersModuleFactory = ({ typescript }) => ({
|
|
|
17
18
|
],
|
|
18
19
|
}),
|
|
19
20
|
});
|
|
20
|
-
|
|
21
|
+
|
|
22
|
+
const patch = (
|
|
23
|
+
program: ts.Program,
|
|
24
|
+
options?: ITransformOptions,
|
|
25
|
+
): ts.TransformerFactory<ts.SourceFile> => {
|
|
26
|
+
const tsc = require("ts");
|
|
27
|
+
return FileTransformer.transform({
|
|
28
|
+
tsc,
|
|
29
|
+
program,
|
|
30
|
+
compilerOptions: program.getCompilerOptions(),
|
|
31
|
+
checker: program.getTypeChecker(),
|
|
32
|
+
printer: tsc.createPrinter(),
|
|
33
|
+
options: options || {},
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
const transform = (x: any, y?: any) =>
|
|
38
|
+
x.typescript ? regular(x) : patch(x, y);
|
|
39
|
+
export = transform as typeof regular | typeof patch;
|
|
@@ -14,7 +14,7 @@ export namespace TsSymbolUtil {
|
|
|
14
14
|
const text: string = TsNodeUtil.getSourceFile(tsc)(
|
|
15
15
|
node,
|
|
16
16
|
).text.substring(range.pos, range.end);
|
|
17
|
-
return
|
|
17
|
+
return transform(text).join("\n");
|
|
18
18
|
};
|
|
19
19
|
|
|
20
20
|
export const getCommentTags =
|
|
@@ -71,7 +71,10 @@ export namespace TsSymbolUtil {
|
|
|
71
71
|
.replace(`@${tagName}`, "")
|
|
72
72
|
.split("\n")
|
|
73
73
|
.map((str) => trim(str))
|
|
74
|
-
.filter(
|
|
74
|
+
.filter(
|
|
75
|
+
(str, i, array) =>
|
|
76
|
+
(i !== 0 && i !== array.length - 1) || !!str.length,
|
|
77
|
+
)
|
|
75
78
|
.join("\n");
|
|
76
79
|
return comment.length
|
|
77
80
|
? {
|
|
@@ -81,7 +84,7 @@ export namespace TsSymbolUtil {
|
|
|
81
84
|
: tag;
|
|
82
85
|
};
|
|
83
86
|
|
|
84
|
-
const
|
|
87
|
+
const transform = (text: string): string[] => {
|
|
85
88
|
const elements: string[] = text.split("\n");
|
|
86
89
|
const first: number = lastIndexOf(elements)((elem) =>
|
|
87
90
|
elem.trim().startsWith("/**"),
|
|
@@ -98,7 +101,10 @@ export namespace TsSymbolUtil {
|
|
|
98
101
|
elem = elem.substring(0, elem.lastIndexOf("*/"));
|
|
99
102
|
return trim(elem);
|
|
100
103
|
})
|
|
101
|
-
.filter(
|
|
104
|
+
.filter(
|
|
105
|
+
(str, i, array) =>
|
|
106
|
+
(i !== 0 && i !== array.length - 1) || !!str.length,
|
|
107
|
+
);
|
|
102
108
|
};
|
|
103
109
|
|
|
104
110
|
const lastIndexOf =
|