typia 7.0.0-dev.20241111-2 → 7.0.0-dev.20241114

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 (890) hide show
  1. package/lib/TypeGuardError.js +12 -31
  2. package/lib/TypeGuardError.js.map +1 -1
  3. package/lib/executable/TypiaGenerateWizard.js +52 -159
  4. package/lib/executable/TypiaGenerateWizard.js.map +1 -1
  5. package/lib/executable/TypiaPatchWizard.js +26 -78
  6. package/lib/executable/TypiaPatchWizard.js.map +1 -1
  7. package/lib/executable/TypiaSetupWizard.js +115 -250
  8. package/lib/executable/TypiaSetupWizard.js.map +1 -1
  9. package/lib/executable/setup/ArgumentParser.js +16 -60
  10. package/lib/executable/setup/ArgumentParser.js.map +1 -1
  11. package/lib/executable/setup/CommandExecutor.js +3 -3
  12. package/lib/executable/setup/CommandExecutor.js.map +1 -1
  13. package/lib/executable/setup/FileRetriever.js +4 -4
  14. package/lib/executable/setup/FileRetriever.js.map +1 -1
  15. package/lib/executable/setup/PackageManager.js +41 -97
  16. package/lib/executable/setup/PackageManager.js.map +1 -1
  17. package/lib/executable/setup/PluginConfigurator.js +36 -72
  18. package/lib/executable/setup/PluginConfigurator.js.map +1 -1
  19. package/lib/executable/typia.js +48 -95
  20. package/lib/executable/typia.js.map +1 -1
  21. package/lib/factories/CommentFactory.js +41 -103
  22. package/lib/factories/CommentFactory.js.map +1 -1
  23. package/lib/factories/ExpressionFactory.d.ts +6 -1
  24. package/lib/factories/ExpressionFactory.js +72 -65
  25. package/lib/factories/ExpressionFactory.js.map +1 -1
  26. package/lib/factories/IdentifierFactory.js +16 -20
  27. package/lib/factories/IdentifierFactory.js.map +1 -1
  28. package/lib/factories/JsonMetadataFactory.js +19 -44
  29. package/lib/factories/JsonMetadataFactory.js.map +1 -1
  30. package/lib/factories/LiteralFactory.js +12 -43
  31. package/lib/factories/LiteralFactory.js.map +1 -1
  32. package/lib/factories/MetadataCollection.js +96 -171
  33. package/lib/factories/MetadataCollection.js.map +1 -1
  34. package/lib/factories/MetadataCommentTagFactory.js +264 -383
  35. package/lib/factories/MetadataCommentTagFactory.js.map +1 -1
  36. package/lib/factories/MetadataFactory.js +81 -273
  37. package/lib/factories/MetadataFactory.js.map +1 -1
  38. package/lib/factories/MetadataTypeTagFactory.js +116 -188
  39. package/lib/factories/MetadataTypeTagFactory.js.map +1 -1
  40. package/lib/factories/MetadataTypeTagSchemaFactory.js +30 -54
  41. package/lib/factories/MetadataTypeTagSchemaFactory.js.map +1 -1
  42. package/lib/factories/NumericRangeFactory.js +14 -30
  43. package/lib/factories/NumericRangeFactory.js.map +1 -1
  44. package/lib/factories/ProtobufFactory.js +432 -1111
  45. package/lib/factories/ProtobufFactory.js.map +1 -1
  46. package/lib/factories/StatementFactory.js +24 -34
  47. package/lib/factories/StatementFactory.js.map +1 -1
  48. package/lib/factories/TemplateFactory.js +18 -20
  49. package/lib/factories/TemplateFactory.js.map +1 -1
  50. package/lib/factories/TypeFactory.js +32 -40
  51. package/lib/factories/TypeFactory.js.map +1 -1
  52. package/lib/factories/ValueFactory.js +6 -13
  53. package/lib/factories/ValueFactory.js.map +1 -1
  54. package/lib/factories/internal/metadata/MetadataHelper.js +5 -5
  55. package/lib/factories/internal/metadata/MetadataHelper.js.map +1 -1
  56. package/lib/factories/internal/metadata/emend_metadata_atomics.js +14 -41
  57. package/lib/factories/internal/metadata/emend_metadata_atomics.js.map +1 -1
  58. package/lib/factories/internal/metadata/emplace_metadata_alias.js +5 -32
  59. package/lib/factories/internal/metadata/emplace_metadata_alias.js.map +1 -1
  60. package/lib/factories/internal/metadata/emplace_metadata_array_type.js +5 -32
  61. package/lib/factories/internal/metadata/emplace_metadata_array_type.js.map +1 -1
  62. package/lib/factories/internal/metadata/emplace_metadata_object.js +100 -172
  63. package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -1
  64. package/lib/factories/internal/metadata/emplace_metadata_tuple.js +13 -40
  65. package/lib/factories/internal/metadata/emplace_metadata_tuple.js.map +1 -1
  66. package/lib/factories/internal/metadata/explore_metadata.js +6 -17
  67. package/lib/factories/internal/metadata/explore_metadata.js.map +1 -1
  68. package/lib/factories/internal/metadata/iterate_metadata.js +18 -29
  69. package/lib/factories/internal/metadata/iterate_metadata.js.map +1 -1
  70. package/lib/factories/internal/metadata/iterate_metadata_alias.js +10 -12
  71. package/lib/factories/internal/metadata/iterate_metadata_alias.js.map +1 -1
  72. package/lib/factories/internal/metadata/iterate_metadata_array.js +18 -52
  73. package/lib/factories/internal/metadata/iterate_metadata_array.js.map +1 -1
  74. package/lib/factories/internal/metadata/iterate_metadata_atomic.js +12 -12
  75. package/lib/factories/internal/metadata/iterate_metadata_atomic.js.map +1 -1
  76. package/lib/factories/internal/metadata/iterate_metadata_coalesce.js +4 -4
  77. package/lib/factories/internal/metadata/iterate_metadata_coalesce.js.map +1 -1
  78. package/lib/factories/internal/metadata/iterate_metadata_collection.js +47 -120
  79. package/lib/factories/internal/metadata/iterate_metadata_collection.js.map +1 -1
  80. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.js +20 -42
  81. package/lib/factories/internal/metadata/iterate_metadata_comment_tags.js.map +1 -1
  82. package/lib/factories/internal/metadata/iterate_metadata_constant.js +21 -36
  83. package/lib/factories/internal/metadata/iterate_metadata_constant.js.map +1 -1
  84. package/lib/factories/internal/metadata/iterate_metadata_escape.js +9 -20
  85. package/lib/factories/internal/metadata/iterate_metadata_escape.js.map +1 -1
  86. package/lib/factories/internal/metadata/iterate_metadata_function.js +18 -45
  87. package/lib/factories/internal/metadata/iterate_metadata_function.js.map +1 -1
  88. package/lib/factories/internal/metadata/iterate_metadata_intersection.js +94 -262
  89. package/lib/factories/internal/metadata/iterate_metadata_intersection.js.map +1 -1
  90. package/lib/factories/internal/metadata/iterate_metadata_map.js +14 -25
  91. package/lib/factories/internal/metadata/iterate_metadata_map.js.map +1 -1
  92. package/lib/factories/internal/metadata/iterate_metadata_native.js +87 -136
  93. package/lib/factories/internal/metadata/iterate_metadata_native.js.map +1 -1
  94. package/lib/factories/internal/metadata/iterate_metadata_object.js +8 -9
  95. package/lib/factories/internal/metadata/iterate_metadata_object.js.map +1 -1
  96. package/lib/factories/internal/metadata/iterate_metadata_set.js +14 -27
  97. package/lib/factories/internal/metadata/iterate_metadata_set.js.map +1 -1
  98. package/lib/factories/internal/metadata/iterate_metadata_sort.js +47 -169
  99. package/lib/factories/internal/metadata/iterate_metadata_sort.js.map +1 -1
  100. package/lib/factories/internal/metadata/iterate_metadata_template.js +12 -23
  101. package/lib/factories/internal/metadata/iterate_metadata_template.js.map +1 -1
  102. package/lib/factories/internal/metadata/iterate_metadata_tuple.js +6 -6
  103. package/lib/factories/internal/metadata/iterate_metadata_tuple.js.map +1 -1
  104. package/lib/factories/internal/metadata/iterate_metadata_union.js +3 -16
  105. package/lib/factories/internal/metadata/iterate_metadata_union.js.map +1 -1
  106. package/lib/functional.js +1 -1
  107. package/lib/functional.js.map +1 -1
  108. package/lib/http.js +1 -1
  109. package/lib/http.js.map +1 -1
  110. package/lib/index.js +1 -1
  111. package/lib/index.js.map +1 -1
  112. package/lib/internal/_ProtobufReader.js +54 -55
  113. package/lib/internal/_ProtobufReader.js.map +1 -1
  114. package/lib/internal/_ProtobufSizer.js +41 -43
  115. package/lib/internal/_ProtobufSizer.js.map +1 -1
  116. package/lib/internal/_ProtobufWriter.js +49 -50
  117. package/lib/internal/_ProtobufWriter.js.map +1 -1
  118. package/lib/internal/_accessExpressionAsString.js +4 -8
  119. package/lib/internal/_accessExpressionAsString.js.map +1 -1
  120. package/lib/internal/_assertGuard.js +2 -2
  121. package/lib/internal/_assertGuard.js.map +1 -1
  122. package/lib/internal/_functionalTypeGuardErrorFactory.js +2 -4
  123. package/lib/internal/_functionalTypeGuardErrorFactory.js.map +1 -1
  124. package/lib/internal/_httpFormDataReadArray.js +1 -1
  125. package/lib/internal/_httpFormDataReadArray.js.map +1 -1
  126. package/lib/internal/_httpFormDataReadBigint.js +8 -10
  127. package/lib/internal/_httpFormDataReadBigint.js.map +1 -1
  128. package/lib/internal/_httpFormDataReadBlob.js +7 -9
  129. package/lib/internal/_httpFormDataReadBlob.js.map +1 -1
  130. package/lib/internal/_httpFormDataReadBoolean.js +12 -14
  131. package/lib/internal/_httpFormDataReadBoolean.js.map +1 -1
  132. package/lib/internal/_httpFormDataReadFile.js +7 -9
  133. package/lib/internal/_httpFormDataReadFile.js.map +1 -1
  134. package/lib/internal/_httpFormDataReadNumber.js +9 -11
  135. package/lib/internal/_httpFormDataReadNumber.js.map +1 -1
  136. package/lib/internal/_httpFormDataReadString.js +7 -9
  137. package/lib/internal/_httpFormDataReadString.js.map +1 -1
  138. package/lib/internal/_httpHeaderReadBigint.js +2 -4
  139. package/lib/internal/_httpHeaderReadBigint.js.map +1 -1
  140. package/lib/internal/_httpHeaderReadBoolean.js +7 -9
  141. package/lib/internal/_httpHeaderReadBoolean.js.map +1 -1
  142. package/lib/internal/_httpHeaderReadNumber.js +3 -5
  143. package/lib/internal/_httpHeaderReadNumber.js.map +1 -1
  144. package/lib/internal/_httpParameterReadBigint.js +2 -4
  145. package/lib/internal/_httpParameterReadBigint.js.map +1 -1
  146. package/lib/internal/_httpParameterReadBoolean.js +7 -9
  147. package/lib/internal/_httpParameterReadBoolean.js.map +1 -1
  148. package/lib/internal/_httpParameterReadNumber.js +3 -5
  149. package/lib/internal/_httpParameterReadNumber.js.map +1 -1
  150. package/lib/internal/_httpParameterReadString.js +1 -3
  151. package/lib/internal/_httpParameterReadString.js.map +1 -1
  152. package/lib/internal/_httpQueryParseURLSearchParams.js +2 -2
  153. package/lib/internal/_httpQueryParseURLSearchParams.js.map +1 -1
  154. package/lib/internal/_httpQueryReadArray.js +1 -1
  155. package/lib/internal/_httpQueryReadArray.js.map +1 -1
  156. package/lib/internal/_httpQueryReadBigint.js +2 -4
  157. package/lib/internal/_httpQueryReadBigint.js.map +1 -1
  158. package/lib/internal/_httpQueryReadBoolean.js +10 -12
  159. package/lib/internal/_httpQueryReadBoolean.js.map +1 -1
  160. package/lib/internal/_httpQueryReadNumber.js +3 -5
  161. package/lib/internal/_httpQueryReadNumber.js.map +1 -1
  162. package/lib/internal/_httpQueryReadString.js +1 -3
  163. package/lib/internal/_httpQueryReadString.js.map +1 -1
  164. package/lib/internal/_isBetween.js +1 -3
  165. package/lib/internal/_isBetween.js.map +1 -1
  166. package/lib/internal/_isBigintString.js +1 -1
  167. package/lib/internal/_isBigintString.js.map +1 -1
  168. package/lib/internal/_isFormatByte.d.ts +1 -0
  169. package/lib/internal/_isFormatByte.js +10 -0
  170. package/lib/internal/_isFormatByte.js.map +1 -0
  171. package/lib/internal/_isFormatDate.d.ts +1 -0
  172. package/lib/internal/_isFormatDate.js +7 -0
  173. package/lib/internal/_isFormatDate.js.map +1 -0
  174. package/lib/internal/_isFormatDateTime.d.ts +1 -0
  175. package/lib/internal/_isFormatDateTime.js +7 -0
  176. package/lib/internal/_isFormatDateTime.js.map +1 -0
  177. package/lib/internal/_isFormatDuration.d.ts +1 -0
  178. package/lib/internal/_isFormatDuration.js +7 -0
  179. package/lib/internal/_isFormatDuration.js.map +1 -0
  180. package/lib/internal/_isFormatEmail.d.ts +1 -0
  181. package/lib/internal/_isFormatEmail.js +7 -0
  182. package/lib/internal/_isFormatEmail.js.map +1 -0
  183. package/lib/internal/_isFormatHostname.d.ts +1 -0
  184. package/lib/internal/_isFormatHostname.js +7 -0
  185. package/lib/internal/_isFormatHostname.js.map +1 -0
  186. package/lib/internal/_isFormatIdnEmail.d.ts +1 -0
  187. package/lib/internal/_isFormatIdnEmail.js +7 -0
  188. package/lib/internal/_isFormatIdnEmail.js.map +1 -0
  189. package/lib/internal/_isFormatIdnHostname.d.ts +1 -0
  190. package/lib/internal/_isFormatIdnHostname.js +7 -0
  191. package/lib/internal/_isFormatIdnHostname.js.map +1 -0
  192. package/lib/internal/_isFormatIpv4.d.ts +1 -0
  193. package/lib/internal/_isFormatIpv4.js +7 -0
  194. package/lib/internal/_isFormatIpv4.js.map +1 -0
  195. package/lib/internal/_isFormatIpv6.d.ts +1 -0
  196. package/lib/internal/_isFormatIpv6.js +7 -0
  197. package/lib/internal/_isFormatIpv6.js.map +1 -0
  198. package/lib/internal/_isFormatIri.d.ts +1 -0
  199. package/lib/internal/_isFormatIri.js +7 -0
  200. package/lib/internal/_isFormatIri.js.map +1 -0
  201. package/lib/internal/_isFormatIriReference.d.ts +1 -0
  202. package/lib/internal/_isFormatIriReference.js +7 -0
  203. package/lib/internal/_isFormatIriReference.js.map +1 -0
  204. package/lib/internal/_isFormatJsonPointer.d.ts +1 -0
  205. package/lib/internal/_isFormatJsonPointer.js +7 -0
  206. package/lib/internal/_isFormatJsonPointer.js.map +1 -0
  207. package/lib/internal/_isFormatPassword.d.ts +1 -0
  208. package/lib/internal/_isFormatPassword.js +6 -0
  209. package/lib/internal/_isFormatPassword.js.map +1 -0
  210. package/lib/internal/_isFormatRegex.d.ts +1 -0
  211. package/lib/internal/_isFormatRegex.js +14 -0
  212. package/lib/internal/_isFormatRegex.js.map +1 -0
  213. package/lib/internal/_isFormatRelativeJsonPointer.d.ts +1 -0
  214. package/lib/internal/_isFormatRelativeJsonPointer.js +7 -0
  215. package/lib/internal/_isFormatRelativeJsonPointer.js.map +1 -0
  216. package/lib/internal/_isFormatTime.d.ts +1 -0
  217. package/lib/internal/_isFormatTime.js +7 -0
  218. package/lib/internal/_isFormatTime.js.map +1 -0
  219. package/lib/internal/_isFormatUri.d.ts +1 -0
  220. package/lib/internal/_isFormatUri.js +8 -0
  221. package/lib/internal/_isFormatUri.js.map +1 -0
  222. package/lib/internal/_isFormatUriReference.d.ts +1 -0
  223. package/lib/internal/_isFormatUriReference.js +7 -0
  224. package/lib/internal/_isFormatUriReference.js.map +1 -0
  225. package/lib/internal/_isFormatUriTemplate.d.ts +1 -0
  226. package/lib/internal/_isFormatUriTemplate.js +7 -0
  227. package/lib/internal/_isFormatUriTemplate.js.map +1 -0
  228. package/lib/internal/_isFormatUrl.d.ts +1 -0
  229. package/lib/internal/_isFormatUrl.js +7 -0
  230. package/lib/internal/_isFormatUrl.js.map +1 -0
  231. package/lib/internal/_isFormatUuid.d.ts +1 -0
  232. package/lib/internal/_isFormatUuid.js +7 -0
  233. package/lib/internal/_isFormatUuid.js.map +1 -0
  234. package/lib/internal/_isTypeFloat.d.ts +1 -0
  235. package/lib/internal/_isTypeFloat.js +8 -0
  236. package/lib/internal/_isTypeFloat.js.map +1 -0
  237. package/lib/internal/_isTypeInt32.d.ts +1 -0
  238. package/lib/internal/_isTypeInt32.js +8 -0
  239. package/lib/internal/_isTypeInt32.js.map +1 -0
  240. package/lib/internal/_isTypeInt64.d.ts +1 -0
  241. package/lib/internal/_isTypeInt64.js +8 -0
  242. package/lib/internal/_isTypeInt64.js.map +1 -0
  243. package/lib/internal/_isTypeUint32.d.ts +1 -0
  244. package/lib/internal/_isTypeUint32.js +8 -0
  245. package/lib/internal/_isTypeUint32.js.map +1 -0
  246. package/lib/internal/_isTypeUint64.d.ts +1 -0
  247. package/lib/internal/_isTypeUint64.js +8 -0
  248. package/lib/internal/_isTypeUint64.js.map +1 -0
  249. package/lib/internal/_jsonStringifyNumber.js +3 -3
  250. package/lib/internal/_jsonStringifyNumber.js.map +1 -1
  251. package/lib/internal/_jsonStringifyRest.js +1 -1
  252. package/lib/internal/_jsonStringifyRest.js.map +1 -1
  253. package/lib/internal/_jsonStringifyString.js +5 -5
  254. package/lib/internal/_jsonStringifyString.js.map +1 -1
  255. package/lib/internal/_jsonStringifyTail.js +1 -3
  256. package/lib/internal/_jsonStringifyTail.js.map +1 -1
  257. package/lib/internal/_llmApplicationFinalize.js +10 -33
  258. package/lib/internal/_llmApplicationFinalize.js.map +1 -1
  259. package/lib/internal/_miscCloneAny.js +6 -42
  260. package/lib/internal/_miscCloneAny.js.map +1 -1
  261. package/lib/internal/_notationAny.js +3 -24
  262. package/lib/internal/_notationAny.js.map +1 -1
  263. package/lib/internal/_notationCamel.js +8 -12
  264. package/lib/internal/_notationCamel.js.map +1 -1
  265. package/lib/internal/_notationPascal.js +3 -5
  266. package/lib/internal/_notationPascal.js.map +1 -1
  267. package/lib/internal/_notationSnake.js +16 -16
  268. package/lib/internal/_notationSnake.js.map +1 -1
  269. package/lib/internal/_randomArray.js +5 -5
  270. package/lib/internal/_randomArray.js.map +1 -1
  271. package/lib/internal/_randomBigint.js +2 -4
  272. package/lib/internal/_randomBigint.js.map +1 -1
  273. package/lib/internal/_randomBoolean.js +1 -1
  274. package/lib/internal/_randomBoolean.js.map +1 -1
  275. package/lib/internal/_randomFormatByte.js +2 -2
  276. package/lib/internal/_randomFormatByte.js.map +1 -1
  277. package/lib/internal/_randomFormatDate.js +2 -2
  278. package/lib/internal/_randomFormatDate.js.map +1 -1
  279. package/lib/internal/_randomFormatDatetime.js +2 -2
  280. package/lib/internal/_randomFormatDatetime.js.map +1 -1
  281. package/lib/internal/_randomFormatDuration.js +14 -40
  282. package/lib/internal/_randomFormatDuration.js.map +1 -1
  283. package/lib/internal/_randomFormatEmail.js +7 -11
  284. package/lib/internal/_randomFormatEmail.js.map +1 -1
  285. package/lib/internal/_randomFormatHostname.js +3 -5
  286. package/lib/internal/_randomFormatHostname.js.map +1 -1
  287. package/lib/internal/_randomFormatIdnEmail.js +2 -2
  288. package/lib/internal/_randomFormatIdnEmail.js.map +1 -1
  289. package/lib/internal/_randomFormatIdnHostname.js +2 -2
  290. package/lib/internal/_randomFormatIdnHostname.js.map +1 -1
  291. package/lib/internal/_randomFormatIpv4.js +7 -11
  292. package/lib/internal/_randomFormatIpv4.js.map +1 -1
  293. package/lib/internal/_randomFormatIpv6.js +7 -11
  294. package/lib/internal/_randomFormatIpv6.js.map +1 -1
  295. package/lib/internal/_randomFormatIri.js +2 -2
  296. package/lib/internal/_randomFormatIri.js.map +1 -1
  297. package/lib/internal/_randomFormatIriReference.js +2 -2
  298. package/lib/internal/_randomFormatIriReference.js.map +1 -1
  299. package/lib/internal/_randomFormatJsonPointer.js +3 -7
  300. package/lib/internal/_randomFormatJsonPointer.js.map +1 -1
  301. package/lib/internal/_randomFormatPassword.js +6 -8
  302. package/lib/internal/_randomFormatPassword.js.map +1 -1
  303. package/lib/internal/_randomFormatRegex.js +2 -2
  304. package/lib/internal/_randomFormatRegex.js.map +1 -1
  305. package/lib/internal/_randomFormatRelativeJsonPointer.js +6 -8
  306. package/lib/internal/_randomFormatRelativeJsonPointer.js.map +1 -1
  307. package/lib/internal/_randomFormatTime.js +9 -11
  308. package/lib/internal/_randomFormatTime.js.map +1 -1
  309. package/lib/internal/_randomFormatUri.js +2 -2
  310. package/lib/internal/_randomFormatUri.js.map +1 -1
  311. package/lib/internal/_randomFormatUriReference.js +2 -2
  312. package/lib/internal/_randomFormatUriReference.js.map +1 -1
  313. package/lib/internal/_randomFormatUriTemplate.js +2 -2
  314. package/lib/internal/_randomFormatUriTemplate.js.map +1 -1
  315. package/lib/internal/_randomFormatUrl.js +7 -11
  316. package/lib/internal/_randomFormatUrl.js.map +1 -1
  317. package/lib/internal/_randomFormatUuid.js +5 -7
  318. package/lib/internal/_randomFormatUuid.js.map +1 -1
  319. package/lib/internal/_randomInteger.js +14 -16
  320. package/lib/internal/_randomInteger.js.map +1 -1
  321. package/lib/internal/_randomNumber.js +15 -15
  322. package/lib/internal/_randomNumber.js.map +1 -1
  323. package/lib/internal/_randomPattern.js +5 -5
  324. package/lib/internal/_randomPattern.js.map +1 -1
  325. package/lib/internal/_randomPick.js +7 -9
  326. package/lib/internal/_randomPick.js.map +1 -1
  327. package/lib/internal/_randomString.js +10 -12
  328. package/lib/internal/_randomString.js.map +1 -1
  329. package/lib/internal/_throwTypeGuardError.js +2 -2
  330. package/lib/internal/_throwTypeGuardError.js.map +1 -1
  331. package/lib/internal/_validateReport.js +4 -4
  332. package/lib/internal/_validateReport.js.map +1 -1
  333. package/lib/internal/private/__notationCapitalize.js +1 -3
  334. package/lib/internal/private/__notationCapitalize.js.map +1 -1
  335. package/lib/internal/private/__notationUnsnake.js +20 -22
  336. package/lib/internal/private/__notationUnsnake.js.map +1 -1
  337. package/lib/json.js +1 -1
  338. package/lib/json.js.map +1 -1
  339. package/lib/llm.js +1 -1
  340. package/lib/llm.js.map +1 -1
  341. package/lib/misc.js +1 -1
  342. package/lib/misc.js.map +1 -1
  343. package/lib/module.js +1 -1
  344. package/lib/module.js.map +1 -1
  345. package/lib/notations.js +1 -1
  346. package/lib/notations.js.map +1 -1
  347. package/lib/programmers/AssertProgrammer.js +142 -200
  348. package/lib/programmers/AssertProgrammer.js.map +1 -1
  349. package/lib/programmers/CheckerProgrammer.js +595 -801
  350. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  351. package/lib/programmers/FeatureProgrammer.js +104 -155
  352. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  353. package/lib/programmers/ImportProgrammer.js +51 -99
  354. package/lib/programmers/ImportProgrammer.js.map +1 -1
  355. package/lib/programmers/IsProgrammer.js +84 -137
  356. package/lib/programmers/IsProgrammer.js.map +1 -1
  357. package/lib/programmers/RandomProgrammer.js +403 -608
  358. package/lib/programmers/RandomProgrammer.js.map +1 -1
  359. package/lib/programmers/TypiaProgrammer.js +115 -285
  360. package/lib/programmers/TypiaProgrammer.js.map +1 -1
  361. package/lib/programmers/ValidateProgrammer.js +120 -179
  362. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  363. package/lib/programmers/functional/FunctionalAssertFunctionProgrammer.js +33 -58
  364. package/lib/programmers/functional/FunctionalAssertFunctionProgrammer.js.map +1 -1
  365. package/lib/programmers/functional/FunctionalAssertParametersProgrammer.js +41 -71
  366. package/lib/programmers/functional/FunctionalAssertParametersProgrammer.js.map +1 -1
  367. package/lib/programmers/functional/FunctionalAssertReturnProgrammer.js +19 -46
  368. package/lib/programmers/functional/FunctionalAssertReturnProgrammer.js.map +1 -1
  369. package/lib/programmers/functional/FunctionalIsFunctionProgrammer.js +13 -36
  370. package/lib/programmers/functional/FunctionalIsFunctionProgrammer.js.map +1 -1
  371. package/lib/programmers/functional/FunctionalIsParametersProgrammer.js +26 -51
  372. package/lib/programmers/functional/FunctionalIsParametersProgrammer.js.map +1 -1
  373. package/lib/programmers/functional/FunctionalIsReturnProgrammer.js +21 -58
  374. package/lib/programmers/functional/FunctionalIsReturnProgrammer.js.map +1 -1
  375. package/lib/programmers/functional/FunctionalValidateFunctionProgrammer.js +20 -45
  376. package/lib/programmers/functional/FunctionalValidateFunctionProgrammer.js.map +1 -1
  377. package/lib/programmers/functional/FunctionalValidateParametersProgrammer.js +33 -71
  378. package/lib/programmers/functional/FunctionalValidateParametersProgrammer.js.map +1 -1
  379. package/lib/programmers/functional/FunctionalValidateReturnProgrammer.js +21 -58
  380. package/lib/programmers/functional/FunctionalValidateReturnProgrammer.js.map +1 -1
  381. package/lib/programmers/functional/internal/FunctionalGeneralProgrammer.js +6 -6
  382. package/lib/programmers/functional/internal/FunctionalGeneralProgrammer.js.map +1 -1
  383. package/lib/programmers/helpers/AtomicPredicator.js +6 -12
  384. package/lib/programmers/helpers/AtomicPredicator.js.map +1 -1
  385. package/lib/programmers/helpers/CloneJoiner.js +25 -56
  386. package/lib/programmers/helpers/CloneJoiner.js.map +1 -1
  387. package/lib/programmers/helpers/FunctionProgrammer.js +31 -64
  388. package/lib/programmers/helpers/FunctionProgrammer.js.map +1 -1
  389. package/lib/programmers/helpers/HttpMetadataUtil.js +12 -37
  390. package/lib/programmers/helpers/HttpMetadataUtil.js.map +1 -1
  391. package/lib/programmers/helpers/NotationJoiner.js +25 -56
  392. package/lib/programmers/helpers/NotationJoiner.js.map +1 -1
  393. package/lib/programmers/helpers/OptionPredicator.js +4 -12
  394. package/lib/programmers/helpers/OptionPredicator.js.map +1 -1
  395. package/lib/programmers/helpers/ProtobufUtil.js +119 -309
  396. package/lib/programmers/helpers/ProtobufUtil.js.map +1 -1
  397. package/lib/programmers/helpers/PruneJoiner.js +36 -72
  398. package/lib/programmers/helpers/PruneJoiner.js.map +1 -1
  399. package/lib/programmers/helpers/RandomJoiner.js +43 -86
  400. package/lib/programmers/helpers/RandomJoiner.js.map +1 -1
  401. package/lib/programmers/helpers/StringifyJoinder.js +35 -59
  402. package/lib/programmers/helpers/StringifyJoinder.js.map +1 -1
  403. package/lib/programmers/helpers/StringifyPredicator.js +5 -9
  404. package/lib/programmers/helpers/StringifyPredicator.js.map +1 -1
  405. package/lib/programmers/helpers/UnionExplorer.js +138 -194
  406. package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
  407. package/lib/programmers/helpers/UnionPredicator.js +26 -83
  408. package/lib/programmers/helpers/UnionPredicator.js.map +1 -1
  409. package/lib/programmers/helpers/disable_function_programmer_declare.js +10 -10
  410. package/lib/programmers/helpers/disable_function_programmer_declare.js.map +1 -1
  411. package/lib/programmers/http/HttpAssertFormDataProgrammer.js +21 -55
  412. package/lib/programmers/http/HttpAssertFormDataProgrammer.js.map +1 -1
  413. package/lib/programmers/http/HttpAssertHeadersProgrammer.js +21 -55
  414. package/lib/programmers/http/HttpAssertHeadersProgrammer.js.map +1 -1
  415. package/lib/programmers/http/HttpAssertQueryProgrammer.js +21 -55
  416. package/lib/programmers/http/HttpAssertQueryProgrammer.js.map +1 -1
  417. package/lib/programmers/http/HttpFormDataProgrammer.js +62 -93
  418. package/lib/programmers/http/HttpFormDataProgrammer.js.map +1 -1
  419. package/lib/programmers/http/HttpHeadersProgrammer.js +80 -149
  420. package/lib/programmers/http/HttpHeadersProgrammer.js.map +1 -1
  421. package/lib/programmers/http/HttpIsFormDataProgrammer.js +20 -54
  422. package/lib/programmers/http/HttpIsFormDataProgrammer.js.map +1 -1
  423. package/lib/programmers/http/HttpIsHeadersProgrammer.js +20 -54
  424. package/lib/programmers/http/HttpIsHeadersProgrammer.js.map +1 -1
  425. package/lib/programmers/http/HttpIsQueryProgrammer.js +20 -54
  426. package/lib/programmers/http/HttpIsQueryProgrammer.js.map +1 -1
  427. package/lib/programmers/http/HttpParameterProgrammer.js +22 -58
  428. package/lib/programmers/http/HttpParameterProgrammer.js.map +1 -1
  429. package/lib/programmers/http/HttpQueryProgrammer.js +60 -94
  430. package/lib/programmers/http/HttpQueryProgrammer.js.map +1 -1
  431. package/lib/programmers/http/HttpValidateFormDataProgrammer.js +19 -54
  432. package/lib/programmers/http/HttpValidateFormDataProgrammer.js.map +1 -1
  433. package/lib/programmers/http/HttpValidateHeadersProgrammer.js +19 -54
  434. package/lib/programmers/http/HttpValidateHeadersProgrammer.js.map +1 -1
  435. package/lib/programmers/http/HttpValidateQueryProgrammer.js +19 -54
  436. package/lib/programmers/http/HttpValidateQueryProgrammer.js.map +1 -1
  437. package/lib/programmers/internal/check_array_length.js +17 -17
  438. package/lib/programmers/internal/check_array_length.js.map +1 -1
  439. package/lib/programmers/internal/check_bigint.js +18 -18
  440. package/lib/programmers/internal/check_bigint.js.map +1 -1
  441. package/lib/programmers/internal/check_dynamic_key.js +57 -141
  442. package/lib/programmers/internal/check_dynamic_key.js.map +1 -1
  443. package/lib/programmers/internal/check_dynamic_properties.js +46 -96
  444. package/lib/programmers/internal/check_dynamic_properties.js.map +1 -1
  445. package/lib/programmers/internal/check_everything.js +6 -8
  446. package/lib/programmers/internal/check_everything.js.map +1 -1
  447. package/lib/programmers/internal/check_native.js +5 -5
  448. package/lib/programmers/internal/check_native.js.map +1 -1
  449. package/lib/programmers/internal/check_number.js +35 -63
  450. package/lib/programmers/internal/check_number.js.map +1 -1
  451. package/lib/programmers/internal/check_object.js +12 -14
  452. package/lib/programmers/internal/check_object.js.map +1 -1
  453. package/lib/programmers/internal/check_string.js +18 -18
  454. package/lib/programmers/internal/check_string.js.map +1 -1
  455. package/lib/programmers/internal/check_template.js +11 -13
  456. package/lib/programmers/internal/check_template.js.map +1 -1
  457. package/lib/programmers/internal/check_union_array_like.js +42 -57
  458. package/lib/programmers/internal/check_union_array_like.js.map +1 -1
  459. package/lib/programmers/internal/decode_union_object.js +33 -63
  460. package/lib/programmers/internal/decode_union_object.js.map +1 -1
  461. package/lib/programmers/internal/feature_object_entries.js +34 -36
  462. package/lib/programmers/internal/feature_object_entries.js.map +1 -1
  463. package/lib/programmers/internal/json_schema_alias.js +9 -9
  464. package/lib/programmers/internal/json_schema_alias.js.map +1 -1
  465. package/lib/programmers/internal/json_schema_array.js +20 -22
  466. package/lib/programmers/internal/json_schema_array.js.map +1 -1
  467. package/lib/programmers/internal/json_schema_bigint.js +7 -9
  468. package/lib/programmers/internal/json_schema_bigint.js.map +1 -1
  469. package/lib/programmers/internal/json_schema_boolean.js +7 -9
  470. package/lib/programmers/internal/json_schema_boolean.js.map +1 -1
  471. package/lib/programmers/internal/json_schema_constant.js +18 -20
  472. package/lib/programmers/internal/json_schema_constant.js.map +1 -1
  473. package/lib/programmers/internal/json_schema_description.js +2 -2
  474. package/lib/programmers/internal/json_schema_description.js.map +1 -1
  475. package/lib/programmers/internal/json_schema_discriminator.js +10 -10
  476. package/lib/programmers/internal/json_schema_discriminator.js.map +1 -1
  477. package/lib/programmers/internal/json_schema_escaped.js +19 -27
  478. package/lib/programmers/internal/json_schema_escaped.js.map +1 -1
  479. package/lib/programmers/internal/json_schema_native.js +3 -3
  480. package/lib/programmers/internal/json_schema_native.js.map +1 -1
  481. package/lib/programmers/internal/json_schema_number.js +7 -9
  482. package/lib/programmers/internal/json_schema_number.js.map +1 -1
  483. package/lib/programmers/internal/json_schema_object.js +68 -92
  484. package/lib/programmers/internal/json_schema_object.js.map +1 -1
  485. package/lib/programmers/internal/json_schema_plugin.js +8 -42
  486. package/lib/programmers/internal/json_schema_plugin.js.map +1 -1
  487. package/lib/programmers/internal/json_schema_station.js +75 -178
  488. package/lib/programmers/internal/json_schema_station.js.map +1 -1
  489. package/lib/programmers/internal/json_schema_string.js +7 -9
  490. package/lib/programmers/internal/json_schema_string.js.map +1 -1
  491. package/lib/programmers/internal/json_schema_template.js +22 -85
  492. package/lib/programmers/internal/json_schema_template.js.map +1 -1
  493. package/lib/programmers/internal/json_schema_title.js +5 -5
  494. package/lib/programmers/internal/json_schema_title.js.map +1 -1
  495. package/lib/programmers/internal/json_schema_tuple.js +10 -12
  496. package/lib/programmers/internal/json_schema_tuple.js.map +1 -1
  497. package/lib/programmers/internal/metadata_to_pattern.js +21 -57
  498. package/lib/programmers/internal/metadata_to_pattern.js.map +1 -1
  499. package/lib/programmers/internal/postfix_of_tuple.js +1 -3
  500. package/lib/programmers/internal/postfix_of_tuple.js.map +1 -1
  501. package/lib/programmers/internal/prune_object_properties.js +11 -11
  502. package/lib/programmers/internal/prune_object_properties.js.map +1 -1
  503. package/lib/programmers/internal/stringify_dynamic_properties.js +25 -49
  504. package/lib/programmers/internal/stringify_dynamic_properties.js.map +1 -1
  505. package/lib/programmers/internal/stringify_native.js +2 -4
  506. package/lib/programmers/internal/stringify_native.js.map +1 -1
  507. package/lib/programmers/internal/stringify_regular_properties.js +17 -44
  508. package/lib/programmers/internal/stringify_regular_properties.js.map +1 -1
  509. package/lib/programmers/internal/template_to_pattern.js +8 -10
  510. package/lib/programmers/internal/template_to_pattern.js.map +1 -1
  511. package/lib/programmers/internal/wrap_metadata_rest_tuple.js +6 -6
  512. package/lib/programmers/internal/wrap_metadata_rest_tuple.js.map +1 -1
  513. package/lib/programmers/json/JsonApplicationProgrammer.js +81 -143
  514. package/lib/programmers/json/JsonApplicationProgrammer.js.map +1 -1
  515. package/lib/programmers/json/JsonAssertParseProgrammer.js +18 -53
  516. package/lib/programmers/json/JsonAssertParseProgrammer.js.map +1 -1
  517. package/lib/programmers/json/JsonAssertStringifyProgrammer.js +22 -56
  518. package/lib/programmers/json/JsonAssertStringifyProgrammer.js.map +1 -1
  519. package/lib/programmers/json/JsonIsParseProgrammer.js +18 -53
  520. package/lib/programmers/json/JsonIsParseProgrammer.js.map +1 -1
  521. package/lib/programmers/json/JsonIsStringifyProgrammer.js +21 -55
  522. package/lib/programmers/json/JsonIsStringifyProgrammer.js.map +1 -1
  523. package/lib/programmers/json/JsonSchemasProgrammer.js +35 -64
  524. package/lib/programmers/json/JsonSchemasProgrammer.js.map +1 -1
  525. package/lib/programmers/json/JsonStringifyProgrammer.js +363 -581
  526. package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
  527. package/lib/programmers/json/JsonValidateParseProgrammer.js +18 -53
  528. package/lib/programmers/json/JsonValidateParseProgrammer.js.map +1 -1
  529. package/lib/programmers/json/JsonValidateStringifyProgrammer.js +22 -56
  530. package/lib/programmers/json/JsonValidateStringifyProgrammer.js.map +1 -1
  531. package/lib/programmers/llm/LlmApplicationProgrammer.js +70 -131
  532. package/lib/programmers/llm/LlmApplicationProgrammer.js.map +1 -1
  533. package/lib/programmers/llm/LlmSchemaProgrammer.js +65 -100
  534. package/lib/programmers/llm/LlmSchemaProgrammer.js.map +1 -1
  535. package/lib/programmers/misc/MiscAssertCloneProgrammer.js +21 -55
  536. package/lib/programmers/misc/MiscAssertCloneProgrammer.js.map +1 -1
  537. package/lib/programmers/misc/MiscAssertPruneProgrammer.js +21 -55
  538. package/lib/programmers/misc/MiscAssertPruneProgrammer.js.map +1 -1
  539. package/lib/programmers/misc/MiscCloneProgrammer.js +414 -582
  540. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  541. package/lib/programmers/misc/MiscIsCloneProgrammer.js +21 -55
  542. package/lib/programmers/misc/MiscIsCloneProgrammer.js.map +1 -1
  543. package/lib/programmers/misc/MiscIsPruneProgrammer.js +21 -55
  544. package/lib/programmers/misc/MiscIsPruneProgrammer.js.map +1 -1
  545. package/lib/programmers/misc/MiscLiteralsProgrammer.js +32 -55
  546. package/lib/programmers/misc/MiscLiteralsProgrammer.js.map +1 -1
  547. package/lib/programmers/misc/MiscPruneProgrammer.js +291 -441
  548. package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
  549. package/lib/programmers/misc/MiscValidateCloneProgrammer.js +21 -55
  550. package/lib/programmers/misc/MiscValidateCloneProgrammer.js.map +1 -1
  551. package/lib/programmers/misc/MiscValidatePruneProgrammer.js +21 -55
  552. package/lib/programmers/misc/MiscValidatePruneProgrammer.js.map +1 -1
  553. package/lib/programmers/notations/NotationAssertGeneralProgrammer.js +21 -55
  554. package/lib/programmers/notations/NotationAssertGeneralProgrammer.js.map +1 -1
  555. package/lib/programmers/notations/NotationGeneralProgrammer.js +371 -534
  556. package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
  557. package/lib/programmers/notations/NotationIsGeneralProgrammer.js +21 -55
  558. package/lib/programmers/notations/NotationIsGeneralProgrammer.js.map +1 -1
  559. package/lib/programmers/notations/NotationValidateGeneralProgrammer.js +21 -55
  560. package/lib/programmers/notations/NotationValidateGeneralProgrammer.js.map +1 -1
  561. package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js +22 -55
  562. package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js.map +1 -1
  563. package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.js +21 -55
  564. package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.js.map +1 -1
  565. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +156 -222
  566. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
  567. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +279 -402
  568. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
  569. package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.js +20 -54
  570. package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.js.map +1 -1
  571. package/lib/programmers/protobuf/ProtobufIsEncodeProgrammer.js +21 -55
  572. package/lib/programmers/protobuf/ProtobufIsEncodeProgrammer.js.map +1 -1
  573. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js +68 -117
  574. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js.map +1 -1
  575. package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.js +19 -54
  576. package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.js.map +1 -1
  577. package/lib/programmers/protobuf/ProtobufValidateEncodeProgrammer.js +21 -55
  578. package/lib/programmers/protobuf/ProtobufValidateEncodeProgrammer.js.map +1 -1
  579. package/lib/protobuf.js +1 -1
  580. package/lib/protobuf.js.map +1 -1
  581. package/lib/reflect.js +1 -1
  582. package/lib/reflect.js.map +1 -1
  583. package/lib/schemas/metadata/Metadata.js +248 -625
  584. package/lib/schemas/metadata/Metadata.js.map +1 -1
  585. package/lib/schemas/metadata/MetadataAlias.js +22 -48
  586. package/lib/schemas/metadata/MetadataAlias.js.map +1 -1
  587. package/lib/schemas/metadata/MetadataAliasType.js +9 -10
  588. package/lib/schemas/metadata/MetadataAliasType.js.map +1 -1
  589. package/lib/schemas/metadata/MetadataApplication.js +15 -18
  590. package/lib/schemas/metadata/MetadataApplication.js.map +1 -1
  591. package/lib/schemas/metadata/MetadataArray.js +23 -49
  592. package/lib/schemas/metadata/MetadataArray.js.map +1 -1
  593. package/lib/schemas/metadata/MetadataArrayType.js +9 -10
  594. package/lib/schemas/metadata/MetadataArrayType.js.map +1 -1
  595. package/lib/schemas/metadata/MetadataAtomic.js +46 -76
  596. package/lib/schemas/metadata/MetadataAtomic.js.map +1 -1
  597. package/lib/schemas/metadata/MetadataComponents.js +44 -128
  598. package/lib/schemas/metadata/MetadataComponents.js.map +1 -1
  599. package/lib/schemas/metadata/MetadataConstant.js +11 -12
  600. package/lib/schemas/metadata/MetadataConstant.js.map +1 -1
  601. package/lib/schemas/metadata/MetadataConstantValue.js +17 -18
  602. package/lib/schemas/metadata/MetadataConstantValue.js.map +1 -1
  603. package/lib/schemas/metadata/MetadataEscaped.js +12 -13
  604. package/lib/schemas/metadata/MetadataEscaped.js.map +1 -1
  605. package/lib/schemas/metadata/MetadataFunction.js +13 -14
  606. package/lib/schemas/metadata/MetadataFunction.js.map +1 -1
  607. package/lib/schemas/metadata/MetadataMap.js +19 -46
  608. package/lib/schemas/metadata/MetadataMap.js.map +1 -1
  609. package/lib/schemas/metadata/MetadataNative.js +22 -48
  610. package/lib/schemas/metadata/MetadataNative.js.map +1 -1
  611. package/lib/schemas/metadata/MetadataObject.js +23 -49
  612. package/lib/schemas/metadata/MetadataObject.js.map +1 -1
  613. package/lib/schemas/metadata/MetadataObjectType.js +32 -45
  614. package/lib/schemas/metadata/MetadataObjectType.js.map +1 -1
  615. package/lib/schemas/metadata/MetadataParameter.js +10 -11
  616. package/lib/schemas/metadata/MetadataParameter.js.map +1 -1
  617. package/lib/schemas/metadata/MetadataProperty.js +10 -11
  618. package/lib/schemas/metadata/MetadataProperty.js.map +1 -1
  619. package/lib/schemas/metadata/MetadataSet.js +19 -46
  620. package/lib/schemas/metadata/MetadataSet.js.map +1 -1
  621. package/lib/schemas/metadata/MetadataTemplate.js +27 -55
  622. package/lib/schemas/metadata/MetadataTemplate.js.map +1 -1
  623. package/lib/schemas/metadata/MetadataTuple.js +8 -9
  624. package/lib/schemas/metadata/MetadataTuple.js.map +1 -1
  625. package/lib/schemas/metadata/MetadataTupleType.js +12 -13
  626. package/lib/schemas/metadata/MetadataTupleType.js.map +1 -1
  627. package/lib/tags/Format.d.ts +6 -4
  628. package/lib/tags/Type.d.ts +4 -4
  629. package/lib/tags/internal/FormatCheatSheet.js +23 -25
  630. package/lib/tags/internal/FormatCheatSheet.js.map +1 -1
  631. package/lib/transform.js +8 -8
  632. package/lib/transform.js.map +1 -1
  633. package/lib/transformers/CallExpressionTransformer.js +370 -480
  634. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  635. package/lib/transformers/FileTransformer.js +40 -85
  636. package/lib/transformers/FileTransformer.js.map +1 -1
  637. package/lib/transformers/ImportTransformer.js +25 -33
  638. package/lib/transformers/ImportTransformer.js.map +1 -1
  639. package/lib/transformers/NodeTransformer.js +8 -10
  640. package/lib/transformers/NodeTransformer.js.map +1 -1
  641. package/lib/transformers/TransformerError.js +25 -44
  642. package/lib/transformers/TransformerError.js.map +1 -1
  643. package/lib/transformers/features/AssertTransformer.js +9 -24
  644. package/lib/transformers/features/AssertTransformer.js.map +1 -1
  645. package/lib/transformers/features/CreateAssertTransformer.js +9 -24
  646. package/lib/transformers/features/CreateAssertTransformer.js.map +1 -1
  647. package/lib/transformers/features/CreateIsTransformer.js +3 -18
  648. package/lib/transformers/features/CreateIsTransformer.js.map +1 -1
  649. package/lib/transformers/features/CreateRandomTransformer.js +7 -18
  650. package/lib/transformers/features/CreateRandomTransformer.js.map +1 -1
  651. package/lib/transformers/features/CreateValidateTransformer.js +3 -18
  652. package/lib/transformers/features/CreateValidateTransformer.js.map +1 -1
  653. package/lib/transformers/features/IsTransformer.js +3 -18
  654. package/lib/transformers/features/IsTransformer.js.map +1 -1
  655. package/lib/transformers/features/RandomTransformer.js +9 -9
  656. package/lib/transformers/features/RandomTransformer.js.map +1 -1
  657. package/lib/transformers/features/ValidateTransformer.js +3 -18
  658. package/lib/transformers/features/ValidateTransformer.js.map +1 -1
  659. package/lib/transformers/features/functional/FunctionalGenericTransformer.js +19 -32
  660. package/lib/transformers/features/functional/FunctionalGenericTransformer.js.map +1 -1
  661. package/lib/transformers/features/http/CreateHttpAssertFormDataTransformer.js +3 -16
  662. package/lib/transformers/features/http/CreateHttpAssertFormDataTransformer.js.map +1 -1
  663. package/lib/transformers/features/http/CreateHttpAssertHeadersTransformer.js +3 -16
  664. package/lib/transformers/features/http/CreateHttpAssertHeadersTransformer.js.map +1 -1
  665. package/lib/transformers/features/http/CreateHttpAssertQueryTransformer.js +3 -16
  666. package/lib/transformers/features/http/CreateHttpAssertQueryTransformer.js.map +1 -1
  667. package/lib/transformers/features/http/CreateHttpFormDataTransformer.js +3 -16
  668. package/lib/transformers/features/http/CreateHttpFormDataTransformer.js.map +1 -1
  669. package/lib/transformers/features/http/CreateHttpHeadersTransformer.js +3 -16
  670. package/lib/transformers/features/http/CreateHttpHeadersTransformer.js.map +1 -1
  671. package/lib/transformers/features/http/CreateHttpIsFormDataTransformer.js +3 -16
  672. package/lib/transformers/features/http/CreateHttpIsFormDataTransformer.js.map +1 -1
  673. package/lib/transformers/features/http/CreateHttpIsHeadersTransformer.js +3 -16
  674. package/lib/transformers/features/http/CreateHttpIsHeadersTransformer.js.map +1 -1
  675. package/lib/transformers/features/http/CreateHttpIsQueryTransformer.js +3 -16
  676. package/lib/transformers/features/http/CreateHttpIsQueryTransformer.js.map +1 -1
  677. package/lib/transformers/features/http/CreateHttpParameterTransformer.js +3 -16
  678. package/lib/transformers/features/http/CreateHttpParameterTransformer.js.map +1 -1
  679. package/lib/transformers/features/http/CreateHttpQueryTransformer.js +3 -16
  680. package/lib/transformers/features/http/CreateHttpQueryTransformer.js.map +1 -1
  681. package/lib/transformers/features/http/CreateHttpValidateFormDataTransformer.js +3 -16
  682. package/lib/transformers/features/http/CreateHttpValidateFormDataTransformer.js.map +1 -1
  683. package/lib/transformers/features/http/CreateHttpValidateHeadersTransformer.js +3 -16
  684. package/lib/transformers/features/http/CreateHttpValidateHeadersTransformer.js.map +1 -1
  685. package/lib/transformers/features/http/CreateHttpValidateQueryTransformer.js +3 -16
  686. package/lib/transformers/features/http/CreateHttpValidateQueryTransformer.js.map +1 -1
  687. package/lib/transformers/features/http/HttpAssertFormDataTransformer.js +3 -16
  688. package/lib/transformers/features/http/HttpAssertFormDataTransformer.js.map +1 -1
  689. package/lib/transformers/features/http/HttpAssertHeadersTransformer.js +3 -16
  690. package/lib/transformers/features/http/HttpAssertHeadersTransformer.js.map +1 -1
  691. package/lib/transformers/features/http/HttpAssertQueryTransformer.js +3 -16
  692. package/lib/transformers/features/http/HttpAssertQueryTransformer.js.map +1 -1
  693. package/lib/transformers/features/http/HttpFormDataTransformer.js +3 -16
  694. package/lib/transformers/features/http/HttpFormDataTransformer.js.map +1 -1
  695. package/lib/transformers/features/http/HttpHeadersTransformer.js +3 -16
  696. package/lib/transformers/features/http/HttpHeadersTransformer.js.map +1 -1
  697. package/lib/transformers/features/http/HttpIsFormDataTransformer.js +3 -16
  698. package/lib/transformers/features/http/HttpIsFormDataTransformer.js.map +1 -1
  699. package/lib/transformers/features/http/HttpIsHeadersTransformer.js +3 -16
  700. package/lib/transformers/features/http/HttpIsHeadersTransformer.js.map +1 -1
  701. package/lib/transformers/features/http/HttpIsQueryTransformer.js +3 -16
  702. package/lib/transformers/features/http/HttpIsQueryTransformer.js.map +1 -1
  703. package/lib/transformers/features/http/HttpParameterTransformer.js +3 -16
  704. package/lib/transformers/features/http/HttpParameterTransformer.js.map +1 -1
  705. package/lib/transformers/features/http/HttpQueryTransformer.js +3 -16
  706. package/lib/transformers/features/http/HttpQueryTransformer.js.map +1 -1
  707. package/lib/transformers/features/http/HttpValidateFormDataTransformer.js +3 -16
  708. package/lib/transformers/features/http/HttpValidateFormDataTransformer.js.map +1 -1
  709. package/lib/transformers/features/http/HttpValidateHeadersTransformer.js +3 -16
  710. package/lib/transformers/features/http/HttpValidateHeadersTransformer.js.map +1 -1
  711. package/lib/transformers/features/http/HttpValidateQueryTransformer.js +3 -16
  712. package/lib/transformers/features/http/HttpValidateQueryTransformer.js.map +1 -1
  713. package/lib/transformers/features/json/JsonApplicationTransformer.js +41 -43
  714. package/lib/transformers/features/json/JsonApplicationTransformer.js.map +1 -1
  715. package/lib/transformers/features/json/JsonAssertParseTransformer.js +3 -16
  716. package/lib/transformers/features/json/JsonAssertParseTransformer.js.map +1 -1
  717. package/lib/transformers/features/json/JsonAssertStringifyTransformer.js +3 -16
  718. package/lib/transformers/features/json/JsonAssertStringifyTransformer.js.map +1 -1
  719. package/lib/transformers/features/json/JsonCreateAssertParseTransformer.js +3 -16
  720. package/lib/transformers/features/json/JsonCreateAssertParseTransformer.js.map +1 -1
  721. package/lib/transformers/features/json/JsonCreateAssertStringifyTransformer.js +3 -16
  722. package/lib/transformers/features/json/JsonCreateAssertStringifyTransformer.js.map +1 -1
  723. package/lib/transformers/features/json/JsonCreateIsParseTransformer.js +3 -16
  724. package/lib/transformers/features/json/JsonCreateIsParseTransformer.js.map +1 -1
  725. package/lib/transformers/features/json/JsonCreateIsStringifyTransformer.js +3 -16
  726. package/lib/transformers/features/json/JsonCreateIsStringifyTransformer.js.map +1 -1
  727. package/lib/transformers/features/json/JsonCreateStringifyTransformer.js +3 -16
  728. package/lib/transformers/features/json/JsonCreateStringifyTransformer.js.map +1 -1
  729. package/lib/transformers/features/json/JsonCreateValidateParseTransformer.js +3 -16
  730. package/lib/transformers/features/json/JsonCreateValidateParseTransformer.js.map +1 -1
  731. package/lib/transformers/features/json/JsonCreateValidateStringifyProgrammer.js +3 -16
  732. package/lib/transformers/features/json/JsonCreateValidateStringifyProgrammer.js.map +1 -1
  733. package/lib/transformers/features/json/JsonIsParseTransformer.js +3 -16
  734. package/lib/transformers/features/json/JsonIsParseTransformer.js.map +1 -1
  735. package/lib/transformers/features/json/JsonIsStringifyTransformer.js +3 -16
  736. package/lib/transformers/features/json/JsonIsStringifyTransformer.js.map +1 -1
  737. package/lib/transformers/features/json/JsonSchemasTransformer.js +62 -115
  738. package/lib/transformers/features/json/JsonSchemasTransformer.js.map +1 -1
  739. package/lib/transformers/features/json/JsonStringifyTransformer.js +3 -16
  740. package/lib/transformers/features/json/JsonStringifyTransformer.js.map +1 -1
  741. package/lib/transformers/features/json/JsonValidateParseTransformer.js +3 -16
  742. package/lib/transformers/features/json/JsonValidateParseTransformer.js.map +1 -1
  743. package/lib/transformers/features/json/JsonValidateStringifyTransformer.js +3 -16
  744. package/lib/transformers/features/json/JsonValidateStringifyTransformer.js.map +1 -1
  745. package/lib/transformers/features/llm/LlmApplicationTransformer.js +52 -80
  746. package/lib/transformers/features/llm/LlmApplicationTransformer.js.map +1 -1
  747. package/lib/transformers/features/llm/LlmSchemaTransformer.js +43 -47
  748. package/lib/transformers/features/llm/LlmSchemaTransformer.js.map +1 -1
  749. package/lib/transformers/features/misc/MiscAssertCloneTransformer.js +3 -16
  750. package/lib/transformers/features/misc/MiscAssertCloneTransformer.js.map +1 -1
  751. package/lib/transformers/features/misc/MiscAssertPruneTransformer.js +3 -16
  752. package/lib/transformers/features/misc/MiscAssertPruneTransformer.js.map +1 -1
  753. package/lib/transformers/features/misc/MiscCloneTransformer.js +3 -16
  754. package/lib/transformers/features/misc/MiscCloneTransformer.js.map +1 -1
  755. package/lib/transformers/features/misc/MiscCreateAssertCloneTransformer.js +3 -16
  756. package/lib/transformers/features/misc/MiscCreateAssertCloneTransformer.js.map +1 -1
  757. package/lib/transformers/features/misc/MiscCreateAssertPruneTransformer.js +3 -16
  758. package/lib/transformers/features/misc/MiscCreateAssertPruneTransformer.js.map +1 -1
  759. package/lib/transformers/features/misc/MiscCreateCloneTransformer.js +3 -16
  760. package/lib/transformers/features/misc/MiscCreateCloneTransformer.js.map +1 -1
  761. package/lib/transformers/features/misc/MiscCreateIsCloneTransformer.js +3 -16
  762. package/lib/transformers/features/misc/MiscCreateIsCloneTransformer.js.map +1 -1
  763. package/lib/transformers/features/misc/MiscCreateIsPruneTransformer.js +3 -16
  764. package/lib/transformers/features/misc/MiscCreateIsPruneTransformer.js.map +1 -1
  765. package/lib/transformers/features/misc/MiscCreatePruneTransformer.js +3 -16
  766. package/lib/transformers/features/misc/MiscCreatePruneTransformer.js.map +1 -1
  767. package/lib/transformers/features/misc/MiscCreateValidateCloneTransformer.js +3 -16
  768. package/lib/transformers/features/misc/MiscCreateValidateCloneTransformer.js.map +1 -1
  769. package/lib/transformers/features/misc/MiscCreateValidatePruneTransformer.js +3 -16
  770. package/lib/transformers/features/misc/MiscCreateValidatePruneTransformer.js.map +1 -1
  771. package/lib/transformers/features/misc/MiscIsCloneTransformer.js +3 -16
  772. package/lib/transformers/features/misc/MiscIsCloneTransformer.js.map +1 -1
  773. package/lib/transformers/features/misc/MiscIsPruneTransformer.js +3 -16
  774. package/lib/transformers/features/misc/MiscIsPruneTransformer.js.map +1 -1
  775. package/lib/transformers/features/misc/MiscLiteralsTransformer.js +6 -6
  776. package/lib/transformers/features/misc/MiscLiteralsTransformer.js.map +1 -1
  777. package/lib/transformers/features/misc/MiscPruneTransformer.js +3 -16
  778. package/lib/transformers/features/misc/MiscPruneTransformer.js.map +1 -1
  779. package/lib/transformers/features/misc/MiscValidateCloneTransformer.js +3 -16
  780. package/lib/transformers/features/misc/MiscValidateCloneTransformer.js.map +1 -1
  781. package/lib/transformers/features/misc/MiscValidatePruneTransformer.js +3 -16
  782. package/lib/transformers/features/misc/MiscValidatePruneTransformer.js.map +1 -1
  783. package/lib/transformers/features/notations/NotationAssertGeneralTransformer.js +4 -19
  784. package/lib/transformers/features/notations/NotationAssertGeneralTransformer.js.map +1 -1
  785. package/lib/transformers/features/notations/NotationCreateAssertGeneralTransformer.js +4 -19
  786. package/lib/transformers/features/notations/NotationCreateAssertGeneralTransformer.js.map +1 -1
  787. package/lib/transformers/features/notations/NotationCreateGeneralTransformer.js +4 -19
  788. package/lib/transformers/features/notations/NotationCreateGeneralTransformer.js.map +1 -1
  789. package/lib/transformers/features/notations/NotationCreateIsGeneralTransformer.js +4 -19
  790. package/lib/transformers/features/notations/NotationCreateIsGeneralTransformer.js.map +1 -1
  791. package/lib/transformers/features/notations/NotationCreateValidateGeneralTransformer.js +4 -19
  792. package/lib/transformers/features/notations/NotationCreateValidateGeneralTransformer.js.map +1 -1
  793. package/lib/transformers/features/notations/NotationGeneralTransformer.js +3 -18
  794. package/lib/transformers/features/notations/NotationGeneralTransformer.js.map +1 -1
  795. package/lib/transformers/features/notations/NotationIsGeneralTransformer.js +4 -19
  796. package/lib/transformers/features/notations/NotationIsGeneralTransformer.js.map +1 -1
  797. package/lib/transformers/features/notations/NotationValidateGeneralTransformer.js +4 -19
  798. package/lib/transformers/features/notations/NotationValidateGeneralTransformer.js.map +1 -1
  799. package/lib/transformers/features/protobuf/ProtobufAssertDecodeTransformer.js +3 -16
  800. package/lib/transformers/features/protobuf/ProtobufAssertDecodeTransformer.js.map +1 -1
  801. package/lib/transformers/features/protobuf/ProtobufAssertEncodeTransformer.js +3 -16
  802. package/lib/transformers/features/protobuf/ProtobufAssertEncodeTransformer.js.map +1 -1
  803. package/lib/transformers/features/protobuf/ProtobufCreateAssertDecodeTransformer.js +3 -16
  804. package/lib/transformers/features/protobuf/ProtobufCreateAssertDecodeTransformer.js.map +1 -1
  805. package/lib/transformers/features/protobuf/ProtobufCreateAssertEncodeTransformer.js +3 -16
  806. package/lib/transformers/features/protobuf/ProtobufCreateAssertEncodeTransformer.js.map +1 -1
  807. package/lib/transformers/features/protobuf/ProtobufCreateDecodeTransformer.js +3 -16
  808. package/lib/transformers/features/protobuf/ProtobufCreateDecodeTransformer.js.map +1 -1
  809. package/lib/transformers/features/protobuf/ProtobufCreateEncodeTransformer.js +3 -16
  810. package/lib/transformers/features/protobuf/ProtobufCreateEncodeTransformer.js.map +1 -1
  811. package/lib/transformers/features/protobuf/ProtobufCreateIsDecodeTransformer.js +3 -16
  812. package/lib/transformers/features/protobuf/ProtobufCreateIsDecodeTransformer.js.map +1 -1
  813. package/lib/transformers/features/protobuf/ProtobufCreateIsEncodeTransformer.js +3 -16
  814. package/lib/transformers/features/protobuf/ProtobufCreateIsEncodeTransformer.js.map +1 -1
  815. package/lib/transformers/features/protobuf/ProtobufCreateValidateDecodeTransformer.js +3 -16
  816. package/lib/transformers/features/protobuf/ProtobufCreateValidateDecodeTransformer.js.map +1 -1
  817. package/lib/transformers/features/protobuf/ProtobufCreateValidateEncodeTransformer.js +3 -16
  818. package/lib/transformers/features/protobuf/ProtobufCreateValidateEncodeTransformer.js.map +1 -1
  819. package/lib/transformers/features/protobuf/ProtobufDecodeTransformer.js +3 -16
  820. package/lib/transformers/features/protobuf/ProtobufDecodeTransformer.js.map +1 -1
  821. package/lib/transformers/features/protobuf/ProtobufEncodeTransformer.js +3 -16
  822. package/lib/transformers/features/protobuf/ProtobufEncodeTransformer.js.map +1 -1
  823. package/lib/transformers/features/protobuf/ProtobufIsDecodeTransformer.js +3 -16
  824. package/lib/transformers/features/protobuf/ProtobufIsDecodeTransformer.js.map +1 -1
  825. package/lib/transformers/features/protobuf/ProtobufIsEncodeTransformer.js +3 -16
  826. package/lib/transformers/features/protobuf/ProtobufIsEncodeTransformer.js.map +1 -1
  827. package/lib/transformers/features/protobuf/ProtobufMessageTransformer.js +5 -5
  828. package/lib/transformers/features/protobuf/ProtobufMessageTransformer.js.map +1 -1
  829. package/lib/transformers/features/protobuf/ProtobufValidateDecodeTransformer.js +3 -16
  830. package/lib/transformers/features/protobuf/ProtobufValidateDecodeTransformer.js.map +1 -1
  831. package/lib/transformers/features/protobuf/ProtobufValidateEncodeTransformer.js +3 -16
  832. package/lib/transformers/features/protobuf/ProtobufValidateEncodeTransformer.js.map +1 -1
  833. package/lib/transformers/features/reflect/ReflectMetadataTransformer.js +17 -19
  834. package/lib/transformers/features/reflect/ReflectMetadataTransformer.js.map +1 -1
  835. package/lib/transformers/features/reflect/ReflectNameTransformer.js +15 -15
  836. package/lib/transformers/features/reflect/ReflectNameTransformer.js.map +1 -1
  837. package/lib/transformers/internal/GenericTransformer.js +21 -39
  838. package/lib/transformers/internal/GenericTransformer.js.map +1 -1
  839. package/lib/utils/ArrayUtil.js +9 -12
  840. package/lib/utils/ArrayUtil.js.map +1 -1
  841. package/lib/utils/Escaper.js +3 -5
  842. package/lib/utils/Escaper.js.map +1 -1
  843. package/lib/utils/MapUtil.js +3 -3
  844. package/lib/utils/MapUtil.js.map +1 -1
  845. package/lib/utils/NamingConvention.js +43 -51
  846. package/lib/utils/NamingConvention.js.map +1 -1
  847. package/lib/utils/PatternUtil.js +9 -34
  848. package/lib/utils/PatternUtil.js.map +1 -1
  849. package/lib/utils/ProtobufNameEncoder.js +8 -59
  850. package/lib/utils/ProtobufNameEncoder.js.map +1 -1
  851. package/lib/utils/Singleton.js +7 -37
  852. package/lib/utils/Singleton.js.map +1 -1
  853. package/lib/utils/StringUtil.js +3 -5
  854. package/lib/utils/StringUtil.js.map +1 -1
  855. package/package.json +2 -2
  856. package/src/factories/ExpressionFactory.ts +62 -8
  857. package/src/factories/MetadataFactory.ts +17 -20
  858. package/src/internal/_isFormatByte.ts +7 -0
  859. package/src/internal/_isFormatDate.ts +3 -0
  860. package/src/internal/_isFormatDateTime.ts +4 -0
  861. package/src/internal/_isFormatDuration.ts +4 -0
  862. package/src/internal/_isFormatEmail.ts +4 -0
  863. package/src/internal/_isFormatHostname.ts +4 -0
  864. package/src/internal/_isFormatIdnEmail.ts +4 -0
  865. package/src/internal/_isFormatIdnHostname.ts +4 -0
  866. package/src/internal/_isFormatIpv4.ts +4 -0
  867. package/src/internal/_isFormatIpv6.ts +4 -0
  868. package/src/internal/_isFormatIri.ts +3 -0
  869. package/src/internal/_isFormatIriReference.ts +4 -0
  870. package/src/internal/_isFormatJsonPointer.ts +3 -0
  871. package/src/internal/_isFormatPassword.ts +1 -0
  872. package/src/internal/_isFormatRegex.ts +8 -0
  873. package/src/internal/_isFormatRelativeJsonPointer.ts +4 -0
  874. package/src/internal/_isFormatTime.ts +4 -0
  875. package/src/internal/_isFormatUri.ts +6 -0
  876. package/src/internal/_isFormatUriReference.ts +5 -0
  877. package/src/internal/_isFormatUriTemplate.ts +4 -0
  878. package/src/internal/_isFormatUrl.ts +4 -0
  879. package/src/internal/_isFormatUuid.ts +3 -0
  880. package/src/internal/_isTypeFloat.ts +5 -0
  881. package/src/internal/_isTypeInt32.ts +5 -0
  882. package/src/internal/_isTypeInt64.ts +5 -0
  883. package/src/internal/_isTypeUint32.ts +5 -0
  884. package/src/internal/_isTypeUint64.ts +5 -0
  885. package/src/programmers/internal/check_array_length.ts +5 -4
  886. package/src/programmers/internal/check_bigint.ts +5 -4
  887. package/src/programmers/internal/check_number.ts +5 -4
  888. package/src/programmers/internal/check_string.ts +5 -4
  889. package/src/tags/Format.ts +38 -4
  890. package/src/tags/Type.ts +5 -5
