typia 12.1.1 → 12.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 (136) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +153 -153
  3. package/lib/executable/setup/PluginConfigurator.js +3 -3
  4. package/lib/executable/setup/PluginConfigurator.mjs +3 -3
  5. package/lib/executable/setup/PluginConfigurator.mjs.map +1 -1
  6. package/lib/executable/typia.js +15 -15
  7. package/lib/executable/typia.mjs +15 -15
  8. package/package.json +5 -5
  9. package/src/TypeGuardError.ts +145 -145
  10. package/src/executable/TypiaGenerateWizard.ts +82 -82
  11. package/src/executable/TypiaPatchWizard.ts +45 -45
  12. package/src/executable/TypiaSetupWizard.ts +171 -171
  13. package/src/executable/setup/ArgumentParser.ts +42 -42
  14. package/src/executable/setup/CommandExecutor.ts +8 -8
  15. package/src/executable/setup/FileRetriever.ts +19 -19
  16. package/src/executable/setup/PackageManager.ts +87 -87
  17. package/src/executable/setup/PluginConfigurator.ts +74 -74
  18. package/src/executable/typia.ts +55 -55
  19. package/src/functional.ts +600 -600
  20. package/src/http.ts +843 -843
  21. package/src/index.ts +4 -4
  22. package/src/internal/_IProtobufWriter.ts +18 -18
  23. package/src/internal/_ProtobufReader.ts +187 -187
  24. package/src/internal/_ProtobufSizer.ts +137 -137
  25. package/src/internal/_ProtobufWriter.ts +135 -135
  26. package/src/internal/_accessExpressionAsString.ts +46 -46
  27. package/src/internal/_assertGuard.ts +13 -13
  28. package/src/internal/_coerceLlmArguments.ts +7 -7
  29. package/src/internal/_createStandardSchema.ts +133 -133
  30. package/src/internal/_functionalTypeGuardErrorFactory.ts +4 -4
  31. package/src/internal/_httpFormDataReadArray.ts +4 -4
  32. package/src/internal/_httpFormDataReadBigint.ts +18 -18
  33. package/src/internal/_httpFormDataReadBlob.ts +10 -10
  34. package/src/internal/_httpFormDataReadBoolean.ts +16 -16
  35. package/src/internal/_httpFormDataReadFile.ts +10 -10
  36. package/src/internal/_httpFormDataReadNumber.ts +15 -15
  37. package/src/internal/_httpFormDataReadString.ts +10 -10
  38. package/src/internal/_httpHeaderReadBigint.ts +10 -10
  39. package/src/internal/_httpHeaderReadBoolean.ts +8 -8
  40. package/src/internal/_httpHeaderReadNumber.ts +7 -7
  41. package/src/internal/_httpParameterReadBigint.ts +10 -10
  42. package/src/internal/_httpParameterReadBoolean.ts +8 -8
  43. package/src/internal/_httpParameterReadNumber.ts +7 -7
  44. package/src/internal/_httpParameterReadString.ts +2 -2
  45. package/src/internal/_httpQueryParseURLSearchParams.ts +12 -12
  46. package/src/internal/_httpQueryReadArray.ts +4 -4
  47. package/src/internal/_httpQueryReadBigint.ts +12 -12
  48. package/src/internal/_httpQueryReadBoolean.ts +14 -14
  49. package/src/internal/_httpQueryReadNumber.ts +9 -9
  50. package/src/internal/_httpQueryReadString.ts +4 -4
  51. package/src/internal/_isBetween.ts +2 -2
  52. package/src/internal/_isBigintString.ts +8 -8
  53. package/src/internal/_isFormatByte.ts +7 -7
  54. package/src/internal/_isFormatDate.ts +3 -3
  55. package/src/internal/_isFormatDateTime.ts +4 -4
  56. package/src/internal/_isFormatDuration.ts +4 -4
  57. package/src/internal/_isFormatEmail.ts +4 -4
  58. package/src/internal/_isFormatHostname.ts +4 -4
  59. package/src/internal/_isFormatIdnEmail.ts +4 -4
  60. package/src/internal/_isFormatIdnHostname.ts +4 -4
  61. package/src/internal/_isFormatIpv4.ts +4 -4
  62. package/src/internal/_isFormatIpv6.ts +4 -4
  63. package/src/internal/_isFormatIri.ts +3 -3
  64. package/src/internal/_isFormatIriReference.ts +4 -4
  65. package/src/internal/_isFormatJsonPointer.ts +3 -3
  66. package/src/internal/_isFormatPassword.ts +1 -1
  67. package/src/internal/_isFormatRegex.ts +8 -8
  68. package/src/internal/_isFormatRelativeJsonPointer.ts +4 -4
  69. package/src/internal/_isFormatTime.ts +4 -4
  70. package/src/internal/_isFormatUri.ts +6 -6
  71. package/src/internal/_isFormatUriReference.ts +5 -5
  72. package/src/internal/_isFormatUriTemplate.ts +4 -4
  73. package/src/internal/_isFormatUrl.ts +4 -4
  74. package/src/internal/_isFormatUuid.ts +3 -3
  75. package/src/internal/_isTypeFloat.ts +5 -5
  76. package/src/internal/_isTypeInt32.ts +5 -5
  77. package/src/internal/_isTypeInt64.ts +5 -5
  78. package/src/internal/_isTypeUint32.ts +5 -5
  79. package/src/internal/_isTypeUint64.ts +5 -5
  80. package/src/internal/_isUniqueItems.ts +159 -159
  81. package/src/internal/_jsonStringifyNumber.ts +2 -2
  82. package/src/internal/_jsonStringifyRest.ts +3 -3
  83. package/src/internal/_jsonStringifyString.ts +42 -42
  84. package/src/internal/_jsonStringifyTail.ts +2 -2
  85. package/src/internal/_llmApplicationFinalize.ts +20 -20
  86. package/src/internal/_miscCloneAny.ts +46 -46
  87. package/src/internal/_notationAny.ts +37 -37
  88. package/src/internal/_notationCamel.ts +13 -13
  89. package/src/internal/_notationPascal.ts +8 -8
  90. package/src/internal/_notationSnake.ts +43 -43
  91. package/src/internal/_parseLlmArguments.ts +7 -7
  92. package/src/internal/_randomArray.ts +21 -21
  93. package/src/internal/_randomBigint.ts +6 -6
  94. package/src/internal/_randomBoolean.ts +1 -1
  95. package/src/internal/_randomFormatByte.ts +3 -3
  96. package/src/internal/_randomFormatDate.ts +18 -18
  97. package/src/internal/_randomFormatDatetime.ts +16 -16
  98. package/src/internal/_randomFormatDuration.ts +27 -27
  99. package/src/internal/_randomFormatEmail.ts +11 -11
  100. package/src/internal/_randomFormatHostname.ts +6 -6
  101. package/src/internal/_randomFormatIdnEmail.ts +3 -3
  102. package/src/internal/_randomFormatIdnHostname.ts +3 -3
  103. package/src/internal/_randomFormatIpv4.ts +11 -11
  104. package/src/internal/_randomFormatIpv6.ts +11 -11
  105. package/src/internal/_randomFormatIri.ts +3 -3
  106. package/src/internal/_randomFormatIriReference.ts +3 -3
  107. package/src/internal/_randomFormatJsonPointer.ts +7 -7
  108. package/src/internal/_randomFormatPassword.ts +8 -8
  109. package/src/internal/_randomFormatRegex.ts +4 -4
  110. package/src/internal/_randomFormatRelativeJsonPointer.ts +8 -8
  111. package/src/internal/_randomFormatTime.ts +14 -14
  112. package/src/internal/_randomFormatUri.ts +3 -3
  113. package/src/internal/_randomFormatUriReference.ts +3 -3
  114. package/src/internal/_randomFormatUriTemplate.ts +3 -3
  115. package/src/internal/_randomFormatUrl.ts +11 -11
  116. package/src/internal/_randomFormatUuid.ts +6 -6
  117. package/src/internal/_randomInteger.ts +53 -53
  118. package/src/internal/_randomNumber.ts +80 -80
  119. package/src/internal/_randomPattern.ts +10 -10
  120. package/src/internal/_randomPick.ts +9 -9
  121. package/src/internal/_randomString.ts +24 -24
  122. package/src/internal/_throwTypeGuardError.ts +5 -5
  123. package/src/internal/_validateReport.ts +21 -21
  124. package/src/internal/private/__notationCapitalize.ts +2 -2
  125. package/src/internal/private/__notationUnsnake.ts +24 -24
  126. package/src/json.ts +553 -553
  127. package/src/llm.ts +480 -480
  128. package/src/misc.ts +448 -448
  129. package/src/module.ts +811 -811
  130. package/src/notations.ts +624 -624
  131. package/src/programmers/TypiaProgrammer.ts +8 -8
  132. package/src/protobuf.ts +499 -499
  133. package/src/re-exports.ts +34 -34
  134. package/src/reflect.ts +75 -75
  135. package/src/transform.ts +6 -6
  136. package/src/transformers/NoTransformConfigurationError.ts +16 -16
