typia 5.1.6-dev.20231005 → 5.2.0-dev.20231007
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/CamelCase.d.ts +22 -0
- package/lib/CamelCase.js +3 -0
- package/lib/CamelCase.js.map +1 -0
- package/lib/PascalCase.d.ts +22 -0
- package/lib/PascalCase.js +3 -0
- package/lib/PascalCase.js.map +1 -0
- package/lib/Resolved.d.ts +4 -4
- package/lib/SnakeCase.d.ts +24 -0
- package/lib/SnakeCase.js +3 -0
- package/lib/SnakeCase.js.map +1 -0
- package/lib/functional/$convention.d.ts +1 -0
- package/lib/functional/$convention.js +63 -0
- package/lib/functional/$convention.js.map +1 -0
- package/lib/functional/Namespace.js +9 -0
- package/lib/functional/Namespace.js.map +1 -1
- package/lib/module.d.ts +5 -1
- package/lib/module.js +6 -2
- package/lib/module.js.map +1 -1
- package/lib/notations.d.ts +538 -0
- package/lib/notations.js +146 -0
- package/lib/notations.js.map +1 -0
- package/lib/programmers/helpers/NotationJoiner.d.ts +7 -0
- package/lib/programmers/helpers/NotationJoiner.js +85 -0
- package/lib/programmers/helpers/NotationJoiner.js.map +1 -0
- package/lib/programmers/misc/MiscCloneProgrammer.js +12 -1
- package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscPruneProgrammer.js +2 -1
- package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
- package/lib/programmers/notations/NotationAssertGeneralProgrammer.d.ts +5 -0
- package/lib/programmers/notations/NotationAssertGeneralProgrammer.js +44 -0
- package/lib/programmers/notations/NotationAssertGeneralProgrammer.js.map +1 -0
- package/lib/programmers/notations/NotationGeneralProgrammer.d.ts +6 -0
- package/lib/programmers/notations/NotationGeneralProgrammer.js +490 -0
- package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -0
- package/lib/programmers/notations/NotationIsGeneralProgrammer.d.ts +5 -0
- package/lib/programmers/notations/NotationIsGeneralProgrammer.js +47 -0
- package/lib/programmers/notations/NotationIsGeneralProgrammer.js.map +1 -0
- package/lib/programmers/notations/NotationValidateGeneralProgrammer.d.ts +5 -0
- package/lib/programmers/notations/NotationValidateGeneralProgrammer.js +44 -0
- package/lib/programmers/notations/NotationValidateGeneralProgrammer.js.map +1 -0
- package/lib/transformers/CallExpressionTransformer.js +99 -16
- package/lib/transformers/CallExpressionTransformer.js.map +1 -1
- package/lib/transformers/features/json/JsonAssertParseTransformer.js +1 -1
- package/lib/transformers/features/json/JsonAssertParseTransformer.js.map +1 -1
- package/lib/transformers/features/json/JsonAssertStringifyTransformer.js +1 -1
- package/lib/transformers/features/json/JsonAssertStringifyTransformer.js.map +1 -1
- package/lib/transformers/features/json/JsonCreateAssertParseTransformer.js +1 -1
- package/lib/transformers/features/json/JsonCreateAssertParseTransformer.js.map +1 -1
- package/lib/transformers/features/json/JsonCreateAssertStringifyTransformer.js +1 -1
- package/lib/transformers/features/json/JsonCreateAssertStringifyTransformer.js.map +1 -1
- package/lib/transformers/features/json/JsonCreateIsParseTransformer.js +1 -1
- package/lib/transformers/features/json/JsonCreateIsParseTransformer.js.map +1 -1
- package/lib/transformers/features/json/JsonCreateIsStringifyTransformer.js +1 -1
- package/lib/transformers/features/json/JsonCreateIsStringifyTransformer.js.map +1 -1
- package/lib/transformers/features/json/JsonCreateStringifyTransformer.js +1 -1
- package/lib/transformers/features/json/JsonCreateStringifyTransformer.js.map +1 -1
- package/lib/transformers/features/json/JsonCreateValidateParseTransformer.js +1 -1
- package/lib/transformers/features/json/JsonCreateValidateParseTransformer.js.map +1 -1
- package/lib/transformers/features/json/JsonCreateValidateStringifyProgrammer.js +1 -1
- package/lib/transformers/features/json/JsonCreateValidateStringifyProgrammer.js.map +1 -1
- package/lib/transformers/features/json/JsonIsParseTransformer.js +1 -1
- package/lib/transformers/features/json/JsonIsParseTransformer.js.map +1 -1
- package/lib/transformers/features/json/JsonIsStringifyTransformer.js +1 -1
- package/lib/transformers/features/json/JsonIsStringifyTransformer.js.map +1 -1
- package/lib/transformers/features/json/JsonStringifyTransformer.js +1 -1
- package/lib/transformers/features/json/JsonStringifyTransformer.js.map +1 -1
- package/lib/transformers/features/json/JsonValidateParseTransformer.js +1 -1
- package/lib/transformers/features/json/JsonValidateParseTransformer.js.map +1 -1
- package/lib/transformers/features/json/JsonValidateStringifyTransformer.js +1 -1
- package/lib/transformers/features/json/JsonValidateStringifyTransformer.js.map +1 -1
- package/lib/transformers/features/misc/MiscAssertCloneTransformer.js +1 -1
- package/lib/transformers/features/misc/MiscAssertCloneTransformer.js.map +1 -1
- package/lib/transformers/features/misc/MiscAssertPruneTransformer.js +1 -1
- package/lib/transformers/features/misc/MiscAssertPruneTransformer.js.map +1 -1
- package/lib/transformers/features/misc/MiscCloneTransformer.js +1 -1
- package/lib/transformers/features/misc/MiscCloneTransformer.js.map +1 -1
- package/lib/transformers/features/misc/MiscCreateAssertCloneTransformer.js +1 -1
- package/lib/transformers/features/misc/MiscCreateAssertCloneTransformer.js.map +1 -1
- package/lib/transformers/features/misc/MiscCreateAssertPruneTransformer.js +1 -1
- package/lib/transformers/features/misc/MiscCreateAssertPruneTransformer.js.map +1 -1
- package/lib/transformers/features/misc/MiscCreateCloneTransformer.js +1 -1
- package/lib/transformers/features/misc/MiscCreateCloneTransformer.js.map +1 -1
- package/lib/transformers/features/misc/MiscCreateIsCloneTransformer.js +1 -1
- package/lib/transformers/features/misc/MiscCreateIsCloneTransformer.js.map +1 -1
- package/lib/transformers/features/misc/MiscCreateIsPruneTransformer.js +1 -1
- package/lib/transformers/features/misc/MiscCreateIsPruneTransformer.js.map +1 -1
- package/lib/transformers/features/misc/MiscCreatePruneTransformer.js +1 -1
- package/lib/transformers/features/misc/MiscCreatePruneTransformer.js.map +1 -1
- package/lib/transformers/features/misc/MiscCreateValidateCloneTransformer.js +1 -1
- package/lib/transformers/features/misc/MiscCreateValidateCloneTransformer.js.map +1 -1
- package/lib/transformers/features/misc/MiscCreateValidatePruneTransformer.js +1 -1
- package/lib/transformers/features/misc/MiscCreateValidatePruneTransformer.js.map +1 -1
- package/lib/transformers/features/misc/MiscIsCloneTransformer.js +1 -1
- package/lib/transformers/features/misc/MiscIsCloneTransformer.js.map +1 -1
- package/lib/transformers/features/misc/MiscIsPruneTransformer.js +1 -1
- package/lib/transformers/features/misc/MiscIsPruneTransformer.js.map +1 -1
- package/lib/transformers/features/misc/MiscPruneTransformer.js +1 -1
- package/lib/transformers/features/misc/MiscPruneTransformer.js.map +1 -1
- package/lib/transformers/features/misc/MiscValidateCloneTransformer.js +1 -1
- package/lib/transformers/features/misc/MiscValidateCloneTransformer.js.map +1 -1
- package/lib/transformers/features/misc/MiscValidatePruneTransformer.js +1 -1
- package/lib/transformers/features/misc/MiscValidatePruneTransformer.js.map +1 -1
- package/lib/transformers/features/notations/NotationAssertGeneralTransformer.d.ts +4 -0
- package/lib/transformers/features/notations/NotationAssertGeneralTransformer.js +15 -0
- package/lib/transformers/features/notations/NotationAssertGeneralTransformer.js.map +1 -0
- package/lib/transformers/features/notations/NotationCreateAssertGeneralTransformer.d.ts +4 -0
- package/lib/transformers/features/notations/NotationCreateAssertGeneralTransformer.js +15 -0
- package/lib/transformers/features/notations/NotationCreateAssertGeneralTransformer.js.map +1 -0
- package/lib/transformers/features/notations/NotationCreateGeneralTransformer.d.ts +4 -0
- package/lib/transformers/features/notations/NotationCreateGeneralTransformer.js +15 -0
- package/lib/transformers/features/notations/NotationCreateGeneralTransformer.js.map +1 -0
- package/lib/transformers/features/notations/NotationCreateIsGeneralTransformer.d.ts +4 -0
- package/lib/transformers/features/notations/NotationCreateIsGeneralTransformer.js +15 -0
- package/lib/transformers/features/notations/NotationCreateIsGeneralTransformer.js.map +1 -0
- package/lib/transformers/features/notations/NotationCreateValidateGeneralTransformer.d.ts +4 -0
- package/lib/transformers/features/notations/NotationCreateValidateGeneralTransformer.js +15 -0
- package/lib/transformers/features/notations/NotationCreateValidateGeneralTransformer.js.map +1 -0
- package/lib/transformers/features/notations/NotationGeneralTransformer.d.ts +4 -0
- package/lib/transformers/features/notations/NotationGeneralTransformer.js +14 -0
- package/lib/transformers/features/notations/NotationGeneralTransformer.js.map +1 -0
- package/lib/transformers/features/notations/NotationIsGeneralTransformer.d.ts +4 -0
- package/lib/transformers/features/notations/NotationIsGeneralTransformer.js +15 -0
- package/lib/transformers/features/notations/NotationIsGeneralTransformer.js.map +1 -0
- package/lib/transformers/features/notations/NotationValidateGeneralTransformer.d.ts +4 -0
- package/lib/transformers/features/notations/NotationValidateGeneralTransformer.js +15 -0
- package/lib/transformers/features/notations/NotationValidateGeneralTransformer.js.map +1 -0
- package/lib/transformers/features/protobuf/{CreateProtobufAssertDecodeTransformer.d.ts → ProtobufCreateAssertDecodeTransformer.d.ts} +1 -1
- package/lib/transformers/features/protobuf/{CreateProtobufAssertDecodeTransformer.js → ProtobufCreateAssertDecodeTransformer.js} +6 -6
- package/lib/transformers/features/protobuf/{CreateProtobufAssertEncodeTransformer.js.map → ProtobufCreateAssertDecodeTransformer.js.map} +1 -1
- package/lib/transformers/features/protobuf/{CreateProtobufAssertEncodeTransformer.d.ts → ProtobufCreateAssertEncodeTransformer.d.ts} +1 -1
- package/lib/transformers/features/protobuf/{CreateProtobufAssertEncodeTransformer.js → ProtobufCreateAssertEncodeTransformer.js} +6 -6
- package/lib/transformers/features/protobuf/{CreateProtobufAssertDecodeTransformer.js.map → ProtobufCreateAssertEncodeTransformer.js.map} +1 -1
- package/lib/transformers/features/protobuf/{CreateProtobufDecodeTransformer.d.ts → ProtobufCreateDecodeTransformer.d.ts} +1 -1
- package/lib/transformers/features/protobuf/{CreateProtobufDecodeTransformer.js → ProtobufCreateDecodeTransformer.js} +6 -6
- package/lib/transformers/features/protobuf/{CreateProtobufDecodeTransformer.js.map → ProtobufCreateDecodeTransformer.js.map} +1 -1
- package/lib/transformers/features/protobuf/{CreateProtobufEncodeTransformer.d.ts → ProtobufCreateEncodeTransformer.d.ts} +1 -1
- package/lib/transformers/features/protobuf/{CreateProtobufEncodeTransformer.js → ProtobufCreateEncodeTransformer.js} +6 -6
- package/lib/transformers/features/protobuf/{CreateProtobufEncodeTransformer.js.map → ProtobufCreateEncodeTransformer.js.map} +1 -1
- package/lib/transformers/features/protobuf/{CreateProtobufIsDecodeTransformer.d.ts → ProtobufCreateIsDecodeTransformer.d.ts} +1 -1
- package/lib/transformers/features/protobuf/{CreateProtobufIsDecodeTransformer.js → ProtobufCreateIsDecodeTransformer.js} +6 -6
- package/lib/transformers/features/protobuf/{CreateProtobufIsDecodeTransformer.js.map → ProtobufCreateIsDecodeTransformer.js.map} +1 -1
- package/lib/transformers/features/protobuf/{CreateProtobufIsEncodeTransformer.d.ts → ProtobufCreateIsEncodeTransformer.d.ts} +1 -1
- package/lib/transformers/features/protobuf/{CreateProtobufIsEncodeTransformer.js → ProtobufCreateIsEncodeTransformer.js} +6 -6
- package/lib/transformers/features/protobuf/{CreateProtobufIsEncodeTransformer.js.map → ProtobufCreateIsEncodeTransformer.js.map} +1 -1
- package/lib/transformers/features/protobuf/{CreateProtobufValidateDecodeTransformer.d.ts → ProtobufCreateValidateDecodeTransformer.d.ts} +1 -1
- package/lib/transformers/features/protobuf/{CreateProtobufValidateDecodeTransformer.js → ProtobufCreateValidateDecodeTransformer.js} +6 -6
- package/lib/transformers/features/protobuf/{CreateProtobufValidateDecodeTransformer.js.map → ProtobufCreateValidateDecodeTransformer.js.map} +1 -1
- package/lib/transformers/features/protobuf/{CreateProtobufValidateEncodeTransformer.d.ts → ProtobufCreateValidateEncodeTransformer.d.ts} +1 -1
- package/lib/transformers/features/protobuf/{CreateProtobufValidateEncodeTransformer.js → ProtobufCreateValidateEncodeTransformer.js} +6 -6
- package/lib/transformers/features/protobuf/{CreateProtobufValidateEncodeTransformer.js.map → ProtobufCreateValidateEncodeTransformer.js.map} +1 -1
- package/lib/utils/NamingConvention.d.ts +5 -0
- package/lib/utils/NamingConvention.js +115 -0
- package/lib/utils/NamingConvention.js.map +1 -0
- package/lib/utils/StringUtil.d.ts +3 -0
- package/lib/utils/StringUtil.js +10 -0
- package/lib/utils/StringUtil.js.map +1 -0
- package/package.json +2 -1
- package/src/CamelCase.ts +116 -0
- package/src/PascalCase.ts +106 -0
- package/src/Primitive.ts +1 -1
- package/src/Resolved.ts +26 -26
- package/src/SnakeCase.ts +156 -0
- package/src/functional/$convention.ts +40 -0
- package/src/functional/Namespace.ts +22 -0
- package/src/module.ts +6 -1
- package/src/notations.ts +855 -0
- package/src/programmers/helpers/NotationJoiner.ts +146 -0
- package/src/programmers/misc/MiscCloneProgrammer.ts +17 -1
- package/src/programmers/misc/MiscPruneProgrammer.ts +4 -2
- package/src/programmers/notations/NotationAssertGeneralProgrammer.ts +72 -0
- package/src/programmers/notations/NotationGeneralProgrammer.ts +720 -0
- package/src/programmers/notations/NotationIsGeneralProgrammer.ts +79 -0
- package/src/programmers/notations/NotationValidateGeneralProgrammer.ts +88 -0
- package/src/transformers/CallExpressionTransformer.ts +107 -16
- package/src/transformers/features/json/JsonAssertParseTransformer.ts +1 -1
- package/src/transformers/features/json/JsonAssertStringifyTransformer.ts +1 -1
- package/src/transformers/features/json/JsonCreateAssertParseTransformer.ts +3 -1
- package/src/transformers/features/json/JsonCreateAssertStringifyTransformer.ts +1 -1
- package/src/transformers/features/json/JsonCreateIsParseTransformer.ts +1 -1
- package/src/transformers/features/json/JsonCreateIsStringifyTransformer.ts +3 -1
- package/src/transformers/features/json/JsonCreateStringifyTransformer.ts +1 -1
- package/src/transformers/features/json/JsonCreateValidateParseTransformer.ts +3 -1
- package/src/transformers/features/json/JsonCreateValidateStringifyProgrammer.ts +1 -1
- package/src/transformers/features/json/JsonIsParseTransformer.ts +1 -1
- package/src/transformers/features/json/JsonIsStringifyTransformer.ts +1 -1
- package/src/transformers/features/json/JsonStringifyTransformer.ts +1 -1
- package/src/transformers/features/json/JsonValidateParseTransformer.ts +1 -1
- package/src/transformers/features/json/JsonValidateStringifyTransformer.ts +1 -1
- package/src/transformers/features/misc/MiscAssertCloneTransformer.ts +1 -1
- package/src/transformers/features/misc/MiscAssertPruneTransformer.ts +1 -1
- package/src/transformers/features/misc/MiscCloneTransformer.ts +1 -1
- package/src/transformers/features/misc/MiscCreateAssertCloneTransformer.ts +3 -1
- package/src/transformers/features/misc/MiscCreateAssertPruneTransformer.ts +3 -1
- package/src/transformers/features/misc/MiscCreateCloneTransformer.ts +1 -1
- package/src/transformers/features/misc/MiscCreateIsCloneTransformer.ts +1 -1
- package/src/transformers/features/misc/MiscCreateIsPruneTransformer.ts +1 -1
- package/src/transformers/features/misc/MiscCreatePruneTransformer.ts +1 -1
- package/src/transformers/features/misc/MiscCreateValidateCloneTransformer.ts +3 -1
- package/src/transformers/features/misc/MiscCreateValidatePruneTransformer.ts +3 -1
- package/src/transformers/features/misc/MiscIsCloneTransformer.ts +1 -1
- package/src/transformers/features/misc/MiscIsPruneTransformer.ts +1 -1
- package/src/transformers/features/misc/MiscPruneTransformer.ts +1 -1
- package/src/transformers/features/misc/MiscValidateCloneTransformer.ts +1 -1
- package/src/transformers/features/misc/MiscValidatePruneTransformer.ts +1 -1
- package/src/transformers/features/notations/NotationAssertGeneralTransformer.ts +15 -0
- package/src/transformers/features/notations/NotationCreateAssertGeneralTransformer.ts +15 -0
- package/src/transformers/features/notations/NotationCreateGeneralTransformer.ts +15 -0
- package/src/transformers/features/notations/NotationCreateIsGeneralTransformer.ts +15 -0
- package/src/transformers/features/notations/NotationCreateValidateGeneralTransformer.ts +17 -0
- package/src/transformers/features/notations/NotationGeneralTransformer.ts +11 -0
- package/src/transformers/features/notations/NotationIsGeneralTransformer.ts +15 -0
- package/src/transformers/features/notations/NotationValidateGeneralTransformer.ts +17 -0
- package/src/transformers/features/protobuf/{CreateProtobufAssertDecodeTransformer.ts → ProtobufCreateAssertDecodeTransformer.ts} +1 -1
- package/src/transformers/features/protobuf/{CreateProtobufAssertEncodeTransformer.ts → ProtobufCreateAssertEncodeTransformer.ts} +1 -1
- package/src/transformers/features/protobuf/{CreateProtobufDecodeTransformer.ts → ProtobufCreateDecodeTransformer.ts} +1 -1
- package/src/transformers/features/protobuf/{CreateProtobufEncodeTransformer.ts → ProtobufCreateEncodeTransformer.ts} +1 -1
- package/src/transformers/features/protobuf/{CreateProtobufIsDecodeTransformer.ts → ProtobufCreateIsDecodeTransformer.ts} +1 -1
- package/src/transformers/features/protobuf/{CreateProtobufIsEncodeTransformer.ts → ProtobufCreateIsEncodeTransformer.ts} +1 -1
- package/src/transformers/features/protobuf/{CreateProtobufValidateDecodeTransformer.ts → ProtobufCreateValidateDecodeTransformer.ts} +1 -1
- package/src/transformers/features/protobuf/{CreateProtobufValidateEncodeTransformer.ts → ProtobufCreateValidateEncodeTransformer.ts} +1 -1
- package/src/utils/NamingConvention.ts +91 -0
- package/src/utils/StringUtil.ts +4 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.ProtobufCreateValidateDecodeTransformer = void 0;
|
|
4
4
|
var ProtobufValidateDecodeProgrammer_1 = require("../../../programmers/protobuf/ProtobufValidateDecodeProgrammer");
|
|
5
5
|
var GenericTransformer_1 = require("../../internal/GenericTransformer");
|
|
6
|
-
var
|
|
7
|
-
(function (
|
|
8
|
-
|
|
6
|
+
var ProtobufCreateValidateDecodeTransformer;
|
|
7
|
+
(function (ProtobufCreateValidateDecodeTransformer) {
|
|
8
|
+
ProtobufCreateValidateDecodeTransformer.transform = GenericTransformer_1.GenericTransformer.factory("protobuf.createValidateDecode")(function (project) { return function (modulo) {
|
|
9
9
|
return ProtobufValidateDecodeProgrammer_1.ProtobufValidateDecodeProgrammer.write(project)(modulo);
|
|
10
10
|
}; });
|
|
11
|
-
})(
|
|
12
|
-
//# sourceMappingURL=
|
|
11
|
+
})(ProtobufCreateValidateDecodeTransformer || (exports.ProtobufCreateValidateDecodeTransformer = ProtobufCreateValidateDecodeTransformer = {}));
|
|
12
|
+
//# sourceMappingURL=ProtobufCreateValidateDecodeTransformer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"ProtobufCreateValidateDecodeTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/protobuf/ProtobufCreateValidateDecodeTransformer.ts"],"names":[],"mappings":";;;AAAA,mHAAkH;AAElH,wEAAuE;AAEvE,IAAiB,uCAAuC,CAOvD;AAPD,WAAiB,uCAAuC;IACvC,iDAAS,GAAG,uCAAkB,CAAC,OAAO,CAC/C,+BAA+B,CAClC,CACG,UAAC,OAAO,IAAK,OAAA,UAAC,MAAM;QAChB,OAAA,mEAAgC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAAvD,CAAuD,EAD9C,CAC8C,CAC9D,CAAC;AACN,CAAC,EAPgB,uCAAuC,uDAAvC,uCAAuC,QAOvD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="ts-expose-internals/typescript" />
|
|
2
|
-
export declare namespace
|
|
2
|
+
export declare namespace ProtobufCreateValidateEncodeTransformer {
|
|
3
3
|
const transform: (project: import("../../IProject").IProject) => (modulo: import("typescript").LeftHandSideExpression) => (expression: import("typescript").CallExpression) => import("typescript").ArrowFunction;
|
|
4
4
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.ProtobufCreateValidateEncodeTransformer = void 0;
|
|
4
4
|
var ProtobufValidateEncodeProgrammer_1 = require("../../../programmers/protobuf/ProtobufValidateEncodeProgrammer");
|
|
5
5
|
var GenericTransformer_1 = require("../../internal/GenericTransformer");
|
|
6
|
-
var
|
|
7
|
-
(function (
|
|
8
|
-
|
|
6
|
+
var ProtobufCreateValidateEncodeTransformer;
|
|
7
|
+
(function (ProtobufCreateValidateEncodeTransformer) {
|
|
8
|
+
ProtobufCreateValidateEncodeTransformer.transform = GenericTransformer_1.GenericTransformer.factory("protobuf.createValidateEncode")(function (project) { return function (modulo) {
|
|
9
9
|
return ProtobufValidateEncodeProgrammer_1.ProtobufValidateEncodeProgrammer.write(project)(modulo);
|
|
10
10
|
}; });
|
|
11
|
-
})(
|
|
12
|
-
//# sourceMappingURL=
|
|
11
|
+
})(ProtobufCreateValidateEncodeTransformer || (exports.ProtobufCreateValidateEncodeTransformer = ProtobufCreateValidateEncodeTransformer = {}));
|
|
12
|
+
//# sourceMappingURL=ProtobufCreateValidateEncodeTransformer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"
|
|
1
|
+
{"version":3,"file":"ProtobufCreateValidateEncodeTransformer.js","sourceRoot":"","sources":["../../../../src/transformers/features/protobuf/ProtobufCreateValidateEncodeTransformer.ts"],"names":[],"mappings":";;;AAAA,mHAAkH;AAElH,wEAAuE;AAEvE,IAAiB,uCAAuC,CAOvD;AAPD,WAAiB,uCAAuC;IACvC,iDAAS,GAAG,uCAAkB,CAAC,OAAO,CAC/C,+BAA+B,CAClC,CACG,UAAC,OAAO,IAAK,OAAA,UAAC,MAAM;QAChB,OAAA,mEAAgC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IAAvD,CAAuD,EAD9C,CAC8C,CAC9D,CAAC;AACN,CAAC,EAPgB,uCAAuC,uDAAvC,uCAAuC,QAOvD"}
|
|
@@ -0,0 +1,115 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.NamingConvention = void 0;
|
|
20
|
+
var StringUtil_1 = require("./StringUtil");
|
|
21
|
+
var NamingConvention;
|
|
22
|
+
(function (NamingConvention) {
|
|
23
|
+
function snake(str) {
|
|
24
|
+
var indexes = [];
|
|
25
|
+
for (var i = 0; i < str.length; i++) {
|
|
26
|
+
var code = str.charCodeAt(i);
|
|
27
|
+
if (65 <= code && code <= 90)
|
|
28
|
+
indexes.push(i);
|
|
29
|
+
}
|
|
30
|
+
for (var i = indexes.length - 1; i > 0; --i) {
|
|
31
|
+
var now = indexes[i];
|
|
32
|
+
var prev = indexes[i - 1];
|
|
33
|
+
if (now - prev === 1)
|
|
34
|
+
indexes.splice(i, 1);
|
|
35
|
+
}
|
|
36
|
+
if (indexes.length !== 0 && indexes[0] === 0)
|
|
37
|
+
indexes.splice(0, 1);
|
|
38
|
+
if (indexes.length === 0)
|
|
39
|
+
return str.toLowerCase();
|
|
40
|
+
var ret = "";
|
|
41
|
+
for (var i = 0; i < indexes.length; i++) {
|
|
42
|
+
var first = i === 0 ? 0 : indexes[i - 1];
|
|
43
|
+
var last = indexes[i];
|
|
44
|
+
ret += str.substring(first, last).toLowerCase();
|
|
45
|
+
ret += "_";
|
|
46
|
+
}
|
|
47
|
+
ret += str.substring(indexes[indexes.length - 1]).toLowerCase();
|
|
48
|
+
return ret;
|
|
49
|
+
}
|
|
50
|
+
NamingConvention.snake = snake;
|
|
51
|
+
function camel(str) {
|
|
52
|
+
str = removeSnake(str);
|
|
53
|
+
if (str.length === 0)
|
|
54
|
+
return str;
|
|
55
|
+
else if (str[0] === str[0].toUpperCase())
|
|
56
|
+
return str[0].toLowerCase() + str.substring(1);
|
|
57
|
+
else if (str[0] === "_" &&
|
|
58
|
+
str.length > 1 &&
|
|
59
|
+
str[1] === str[1].toLowerCase())
|
|
60
|
+
return "_" + str[1].toUpperCase() + str.substring(2);
|
|
61
|
+
else
|
|
62
|
+
return str;
|
|
63
|
+
}
|
|
64
|
+
NamingConvention.camel = camel;
|
|
65
|
+
function pascal(str) {
|
|
66
|
+
str = removeSnake(str);
|
|
67
|
+
if (str.length === 0)
|
|
68
|
+
return str;
|
|
69
|
+
else if (str[0] === str[0].toLowerCase())
|
|
70
|
+
return str[0].toUpperCase() + str.substring(1);
|
|
71
|
+
else if (str[0] === "_" &&
|
|
72
|
+
str.length > 1 &&
|
|
73
|
+
str[1] === str[1].toLowerCase())
|
|
74
|
+
return "_" + str[1].toUpperCase() + str.substring(2);
|
|
75
|
+
else
|
|
76
|
+
return str;
|
|
77
|
+
}
|
|
78
|
+
NamingConvention.pascal = pascal;
|
|
79
|
+
var removeSnake = function (str) {
|
|
80
|
+
var indexes = [];
|
|
81
|
+
for (var i = 0; i < str.length; i++) {
|
|
82
|
+
var ch = str[i];
|
|
83
|
+
if (ch !== "_")
|
|
84
|
+
continue;
|
|
85
|
+
var last_1 = indexes[indexes.length - 1];
|
|
86
|
+
if (last_1 === undefined || last_1[0] + last_1[1] !== i)
|
|
87
|
+
indexes.push([i, 1]);
|
|
88
|
+
else
|
|
89
|
+
++last_1[1];
|
|
90
|
+
}
|
|
91
|
+
if (indexes.length === 0)
|
|
92
|
+
return str;
|
|
93
|
+
var ret = "";
|
|
94
|
+
for (var i = 0; i < indexes.length; i++) {
|
|
95
|
+
var _a = __read(indexes[i], 1), first = _a[0];
|
|
96
|
+
if (i === 0)
|
|
97
|
+
if (first === 0)
|
|
98
|
+
ret += "_";
|
|
99
|
+
else
|
|
100
|
+
ret += str.substring(0, first);
|
|
101
|
+
else {
|
|
102
|
+
var _b = __read(indexes[i - 1], 2), prevFirst = _b[0], prevLength = _b[1];
|
|
103
|
+
var piece_1 = str.substring(prevFirst + prevLength, first);
|
|
104
|
+
if (piece_1.length)
|
|
105
|
+
ret += StringUtil_1.StringUtil.capitalize(piece_1);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
var last = indexes[indexes.length - 1];
|
|
109
|
+
var piece = str.substring(last[0] + last[1]);
|
|
110
|
+
if (last.length)
|
|
111
|
+
ret += StringUtil_1.StringUtil.capitalize(piece);
|
|
112
|
+
return ret;
|
|
113
|
+
};
|
|
114
|
+
})(NamingConvention || (exports.NamingConvention = NamingConvention = {}));
|
|
115
|
+
//# sourceMappingURL=NamingConvention.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NamingConvention.js","sourceRoot":"","sources":["../../src/utils/NamingConvention.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StringUtil = void 0;
|
|
4
|
+
var StringUtil;
|
|
5
|
+
(function (StringUtil) {
|
|
6
|
+
StringUtil.capitalize = function (str) {
|
|
7
|
+
return str.length ? str[0].toUpperCase() + str.slice(1) : str;
|
|
8
|
+
};
|
|
9
|
+
})(StringUtil || (exports.StringUtil = StringUtil = {}));
|
|
10
|
+
//# sourceMappingURL=StringUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StringUtil.js","sourceRoot":"","sources":["../../src/utils/StringUtil.ts"],"names":[],"mappings":";;;AAAA,IAAiB,UAAU,CAG1B;AAHD,WAAiB,UAAU;IACV,qBAAU,GAAG,UAAC,GAAW;QAClC,OAAA,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG;IAAvD,CAAuD,CAAC;AAChE,CAAC,EAHgB,UAAU,0BAAV,UAAU,QAG1B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "typia",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.2.0-dev.20231007",
|
|
4
4
|
"description": "Superfast runtime validators with only one line",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"typings": "lib/index.d.ts",
|
|
@@ -85,6 +85,7 @@
|
|
|
85
85
|
},
|
|
86
86
|
"devDependencies": {
|
|
87
87
|
"@fastify/type-provider-typebox": "^3.5.0",
|
|
88
|
+
"@sinclair/typebox": "^0.31.17",
|
|
88
89
|
"@trivago/prettier-plugin-sort-imports": "^3.3.0",
|
|
89
90
|
"@typegoose/typegoose": "^10.1.1",
|
|
90
91
|
"@types/autocannon": "^7.9.0",
|
package/src/CamelCase.ts
ADDED
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Camel case type.
|
|
3
|
+
*
|
|
4
|
+
* `CamelCase` type is a type that all keys of an object are camelized.
|
|
5
|
+
*
|
|
6
|
+
* It also erase every method properties like {@link Resolved} type.
|
|
7
|
+
*
|
|
8
|
+
* @template T Target type to be camelized
|
|
9
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
10
|
+
*/
|
|
11
|
+
export type CamelCase<T> = Equal<T, CamelizeMain<T>> extends true
|
|
12
|
+
? T
|
|
13
|
+
: CamelizeMain<T>;
|
|
14
|
+
|
|
15
|
+
/* -----------------------------------------------------------
|
|
16
|
+
OBJECT CONVERSION
|
|
17
|
+
----------------------------------------------------------- */
|
|
18
|
+
type Equal<X, Y> = X extends Y ? (Y extends X ? true : false) : false;
|
|
19
|
+
|
|
20
|
+
type CamelizeMain<T> = T extends [never]
|
|
21
|
+
? never // special trick for (jsonable | null) type
|
|
22
|
+
: T extends { valueOf(): boolean | bigint | number | string }
|
|
23
|
+
? ValueOf<T>
|
|
24
|
+
: T extends Function
|
|
25
|
+
? never
|
|
26
|
+
: T extends object
|
|
27
|
+
? CamelizeObject<T>
|
|
28
|
+
: T;
|
|
29
|
+
|
|
30
|
+
type CamelizeObject<T extends object> = T extends Array<infer U>
|
|
31
|
+
? IsTuple<T> extends true
|
|
32
|
+
? CamelizeTuple<T>
|
|
33
|
+
: CamelizeMain<U>[]
|
|
34
|
+
: T extends Set<infer U>
|
|
35
|
+
? Set<CamelizeMain<U>>
|
|
36
|
+
: T extends Map<infer K, infer V>
|
|
37
|
+
? Map<CamelizeMain<K>, CamelizeMain<V>>
|
|
38
|
+
: T extends WeakSet<any> | WeakMap<any, any>
|
|
39
|
+
? never
|
|
40
|
+
: T extends
|
|
41
|
+
| Date
|
|
42
|
+
| Uint8Array
|
|
43
|
+
| Uint8ClampedArray
|
|
44
|
+
| Uint16Array
|
|
45
|
+
| Uint32Array
|
|
46
|
+
| BigUint64Array
|
|
47
|
+
| Int8Array
|
|
48
|
+
| Int16Array
|
|
49
|
+
| Int32Array
|
|
50
|
+
| BigInt64Array
|
|
51
|
+
| Float32Array
|
|
52
|
+
| Float64Array
|
|
53
|
+
| ArrayBuffer
|
|
54
|
+
| SharedArrayBuffer
|
|
55
|
+
| DataView
|
|
56
|
+
? T
|
|
57
|
+
: {
|
|
58
|
+
[Key in keyof T as CamelizeString<Key & string>]: CamelizeMain<
|
|
59
|
+
T[Key]
|
|
60
|
+
>;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
/* -----------------------------------------------------------
|
|
64
|
+
SPECIAL CASES
|
|
65
|
+
----------------------------------------------------------- */
|
|
66
|
+
type IsTuple<T extends readonly any[] | { length: number }> = [T] extends [
|
|
67
|
+
never,
|
|
68
|
+
]
|
|
69
|
+
? false
|
|
70
|
+
: T extends readonly any[]
|
|
71
|
+
? number extends T["length"]
|
|
72
|
+
? false
|
|
73
|
+
: true
|
|
74
|
+
: false;
|
|
75
|
+
type CamelizeTuple<T extends readonly any[]> = T extends []
|
|
76
|
+
? []
|
|
77
|
+
: T extends [infer F]
|
|
78
|
+
? [CamelizeMain<F>]
|
|
79
|
+
: T extends [infer F, ...infer Rest extends readonly any[]]
|
|
80
|
+
? [CamelizeMain<F>, ...CamelizeTuple<Rest>]
|
|
81
|
+
: T extends [(infer F)?]
|
|
82
|
+
? [CamelizeMain<F>?]
|
|
83
|
+
: T extends [(infer F)?, ...infer Rest extends readonly any[]]
|
|
84
|
+
? [CamelizeMain<F>?, ...CamelizeTuple<Rest>]
|
|
85
|
+
: [];
|
|
86
|
+
|
|
87
|
+
type ValueOf<Instance> = IsValueOf<Instance, Boolean> extends true
|
|
88
|
+
? boolean
|
|
89
|
+
: IsValueOf<Instance, Number> extends true
|
|
90
|
+
? number
|
|
91
|
+
: IsValueOf<Instance, String> extends true
|
|
92
|
+
? string
|
|
93
|
+
: Instance;
|
|
94
|
+
|
|
95
|
+
type IsValueOf<Instance, Object extends IValueOf<any>> = Instance extends Object
|
|
96
|
+
? Object extends IValueOf<infer Primitive>
|
|
97
|
+
? Instance extends Primitive
|
|
98
|
+
? false
|
|
99
|
+
: true // not Primitive, but Object
|
|
100
|
+
: false // cannot be
|
|
101
|
+
: false;
|
|
102
|
+
|
|
103
|
+
interface IValueOf<T> {
|
|
104
|
+
valueOf(): T;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/* -----------------------------------------------------------
|
|
108
|
+
STRING CONVERTER
|
|
109
|
+
----------------------------------------------------------- */
|
|
110
|
+
type CamelizeString<Key extends string> = Key extends `${infer F}${infer R}`
|
|
111
|
+
? `${Lowercase<F>}${CamelizeStringRepeatedly<R>}`
|
|
112
|
+
: Key;
|
|
113
|
+
type CamelizeStringRepeatedly<Key extends string> =
|
|
114
|
+
Key extends `${infer F}_${infer R}`
|
|
115
|
+
? `${F}${Capitalize<CamelizeStringRepeatedly<R>>}`
|
|
116
|
+
: Key;
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
export type PascalCase<T> = Equal<T, PascalizeMain<T>> extends true
|
|
2
|
+
? T
|
|
3
|
+
: PascalizeMain<T>;
|
|
4
|
+
|
|
5
|
+
/* -----------------------------------------------------------
|
|
6
|
+
OBJECT CONVERSION
|
|
7
|
+
----------------------------------------------------------- */
|
|
8
|
+
type Equal<X, Y> = X extends Y ? (Y extends X ? true : false) : false;
|
|
9
|
+
|
|
10
|
+
type PascalizeMain<T> = T extends [never]
|
|
11
|
+
? never // special trick for (jsonable | null) type
|
|
12
|
+
: T extends { valueOf(): boolean | bigint | number | string }
|
|
13
|
+
? ValueOf<T>
|
|
14
|
+
: T extends Function
|
|
15
|
+
? never
|
|
16
|
+
: T extends object
|
|
17
|
+
? PascalizeObject<T>
|
|
18
|
+
: T;
|
|
19
|
+
|
|
20
|
+
type PascalizeObject<T extends object> = T extends Array<infer U>
|
|
21
|
+
? IsTuple<T> extends true
|
|
22
|
+
? PascalizeTuple<T>
|
|
23
|
+
: PascalizeMain<U>[]
|
|
24
|
+
: T extends Set<infer U>
|
|
25
|
+
? Set<PascalizeMain<U>>
|
|
26
|
+
: T extends Map<infer K, infer V>
|
|
27
|
+
? Map<PascalizeMain<K>, PascalizeMain<V>>
|
|
28
|
+
: T extends WeakSet<any> | WeakMap<any, any>
|
|
29
|
+
? never
|
|
30
|
+
: T extends
|
|
31
|
+
| Date
|
|
32
|
+
| Uint8Array
|
|
33
|
+
| Uint8ClampedArray
|
|
34
|
+
| Uint16Array
|
|
35
|
+
| Uint32Array
|
|
36
|
+
| BigUint64Array
|
|
37
|
+
| Int8Array
|
|
38
|
+
| Int16Array
|
|
39
|
+
| Int32Array
|
|
40
|
+
| BigInt64Array
|
|
41
|
+
| Float32Array
|
|
42
|
+
| Float64Array
|
|
43
|
+
| ArrayBuffer
|
|
44
|
+
| SharedArrayBuffer
|
|
45
|
+
| DataView
|
|
46
|
+
? T
|
|
47
|
+
: {
|
|
48
|
+
[Key in keyof T as PascalizeString<Key & string>]: PascalizeMain<
|
|
49
|
+
T[Key]
|
|
50
|
+
>;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
/* -----------------------------------------------------------
|
|
54
|
+
SPECIAL CASES
|
|
55
|
+
----------------------------------------------------------- */
|
|
56
|
+
type IsTuple<T extends readonly any[] | { length: number }> = [T] extends [
|
|
57
|
+
never,
|
|
58
|
+
]
|
|
59
|
+
? false
|
|
60
|
+
: T extends readonly any[]
|
|
61
|
+
? number extends T["length"]
|
|
62
|
+
? false
|
|
63
|
+
: true
|
|
64
|
+
: false;
|
|
65
|
+
type PascalizeTuple<T extends readonly any[]> = T extends []
|
|
66
|
+
? []
|
|
67
|
+
: T extends [infer F]
|
|
68
|
+
? [PascalizeMain<F>]
|
|
69
|
+
: T extends [infer F, ...infer Rest extends readonly any[]]
|
|
70
|
+
? [PascalizeMain<F>, ...PascalizeTuple<Rest>]
|
|
71
|
+
: T extends [(infer F)?]
|
|
72
|
+
? [PascalizeMain<F>?]
|
|
73
|
+
: T extends [(infer F)?, ...infer Rest extends readonly any[]]
|
|
74
|
+
? [PascalizeMain<F>?, ...PascalizeTuple<Rest>]
|
|
75
|
+
: [];
|
|
76
|
+
|
|
77
|
+
type ValueOf<Instance> = IsValueOf<Instance, Boolean> extends true
|
|
78
|
+
? boolean
|
|
79
|
+
: IsValueOf<Instance, Number> extends true
|
|
80
|
+
? number
|
|
81
|
+
: IsValueOf<Instance, String> extends true
|
|
82
|
+
? string
|
|
83
|
+
: Instance;
|
|
84
|
+
|
|
85
|
+
type IsValueOf<Instance, Object extends IValueOf<any>> = Instance extends Object
|
|
86
|
+
? Object extends IValueOf<infer Primitive>
|
|
87
|
+
? Instance extends Primitive
|
|
88
|
+
? false
|
|
89
|
+
: true // not Primitive, but Object
|
|
90
|
+
: false // cannot be
|
|
91
|
+
: false;
|
|
92
|
+
|
|
93
|
+
interface IValueOf<T> {
|
|
94
|
+
valueOf(): T;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/* -----------------------------------------------------------
|
|
98
|
+
STRING CONVERTER
|
|
99
|
+
----------------------------------------------------------- */
|
|
100
|
+
type PascalizeString<Key extends string> = Key extends `${infer F}${infer R}`
|
|
101
|
+
? `${Uppercase<F>}${PascalizeStringRepeatedly<R>}`
|
|
102
|
+
: Key;
|
|
103
|
+
type PascalizeStringRepeatedly<Key extends string> =
|
|
104
|
+
Key extends `${infer F}_${infer R}`
|
|
105
|
+
? `${F}${Capitalize<PascalizeStringRepeatedly<R>>}`
|
|
106
|
+
: Key;
|
package/src/Primitive.ts
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
* Native Class | `{}`
|
|
28
28
|
* Others | No change
|
|
29
29
|
*
|
|
30
|
-
* @template
|
|
30
|
+
* @template T Target argument type.
|
|
31
31
|
* @author Jeongho Nam - https://github.com/samchon
|
|
32
32
|
* @author Kyungsu Kang - https://github.com/kakasoo
|
|
33
33
|
* @author Michael - https://github.com/8471919
|
package/src/Resolved.ts
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* `Class` | `interface`
|
|
23
23
|
* Native Class or Others | No change
|
|
24
24
|
*
|
|
25
|
-
* @template
|
|
25
|
+
* @template T Target argument type.
|
|
26
26
|
* @author Jeongho Nam - https://github.com/samchon
|
|
27
27
|
* @author Kyungsu Kang - https://github.com/kakasoo
|
|
28
28
|
*/
|
|
@@ -32,27 +32,27 @@ export type Resolved<T> = Equal<T, ResolvedMain<T>> extends true
|
|
|
32
32
|
|
|
33
33
|
type Equal<X, Y> = X extends Y ? (Y extends X ? true : false) : false;
|
|
34
34
|
|
|
35
|
-
type ResolvedMain<
|
|
35
|
+
type ResolvedMain<T> = T extends [never]
|
|
36
36
|
? never // (special trick for jsonable | null) type
|
|
37
|
-
: ValueOf<
|
|
38
|
-
? ValueOf<
|
|
39
|
-
:
|
|
37
|
+
: ValueOf<T> extends boolean | number | bigint | string
|
|
38
|
+
? ValueOf<T>
|
|
39
|
+
: T extends Function
|
|
40
40
|
? never
|
|
41
|
-
:
|
|
42
|
-
? ResolvedObject<
|
|
43
|
-
: ValueOf<
|
|
41
|
+
: T extends object
|
|
42
|
+
? ResolvedObject<T>
|
|
43
|
+
: ValueOf<T>;
|
|
44
44
|
|
|
45
|
-
type ResolvedObject<
|
|
46
|
-
? IsTuple<
|
|
47
|
-
? ResolvedTuple<
|
|
48
|
-
: ResolvedMain<
|
|
49
|
-
:
|
|
45
|
+
type ResolvedObject<T extends object> = T extends Array<infer U>
|
|
46
|
+
? IsTuple<T> extends true
|
|
47
|
+
? ResolvedTuple<T>
|
|
48
|
+
: ResolvedMain<U>[]
|
|
49
|
+
: T extends Set<infer U>
|
|
50
50
|
? Set<ResolvedMain<U>>
|
|
51
|
-
:
|
|
51
|
+
: T extends Map<infer K, infer V>
|
|
52
52
|
? Map<ResolvedMain<K>, ResolvedMain<V>>
|
|
53
|
-
:
|
|
53
|
+
: T extends WeakSet<any> | WeakMap<any, any>
|
|
54
54
|
? never
|
|
55
|
-
:
|
|
55
|
+
: T extends
|
|
56
56
|
| Date
|
|
57
57
|
| Uint8Array
|
|
58
58
|
| Uint8ClampedArray
|
|
@@ -68,9 +68,9 @@ type ResolvedObject<Instance extends object> = Instance extends Array<infer T>
|
|
|
68
68
|
| ArrayBuffer
|
|
69
69
|
| SharedArrayBuffer
|
|
70
70
|
| DataView
|
|
71
|
-
?
|
|
71
|
+
? T
|
|
72
72
|
: {
|
|
73
|
-
[P in keyof
|
|
73
|
+
[P in keyof T]: ResolvedMain<T[P]>;
|
|
74
74
|
};
|
|
75
75
|
|
|
76
76
|
type ResolvedTuple<T extends readonly any[]> = T extends []
|
|
@@ -85,14 +85,6 @@ type ResolvedTuple<T extends readonly any[]> = T extends []
|
|
|
85
85
|
? [ResolvedMain<F>?, ...ResolvedTuple<Rest>]
|
|
86
86
|
: [];
|
|
87
87
|
|
|
88
|
-
type ValueOf<Instance> = IsValueOf<Instance, Boolean> extends true
|
|
89
|
-
? boolean
|
|
90
|
-
: IsValueOf<Instance, Number> extends true
|
|
91
|
-
? number
|
|
92
|
-
: IsValueOf<Instance, String> extends true
|
|
93
|
-
? string
|
|
94
|
-
: Instance;
|
|
95
|
-
|
|
96
88
|
type IsTuple<T extends readonly any[] | { length: number }> = [T] extends [
|
|
97
89
|
never,
|
|
98
90
|
]
|
|
@@ -103,6 +95,14 @@ type IsTuple<T extends readonly any[] | { length: number }> = [T] extends [
|
|
|
103
95
|
: true
|
|
104
96
|
: false;
|
|
105
97
|
|
|
98
|
+
type ValueOf<Instance> = IsValueOf<Instance, Boolean> extends true
|
|
99
|
+
? boolean
|
|
100
|
+
: IsValueOf<Instance, Number> extends true
|
|
101
|
+
? number
|
|
102
|
+
: IsValueOf<Instance, String> extends true
|
|
103
|
+
? string
|
|
104
|
+
: Instance;
|
|
105
|
+
|
|
106
106
|
type IsValueOf<Instance, Object extends IValueOf<any>> = Instance extends Object
|
|
107
107
|
? Object extends IValueOf<infer Primitive>
|
|
108
108
|
? Instance extends Primitive
|