@@ -1,85 +1,49 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __read = (this && this.__read) || function (o, n) {
14
- var m = typeof Symbol === "function" && o[Symbol.iterator];
15
- if (!m) return o;
16
- var i = m.call(o), r, ar = [], e;
17
- try {
18
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
19
- }
20
- catch (error) { e = { error: error }; }
21
- finally {
22
- try {
23
- if (r && !r.done && (m = i["return"])) m.call(i);
24
- }
25
- finally { if (e) throw e.error; }
26
- }
27
- return ar;
28
- };
29
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
30
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
31
- if (ar || !(i in from)) {
32
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
33
- ar[i] = from[i];
34
- }
35
- }
36
- return to.concat(ar || Array.prototype.slice.call(from));
37
- };
38
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
39
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
40
4
  };
41
5
  Object.defineProperty(exports, "__esModule", { value: true });
42
6
  exports.ProtobufDecodeProgrammer = void 0;
43
- var typescript_1 = __importDefault(require("typescript"));
44
- var ExpressionFactory_1 = require("../../factories/ExpressionFactory");
45
- var IdentifierFactory_1 = require("../../factories/IdentifierFactory");
46
- var MetadataCollection_1 = require("../../factories/MetadataCollection");
47
- var MetadataFactory_1 = require("../../factories/MetadataFactory");
48
- var ProtobufFactory_1 = require("../../factories/ProtobufFactory");
49
- var StatementFactory_1 = require("../../factories/StatementFactory");
50
- var TypeFactory_1 = require("../../factories/TypeFactory");
51
- var MetadataObjectType_1 = require("../../schemas/metadata/MetadataObjectType");
52
- var MetadataProperty_1 = require("../../schemas/metadata/MetadataProperty");
53
- var FeatureProgrammer_1 = require("../FeatureProgrammer");
54
- var FunctionProgrammer_1 = require("../helpers/FunctionProgrammer");
55
- var ProtobufUtil_1 = require("../helpers/ProtobufUtil");
7
+ const typescript_1 = __importDefault(require("typescript"));
8
+ const ExpressionFactory_1 = require("../../factories/ExpressionFactory");
9
+ const IdentifierFactory_1 = require("../../factories/IdentifierFactory");
10
+ const MetadataCollection_1 = require("../../factories/MetadataCollection");
11
+ const MetadataFactory_1 = require("../../factories/MetadataFactory");
12
+ const ProtobufFactory_1 = require("../../factories/ProtobufFactory");
13
+ const StatementFactory_1 = require("../../factories/StatementFactory");
14
+ const TypeFactory_1 = require("../../factories/TypeFactory");
15
+ const MetadataObjectType_1 = require("../../schemas/metadata/MetadataObjectType");
16
+ const MetadataProperty_1 = require("../../schemas/metadata/MetadataProperty");
17
+ const FeatureProgrammer_1 = require("../FeatureProgrammer");
18
+ const FunctionProgrammer_1 = require("../helpers/FunctionProgrammer");
19
+ const ProtobufUtil_1 = require("../helpers/ProtobufUtil");
56
20
  var ProtobufDecodeProgrammer;
