typia 9.3.1 → 9.5.0-dev.20250710

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 (530) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +153 -153
  3. package/lib/AssertionGuard.d.mts +38 -0
  4. package/lib/AssertionGuard.d.ts +38 -0
  5. package/lib/TypeGuardError.d.mts +124 -3
  6. package/lib/TypeGuardError.d.ts +124 -3
  7. package/lib/TypeGuardError.js +47 -0
  8. package/lib/TypeGuardError.js.map +1 -1
  9. package/lib/TypeGuardError.mjs +96 -0
  10. package/lib/executable/setup/PluginConfigurator.js +3 -3
  11. package/lib/executable/setup/PluginConfigurator.mjs +3 -3
  12. package/lib/executable/typia.d.mts +1 -1
  13. package/lib/executable/typia.d.ts +1 -1
  14. package/lib/executable/typia.js +15 -15
  15. package/lib/executable/typia.mjs +15 -15
  16. package/lib/programmers/internal/json_schema_title.js +2 -8
  17. package/lib/programmers/internal/json_schema_title.js.map +1 -1
  18. package/lib/programmers/internal/json_schema_title.mjs +1 -7
  19. package/lib/programmers/json/JsonSchemasProgrammer.js +2 -2
  20. package/lib/programmers/json/JsonSchemasProgrammer.mjs +2 -2
  21. package/lib/schemas/json/IJsonSchemaCollection.d.mts +161 -3
  22. package/lib/schemas/json/IJsonSchemaCollection.d.ts +161 -3
  23. package/lib/schemas/json/IJsonSchemaUnit.d.mts +215 -5
  24. package/lib/schemas/json/IJsonSchemaUnit.d.ts +215 -5
  25. package/package.json +3 -3
  26. package/src/AssertionGuard.ts +39 -1
  27. package/src/CamelCase.ts +75 -75
  28. package/src/IRandomGenerator.ts +49 -49
  29. package/src/IReadableURLSearchParams.ts +9 -9
  30. package/src/IValidation.ts +1 -1
  31. package/src/PascalCase.ts +71 -71
  32. package/src/Primitive.ts +92 -92
  33. package/src/Resolved.ts +74 -74
  34. package/src/SnakeCase.ts +126 -126
  35. package/src/TypeGuardError.ts +179 -37
  36. package/src/executable/TypiaGenerateWizard.ts +83 -83
  37. package/src/executable/TypiaPatchWizard.ts +45 -45
  38. package/src/executable/TypiaSetupWizard.ts +171 -171
  39. package/src/executable/setup/ArgumentParser.ts +42 -42
  40. package/src/executable/setup/CommandExecutor.ts +8 -8
  41. package/src/executable/setup/FileRetriever.ts +19 -19
  42. package/src/executable/setup/PackageManager.ts +87 -87
  43. package/src/executable/setup/PluginConfigurator.ts +74 -74
  44. package/src/executable/typia.ts +55 -55
  45. package/src/factories/CommentFactory.ts +79 -79
  46. package/src/factories/ExpressionFactory.ts +219 -219
  47. package/src/factories/IdentifierFactory.ts +89 -89
  48. package/src/factories/JsonMetadataFactory.ts +83 -83
  49. package/src/factories/LiteralFactory.ts +52 -52
  50. package/src/factories/MetadataCollection.ts +278 -278
  51. package/src/factories/MetadataCommentTagFactory.ts +648 -648
  52. package/src/factories/MetadataFactory.ts +404 -404
  53. package/src/factories/MetadataTypeTagFactory.ts +413 -413
  54. package/src/factories/MetadataTypeTagSchemaFactory.ts +82 -82
  55. package/src/factories/NumericRangeFactory.ts +72 -72
  56. package/src/factories/ProtobufFactory.ts +875 -875
  57. package/src/factories/StatementFactory.ts +90 -90
  58. package/src/factories/TemplateFactory.ts +64 -64
  59. package/src/factories/TypeFactory.ts +140 -140
  60. package/src/factories/ValueFactory.ts +12 -12
  61. package/src/factories/internal/metadata/IMetadataIteratorProps.ts +17 -17
  62. package/src/factories/internal/metadata/MetadataHelper.ts +21 -21
  63. package/src/factories/internal/metadata/emend_metadata_atomics.ts +45 -45
  64. package/src/factories/internal/metadata/emplace_metadata_alias.ts +33 -33
  65. package/src/factories/internal/metadata/emplace_metadata_array_type.ts +39 -39
  66. package/src/factories/internal/metadata/emplace_metadata_object.ts +212 -212
  67. package/src/factories/internal/metadata/emplace_metadata_tuple.ts +57 -57
  68. package/src/factories/internal/metadata/explore_metadata.ts +31 -31
  69. package/src/factories/internal/metadata/iterate_metadata.ts +54 -54
  70. package/src/factories/internal/metadata/iterate_metadata_alias.ts +33 -33
  71. package/src/factories/internal/metadata/iterate_metadata_array.ts +63 -63
  72. package/src/factories/internal/metadata/iterate_metadata_atomic.ts +62 -62
  73. package/src/factories/internal/metadata/iterate_metadata_coalesce.ts +28 -28
  74. package/src/factories/internal/metadata/iterate_metadata_collection.ts +146 -146
  75. package/src/factories/internal/metadata/iterate_metadata_comment_tags.ts +32 -32
  76. package/src/factories/internal/metadata/iterate_metadata_constant.ts +76 -76
  77. package/src/factories/internal/metadata/iterate_metadata_escape.ts +49 -49
  78. package/src/factories/internal/metadata/iterate_metadata_function.ts +91 -91
  79. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +212 -212
  80. package/src/factories/internal/metadata/iterate_metadata_map.ts +57 -57
  81. package/src/factories/internal/metadata/iterate_metadata_native.ts +264 -264
  82. package/src/factories/internal/metadata/iterate_metadata_object.ts +35 -35
  83. package/src/factories/internal/metadata/iterate_metadata_set.ts +57 -57
  84. package/src/factories/internal/metadata/iterate_metadata_sort.ts +87 -87
  85. package/src/factories/internal/metadata/iterate_metadata_template.ts +41 -41
  86. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +26 -26
  87. package/src/factories/internal/metadata/iterate_metadata_union.ts +19 -19
  88. package/src/functional.ts +740 -740
  89. package/src/http.ts +1040 -1040
  90. package/src/index.ts +4 -4
  91. package/src/internal/_IProtobufWriter.ts +18 -18
  92. package/src/internal/_ProtobufReader.ts +194 -194
  93. package/src/internal/_ProtobufSizer.ts +145 -145
  94. package/src/internal/_ProtobufWriter.ts +145 -145
  95. package/src/internal/_accessExpressionAsString.ts +46 -46
  96. package/src/internal/_assertGuard.ts +13 -13
  97. package/src/internal/_createStandardSchema.ts +134 -134
  98. package/src/internal/_functionalTypeGuardErrorFactory.ts +4 -4
  99. package/src/internal/_httpFormDataReadArray.ts +4 -4
  100. package/src/internal/_httpFormDataReadBigint.ts +18 -18
  101. package/src/internal/_httpFormDataReadBlob.ts +10 -10
  102. package/src/internal/_httpFormDataReadBoolean.ts +16 -16
  103. package/src/internal/_httpFormDataReadFile.ts +10 -10
  104. package/src/internal/_httpFormDataReadNumber.ts +15 -15
  105. package/src/internal/_httpFormDataReadString.ts +10 -10
  106. package/src/internal/_httpHeaderReadBigint.ts +10 -10
  107. package/src/internal/_httpHeaderReadBoolean.ts +8 -8
  108. package/src/internal/_httpHeaderReadNumber.ts +7 -7
  109. package/src/internal/_httpParameterReadBigint.ts +10 -10
  110. package/src/internal/_httpParameterReadBoolean.ts +8 -8
  111. package/src/internal/_httpParameterReadNumber.ts +7 -7
  112. package/src/internal/_httpParameterReadString.ts +2 -2
  113. package/src/internal/_httpQueryParseURLSearchParams.ts +12 -12
  114. package/src/internal/_httpQueryReadArray.ts +4 -4
  115. package/src/internal/_httpQueryReadBigint.ts +12 -12
  116. package/src/internal/_httpQueryReadBoolean.ts +14 -14
  117. package/src/internal/_httpQueryReadNumber.ts +9 -9
  118. package/src/internal/_httpQueryReadString.ts +4 -4
  119. package/src/internal/_isBetween.ts +2 -2
  120. package/src/internal/_isBigintString.ts +8 -8
  121. package/src/internal/_isFormatByte.ts +7 -7
  122. package/src/internal/_isFormatDate.ts +3 -3
  123. package/src/internal/_isFormatDateTime.ts +4 -4
  124. package/src/internal/_isFormatDuration.ts +4 -4
  125. package/src/internal/_isFormatEmail.ts +4 -4
  126. package/src/internal/_isFormatHostname.ts +4 -4
  127. package/src/internal/_isFormatIdnEmail.ts +4 -4
  128. package/src/internal/_isFormatIdnHostname.ts +4 -4
  129. package/src/internal/_isFormatIpv4.ts +4 -4
  130. package/src/internal/_isFormatIpv6.ts +4 -4
  131. package/src/internal/_isFormatIri.ts +3 -3
  132. package/src/internal/_isFormatIriReference.ts +4 -4
  133. package/src/internal/_isFormatJsonPointer.ts +3 -3
  134. package/src/internal/_isFormatPassword.ts +1 -1
  135. package/src/internal/_isFormatRegex.ts +8 -8
  136. package/src/internal/_isFormatRelativeJsonPointer.ts +4 -4
  137. package/src/internal/_isFormatTime.ts +4 -4
  138. package/src/internal/_isFormatUri.ts +6 -6
  139. package/src/internal/_isFormatUriReference.ts +5 -5
  140. package/src/internal/_isFormatUriTemplate.ts +4 -4
  141. package/src/internal/_isFormatUrl.ts +4 -4
  142. package/src/internal/_isFormatUuid.ts +3 -3
  143. package/src/internal/_isTypeFloat.ts +5 -5
  144. package/src/internal/_isTypeInt32.ts +5 -5
  145. package/src/internal/_isTypeInt64.ts +5 -5
  146. package/src/internal/_isTypeUint32.ts +5 -5
  147. package/src/internal/_isTypeUint64.ts +5 -5
  148. package/src/internal/_isUniqueItems.ts +159 -159
  149. package/src/internal/_jsonStringifyNumber.ts +12 -12
  150. package/src/internal/_jsonStringifyRest.ts +3 -3
  151. package/src/internal/_jsonStringifyString.ts +42 -42
  152. package/src/internal/_jsonStringifyTail.ts +2 -2
  153. package/src/internal/_llmApplicationFinalize.ts +20 -20
  154. package/src/internal/_miscCloneAny.ts +46 -46
  155. package/src/internal/_notationAny.ts +37 -37
  156. package/src/internal/_notationCamel.ts +13 -13
  157. package/src/internal/_notationPascal.ts +8 -8
  158. package/src/internal/_notationSnake.ts +43 -43
  159. package/src/internal/_randomArray.ts +21 -21
  160. package/src/internal/_randomBigint.ts +6 -6
  161. package/src/internal/_randomBoolean.ts +1 -1
  162. package/src/internal/_randomFormatByte.ts +3 -3
  163. package/src/internal/_randomFormatDate.ts +18 -18
  164. package/src/internal/_randomFormatDatetime.ts +16 -16
  165. package/src/internal/_randomFormatDuration.ts +27 -27
  166. package/src/internal/_randomFormatEmail.ts +11 -11
  167. package/src/internal/_randomFormatHostname.ts +6 -6
  168. package/src/internal/_randomFormatIdnEmail.ts +3 -3
  169. package/src/internal/_randomFormatIdnHostname.ts +3 -3
  170. package/src/internal/_randomFormatIpv4.ts +11 -11
  171. package/src/internal/_randomFormatIpv6.ts +11 -11
  172. package/src/internal/_randomFormatIri.ts +3 -3
  173. package/src/internal/_randomFormatIriReference.ts +3 -3
  174. package/src/internal/_randomFormatJsonPointer.ts +7 -7
  175. package/src/internal/_randomFormatPassword.ts +8 -8
  176. package/src/internal/_randomFormatRegex.ts +4 -4
  177. package/src/internal/_randomFormatRelativeJsonPointer.ts +8 -8
  178. package/src/internal/_randomFormatTime.ts +14 -14
  179. package/src/internal/_randomFormatUri.ts +3 -3
  180. package/src/internal/_randomFormatUriReference.ts +3 -3
  181. package/src/internal/_randomFormatUriTemplate.ts +3 -3
  182. package/src/internal/_randomFormatUrl.ts +11 -11
  183. package/src/internal/_randomFormatUuid.ts +6 -6
  184. package/src/internal/_randomInteger.ts +53 -53
  185. package/src/internal/_randomNumber.ts +80 -80
  186. package/src/internal/_randomPattern.ts +10 -10
  187. package/src/internal/_randomPick.ts +9 -9
  188. package/src/internal/_randomString.ts +24 -24
  189. package/src/internal/_throwTypeGuardError.ts +5 -5
  190. package/src/internal/_validateReport.ts +13 -13
  191. package/src/internal/private/__notationCapitalize.ts +2 -2
  192. package/src/internal/private/__notationUnsnake.ts +24 -24
  193. package/src/json.ts +696 -696
  194. package/src/llm.ts +506 -506
  195. package/src/misc.ts +651 -651
  196. package/src/module.ts +936 -936
  197. package/src/notations.ts +820 -820
  198. package/src/programmers/AssertProgrammer.ts +454 -454
  199. package/src/programmers/CheckerProgrammer.ts +1617 -1617
  200. package/src/programmers/FeatureProgrammer.ts +627 -627
  201. package/src/programmers/ImportProgrammer.ts +185 -185
  202. package/src/programmers/IsProgrammer.ts +273 -273
  203. package/src/programmers/RandomProgrammer.ts +1190 -1190
  204. package/src/programmers/TypiaProgrammer.ts +175 -175
  205. package/src/programmers/ValidateProgrammer.ts +448 -448
  206. package/src/programmers/functional/FunctionalAssertFunctionProgrammer.ts +153 -153
  207. package/src/programmers/functional/FunctionalAssertParametersProgrammer.ts +125 -125
  208. package/src/programmers/functional/FunctionalAssertReturnProgrammer.ts +115 -115
  209. package/src/programmers/functional/FunctionalIsFunctionProgrammer.ts +72 -72
  210. package/src/programmers/functional/FunctionalIsParametersProgrammer.ts +113 -113
  211. package/src/programmers/functional/FunctionalIsReturnProgrammer.ts +116 -116
  212. package/src/programmers/functional/FunctionalValidateFunctionProgrammer.ts +119 -119
  213. package/src/programmers/functional/FunctionalValidateParametersProgrammer.ts +274 -274
  214. package/src/programmers/functional/FunctionalValidateReturnProgrammer.ts +135 -135
  215. package/src/programmers/functional/internal/FunctionalGeneralProgrammer.ts +34 -34
  216. package/src/programmers/helpers/AtomicPredicator.ts +35 -35
  217. package/src/programmers/helpers/CloneJoiner.ts +143 -143
  218. package/src/programmers/helpers/FunctionProgrammer.ts +67 -67
  219. package/src/programmers/helpers/HttpMetadataUtil.ts +21 -21
  220. package/src/programmers/helpers/ICheckEntry.ts +13 -13
  221. package/src/programmers/helpers/IExpressionEntry.ts +12 -12
  222. package/src/programmers/helpers/NotationJoiner.ts +144 -144
  223. package/src/programmers/helpers/OptionPredicator.ts +15 -15
  224. package/src/programmers/helpers/ProtobufUtil.ts +228 -228
  225. package/src/programmers/helpers/ProtobufWire.ts +34 -34
  226. package/src/programmers/helpers/PruneJoiner.ts +148 -148
  227. package/src/programmers/helpers/RandomJoiner.ts +168 -168
  228. package/src/programmers/helpers/StringifyJoinder.ts +115 -115
  229. package/src/programmers/helpers/StringifyPredicator.ts +13 -13
  230. package/src/programmers/helpers/UnionExplorer.ts +372 -372
  231. package/src/programmers/helpers/UnionPredicator.ts +79 -79
  232. package/src/programmers/helpers/disable_function_programmer_declare.ts +32 -32
  233. package/src/programmers/http/HttpAssertFormDataProgrammer.ts +99 -99
  234. package/src/programmers/http/HttpAssertHeadersProgrammer.ts +99 -99
  235. package/src/programmers/http/HttpAssertQueryProgrammer.ts +105 -105
  236. package/src/programmers/http/HttpFormDataProgrammer.ts +308 -308
  237. package/src/programmers/http/HttpHeadersProgrammer.ts +400 -400
  238. package/src/programmers/http/HttpIsFormDataProgrammer.ts +108 -108
  239. package/src/programmers/http/HttpIsHeadersProgrammer.ts +108 -108
  240. package/src/programmers/http/HttpIsQueryProgrammer.ts +114 -114
  241. package/src/programmers/http/HttpParameterProgrammer.ts +115 -115
  242. package/src/programmers/http/HttpQueryProgrammer.ts +336 -336
  243. package/src/programmers/http/HttpValidateFormDataProgrammer.ts +92 -92
  244. package/src/programmers/http/HttpValidateHeadersProgrammer.ts +92 -92
  245. package/src/programmers/http/HttpValidateQueryProgrammer.ts +98 -98
  246. package/src/programmers/internal/check_array_length.ts +47 -47
  247. package/src/programmers/internal/check_bigint.ts +50 -50
  248. package/src/programmers/internal/check_dynamic_key.ts +201 -201
  249. package/src/programmers/internal/check_dynamic_properties.ts +208 -208
  250. package/src/programmers/internal/check_everything.ts +23 -23
  251. package/src/programmers/internal/check_native.ts +27 -27
  252. package/src/programmers/internal/check_number.ts +112 -112
  253. package/src/programmers/internal/check_object.ts +75 -75
  254. package/src/programmers/internal/check_string.ts +50 -50
  255. package/src/programmers/internal/check_template.ts +48 -48
  256. package/src/programmers/internal/check_union_array_like.ts +335 -335
  257. package/src/programmers/internal/decode_union_object.ts +116 -116
  258. package/src/programmers/internal/feature_object_entries.ts +61 -61
  259. package/src/programmers/internal/json_schema_alias.ts +47 -47
  260. package/src/programmers/internal/json_schema_array.ts +45 -45
  261. package/src/programmers/internal/json_schema_bigint.ts +15 -15
  262. package/src/programmers/internal/json_schema_boolean.ts +15 -15
  263. package/src/programmers/internal/json_schema_constant.ts +26 -26
  264. package/src/programmers/internal/json_schema_description.ts +12 -12
  265. package/src/programmers/internal/json_schema_discriminator.ts +35 -35
  266. package/src/programmers/internal/json_schema_escaped.ts +82 -82
  267. package/src/programmers/internal/json_schema_native.ts +33 -33
  268. package/src/programmers/internal/json_schema_number.ts +15 -15
  269. package/src/programmers/internal/json_schema_object.ts +158 -158
  270. package/src/programmers/internal/json_schema_plugin.ts +18 -18
  271. package/src/programmers/internal/json_schema_station.ts +185 -185
  272. package/src/programmers/internal/json_schema_string.ts +15 -15
  273. package/src/programmers/internal/json_schema_template.ts +55 -55
  274. package/src/programmers/internal/json_schema_title.ts +13 -20
  275. package/src/programmers/internal/json_schema_tuple.ts +35 -35
  276. package/src/programmers/internal/metadata_to_pattern.ts +42 -42
  277. package/src/programmers/internal/postfix_of_tuple.ts +5 -5
  278. package/src/programmers/internal/prune_object_properties.ts +71 -71
  279. package/src/programmers/internal/stringify_dynamic_properties.ts +162 -162
  280. package/src/programmers/internal/stringify_native.ts +7 -7
  281. package/src/programmers/internal/stringify_regular_properties.ts +81 -81
  282. package/src/programmers/internal/template_to_pattern.ts +23 -23
  283. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +23 -23
  284. package/src/programmers/json/JsonApplicationProgrammer.ts +266 -266
  285. package/src/programmers/json/JsonAssertParseProgrammer.ts +113 -113
  286. package/src/programmers/json/JsonAssertStringifyProgrammer.ts +115 -115
  287. package/src/programmers/json/JsonIsParseProgrammer.ts +114 -114
  288. package/src/programmers/json/JsonIsStringifyProgrammer.ts +108 -108
  289. package/src/programmers/json/JsonSchemaProgrammer.ts +26 -26
  290. package/src/programmers/json/JsonSchemasProgrammer.ts +91 -91
  291. package/src/programmers/json/JsonStringifyProgrammer.ts +1124 -1124
  292. package/src/programmers/json/JsonValidateParseProgrammer.ts +105 -105
  293. package/src/programmers/json/JsonValidateStringifyProgrammer.ts +124 -124
  294. package/src/programmers/llm/LlmApplicationProgrammer.ts +401 -401
  295. package/src/programmers/llm/LlmModelPredicator.ts +127 -127
  296. package/src/programmers/llm/LlmParametersProgrammer.ts +93 -93
  297. package/src/programmers/llm/LlmSchemaProgrammer.ts +192 -192
  298. package/src/programmers/misc/MiscAssertCloneProgrammer.ts +95 -95
  299. package/src/programmers/misc/MiscAssertPruneProgrammer.ts +116 -116
  300. package/src/programmers/misc/MiscCloneProgrammer.ts +1032 -1032
  301. package/src/programmers/misc/MiscIsCloneProgrammer.ts +99 -99
  302. package/src/programmers/misc/MiscIsPruneProgrammer.ts +97 -97
  303. package/src/programmers/misc/MiscLiteralsProgrammer.ts +80 -80
  304. package/src/programmers/misc/MiscPruneProgrammer.ts +728 -728
  305. package/src/programmers/misc/MiscValidateCloneProgrammer.ts +111 -111
  306. package/src/programmers/misc/MiscValidatePruneProgrammer.ts +113 -113
  307. package/src/programmers/notations/NotationAssertGeneralProgrammer.ts +101 -101
  308. package/src/programmers/notations/NotationGeneralProgrammer.ts +984 -984
  309. package/src/programmers/notations/NotationIsGeneralProgrammer.ts +105 -105
  310. package/src/programmers/notations/NotationValidateGeneralProgrammer.ts +119 -119
  311. package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +98 -98
  312. package/src/programmers/protobuf/ProtobufAssertEncodeProgrammer.ts +102 -102
  313. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +654 -654
  314. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +945 -945
  315. package/src/programmers/protobuf/ProtobufIsDecodeProgrammer.ts +109 -109
  316. package/src/programmers/protobuf/ProtobufIsEncodeProgrammer.ts +98 -98
  317. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +179 -179
  318. package/src/programmers/protobuf/ProtobufValidateDecodeProgrammer.ts +92 -92
  319. package/src/programmers/protobuf/ProtobufValidateEncodeProgrammer.ts +119 -119
  320. package/src/protobuf.ts +861 -861
  321. package/src/reflect.ts +50 -50
  322. package/src/schemas/json/IJsonApplication.ts +77 -77
  323. package/src/schemas/json/IJsonSchemaCollection.ts +195 -29
  324. package/src/schemas/json/IJsonSchemaUnit.ts +250 -32
  325. package/src/schemas/json/__IJsonApplication.ts +63 -63
  326. package/src/schemas/metadata/IJsDocTagInfo.ts +10 -10
  327. package/src/schemas/metadata/IMetadata.ts +35 -35
  328. package/src/schemas/metadata/IMetadataAlias.ts +6 -6
  329. package/src/schemas/metadata/IMetadataAliasType.ts +12 -12
  330. package/src/schemas/metadata/IMetadataApplication.ts +7 -7
  331. package/src/schemas/metadata/IMetadataArray.ts +6 -6
  332. package/src/schemas/metadata/IMetadataArrayType.ts +10 -10
  333. package/src/schemas/metadata/IMetadataAtomic.ts +6 -6
  334. package/src/schemas/metadata/IMetadataComponents.ts +11 -11
  335. package/src/schemas/metadata/IMetadataConstant.ts +18 -18
  336. package/src/schemas/metadata/IMetadataConstantValue.ts +11 -11
  337. package/src/schemas/metadata/IMetadataDictionary.ts +11 -11
  338. package/src/schemas/metadata/IMetadataEscaped.ts +6 -6
  339. package/src/schemas/metadata/IMetadataFunction.ts +8 -8
  340. package/src/schemas/metadata/IMetadataMap.ts +8 -8
  341. package/src/schemas/metadata/IMetadataNative.ts +6 -6
  342. package/src/schemas/metadata/IMetadataObject.ts +6 -6
  343. package/src/schemas/metadata/IMetadataObjectType.ts +13 -13
  344. package/src/schemas/metadata/IMetadataParameter.ts +9 -9
  345. package/src/schemas/metadata/IMetadataProperty.ts +9 -9
  346. package/src/schemas/metadata/IMetadataSet.ts +7 -7
  347. package/src/schemas/metadata/IMetadataTemplate.ts +7 -7
  348. package/src/schemas/metadata/IMetadataTuple.ts +6 -6
  349. package/src/schemas/metadata/IMetadataTupleType.ts +10 -10
  350. package/src/schemas/metadata/IMetadataTypeTag.ts +16 -16
  351. package/src/schemas/metadata/Metadata.ts +687 -687
  352. package/src/schemas/metadata/MetadataAlias.ts +46 -46
  353. package/src/schemas/metadata/MetadataAliasType.ts +63 -63
  354. package/src/schemas/metadata/MetadataApplication.ts +44 -44
  355. package/src/schemas/metadata/MetadataArray.ts +49 -49
  356. package/src/schemas/metadata/MetadataArrayType.ts +57 -57
  357. package/src/schemas/metadata/MetadataAtomic.ts +87 -87
  358. package/src/schemas/metadata/MetadataComponents.ts +98 -98
  359. package/src/schemas/metadata/MetadataConstant.ts +34 -34
  360. package/src/schemas/metadata/MetadataConstantValue.ts +62 -62
  361. package/src/schemas/metadata/MetadataEscaped.ts +51 -51
  362. package/src/schemas/metadata/MetadataFunction.ts +49 -49
  363. package/src/schemas/metadata/MetadataMap.ts +48 -48
  364. package/src/schemas/metadata/MetadataNative.ts +44 -44
  365. package/src/schemas/metadata/MetadataObject.ts +48 -48
  366. package/src/schemas/metadata/MetadataObjectType.ts +149 -149
  367. package/src/schemas/metadata/MetadataParameter.ts +54 -54
  368. package/src/schemas/metadata/MetadataProperty.ts +59 -59
  369. package/src/schemas/metadata/MetadataSet.ts +45 -45
  370. package/src/schemas/metadata/MetadataTemplate.ts +80 -80
  371. package/src/schemas/metadata/MetadataTuple.ts +32 -32
  372. package/src/schemas/metadata/MetadataTupleType.ts +67 -67
  373. package/src/schemas/protobuf/IProtobufProperty.ts +6 -6
  374. package/src/schemas/protobuf/IProtobufPropertyType.ts +37 -37
  375. package/src/schemas/protobuf/IProtobufSchema.ts +50 -50
  376. package/src/tags/Constant.ts +15 -15
  377. package/src/tags/ContentMediaType.ts +10 -10
  378. package/src/tags/Default.ts +22 -22
  379. package/src/tags/Example.ts +24 -24
  380. package/src/tags/Examples.ts +16 -16
  381. package/src/tags/ExclusiveMaximum.ts +23 -23
  382. package/src/tags/ExclusiveMinimum.ts +23 -23
  383. package/src/tags/Format.ts +50 -50
  384. package/src/tags/JsonSchemaPlugin.ts +8 -8
  385. package/src/tags/MaxItems.ts +12 -12
  386. package/src/tags/MaxLength.ts +12 -12
  387. package/src/tags/Maximum.ts +19 -19
  388. package/src/tags/MinItems.ts +12 -12
  389. package/src/tags/MinLength.ts +12 -12
  390. package/src/tags/Minimum.ts +19 -19
  391. package/src/tags/MultipleOf.ts +21 -21
  392. package/src/tags/Pattern.ts +31 -31
  393. package/src/tags/Sequence.ts +10 -10
  394. package/src/tags/TagBase.ts +82 -82
  395. package/src/tags/Type.ts +37 -37
  396. package/src/tags/UniqueItems.ts +14 -14
  397. package/src/tags/index.ts +21 -21
  398. package/src/tags/internal/FormatCheatSheet.ts +73 -73
  399. package/src/transform.ts +35 -35
  400. package/src/transformers/CallExpressionTransformer.ts +554 -554
  401. package/src/transformers/FileTransformer.ts +136 -136
  402. package/src/transformers/IProgrammerProps.ts +11 -11
  403. package/src/transformers/ITransformOptions.ts +62 -62
  404. package/src/transformers/ITransformProps.ts +9 -9
  405. package/src/transformers/ITypiaContext.ts +18 -18
  406. package/src/transformers/ImportTransformer.ts +81 -81
  407. package/src/transformers/NoTransformConfigurationError.ts +18 -18
  408. package/src/transformers/NodeTransformer.ts +17 -17
  409. package/src/transformers/TransformerError.ts +60 -60
  410. package/src/transformers/features/AssertTransformer.ts +24 -24
  411. package/src/transformers/features/CreateAssertTransformer.ts +24 -24
  412. package/src/transformers/features/CreateIsTransformer.ts +18 -18
  413. package/src/transformers/features/CreateRandomTransformer.ts +43 -43
  414. package/src/transformers/features/CreateValidateTransformer.ts +18 -18
  415. package/src/transformers/features/IsTransformer.ts +18 -18
  416. package/src/transformers/features/RandomTransformer.ts +41 -41
  417. package/src/transformers/features/ValidateTransformer.ts +18 -18
  418. package/src/transformers/features/functional/FunctionalGenericTransformer.ts +57 -57
  419. package/src/transformers/features/http/CreateHttpAssertFormDataTransformer.ts +13 -13
  420. package/src/transformers/features/http/CreateHttpAssertHeadersTransformer.ts +13 -13
  421. package/src/transformers/features/http/CreateHttpAssertQueryTransformer.ts +13 -13
  422. package/src/transformers/features/http/CreateHttpFormDataTransformer.ts +13 -13
  423. package/src/transformers/features/http/CreateHttpHeadersTransformer.ts +13 -13
  424. package/src/transformers/features/http/CreateHttpIsFormDataTransformer.ts +13 -13
  425. package/src/transformers/features/http/CreateHttpIsHeadersTransformer.ts +13 -13
  426. package/src/transformers/features/http/CreateHttpIsQueryTransformer.ts +13 -13
  427. package/src/transformers/features/http/CreateHttpParameterTransformer.ts +13 -13
  428. package/src/transformers/features/http/CreateHttpQueryTransformer.ts +13 -13
  429. package/src/transformers/features/http/CreateHttpValidateFormDataTransformer.ts +13 -13
  430. package/src/transformers/features/http/CreateHttpValidateHeadersTransformer.ts +13 -13
  431. package/src/transformers/features/http/CreateHttpValidateQueryTransformer.ts +13 -13
  432. package/src/transformers/features/http/HttpAssertFormDataTransformer.ts +13 -13
  433. package/src/transformers/features/http/HttpAssertHeadersTransformer.ts +13 -13
  434. package/src/transformers/features/http/HttpAssertQueryTransformer.ts +13 -13
  435. package/src/transformers/features/http/HttpFormDataTransformer.ts +13 -13
  436. package/src/transformers/features/http/HttpHeadersTransformer.ts +13 -13
  437. package/src/transformers/features/http/HttpIsFormDataTransformer.ts +13 -13
  438. package/src/transformers/features/http/HttpIsHeadersTransformer.ts +13 -13
  439. package/src/transformers/features/http/HttpIsQueryTransformer.ts +13 -13
  440. package/src/transformers/features/http/HttpParameterTransformer.ts +13 -13
  441. package/src/transformers/features/http/HttpQueryTransformer.ts +13 -13
  442. package/src/transformers/features/http/HttpValidateFormDataTransformer.ts +13 -13
  443. package/src/transformers/features/http/HttpValidateHeadersTransformer.ts +13 -13
  444. package/src/transformers/features/http/HttpValidateQueryTransformer.ts +13 -13
  445. package/src/transformers/features/json/JsonApplicationTransformer.ts +105 -105
  446. package/src/transformers/features/json/JsonAssertParseTransformer.ts +13 -13
  447. package/src/transformers/features/json/JsonAssertStringifyTransformer.ts +13 -13
  448. package/src/transformers/features/json/JsonCreateAssertParseTransformer.ts +13 -13
  449. package/src/transformers/features/json/JsonCreateAssertStringifyTransformer.ts +13 -13
  450. package/src/transformers/features/json/JsonCreateIsParseTransformer.ts +13 -13
  451. package/src/transformers/features/json/JsonCreateIsStringifyTransformer.ts +13 -13
  452. package/src/transformers/features/json/JsonCreateStringifyTransformer.ts +13 -13
  453. package/src/transformers/features/json/JsonCreateValidateParseTransformer.ts +13 -13
  454. package/src/transformers/features/json/JsonCreateValidateStringifyProgrammer.ts +13 -13
  455. package/src/transformers/features/json/JsonIsParseTransformer.ts +13 -13
  456. package/src/transformers/features/json/JsonIsStringifyTransformer.ts +13 -13
  457. package/src/transformers/features/json/JsonSchemaTransformer.ts +135 -135
  458. package/src/transformers/features/json/JsonSchemasTransformer.ts +145 -145
  459. package/src/transformers/features/json/JsonStringifyTransformer.ts +13 -13
  460. package/src/transformers/features/json/JsonValidateParseTransformer.ts +13 -13
  461. package/src/transformers/features/json/JsonValidateStringifyTransformer.ts +13 -13
  462. package/src/transformers/features/llm/LlmApplicationTransformer.ts +145 -145
  463. package/src/transformers/features/llm/LlmControllerTransformer.ts +93 -93
  464. package/src/transformers/features/llm/LlmParametersTransformer.ts +102 -102
  465. package/src/transformers/features/llm/LlmSchemaTransformer.ts +170 -170
  466. package/src/transformers/features/misc/MiscAssertCloneTransformer.ts +13 -13
  467. package/src/transformers/features/misc/MiscAssertPruneTransformer.ts +13 -13
  468. package/src/transformers/features/misc/MiscCloneTransformer.ts +13 -13
  469. package/src/transformers/features/misc/MiscCreateAssertCloneTransformer.ts +13 -13
  470. package/src/transformers/features/misc/MiscCreateAssertPruneTransformer.ts +13 -13
  471. package/src/transformers/features/misc/MiscCreateCloneTransformer.ts +13 -13
  472. package/src/transformers/features/misc/MiscCreateIsCloneTransformer.ts +13 -13
  473. package/src/transformers/features/misc/MiscCreateIsPruneTransformer.ts +13 -13
  474. package/src/transformers/features/misc/MiscCreatePruneTransformer.ts +13 -13
  475. package/src/transformers/features/misc/MiscCreateValidateCloneTransformer.ts +13 -13
  476. package/src/transformers/features/misc/MiscCreateValidatePruneTransformer.ts +13 -13
  477. package/src/transformers/features/misc/MiscIsCloneTransformer.ts +13 -13
  478. package/src/transformers/features/misc/MiscIsPruneTransformer.ts +13 -13
  479. package/src/transformers/features/misc/MiscLiteralsTransformer.ts +35 -35
  480. package/src/transformers/features/misc/MiscPruneTransformer.ts +13 -13
  481. package/src/transformers/features/misc/MiscValidateCloneTransformer.ts +13 -13
  482. package/src/transformers/features/misc/MiscValidatePruneTransformer.ts +13 -13
  483. package/src/transformers/features/notations/NotationAssertGeneralTransformer.ts +20 -20
  484. package/src/transformers/features/notations/NotationCreateAssertGeneralTransformer.ts +20 -20
  485. package/src/transformers/features/notations/NotationCreateGeneralTransformer.ts +20 -20
  486. package/src/transformers/features/notations/NotationCreateIsGeneralTransformer.ts +20 -20
  487. package/src/transformers/features/notations/NotationCreateValidateGeneralTransformer.ts +20 -20
  488. package/src/transformers/features/notations/NotationGeneralTransformer.ts +18 -18
  489. package/src/transformers/features/notations/NotationIsGeneralTransformer.ts +20 -20
  490. package/src/transformers/features/notations/NotationValidateGeneralTransformer.ts +20 -20
  491. package/src/transformers/features/protobuf/ProtobufAssertDecodeTransformer.ts +13 -13
  492. package/src/transformers/features/protobuf/ProtobufAssertEncodeTransformer.ts +13 -13
  493. package/src/transformers/features/protobuf/ProtobufCreateAssertDecodeTransformer.ts +13 -13
  494. package/src/transformers/features/protobuf/ProtobufCreateAssertEncodeTransformer.ts +13 -13
  495. package/src/transformers/features/protobuf/ProtobufCreateDecodeTransformer.ts +13 -13
  496. package/src/transformers/features/protobuf/ProtobufCreateEncodeTransformer.ts +13 -13
  497. package/src/transformers/features/protobuf/ProtobufCreateIsDecodeTransformer.ts +13 -13
  498. package/src/transformers/features/protobuf/ProtobufCreateIsEncodeTransformer.ts +13 -13
  499. package/src/transformers/features/protobuf/ProtobufCreateValidateDecodeTransformer.ts +13 -13
  500. package/src/transformers/features/protobuf/ProtobufCreateValidateEncodeTransformer.ts +13 -13
  501. package/src/transformers/features/protobuf/ProtobufDecodeTransformer.ts +13 -13
  502. package/src/transformers/features/protobuf/ProtobufEncodeTransformer.ts +13 -13
  503. package/src/transformers/features/protobuf/ProtobufIsDecodeTransformer.ts +13 -13
  504. package/src/transformers/features/protobuf/ProtobufIsEncodeTransformer.ts +13 -13
  505. package/src/transformers/features/protobuf/ProtobufMessageTransformer.ts +35 -35
  506. package/src/transformers/features/protobuf/ProtobufValidateDecodeTransformer.ts +13 -13
  507. package/src/transformers/features/protobuf/ProtobufValidateEncodeTransformer.ts +13 -13
  508. package/src/transformers/features/reflect/ReflectMetadataTransformer.ts +69 -69
  509. package/src/transformers/features/reflect/ReflectNameTransformer.ts +82 -82
  510. package/src/transformers/internal/GenericTransformer.ts +101 -101
  511. package/src/typings/Atomic.ts +13 -13
  512. package/src/typings/ClassProperties.ts +5 -5
  513. package/src/typings/Customizable.ts +5 -5
  514. package/src/typings/Equal.ts +18 -18
  515. package/src/typings/IsTuple.ts +9 -9
  516. package/src/typings/NativeClass.ts +23 -23
  517. package/src/typings/OmitNever.ts +3 -3
  518. package/src/typings/ProtobufAtomic.ts +19 -19
  519. package/src/typings/SpecialFields.ts +3 -3
  520. package/src/typings/ValidationPipe.ts +9 -9
  521. package/src/typings/ValueOf.ts +20 -20
  522. package/src/typings/Writable.ts +11 -11
  523. package/src/utils/ArrayUtil.ts +41 -41
  524. package/src/utils/Escaper.ts +50 -50
  525. package/src/utils/MapUtil.ts +14 -14
  526. package/src/utils/NamingConvention.ts +94 -94
  527. package/src/utils/PatternUtil.ts +29 -29
  528. package/src/utils/ProtobufNameEncoder.ts +32 -32
  529. package/src/utils/Singleton.ts +16 -16
  530. package/src/utils/StringUtil.ts +16 -16
