typia 3.7.1 → 3.7.3-dev.20230408
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/README.md +3 -1
- package/lib/module.d.ts +33 -0
- package/lib/module.js +5 -1
- package/lib/module.js.map +1 -1
- package/lib/programmers/AssertProgrammer.js +4 -2
- package/lib/programmers/AssertProgrammer.js.map +1 -1
- package/lib/programmers/LiteralsProgrammer.d.ts +5 -0
- package/lib/programmers/LiteralsProgrammer.js +75 -0
- package/lib/programmers/LiteralsProgrammer.js.map +1 -0
- package/lib/programmers/ValidateProgrammer.js +3 -2
- package/lib/programmers/ValidateProgrammer.js.map +1 -1
- package/lib/transformers/CallExpressionTransformer.js +2 -0
- package/lib/transformers/CallExpressionTransformer.js.map +1 -1
- package/lib/transformers/ImportTransformer.js +8 -1
- package/lib/transformers/ImportTransformer.js.map +1 -1
- package/lib/transformers/features/miscellaneous/ApplicationTransformer.js +6 -3
- package/lib/transformers/features/miscellaneous/ApplicationTransformer.js.map +1 -1
- package/lib/transformers/features/miscellaneous/CreateRandomTransformer.js +4 -2
- package/lib/transformers/features/miscellaneous/CreateRandomTransformer.js.map +1 -1
- package/lib/transformers/features/miscellaneous/LiteralsTransformer.d.ts +5 -0
- package/lib/transformers/features/miscellaneous/LiteralsTransformer.js +21 -0
- package/lib/transformers/features/miscellaneous/LiteralsTransformer.js.map +1 -0
- package/lib/transformers/features/miscellaneous/MetadataTransformer.js +4 -2
- package/lib/transformers/features/miscellaneous/MetadataTransformer.js.map +1 -1
- package/lib/transformers/features/miscellaneous/RandomTransformer.js +4 -2
- package/lib/transformers/features/miscellaneous/RandomTransformer.js.map +1 -1
- package/package.json +5 -3
- package/src/module.ts +43 -0
- package/src/programmers/AssertProgrammer.ts +38 -10
- package/src/programmers/LiteralsProgrammer.ts +65 -0
- package/src/programmers/ValidateProgrammer.ts +36 -9
- package/src/transformers/CallExpressionTransformer.ts +2 -0
- package/src/transformers/ImportTransformer.ts +9 -3
- package/src/transformers/features/miscellaneous/ApplicationTransformer.ts +8 -9
- package/src/transformers/features/miscellaneous/CreateRandomTransformer.ts +6 -8
- package/src/transformers/features/miscellaneous/LiteralsTransformer.ts +30 -0
- package/src/transformers/features/miscellaneous/MetadataTransformer.ts +5 -6
- package/src/transformers/features/miscellaneous/RandomTransformer.ts +6 -8
package/README.md
CHANGED
|
@@ -21,6 +21,7 @@ export function assertStringify<T>(input: T): string; // safe and faster
|
|
|
21
21
|
|
|
22
22
|
// MISC
|
|
23
23
|
export function random<T>(g?: Partial<IRandomGenerator>): Primitive<T>;
|
|
24
|
+
export function literals<T extends Atomic.Type>(): T[];
|
|
24
25
|
export function clone<T>(input: T): Primitive<T>; // deep clone
|
|
25
26
|
export function prune<T extends object>(input: T): void; // erase extra props
|
|
26
27
|
// +) isClone, assertClone, validateClone
|
|
@@ -257,7 +258,8 @@ export function createAssertStringify<T>(): (input: T) => string;
|
|
|
257
258
|
|
|
258
259
|
### Miscellaneous
|
|
259
260
|
```typescript
|
|
260
|
-
export function random<T>(g?: Partial<IRandomGenerator>): Primitive<T>;
|
|
261
|
+
export function random<T>(g?: Partial<IRandomGenerator>): Primitive<T>;
|
|
262
|
+
export function literals<T extends Atomic.Type>(): T[];
|
|
261
263
|
export function clone<T>(input: T): Primitive<T>; // deep copy
|
|
262
264
|
export function prune<T>(input: T): void; // remove superfluous properties
|
|
263
265
|
// +) isClone, assertClone, validateClone
|
package/lib/module.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { IJsonApplication } from "./schemas/IJsonApplication";
|
|
2
|
+
import { Atomic } from "./typings/Atomic";
|
|
2
3
|
import { CustomValidatorMap } from "./CustomValidatorMap";
|
|
3
4
|
import { IRandomGenerator } from "./IRandomGenerator";
|
|
4
5
|
import { IValidation } from "./IValidation";
|
|
@@ -716,6 +717,38 @@ export declare function random(generator?: Partial<IRandomGenerator>): never;
|
|
|
716
717
|
* @author Jeongho Nam - https://github.com/samchon
|
|
717
718
|
*/
|
|
718
719
|
export declare function random<T>(generator?: Partial<IRandomGenerator>): Primitive<T>;
|
|
720
|
+
/**
|
|
721
|
+
* > You must configure the generic argument `T`.
|
|
722
|
+
*
|
|
723
|
+
* Union literal type to array.
|
|
724
|
+
*
|
|
725
|
+
* Converts a union literal type to an array of its members.
|
|
726
|
+
*
|
|
727
|
+
* ```typescript
|
|
728
|
+
* literals<"A" | "B" | 1>; // [1, 2, 3] as const
|
|
729
|
+
* ```
|
|
730
|
+
*
|
|
731
|
+
* @template T Union literal type
|
|
732
|
+
* @return Array of union literal type's members
|
|
733
|
+
*
|
|
734
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
735
|
+
*/
|
|
736
|
+
export declare function literals(): never;
|
|
737
|
+
/**
|
|
738
|
+
* Union literal type to array.
|
|
739
|
+
*
|
|
740
|
+
* Converts a union literal type to an array of its members.
|
|
741
|
+
*
|
|
742
|
+
* ```typescript
|
|
743
|
+
* literals<"A" | "B" | 1>; // [1, 2, 3] as const
|
|
744
|
+
* ```
|
|
745
|
+
*
|
|
746
|
+
* @template T Union literal type
|
|
747
|
+
* @return Array of union literal type's members
|
|
748
|
+
*
|
|
749
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
750
|
+
*/
|
|
751
|
+
export declare function literals<T extends Atomic.Type>(): T[];
|
|
719
752
|
/**
|
|
720
753
|
* Clone a data.
|
|
721
754
|
*
|
package/lib/module.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.createValidatePrune = exports.createIsPrune = exports.createAssertPrune = exports.createPrune = exports.createValidateClone = exports.createIsClone = exports.createAssertClone = exports.createClone = exports.createRandom = exports.createValidateStringify = exports.createIsStringify = exports.createAssertStringify = exports.createStringify = exports.createValidateParse = exports.createAssertParse = exports.createIsParse = exports.createValidateEquals = exports.createEquals = exports.createAssertEquals = exports.createValidate = exports.createIs = exports.createAssertType = exports.createAssert = exports.validatePrune = exports.isPrune = exports.assertPrune = exports.prune = exports.validateClone = exports.isClone = exports.assertClone = exports.clone = exports.random = exports.metadata = exports.validateStringify = exports.isStringify = exports.assertStringify = exports.stringify = exports.validateParse = exports.isParse = exports.assertParse = exports.application = exports.customValidators = exports.validateEquals = exports.equals = exports.assertEquals = exports.validate = exports.is = exports.assertType = exports.assert = void 0;
|
|
17
|
+
exports.createValidatePrune = exports.createIsPrune = exports.createAssertPrune = exports.createPrune = exports.createValidateClone = exports.createIsClone = exports.createAssertClone = exports.createClone = exports.createRandom = exports.createValidateStringify = exports.createIsStringify = exports.createAssertStringify = exports.createStringify = exports.createValidateParse = exports.createAssertParse = exports.createIsParse = exports.createValidateEquals = exports.createEquals = exports.createAssertEquals = exports.createValidate = exports.createIs = exports.createAssertType = exports.createAssert = exports.validatePrune = exports.isPrune = exports.assertPrune = exports.prune = exports.validateClone = exports.isClone = exports.assertClone = exports.clone = exports.literals = exports.random = exports.metadata = exports.validateStringify = exports.isStringify = exports.assertStringify = exports.stringify = exports.validateParse = exports.isParse = exports.assertParse = exports.application = exports.customValidators = exports.validateEquals = exports.equals = exports.assertEquals = exports.validate = exports.is = exports.assertType = exports.assert = void 0;
|
|
18
18
|
var _dictionary_1 = require("./functional/$dictionary");
|
|
19
19
|
var Namespace_1 = require("./functional/Namespace");
|
|
20
20
|
var MapUtil_1 = require("./utils/MapUtil");
|
|
@@ -124,6 +124,10 @@ function random() {
|
|
|
124
124
|
}
|
|
125
125
|
exports.random = random;
|
|
126
126
|
Object.assign(random, Namespace_1.Namespace.random());
|
|
127
|
+
function literals() {
|
|
128
|
+
halt("literals");
|
|
129
|
+
}
|
|
130
|
+
exports.literals = literals;
|
|
127
131
|
function clone() {
|
|
128
132
|
halt("clone");
|
|
129
133
|
}
|
package/lib/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,wDAAuD;AACvD,oDAAmD;
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
31
31
|
exports.AssertProgrammer = void 0;
|
|
32
32
|
var typescript_1 = __importDefault(require("typescript"));
|
|
33
33
|
var IdentifierFactory_1 = require("../factories/IdentifierFactory");
|
|
34
|
+
var StatementFactory_1 = require("../factories/StatementFactory");
|
|
34
35
|
var TypeFactory_1 = require("../factories/TypeFactory");
|
|
35
36
|
var CheckerProgrammer_1 = require("./CheckerProgrammer");
|
|
36
37
|
var IsProgrammer_1 = require("./IsProgrammer");
|
|
@@ -68,11 +69,12 @@ var AssertProgrammer;
|
|
|
68
69
|
return typescript_1.default.factory.createArrowFunction(undefined, undefined, [
|
|
69
70
|
IdentifierFactory_1.IdentifierFactory.parameter("input", TypeFactory_1.TypeFactory.keyword("any")),
|
|
70
71
|
], typescript_1.default.factory.createTypeReferenceNode(name !== null && name !== void 0 ? name : TypeFactory_1.TypeFactory.getFullName(project.checker, type)), undefined, typescript_1.default.factory.createBlock(__spreadArray(__spreadArray([], __read(importer.declare(modulo)), false), [
|
|
71
|
-
|
|
72
|
+
StatementFactory_1.StatementFactory.constant("__is", IsProgrammer_1.IsProgrammer.generate(project, modulo, equals)(type, name !== null && name !== void 0 ? name : TypeFactory_1.TypeFactory.getFullName(project.checker, type))),
|
|
73
|
+
typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createFalse(), typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("__is"), undefined, [typescript_1.default.factory.createIdentifier("input")])), typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(program, undefined, [
|
|
72
74
|
typescript_1.default.factory.createIdentifier("input"),
|
|
73
75
|
typescript_1.default.factory.createStringLiteral("$input"),
|
|
74
76
|
typescript_1.default.factory.createTrue(),
|
|
75
|
-
])),
|
|
77
|
+
])), undefined),
|
|
76
78
|
typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createIdentifier("input")),
|
|
77
79
|
], false), true));
|
|
78
80
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssertProgrammer.js","sourceRoot":"","sources":["../../src/programmers/AssertProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,wDAAuD;
|
|
1
|
+
{"version":3,"file":"AssertProgrammer.js","sourceRoot":"","sources":["../../src/programmers/AssertProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
3
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
+
if (!m) return o;
|
|
5
|
+
var i = m.call(o), r, ar = [], e;
|
|
6
|
+
try {
|
|
7
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
+
}
|
|
9
|
+
catch (error) { e = { error: error }; }
|
|
10
|
+
finally {
|
|
11
|
+
try {
|
|
12
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
+
}
|
|
14
|
+
finally { if (e) throw e.error; }
|
|
15
|
+
}
|
|
16
|
+
return ar;
|
|
17
|
+
};
|
|
18
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
19
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
20
|
+
if (ar || !(i in from)) {
|
|
21
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
22
|
+
ar[i] = from[i];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
26
|
+
};
|
|
27
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
28
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
29
|
+
};
|
|
30
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
|
+
exports.LiteralsProgrammer = void 0;
|
|
32
|
+
var typescript_1 = __importDefault(require("typescript"));
|
|
33
|
+
var MetadataCollection_1 = require("../factories/MetadataCollection");
|
|
34
|
+
var MetadataFactory_1 = require("../factories/MetadataFactory");
|
|
35
|
+
var ArrayUtil_1 = require("../utils/ArrayUtil");
|
|
36
|
+
var LiteralsProgrammer;
|
|
37
|
+
(function (LiteralsProgrammer) {
|
|
38
|
+
LiteralsProgrammer.generate = function (project) { return function (type) {
|
|
39
|
+
var meta = MetadataFactory_1.MetadataFactory.generate(project.checker, new MetadataCollection_1.MetadataCollection(), type, {
|
|
40
|
+
resolve: true,
|
|
41
|
+
constant: true,
|
|
42
|
+
validate: function (meta) {
|
|
43
|
+
var length = meta.constants
|
|
44
|
+
.map(function (c) { return c.values.length; })
|
|
45
|
+
.reduce(function (a, b) { return a + b; }, 0) +
|
|
46
|
+
meta.atomics.filter(function (type) { return type === "boolean"; })
|
|
47
|
+
.length;
|
|
48
|
+
if (0 === length)
|
|
49
|
+
throw new Error(ErrorMessages.NO);
|
|
50
|
+
else if (meta.size() !== length)
|
|
51
|
+
throw new Error(ErrorMessages.ONLY);
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
var values = new Set(__spreadArray(__spreadArray([], __read(ArrayUtil_1.ArrayUtil.flat(meta.constants.map(function (c) { return c.values; }))), false), __read((meta.atomics.filter(function (type) { return type === "boolean"; }).length
|
|
55
|
+
? [true, false]
|
|
56
|
+
: [])), false));
|
|
57
|
+
return typescript_1.default.factory.createAsExpression(typescript_1.default.factory.createArrayLiteralExpression(__spreadArray([], __read(values), false).map(function (v) {
|
|
58
|
+
return typeof v === "boolean"
|
|
59
|
+
? v
|
|
60
|
+
? typescript_1.default.factory.createTrue()
|
|
61
|
+
: typescript_1.default.factory.createFalse()
|
|
62
|
+
: typeof v === "number"
|
|
63
|
+
? typescript_1.default.factory.createNumericLiteral(v)
|
|
64
|
+
: typeof v === "bigint"
|
|
65
|
+
? typescript_1.default.factory.createBigIntLiteral(v.toString())
|
|
66
|
+
: typescript_1.default.factory.createStringLiteral(v);
|
|
67
|
+
}), true), typescript_1.default.factory.createTypeReferenceNode("const"));
|
|
68
|
+
}; };
|
|
69
|
+
})(LiteralsProgrammer = exports.LiteralsProgrammer || (exports.LiteralsProgrammer = {}));
|
|
70
|
+
var ErrorMessages;
|
|
71
|
+
(function (ErrorMessages) {
|
|
72
|
+
ErrorMessages["NO"] = "Error on typia.literals(): no literal type found.";
|
|
73
|
+
ErrorMessages["ONLY"] = "Error on typia.literals(): only literal type allowed.";
|
|
74
|
+
})(ErrorMessages || (ErrorMessages = {}));
|
|
75
|
+
//# sourceMappingURL=LiteralsProgrammer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LiteralsProgrammer.js","sourceRoot":"","sources":["../../src/programmers/LiteralsProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,sEAAqE;AACrE,gEAA+D;AAQ/D,gDAA+C;AAE/C,IAAiB,kBAAkB,CA8ClC;AA9CD,WAAiB,kBAAkB;IAClB,2BAAQ,GAAG,UAAC,OAAiB,IAAK,OAAA,UAAC,IAAa;QACzD,IAAM,IAAI,GAAa,iCAAe,CAAC,QAAQ,CAC3C,OAAO,CAAC,OAAO,EACf,IAAI,uCAAkB,EAAE,EACxB,IAAI,EACJ;YACI,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,UAAC,IAAI;gBACX,IAAM,MAAM,GACR,IAAI,CAAC,SAAS;qBACT,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,CAAC,MAAM,EAAf,CAAe,CAAC;qBAC3B,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK,EAAE,CAAC,CAAC;oBAC/B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,KAAK,SAAS,EAAlB,CAAkB,CAAC;yBAC5C,MAAM,CAAC;gBAChB,IAAI,CAAC,KAAK,MAAM;oBAAE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;qBAC/C,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,MAAM;oBAC3B,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC5C,CAAC;SACJ,CACJ,CAAC;QACF,IAAM,MAAM,GAAqB,IAAI,GAAG,wCACjC,qBAAS,CAAC,IAAI,CAAc,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,EAAR,CAAQ,CAAC,CAAC,kBAChE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,KAAK,SAAS,EAAlB,CAAkB,CAAC,CAAC,MAAM;YACxD,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC;YACf,CAAC,CAAC,EAAE,CAAC,UACX,CAAC;QACH,OAAO,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CAChC,oBAAE,CAAC,OAAO,CAAC,4BAA4B,CACnC,yBAAI,MAAM,UAAE,GAAG,CAAC,UAAC,CAAC;YACd,OAAA,OAAO,CAAC,KAAK,SAAS;gBAClB,CAAC,CAAC,CAAC;oBACC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE;oBACzB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,WAAW,EAAE;gBAC9B,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ;oBACvB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC;oBACpC,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ;wBACvB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;wBAC9C,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC;QARvC,CAQuC,CAC1C,EACD,IAAI,CACP,EACD,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAC9C,CAAC;IACN,CAAC,EA5C8C,CA4C9C,CAAC;AACN,CAAC,EA9CgB,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QA8ClC;AAED,IAAK,aAGJ;AAHD,WAAK,aAAa;IACd,yEAAwD,CAAA;IACxD,+EAA8D,CAAA;AAClE,CAAC,EAHI,aAAa,KAAb,aAAa,QAGjB"}
|
|
@@ -70,14 +70,15 @@ var ValidateProgrammer;
|
|
|
70
70
|
return typescript_1.default.factory.createArrowFunction(undefined, undefined, [
|
|
71
71
|
IdentifierFactory_1.IdentifierFactory.parameter("input", TypeFactory_1.TypeFactory.keyword("any")),
|
|
72
72
|
], typescript_1.default.factory.createTypeReferenceNode("typia.IValidation<".concat(name !== null && name !== void 0 ? name : TypeFactory_1.TypeFactory.getFullName(project.checker, type), ">")), undefined, typescript_1.default.factory.createBlock(__spreadArray(__spreadArray([
|
|
73
|
+
StatementFactory_1.StatementFactory.constant("__is", IsProgrammer_1.IsProgrammer.generate(project, modulo, equals)(type, name !== null && name !== void 0 ? name : TypeFactory_1.TypeFactory.getFullName(project.checker, type))),
|
|
73
74
|
StatementFactory_1.StatementFactory.constant("errors", typescript_1.default.factory.createAsExpression(typescript_1.default.factory.createArrayLiteralExpression([]), typescript_1.default.factory.createArrayTypeNode(TypeFactory_1.TypeFactory.keyword("any")))),
|
|
74
75
|
StatementFactory_1.StatementFactory.constant("$report", typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.join(typescript_1.default.factory.createParenthesizedExpression(typescript_1.default.factory.createAsExpression(modulo, TypeFactory_1.TypeFactory.keyword("any"))), "report"), [], [typescript_1.default.factory.createIdentifier("errors")]))
|
|
75
76
|
], __read(importer.declare(modulo)), false), [
|
|
76
|
-
typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(program, undefined, [
|
|
77
|
+
typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createFalse(), typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("__is"), undefined, [typescript_1.default.factory.createIdentifier("input")])), typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(program, undefined, [
|
|
77
78
|
typescript_1.default.factory.createIdentifier("input"),
|
|
78
79
|
typescript_1.default.factory.createStringLiteral("$input"),
|
|
79
80
|
typescript_1.default.factory.createTrue(),
|
|
80
|
-
])),
|
|
81
|
+
]))),
|
|
81
82
|
StatementFactory_1.StatementFactory.constant("success", typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createNumericLiteral(0), typescript_1.default.factory.createIdentifier("errors.length"))),
|
|
82
83
|
typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createAsExpression(create_output(), TypeFactory_1.TypeFactory.keyword("any"))),
|
|
83
84
|
], false), true));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidateProgrammer.js","sourceRoot":"","sources":["../../src/programmers/ValidateProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,kEAAiE;AACjE,wDAAuD;AAIvD,yDAAwD;AACxD,+CAA8C;AAC9C,iEAA+D;AAC/D,+DAA8D;AAC9D,gEAA+D;AAC/D,wDAAuD;AAEvD,IAAiB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"ValidateProgrammer.js","sourceRoot":"","sources":["../../src/programmers/ValidateProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,7 @@ var CreateValidateCloneTransformer_1 = require("./features/miscellaneous/CreateV
|
|
|
20
20
|
var CreateValidatePruneTransformer_1 = require("./features/miscellaneous/CreateValidatePruneTransformer");
|
|
21
21
|
var IsCloneTransformer_1 = require("./features/miscellaneous/IsCloneTransformer");
|
|
22
22
|
var IsPruneTransformer_1 = require("./features/miscellaneous/IsPruneTransformer");
|
|
23
|
+
var LiteralsTransformer_1 = require("./features/miscellaneous/LiteralsTransformer");
|
|
23
24
|
var MetadataTransformer_1 = require("./features/miscellaneous/MetadataTransformer");
|
|
24
25
|
var PruneTransformer_1 = require("./features/miscellaneous/PruneTransformer");
|
|
25
26
|
var RandomTransformer_1 = require("./features/miscellaneous/RandomTransformer");
|
|
@@ -86,6 +87,7 @@ var FUNCTORS = {
|
|
|
86
87
|
validateStringify: function () { return ValidateStringifyTransformer_1.ValidateStringifyTransformer.transform; },
|
|
87
88
|
metadata: function () { return MetadataTransformer_1.MetadataTransformer.transform; },
|
|
88
89
|
random: function () { return RandomTransformer_1.RandomTransformer.transform; },
|
|
90
|
+
literals: function () { return LiteralsTransformer_1.LiteralsTransformer.transform; },
|
|
89
91
|
clone: function () { return CloneTransformer_1.CloneTransformer.transform; },
|
|
90
92
|
assertClone: function () { return AssertCloneTransformer_1.AssertCloneTransformer.transform; },
|
|
91
93
|
isClone: function () { return IsCloneTransformer_1.IsCloneTransformer.transform; },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CallExpressionTransformer.js","sourceRoot":"","sources":["../../src/transformers/CallExpressionTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAwB;AAIxB,0FAAyF;AACzF,0FAAyF;AACzF,0FAAyF;AACzF,8EAA6E;AAC7E,sGAAqG;AACrG,sGAAqG;AACrG,0FAAyF;AACzF,8FAA6F;AAC7F,8FAA6F;AAC7F,0FAAyF;AACzF,4FAA2F;AAC3F,0GAAyG;AACzG,0GAAyG;AACzG,kFAAiF;AACjF,kFAAiF;AACjF,oFAAmF;AACnF,8EAA6E;AAC7E,gFAA+E;AAC/E,8FAA6F;AAC7F,8FAA6F;AAC7F,oFAAmF;AACnF,gGAA+F;AAC/F,wFAAuF;AACvF,oGAAmG;AACnG,4EAA2E;AAC3E,wFAAuF;AACvF,iGAAgG;AAChG,6GAA4G;AAC5G,qGAAoG;AACpG,iGAAgG;AAChG,+GAA+G;AAC/G,yFAAwF;AACxF,qFAAoF;AACpF,qGAAoG;AACpG,6EAA4E;AAC5E,yFAAwF;AACxF,iFAAgF;AAChF,6FAA4F;AAC5F,qEAAoE;AACpE,iFAAgF;AAEhF,IAAiB,yBAAyB,CAmCzC;AAnCD,WAAiB,yBAAyB;IACtC,SAAgB,SAAS,CACrB,OAAiB,EACjB,UAA6B;;QAM7B,IAAM,WAAW,GACb,MAAA,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,UAAU,CAAC,0CAAE,WAAW,CAAC;QAClE,IAAI,CAAC,WAAW;YAAE,OAAO,UAAU,CAAC;QAGpC,IAAM,IAAI,GAAW,cAAI,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAC;QACxE,IACI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,KAAK,QAAQ;YACjB,IAAI,KAAK,QAAQ;YAEjB,OAAO,UAAU,CAAC;QAMd,IAAA,IAAI,GAAK,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,MAAM,KAA1D,CAA2D;QAGvE,IAAM,OAAO,GAA6B,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,UAAU,CAAC;QAG7C,OAAO,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACjE,CAAC;IAjCe,mCAAS,YAiCxB,CAAA;AACL,CAAC,EAnCgB,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QAmCzC;AAQD,IAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;AAC1E,IAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;AACvE,IAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CACzB,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,CAC7D,CAAC;AAEF,IAAM,QAAQ,GAA+B;IAKzC,MAAM,EAAE,cAAM,OAAA,qCAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAlC,CAAkC;IAChD,UAAU,EAAE,cAAM,OAAA,qCAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAlC,CAAkC;IACpD,EAAE,EAAE,cAAM,OAAA,6BAAa,CAAC,SAAS,CAAC,KAAK,CAAC,EAA9B,CAA8B;IACxC,QAAQ,EAAE,cAAM,OAAA,yCAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,EAApC,CAAoC;IAGpD,YAAY,EAAE,cAAM,OAAA,qCAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAjC,CAAiC;IACrD,MAAM,EAAE,cAAM,OAAA,6BAAa,CAAC,SAAS,CAAC,IAAI,CAAC,EAA7B,CAA6B;IAC3C,cAAc,EAAE,cAAM,OAAA,yCAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAnC,CAAmC;IAGzD,OAAO,EAAE,cAAM,OAAA,uCAAkB,CAAC,SAAS,EAA5B,CAA4B;IAC3C,WAAW,EAAE,cAAM,OAAA,+CAAsB,CAAC,SAAS,EAAhC,CAAgC;IACnD,aAAa,EAAE,cAAM,OAAA,mDAAwB,CAAC,SAAS,EAAlC,CAAkC;IAGvD,WAAW,EAAE,cAAM,OAAA,+CAAsB,CAAC,SAAS,EAAhC,CAAgC;IACnD,SAAS,EAAE,cAAM,OAAA,2CAAoB,CAAC,SAAS,EAA9B,CAA8B;IAC/C,eAAe,EAAE,cAAM,OAAA,uDAA0B,CAAC,SAAS,EAApC,CAAoC;IAC3D,WAAW,EAAE,cAAM,OAAA,+CAAsB,CAAC,SAAS,EAAhC,CAAgC;IACnD,iBAAiB,EAAE,cAAM,OAAA,2DAA4B,CAAC,SAAS,EAAtC,CAAsC;IAG/D,QAAQ,EAAE,cAAM,OAAA,yCAAmB,CAAC,SAAS,EAA7B,CAA6B;IAC7C,MAAM,EAAE,cAAM,OAAA,qCAAiB,CAAC,SAAS,EAA3B,CAA2B;
|
|
1
|
+
{"version":3,"file":"CallExpressionTransformer.js","sourceRoot":"","sources":["../../src/transformers/CallExpressionTransformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,7 +40,14 @@ var ImportTransformer;
|
|
|
40
40
|
var location = path_1.default.resolve(from, text);
|
|
41
41
|
if (location.indexOf(top) === 0)
|
|
42
42
|
return node;
|
|
43
|
-
|
|
43
|
+
var replaced = (function () {
|
|
44
|
+
var simple = path_1.default
|
|
45
|
+
.relative(to, location)
|
|
46
|
+
.split(path_1.default.sep)
|
|
47
|
+
.join("/");
|
|
48
|
+
return simple[0] === "." ? simple : "./".concat(simple);
|
|
49
|
+
})();
|
|
50
|
+
return typescript_1.default.factory.createImportDeclaration(undefined, node.importClause, typescript_1.default.factory.createStringLiteral(replaced), node.assertClause);
|
|
44
51
|
}; }; }; };
|
|
45
52
|
})(ImportTransformer = exports.ImportTransformer || (exports.ImportTransformer = {}));
|
|
46
53
|
var get_directory_path = function (file) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImportTransformer.js","sourceRoot":"","sources":["../../src/transformers/ImportTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAwB;AACxB,0DAA4B;AAE5B,IAAiB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"ImportTransformer.js","sourceRoot":"","sources":["../../src/transformers/ImportTransformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ var ApplicationTransformer;
|
|
|
15
15
|
var _b;
|
|
16
16
|
var checker = _a.checker;
|
|
17
17
|
if (!((_b = expression.typeArguments) === null || _b === void 0 ? void 0 : _b.length))
|
|
18
|
-
throw new Error(
|
|
18
|
+
throw new Error(NO_GENERIC_ARGUMENT);
|
|
19
19
|
var top = expression.typeArguments[0];
|
|
20
20
|
if (!typescript_1.default.isTupleTypeNode(top))
|
|
21
21
|
return expression;
|
|
@@ -25,7 +25,7 @@ var ApplicationTransformer;
|
|
|
25
25
|
return checker.getTypeFromTypeNode(child);
|
|
26
26
|
});
|
|
27
27
|
if (types.some(function (t) { return t.isTypeParameter(); }))
|
|
28
|
-
throw new Error(
|
|
28
|
+
throw new Error(GENERIC_ARGUMENT);
|
|
29
29
|
var purpose = get_parameter(checker, "Purpose", expression.typeArguments[1], function (str) { return str === "swagger" || str === "ajv"; }, function () { return "swagger"; });
|
|
30
30
|
var prefix = get_parameter(checker, "Prefix", expression.typeArguments[2], function () { return true; }, function () {
|
|
31
31
|
return purpose === "swagger"
|
|
@@ -41,7 +41,7 @@ var ApplicationTransformer;
|
|
|
41
41
|
constant: true,
|
|
42
42
|
validate: function (meta) {
|
|
43
43
|
if (meta.atomics.find(function (str) { return str === "bigint"; }))
|
|
44
|
-
throw new Error(
|
|
44
|
+
throw new Error(NO_BIGIT);
|
|
45
45
|
},
|
|
46
46
|
});
|
|
47
47
|
});
|
|
@@ -64,4 +64,7 @@ var ApplicationTransformer;
|
|
|
64
64
|
return value;
|
|
65
65
|
}
|
|
66
66
|
})(ApplicationTransformer = exports.ApplicationTransformer || (exports.ApplicationTransformer = {}));
|
|
67
|
+
var NO_GENERIC_ARGUMENT = "Error on typia.application(): no generic argument.";
|
|
68
|
+
var GENERIC_ARGUMENT = "Error on typia.application(): non-specified generic argument(s).";
|
|
69
|
+
var NO_BIGIT = "Error on typia.application(): does not allow bigint type.";
|
|
67
70
|
//# sourceMappingURL=ApplicationTransformer.js.map
|
|
@@ -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,CAmGtC;AAnGD,WAAiB,sBAAsB;IACnC,SAAgB,SAAS,CACrB,EAAqB,EACrB,OAAkC,EAClC,UAA6B;;YAF3B,OAAO,aAAA;QAIT,IAAI,CAAC,CAAA,MAAA,UAAU,CAAC,aAAa,0CAAE,MAAM,CAAA;YACjC,MAAM,IAAI,KAAK,
|
|
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,CAmGtC;AAnGD,WAAiB,sBAAsB;IACnC,SAAgB,SAAS,CACrB,EAAqB,EACrB,OAAkC,EAClC,UAA6B;;YAF3B,OAAO,aAAA;QAIT,IAAI,CAAC,CAAA,MAAA,UAAU,CAAC,aAAa,0CAAE,MAAM,CAAA;YACjC,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAMzC,IAAM,GAAG,GAAY,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE,CAAC;QAClD,IAAI,CAAC,oBAAE,CAAC,eAAe,CAAC,GAAG,CAAC;YAAE,OAAO,UAAU,CAAC;aAC3C,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,CAAC,oBAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAArB,CAAqB,CAAC;YACxD,OAAO,UAAU,CAAC;QAGtB,IAAM,KAAK,GAAc,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,KAAK;YAC5C,OAAA,OAAO,CAAC,mBAAmB,CAAC,KAAoB,CAAC;QAAjD,CAAiD,CACpD,CAAC;QACF,IAAI,KAAK,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,eAAe,EAAE,EAAnB,CAAmB,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAGtC,IAAM,OAAO,GAAsB,aAAa,CAC5C,OAAO,EACP,SAAS,EACT,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,EAC3B,UAAC,GAAG,IAAK,OAAA,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,KAAK,EAAlC,CAAkC,EAC3C,cAAM,OAAA,SAAS,EAAT,CAAS,CAClB,CAAC;QACF,IAAM,MAAM,GAAW,aAAa,CAChC,OAAO,EACP,QAAQ,EACR,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,EAC3B,cAAM,OAAA,IAAI,EAAJ,CAAI,EACV;YACI,OAAA,OAAO,KAAK,SAAS;gBACjB,CAAC,CAAC,sBAAsB;gBACxB,CAAC,CAAC,qBAAqB;QAF3B,CAE2B,CAClC,CAAC;QAMF,IAAM,UAAU,GAAuB,IAAI,uCAAkB,CAAC;YAC1D,OAAO,EAAE,uCAAkB,CAAC,OAAO;SACtC,CAAC,CAAC;QACH,IAAM,SAAS,GAAoB,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI;YAC9C,OAAA,iCAAe,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE;gBAChD,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,IAAI;gBACd,QAAQ,EAAE,UAAC,IAAI;oBACX,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,KAAK,QAAQ,EAAhB,CAAgB,CAAC;wBAC5C,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAClC,CAAC;aACJ,CAAC;QAPF,CAOE,CACL,CAAC;QAGF,IAAM,GAAG,GAAqB,6CAAqB,CAAC,QAAQ,CACxD,SAAS,EACT;YACI,OAAO,SAAA;YACP,MAAM,QAAA;SACT,CACJ,CAAC;QAGF,OAAO,+BAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAxEe,gCAAS,YAwExB,CAAA;IAED,SAAS,aAAa,CAClB,OAAuB,EACvB,IAAY,EACZ,IAA6B,EAC7B,UAAsC,EACtC,SAAkB;QAElB,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,EAAE,CAAC;QAG9B,IAAM,IAAI,GAAY,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACjB,MAAM,IAAI,KAAK,CACX,2DAAmD,IAAI,yBAAqB,CAC/E,CAAC;QAGN,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,KAAK;YACxD,MAAM,IAAI,KAAK,CACX,4EAAoE,IAAI,QAAI,CAC/E,CAAC;QACN,OAAO,KAAU,CAAC;IACtB,CAAC;AACL,CAAC,EAnGgB,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAmGtC;AAED,IAAM,mBAAmB,GACrB,oDAAoD,CAAC;AACzD,IAAM,gBAAgB,GAClB,kEAAkE,CAAC;AACvE,IAAM,QAAQ,GAAG,2DAA2D,CAAC"}
|
|
@@ -18,13 +18,15 @@ var CreateRandomTransformer;
|
|
|
18
18
|
function transform(project, modulo, expression) {
|
|
19
19
|
var _a, _b;
|
|
20
20
|
if (!((_a = expression.typeArguments) === null || _a === void 0 ? void 0 : _a[0]))
|
|
21
|
-
throw new Error(
|
|
21
|
+
throw new Error(NOT_SPECIFIED);
|
|
22
22
|
var node = expression.typeArguments[0];
|
|
23
23
|
var type = project.checker.getTypeFromTypeNode(node);
|
|
24
24
|
if (type.isTypeParameter())
|
|
25
|
-
throw new Error(
|
|
25
|
+
throw new Error(NO_GENERIC_ARGUMENT);
|
|
26
26
|
return RandomProgrammer_1.RandomProgrammer.generate(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: false }) }), modulo, (_b = expression.arguments) === null || _b === void 0 ? void 0 : _b[0])(type, node.getFullText().trim());
|
|
27
27
|
}
|
|
28
28
|
CreateRandomTransformer.transform = transform;
|
|
29
29
|
})(CreateRandomTransformer = exports.CreateRandomTransformer || (exports.CreateRandomTransformer = {}));
|
|
30
|
+
var NOT_SPECIFIED = "Error on typia.createRandom(): generic argument is not specified.";
|
|
31
|
+
var NO_GENERIC_ARGUMENT = "Error on typia.createRandom(): non-specified generic argument.";
|
|
30
32
|
//# sourceMappingURL=CreateRandomTransformer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateRandomTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/miscellaneous/CreateRandomTransformer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,0EAAyE;AAIzE,IAAiB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"CreateRandomTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/miscellaneous/CreateRandomTransformer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAEA,0EAAyE;AAIzE,IAAiB,uBAAuB,CA6BvC;AA7BD,WAAiB,uBAAuB;IACpC,SAAgB,SAAS,CACrB,OAAiB,EACjB,MAAiC,EACjC,UAA6B;;QAG7B,IAAI,CAAC,CAAA,MAAA,UAAU,CAAC,aAAa,0CAAG,CAAC,CAAC,CAAA;YAAE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;QAGnE,IAAM,IAAI,GAAgB,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACtD,IAAM,IAAI,GAAY,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAEhE,IAAI,IAAI,CAAC,eAAe,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAGjE,OAAO,mCAAgB,CAAC,QAAQ,uBAErB,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,QAGtB,MAAM,EACN,MAAA,UAAU,CAAC,SAAS,0CAAG,CAAC,CAAC,CAC5B,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IA3Be,iCAAS,YA2BxB,CAAA;AACL,CAAC,EA7BgB,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QA6BvC;AAED,IAAM,aAAa,GACf,mEAAmE,CAAC;AACxE,IAAM,mBAAmB,GACrB,gEAAgE,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LiteralsTransformer = void 0;
|
|
4
|
+
var LiteralsProgrammer_1 = require("../../../programmers/LiteralsProgrammer");
|
|
5
|
+
var LiteralsTransformer;
|
|
6
|
+
(function (LiteralsTransformer) {
|
|
7
|
+
function transform(project, _modulo, expression) {
|
|
8
|
+
var _a;
|
|
9
|
+
if (!((_a = expression.typeArguments) === null || _a === void 0 ? void 0 : _a[0]))
|
|
10
|
+
throw new Error(NOT_SPECIFIED);
|
|
11
|
+
var node = expression.typeArguments[0];
|
|
12
|
+
var type = project.checker.getTypeFromTypeNode(node);
|
|
13
|
+
if (type.isTypeParameter())
|
|
14
|
+
throw new Error(NO_GENERIC_ARGUMENT);
|
|
15
|
+
return LiteralsProgrammer_1.LiteralsProgrammer.generate(project)(type);
|
|
16
|
+
}
|
|
17
|
+
LiteralsTransformer.transform = transform;
|
|
18
|
+
})(LiteralsTransformer = exports.LiteralsTransformer || (exports.LiteralsTransformer = {}));
|
|
19
|
+
var NOT_SPECIFIED = "Error on typia.literals(): generic argument is not specified.";
|
|
20
|
+
var NO_GENERIC_ARGUMENT = "Error on typia.literals(): non-specified generic argument.";
|
|
21
|
+
//# sourceMappingURL=LiteralsTransformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LiteralsTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/miscellaneous/LiteralsTransformer.ts"],"names":[],"mappings":";;;AAEA,8EAA6E;AAI7E,IAAiB,mBAAmB,CAkBnC;AAlBD,WAAiB,mBAAmB;IAChC,SAAgB,SAAS,CACrB,OAAiB,EACjB,OAAkC,EAClC,UAA6B;;QAG7B,IAAI,CAAC,CAAA,MAAA,UAAU,CAAC,aAAa,0CAAG,CAAC,CAAC,CAAA;YAAE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;QAGnE,IAAM,IAAI,GAAgB,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACtD,IAAM,IAAI,GAAY,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAEhE,IAAI,IAAI,CAAC,eAAe,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAGjE,OAAO,uCAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAhBe,6BAAS,YAgBxB,CAAA;AACL,CAAC,EAlBgB,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAkBnC;AAED,IAAM,aAAa,GACf,+DAA+D,CAAC;AACpE,IAAM,mBAAmB,GACrB,4DAA4D,CAAC"}
|
|
@@ -14,7 +14,7 @@ var MetadataTransformer;
|
|
|
14
14
|
var _b;
|
|
15
15
|
var checker = _a.checker;
|
|
16
16
|
if (!((_b = expression.typeArguments) === null || _b === void 0 ? void 0 : _b.length))
|
|
17
|
-
throw new Error(
|
|
17
|
+
throw new Error(NO_GENERIC_ARGUMENT);
|
|
18
18
|
var top = expression.typeArguments[0];
|
|
19
19
|
if (!typescript_1.default.isTupleTypeNode(top))
|
|
20
20
|
return expression;
|
|
@@ -24,7 +24,7 @@ var MetadataTransformer;
|
|
|
24
24
|
return checker.getTypeFromTypeNode(child);
|
|
25
25
|
});
|
|
26
26
|
if (types.some(function (t) { return t.isTypeParameter(); }))
|
|
27
|
-
throw new Error(
|
|
27
|
+
throw new Error(GENERIC_ARGUMENT);
|
|
28
28
|
var collection = new MetadataCollection_1.MetadataCollection();
|
|
29
29
|
var metadatas = types.map(function (type) {
|
|
30
30
|
return MetadataFactory_1.MetadataFactory.generate(checker, collection, type, {
|
|
@@ -40,4 +40,6 @@ var MetadataTransformer;
|
|
|
40
40
|
}
|
|
41
41
|
MetadataTransformer.transform = transform;
|
|
42
42
|
})(MetadataTransformer = exports.MetadataTransformer || (exports.MetadataTransformer = {}));
|
|
43
|
+
var NO_GENERIC_ARGUMENT = "Error on typia.metadata(): no generic argument.";
|
|
44
|
+
var GENERIC_ARGUMENT = "Error on typia.metadata(): non-specified generic argument(s).";
|
|
43
45
|
//# sourceMappingURL=MetadataTransformer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MetadataTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/miscellaneous/MetadataTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,4EAA2E;AAC3E,sEAAqE;AAOrE,IAAiB,mBAAmB,CAsCnC;AAtCD,WAAiB,mBAAmB;IAChC,SAAgB,SAAS,CACrB,EAAqB,EACrB,OAAkC,EAClC,UAA6B;;YAF3B,OAAO,aAAA;QAIT,IAAI,CAAC,CAAA,MAAA,UAAU,CAAC,aAAa,0CAAE,MAAM,CAAA;YACjC,MAAM,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"MetadataTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/miscellaneous/MetadataTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,4EAA2E;AAC3E,sEAAqE;AAOrE,IAAiB,mBAAmB,CAsCnC;AAtCD,WAAiB,mBAAmB;IAChC,SAAgB,SAAS,CACrB,EAAqB,EACrB,OAAkC,EAClC,UAA6B;;YAF3B,OAAO,aAAA;QAIT,IAAI,CAAC,CAAA,MAAA,UAAU,CAAC,aAAa,0CAAE,MAAM,CAAA;YACjC,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAGzC,IAAM,GAAG,GAAY,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE,CAAC;QAClD,IAAI,CAAC,oBAAE,CAAC,eAAe,CAAC,GAAG,CAAC;YAAE,OAAO,UAAU,CAAC;aAC3C,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAC,KAAK,IAAK,OAAA,CAAC,oBAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAArB,CAAqB,CAAC;YACxD,OAAO,UAAU,CAAC;QAGtB,IAAM,KAAK,GAAc,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,KAAK;YAC5C,OAAA,OAAO,CAAC,mBAAmB,CAAC,KAAoB,CAAC;QAAjD,CAAiD,CACpD,CAAC;QACF,IAAI,KAAK,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,eAAe,EAAE,EAAnB,CAAmB,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAGtC,IAAM,UAAU,GAAuB,IAAI,uCAAkB,EAAE,CAAC;QAChE,IAAM,SAAS,GAAoB,KAAK,CAAC,GAAG,CAAC,UAAC,IAAI;YAC9C,OAAA,iCAAe,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE;gBAChD,OAAO,EAAE,KAAK;gBACd,QAAQ,EAAE,IAAI;aACjB,CAAC;QAHF,CAGE,CACL,CAAC;QAGF,IAAM,GAAG,GAAyB;YAC9B,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,UAAC,QAAQ,IAAK,OAAA,QAAQ,CAAC,MAAM,EAAE,EAAjB,CAAiB,CAAC;YACzD,UAAU,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,MAAM,EAAE,EAAZ,CAAY,CAAC;SAC9D,CAAC;QACF,OAAO,+BAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IApCe,6BAAS,YAoCxB,CAAA;AACL,CAAC,EAtCgB,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAsCnC;AAED,IAAM,mBAAmB,GAAG,iDAAiD,CAAC;AAC9E,IAAM,gBAAgB,GAClB,+DAA+D,CAAC"}
|
|
@@ -22,15 +22,17 @@ var RandomTransformer;
|
|
|
22
22
|
function transform(project, modulo, expression) {
|
|
23
23
|
var _a;
|
|
24
24
|
if (!((_a = expression.typeArguments) === null || _a === void 0 ? void 0 : _a[0]))
|
|
25
|
-
throw new Error(
|
|
25
|
+
throw new Error(NOT_SPECIFIED);
|
|
26
26
|
var node = expression.typeArguments[0];
|
|
27
27
|
var type = project.checker.getTypeFromTypeNode(node);
|
|
28
28
|
if (type.isTypeParameter())
|
|
29
|
-
throw new Error(
|
|
29
|
+
throw new Error(NO_GENERIC_ARGUMENT);
|
|
30
30
|
return typescript_1.default.factory.createCallExpression(RandomProgrammer_1.RandomProgrammer.generate(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: false }) }), modulo)(type, node.getFullText().trim()), undefined, expression.arguments.length
|
|
31
31
|
? [expression.arguments[0]]
|
|
32
32
|
: undefined);
|
|
33
33
|
}
|
|
34
34
|
RandomTransformer.transform = transform;
|
|
35
35
|
})(RandomTransformer = exports.RandomTransformer || (exports.RandomTransformer = {}));
|
|
36
|
+
var NOT_SPECIFIED = "Error on typia.random(): generic argument is not specified.";
|
|
37
|
+
var NO_GENERIC_ARGUMENT = "Error on typia.random(): non-specified generic argument.";
|
|
36
38
|
//# sourceMappingURL=RandomTransformer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RandomTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/miscellaneous/RandomTransformer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,0EAAyE;AAIzE,IAAiB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"RandomTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/miscellaneous/RandomTransformer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,0EAAyE;AAIzE,IAAiB,iBAAiB,CAkCjC;AAlCD,WAAiB,iBAAiB;IAC9B,SAAgB,SAAS,CACrB,OAAiB,EACjB,MAAiC,EACjC,UAA6B;;QAG7B,IAAI,CAAC,CAAA,MAAA,UAAU,CAAC,aAAa,0CAAG,CAAC,CAAC,CAAA;YAAE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;QAGnE,IAAM,IAAI,GAAgB,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACtD,IAAM,IAAI,GAAY,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAEhE,IAAI,IAAI,CAAC,eAAe,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAGjE,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAClC,mCAAgB,CAAC,QAAQ,uBAEd,OAAO,KACV,OAAO,wBACA,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,QAGtB,MAAM,CACT,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,EAClC,SAAS,EACT,UAAU,CAAC,SAAS,CAAC,MAAM;YACvB,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC;YAC5B,CAAC,CAAC,SAAS,CAClB,CAAC;IACN,CAAC;IAhCe,2BAAS,YAgCxB,CAAA;AACL,CAAC,EAlCgB,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAkCjC;AAED,IAAM,aAAa,GACf,6DAA6D,CAAC;AAClE,IAAM,mBAAmB,GACrB,0DAA0D,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "typia",
|
|
3
|
-
"version": "3.7.
|
|
3
|
+
"version": "3.7.3-dev.20230408",
|
|
4
4
|
"description": "Superfast runtime validators with only one line",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"typings": "lib/index.d.ts",
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
},
|
|
10
10
|
"scripts": {
|
|
11
11
|
"benchmark": "npm run build:benchmark && node measure/benchmark",
|
|
12
|
+
"benchmark:generate": "ts-node benchmark/generate && npm run build:benchmark",
|
|
12
13
|
"test:generate": "ts-node -P build/tsconfig.json -C ttypescript build/test.ts",
|
|
13
14
|
"----------------------------------------------": "",
|
|
14
15
|
"build": "rimraf lib && ttsc --removeComments --declaration false && ttsc --emitDeclarationOnly",
|
|
@@ -22,7 +23,7 @@
|
|
|
22
23
|
"prettier": "prettier --write ./**/*.ts",
|
|
23
24
|
"-----------------------------------------------": "",
|
|
24
25
|
"issue": "node test/issue",
|
|
25
|
-
"issue:generate": "ts-node src/executable/typia generate --input test/issues/generate --output test/issues/generate
|
|
26
|
+
"issue:generate": "ts-node src/executable/typia generate --input test/issues/generate/input --output test/issues/generate --project test/tsconfig.json",
|
|
26
27
|
"test": "node bin/test",
|
|
27
28
|
"test:manual": "node test/manual",
|
|
28
29
|
"------------------------------------------------": "",
|
|
@@ -70,7 +71,7 @@
|
|
|
70
71
|
"typescript": ">= 4.5.2 && < 5.0.0"
|
|
71
72
|
},
|
|
72
73
|
"devDependencies": {
|
|
73
|
-
"@fastify/type-provider-typebox": "^
|
|
74
|
+
"@fastify/type-provider-typebox": "^3.0.0",
|
|
74
75
|
"@trivago/prettier-plugin-sort-imports": "^3.3.0",
|
|
75
76
|
"@typegoose/typegoose": "^10.1.1",
|
|
76
77
|
"@types/autocannon": "^7.9.0",
|
|
@@ -110,6 +111,7 @@
|
|
|
110
111
|
"sloc": "^0.2.1",
|
|
111
112
|
"source-map-support": "^0.5.21",
|
|
112
113
|
"suppress-warnings": "^1.0.2",
|
|
114
|
+
"tgrid": "^0.8.7",
|
|
113
115
|
"ts-node": "^10.9.1",
|
|
114
116
|
"ttypescript": "^1.5.15",
|
|
115
117
|
"typescript": "^4.9.5",
|
package/src/module.ts
CHANGED
|
@@ -4,6 +4,8 @@ import { Namespace } from "./functional/Namespace";
|
|
|
4
4
|
import { IMetadataApplication } from "./metadata/IMetadataApplication";
|
|
5
5
|
import { IJsonApplication } from "./schemas/IJsonApplication";
|
|
6
6
|
|
|
7
|
+
import { Atomic } from "./typings/Atomic";
|
|
8
|
+
|
|
7
9
|
import { MapUtil } from "./utils/MapUtil";
|
|
8
10
|
|
|
9
11
|
import { CustomValidatorMap } from "./CustomValidatorMap";
|
|
@@ -942,6 +944,47 @@ export function random(): never {
|
|
|
942
944
|
}
|
|
943
945
|
Object.assign(random, Namespace.random());
|
|
944
946
|
|
|
947
|
+
/**
|
|
948
|
+
* > You must configure the generic argument `T`.
|
|
949
|
+
*
|
|
950
|
+
* Union literal type to array.
|
|
951
|
+
*
|
|
952
|
+
* Converts a union literal type to an array of its members.
|
|
953
|
+
*
|
|
954
|
+
* ```typescript
|
|
955
|
+
* literals<"A" | "B" | 1>; // [1, 2, 3] as const
|
|
956
|
+
* ```
|
|
957
|
+
*
|
|
958
|
+
* @template T Union literal type
|
|
959
|
+
* @return Array of union literal type's members
|
|
960
|
+
*
|
|
961
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
962
|
+
*/
|
|
963
|
+
export function literals(): never;
|
|
964
|
+
|
|
965
|
+
/**
|
|
966
|
+
* Union literal type to array.
|
|
967
|
+
*
|
|
968
|
+
* Converts a union literal type to an array of its members.
|
|
969
|
+
*
|
|
970
|
+
* ```typescript
|
|
971
|
+
* literals<"A" | "B" | 1>; // [1, 2, 3] as const
|
|
972
|
+
* ```
|
|
973
|
+
*
|
|
974
|
+
* @template T Union literal type
|
|
975
|
+
* @return Array of union literal type's members
|
|
976
|
+
*
|
|
977
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
978
|
+
*/
|
|
979
|
+
export function literals<T extends Atomic.Type>(): T[];
|
|
980
|
+
|
|
981
|
+
/**
|
|
982
|
+
* @internal
|
|
983
|
+
*/
|
|
984
|
+
export function literals(): never {
|
|
985
|
+
halt("literals");
|
|
986
|
+
}
|
|
987
|
+
|
|
945
988
|
/**
|
|
946
989
|
* Clone a data.
|
|
947
990
|
*
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
2
|
|
|
3
3
|
import { IdentifierFactory } from "../factories/IdentifierFactory";
|
|
4
|
+
import { StatementFactory } from "../factories/StatementFactory";
|
|
4
5
|
import { TypeFactory } from "../factories/TypeFactory";
|
|
5
6
|
|
|
6
|
-
// import { StatementFactory } from "../factories/StatementFactory";
|
|
7
7
|
import { IProject } from "../transformers/IProject";
|
|
8
8
|
|
|
9
9
|
import { CheckerProgrammer } from "./CheckerProgrammer";
|
|
@@ -77,16 +77,44 @@ export namespace AssertProgrammer {
|
|
|
77
77
|
ts.factory.createBlock(
|
|
78
78
|
[
|
|
79
79
|
...importer.declare(modulo),
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
80
|
+
StatementFactory.constant(
|
|
81
|
+
"__is",
|
|
82
|
+
IsProgrammer.generate(
|
|
83
|
+
project,
|
|
84
|
+
modulo,
|
|
85
|
+
equals,
|
|
86
|
+
)(
|
|
87
|
+
type,
|
|
88
|
+
name ??
|
|
89
|
+
TypeFactory.getFullName(
|
|
90
|
+
project.checker,
|
|
91
|
+
type,
|
|
92
|
+
),
|
|
93
|
+
),
|
|
94
|
+
),
|
|
95
|
+
ts.factory.createIfStatement(
|
|
96
|
+
ts.factory.createStrictEquality(
|
|
97
|
+
ts.factory.createFalse(),
|
|
98
|
+
ts.factory.createCallExpression(
|
|
99
|
+
ts.factory.createIdentifier("__is"),
|
|
100
|
+
undefined,
|
|
101
|
+
[ts.factory.createIdentifier("input")],
|
|
102
|
+
),
|
|
89
103
|
),
|
|
104
|
+
ts.factory.createExpressionStatement(
|
|
105
|
+
ts.factory.createCallExpression(
|
|
106
|
+
program,
|
|
107
|
+
undefined,
|
|
108
|
+
[
|
|
109
|
+
ts.factory.createIdentifier("input"),
|
|
110
|
+
ts.factory.createStringLiteral(
|
|
111
|
+
"$input",
|
|
112
|
+
),
|
|
113
|
+
ts.factory.createTrue(),
|
|
114
|
+
],
|
|
115
|
+
),
|
|
116
|
+
),
|
|
117
|
+
undefined,
|
|
90
118
|
),
|
|
91
119
|
ts.factory.createReturnStatement(
|
|
92
120
|
ts.factory.createIdentifier(`input`),
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
|
|
3
|
+
import { MetadataCollection } from "../factories/MetadataCollection";
|
|
4
|
+
import { MetadataFactory } from "../factories/MetadataFactory";
|
|
5
|
+
|
|
6
|
+
import { Metadata } from "../metadata/Metadata";
|
|
7
|
+
|
|
8
|
+
import { IProject } from "../transformers/IProject";
|
|
9
|
+
|
|
10
|
+
import { Atomic } from "../typings/Atomic";
|
|
11
|
+
|
|
12
|
+
import { ArrayUtil } from "../utils/ArrayUtil";
|
|
13
|
+
|
|
14
|
+
export namespace LiteralsProgrammer {
|
|
15
|
+
export const generate = (project: IProject) => (type: ts.Type) => {
|
|
16
|
+
const meta: Metadata = MetadataFactory.generate(
|
|
17
|
+
project.checker,
|
|
18
|
+
new MetadataCollection(),
|
|
19
|
+
type,
|
|
20
|
+
{
|
|
21
|
+
resolve: true,
|
|
22
|
+
constant: true,
|
|
23
|
+
validate: (meta) => {
|
|
24
|
+
const length: number =
|
|
25
|
+
meta.constants
|
|
26
|
+
.map((c) => c.values.length)
|
|
27
|
+
.reduce((a, b) => a + b, 0) +
|
|
28
|
+
meta.atomics.filter((type) => type === "boolean")
|
|
29
|
+
.length;
|
|
30
|
+
if (0 === length) throw new Error(ErrorMessages.NO);
|
|
31
|
+
else if (meta.size() !== length)
|
|
32
|
+
throw new Error(ErrorMessages.ONLY);
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
);
|
|
36
|
+
const values: Set<Atomic.Type> = new Set([
|
|
37
|
+
...ArrayUtil.flat<Atomic.Type>(meta.constants.map((c) => c.values)),
|
|
38
|
+
...(meta.atomics.filter((type) => type === "boolean").length
|
|
39
|
+
? [true, false]
|
|
40
|
+
: []),
|
|
41
|
+
]);
|
|
42
|
+
return ts.factory.createAsExpression(
|
|
43
|
+
ts.factory.createArrayLiteralExpression(
|
|
44
|
+
[...values].map((v) =>
|
|
45
|
+
typeof v === "boolean"
|
|
46
|
+
? v
|
|
47
|
+
? ts.factory.createTrue()
|
|
48
|
+
: ts.factory.createFalse()
|
|
49
|
+
: typeof v === "number"
|
|
50
|
+
? ts.factory.createNumericLiteral(v)
|
|
51
|
+
: typeof v === "bigint"
|
|
52
|
+
? ts.factory.createBigIntLiteral(v.toString())
|
|
53
|
+
: ts.factory.createStringLiteral(v),
|
|
54
|
+
),
|
|
55
|
+
true,
|
|
56
|
+
),
|
|
57
|
+
ts.factory.createTypeReferenceNode("const"),
|
|
58
|
+
);
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
enum ErrorMessages {
|
|
63
|
+
NO = "Error on typia.literals(): no literal type found.",
|
|
64
|
+
ONLY = "Error on typia.literals(): only literal type allowed.",
|
|
65
|
+
}
|
|
@@ -79,6 +79,21 @@ export namespace ValidateProgrammer {
|
|
|
79
79
|
undefined,
|
|
80
80
|
ts.factory.createBlock(
|
|
81
81
|
[
|
|
82
|
+
StatementFactory.constant(
|
|
83
|
+
"__is",
|
|
84
|
+
IsProgrammer.generate(
|
|
85
|
+
project,
|
|
86
|
+
modulo,
|
|
87
|
+
equals,
|
|
88
|
+
)(
|
|
89
|
+
type,
|
|
90
|
+
name ??
|
|
91
|
+
TypeFactory.getFullName(
|
|
92
|
+
project.checker,
|
|
93
|
+
type,
|
|
94
|
+
),
|
|
95
|
+
),
|
|
96
|
+
),
|
|
82
97
|
StatementFactory.constant(
|
|
83
98
|
"errors",
|
|
84
99
|
ts.factory.createAsExpression(
|
|
@@ -105,15 +120,27 @@ export namespace ValidateProgrammer {
|
|
|
105
120
|
),
|
|
106
121
|
),
|
|
107
122
|
...importer.declare(modulo),
|
|
108
|
-
ts.factory.
|
|
109
|
-
ts.factory.
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
ts.factory.
|
|
115
|
-
|
|
116
|
-
|
|
123
|
+
ts.factory.createIfStatement(
|
|
124
|
+
ts.factory.createStrictEquality(
|
|
125
|
+
ts.factory.createFalse(),
|
|
126
|
+
ts.factory.createCallExpression(
|
|
127
|
+
ts.factory.createIdentifier("__is"),
|
|
128
|
+
undefined,
|
|
129
|
+
[ts.factory.createIdentifier("input")],
|
|
130
|
+
),
|
|
131
|
+
),
|
|
132
|
+
ts.factory.createExpressionStatement(
|
|
133
|
+
ts.factory.createCallExpression(
|
|
134
|
+
program,
|
|
135
|
+
undefined,
|
|
136
|
+
[
|
|
137
|
+
ts.factory.createIdentifier("input"),
|
|
138
|
+
ts.factory.createStringLiteral(
|
|
139
|
+
"$input",
|
|
140
|
+
),
|
|
141
|
+
ts.factory.createTrue(),
|
|
142
|
+
],
|
|
143
|
+
),
|
|
117
144
|
),
|
|
118
145
|
),
|
|
119
146
|
StatementFactory.constant(
|
|
@@ -17,6 +17,7 @@ import { CreateValidateCloneTransformer } from "./features/miscellaneous/CreateV
|
|
|
17
17
|
import { CreateValidatePruneTransformer } from "./features/miscellaneous/CreateValidatePruneTransformer";
|
|
18
18
|
import { IsCloneTransformer } from "./features/miscellaneous/IsCloneTransformer";
|
|
19
19
|
import { IsPruneTransformer } from "./features/miscellaneous/IsPruneTransformer";
|
|
20
|
+
import { LiteralsTransformer } from "./features/miscellaneous/LiteralsTransformer";
|
|
20
21
|
import { MetadataTransformer } from "./features/miscellaneous/MetadataTransformer";
|
|
21
22
|
import { PruneTransformer } from "./features/miscellaneous/PruneTransformer";
|
|
22
23
|
import { RandomTransformer } from "./features/miscellaneous/RandomTransformer";
|
|
@@ -122,6 +123,7 @@ const FUNCTORS: Record<string, () => Task> = {
|
|
|
122
123
|
// MISC
|
|
123
124
|
metadata: () => MetadataTransformer.transform,
|
|
124
125
|
random: () => RandomTransformer.transform,
|
|
126
|
+
literals: () => LiteralsTransformer.transform,
|
|
125
127
|
|
|
126
128
|
clone: () => CloneTransformer.transform,
|
|
127
129
|
assertClone: () => AssertCloneTransformer.transform,
|
|
@@ -42,12 +42,18 @@ export namespace ImportTransformer {
|
|
|
42
42
|
const location: string = path.resolve(from, text);
|
|
43
43
|
if (location.indexOf(top) === 0) return node;
|
|
44
44
|
|
|
45
|
+
const replaced: string = (() => {
|
|
46
|
+
const simple: string = path
|
|
47
|
+
.relative(to, location)
|
|
48
|
+
.split(path.sep)
|
|
49
|
+
.join("/");
|
|
50
|
+
return simple[0] === "." ? simple : `./${simple}`;
|
|
51
|
+
})();
|
|
52
|
+
|
|
45
53
|
return ts.factory.createImportDeclaration(
|
|
46
54
|
undefined,
|
|
47
55
|
node.importClause,
|
|
48
|
-
ts.factory.createStringLiteral(
|
|
49
|
-
path.relative(to, location).split(path.sep).join("/"),
|
|
50
|
-
),
|
|
56
|
+
ts.factory.createStringLiteral(replaced),
|
|
51
57
|
node.assertClause,
|
|
52
58
|
);
|
|
53
59
|
};
|
|
@@ -18,7 +18,7 @@ export namespace ApplicationTransformer {
|
|
|
18
18
|
expression: ts.CallExpression,
|
|
19
19
|
): ts.Expression {
|
|
20
20
|
if (!expression.typeArguments?.length)
|
|
21
|
-
throw new Error(
|
|
21
|
+
throw new Error(NO_GENERIC_ARGUMENT);
|
|
22
22
|
|
|
23
23
|
//----
|
|
24
24
|
// GET ARGUMENTS
|
|
@@ -34,7 +34,7 @@ export namespace ApplicationTransformer {
|
|
|
34
34
|
checker.getTypeFromTypeNode(child as ts.TypeNode),
|
|
35
35
|
);
|
|
36
36
|
if (types.some((t) => t.isTypeParameter()))
|
|
37
|
-
throw new Error(
|
|
37
|
+
throw new Error(GENERIC_ARGUMENT);
|
|
38
38
|
|
|
39
39
|
// ADDITIONAL PARAMETERS
|
|
40
40
|
const purpose: "swagger" | "ajv" = get_parameter(
|
|
@@ -68,7 +68,7 @@ export namespace ApplicationTransformer {
|
|
|
68
68
|
constant: true,
|
|
69
69
|
validate: (meta) => {
|
|
70
70
|
if (meta.atomics.find((str) => str === "bigint"))
|
|
71
|
-
throw new Error(
|
|
71
|
+
throw new Error(NO_BIGIT);
|
|
72
72
|
},
|
|
73
73
|
}),
|
|
74
74
|
);
|
|
@@ -112,9 +112,8 @@ export namespace ApplicationTransformer {
|
|
|
112
112
|
}
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
-
const
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
}
|
|
115
|
+
const NO_GENERIC_ARGUMENT =
|
|
116
|
+
"Error on typia.application(): no generic argument.";
|
|
117
|
+
const GENERIC_ARGUMENT =
|
|
118
|
+
"Error on typia.application(): non-specified generic argument(s).";
|
|
119
|
+
const NO_BIGIT = "Error on typia.application(): does not allow bigint type.";
|
|
@@ -11,15 +11,13 @@ export namespace CreateRandomTransformer {
|
|
|
11
11
|
expression: ts.CallExpression,
|
|
12
12
|
): ts.Expression {
|
|
13
13
|
// CHECK GENERIC ARGUMENT EXISTENCE
|
|
14
|
-
if (!expression.typeArguments?.[0])
|
|
15
|
-
throw new Error(ErrorMessages.NOT_SPECIFIED);
|
|
14
|
+
if (!expression.typeArguments?.[0]) throw new Error(NOT_SPECIFIED);
|
|
16
15
|
|
|
17
16
|
// GET TYPE INFO
|
|
18
17
|
const node: ts.TypeNode = expression.typeArguments[0];
|
|
19
18
|
const type: ts.Type = project.checker.getTypeFromTypeNode(node);
|
|
20
19
|
|
|
21
|
-
if (type.isTypeParameter())
|
|
22
|
-
throw new Error(ErrorMessages.NO_GENERIC_ARGUMENT);
|
|
20
|
+
if (type.isTypeParameter()) throw new Error(NO_GENERIC_ARGUMENT);
|
|
23
21
|
|
|
24
22
|
// DO TRANSFORM
|
|
25
23
|
return RandomProgrammer.generate(
|
|
@@ -37,7 +35,7 @@ export namespace CreateRandomTransformer {
|
|
|
37
35
|
}
|
|
38
36
|
}
|
|
39
37
|
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
38
|
+
const NOT_SPECIFIED =
|
|
39
|
+
"Error on typia.createRandom(): generic argument is not specified.";
|
|
40
|
+
const NO_GENERIC_ARGUMENT =
|
|
41
|
+
"Error on typia.createRandom(): non-specified generic argument.";
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
|
|
3
|
+
import { LiteralsProgrammer } from "../../../programmers/LiteralsProgrammer";
|
|
4
|
+
|
|
5
|
+
import { IProject } from "../../IProject";
|
|
6
|
+
|
|
7
|
+
export namespace LiteralsTransformer {
|
|
8
|
+
export function transform(
|
|
9
|
+
project: IProject,
|
|
10
|
+
_modulo: ts.LeftHandSideExpression,
|
|
11
|
+
expression: ts.CallExpression,
|
|
12
|
+
): ts.Expression {
|
|
13
|
+
// CHECK GENERIC ARGUMENT EXISTENCE
|
|
14
|
+
if (!expression.typeArguments?.[0]) throw new Error(NOT_SPECIFIED);
|
|
15
|
+
|
|
16
|
+
// GET TYPE INFO
|
|
17
|
+
const node: ts.TypeNode = expression.typeArguments[0];
|
|
18
|
+
const type: ts.Type = project.checker.getTypeFromTypeNode(node);
|
|
19
|
+
|
|
20
|
+
if (type.isTypeParameter()) throw new Error(NO_GENERIC_ARGUMENT);
|
|
21
|
+
|
|
22
|
+
// DO TRANSFORM
|
|
23
|
+
return LiteralsProgrammer.generate(project)(type);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const NOT_SPECIFIED =
|
|
28
|
+
"Error on typia.literals(): generic argument is not specified.";
|
|
29
|
+
const NO_GENERIC_ARGUMENT =
|
|
30
|
+
"Error on typia.literals(): non-specified generic argument.";
|
|
@@ -16,7 +16,7 @@ export namespace MetadataTransformer {
|
|
|
16
16
|
expression: ts.CallExpression,
|
|
17
17
|
): ts.Expression {
|
|
18
18
|
if (!expression.typeArguments?.length)
|
|
19
|
-
throw new Error(
|
|
19
|
+
throw new Error(NO_GENERIC_ARGUMENT);
|
|
20
20
|
|
|
21
21
|
// VALIDATE TUPLE ARGUMENTS
|
|
22
22
|
const top: ts.Node = expression.typeArguments[0]!;
|
|
@@ -29,7 +29,7 @@ export namespace MetadataTransformer {
|
|
|
29
29
|
checker.getTypeFromTypeNode(child as ts.TypeNode),
|
|
30
30
|
);
|
|
31
31
|
if (types.some((t) => t.isTypeParameter()))
|
|
32
|
-
throw new Error(
|
|
32
|
+
throw new Error(GENERIC_ARGUMENT);
|
|
33
33
|
|
|
34
34
|
// METADATA
|
|
35
35
|
const collection: MetadataCollection = new MetadataCollection();
|
|
@@ -49,7 +49,6 @@ export namespace MetadataTransformer {
|
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
52
|
+
const NO_GENERIC_ARGUMENT = "Error on typia.metadata(): no generic argument.";
|
|
53
|
+
const GENERIC_ARGUMENT =
|
|
54
|
+
"Error on typia.metadata(): non-specified generic argument(s).";
|
|
@@ -11,15 +11,13 @@ export namespace RandomTransformer {
|
|
|
11
11
|
expression: ts.CallExpression,
|
|
12
12
|
): ts.Expression {
|
|
13
13
|
// CHECK GENERIC ARGUMENT EXISTENCE
|
|
14
|
-
if (!expression.typeArguments?.[0])
|
|
15
|
-
throw new Error(ErrorMessages.NOT_SPECIFIED);
|
|
14
|
+
if (!expression.typeArguments?.[0]) throw new Error(NOT_SPECIFIED);
|
|
16
15
|
|
|
17
16
|
// GET TYPE INFO
|
|
18
17
|
const node: ts.TypeNode = expression.typeArguments[0];
|
|
19
18
|
const type: ts.Type = project.checker.getTypeFromTypeNode(node);
|
|
20
19
|
|
|
21
|
-
if (type.isTypeParameter())
|
|
22
|
-
throw new Error(ErrorMessages.NO_GENERIC_ARGUMENT);
|
|
20
|
+
if (type.isTypeParameter()) throw new Error(NO_GENERIC_ARGUMENT);
|
|
23
21
|
|
|
24
22
|
// DO TRANSFORM
|
|
25
23
|
return ts.factory.createCallExpression(
|
|
@@ -42,7 +40,7 @@ export namespace RandomTransformer {
|
|
|
42
40
|
}
|
|
43
41
|
}
|
|
44
42
|
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
43
|
+
const NOT_SPECIFIED =
|
|
44
|
+
"Error on typia.random(): generic argument is not specified.";
|
|
45
|
+
const NO_GENERIC_ARGUMENT =
|
|
46
|
+
"Error on typia.random(): non-specified generic argument.";
|