57
21
  (function (ProtobufDecodeProgrammer) {
58
- ProtobufDecodeProgrammer.decompose = function (props) {
22
+ ProtobufDecodeProgrammer.decompose = (props) => {
59
23
  var _a;
60
- var collection = new MetadataCollection_1.MetadataCollection();
61
- var meta = ProtobufFactory_1.ProtobufFactory.metadata({
24
+ const collection = new MetadataCollection_1.MetadataCollection();
25
+ const meta = ProtobufFactory_1.ProtobufFactory.metadata({
62
26
  method: props.modulo.getText(),
63
27
  checker: props.context.checker,
64
28
  transformer: props.context.transformer,
65
- collection: collection,
29
+ collection,
66
30
  type: props.type,
67
31
  });
68
32
  return {
69
33
  functions: Object.fromEntries(collection
70
34
  .objects()
71
- .filter(function (object) { return ProtobufUtil_1.ProtobufUtil.isStaticObject(object); })
72
- .map(function (object) { return [
73
- "".concat(PREFIX, "o").concat(object.index),
35
+ .filter((object) => ProtobufUtil_1.ProtobufUtil.isStaticObject(object))
36
+ .map((object) => [
37
+ `${PREFIX}o${object.index}`,
74
38
  StatementFactory_1.StatementFactory.constant({
75
- name: props.functor.useLocal("".concat(PREFIX, "o").concat(object.index)),
39
+ name: props.functor.useLocal(`${PREFIX}o${object.index}`),
76
40
  value: write_object_function({
77
41
  context: props.context,
78
42
  functor: props.functor,
79
- object: object,
43
+ object,
80
44
  }),
81
45
  }),
82
- ]; })),
46
+ ])),
83
47
  statements: [],
84
48
  arrow: typescript_1.default.factory.createArrowFunction(undefined, undefined, [
85
49
  IdentifierFactory_1.IdentifierFactory.parameter("input", typescript_1.default.factory.createTypeReferenceNode("Uint8Array")),
@@ -104,123 +68,104 @@ var ProtobufDecodeProgrammer;
104
68
  ], true)),
105
69
  };
106
70
  };
107
- ProtobufDecodeProgrammer.write = function (props) {
108
- var functor = new FunctionProgrammer_1.FunctionProgrammer(props.modulo.getText());
109
- var result = ProtobufDecodeProgrammer.decompose(__assign(__assign({}, props), { functor: functor }));
71
+ ProtobufDecodeProgrammer.write = (props) => {
72
+ const functor = new FunctionProgrammer_1.FunctionProgrammer(props.modulo.getText());
73
+ const result = ProtobufDecodeProgrammer.decompose(Object.assign(Object.assign({}, props), { functor }));
110
74
  return FeatureProgrammer_1.FeatureProgrammer.writeDecomposed({
111
75
  modulo: props.modulo,
112
- functor: functor,
113
- result: result,
76
+ functor,
77
+ result,
114
78
  });
115
79
  };
116
- var write_object_function = function (props) {
117
- return typescript_1.default.factory.createArrowFunction(undefined, undefined, [
118
- IdentifierFactory_1.IdentifierFactory.parameter("reader"),
119
- IdentifierFactory_1.IdentifierFactory.parameter("length", TypeFactory_1.TypeFactory.keyword("number"), ExpressionFactory_1.ExpressionFactory.number(-1)),
120
- ], TypeFactory_1.TypeFactory.keyword("any"), undefined, typescript_1.default.factory.createBlock(__spreadArray(__spreadArray([
121
- typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createBinaryExpression(typescript_1.default.factory.createIdentifier("length"), typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.EqualsToken), typescript_1.default.factory.createConditionalExpression(typescript_1.default.factory.createLessThan(typescript_1.default.factory.createIdentifier("length"), ExpressionFactory_1.ExpressionFactory.number(0)), undefined, callReader("size"), undefined, typescript_1.default.factory.createAdd(callReader("index"), typescript_1.default.factory.createIdentifier("length")))))
122
- ], __read(write_object_function_body({
80
+ const write_object_function = (props) => typescript_1.default.factory.createArrowFunction(undefined, undefined, [
81
+ IdentifierFactory_1.IdentifierFactory.parameter("reader"),
82
+ IdentifierFactory_1.IdentifierFactory.parameter("length", TypeFactory_1.TypeFactory.keyword("number"), ExpressionFactory_1.ExpressionFactory.number(-1)),
83
+ ], TypeFactory_1.TypeFactory.keyword("any"), undefined, typescript_1.default.factory.createBlock([
84
+ typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createBinaryExpression(typescript_1.default.factory.createIdentifier("length"), typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.EqualsToken), typescript_1.default.factory.createConditionalExpression(typescript_1.default.factory.createLessThan(typescript_1.default.factory.createIdentifier("length"), ExpressionFactory_1.ExpressionFactory.number(0)), undefined, callReader("size"), undefined, typescript_1.default.factory.createAdd(callReader("index"), typescript_1.default.factory.createIdentifier("length"))))),
85
+ ...write_object_function_body({
123
86
  context: props.context,
124
87
  condition: typescript_1.default.factory.createLessThan(callReader("index"), typescript_1.default.factory.createIdentifier("length")),
125
88
  tag: "tag",
126
89
  output: "output",
127
90
  object: props.object,
128
- })), false), [
129
- typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createIdentifier("output")),
130
- ], false), true));
131
- };
132
- var write_object_function_body = function (props) {
133
- if (props.object.properties.some(function (p) { return p.of_protobuf_ === undefined; }))
91
+ }),
92
+ typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createIdentifier("output")),
93
+ ], true));
94
+ const write_object_function_body = (props) => {
95
+ if (props.object.properties.some((p) => p.of_protobuf_ === undefined))
134
96
  ProtobufFactory_1.ProtobufFactory.emplaceObject(props.object);
135
- var clauses = props.object.properties
136
- .map(function (p) {
137
- return decode_property({
138
- context: props.context,
139
- accessor: IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(props.output), p.key.getSoleLiteral()),
140
- protobuf: p.of_protobuf_,
141
- metadata: p.value,
142
- });
143
- })
97
+ const clauses = props.object.properties
98
+ .map((p) => decode_property({
99
+ context: props.context,
100
+ accessor: IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier(props.output), p.key.getSoleLiteral()),
101
+ protobuf: p.of_protobuf_,
102
+ metadata: p.value,
103
+ }))
144
104
  .flat();
