typia 5.4.14 → 5.5.0-dev.20240301
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/factories/IdentifierFactory.d.ts +1 -1
- package/lib/functional/$guard.js +49 -28
- package/lib/functional/$guard.js.map +1 -1
- package/lib/functional/Namespace/index.d.ts +1 -1
- package/lib/http.d.ts +10 -493
- package/lib/http.js.map +1 -1
- package/lib/json.d.ts +9 -8
- package/lib/json.js.map +1 -1
- package/lib/misc.d.ts +9 -8
- package/lib/misc.js.map +1 -1
- package/lib/module.d.ts +17 -16
- package/lib/module.js.map +1 -1
- package/lib/notations.d.ts +13 -12
- package/lib/notations.js.map +1 -1
- package/lib/programmers/AssertProgrammer.d.ts +5 -1
- package/lib/programmers/AssertProgrammer.js +31 -22
- package/lib/programmers/AssertProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpAssertFormDataProgrammer.d.ts +1 -1
- package/lib/programmers/http/HttpAssertFormDataProgrammer.js +6 -2
- package/lib/programmers/http/HttpAssertFormDataProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpAssertHeadersProgrammer.d.ts +1 -1
- package/lib/programmers/http/HttpAssertHeadersProgrammer.js +6 -2
- package/lib/programmers/http/HttpAssertHeadersProgrammer.js.map +1 -1
- package/lib/programmers/http/HttpAssertQueryProgrammer.d.ts +1 -1
- package/lib/programmers/http/HttpAssertQueryProgrammer.js +6 -2
- package/lib/programmers/http/HttpAssertQueryProgrammer.js.map +1 -1
- package/lib/programmers/json/JsonAssertParseProgrammer.d.ts +1 -1
- package/lib/programmers/json/JsonAssertParseProgrammer.js +9 -3
- package/lib/programmers/json/JsonAssertParseProgrammer.js.map +1 -1
- package/lib/programmers/json/JsonAssertStringifyProgrammer.d.ts +1 -1
- package/lib/programmers/json/JsonAssertStringifyProgrammer.js +9 -3
- package/lib/programmers/json/JsonAssertStringifyProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscAssertCloneProgrammer.d.ts +1 -1
- package/lib/programmers/misc/MiscAssertCloneProgrammer.js +9 -3
- package/lib/programmers/misc/MiscAssertCloneProgrammer.js.map +1 -1
- package/lib/programmers/misc/MiscAssertPruneProgrammer.d.ts +1 -1
- package/lib/programmers/misc/MiscAssertPruneProgrammer.js +9 -3
- package/lib/programmers/misc/MiscAssertPruneProgrammer.js.map +1 -1
- package/lib/programmers/notations/NotationAssertGeneralProgrammer.d.ts +1 -1
- package/lib/programmers/notations/NotationAssertGeneralProgrammer.js +9 -3
- package/lib/programmers/notations/NotationAssertGeneralProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.d.ts +1 -1
- package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js +6 -2
- package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js.map +1 -1
- package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.d.ts +1 -1
- package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.js +9 -3
- package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.js.map +1 -1
- package/lib/protobuf.d.ts +9 -8
- package/lib/protobuf.js.map +1 -1
- package/lib/transformers/internal/GenericTransformer.d.ts +1 -1
- package/lib/transformers/internal/GenericTransformer.js +3 -3
- package/lib/transformers/internal/GenericTransformer.js.map +1 -1
- package/package.json +1 -1
- package/src/factories/IdentifierFactory.ts +1 -1
- package/src/functional/$guard.ts +33 -19
- package/src/http.ts +25 -508
- package/src/json.ts +29 -8
- package/src/misc.ts +29 -8
- package/src/module.ts +57 -16
- package/src/notations.ts +43 -12
- package/src/programmers/AssertProgrammer.ts +69 -28
- package/src/programmers/http/HttpAssertFormDataProgrammer.ts +6 -2
- package/src/programmers/http/HttpAssertHeadersProgrammer.ts +6 -2
- package/src/programmers/http/HttpAssertQueryProgrammer.ts +6 -2
- package/src/programmers/json/JsonAssertParseProgrammer.ts +9 -3
- package/src/programmers/json/JsonAssertStringifyProgrammer.ts +9 -3
- package/src/programmers/misc/MiscAssertCloneProgrammer.ts +9 -3
- package/src/programmers/misc/MiscAssertPruneProgrammer.ts +9 -3
- package/src/programmers/notations/NotationAssertGeneralProgrammer.ts +9 -3
- package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +6 -2
- package/src/programmers/protobuf/ProtobufAssertEncodeProgrammer.ts +9 -3
- package/src/protobuf.ts +29 -8
- package/src/transformers/internal/GenericTransformer.ts +12 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProtobufAssertDecodeProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AACtE,qEAAoE;AACpE,2DAA0D;AAI1D,wDAAuD;AACvD,uEAAsE;AAEtE,IAAiB,8BAA8B,
|
|
1
|
+
{"version":3,"file":"ProtobufAssertDecodeProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AACtE,qEAAoE;AACpE,2DAA0D;AAI1D,wDAAuD;AACvD,uEAAsE;AAEtE,IAAiB,8BAA8B,CAmE9C;AAnED,WAAiB,8BAA8B;IAChC,oCAAK,GAChB,UAAC,OAAiB;QAClB,OAAA,UAAC,MAAiC;YAClC,OAAA,UAAC,IAAa,EAAE,IAAa,EAAE,IAAoB;gBACjD,OAAA,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC5B,SAAS,EACT,SAAS,EACT;oBACE,qCAAiB,CAAC,SAAS,CACzB,OAAO,EACP,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,YAAY,CAAC,CACjD;oBACD,mCAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;iBAC1C,EACD,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAChC,yBACE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,yBAAW,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MACrD,CACJ,EACD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC;oBACrB,mCAAgB,CAAC,QAAQ,CACvB,QAAQ,EACR,mDAAwB,CAAC,KAAK,uBACzB,OAAO,KACV,OAAO,wBACF,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,OAEhB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CACvB;oBACD,mCAAgB,CAAC,QAAQ,CACvB,QAAQ,EACR,mCAAgB,CAAC,KAAK,uBACjB,OAAO,KACV,OAAO,wBACF,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,OAEhB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAC9B;oBACD,mCAAgB,CAAC,QAAQ,CACvB,QAAQ,EACR,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EACrC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACvC,CACF;oBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC9B,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CAC3B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EACrC,SAAS,EACT;wBACE,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC;wBACrC,mCAAgB,CAAC,QAAQ,CAAC,UAAU,EAAE;qBACvC,CACF,EACD,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAC3B,CACF;iBACF,CAAC,CACH;YA7DD,CA6DC;QA9DH,CA8DG;IA/DH,CA+DG,CAAC;AACR,CAAC,EAnEgB,8BAA8B,8CAA9B,8BAA8B,QAmE9C"}
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
import ts from "typescript";
|
|
3
3
|
import { IProject } from "../../transformers/IProject";
|
|
4
4
|
export declare namespace ProtobufAssertEncodeProgrammer {
|
|
5
|
-
const write: (project: IProject) => (modulo: ts.LeftHandSideExpression) => (type: ts.Type, name?: string) => ts.ArrowFunction;
|
|
5
|
+
const write: (project: IProject) => (modulo: ts.LeftHandSideExpression) => (type: ts.Type, name?: string, init?: ts.Expression) => ts.ArrowFunction;
|
|
6
6
|
}
|
|
@@ -25,12 +25,18 @@ var ProtobufAssertEncodeProgrammer;
|
|
|
25
25
|
(function (ProtobufAssertEncodeProgrammer) {
|
|
26
26
|
ProtobufAssertEncodeProgrammer.write = function (project) {
|
|
27
27
|
return function (modulo) {
|
|
28
|
-
return function (type, name) {
|
|
29
|
-
return typescript_1.default.factory.createArrowFunction(undefined, undefined, [
|
|
28
|
+
return function (type, name, init) {
|
|
29
|
+
return typescript_1.default.factory.createArrowFunction(undefined, undefined, [
|
|
30
|
+
IdentifierFactory_1.IdentifierFactory.parameter("input", TypeFactory_1.TypeFactory.keyword("any")),
|
|
31
|
+
AssertProgrammer_1.AssertProgrammer.Guardian.parameter(init),
|
|
32
|
+
], typescript_1.default.factory.createTypeReferenceNode("Uint8Array"), undefined, typescript_1.default.factory.createBlock([
|
|
30
33
|
StatementFactory_1.StatementFactory.constant("assert", AssertProgrammer_1.AssertProgrammer.write(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: true }) }))(modulo)(false)(type, name)),
|
|
31
34
|
StatementFactory_1.StatementFactory.constant("encode", ProtobufEncodeProgrammer_1.ProtobufEncodeProgrammer.write(__assign(__assign({}, project), { options: __assign(__assign({}, project.options), { functional: false, numeric: false }) }))(modulo)(type, name)),
|
|
32
35
|
typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("encode"), undefined, [
|
|
33
|
-
typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("assert"), undefined, [
|
|
36
|
+
typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("assert"), undefined, [
|
|
37
|
+
typescript_1.default.factory.createIdentifier("input"),
|
|
38
|
+
AssertProgrammer_1.AssertProgrammer.Guardian.identifier(),
|
|
39
|
+
]),
|
|
34
40
|
])),
|
|
35
41
|
]));
|
|
36
42
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProtobufAssertEncodeProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/protobuf/ProtobufAssertEncodeProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AACtE,qEAAoE;AACpE,2DAA0D;AAI1D,wDAAuD;AACvD,uEAAsE;AAEtE,IAAiB,8BAA8B,
|
|
1
|
+
{"version":3,"file":"ProtobufAssertEncodeProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/protobuf/ProtobufAssertEncodeProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AACtE,qEAAoE;AACpE,2DAA0D;AAI1D,wDAAuD;AACvD,uEAAsE;AAEtE,IAAiB,8BAA8B,CAuD9C;AAvDD,WAAiB,8BAA8B;IAChC,oCAAK,GAChB,UAAC,OAAiB;QAClB,OAAA,UAAC,MAAiC;YAClC,OAAA,UAAC,IAAa,EAAE,IAAa,EAAE,IAAoB;gBACjD,OAAA,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC5B,SAAS,EACT,SAAS,EACT;oBACE,qCAAiB,CAAC,SAAS,CAAC,OAAO,EAAE,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBAChE,mCAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;iBAC1C,EACD,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,YAAY,CAAC,EAChD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC;oBACrB,mCAAgB,CAAC,QAAQ,CACvB,QAAQ,EACR,mCAAgB,CAAC,KAAK,uBACjB,OAAO,KACV,OAAO,wBACF,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,IAAI,OAEf,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAC9B;oBACD,mCAAgB,CAAC,QAAQ,CACvB,QAAQ,EACR,mDAAwB,CAAC,KAAK,uBACzB,OAAO,KACV,OAAO,wBACF,OAAO,CAAC,OAAO,KAClB,UAAU,EAAE,KAAK,EACjB,OAAO,EAAE,KAAK,OAEhB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CACvB;oBACD,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC9B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EACrC,SAAS,EACT;wBACE,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EACrC,SAAS,EACT;4BACE,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC;4BACpC,mCAAgB,CAAC,QAAQ,CAAC,UAAU,EAAE;yBACvC,CACF;qBACF,CACF,CACF;iBACF,CAAC,CACH;YAjDD,CAiDC;QAlDH,CAkDG;IAnDH,CAmDG,CAAC;AACR,CAAC,EAvDgB,8BAA8B,8CAA9B,8BAA8B,QAuD9C"}
|
package/lib/protobuf.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { IValidation } from "./IValidation";
|
|
2
2
|
import { Resolved } from "./Resolved";
|
|
3
|
+
import { TypeGuardError } from "./TypeGuardError";
|
|
3
4
|
/**
|
|
4
5
|
* > You must configure the generic argument `T`.
|
|
5
6
|
*
|
|
@@ -131,7 +132,7 @@ export { decodePure as decode };
|
|
|
131
132
|
*
|
|
132
133
|
* @author Jeongho Nam - https://github.com/samchon
|
|
133
134
|
*/
|
|
134
|
-
declare function assertDecode(input: Uint8Array): never;
|
|
135
|
+
declare function assertDecode(input: Uint8Array, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): never;
|
|
135
136
|
/**
|
|
136
137
|
* Protocol Buffer Decoder wity type assertion, but not safe.
|
|
137
138
|
*
|
|
@@ -159,7 +160,7 @@ declare function assertDecode(input: Uint8Array): never;
|
|
|
159
160
|
*
|
|
160
161
|
* @author Jeongho Nam - https://github.com/samchon
|
|
161
162
|
*/
|
|
162
|
-
declare function assertDecode<T>(input: Uint8Array): Resolved<T>;
|
|
163
|
+
declare function assertDecode<T>(input: Uint8Array, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): Resolved<T>;
|
|
163
164
|
declare const assertDecodePure: typeof assertDecode;
|
|
164
165
|
export { assertDecodePure as assertDecode };
|
|
165
166
|
/**
|
|
@@ -345,7 +346,7 @@ export { encodePure as encode };
|
|
|
345
346
|
*
|
|
346
347
|
* @author Jeongho Nam - https://github.com/samchon
|
|
347
348
|
*/
|
|
348
|
-
declare function assertEncode<T>(input: T): Uint8Array;
|
|
349
|
+
declare function assertEncode<T>(input: T, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): Uint8Array;
|
|
349
350
|
/**
|
|
350
351
|
* Protocol Buffer Encoder with type assertion.
|
|
351
352
|
*
|
|
@@ -377,7 +378,7 @@ declare function assertEncode<T>(input: T): Uint8Array;
|
|
|
377
378
|
*
|
|
378
379
|
* @author Jeongho Nam - https://github.com/samchon
|
|
379
380
|
*/
|
|
380
|
-
declare function assertEncode<T>(input: unknown): Uint8Array;
|
|
381
|
+
declare function assertEncode<T>(input: unknown, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): Uint8Array;
|
|
381
382
|
declare const assertEncodePure: typeof assertEncode;
|
|
382
383
|
export { assertEncodePure as assertEncode };
|
|
383
384
|
/**
|
|
@@ -565,7 +566,7 @@ export { createIsDecodePure as createIsDecode };
|
|
|
565
566
|
*
|
|
566
567
|
* @author Jeongho Nam - https://github.com/samchon
|
|
567
568
|
*/
|
|
568
|
-
declare function createAssertDecode(): never;
|
|
569
|
+
declare function createAssertDecode(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): never;
|
|
569
570
|
/**
|
|
570
571
|
* Creates a reusable {@link assertDecode} function.
|
|
571
572
|
*
|
|
@@ -574,7 +575,7 @@ declare function createAssertDecode(): never;
|
|
|
574
575
|
*
|
|
575
576
|
* @author Jeongho Nam - https://github.com/samchon
|
|
576
577
|
*/
|
|
577
|
-
declare function createAssertDecode<T>(): (input: Uint8Array) => Resolved<T>;
|
|
578
|
+
declare function createAssertDecode<T>(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): (input: Uint8Array) => Resolved<T>;
|
|
578
579
|
declare const createAssertDecodePure: typeof createAssertDecode;
|
|
579
580
|
export { createAssertDecodePure as createAssertDecode };
|
|
580
581
|
/**
|
|
@@ -649,7 +650,7 @@ export { createIsEncodePure as createIsEncode };
|
|
|
649
650
|
*
|
|
650
651
|
* @author Jeongho Nam - https://github.com/samchon
|
|
651
652
|
*/
|
|
652
|
-
declare function createAssertEncode(): never;
|
|
653
|
+
declare function createAssertEncode(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): never;
|
|
653
654
|
/**
|
|
654
655
|
* Creates a reusable {@link assertEncode} function.
|
|
655
656
|
*
|
|
@@ -658,7 +659,7 @@ declare function createAssertEncode(): never;
|
|
|
658
659
|
*
|
|
659
660
|
* @author Jeongho Nam - https://github.com/samchon
|
|
660
661
|
*/
|
|
661
|
-
declare function createAssertEncode<T>(): (input: T) => Uint8Array;
|
|
662
|
+
declare function createAssertEncode<T>(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): (input: T) => Uint8Array;
|
|
662
663
|
declare const createAssertEncodePure: typeof createAssertEncode;
|
|
663
664
|
export { createAssertEncodePure as createAssertEncode };
|
|
664
665
|
/**
|
package/lib/protobuf.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protobuf.js","sourceRoot":"","sources":["../src/protobuf.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gEAAoD;
|
|
1
|
+
{"version":3,"file":"protobuf.js","sourceRoot":"","sources":["../src/protobuf.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,5 +3,5 @@ import ts from "typescript";
|
|
|
3
3
|
import { IProject } from "../IProject";
|
|
4
4
|
export declare namespace GenericTransformer {
|
|
5
5
|
const scalar: (method: string) => (programmer: (project: IProject) => (modulo: ts.LeftHandSideExpression) => (type: ts.Type, name: string) => ts.ArrowFunction) => (project: IProject) => (modulo: ts.LeftHandSideExpression) => (expression: ts.CallExpression) => ts.CallExpression;
|
|
6
|
-
const factory: (method: string) => (programmer: (project: IProject) => (modulo: ts.LeftHandSideExpression) => (type: ts.Type, name: string) => ts.ArrowFunction) => (project: IProject) => (modulo: ts.LeftHandSideExpression) => (expression: ts.CallExpression) => ts.ArrowFunction;
|
|
6
|
+
const factory: (method: string) => (programmer: (project: IProject) => (modulo: ts.LeftHandSideExpression) => (type: ts.Type, name: string, init?: ts.Expression) => ts.ArrowFunction) => (project: IProject) => (modulo: ts.LeftHandSideExpression) => (expression: ts.CallExpression) => ts.ArrowFunction;
|
|
7
7
|
}
|
|
@@ -30,7 +30,7 @@ var GenericTransformer;
|
|
|
30
30
|
return function (modulo) {
|
|
31
31
|
return function (expression) {
|
|
32
32
|
// CHECK PARAMETER
|
|
33
|
-
if (expression.arguments.length
|
|
33
|
+
if (expression.arguments.length === 0)
|
|
34
34
|
throw new TransformerError_1.TransformerError({
|
|
35
35
|
code: "typia.".concat(method),
|
|
36
36
|
message: "no input value.",
|
|
@@ -55,7 +55,7 @@ var GenericTransformer;
|
|
|
55
55
|
// DO TRANSFORM
|
|
56
56
|
return typescript_1.default.factory.createCallExpression(programmer(project)(modulo)(type, generic
|
|
57
57
|
? node.getFullText().trim()
|
|
58
|
-
: name(project.checker)(type)(node)), undefined,
|
|
58
|
+
: name(project.checker)(type)(node)), undefined, expression.arguments);
|
|
59
59
|
};
|
|
60
60
|
};
|
|
61
61
|
};
|
|
@@ -82,7 +82,7 @@ var GenericTransformer;
|
|
|
82
82
|
message: "non-specified generic argument.",
|
|
83
83
|
});
|
|
84
84
|
// DO TRANSFORM
|
|
85
|
-
return programmer(project)(modulo)(type, node.getFullText().trim());
|
|
85
|
+
return programmer(project)(modulo)(type, node.getFullText().trim(), expression.arguments[0]);
|
|
86
86
|
};
|
|
87
87
|
};
|
|
88
88
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenericTransformer.js","sourceRoot":"","sources":["../../../src/transformers/internal/GenericTransformer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAG5B,wDAAuD;AAEvD,IAAiB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"GenericTransformer.js","sourceRoot":"","sources":["../../../src/transformers/internal/GenericTransformer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -41,7 +41,7 @@ export namespace IdentifierFactory {
|
|
|
41
41
|
name: string | ts.BindingName,
|
|
42
42
|
type?: ts.TypeNode,
|
|
43
43
|
init?: ts.Expression | ts.PunctuationToken<ts.SyntaxKind.QuestionToken>,
|
|
44
|
-
) => {
|
|
44
|
+
): ts.ParameterDeclaration => {
|
|
45
45
|
// instead of ts.version >= "4.8"
|
|
46
46
|
if (ts.getDecorators !== undefined)
|
|
47
47
|
return ts.factory.createParameterDeclaration(
|
package/src/functional/$guard.ts
CHANGED
|
@@ -1,31 +1,45 @@
|
|
|
1
1
|
import { TypeGuardError } from "../TypeGuardError";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export function $guard(
|
|
7
|
+
method: string,
|
|
8
|
+
): (
|
|
9
|
+
factory?: (props: TypeGuardError.IProps) => Error,
|
|
10
|
+
) => (
|
|
11
|
+
exceptionable: boolean,
|
|
12
|
+
props: Omit<TypeGuardError.IProps, "method">,
|
|
13
|
+
) => boolean;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
18
|
+
export function $guard(
|
|
19
|
+
method: string,
|
|
20
|
+
): (
|
|
21
|
+
exceptionable: boolean,
|
|
22
|
+
props: Omit<TypeGuardError.IProps, "method">,
|
|
23
|
+
) => boolean;
|
|
17
24
|
|
|
18
|
-
/* -----------------------------------------------------------
|
|
19
|
-
ASSERT V3 -> (CONDITION OR THROW(exceptable): FALSE)
|
|
20
|
-
----------------------------------------------------------- */
|
|
21
25
|
/**
|
|
22
26
|
* @internal
|
|
23
27
|
*/
|
|
24
|
-
export
|
|
28
|
+
export function $guard(method: string) {
|
|
29
|
+
return (...args: any[]) =>
|
|
30
|
+
args.length === 2
|
|
31
|
+
? throws(method)((props) => new TypeGuardError(props))(
|
|
32
|
+
...(args as [boolean, Omit<TypeGuardError.IProps, "method">]),
|
|
33
|
+
)
|
|
34
|
+
: throws(method)(args[0] ?? ((props) => new TypeGuardError(props)));
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
const throws =
|
|
25
38
|
(method: string) =>
|
|
39
|
+
(factory: (props: TypeGuardError.IProps) => Error) =>
|
|
26
40
|
(exceptionable: boolean, props: Omit<TypeGuardError.IProps, "method">) => {
|
|
27
41
|
if (exceptionable === true)
|
|
28
|
-
throw
|
|
42
|
+
throw factory!({
|
|
29
43
|
method,
|
|
30
44
|
path: props.path,
|
|
31
45
|
expected: props.expected,
|