typia 5.4.14 → 5.5.0-dev.20240302
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 +2 -19
- 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 +15 -2
- 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 +6 -20
- 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 +46 -6
- 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
|
@@ -13,7 +13,7 @@ export namespace JsonAssertParseProgrammer {
|
|
|
13
13
|
export const write =
|
|
14
14
|
(project: IProject) =>
|
|
15
15
|
(modulo: ts.LeftHandSideExpression) =>
|
|
16
|
-
(type: ts.Type, name?: string): ts.ArrowFunction => {
|
|
16
|
+
(type: ts.Type, name?: string, init?: ts.Expression): ts.ArrowFunction => {
|
|
17
17
|
JsonMetadataFactory.analyze(`typia.json.${modulo.getText()}`)(
|
|
18
18
|
project.checker,
|
|
19
19
|
project.context,
|
|
@@ -21,7 +21,10 @@ export namespace JsonAssertParseProgrammer {
|
|
|
21
21
|
return ts.factory.createArrowFunction(
|
|
22
22
|
undefined,
|
|
23
23
|
undefined,
|
|
24
|
-
[
|
|
24
|
+
[
|
|
25
|
+
IdentifierFactory.parameter("input", TypeFactory.keyword("string")),
|
|
26
|
+
AssertProgrammer.Guardian.parameter(init),
|
|
27
|
+
],
|
|
25
28
|
ts.factory.createTypeReferenceNode(
|
|
26
29
|
`typia.Primitive<${
|
|
27
30
|
name ?? TypeFactory.getFullName(project.checker)(type)
|
|
@@ -56,7 +59,10 @@ export namespace JsonAssertParseProgrammer {
|
|
|
56
59
|
ts.factory.createCallExpression(
|
|
57
60
|
ts.factory.createIdentifier("assert"),
|
|
58
61
|
undefined,
|
|
59
|
-
[
|
|
62
|
+
[
|
|
63
|
+
ts.factory.createIdentifier("input"),
|
|
64
|
+
AssertProgrammer.Guardian.identifier(),
|
|
65
|
+
],
|
|
60
66
|
),
|
|
61
67
|
ts.factory.createTypeReferenceNode("any"),
|
|
62
68
|
),
|
|
@@ -13,11 +13,14 @@ export namespace JsonAssertStringifyProgrammer {
|
|
|
13
13
|
export const write =
|
|
14
14
|
(project: IProject) =>
|
|
15
15
|
(modulo: ts.LeftHandSideExpression) =>
|
|
16
|
-
(type: ts.Type, name?: string) =>
|
|
16
|
+
(type: ts.Type, name?: string, init?: ts.Expression) =>
|
|
17
17
|
ts.factory.createArrowFunction(
|
|
18
18
|
undefined,
|
|
19
19
|
undefined,
|
|
20
|
-
[
|
|
20
|
+
[
|
|
21
|
+
IdentifierFactory.parameter("input", TypeFactory.keyword("any")),
|
|
22
|
+
AssertProgrammer.Guardian.parameter(init),
|
|
23
|
+
],
|
|
21
24
|
TypeFactory.keyword("string"),
|
|
22
25
|
undefined,
|
|
23
26
|
ts.factory.createBlock([
|
|
@@ -51,7 +54,10 @@ export namespace JsonAssertStringifyProgrammer {
|
|
|
51
54
|
ts.factory.createCallExpression(
|
|
52
55
|
ts.factory.createIdentifier("assert"),
|
|
53
56
|
undefined,
|
|
54
|
-
[
|
|
57
|
+
[
|
|
58
|
+
ts.factory.createIdentifier("input"),
|
|
59
|
+
AssertProgrammer.Guardian.identifier(),
|
|
60
|
+
],
|
|
55
61
|
),
|
|
56
62
|
],
|
|
57
63
|
),
|
|
@@ -13,11 +13,14 @@ export namespace MiscAssertCloneProgrammer {
|
|
|
13
13
|
export const write =
|
|
14
14
|
(project: IProject) =>
|
|
15
15
|
(modulo: ts.LeftHandSideExpression) =>
|
|
16
|
-
(type: ts.Type, name?: string) =>
|
|
16
|
+
(type: ts.Type, name?: string, init?: ts.Expression) =>
|
|
17
17
|
ts.factory.createArrowFunction(
|
|
18
18
|
undefined,
|
|
19
19
|
undefined,
|
|
20
|
-
[
|
|
20
|
+
[
|
|
21
|
+
IdentifierFactory.parameter("input", TypeFactory.keyword("any")),
|
|
22
|
+
AssertProgrammer.Guardian.parameter(init),
|
|
23
|
+
],
|
|
21
24
|
ts.factory.createTypeReferenceNode(
|
|
22
25
|
`typia.Resolved<${
|
|
23
26
|
name ?? TypeFactory.getFullName(project.checker)(type)
|
|
@@ -44,7 +47,10 @@ export namespace MiscAssertCloneProgrammer {
|
|
|
44
47
|
ts.factory.createCallExpression(
|
|
45
48
|
ts.factory.createIdentifier("assert"),
|
|
46
49
|
undefined,
|
|
47
|
-
[
|
|
50
|
+
[
|
|
51
|
+
ts.factory.createIdentifier("input"),
|
|
52
|
+
AssertProgrammer.Guardian.identifier(),
|
|
53
|
+
],
|
|
48
54
|
),
|
|
49
55
|
),
|
|
50
56
|
StatementFactory.constant(
|
|
@@ -13,11 +13,14 @@ export namespace MiscAssertPruneProgrammer {
|
|
|
13
13
|
export const write =
|
|
14
14
|
(project: IProject) =>
|
|
15
15
|
(modulo: ts.LeftHandSideExpression) =>
|
|
16
|
-
(type: ts.Type, name?: string) =>
|
|
16
|
+
(type: ts.Type, name?: string, init?: ts.Expression) =>
|
|
17
17
|
ts.factory.createArrowFunction(
|
|
18
18
|
undefined,
|
|
19
19
|
undefined,
|
|
20
|
-
[
|
|
20
|
+
[
|
|
21
|
+
IdentifierFactory.parameter("input", TypeFactory.keyword("any")),
|
|
22
|
+
AssertProgrammer.Guardian.parameter(init),
|
|
23
|
+
],
|
|
21
24
|
ts.factory.createTypeReferenceNode(
|
|
22
25
|
name ?? TypeFactory.getFullName(project.checker)(type),
|
|
23
26
|
),
|
|
@@ -42,7 +45,10 @@ export namespace MiscAssertPruneProgrammer {
|
|
|
42
45
|
ts.factory.createCallExpression(
|
|
43
46
|
ts.factory.createIdentifier("assert"),
|
|
44
47
|
undefined,
|
|
45
|
-
[
|
|
48
|
+
[
|
|
49
|
+
ts.factory.createIdentifier("input"),
|
|
50
|
+
AssertProgrammer.Guardian.identifier(),
|
|
51
|
+
],
|
|
46
52
|
),
|
|
47
53
|
),
|
|
48
54
|
ts.factory.createExpressionStatement(
|
|
@@ -14,11 +14,14 @@ export namespace NotationAssertGeneralProgrammer {
|
|
|
14
14
|
(rename: (str: string) => string) =>
|
|
15
15
|
(project: IProject) =>
|
|
16
16
|
(modulo: ts.LeftHandSideExpression) =>
|
|
17
|
-
(type: ts.Type, name?: string) =>
|
|
17
|
+
(type: ts.Type, name?: string, init?: ts.Expression) =>
|
|
18
18
|
ts.factory.createArrowFunction(
|
|
19
19
|
undefined,
|
|
20
20
|
undefined,
|
|
21
|
-
[
|
|
21
|
+
[
|
|
22
|
+
IdentifierFactory.parameter("input", TypeFactory.keyword("any")),
|
|
23
|
+
AssertProgrammer.Guardian.parameter(init),
|
|
24
|
+
],
|
|
22
25
|
ts.factory.createTypeReferenceNode(
|
|
23
26
|
NotationGeneralProgrammer.returnType(rename)(
|
|
24
27
|
name ?? TypeFactory.getFullName(project.checker)(type),
|
|
@@ -45,7 +48,10 @@ export namespace NotationAssertGeneralProgrammer {
|
|
|
45
48
|
ts.factory.createCallExpression(
|
|
46
49
|
ts.factory.createIdentifier("assert"),
|
|
47
50
|
undefined,
|
|
48
|
-
[
|
|
51
|
+
[
|
|
52
|
+
ts.factory.createIdentifier("input"),
|
|
53
|
+
AssertProgrammer.Guardian.identifier(),
|
|
54
|
+
],
|
|
49
55
|
),
|
|
50
56
|
),
|
|
51
57
|
StatementFactory.constant(
|
|
@@ -13,7 +13,7 @@ export namespace ProtobufAssertDecodeProgrammer {
|
|
|
13
13
|
export const write =
|
|
14
14
|
(project: IProject) =>
|
|
15
15
|
(modulo: ts.LeftHandSideExpression) =>
|
|
16
|
-
(type: ts.Type, name?: string) =>
|
|
16
|
+
(type: ts.Type, name?: string, init?: ts.Expression) =>
|
|
17
17
|
ts.factory.createArrowFunction(
|
|
18
18
|
undefined,
|
|
19
19
|
undefined,
|
|
@@ -22,6 +22,7 @@ export namespace ProtobufAssertDecodeProgrammer {
|
|
|
22
22
|
"input",
|
|
23
23
|
ts.factory.createTypeReferenceNode("Uint8Array"),
|
|
24
24
|
),
|
|
25
|
+
AssertProgrammer.Guardian.parameter(init),
|
|
25
26
|
],
|
|
26
27
|
ts.factory.createTypeReferenceNode(
|
|
27
28
|
`typia.Resolved<${
|
|
@@ -65,7 +66,10 @@ export namespace ProtobufAssertDecodeProgrammer {
|
|
|
65
66
|
ts.factory.createCallExpression(
|
|
66
67
|
ts.factory.createIdentifier("assert"),
|
|
67
68
|
undefined,
|
|
68
|
-
[
|
|
69
|
+
[
|
|
70
|
+
ts.factory.createIdentifier("output"),
|
|
71
|
+
AssertProgrammer.Guardian.identifier(),
|
|
72
|
+
],
|
|
69
73
|
),
|
|
70
74
|
TypeFactory.keyword("any"),
|
|
71
75
|
),
|
|
@@ -13,11 +13,14 @@ export namespace ProtobufAssertEncodeProgrammer {
|
|
|
13
13
|
export const write =
|
|
14
14
|
(project: IProject) =>
|
|
15
15
|
(modulo: ts.LeftHandSideExpression) =>
|
|
16
|
-
(type: ts.Type, name?: string): ts.ArrowFunction =>
|
|
16
|
+
(type: ts.Type, name?: string, init?: ts.Expression): ts.ArrowFunction =>
|
|
17
17
|
ts.factory.createArrowFunction(
|
|
18
18
|
undefined,
|
|
19
19
|
undefined,
|
|
20
|
-
[
|
|
20
|
+
[
|
|
21
|
+
IdentifierFactory.parameter("input", TypeFactory.keyword("any")),
|
|
22
|
+
AssertProgrammer.Guardian.parameter(init),
|
|
23
|
+
],
|
|
21
24
|
ts.factory.createTypeReferenceNode("Uint8Array"),
|
|
22
25
|
undefined,
|
|
23
26
|
ts.factory.createBlock([
|
|
@@ -51,7 +54,10 @@ export namespace ProtobufAssertEncodeProgrammer {
|
|
|
51
54
|
ts.factory.createCallExpression(
|
|
52
55
|
ts.factory.createIdentifier("assert"),
|
|
53
56
|
undefined,
|
|
54
|
-
[
|
|
57
|
+
[
|
|
58
|
+
ts.factory.createIdentifier("input"),
|
|
59
|
+
AssertProgrammer.Guardian.identifier(),
|
|
60
|
+
],
|
|
55
61
|
),
|
|
56
62
|
],
|
|
57
63
|
),
|
package/src/protobuf.ts
CHANGED
|
@@ -2,6 +2,7 @@ import * as Namespace from "./functional/Namespace";
|
|
|
2
2
|
|
|
3
3
|
import { IValidation } from "./IValidation";
|
|
4
4
|
import { Resolved } from "./Resolved";
|
|
5
|
+
import { TypeGuardError } from "./TypeGuardError";
|
|
5
6
|
|
|
6
7
|
/* ===========================================================
|
|
7
8
|
PROTOCOL BUFFER
|
|
@@ -167,7 +168,10 @@ export { decodePure as decode };
|
|
|
167
168
|
*
|
|
168
169
|
* @author Jeongho Nam - https://github.com/samchon
|
|
169
170
|
*/
|
|
170
|
-
function assertDecode(
|
|
171
|
+
function assertDecode(
|
|
172
|
+
input: Uint8Array,
|
|
173
|
+
errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
|
|
174
|
+
): never;
|
|
171
175
|
|
|
172
176
|
/**
|
|
173
177
|
* Protocol Buffer Decoder wity type assertion, but not safe.
|
|
@@ -196,7 +200,10 @@ function assertDecode(input: Uint8Array): never;
|
|
|
196
200
|
*
|
|
197
201
|
* @author Jeongho Nam - https://github.com/samchon
|
|
198
202
|
*/
|
|
199
|
-
function assertDecode<T>(
|
|
203
|
+
function assertDecode<T>(
|
|
204
|
+
input: Uint8Array,
|
|
205
|
+
errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
|
|
206
|
+
): Resolved<T>;
|
|
200
207
|
|
|
201
208
|
/**
|
|
202
209
|
* @internal
|
|
@@ -443,7 +450,10 @@ export { encodePure as encode };
|
|
|
443
450
|
*
|
|
444
451
|
* @author Jeongho Nam - https://github.com/samchon
|
|
445
452
|
*/
|
|
446
|
-
function assertEncode<T>(
|
|
453
|
+
function assertEncode<T>(
|
|
454
|
+
input: T,
|
|
455
|
+
errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
|
|
456
|
+
): Uint8Array;
|
|
447
457
|
|
|
448
458
|
/**
|
|
449
459
|
* Protocol Buffer Encoder with type assertion.
|
|
@@ -476,7 +486,10 @@ function assertEncode<T>(input: T): Uint8Array;
|
|
|
476
486
|
*
|
|
477
487
|
* @author Jeongho Nam - https://github.com/samchon
|
|
478
488
|
*/
|
|
479
|
-
function assertEncode<T>(
|
|
489
|
+
function assertEncode<T>(
|
|
490
|
+
input: unknown,
|
|
491
|
+
errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
|
|
492
|
+
): Uint8Array;
|
|
480
493
|
|
|
481
494
|
/**
|
|
482
495
|
* @internal
|
|
@@ -742,7 +755,9 @@ export { createIsDecodePure as createIsDecode };
|
|
|
742
755
|
*
|
|
743
756
|
* @author Jeongho Nam - https://github.com/samchon
|
|
744
757
|
*/
|
|
745
|
-
function createAssertDecode(
|
|
758
|
+
function createAssertDecode(
|
|
759
|
+
errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
|
|
760
|
+
): never;
|
|
746
761
|
|
|
747
762
|
/**
|
|
748
763
|
* Creates a reusable {@link assertDecode} function.
|
|
@@ -752,7 +767,9 @@ function createAssertDecode(): never;
|
|
|
752
767
|
*
|
|
753
768
|
* @author Jeongho Nam - https://github.com/samchon
|
|
754
769
|
*/
|
|
755
|
-
function createAssertDecode<T>(
|
|
770
|
+
function createAssertDecode<T>(
|
|
771
|
+
errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
|
|
772
|
+
): (input: Uint8Array) => Resolved<T>;
|
|
756
773
|
|
|
757
774
|
/**
|
|
758
775
|
* @internal
|
|
@@ -893,7 +910,9 @@ export { createIsEncodePure as createIsEncode };
|
|
|
893
910
|
*
|
|
894
911
|
* @author Jeongho Nam - https://github.com/samchon
|
|
895
912
|
*/
|
|
896
|
-
function createAssertEncode(
|
|
913
|
+
function createAssertEncode(
|
|
914
|
+
errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
|
|
915
|
+
): never;
|
|
897
916
|
|
|
898
917
|
/**
|
|
899
918
|
* Creates a reusable {@link assertEncode} function.
|
|
@@ -903,7 +922,9 @@ function createAssertEncode(): never;
|
|
|
903
922
|
*
|
|
904
923
|
* @author Jeongho Nam - https://github.com/samchon
|
|
905
924
|
*/
|
|
906
|
-
function createAssertEncode<T>(
|
|
925
|
+
function createAssertEncode<T>(
|
|
926
|
+
errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
|
|
927
|
+
): (input: T) => Uint8Array;
|
|
907
928
|
|
|
908
929
|
/**
|
|
909
930
|
* @internal
|
|
@@ -17,7 +17,7 @@ export namespace GenericTransformer {
|
|
|
17
17
|
(modulo: ts.LeftHandSideExpression) =>
|
|
18
18
|
(expression: ts.CallExpression) => {
|
|
19
19
|
// CHECK PARAMETER
|
|
20
|
-
if (expression.arguments.length
|
|
20
|
+
if (expression.arguments.length === 0)
|
|
21
21
|
throw new TransformerError({
|
|
22
22
|
code: `typia.${method}`,
|
|
23
23
|
message: `no input value.`,
|
|
@@ -51,7 +51,7 @@ export namespace GenericTransformer {
|
|
|
51
51
|
: name(project.checker)(type)(node),
|
|
52
52
|
),
|
|
53
53
|
undefined,
|
|
54
|
-
|
|
54
|
+
expression.arguments,
|
|
55
55
|
);
|
|
56
56
|
};
|
|
57
57
|
|
|
@@ -62,7 +62,11 @@ export namespace GenericTransformer {
|
|
|
62
62
|
project: IProject,
|
|
63
63
|
) => (
|
|
64
64
|
modulo: ts.LeftHandSideExpression,
|
|
65
|
-
) => (
|
|
65
|
+
) => (
|
|
66
|
+
type: ts.Type,
|
|
67
|
+
name: string,
|
|
68
|
+
init?: ts.Expression,
|
|
69
|
+
) => ts.ArrowFunction,
|
|
66
70
|
) =>
|
|
67
71
|
(project: IProject) =>
|
|
68
72
|
(modulo: ts.LeftHandSideExpression) =>
|
|
@@ -85,7 +89,11 @@ export namespace GenericTransformer {
|
|
|
85
89
|
});
|
|
86
90
|
|
|
87
91
|
// DO TRANSFORM
|
|
88
|
-
return programmer(project)(modulo)(
|
|
92
|
+
return programmer(project)(modulo)(
|
|
93
|
+
type,
|
|
94
|
+
node.getFullText().trim(),
|
|
95
|
+
expression.arguments[0],
|
|
96
|
+
);
|
|
89
97
|
};
|
|
90
98
|
|
|
91
99
|
const name =
|