145
105
  return [
146
106
  StatementFactory_1.StatementFactory.constant({
147
107
  name: props.output,
148
108
  value: typescript_1.default.factory.createAsExpression(typescript_1.default.factory.createObjectLiteralExpression(props.object.properties
149
- .filter(function (p) {
150
- return !(props.context.compilerOptions.exactOptionalPropertyTypes ===
151
- true && p.value.optional === true);
152
- })
153
- .map(function (p) {
154
- return typescript_1.default.factory.createPropertyAssignment(IdentifierFactory_1.IdentifierFactory.identifier(p.key.getSoleLiteral()), write_property_default_value(p.value));
155
- }), true), TypeFactory_1.TypeFactory.keyword("any")),
109
+ .filter((p) => !(props.context.compilerOptions.exactOptionalPropertyTypes ===
110
+ true && p.value.optional === true))
111
+ .map((p) => typescript_1.default.factory.createPropertyAssignment(IdentifierFactory_1.IdentifierFactory.identifier(p.key.getSoleLiteral()), write_property_default_value(p.value))), true), TypeFactory_1.TypeFactory.keyword("any")),
156
112
  }),
157
113
  typescript_1.default.factory.createWhileStatement(props.condition, typescript_1.default.factory.createBlock([
158
114
  StatementFactory_1.StatementFactory.constant({
159
115
  name: props.tag,
160
116
  value: callReader("uint32"),
161
117
  }),
162
- typescript_1.default.factory.createSwitchStatement(typescript_1.default.factory.createUnsignedRightShift(typescript_1.default.factory.createIdentifier(props.tag), ExpressionFactory_1.ExpressionFactory.number(3)), typescript_1.default.factory.createCaseBlock(__spreadArray(__spreadArray([], __read(clauses), false), [
118
+ typescript_1.default.factory.createSwitchStatement(typescript_1.default.factory.createUnsignedRightShift(typescript_1.default.factory.createIdentifier(props.tag), ExpressionFactory_1.ExpressionFactory.number(3)), typescript_1.default.factory.createCaseBlock([
119
+ ...clauses,
163
120
  typescript_1.default.factory.createDefaultClause([
164
121
  typescript_1.default.factory.createExpressionStatement(callReader("skipType", [
165
122
  typescript_1.default.factory.createBitwiseAnd(typescript_1.default.factory.createIdentifier(props.tag), ExpressionFactory_1.ExpressionFactory.number(7)),
166
123
  ])),
167
124
  typescript_1.default.factory.createBreakStatement(),
168
125
  ]),
169
- ], false))),
126
+ ])),
170
127
  ])),