@@ -1,13 +1,13 @@
1
- import { TypeGuardError } from "../TypeGuardError";
2
-
3
- export const _assertGuard = (
4
- exceptionable: boolean,
5
- props: TypeGuardError.IProps,
6
- factory?: (props: TypeGuardError.IProps) => Error,
7
- ): false => {
8
- if (exceptionable === true) {
9
- if (factory) throw factory(props);
10
- else throw new TypeGuardError(props);
11
- }
12
- return false;
13
- };
1
+ import { TypeGuardError } from "../TypeGuardError";
2
+
3
+ export const _assertGuard = (
4
+ exceptionable: boolean,
5
+ props: TypeGuardError.IProps,
6
+ factory?: (props: TypeGuardError.IProps) => Error,
7
+ ): false => {
8
+ if (exceptionable === true) {
9
+ if (factory) throw factory(props);
10
+ else throw new TypeGuardError(props);
11
+ }
12
+ return false;
13
+ };
@@ -1,134 +1,134 @@
1
- import { StandardSchemaV1 } from "@standard-schema/spec";
2
-
3
- import { IValidation } from "../IValidation";
4
-
5
- export const _createStandardSchema = <T>(
6
- fn: (input: unknown) => IValidation<T>,
7
- ): ((input: unknown) => IValidation<T>) & StandardSchemaV1<unknown, T> =>
8
- Object.assign(fn, {
9
- "~standard": {
10
- version: 1,
11
- vendor: "typia",
12
- validate: (input: unknown): StandardSchemaV1.Result<T> => {
13
- const result = fn(input);
14
- if (result.success) {
15
- return {
16
- value: result.data,
17
- } satisfies StandardSchemaV1.SuccessResult<T>;
18
- } else {
19
- return {
20
- issues: result.errors.map((error) => ({
21
- message: `expected ${error.expected}, got ${error.value}`,
22
- path: typiaPathToStandardSchemaPath(error.path),
23
- })),
24
- } satisfies StandardSchemaV1.FailureResult;
25
- }
26
- },
27
- },
28
- } satisfies StandardSchemaV1<unknown, T>);
29
-
30
- enum PathParserState {
31
- // Start of a new segment
32
- // When the parser is in this state,
33
- // the pointer must point `.` or `[` or equal to length of the path
34
- Start,
35
- // Parsing a property key (`.hoge`)
36
- Property,
37
- // Parsing a string key (`["fuga"]`)
38
- StringKey,
39
- // Parsing a number key (`[42]`)
40
- NumberKey,
41
- }
42
-
43
- const typiaPathToStandardSchemaPath = (
44
- path: string,
45
- ): ReadonlyArray<StandardSchemaV1.PathSegment> => {
46
- if (!path.startsWith("$input")) {
47
- throw new Error(`Invalid path: ${JSON.stringify(path)}`);
48
- }
49
-
50
- const segments: StandardSchemaV1.PathSegment[] = [];
51
- let currentSegment = "";
52
- let state: PathParserState = PathParserState.Start;
53
- let index = "$input".length - 1;
54
- while (index < path.length - 1) {
55
- index++;
56
- const char = path[index];
57
-
58
- if (state === PathParserState.Property) {
59
- if (char === "." || char === "[") {
60
- // End of property
61
- segments.push({
62
- key: currentSegment,
63
- });
64
- state = PathParserState.Start;
65
- } else if (index === path.length - 1) {
66
- // End of path
67
- currentSegment += char;
68
- segments.push({
69
- key: currentSegment,
70
- });
71
- index++;
72
- state = PathParserState.Start;
73
- } else {
74
- currentSegment += char;
75
- }
76
- } else if (state === PathParserState.StringKey) {
77
- if (char === '"') {
78
- // End of string key
79
- segments.push({
80
- key: JSON.parse(currentSegment + char),
81
- });
82
- // Skip `"` and `]`
83
- index += 2;
84
- state = PathParserState.Start;
85
- } else if (char === "\\") {
86
- // Skip the next character from parsing
87
- currentSegment += path[index];
88
- index++;
89
- currentSegment += path[index];
90
- } else {
91
- currentSegment += char;
92
- }
93
- } else if (state === PathParserState.NumberKey) {
94
- if (char === "]") {
95
- // End of number key
96
- segments.push({
97
- key: Number.parseInt(currentSegment),
98
- });
99
- index++;
100
- state = PathParserState.Start;
101
- } else {
102
- currentSegment += char;
103
- }
104
- }
105
-
106
- if (state === PathParserState.Start && index < path.length - 1) {
107
- const newChar = path[index];
108
- currentSegment = "";
109
- if (newChar === "[") {
110
- if (path[index + 1] === '"') {
111
- // Start of string key
112
- // NOTE: Typia uses JSON.stringify for this kind of keys, so `'` will not used as a string delimiter
113
- state = PathParserState.StringKey;
114
- index++;
115
- currentSegment = '"';
116
- } else {
117
- // Start of number key
118
- state = PathParserState.NumberKey;
119
- }
120
- } else if (newChar === ".") {
121
- // Start of property
122
- state = PathParserState.Property;
123
- } else {
124
- throw new Error("Unreachable: pointer points invalid character");
125
- }
126
- }
127
- }
128
-
129
- if (state !== PathParserState.Start) {
130
- throw new Error(`Failed to parse path: ${JSON.stringify(path)}`);
131
- }
132
-
133
- return segments;
134
- };
1
+ import { StandardSchemaV1 } from "@standard-schema/spec";
2
+
3
+ import { IValidation } from "../IValidation";
4
+
5
+ export const _createStandardSchema = <T>(
6
+ fn: (input: unknown) => IValidation<T>,
7
+ ): ((input: unknown) => IValidation<T>) & StandardSchemaV1<unknown, T> =>
8
+ Object.assign(fn, {
9
+ "~standard": {
10
+ version: 1,
11
+ vendor: "typia",
12
+ validate: (input: unknown): StandardSchemaV1.Result<T> => {
13
+ const result = fn(input);
14
+ if (result.success) {
15
+ return {
16
+ value: result.data,
17
+ } satisfies StandardSchemaV1.SuccessResult<T>;
18
+ } else {
19
+ return {
20
+ issues: result.errors.map((error) => ({
21
+ message: `expected ${error.expected}, got ${error.value}`,
22
+ path: typiaPathToStandardSchemaPath(error.path),
23
+ })),
24
+ } satisfies StandardSchemaV1.FailureResult;
25
+ }
26
+ },
27
+ },
28
+ } satisfies StandardSchemaV1<unknown, T>);
29
+
30
+ enum PathParserState {
31
+ // Start of a new segment
32
+ // When the parser is in this state,
33
+ // the pointer must point `.` or `[` or equal to length of the path
34
+ Start,
35
+ // Parsing a property key (`.hoge`)
36
+ Property,
37
+ // Parsing a string key (`["fuga"]`)
38
+ StringKey,
39
+ // Parsing a number key (`[42]`)
40
+ NumberKey,
41
+ }
42
+
43
+ const typiaPathToStandardSchemaPath = (
44
+ path: string,
45
+ ): ReadonlyArray<StandardSchemaV1.PathSegment> => {
46
+ if (!path.startsWith("$input")) {
47
+ throw new Error(`Invalid path: ${JSON.stringify(path)}`);
48
+ }
49
+
50
+ const segments: StandardSchemaV1.PathSegment[] = [];
51
+ let currentSegment = "";
52
+ let state: PathParserState = PathParserState.Start;
53
+ let index = "$input".length - 1;
54
+ while (index < path.length - 1) {
55
+ index++;
56
+ const char = path[index];
57
+
58
+ if (state === PathParserState.Property) {
59
+ if (char === "." || char === "[") {
60
+ // End of property
61
+ segments.push({
62
+ key: currentSegment,
63
+ });
64
+ state = PathParserState.Start;
65
+ } else if (index === path.length - 1) {
66
+ // End of path
67
+ currentSegment += char;
68
+ segments.push({
69
+ key: currentSegment,
70
+ });
71
+ index++;
72
+ state = PathParserState.Start;
73
+ } else {
74
+ currentSegment += char;
75
+ }
76
+ } else if (state === PathParserState.StringKey) {
77
+ if (char === '"') {
78
+ // End of string key
79
+ segments.push({
80
+ key: JSON.parse(currentSegment + char),
81
+ });
82
+ // Skip `"` and `]`
83
+ index += 2;
84
+ state = PathParserState.Start;
85
+ } else if (char === "\\") {
86
+ // Skip the next character from parsing
87
+ currentSegment += path[index];
88
+ index++;
89
+ currentSegment += path[index];
90
+ } else {
91
+ currentSegment += char;
92
+ }
93
+ } else if (state === PathParserState.NumberKey) {
94
+ if (char === "]") {
95
+ // End of number key
96
+ segments.push({
97
+ key: Number.parseInt(currentSegment),
98
+ });
99
+ index++;
100
+ state = PathParserState.Start;
101
+ } else {
102
+ currentSegment += char;
103
+ }
104
+ }
105
+
106
+ if (state === PathParserState.Start && index < path.length - 1) {
107
+ const newChar = path[index];
108
+ currentSegment = "";
109
+ if (newChar === "[") {
110
+ if (path[index + 1] === '"') {
111
+ // Start of string key
112
+ // NOTE: Typia uses JSON.stringify for this kind of keys, so `'` will not used as a string delimiter
113
+ state = PathParserState.StringKey;
114
+ index++;
115
+ currentSegment = '"';
116
+ } else {
117
+ // Start of number key
118
+ state = PathParserState.NumberKey;
119
+ }
120
+ } else if (newChar === ".") {
121
+ // Start of property
122
+ state = PathParserState.Property;
123
+ } else {
124
+ throw new Error("Unreachable: pointer points invalid character");
125
+ }
126
+ }
127
+ }
128
+
129
+ if (state !== PathParserState.Start) {
130
+ throw new Error(`Failed to parse path: ${JSON.stringify(path)}`);
131
+ }
132
+
133
+ return segments;
134
+ };
@@ -1,4 +1,4 @@
1
- import { TypeGuardError } from "../TypeGuardError";
2
-
3
- export const _functionalTypeGuardErrorFactory = (p: TypeGuardError.IProps) =>
4
- new TypeGuardError(p);
1
+ import { TypeGuardError } from "../TypeGuardError";
2
+
3
+ export const _functionalTypeGuardErrorFactory = (p: TypeGuardError.IProps) =>
4
+ new TypeGuardError(p);
@@ -1,4 +1,4 @@
1
- export const _httpFormDataReadArray = (
2
- input: any[],
3
- alternative: null | undefined,
4
- ) => (input.length ? input : alternative);
1
+ export const _httpFormDataReadArray = (
2
+ input: any[],
3
+ alternative: null | undefined,
4
+ ) => (input.length ? input : alternative);
@@ -1,18 +1,18 @@
1
- export const _httpFormDataReadBigint = (
2
- input: string | File | null,
3
- ): bigint | null | undefined =>
4
- input instanceof File
5
- ? (input as any)
6
- : !!input?.length
7
- ? input === "null"
8
- ? null
9
- : (toBigint(input) as any)
10
- : undefined;
11
-
12
- const toBigint = (str: string): bigint | string => {
13
- try {
14
- return BigInt(str);
15
- } catch {
16
- return str;
17
- }
18
- };
1
+ export const _httpFormDataReadBigint = (
2
+ input: string | File | null,
3
+ ): bigint | null | undefined =>
4
+ input instanceof File
5
+ ? (input as any)
6
+ : !!input?.length
7
+ ? input === "null"
8
+ ? null
9
+ : (toBigint(input) as any)
10
+ : undefined;
11
+
12
+ const toBigint = (str: string): bigint | string => {
13
+ try {
14
+ return BigInt(str);
15
+ } catch {
16
+ return str;
17
+ }
18
+ };
@@ -1,10 +1,10 @@
1
- export const _httpFormDataReadBlob = (
2
- input: string | Blob | null,
3
- ): Blob | null | undefined =>
4
- input instanceof Blob
5
- ? input
6
- : input === null
7
- ? undefined
8
- : input === "null"
9
- ? null
10
- : (input as any);
1
+ export const _httpFormDataReadBlob = (
2
+ input: string | Blob | null,
3
+ ): Blob | null | undefined =>
4
+ input instanceof Blob
5
+ ? input
6
+ : input === null
7
+ ? undefined
8
+ : input === "null"
9
+ ? null
10
+ : (input as any);
@@ -1,16 +1,16 @@
1
- export const _httpFormDataReadBoolean = (
2
- input: string | File | null,
3
- ): boolean | null | undefined =>
4
- input instanceof File
5
- ? (input as any)
6
- : input === null
7
- ? undefined
8
- : input === "null"
9
- ? null
10
- : input.length === 0
11
- ? true
12
- : input === "true" || input === "1"
13
- ? true
14
- : input === "false" || input === "0"
15
- ? false
16
- : (input as any); // wrong type
1
+ export const _httpFormDataReadBoolean = (
2
+ input: string | File | null,
3
+ ): boolean | null | undefined =>
4
+ input instanceof File
5
+ ? (input as any)
6
+ : input === null
7
+ ? undefined
8
+ : input === "null"
9
+ ? null
10
+ : input.length === 0
11
+ ? true
12
+ : input === "true" || input === "1"
13
+ ? true
14
+ : input === "false" || input === "0"
15
+ ? false
16
+ : (input as any); // wrong type
@@ -1,10 +1,10 @@
1
- export const _httpFormDataReadFile = (
2
- input: string | File | null,
3
- ): File | null | undefined =>
4
- input instanceof File
5
- ? input
6
- : input === null
7
- ? undefined
8
- : input === "null"
9
- ? null
10
- : (input as any);
1
+ export const _httpFormDataReadFile = (
2
+ input: string | File | null,
3
+ ): File | null | undefined =>
4
+ input instanceof File
5
+ ? input
6
+ : input === null
7
+ ? undefined
8
+ : input === "null"
9
+ ? null
10
+ : (input as any);
@@ -1,15 +1,15 @@
1
- export const _httpFormDataReadNumber = (
2
- input: string | File | null,
3
- ): number | null | undefined =>
4
- input instanceof File
5
- ? (input as any)
6
- : !!input?.length
7
- ? input === "null"
8
- ? null
9
- : (toNumber(input) as any)
10
- : undefined;
11
-
12
- const toNumber = (str: string): number | string => {
13
- const value: number = Number(str);
14
- return isNaN(value) ? str : value;
15
- };
1
+ export const _httpFormDataReadNumber = (
2
+ input: string | File | null,
3
+ ): number | null | undefined =>
4
+ input instanceof File
5
+ ? (input as any)
6
+ : !!input?.length
7
+ ? input === "null"
8
+ ? null
9
+ : (toNumber(input) as any)
10
+ : undefined;
11
+
12
+ const toNumber = (str: string): number | string => {
13
+ const value: number = Number(str);
14
+ return isNaN(value) ? str : value;
15
+ };
@@ -1,10 +1,10 @@
1
- export const _httpFormDataReadString = (
2
- input: string | File | null,
3
- ): string | null | undefined =>
4
- input instanceof File
5
- ? (input as any)
6
- : input === null
7
- ? undefined
8
- : input === "null"
9
- ? null
10
- : input;
1
+ export const _httpFormDataReadString = (
2
+ input: string | File | null,
3
+ ): string | null | undefined =>
4
+ input instanceof File
5
+ ? (input as any)
6
+ : input === null
7
+ ? undefined
8
+ : input === "null"
9
+ ? null
10
+ : input;
@@ -1,10 +1,10 @@
1
- export const _httpHeaderReadBigint = (value: string | undefined) =>
2
- value !== undefined ? toBigint(value) : undefined;
3
-
4
- const toBigint = (str: string): bigint | string => {
5
- try {
6
- return BigInt(str);
7
- } catch {
8
- return str;
9
- }
10
- };
1
+ export const _httpHeaderReadBigint = (value: string | undefined) =>
2
+ value !== undefined ? toBigint(value) : undefined;
3
+
4
+ const toBigint = (str: string): bigint | string => {
5
+ try {
6
+ return BigInt(str);
7
+ } catch {
8
+ return str;
9
+ }
10
+ };
@@ -1,8 +1,8 @@
1
- export const _httpHeaderReadBoolean = (value: string | undefined) =>
2
- value !== undefined
3
- ? value === "true"
4
- ? true
5
- : value === "false"
6
- ? false
7
- : value
8
- : undefined;
1
+ export const _httpHeaderReadBoolean = (value: string | undefined) =>
2
+ value !== undefined
3
+ ? value === "true"
4
+ ? true
5
+ : value === "false"
6
+ ? false
7
+ : value
8
+ : undefined;
@@ -1,7 +1,7 @@
1
- export const _httpHeaderReadNumber = (value: string | undefined) =>
2
- value !== undefined ? toNumber(value) : undefined;
3
-
4
- const toNumber = (str: string): number | string => {
5
- const value: number = Number(str);
6
- return isNaN(value) ? str : value;
7
- };
1
+ export const _httpHeaderReadNumber = (value: string | undefined) =>
2
+ value !== undefined ? toNumber(value) : undefined;
3
+
4
+ const toNumber = (str: string): number | string => {
5
+ const value: number = Number(str);
6
+ return isNaN(value) ? str : value;
7
+ };
@@ -1,10 +1,10 @@
1
- export const _httpParameterReadBigint = (value: string) =>
2
- value !== "null" ? toBigint(value) : null;
3
-
4
- const toBigint = (str: string): bigint | string => {
5
- try {
6
- return BigInt(str);
7
- } catch {
8
- return str;
9
- }
10
- };
1
+ export const _httpParameterReadBigint = (value: string) =>
2
+ value !== "null" ? toBigint(value) : null;
3
+
4
+ const toBigint = (str: string): bigint | string => {
5
+ try {
6
+ return BigInt(str);
7
+ } catch {
8
+ return str;
9
+ }
10
+ };
@@ -1,8 +1,8 @@
1
- export const _httpParameterReadBoolean = (value: string) =>
2
- value !== "null"
3
- ? value === "true" || value === "1"
4
- ? true
5
- : value === "false" || value === "0"
6
- ? false
7
- : value
8
- : null;
1
+ export const _httpParameterReadBoolean = (value: string) =>
2
+ value !== "null"
3
+ ? value === "true" || value === "1"
4
+ ? true
5
+ : value === "false" || value === "0"
6
+ ? false
7
+ : value
8
+ : null;
@@ -1,7 +1,7 @@
1
- export const _httpParameterReadNumber = (value: string) =>
2
- value !== "null" ? toNumber(value) : null;
3
-
4
- const toNumber = (str: string): number | string => {
5
- const value: number = Number(str);
6
- return isNaN(value) ? str : value;
7
- };
1
+ export const _httpParameterReadNumber = (value: string) =>
2
+ value !== "null" ? toNumber(value) : null;
3
+
4
+ const toNumber = (str: string): number | string => {
5
+ const value: number = Number(str);
6
+ return isNaN(value) ? str : value;
7
+ };
@@ -1,2 +1,2 @@
1
- export const _httpParameterReadString = (value: string) =>
2
- value !== "null" ? value : null;
1
+ export const _httpParameterReadString = (value: string) =>
2
+ value !== "null" ? value : null;
@@ -1,12 +1,12 @@
1
- import { IReadableURLSearchParams } from "../IReadableURLSearchParams";
2
-
3
- export const _httpQueryParseURLSearchParams = (
4
- input: string | IReadableURLSearchParams,
5
- ): IReadableURLSearchParams => {
6
- if (typeof input === "string") {
7
- const index: number = input.indexOf("?");
8
- input = index === -1 ? "" : input.substring(index + 1);
9
- return new URLSearchParams(input);
10
- }
11
- return input;
12
- };
1
+ import { IReadableURLSearchParams } from "../IReadableURLSearchParams";
2
+
3
+ export const _httpQueryParseURLSearchParams = (
4
+ input: string | IReadableURLSearchParams,
5
+ ): IReadableURLSearchParams => {
6
+ if (typeof input === "string") {
7
+ const index: number = input.indexOf("?");
8
+ input = index === -1 ? "" : input.substring(index + 1);
9
+ return new URLSearchParams(input);
10
+ }
11
+ return input;
12
+ };
@@ -1,4 +1,4 @@
1
- export const _httpQueryReadArray = (
2
- input: any[],
3
- alternative: null | undefined,
4
- ) => (input.length ? input : alternative);
1
+ export const _httpQueryReadArray = (
2
+ input: any[],
3
+ alternative: null | undefined,
4
+ ) => (input.length ? input : alternative);
@@ -1,12 +1,12 @@
1
- export const _httpQueryReadBigint = (
2
- str: string | null,
3
- ): bigint | null | undefined =>
4
- !!str?.length ? (str === "null" ? null : (toBigint(str) as any)) : undefined;
5
-
6
- const toBigint = (str: string): bigint | string => {
7
- try {
8
- return BigInt(str);
9
- } catch {
10
- return str;
11
- }
12
- };
1
+ export const _httpQueryReadBigint = (
2
+ str: string | null,
3
+ ): bigint | null | undefined =>
4
+ !!str?.length ? (str === "null" ? null : (toBigint(str) as any)) : undefined;
5
+
6
+ const toBigint = (str: string): bigint | string => {
7
+ try {
8
+ return BigInt(str);
9
+ } catch {
10
+ return str;
11
+ }
12
+ };