typia 5.1.0-dev.20230924 → 5.1.0-dev.20230926

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.
Files changed (56) hide show
  1. package/README.md +1 -1
  2. package/lib/functional/$HeadersReader.d.ts +3 -3
  3. package/lib/functional/$HeadersReader.js +21 -3
  4. package/lib/functional/$HeadersReader.js.map +1 -1
  5. package/lib/functional/$ParameterReader.d.ts +6 -0
  6. package/lib/functional/$ParameterReader.js +35 -0
  7. package/lib/functional/$ParameterReader.js.map +1 -0
  8. package/lib/functional/$QueryReader.js +22 -2
  9. package/lib/functional/$QueryReader.js.map +1 -1
  10. package/lib/functional/Namespace.js +2 -0
  11. package/lib/functional/Namespace.js.map +1 -1
  12. package/lib/http.d.ts +2 -2
  13. package/lib/http.js +2 -0
  14. package/lib/http.js.map +1 -1
  15. package/lib/programmers/http/HttpHeadersProgrammer.js +36 -50
  16. package/lib/programmers/http/HttpHeadersProgrammer.js.map +1 -1
  17. package/lib/programmers/http/HttpParameterProgrammer.js +10 -29
  18. package/lib/programmers/http/HttpParameterProgrammer.js.map +1 -1
  19. package/lib/programmers/http/HttpQueryProgrammer.js +16 -12
  20. package/lib/programmers/http/HttpQueryProgrammer.js.map +1 -1
  21. package/package.json +1 -1
  22. package/src/factories/MetadataCollection.ts +274 -274
  23. package/src/functional/$HeadersReader.ts +28 -9
  24. package/src/functional/$ParameterReader.ts +31 -0
  25. package/src/functional/$QueryReader.ts +53 -32
  26. package/src/functional/Namespace.ts +2 -0
  27. package/src/http.ts +1149 -1141
  28. package/src/programmers/helpers/HttpMetadataUtil.ts +21 -21
  29. package/src/programmers/http/HttpAssertHeadersProgrammer.ts +77 -77
  30. package/src/programmers/http/HttpAssertQueryProgrammer.ts +77 -77
  31. package/src/programmers/http/HttpHeadersProgrammer.ts +320 -321
  32. package/src/programmers/http/HttpIsHeadersProgrammer.ts +87 -87
  33. package/src/programmers/http/HttpIsQueryProgrammer.ts +87 -87
  34. package/src/programmers/http/HttpParameterProgrammer.ts +104 -168
  35. package/src/programmers/http/HttpQueryProgrammer.ts +286 -267
  36. package/src/programmers/http/HttpValidateHeadersProgrammer.ts +77 -77
  37. package/src/programmers/http/HttpValidateQueryProgrammer.ts +77 -77
  38. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +0 -1
  39. package/src/transformers/features/http/CreateHttpAssertHeadersTransformer.ts +12 -12
  40. package/src/transformers/features/http/CreateHttpAssertQueryTransformer.ts +12 -12
  41. package/src/transformers/features/http/CreateHttpHeadersTransformer.ts +9 -9
  42. package/src/transformers/features/http/CreateHttpIsHeadersTransformer.ts +9 -9
  43. package/src/transformers/features/http/CreateHttpIsQueryTransformer.ts +9 -9
  44. package/src/transformers/features/http/CreateHttpParameterTransformer.ts +9 -9
  45. package/src/transformers/features/http/CreateHttpQueryTransformer.ts +9 -9
  46. package/src/transformers/features/http/CreateHttpValidateHeadersTransformer copy.ts +12 -12
  47. package/src/transformers/features/http/CreateHttpValidateQueryTransformer.ts +12 -12
  48. package/src/transformers/features/http/HttpAssertHeadersTransformer.ts +10 -10
  49. package/src/transformers/features/http/HttpAssertQueryTransformer.ts +10 -10
  50. package/src/transformers/features/http/HttpHeadersTransformer.ts +9 -9
  51. package/src/transformers/features/http/HttpIsHeadersTransformer.ts +9 -9
  52. package/src/transformers/features/http/HttpIsQueryTransformer.ts +9 -9
  53. package/src/transformers/features/http/HttpParameterTransformer.ts +9 -9
  54. package/src/transformers/features/http/HttpQueryTransformer.ts +9 -9
  55. package/src/transformers/features/http/HttpValidateHeadersTransformer.ts +10 -10
  56. package/src/transformers/features/http/HttpValidateQueryTransformer.ts +10 -10