171
128
  ];
172
129
  };
173
- var write_property_default_value = function (value) {
174
- return typescript_1.default.factory.createAsExpression(value.nullable
175
- ? typescript_1.default.factory.createNull()
176
- : value.isRequired() === false
177
- ? typescript_1.default.factory.createIdentifier("undefined")
178
- : value.arrays.length
179
- ? typescript_1.default.factory.createArrayLiteralExpression()
180
- : value.maps.length
181
- ? typescript_1.default.factory.createNewExpression(typescript_1.default.factory.createIdentifier("Map"), undefined, [])
182
- : value.natives.length
183
- ? typescript_1.default.factory.createNewExpression(typescript_1.default.factory.createIdentifier("Uint8Array"), undefined, [typescript_1.default.factory.createArrayLiteralExpression([])])
184
- : value.atomics.some(function (a) { return a.type === "string"; }) ||
185
- value.constants.some(function (c) {
186
- return c.type === "string" &&
187
- c.values.some(function (v) { return v.value === ""; });
188
- }) ||
189
- value.templates.some(function (tpl) {
190
- return tpl.row.length === 1 &&
191
- tpl.row[0].getName() === "string";
192
- })
193
- ? typescript_1.default.factory.createStringLiteral("")
194
- : value.objects.length &&
195
- value.objects.some(function (obj) { return !ProtobufUtil_1.ProtobufUtil.isStaticObject(obj.type); })
196
- ? typescript_1.default.factory.createObjectLiteralExpression()
197
- : typescript_1.default.factory.createIdentifier("undefined"), TypeFactory_1.TypeFactory.keyword("any"));
198
- };
130
+ const write_property_default_value = (value) => typescript_1.default.factory.createAsExpression(value.nullable
131
+ ? typescript_1.default.factory.createNull()
132
+ : value.isRequired() === false
133
+ ? typescript_1.default.factory.createIdentifier("undefined")
134
+ : value.arrays.length
135
+ ? typescript_1.default.factory.createArrayLiteralExpression()
136
+ : value.maps.length
137
+ ? typescript_1.default.factory.createNewExpression(typescript_1.default.factory.createIdentifier("Map"), undefined, [])
138
+ : value.natives.length
139
+ ? typescript_1.default.factory.createNewExpression(typescript_1.default.factory.createIdentifier("Uint8Array"), undefined, [typescript_1.default.factory.createArrayLiteralExpression([])])
140
+ : value.atomics.some((a) => a.type === "string") ||
141
+ value.constants.some((c) => c.type === "string" &&
142
+ c.values.some((v) => v.value === "")) ||
143
+ value.templates.some((tpl) => tpl.row.length === 1 &&
144
+ tpl.row[0].getName() === "string")
145
+ ? typescript_1.default.factory.createStringLiteral("")
146
+ : value.objects.length &&
147
+ value.objects.some((obj) => !ProtobufUtil_1.ProtobufUtil.isStaticObject(obj.type))
148
+ ? typescript_1.default.factory.createObjectLiteralExpression()
149
+ : typescript_1.default.factory.createIdentifier("undefined"), TypeFactory_1.TypeFactory.keyword("any"));
199
150
  /* -----------------------------------------------------------
200
151
  DECODERS
201
152
  ----------------------------------------------------------- */
