typia 5.2.0-dev.20231007 → 5.2.0

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 (71) hide show
  1. package/lib/CamelCase.d.ts +10 -0
  2. package/lib/PascalCase.d.ts +10 -0
  3. package/lib/Primitive.d.ts +1 -1
  4. package/lib/Resolved.d.ts +1 -1
  5. package/lib/SnakeCase.d.ts +10 -0
  6. package/package.json +1 -1
  7. package/src/CamelCase.ts +116 -116
  8. package/src/PascalCase.ts +116 -106
  9. package/src/Primitive.ts +135 -135
  10. package/src/Resolved.ts +116 -116
  11. package/src/SnakeCase.ts +156 -156
  12. package/src/functional/$convention.ts +40 -40
  13. package/src/functional/Namespace.ts +164 -164
  14. package/src/module.ts +662 -662
  15. package/src/notations.ts +855 -855
  16. package/src/programmers/helpers/NotationJoiner.ts +146 -146
  17. package/src/programmers/misc/MiscCloneProgrammer.ts +790 -790
  18. package/src/programmers/misc/MiscPruneProgrammer.ts +552 -552
  19. package/src/programmers/notations/NotationAssertGeneralProgrammer.ts +72 -72
  20. package/src/programmers/notations/NotationGeneralProgrammer.ts +720 -720
  21. package/src/programmers/notations/NotationIsGeneralProgrammer.ts +79 -79
  22. package/src/programmers/notations/NotationValidateGeneralProgrammer.ts +88 -88
  23. package/src/transformers/CallExpressionTransformer.ts +380 -380
  24. package/src/transformers/features/json/JsonAssertParseTransformer.ts +10 -10
  25. package/src/transformers/features/json/JsonAssertStringifyTransformer.ts +10 -10
  26. package/src/transformers/features/json/JsonCreateAssertParseTransformer.ts +12 -12
  27. package/src/transformers/features/json/JsonCreateAssertStringifyTransformer.ts +12 -12
  28. package/src/transformers/features/json/JsonCreateIsParseTransformer.ts +9 -9
  29. package/src/transformers/features/json/JsonCreateIsStringifyTransformer.ts +12 -12
  30. package/src/transformers/features/json/JsonCreateStringifyTransformer.ts +9 -9
  31. package/src/transformers/features/json/JsonCreateValidateParseTransformer.ts +12 -12
  32. package/src/transformers/features/json/JsonCreateValidateStringifyProgrammer.ts +12 -12
  33. package/src/transformers/features/json/JsonIsParseTransformer.ts +9 -9
  34. package/src/transformers/features/json/JsonIsStringifyTransformer.ts +10 -10
  35. package/src/transformers/features/json/JsonStringifyTransformer.ts +9 -9
  36. package/src/transformers/features/json/JsonValidateParseTransformer.ts +10 -10
  37. package/src/transformers/features/json/JsonValidateStringifyTransformer.ts +10 -10
  38. package/src/transformers/features/misc/MiscAssertCloneTransformer.ts +10 -10
  39. package/src/transformers/features/misc/MiscAssertPruneTransformer.ts +10 -10
  40. package/src/transformers/features/misc/MiscCloneTransformer.ts +9 -9
  41. package/src/transformers/features/misc/MiscCreateAssertCloneTransformer.ts +12 -12
  42. package/src/transformers/features/misc/MiscCreateAssertPruneTransformer.ts +12 -12
  43. package/src/transformers/features/misc/MiscCreateCloneTransformer.ts +9 -9
  44. package/src/transformers/features/misc/MiscCreateIsCloneTransformer.ts +9 -9
  45. package/src/transformers/features/misc/MiscCreateIsPruneTransformer.ts +9 -9
  46. package/src/transformers/features/misc/MiscCreatePruneTransformer.ts +9 -9
  47. package/src/transformers/features/misc/MiscCreateValidateCloneTransformer.ts +12 -12
  48. package/src/transformers/features/misc/MiscCreateValidatePruneTransformer.ts +12 -12
  49. package/src/transformers/features/misc/MiscIsCloneTransformer.ts +9 -9
  50. package/src/transformers/features/misc/MiscIsPruneTransformer.ts +9 -9
  51. package/src/transformers/features/misc/MiscPruneTransformer.ts +9 -9
  52. package/src/transformers/features/misc/MiscValidateCloneTransformer.ts +10 -10
  53. package/src/transformers/features/misc/MiscValidatePruneTransformer.ts +10 -10
  54. package/src/transformers/features/notations/NotationAssertGeneralTransformer.ts +15 -15
  55. package/src/transformers/features/notations/NotationCreateAssertGeneralTransformer.ts +15 -15
  56. package/src/transformers/features/notations/NotationCreateGeneralTransformer.ts +15 -15
  57. package/src/transformers/features/notations/NotationCreateIsGeneralTransformer.ts +15 -15
  58. package/src/transformers/features/notations/NotationCreateValidateGeneralTransformer.ts +17 -17
  59. package/src/transformers/features/notations/NotationGeneralTransformer.ts +11 -11
  60. package/src/transformers/features/notations/NotationIsGeneralTransformer.ts +15 -15
  61. package/src/transformers/features/notations/NotationValidateGeneralTransformer.ts +17 -17
  62. package/src/transformers/features/protobuf/ProtobufCreateAssertDecodeTransformer.ts +12 -12
  63. package/src/transformers/features/protobuf/ProtobufCreateAssertEncodeTransformer.ts +12 -12
  64. package/src/transformers/features/protobuf/ProtobufCreateDecodeTransformer.ts +9 -9
  65. package/src/transformers/features/protobuf/ProtobufCreateEncodeTransformer.ts +9 -9
  66. package/src/transformers/features/protobuf/ProtobufCreateIsDecodeTransformer.ts +12 -12
  67. package/src/transformers/features/protobuf/ProtobufCreateIsEncodeTransformer.ts +12 -12
  68. package/src/transformers/features/protobuf/ProtobufCreateValidateDecodeTransformer.ts +12 -12
  69. package/src/transformers/features/protobuf/ProtobufCreateValidateEncodeTransformer.ts +12 -12
  70. package/src/utils/NamingConvention.ts +91 -91
  71. package/src/utils/StringUtil.ts +4 -4