@@ -1,9 +1,9 @@
1
- export const _httpQueryReadNumber = (
2
- str: string | null,
3
- ): number | null | undefined =>
4
- !!str?.length ? (str === "null" ? null : (toNumber(str) as any)) : undefined;
5
-
6
- const toNumber = (str: string): number | string => {
7
- const value: number = Number(str);
8
- return isNaN(value) ? str : value;
9
- };
1
+ export const _httpQueryReadNumber = (
2
+ str: string | null,
3
+ ): number | null | undefined =>
4
+ !!str?.length ? (str === "null" ? null : (toNumber(str) as any)) : undefined;
5
+
6
+ const toNumber = (str: string): number | string => {
7
+ const value: number = Number(str);
8
+ return isNaN(value) ? str : value;
9
+ };
@@ -1,4 +1,4 @@
1
- export const _httpQueryReadString = (
2
- str: string | null,
3
- ): string | null | undefined =>
4
- str === null ? undefined : str === "null" ? null : str;
1
+ export const _httpQueryReadString = (
2
+ str: string | null,
3
+ ): string | null | undefined =>
4
+ str === null ? undefined : str === "null" ? null : str;
@@ -1,2 +1,2 @@
1
- export const _isBetween = (value: number, minimum: number, maximum: number) =>
2
- minimum <= value && value <= maximum;
1
+ export const _isBetween = (value: number, minimum: number, maximum: number) =>
2
+ minimum <= value && value <= maximum;
@@ -1,8 +1,8 @@
1
- export const _isBigintString = (str: string): boolean => {
2
- try {
3
- BigInt(str);
4
- return true;
5
- } catch {
6
- return false;
7
- }
8
- };
1
+ export const _isBigintString = (str: string): boolean => {
2
+ try {
3
+ BigInt(str);
4
+ return true;
5
+ } catch {
6
+ return false;
7
+ }
8
+ };
@@ -1,7 +1,7 @@
1
- export const _isFormatByte = (str: string): boolean => {
2
- PATTERN.lastIndex = 0;
3
- return PATTERN.test(str);
4
- };
5
-
6
- const PATTERN =
7
- /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;
1
+ export const _isFormatByte = (str: string): boolean => {
2
+ PATTERN.lastIndex = 0;
3
+ return PATTERN.test(str);
4
+ };
5
+
6
+ const PATTERN =
7
+ /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;
@@ -1,3 +1,3 @@
1
- export const _isFormatDate = (str: string): boolean => FORMAT.test(str);
2
-
3
- const FORMAT = /^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/;
1
+ export const _isFormatDate = (str: string): boolean => FORMAT.test(str);
2
+
3
+ const FORMAT = /^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/;
@@ -1,4 +1,4 @@
1
- export const _isFormatDateTime = (str: string): boolean => PATTERN.test(str);
2
-
3
- const PATTERN =
4
- /^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])(T|\s)([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](?:\.[0-9]{1,9})?(Z|[+-]([01][0-9]|2[0-3]):[0-5][0-9])$/i;
1
+ export const _isFormatDateTime = (str: string): boolean => PATTERN.test(str);
2
+
3
+ const PATTERN =
4
+ /^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])(T|\s)([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](?:\.[0-9]{1,9})?(Z|[+-]([01][0-9]|2[0-3]):[0-5][0-9])$/i;
@@ -1,4 +1,4 @@
1
- export const _isFormatDuration = (str: string): boolean => PATTERN.test(str);
2
-
3
- const PATTERN =
4
- /^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/;
1
+ export const _isFormatDuration = (str: string): boolean => PATTERN.test(str);
2
+
3
+ const PATTERN =
4
+ /^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/;
@@ -1,4 +1,4 @@
1
- export const _isFormatEmail = (str: string): boolean => PATTERN.test(str);
2
-
3
- const PATTERN =
4
- /^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i;
1
+ export const _isFormatEmail = (str: string): boolean => PATTERN.test(str);
2
+
3
+ const PATTERN =
4
+ /^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i;
@@ -1,4 +1,4 @@
1
- export const _isFormatHostname = (str: string): boolean => PATTERN.test(str);
2
-
3
- const PATTERN =
4
- /^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i;
1
+ export const _isFormatHostname = (str: string): boolean => PATTERN.test(str);
2
+
3
+ const PATTERN =
4
+ /^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i;
@@ -1,4 +1,4 @@
1
- export const _isFormatIdnEmail = (str: string): boolean => PATTERN.test(str);
2
-
3
- const PATTERN =
4
- /^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i;
1
+ export const _isFormatIdnEmail = (str: string): boolean => PATTERN.test(str);
2
+
3
+ const PATTERN =
4
+ /^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i;
@@ -1,4 +1,4 @@
1
- export const _isFormatIdnHostname = (str: string): boolean => PATTERN.test(str);
2
-
3
- const PATTERN =
4
- /^([a-z0-9\u00a1-\uffff0-9]+(-[a-z0-9\u00a1-\uffff0-9]+)*\.)+[a-z\u00a1-\uffff]{2,}$/i;
1
+ export const _isFormatIdnHostname = (str: string): boolean => PATTERN.test(str);
2
+
3
+ const PATTERN =
4
+ /^([a-z0-9\u00a1-\uffff0-9]+(-[a-z0-9\u00a1-\uffff0-9]+)*\.)+[a-z\u00a1-\uffff]{2,}$/i;
@@ -1,4 +1,4 @@
1
- export const _isFormatIpv4 = (str: string): boolean => PATTERN.test(str);
2
-
3
- const PATTERN =
4
- /^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/;
1
+ export const _isFormatIpv4 = (str: string): boolean => PATTERN.test(str);
2
+
3
+ const PATTERN =
4
+ /^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/;
@@ -1,4 +1,4 @@
1
- export const _isFormatIpv6 = (str: string): boolean => PATTERN.test(str);
2
-
3
- const PATTERN =
4
- /^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i;
1
+ export const _isFormatIpv6 = (str: string): boolean => PATTERN.test(str);
2
+
3
+ const PATTERN =
4
+ /^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i;
@@ -1,3 +1,3 @@
1
- export const _isFormatIri = (str: string): boolean => PATTERN.test(str);
2
-
3
- const PATTERN = /^[A-Za-z][\d+-.A-Za-z]*:[^\u0000-\u0020"<>\\^`{|}]*$/u;
1
+ export const _isFormatIri = (str: string): boolean => PATTERN.test(str);
2
+
3
+ const PATTERN = /^[A-Za-z][\d+-.A-Za-z]*:[^\u0000-\u0020"<>\\^`{|}]*$/u;
@@ -1,4 +1,4 @@
1
- export const _isFormatIriReference = (str: string): boolean =>
2
- PATTERN.test(str);
3
-
4
- const PATTERN = /^[A-Za-z][\d+-.A-Za-z]*:[^\u0000-\u0020"<>\\^`{|}]*$/u;
1
+ export const _isFormatIriReference = (str: string): boolean =>
2
+ PATTERN.test(str);
3
+
4
+ const PATTERN = /^[A-Za-z][\d+-.A-Za-z]*:[^\u0000-\u0020"<>\\^`{|}]*$/u;
@@ -1,3 +1,3 @@
1
- export const _isFormatJsonPointer = (str: string): boolean => PATTERN.test(str);
2
-
3
- const PATTERN = /^(?:\/(?:[^~/]|~0|~1)*)*$/;
1
+ export const _isFormatJsonPointer = (str: string): boolean => PATTERN.test(str);
2
+
3
+ const PATTERN = /^(?:\/(?:[^~/]|~0|~1)*)*$/;
@@ -1 +1 @@
1
- export const _isFormatPassword = (): boolean => true;
1
+ export const _isFormatPassword = (): boolean => true;
@@ -1,8 +1,8 @@
1
- export const _isFormatRegex = (str: string): boolean => {
2
- try {
3
- new RegExp(str);
4
- return true;
5
- } catch {
6
- return false;
7
- }
8
- };
1
+ export const _isFormatRegex = (str: string): boolean => {
2
+ try {
3
+ new RegExp(str);
4
+ return true;
5
+ } catch {
6
+ return false;
7
+ }
8
+ };
@@ -1,4 +1,4 @@
1
- export const _isFormatRelativeJsonPointer = (str: string): boolean =>
2
- PATTERN.test(str);
3
-
4
- const PATTERN = /^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;
1
+ export const _isFormatRelativeJsonPointer = (str: string): boolean =>
2
+ PATTERN.test(str);
3
+
4
+ const PATTERN = /^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;
@@ -1,4 +1,4 @@
1
- export const _isFormatTime = (str: string): boolean => PATTERN.test(str);
2
-
3
- const PATTERN =
4
- /^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](?:\.[0-9]{1,9})?(Z|[+-]([01][0-9]|2[0-3]):[0-5][0-9])$/i;
1
+ export const _isFormatTime = (str: string): boolean => PATTERN.test(str);
2
+
3
+ const PATTERN =
4
+ /^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](?:\.[0-9]{1,9})?(Z|[+-]([01][0-9]|2[0-3]):[0-5][0-9])$/i;
@@ -1,6 +1,6 @@
1
- export const _isFormatUri = (str: string): boolean =>
2
- NOT_URI_FRAGMENT.test(str) && URI.test(str);
3
-
4
- const NOT_URI_FRAGMENT = /\/|:/;
5
- const URI =
6
- /^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;
1
+ export const _isFormatUri = (str: string): boolean =>
2
+ NOT_URI_FRAGMENT.test(str) && URI.test(str);
3
+
4
+ const NOT_URI_FRAGMENT = /\/|:/;
5
+ const URI =
6
+ /^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;
@@ -1,5 +1,5 @@
1
- export const _isFormatUriReference = (str: string): boolean =>
2
- PATTERN.test(str);
3
-
4
- const PATTERN =
5
- /^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;
1
+ export const _isFormatUriReference = (str: string): boolean =>
2
+ PATTERN.test(str);
3
+
4
+ const PATTERN =
5
+ /^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;
@@ -1,4 +1,4 @@
1
- export const _isFormatUriTemplate = (str: string): boolean => PATTERN.test(str);
2
-
3
- const PATTERN =
4
- /^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i;
1
+ export const _isFormatUriTemplate = (str: string): boolean => PATTERN.test(str);
2
+
3
+ const PATTERN =
4
+ /^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i;
@@ -1,4 +1,4 @@
1
- export const _isFormatUrl = (str: string): boolean => PATTERN.test(str);
2
-
3
- const PATTERN =
4
- /^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu;
1
+ export const _isFormatUrl = (str: string): boolean => PATTERN.test(str);
2
+
3
+ const PATTERN =
4
+ /^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu;
@@ -1,3 +1,3 @@
1
- export const _isFormatUuid = (str: string): boolean => PATTERN.test(str);
2
-
3
- const PATTERN = /^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i;
1
+ export const _isFormatUuid = (str: string): boolean => PATTERN.test(str);
2
+
3
+ const PATTERN = /^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i;
@@ -1,5 +1,5 @@
1
- export const _isTypeFloat = (value: number): boolean =>
2
- MINIMUM <= value && value <= MAXIMUM;
3
-
4
- const MINIMUM = -1.175494351e38;
5
- const MAXIMUM = 3.4028235e38;
1
+ export const _isTypeFloat = (value: number): boolean =>
2
+ MINIMUM <= value && value <= MAXIMUM;
3
+
4
+ const MINIMUM = -1.175494351e38;
5
+ const MAXIMUM = 3.4028235e38;
@@ -1,5 +1,5 @@
1
- export const _isTypeInt32 = (value: number): boolean =>
2
- Math.floor(value) === value && MINIMUM <= value && value <= MAXIMUM;
3
-
4
- const MINIMUM = -(2 ** 31);
5
- const MAXIMUM = 2 ** 31 - 1;
1
+ export const _isTypeInt32 = (value: number): boolean =>
2
+ Math.floor(value) === value && MINIMUM <= value && value <= MAXIMUM;
3
+
4
+ const MINIMUM = -(2 ** 31);
5
+ const MAXIMUM = 2 ** 31 - 1;
@@ -1,5 +1,5 @@
1
- export const _isTypeInt64 = (value: number): boolean =>
2
- Math.floor(value) === value && MINIMUM <= value && value <= MAXIMUM;
3
-
4
- const MINIMUM = -(2 ** 63);
5
- const MAXIMUM = 2 ** 63 - 1;
1
+ export const _isTypeInt64 = (value: number): boolean =>
2
+ Math.floor(value) === value && MINIMUM <= value && value <= MAXIMUM;
3
+
4
+ const MINIMUM = -(2 ** 63);
5
+ const MAXIMUM = 2 ** 63 - 1;
@@ -1,5 +1,5 @@
1
- export const _isTypeUint32 = (value: number): boolean =>
2
- Math.floor(value) === value && MINIMUM <= value && value <= MAXIMUM;
3
-
4
- const MINIMUM = 0;
5
- const MAXIMUM = 2 ** 32 - 1;
1
+ export const _isTypeUint32 = (value: number): boolean =>
2
+ Math.floor(value) === value && MINIMUM <= value && value <= MAXIMUM;
3
+
4
+ const MINIMUM = 0;
5
+ const MAXIMUM = 2 ** 32 - 1;
@@ -1,5 +1,5 @@
1
- export const _isTypeUint64 = (value: number): boolean =>
2
- Math.floor(value) === value && MINIMUM <= value && value <= MAXIMUM;
3
-
4
- const MINIMUM = 0;
5
- const MAXIMUM = 2 ** 64 - 1;
1
+ export const _isTypeUint64 = (value: number): boolean =>
2
+ Math.floor(value) === value && MINIMUM <= value && value <= MAXIMUM;
3
+
4
+ const MINIMUM = 0;
5
+ const MAXIMUM = 2 ** 64 - 1;