202
- var decode_property = function (props) {
203
- return props.protobuf.union.map(function (schema) {
204
- return decode_property_type({
205
- context: props.context,
206
- accessor: props.accessor,
207
- schema: schema,
208
- required: props.metadata.isRequired() && props.metadata.nullable === false,
209
- });
210
- });
211
- };
212
- var decode_property_type = function (props) {
213
- var out = function (title, value) {
214
- return typescript_1.default.factory.createCaseClause(ExpressionFactory_1.ExpressionFactory.number(props.schema.index), __spreadArray(__spreadArray([
215
- typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createIdentifier("// ".concat(title)))
216
- ], __read((Array.isArray(value)
153
+ const decode_property = (props) => props.protobuf.union.map((schema) => decode_property_type({
154
+ context: props.context,
155
+ accessor: props.accessor,
156
+ schema,
157
+ required: props.metadata.isRequired() && props.metadata.nullable === false,
158
+ }));
159
+ const decode_property_type = (props) => {
160
+ const out = (title, value) => typescript_1.default.factory.createCaseClause(ExpressionFactory_1.ExpressionFactory.number(props.schema.index), [
161
+ typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createIdentifier(`// ${title}`)),
162
+ ...(Array.isArray(value)
217
163
  ? value
218
164
  : [
219
165
  typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createBinaryExpression(props.accessor, typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.EqualsToken), value)),
220
- ])), false), [
221
- typescript_1.default.factory.createBreakStatement(),
222
- ], false));
223
- };
166
+ ]),
167
+ typescript_1.default.factory.createBreakStatement(),
168
+ ]);
224
169
  // ATOMICS
225
170
  if (props.schema.type === "bytes")
226
171
  return out("bytes", callReader("bytes"));
@@ -234,7 +179,7 @@ var ProtobufDecodeProgrammer;
234
179
  return out("string", callReader("string"));
235
180
  // INSTANCES
236
181
  else if (props.schema.type === "array")