@@ -1,32 +1,53 @@
1
- export namespace $QueryReader {
2
- export const boolean = (str: string | null): boolean | null | undefined =>
3
- str === null
4
- ? undefined
5
- : str === "null"
6
- ? null
7
- : str.length === 0
8
- ? true
9
- : str === "true" || str === "1"
10
- ? true
11
- : str === "false" || str === "0"
12
- ? false
13
- : (str as any); // wrong type
14
-
15
- export const number = (str: string | null): number | null | undefined =>
16
- !!str?.length ? (str === "null" ? null : Number(str)) : undefined;
17
-
18
- export const bigint = (str: string | null): bigint | null | undefined =>
19
- !!str?.length ? (str === "null" ? null : BigInt(str)) : undefined;
20
-
21
- export const string = (str: string | null): string | null | undefined =>
22
- str === null ? undefined : str === "null" ? null : str;
23
-
24
- export const params = (input: string | URLSearchParams) => {
25
- if (typeof input === "string") {
26
- const index: number = input.indexOf("?");
27
- input = index === -1 ? "" : input.substring(index + 1);
28
- return new URLSearchParams(input);
29
- }
30
- return input;
31
- };
32
- }
1
+ export namespace $QueryReader {
2
+ export const boolean = (str: string | null): boolean | null | undefined =>
3
+ str === null
4
+ ? undefined
5
+ : str === "null"
6
+ ? null
7
+ : str.length === 0
8
+ ? true
9
+ : str === "true" || str === "1"
10
+ ? true
11
+ : str === "false" || str === "0"
12
+ ? false
13
+ : (str as any); // wrong type
14
+
15
+ export const number = (str: string | null): number | null | undefined =>
16
+ !!str?.length
17
+ ? str === "null"
18
+ ? null
19
+ : (toNumber(str) as any)
20
+ : undefined;
21
+
22
+ export const bigint = (str: string | null): bigint | null | undefined =>
23
+ !!str?.length
24
+ ? str === "null"
25
+ ? null
26
+ : (toBigint(str) as any)
27
+ : undefined;
28
+
29
+ export const string = (str: string | null): string | null | undefined =>
30
+ str === null ? undefined : str === "null" ? null : str;
31
+
32
+ export const params = (input: string | URLSearchParams) => {
33
+ if (typeof input === "string") {
34
+ const index: number = input.indexOf("?");
35
+ input = index === -1 ? "" : input.substring(index + 1);
36
+ return new URLSearchParams(input);
37
+ }
38
+ return input;
39
+ };
40
+ }
41
+
42
+ const toNumber = (str: string): number | string => {
43
+ const value: number = Number(str);
44
+ return isNaN(value) ? str : value;
45
+ };
46
+
47
+ const toBigint = (str: string): bigint | string => {
48
+ try {
49
+ return BigInt(str);
50
+ } catch {
51
+ return str;
52
+ }
53
+ };
@@ -3,6 +3,7 @@ import { RandomGenerator } from "../utils/RandomGenerator";
3
3
  import { IValidation } from "../IValidation";
4
4
  import { TypeGuardError } from "../TypeGuardError";
5
5
  import { $HeadersReader } from "./$HeadersReader";
6
+ import { $ParameterReader } from "./$ParameterReader";
6
7
  import { $ProtobufReader } from "./$ProtobufReader";
7
8
  import { $ProtobufSizer } from "./$ProtobufSizer";
8
9
  import { $ProtobufWriter } from "./$ProtobufWriter";
@@ -109,6 +110,7 @@ export namespace Namespace {
109
110
  export namespace http {
110
111
  export const query = () => $QueryReader;
111
112
  export const headers = () => $HeadersReader;
113
+ export const parameter = () => $ParameterReader;
112
114
  }
113
115
 
114
116
  export namespace misc {