@@ -1,91 +1,91 @@
1
- import { StringUtil } from "./StringUtil";
2
-
3
- export namespace NamingConvention {
4
- export function snake(str: string): string {
5
- const indexes: number[] = [];
6
- for (let i: number = 0; i < str.length; i++) {
7
- const code: number = str.charCodeAt(i);
8
- if (65 <= code && code <= 90) indexes.push(i);
9
- }
10
- for (let i: number = indexes.length - 1; i > 0; --i) {
11
- const now: number = indexes[i]!;
12
- const prev: number = indexes[i - 1]!;
13
- if (now - prev === 1) indexes.splice(i, 1);
14
- }
15
- if (indexes.length !== 0 && indexes[0] === 0) indexes.splice(0, 1);
16
- if (indexes.length === 0) return str.toLowerCase();
17
-
18
- let ret: string = "";
19
- for (let i: number = 0; i < indexes.length; i++) {
20
- const first: number = i === 0 ? 0 : indexes[i - 1]!;
21
- const last: number = indexes[i]!;
22
-
23
- ret += str.substring(first, last).toLowerCase();
24
- ret += "_";
25
- }
26
- ret += str.substring(indexes[indexes.length - 1]!).toLowerCase();
27
- return ret;
28
- }
29
-
30
- export function camel(str: string): string {
31
- str = removeSnake(str);
32
- if (str.length === 0) return str;
33
- else if (str[0] === str[0]!.toUpperCase())
34
- return str[0]!.toLowerCase() + str.substring(1);
35
- else if (
36
- str[0] === "_" &&
37
- str.length > 1 &&
38
- str[1] === str[1]!.toLowerCase()
39
- )
40
- return "_" + str[1]!.toUpperCase() + str.substring(2);
41
- else return str;
42
- }
43
-
44
- export function pascal(str: string): string {
45
- str = removeSnake(str);
46
- if (str.length === 0) return str;
47
- else if (str[0] === str[0]!.toLowerCase())
48
- return str[0]!.toUpperCase() + str.substring(1);
49
- else if (
50
- str[0] === "_" &&
51
- str.length > 1 &&
52
- str[1] === str[1]!.toLowerCase()
53
- )
54
- return "_" + str[1]!.toUpperCase() + str.substring(2);
55
- else return str;
56
- }
57
-
58
- const removeSnake = (str: string): string => {
59
- const indexes: [number, number][] = [];
60
- for (let i: number = 0; i < str.length; i++) {
61
- const ch: string = str[i]!;
62
- if (ch !== "_") continue;
63
-
64
- const last = indexes[indexes.length - 1];
65
- if (last === undefined || last[0] + last[1] !== i)
66
- indexes.push([i, 1]);
67
- else ++last[1];
68
- }
69
- if (indexes.length === 0) return str;
70
-
71
- let ret: string = "";
72
- for (let i: number = 0; i < indexes.length; i++) {
73
- const [first] = indexes[i]!;
74
- if (i === 0)
75
- if (first === 0) ret += "_";
76
- else ret += str.substring(0, first);
77
- else {
78
- const [prevFirst, prevLength] = indexes[i - 1]!;
79
- const piece: string = str.substring(
80
- prevFirst + prevLength,
81
- first,
82
- );
83
- if (piece.length) ret += StringUtil.capitalize(piece);
84
- }
85
- }
86
- const last = indexes[indexes.length - 1]!;
87
- const piece: string = str.substring(last[0] + last[1]);
88
- if (last.length) ret += StringUtil.capitalize(piece);
89
- return ret;
90
- };
91
- }
1
+ import { StringUtil } from "./StringUtil";
2
+
3
+ export namespace NamingConvention {
4
+ export function snake(str: string): string {
5
+ const indexes: number[] = [];
6
+ for (let i: number = 0; i < str.length; i++) {
7
+ const code: number = str.charCodeAt(i);
8
+ if (65 <= code && code <= 90) indexes.push(i);
9
+ }
10
+ for (let i: number = indexes.length - 1; i > 0; --i) {
11
+ const now: number = indexes[i]!;
12
+ const prev: number = indexes[i - 1]!;
13
+ if (now - prev === 1) indexes.splice(i, 1);
14
+ }
15
+ if (indexes.length !== 0 && indexes[0] === 0) indexes.splice(0, 1);
16
+ if (indexes.length === 0) return str.toLowerCase();
17
+
18
+ let ret: string = "";
19
+ for (let i: number = 0; i < indexes.length; i++) {
20
+ const first: number = i === 0 ? 0 : indexes[i - 1]!;
21
+ const last: number = indexes[i]!;
22
+
23
+ ret += str.substring(first, last).toLowerCase();
24
+ ret += "_";
25
+ }
26
+ ret += str.substring(indexes[indexes.length - 1]!).toLowerCase();
27
+ return ret;
28
+ }
29
+
30
+ export function camel(str: string): string {
31
+ str = removeSnake(str);
32
+ if (str.length === 0) return str;
33
+ else if (str[0] === str[0]!.toUpperCase())
34
+ return str[0]!.toLowerCase() + str.substring(1);
35
+ else if (
36
+ str[0] === "_" &&
37
+ str.length > 1 &&
38
+ str[1] === str[1]!.toLowerCase()
39
+ )
40
+ return "_" + str[1]!.toUpperCase() + str.substring(2);
41
+ else return str;
42
+ }
43
+
44
+ export function pascal(str: string): string {
45
+ str = removeSnake(str);
46
+ if (str.length === 0) return str;
47
+ else if (str[0] === str[0]!.toLowerCase())
48
+ return str[0]!.toUpperCase() + str.substring(1);
49
+ else if (
50
+ str[0] === "_" &&
51
+ str.length > 1 &&
52
+ str[1] === str[1]!.toLowerCase()
53
+ )
54
+ return "_" + str[1]!.toUpperCase() + str.substring(2);
55
+ else return str;
56
+ }
57
+
58
+ const removeSnake = (str: string): string => {
59
+ const indexes: [number, number][] = [];
60
+ for (let i: number = 0; i < str.length; i++) {
61
+ const ch: string = str[i]!;
62
+ if (ch !== "_") continue;
63
+
64
+ const last = indexes[indexes.length - 1];
65
+ if (last === undefined || last[0] + last[1] !== i)
66
+ indexes.push([i, 1]);
67
+ else ++last[1];
68
+ }
69
+ if (indexes.length === 0) return str;
70
+
71
+ let ret: string = "";
72
+ for (let i: number = 0; i < indexes.length; i++) {
73
+ const [first] = indexes[i]!;
74
+ if (i === 0)
75
+ if (first === 0) ret += "_";
76
+ else ret += str.substring(0, first);
77
+ else {
78
+ const [prevFirst, prevLength] = indexes[i - 1]!;
79
+ const piece: string = str.substring(
80
+ prevFirst + prevLength,
81
+ first,
82
+ );
83
+ if (piece.length) ret += StringUtil.capitalize(piece);
84
+ }
85
+ }
86
+ const last = indexes[indexes.length - 1]!;
87
+ const piece: string = str.substring(last[0] + last[1]);
88
+ if (last.length) ret += StringUtil.capitalize(piece);
89
+ return ret;
90
+ };
91
+ }
@@ -1,4 +1,4 @@
1
- export namespace StringUtil {
2
- export const capitalize = (str: string) =>
3
- str.length ? str[0]!.toUpperCase() + str.slice(1) : str;
4
- }
1
+ export namespace StringUtil {
2
+ export const capitalize = (str: string) =>
3
+ str.length ? str[0]!.toUpperCase() + str.slice(1) : str;
4
+ }