237
- return out("Array<".concat(props.schema.array.value.getName(), ">"), decode_array({
182
+ return out(`Array<${props.schema.array.value.getName()}>`, decode_array({
238
183
  accessor: props.accessor,
239
184
  schema: props.schema,
240
185
  required: props.required,
@@ -246,53 +191,49 @@ var ProtobufDecodeProgrammer;
246
191
  }));
247
192
  else if (props.schema.type === "map")
248
193
  if (props.schema.map instanceof MetadataObjectType_1.MetadataObjectType) {
249
- var key = props.schema.map.properties[0].key;
250
- var value = props.schema.map.properties[0].value;
251
- return out("Record<".concat(key.getName(), ", ").concat(value.getName(), ">"), decode_map({
194
+ const key = props.schema.map.properties[0].key;
195
+ const value = props.schema.map.properties[0].value;
196
+ return out(`Record<${key.getName()}, ${value.getName()}>`, decode_map({
252
197
  context: props.context,
253
198
  accessor: props.accessor,
254
199
  schema: props.schema,
255
200
  required: props.required,
256
- key: key,
257
- value: value,
201
+ key,
202
+ value,
258
203
  initializer: typescript_1.default.factory.createObjectLiteralExpression([]),
259
- setter: function () {
260
- return typescript_1.default.factory.createBinaryExpression(typescript_1.default.factory.createElementAccessExpression(props.accessor, typescript_1.default.factory.createIdentifier("entry.key")), typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.EqualsToken), typescript_1.default.factory.createIdentifier("entry.value"));
261
- },
204
+ setter: () => typescript_1.default.factory.createBinaryExpression(typescript_1.default.factory.createElementAccessExpression(props.accessor, typescript_1.default.factory.createIdentifier("entry.key")), typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.EqualsToken), typescript_1.default.factory.createIdentifier("entry.value")),
262
205
  }));
263
206
  }
264
207
  else {
265
- var key = props.schema.map.key;
266
- var value = props.schema.map.value;
267
- return out("Map<".concat(key.getName(), ", ").concat(value.getName(), ">"), decode_map({
208
+ const key = props.schema.map.key;
209
+ const value = props.schema.map.value;
210
+ return out(`Map<${key.getName()}, ${value.getName()}>`, decode_map({
268
211
  context: props.context,
269
212
  accessor: props.accessor,
270
213
  schema: props.schema,
271
214
  required: props.required,
272
- key: key,
273
- value: value,
215
+ key,
216
+ value,
274
217
  initializer: typescript_1.default.factory.createNewExpression(typescript_1.default.factory.createIdentifier("Map"), [TypeFactory_1.TypeFactory.keyword("any"), TypeFactory_1.TypeFactory.keyword("any")], []),
275
- setter: function () {
276
- return typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(props.accessor, "set"), undefined, [
277
- typescript_1.default.factory.createIdentifier("entry.key"),
278
- typescript_1.default.factory.createIdentifier("entry.value"),
279
- ]);
280
- },
218
+ setter: () => typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(props.accessor, "set"), undefined, [
219
+ typescript_1.default.factory.createIdentifier("entry.key"),
220
+ typescript_1.default.factory.createIdentifier("entry.value"),
221
+ ]),
281
222
  }));
282
223
  }
283
224
  throw new Error("Error on ProtobufDecodeProgrammer.write(): unknown property type");
284
225
  };
285
- var decode_number = function (schema) {
286
- var value = callReader(schema.name);
226
+ const decode_number = (schema) => {
227
+ const value = callReader(schema.name);
287
228
  return schema.name === "int64" || schema.name === "uint64"
288
229
  ? typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Number"), undefined, [value])
289
230
  : value;
290
231
  };
291
- var decode_array = function (props) {
292
- var statements = [];
232
+ const decode_array = (props) => {
233
+ const statements = [];
293
234
  if (props.required === false)
294
235
  statements.push(typescript_1.default.factory.createBinaryExpression(props.accessor, typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionQuestionEqualsToken), typescript_1.default.factory.createAsExpression(typescript_1.default.factory.createArrayLiteralExpression(), typescript_1.default.factory.createTypeReferenceNode("any[]"))));
295
- var decoder = decode_array_value(props.schema.value);
236
+ const decoder = decode_array_value(props.schema.value);
296
237
  if (["bool", "bigint", "number"].includes(props.schema.value.type)) {
297
238
  statements.push(typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createStrictEquality(ExpressionFactory_1.ExpressionFactory.number(2), typescript_1.default.factory.createBitwiseAnd(typescript_1.default.factory.createIdentifier("tag"), ExpressionFactory_1.ExpressionFactory.number(7))), typescript_1.default.factory.createBlock([
298
239
  StatementFactory_1.StatementFactory.constant({
@@ -304,56 +245,53 @@ var ProtobufDecodeProgrammer;
304
245
  }
305
246
  else
306
247
  statements.push(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(props.accessor, "push"), undefined, [decoder]));
307
- return statements.map(function (stmt) {
308
- return typescript_1.default.isExpression(stmt) ? typescript_1.default.factory.createExpressionStatement(stmt) : stmt;
309
- });
248
+ return statements.map((stmt) => typescript_1.default.isExpression(stmt) ? typescript_1.default.factory.createExpressionStatement(stmt) : stmt);
310
249
  };
311
- var decode_regular_object = function (props) {
312
- return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("".concat(PREFIX, "o").concat(props.object.index)), undefined, __spreadArray([
313
- typescript_1.default.factory.createIdentifier("reader")
314
- ], __read((props.top ? [] : [callReader("uint32")])), false));
315
- };
316
- var decode_map = function (props) {
317
- var statements = __spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read((props.required === true
318
- ? [
319
- typescript_1.default.factory.createBinaryExpression(props.accessor, typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionQuestionEqualsToken), props.initializer),
320
- ]
321
- : [])), false), [
250
+ const decode_regular_object = (props) => typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(`${PREFIX}o${props.object.index}`), undefined, [
251
+ typescript_1.default.factory.createIdentifier("reader"),
252
+ ...(props.top ? [] : [callReader("uint32")]),
253
+ ]);
254
+ const decode_map = (props) => {
255
+ const statements = [
256
+ ...(props.required === true
257
+ ? [
258
+ typescript_1.default.factory.createBinaryExpression(props.accessor, typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionQuestionEqualsToken), props.initializer),
259
+ ]
260
+ : []),
322
261
  StatementFactory_1.StatementFactory.constant({
323
262
  name: "piece",
324
263
  value: typescript_1.default.factory.createAdd(callReader("uint32"), callReader("index")),
325
- })
326
- ], false), __read(write_object_function_body({
327
- context: props.context,
328
- condition: typescript_1.default.factory.createLessThan(callReader("index"), typescript_1.default.factory.createIdentifier("piece")),
329
- tag: "kind",
330
- output: "entry",
331
- object: createObjectType([
332
- {
333
- key: "key",
334
- value: props.key,
335
- },
336
- {
337
- key: "value",
338
- value: props.value,
339
- },
340
- ]),
341
- })), false), __read((props.required === false
342
- ? [
343
- typescript_1.default.factory.createBinaryExpression(props.accessor, typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionQuestionEqualsToken), props.initializer),
344
- ]
345
- : [])), false), [
264
+ }),
265
+ ...write_object_function_body({
266
+ context: props.context,
267
+ condition: typescript_1.default.factory.createLessThan(callReader("index"), typescript_1.default.factory.createIdentifier("piece")),
268
+ tag: "kind",
269
+ output: "entry",
270
+ object: createObjectType([
271
+ {
272
+ key: "key",
273
+ value: props.key,
274
+ },
275
+ {
276
+ key: "value",
277
+ value: props.value,
278
+ },
279
+ ]),
280
+ }),
281
+ ...(props.required === false
282
+ ? [
283
+ typescript_1.default.factory.createBinaryExpression(props.accessor, typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionQuestionEqualsToken), props.initializer),
284
+ ]
285
+ : []),
346
286
  props.setter(),
347
- ], false);
287
+ ];
348
288
  return [
349
- typescript_1.default.factory.createExpressionStatement(ExpressionFactory_1.ExpressionFactory.selfCall(typescript_1.default.factory.createBlock(statements.map(function (stmt) {
350
- return typescript_1.default.isExpression(stmt)
351
- ? typescript_1.default.factory.createExpressionStatement(stmt)
352
- : stmt;
353
- }), true))),
289
+ typescript_1.default.factory.createExpressionStatement(ExpressionFactory_1.ExpressionFactory.selfCall(typescript_1.default.factory.createBlock(statements.map((stmt) => typescript_1.default.isExpression(stmt)
290
+ ? typescript_1.default.factory.createExpressionStatement(stmt)
291
+ : stmt), true))),
354
292
  ];
355
293
  };
356
- var decode_array_value = function (schema) {
294
+ const decode_array_value = (schema) => {
357
295
  if (schema.type === "bytes")
358
296
  return callReader("bytes");
359
297
  else if (schema.type === "bool")
@@ -372,22 +310,18 @@ var ProtobufDecodeProgrammer;
372
310
  throw new Error("unreachable condition");
373
311
  };
374
312
  })(ProtobufDecodeProgrammer || (exports.ProtobufDecodeProgrammer = ProtobufDecodeProgrammer = {}));
375
- var PREFIX = "_pd";
376
- var callReader = function (method, args) {
377
- return typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier("reader"), method), undefined, args);
378
- };
379
- var createObjectType = function (definitions) {
380
- var properties = definitions.map(function (def) {
381
- return MetadataProperty_1.MetadataProperty.create({
382
- key: MetadataFactory_1.MetadataFactory.soleLiteral(def.key),
383
- value: def.value,
384
- description: null,
385
- jsDocTags: [],
386
- });
387
- });
388
- var obj = MetadataObjectType_1.MetadataObjectType.create({
313
+ const PREFIX = "_pd";
314
+ const callReader = (method, args) => typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier("reader"), method), undefined, args);
315
+ const createObjectType = (definitions) => {
316
+ const properties = definitions.map((def) => MetadataProperty_1.MetadataProperty.create({
317
+ key: MetadataFactory_1.MetadataFactory.soleLiteral(def.key),
318
+ value: def.value,
319
+ description: null,
320
+ jsDocTags: [],
321
+ }));
322
+ const obj = MetadataObjectType_1.MetadataObjectType.create({
389
323
  name: "object.o" + Math.random().toString().slice(2),
390
- properties: properties,
324
+ properties,
391
325
  description: undefined,
392
326
  jsDocTags: [],
393
327
  index: -1,
@@ -1 +1 @@
1
- {"version":3,"file":"ProtobufDecodeProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/protobuf/ProtobufDecodeProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AACtE,uEAAsE;AACtE,yEAAwE;AACxE,mEAAkE;AAClE,mEAAkE;AAClE,qEAAoE;AACpE,2DAA0D;AAG1D,gFAA+E;AAC/E,4EAA2E;AAQ3E,0DAAyD;AACzD,oEAAmE;AACnE,wDAAuD;AAEvD,IAAiB,wBAAwB,CA+kBxC;AA/kBD,WAAiB,wBAAwB;IAC1B,kCAAS,GAAG,UAAC,KAMzB;;QACC,IAAM,UAAU,GAAuB,IAAI,uCAAkB,EAAE,CAAC;QAChE,IAAM,IAAI,GAAa,iCAAe,CAAC,QAAQ,CAAC;YAC9C,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;YAC9B,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;YAC9B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;YACtC,UAAU,YAAA;YACV,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC,CAAC;QACH,OAAO;YACL,SAAS,EAAE,MAAM,CAAC,WAAW,CAC3B,UAAU;iBACP,OAAO,EAAE;iBACT,MAAM,CAAC,UAAC,MAAM,IAAK,OAAA,2BAAY,CAAC,cAAc,CAAC,MAAM,CAAC,EAAnC,CAAmC,CAAC;iBACvD,GAAG,CAAC,UAAC,MAAM,IAAK,OAAA;gBACf,UAAG,MAAM,cAAI,MAAM,CAAC,KAAK,CAAE;gBAC3B,mCAAgB,CAAC,QAAQ,CAAC;oBACxB,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAG,MAAM,cAAI,MAAM,CAAC,KAAK,CAAE,CAAC;oBACzD,KAAK,EAAE,qBAAqB,CAAC;wBAC3B,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,MAAM,QAAA;qBACP,CAAC;iBACH,CAAC;aACH,EAVgB,CAUhB,CAAC,CACL;YACD,UAAU,EAAE,EAAE;YACd,KAAK,EAAE,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CACnC,SAAS,EACT,SAAS,EACT;gBACE,qCAAiB,CAAC,SAAS,CACzB,OAAO,EACP,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,YAAY,CAAC,CACjD;aACF,EACD,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAC1B,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,UAAU;gBAChB,SAAS,EAAE;oBACT,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAChC,MAAA,KAAK,CAAC,IAAI,mCACR,yBAAW,CAAC,WAAW,CAAC;wBACtB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;wBAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;qBACjB,CAAC,CACL;iBACF;aACF,CAAC,EACF,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,WAAW,CACpB;gBACE,mCAAgB,CAAC,QAAQ,CAAC;oBACxB,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CACnC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EACjD,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CACvC;iBACF,CAAC;gBACF,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC9B,qBAAqB,CAAC;oBACpB,GAAG,EAAE,IAAI;oBACT,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,IAAI;iBAC9B,CAAC,CACH;aACF,EACD,IAAI,CACL,CACF;SACF,CAAC;IACJ,CAAC,CAAC;IAEW,8BAAK,GAAG,UAAC,KAAuB;QAC3C,IAAM,OAAO,GAAuB,IAAI,uCAAkB,CACxD,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CACvB,CAAC;QACF,IAAM,MAAM,GAAkC,yBAAA,SAAS,uBAClD,KAAK,KACR,OAAO,SAAA,IACP,CAAC;QACH,OAAO,qCAAiB,CAAC,eAAe,CAAC;YACvC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,OAAO,SAAA;YACP,MAAM,QAAA;SACP,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,IAAM,qBAAqB,GAAG,UAAC,KAI9B;QACC,OAAA,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC5B,SAAS,EACT,SAAS,EACT;YACE,qCAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC;YACrC,qCAAiB,CAAC,SAAS,CACzB,QAAQ,EACR,yBAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,EAC7B,qCAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAC7B;SACF,EACD,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAC1B,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,WAAW;YAElB,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAClC,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAC/B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EACrC,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EACjD,oBAAE,CAAC,OAAO,CAAC,2BAA2B,CACpC,oBAAE,CAAC,OAAO,CAAC,cAAc,CACvB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EACrC,qCAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAC5B,EACD,SAAS,EACT,UAAU,CAAC,MAAM,CAAC,EAClB,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,SAAS,CAClB,UAAU,CAAC,OAAO,CAAC,EACnB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CACtC,CACF,CACF,CACF;kBACE,0BAA0B,CAAC;YAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,SAAS,EAAE,oBAAE,CAAC,OAAO,CAAC,cAAc,CAClC,UAAU,CAAC,OAAO,CAAC,EACnB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CACtC;YACD,GAAG,EAAE,KAAK;YACV,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC;YACF,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC9B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CACtC;mBAEH,IAAI,CACL,CACF;IAlDD,CAkDC,CAAC;IAEJ,IAAM,0BAA0B,GAAG,UAAC,KAMnC;QACC,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,YAAY,KAAK,SAAS,EAA5B,CAA4B,CAAC;YACnE,iCAAe,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAM,OAAO,GAAoB,KAAK,CAAC,MAAM,CAAC,UAAU;aACrD,GAAG,CAAC,UAAC,CAAC;YACL,OAAA,eAAe,CAAC;gBACd,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,QAAQ,EAAE,qCAAiB,CAAC,MAAM,CAChC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,EACzC,CAAC,CAAC,GAAG,CAAC,cAAc,EAAG,CACxB;gBACD,QAAQ,EAAE,CAAC,CAAC,YAAa;gBACzB,QAAQ,EAAE,CAAC,CAAC,KAAK;aAClB,CAAC;QARF,CAQE,CACH;aACA,IAAI,EAAE,CAAC;QACV,OAAO;YACL,mCAAgB,CAAC,QAAQ,CAAC;gBACxB,IAAI,EAAE,KAAK,CAAC,MAAM;gBAClB,KAAK,EAAE,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CAClC,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACtC,KAAK,CAAC,MAAM,CAAC,UAAU;qBACpB,MAAM,CACL,UAAC,CAAC;oBACA,OAAA,CAAC,CACC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,0BAA0B;wBACtD,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI,CACpC;gBAHD,CAGC,CACJ;qBACA,GAAG,CAAC,UAAC,CAAC;oBACL,OAAA,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,qCAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,cAAc,EAAG,CAAC,EACrD,4BAA4B,CAAC,CAAC,CAAC,KAAK,CAAC,CACtC;gBAHD,CAGC,CACF,EACH,IAAI,CACL,EACD,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAC3B;aACF,CAAC;YACF,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,KAAK,CAAC,SAAS,EACf,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC;gBACrB,mCAAgB,CAAC,QAAQ,CAAC;oBACxB,IAAI,EAAE,KAAK,CAAC,GAAG;oBACf,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC;iBAC5B,CAAC;gBACF,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC9B,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,EACtC,qCAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAC5B,EACD,oBAAE,CAAC,OAAO,CAAC,eAAe,wCACrB,OAAO;oBACV,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC;wBAC7B,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAClC,UAAU,CAAC,UAAU,EAAE;4BACrB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACzB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,EACtC,qCAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAC5B;yBACF,CAAC,CACH;wBACD,oBAAE,CAAC,OAAO,CAAC,oBAAoB,EAAE;qBAClC,CAAC;0BACF,CACH;aACF,CAAC,CACH;SACF,CAAC;IACJ,CAAC,CAAC;IAEF,IAAM,4BAA4B,GAAG,UAAC,KAAe;QACnD,OAAA,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CAC3B,KAAK,CAAC,QAAQ;YACZ,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE;YACzB,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,KAAK;gBAC5B,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC;gBAC1C,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM;oBACnB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,4BAA4B,EAAE;oBAC3C,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM;wBACjB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC5B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAClC,SAAS,EACT,EAAE,CACH;wBACH,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM;4BACpB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC5B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,EACzC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,EAAE,CAAC,CAAC,CAC9C;4BACH,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAnB,CAAmB,CAAC;gCAC5C,KAAK,CAAC,SAAS,CAAC,IAAI,CAClB,UAAC,CAAC;oCACA,OAAA,CAAC,CAAC,IAAI,KAAK,QAAQ;wCACnB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,KAAK,KAAK,EAAE,EAAd,CAAc,CAAC;gCADpC,CACoC,CACvC;gCACD,KAAK,CAAC,SAAS,CAAC,IAAI,CAClB,UAAC,GAAG;oCACF,OAAA,GAAG,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC;wCACpB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,OAAO,EAAE,KAAK,QAAQ;gCADlC,CACkC,CACrC;gCACH,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;gCACpC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM;oCAClB,KAAK,CAAC,OAAO,CAAC,IAAI,CAChB,UAAC,GAAG,IAAK,OAAA,CAAC,2BAAY,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAtC,CAAsC,CAChD;oCACH,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,6BAA6B,EAAE;oCAC5C,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,EACxD,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAC3B;IAtCD,CAsCC,CAAC;IAEJ;;kEAE8D;IAC9D,IAAM,eAAe,GAAG,UAAC,KAKxB;QACC,OAAA,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,MAAM;YAC9B,OAAA,oBAAoB,CAAC;gBACnB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,MAAM,QAAA;gBACN,QAAQ,EACN,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,KAAK,KAAK;aACnE,CAAC;QANF,CAME,CACH;IARD,CAQC,CAAC;IAEJ,IAAM,oBAAoB,GAAG,UAAC,KAK7B;QACC,IAAM,GAAG,GAAG,UACV,KAAa,EACb,KAAqC;YAErC,OAAA,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACzB,qCAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;gBAE1C,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAClC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,aAAM,KAAK,CAAE,CAAC,CAC3C;sBACE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBACtB,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC;oBACE,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAClC,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAC/B,KAAK,CAAC,QAAQ,EACd,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EACjD,KAAK,CACN,CACF;iBACF,CAAC;gBACN,oBAAE,CAAC,OAAO,CAAC,oBAAoB,EAAE;sBAEpC;QAnBD,CAmBC,CAAC;QACJ,UAAU;QACV,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;aACvE,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM;YACnC,OAAO,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;aACpC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ;YACrC,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAC1D,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ;YACrC,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;aACxD,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ;YACrC,OAAO,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7C,YAAY;aACP,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO;YACpC,OAAO,GAAG,CACR,gBAAS,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,MAAG,EAC9C,YAAY,CAAC;gBACX,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB,CAAC,CACH,CAAC;aACC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ;YACrC,OAAO,GAAG,CACR,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EACxB,qBAAqB,CAAC;gBACpB,GAAG,EAAE,KAAK;gBACV,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;aAC5B,CAAC,CACH,CAAC;aACC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK;YAClC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,YAAY,uCAAkB,EAAE,CAAC;gBACnD,IAAM,GAAG,GAAa,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC;gBAC1D,IAAM,KAAK,GAAa,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC;gBAC9D,OAAO,GAAG,CACR,iBAAU,GAAG,CAAC,OAAO,EAAE,eAAK,KAAK,CAAC,OAAO,EAAE,MAAG,EAC9C,UAAU,CAAC;oBACT,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,GAAG,KAAA;oBACH,KAAK,OAAA;oBACL,WAAW,EAAE,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC,EAAE,CAAC;oBACzD,MAAM,EAAE;wBACN,OAAA,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAC/B,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACtC,KAAK,CAAC,QAAQ,EACd,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,CACzC,EACD,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EACjD,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAC3C;oBAPD,CAOC;iBACJ,CAAC,CACH,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAM,GAAG,GAAa,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;gBAC3C,IAAM,KAAK,GAAa,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;gBAC/C,OAAO,GAAG,CACR,cAAO,GAAG,CAAC,OAAO,EAAE,eAAK,KAAK,CAAC,OAAO,EAAE,MAAG,EAC3C,UAAU,CAAC;oBACT,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,GAAG,KAAA;oBACH,KAAK,OAAA;oBACL,WAAW,EAAE,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CACzC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAClC,CAAC,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EACxD,EAAE,CACH;oBACD,MAAM,EAAE;wBACN,OAAA,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,qCAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,EAC/C,SAAS,EACT;4BACE,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC;4BACxC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,aAAa,CAAC;yBAC3C,CACF;oBAPD,CAOC;iBACJ,CAAC,CACH,CAAC;YACJ,CAAC;QACH,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAC;IACJ,CAAC,CAAC;IAEF,IAAM,aAAa,GAAG,UAAC,MAA+B;QACpD,IAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;YACxD,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EACrC,SAAS,EACT,CAAC,KAAK,CAAC,CACR;YACH,CAAC,CAAC,KAAK,CAAC;IACZ,CAAC,CAAC;IAEF,IAAM,YAAY,GAAG,UAAC,KAIrB;QACC,IAAM,UAAU,GAAwC,EAAE,CAAC;QAC3D,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK;YAC1B,UAAU,CAAC,IAAI,CACb,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAC/B,KAAK,CAAC,QAAQ,EACd,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAE,CAAC,UAAU,CAAC,2BAA2B,CAAC,EACjE,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CAC3B,oBAAE,CAAC,OAAO,CAAC,4BAA4B,EAAE,EACzC,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAC5C,CACF,CACF,CAAC;QACJ,IAAM,OAAO,GAAkB,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACnE,UAAU,CAAC,IAAI,CACb,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CAC1B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,qCAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACzB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAClC,qCAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAC5B,CACF,EACD,oBAAE,CAAC,OAAO,CAAC,WAAW,CACpB;gBACE,mCAAgB,CAAC,QAAQ,CAAC;oBACxB,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE,oBAAE,CAAC,OAAO,CAAC,SAAS,CACzB,UAAU,CAAC,QAAQ,CAAC,EACpB,UAAU,CAAC,OAAO,CAAC,CACpB;iBACF,CAAC;gBACF,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,oBAAE,CAAC,OAAO,CAAC,cAAc,CACvB,UAAU,CAAC,OAAO,CAAC,EACnB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CACrC,EACD,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAClC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,qCAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,EAChD,SAAS,EACT,CAAC,OAAO,CAAC,CACV,CACF,CACF;aACF,EACD,IAAI,CACL,EACD,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAClC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,qCAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,EAChD,SAAS,EACT,CAAC,OAAO,CAAC,CACV,CACF,CACF,CACF,CAAC;QACJ,CAAC;;YACC,UAAU,CAAC,IAAI,CACb,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,qCAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,EAChD,SAAS,EACT,CAAC,OAAO,CAAC,CACV,CACF,CAAC;QACJ,OAAO,UAAU,CAAC,GAAG,CAAC,UAAC,IAAI;YACzB,OAAA,oBAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;QAAzE,CAAyE,CAC1E,CAAC;IACJ,CAAC,CAAC;IAEF,IAAM,qBAAqB,GAAG,UAAC,KAG9B;QACC,OAAA,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAG,MAAM,cAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAE,CAAC,EAC9D,SAAS;YAEP,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC;kBAClC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,UAE/C;IAPD,CAOC,CAAC;IAEJ,IAAM,UAAU,GAAG,UAAC,KASnB;QACC,IAAM,UAAU,oFACX,CAAC,KAAK,CAAC,QAAQ,KAAK,IAAI;YACzB,CAAC,CAAC;gBACE,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAC/B,KAAK,CAAC,QAAQ,EACd,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAE,CAAC,UAAU,CAAC,2BAA2B,CAAC,EACjE,KAAK,CAAC,WAAW,CAClB;aACF;YACH,CAAC,CAAC,EAAE,CAAC;YACP,mCAAgB,CAAC,QAAQ,CAAC;gBACxB,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,oBAAE,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;aACvE,CAAC;0BACC,0BAA0B,CAAC;YAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,SAAS,EAAE,oBAAE,CAAC,OAAO,CAAC,cAAc,CAClC,UAAU,CAAC,OAAO,CAAC,EACnB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CACrC;YACD,GAAG,EAAE,MAAM;YACX,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,gBAAgB,CAAC;gBACvB;oBACE,GAAG,EAAE,KAAK;oBACV,KAAK,EAAE,KAAK,CAAC,GAAG;iBACjB;gBACD;oBACE,GAAG,EAAE,OAAO;oBACZ,KAAK,EAAE,KAAK,CAAC,KAAK;iBACnB;aACF,CAAC;SACH,CAAC,kBACC,CAAC,KAAK,CAAC,QAAQ,KAAK,KAAK;YAC1B,CAAC,CAAC;gBACE,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAC/B,KAAK,CAAC,QAAQ,EACd,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAE,CAAC,UAAU,CAAC,2BAA2B,CAAC,EACjE,KAAK,CAAC,WAAW,CAClB;aACF;YACH,CAAC,CAAC,EAAE,CAAC;YACP,KAAK,CAAC,MAAM,EAAE;iBACf,CAAC;QACF,OAAO;YACL,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAClC,qCAAiB,CAAC,QAAQ,CACxB,oBAAE,CAAC,OAAO,CAAC,WAAW,CACpB,UAAU,CAAC,GAAG,CAAC,UAAC,IAAI;gBAClB,OAAA,oBAAE,CAAC,YAAY,CAAC,IAAI,CAAC;oBACnB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC,IAAI,CAAC;oBAC5C,CAAC,CAAC,IAAI;YAFR,CAEQ,CACT,EACD,IAAI,CACL,CACF,CACF;SACF,CAAC;IACJ,CAAC,CAAC;IAEF,IAAM,kBAAkB,GAAG,UACzB,MAAuC;QAEvC,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,UAAU,CAAC,OAAO,CAAC,CAAC;aACnD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;aACtD,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAC7D,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;aAC3D,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;aAC1D,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;YAC/B,OAAO,qBAAqB,CAAC;gBAC3B,GAAG,EAAE,KAAK;gBACV,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC,CAAC;QACL,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC,CAAC;AACJ,CAAC,EA/kBgB,wBAAwB,wCAAxB,wBAAwB,QA+kBxC;AAED,IAAM,MAAM,GAAG,KAAK,CAAC;AACrB,IAAM,UAAU,GAAG,UACjB,MAAc,EACd,IAAsB;IAEtB,OAAA,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,qCAAiB,CAAC,MAAM,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,EACvE,SAAS,EACT,IAAI,CACL;AAJD,CAIC,CAAC;AACJ,IAAM,gBAAgB,GAAG,UACvB,WAGE;IAEF,IAAM,UAAU,GAAuB,WAAW,CAAC,GAAG,CAAC,UAAC,GAAG;QACzD,OAAA,mCAAgB,CAAC,MAAM,CAAC;YACtB,GAAG,EAAE,iCAAe,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;YACzC,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,WAAW,EAAE,IAAI;YACjB,SAAS,EAAE,EAAE;SACd,CAAC;IALF,CAKE,CACH,CAAC;IACF,IAAM,GAAG,GAAuB,uCAAkB,CAAC,MAAM,CAAC;QACxD,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACpD,UAAU,YAAA;QACV,WAAW,EAAE,SAAS;QACtB,SAAS,EAAE,EAAE;QACb,KAAK,EAAE,CAAC,CAAC;QACT,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,KAAK;QAChB,SAAS,EAAE,CAAC,KAAK,CAAC;KACnB,CAAC,CAAC;IACH,iCAAe,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACnC,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}
1
+ {"version":3,"file":"ProtobufDecodeProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/protobuf/ProtobufDecodeProgrammer.ts"],"names":[],"mappings":"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"}