@mionjs/run-types 0.8.8 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1084) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +22 -24
  3. package/bin/skills.mjs +111 -0
  4. package/dist/builders/atomic.d.ts +13 -0
  5. package/dist/builders/atomic.js +32 -0
  6. package/dist/builders/atomic.js.map +1 -0
  7. package/dist/builders/compose.d.ts +61 -0
  8. package/dist/builders/compose.js +103 -0
  9. package/dist/builders/compose.js.map +1 -0
  10. package/dist/builders/index.d.ts +6 -0
  11. package/dist/builders/index.js +5 -0
  12. package/dist/builders/index.js.map +1 -0
  13. package/dist/builders/static.d.ts +138 -0
  14. package/dist/builders/static.js +2 -0
  15. package/dist/builders/static.js.map +1 -0
  16. package/dist/builders/utility.d.ts +13 -0
  17. package/dist/builders/utility.js +32 -0
  18. package/dist/builders/utility.js.map +1 -0
  19. package/dist/cjs/builders/atomic.d.ts +12 -0
  20. package/dist/cjs/builders/atomic.js +43 -0
  21. package/dist/cjs/builders/compose.d.ts +60 -0
  22. package/dist/cjs/builders/compose.js +122 -0
  23. package/dist/cjs/builders/index.d.ts +5 -0
  24. package/dist/cjs/builders/index.js +48 -0
  25. package/dist/cjs/builders/static.d.ts +137 -0
  26. package/dist/cjs/builders/static.js +2 -0
  27. package/dist/cjs/builders/utility.d.ts +12 -0
  28. package/dist/cjs/builders/utility.js +43 -0
  29. package/dist/cjs/createRTFunctions.d.ts +90 -0
  30. package/dist/cjs/createRTFunctions.js +38 -0
  31. package/dist/cjs/enrich/createFriendlyText.d.ts +25 -0
  32. package/dist/cjs/enrich/createFriendlyText.js +275 -0
  33. package/dist/cjs/enrich/friendlyText.d.ts +56 -0
  34. package/dist/cjs/enrich/friendlyText.js +2 -0
  35. package/dist/cjs/enrich/mockData.d.ts +53 -0
  36. package/dist/cjs/enrich/mockData.js +2 -0
  37. package/dist/cjs/fnHash.d.ts +8 -0
  38. package/dist/cjs/fnHash.js +41 -0
  39. package/dist/cjs/formats/bigintFormats.d.ts +41 -0
  40. package/dist/cjs/formats/bigintFormats.js +10 -0
  41. package/dist/cjs/formats/datetime/dateFormats.d.ts +10 -0
  42. package/dist/cjs/formats/datetime/dateFormats.js +2 -0
  43. package/dist/cjs/formats/datetime/dateTime-pure-fns.d.ts +21 -0
  44. package/dist/cjs/formats/datetime/dateTime-pure-fns.js +405 -0
  45. package/dist/cjs/formats/datetime/dateTimeParams.d.ts +14 -0
  46. package/dist/cjs/formats/datetime/dateTimeParams.js +2 -0
  47. package/dist/cjs/formats/datetime/stringDateTimeFormats.d.ts +33 -0
  48. package/dist/cjs/formats/datetime/stringDateTimeFormats.js +2 -0
  49. package/dist/cjs/formats/datetime/temporalFormats.d.ts +84 -0
  50. package/dist/cjs/formats/datetime/temporalFormats.js +23 -0
  51. package/dist/cjs/formats/index.d.ts +18 -0
  52. package/dist/cjs/formats/index.js +88 -0
  53. package/dist/cjs/formats/numberFormats.d.ts +82 -0
  54. package/dist/cjs/formats/numberFormats.js +16 -0
  55. package/dist/cjs/formats/refineFormat.d.ts +24 -0
  56. package/dist/cjs/formats/refineFormat.js +2 -0
  57. package/dist/cjs/formats/scalars.d.ts +32 -0
  58. package/dist/cjs/formats/scalars.js +30 -0
  59. package/dist/cjs/formats/string/credit-card-pure-fns.d.ts +26 -0
  60. package/dist/cjs/formats/string/credit-card-pure-fns.js +151 -0
  61. package/dist/cjs/formats/string/string-formats-pure-fns.d.ts +12 -0
  62. package/dist/cjs/formats/string/string-formats-pure-fns.js +517 -0
  63. package/dist/cjs/formats/string/string-patterns.d.ts +111 -0
  64. package/dist/cjs/formats/string/string-patterns.js +115 -0
  65. package/dist/cjs/formats/string/stringFormats.d.ts +489 -0
  66. package/dist/cjs/formats/string/stringFormats.js +84 -0
  67. package/dist/cjs/formats/structural.d.ts +105 -0
  68. package/dist/cjs/formats/structural.js +7 -0
  69. package/dist/cjs/getRunType.d.ts +4 -0
  70. package/dist/cjs/getRunType.js +20 -0
  71. package/dist/cjs/go-generated/fnHashes.generated.d.ts +196 -0
  72. package/dist/cjs/go-generated/fnHashes.generated.js +78 -0
  73. package/dist/cjs/go-generated/formatErrorKeys.generated.d.ts +78 -0
  74. package/dist/cjs/go-generated/formatErrorKeys.generated.js +40 -0
  75. package/dist/cjs/go-generated/runTypeKind.generated.d.ts +62 -0
  76. package/dist/cjs/go-generated/runTypeKind.generated.js +61 -0
  77. package/dist/cjs/go-generated/typeFormats.generated.d.ts +104 -0
  78. package/dist/cjs/go-generated/typeFormats.generated.js +30 -0
  79. package/dist/cjs/index.d.ts +28 -0
  80. package/dist/cjs/index.js +47 -0
  81. package/dist/cjs/markers.d.ts +33 -0
  82. package/dist/cjs/markers.js +14 -0
  83. package/dist/cjs/mocking/childMatch.d.ts +3 -0
  84. package/dist/cjs/mocking/childMatch.js +357 -0
  85. package/dist/cjs/mocking/constants.mock.d.ts +7 -0
  86. package/dist/cjs/mocking/constants.mock.js +87 -0
  87. package/dist/cjs/mocking/createMockData.d.ts +8 -0
  88. package/dist/cjs/mocking/createMockData.js +53 -0
  89. package/dist/cjs/mocking/index.d.ts +4 -0
  90. package/dist/cjs/mocking/index.js +9 -0
  91. package/dist/cjs/mocking/isMultipleOf.d.ts +2 -0
  92. package/dist/cjs/mocking/isMultipleOf.js +11 -0
  93. package/dist/cjs/mocking/mockBigIntFormat.d.ts +1 -0
  94. package/dist/cjs/mocking/mockBigIntFormat.js +38 -0
  95. package/dist/cjs/mocking/mockDateTimeBounds.d.ts +13 -0
  96. package/dist/cjs/mocking/mockDateTimeBounds.js +277 -0
  97. package/dist/cjs/mocking/mockInvalid.d.ts +15 -0
  98. package/dist/cjs/mocking/mockInvalid.js +233 -0
  99. package/dist/cjs/mocking/mockNumberFormat.d.ts +1 -0
  100. package/dist/cjs/mocking/mockNumberFormat.js +56 -0
  101. package/dist/cjs/mocking/mockRandom.d.ts +20 -0
  102. package/dist/cjs/mocking/mockRandom.js +106 -0
  103. package/dist/cjs/mocking/mockRegistry.d.ts +7 -0
  104. package/dist/cjs/mocking/mockRegistry.js +11 -0
  105. package/dist/cjs/mocking/mockStringFormat.d.ts +5 -0
  106. package/dist/cjs/mocking/mockStringFormat.js +238 -0
  107. package/dist/cjs/mocking/mockTemporal.d.ts +13 -0
  108. package/dist/cjs/mocking/mockTemporal.js +233 -0
  109. package/dist/cjs/mocking/mockType.d.ts +3 -0
  110. package/dist/cjs/mocking/mockType.js +810 -0
  111. package/dist/cjs/mocking/mockTypes.d.ts +54 -0
  112. package/dist/cjs/mocking/mockTypes.js +2 -0
  113. package/dist/cjs/mocking/structuralFormat.d.ts +5 -0
  114. package/dist/cjs/mocking/structuralFormat.js +82 -0
  115. package/dist/cjs/modelTypes.d.ts +11 -0
  116. package/dist/cjs/modelTypes.js +2 -0
  117. package/dist/cjs/overrideRTFunctions.d.ts +9 -0
  118. package/dist/cjs/overrideRTFunctions.js +20 -0
  119. package/dist/cjs/package.json +3 -0
  120. package/dist/cjs/runtime/index.d.ts +10 -0
  121. package/dist/cjs/runtime/index.js +25 -0
  122. package/dist/cjs/runtypes/builderCore.d.ts +7 -0
  123. package/dist/cjs/runtypes/builderCore.js +39 -0
  124. package/dist/cjs/runtypes/builderTypes.d.ts +51 -0
  125. package/dist/cjs/runtypes/builderTypes.js +2 -0
  126. package/dist/cjs/runtypes/circular-pure-fns.d.ts +11 -0
  127. package/dist/cjs/runtypes/circular-pure-fns.js +117 -0
  128. package/dist/cjs/runtypes/circular.d.ts +6 -0
  129. package/dist/cjs/runtypes/circular.js +25 -0
  130. package/dist/cjs/runtypes/classSerializerRegistry.d.ts +28 -0
  131. package/dist/cjs/runtypes/classSerializerRegistry.js +141 -0
  132. package/dist/cjs/runtypes/dataOnly.d.ts +29 -0
  133. package/dist/cjs/runtypes/dataOnly.js +2 -0
  134. package/dist/cjs/runtypes/entryTuple.d.ts +101 -0
  135. package/dist/cjs/runtypes/entryTuple.js +395 -0
  136. package/dist/cjs/runtypes/formatAnnotation.d.ts +4 -0
  137. package/dist/cjs/runtypes/formatAnnotation.js +2 -0
  138. package/dist/cjs/runtypes/formatErrors.d.ts +18 -0
  139. package/dist/cjs/runtypes/formatErrors.js +2 -0
  140. package/dist/cjs/runtypes/formatPattern.d.ts +20 -0
  141. package/dist/cjs/runtypes/formatPattern.js +17 -0
  142. package/dist/cjs/runtypes/jsonShape.d.ts +22 -0
  143. package/dist/cjs/runtypes/jsonShape.js +2 -0
  144. package/dist/cjs/runtypes/pure-fn-ids.generated.d.ts +47 -0
  145. package/dist/cjs/runtypes/pure-fn-ids.generated.js +50 -0
  146. package/dist/cjs/runtypes/pure-fns-utils.d.ts +8 -0
  147. package/dist/cjs/runtypes/pure-fns-utils.js +147 -0
  148. package/dist/cjs/runtypes/pureFn.d.ts +7 -0
  149. package/dist/cjs/runtypes/pureFn.js +52 -0
  150. package/dist/cjs/runtypes/rtUtils.d.ts +45 -0
  151. package/dist/cjs/runtypes/rtUtils.js +218 -0
  152. package/dist/cjs/runtypes/sentinelKeys.d.ts +7 -0
  153. package/dist/cjs/runtypes/sentinelKeys.js +2 -0
  154. package/dist/cjs/runtypes/stripRunTypeMeta.d.ts +53 -0
  155. package/dist/cjs/runtypes/stripRunTypeMeta.js +2 -0
  156. package/dist/cjs/runtypes/typeFormat.d.ts +14 -0
  157. package/dist/cjs/runtypes/typeFormat.js +2 -0
  158. package/dist/cjs/runtypes/types.d.ts +114 -0
  159. package/dist/cjs/runtypes/types.js +2 -0
  160. package/dist/cjs/standard/createJsonSchemaFn.d.ts +8 -0
  161. package/dist/cjs/standard/createJsonSchemaFn.js +16 -0
  162. package/dist/cjs/standard/createStandardSchema.d.ts +18 -0
  163. package/dist/cjs/standard/createStandardSchema.js +30 -0
  164. package/dist/cjs/standard/issueMapping.d.ts +12 -0
  165. package/dist/cjs/standard/issueMapping.js +36 -0
  166. package/dist/cjs/standard/jsonSchemaDoc.d.ts +7 -0
  167. package/dist/cjs/standard/jsonSchemaDoc.js +95 -0
  168. package/dist/cjs/standard/spec.d.ts +47 -0
  169. package/dist/cjs/standard/spec.js +2 -0
  170. package/dist/createRTFunctions.d.ts +91 -0
  171. package/dist/createRTFunctions.js +33 -0
  172. package/dist/createRTFunctions.js.map +1 -0
  173. package/dist/enrich/createFriendlyText.d.ts +26 -0
  174. package/dist/enrich/createFriendlyText.js +271 -0
  175. package/dist/enrich/createFriendlyText.js.map +1 -0
  176. package/dist/enrich/friendlyText.d.ts +57 -0
  177. package/dist/enrich/friendlyText.js +2 -0
  178. package/dist/enrich/friendlyText.js.map +1 -0
  179. package/dist/enrich/mockData.d.ts +54 -0
  180. package/dist/enrich/mockData.js +2 -0
  181. package/dist/enrich/mockData.js.map +1 -0
  182. package/dist/fnHash.d.ts +9 -0
  183. package/dist/fnHash.js +39 -0
  184. package/dist/fnHash.js.map +1 -0
  185. package/dist/formats/bigintFormats.d.ts +42 -0
  186. package/dist/formats/bigintFormats.js +8 -0
  187. package/dist/formats/bigintFormats.js.map +1 -0
  188. package/dist/formats/datetime/dateFormats.d.ts +11 -0
  189. package/dist/formats/datetime/dateFormats.js +2 -0
  190. package/dist/formats/datetime/dateFormats.js.map +1 -0
  191. package/dist/formats/datetime/dateTime-pure-fns.d.ts +22 -0
  192. package/dist/formats/datetime/dateTime-pure-fns.js +403 -0
  193. package/dist/formats/datetime/dateTime-pure-fns.js.map +1 -0
  194. package/dist/formats/datetime/dateTimeParams.d.ts +15 -0
  195. package/dist/formats/datetime/dateTimeParams.js +2 -0
  196. package/dist/formats/datetime/dateTimeParams.js.map +1 -0
  197. package/dist/formats/datetime/stringDateTimeFormats.d.ts +34 -0
  198. package/dist/formats/datetime/stringDateTimeFormats.js +2 -0
  199. package/dist/formats/datetime/stringDateTimeFormats.js.map +1 -0
  200. package/dist/formats/datetime/temporalFormats.d.ts +85 -0
  201. package/dist/formats/datetime/temporalFormats.js +21 -0
  202. package/dist/formats/datetime/temporalFormats.js.map +1 -0
  203. package/dist/formats/index.d.ts +19 -0
  204. package/dist/formats/index.js +9 -0
  205. package/dist/formats/index.js.map +1 -0
  206. package/dist/formats/numberFormats.d.ts +83 -0
  207. package/dist/formats/numberFormats.js +14 -0
  208. package/dist/formats/numberFormats.js.map +1 -0
  209. package/dist/formats/refineFormat.d.ts +25 -0
  210. package/dist/formats/refineFormat.js +2 -0
  211. package/dist/formats/refineFormat.js.map +1 -0
  212. package/dist/formats/scalars.d.ts +33 -0
  213. package/dist/formats/scalars.js +23 -0
  214. package/dist/formats/scalars.js.map +1 -0
  215. package/dist/formats/string/credit-card-pure-fns.d.ts +27 -0
  216. package/dist/formats/string/credit-card-pure-fns.js +147 -0
  217. package/dist/formats/string/credit-card-pure-fns.js.map +1 -0
  218. package/dist/formats/string/string-formats-pure-fns.d.ts +13 -0
  219. package/dist/formats/string/string-formats-pure-fns.js +515 -0
  220. package/dist/formats/string/string-formats-pure-fns.js.map +1 -0
  221. package/dist/formats/string/string-patterns.d.ts +112 -0
  222. package/dist/formats/string/string-patterns.js +113 -0
  223. package/dist/formats/string/string-patterns.js.map +1 -0
  224. package/dist/formats/string/stringFormats.d.ts +490 -0
  225. package/dist/formats/string/stringFormats.js +76 -0
  226. package/dist/formats/string/stringFormats.js.map +1 -0
  227. package/dist/formats/structural.d.ts +106 -0
  228. package/dist/formats/structural.js +5 -0
  229. package/dist/formats/structural.js.map +1 -0
  230. package/dist/getRunType.d.ts +5 -0
  231. package/dist/getRunType.js +18 -0
  232. package/dist/getRunType.js.map +1 -0
  233. package/dist/go-generated/fnHashes.generated.d.ts +197 -0
  234. package/dist/go-generated/fnHashes.generated.js +76 -0
  235. package/dist/go-generated/fnHashes.generated.js.map +1 -0
  236. package/dist/go-generated/formatErrorKeys.generated.d.ts +79 -0
  237. package/dist/go-generated/formatErrorKeys.generated.js +38 -0
  238. package/dist/go-generated/formatErrorKeys.generated.js.map +1 -0
  239. package/dist/go-generated/runTypeKind.generated.d.ts +63 -0
  240. package/dist/go-generated/runTypeKind.generated.js +59 -0
  241. package/dist/go-generated/runTypeKind.generated.js.map +1 -0
  242. package/dist/go-generated/typeFormats.generated.d.ts +105 -0
  243. package/dist/go-generated/typeFormats.generated.js +28 -0
  244. package/dist/go-generated/typeFormats.generated.js.map +1 -0
  245. package/dist/index.d.ts +29 -0
  246. package/dist/index.js +15 -0
  247. package/dist/index.js.map +1 -0
  248. package/dist/markers.d.ts +34 -0
  249. package/dist/markers.js +12 -0
  250. package/dist/markers.js.map +1 -0
  251. package/dist/mion-pure-fns/@mionjs/run-types/-y__pOnrgnvRMz.js +2 -0
  252. package/dist/mion-pure-fns/@mionjs/run-types/0ofEnb55W0BDIY.js +2 -0
  253. package/dist/mion-pure-fns/@mionjs/run-types/18wDCH5CXZoQKV.js +2 -0
  254. package/dist/mion-pure-fns/@mionjs/run-types/2xtQHAMu-yOBo6.js +1 -0
  255. package/dist/mion-pure-fns/@mionjs/run-types/5oCqd7YyfA9rEw.js +1 -0
  256. package/dist/mion-pure-fns/@mionjs/run-types/6E7qWsIwaFRGn6.js +1 -0
  257. package/dist/mion-pure-fns/@mionjs/run-types/6xkN1Qfs9nqO79.js +1 -0
  258. package/dist/mion-pure-fns/@mionjs/run-types/8Mj42N3ytEEn67.js +1 -0
  259. package/dist/mion-pure-fns/@mionjs/run-types/A3KjzpjelkcBST.js +2 -0
  260. package/dist/mion-pure-fns/@mionjs/run-types/AgOXcprpjsrTKk.js +1 -0
  261. package/dist/mion-pure-fns/@mionjs/run-types/E29ul2pUOyD_Ay.js +1 -0
  262. package/dist/mion-pure-fns/@mionjs/run-types/EG8OkOOSnT9bZn.js +1 -0
  263. package/dist/mion-pure-fns/@mionjs/run-types/EYsxRHRDgAykA_.js +3 -0
  264. package/dist/mion-pure-fns/@mionjs/run-types/Eube1z0GFHuqlM.js +2 -0
  265. package/dist/mion-pure-fns/@mionjs/run-types/GA20s6bj41GC1A.js +1 -0
  266. package/dist/mion-pure-fns/@mionjs/run-types/GfQK19ktpvibuZ.js +2 -0
  267. package/dist/mion-pure-fns/@mionjs/run-types/IyjvBbz0zSlgCJ.js +1 -0
  268. package/dist/mion-pure-fns/@mionjs/run-types/LqTR2O-h6MYq9J.js +4 -0
  269. package/dist/mion-pure-fns/@mionjs/run-types/MnJ72PqkyXHiSP.js +1 -0
  270. package/dist/mion-pure-fns/@mionjs/run-types/NJ9TCGDnkv_9Mn.js +2 -0
  271. package/dist/mion-pure-fns/@mionjs/run-types/OCJ1B0-ZCAwagS.js +1 -0
  272. package/dist/mion-pure-fns/@mionjs/run-types/PQVLEBllZckw8I.js +2 -0
  273. package/dist/mion-pure-fns/@mionjs/run-types/Qd_9GJQlOCVqDe.js +1 -0
  274. package/dist/mion-pure-fns/@mionjs/run-types/R0IFkkw4SM2gvv.js +2 -0
  275. package/dist/mion-pure-fns/@mionjs/run-types/THkAA-KNR1HeAe.js +1 -0
  276. package/dist/mion-pure-fns/@mionjs/run-types/VJiknJ2exR2oMF.js +1 -0
  277. package/dist/mion-pure-fns/@mionjs/run-types/XYGjy-tcgDROBw.js +2 -0
  278. package/dist/mion-pure-fns/@mionjs/run-types/Z2sc5xQPKB0oav.js +1 -0
  279. package/dist/mion-pure-fns/@mionjs/run-types/_3Pmrr5aNmyNi4.js +2 -0
  280. package/dist/mion-pure-fns/@mionjs/run-types/cgwpjq6rGsI8jb.js +1 -0
  281. package/dist/mion-pure-fns/@mionjs/run-types/d8U9HjmMsNFd6Z.js +1 -0
  282. package/dist/mion-pure-fns/@mionjs/run-types/fL3v1v6aVZwJ7-.js +1 -0
  283. package/dist/mion-pure-fns/@mionjs/run-types/gFl-yXbCxJqWgQ.js +2 -0
  284. package/dist/mion-pure-fns/@mionjs/run-types/hiotRbfSKFAuK4.js +1 -0
  285. package/dist/mion-pure-fns/@mionjs/run-types/lFYcgG5ZSI-8em.js +1 -0
  286. package/dist/mion-pure-fns/@mionjs/run-types/n_ZOWff4X3qBMQ.js +1 -0
  287. package/dist/mion-pure-fns/@mionjs/run-types/ndkQPoji6DFHx2.js +2 -0
  288. package/dist/mion-pure-fns/@mionjs/run-types/nsU8QeJCuCF8Kr.js +1 -0
  289. package/dist/mion-pure-fns/@mionjs/run-types/qMsNYN8hy_sC8i.js +1 -0
  290. package/dist/mion-pure-fns/@mionjs/run-types/rXVwGkGDX08BsQ.js +1 -0
  291. package/dist/mion-pure-fns/@mionjs/run-types/rgWveqNi_HeFF8.js +5 -0
  292. package/dist/mion-pure-fns/@mionjs/run-types/s-tZDRlQfCG5m2.js +1 -0
  293. package/dist/mion-pure-fns/@mionjs/run-types/t-ntJ9S0FuxkC2.js +1 -0
  294. package/dist/mion-pure-fns/@mionjs/run-types/tfRjnFZVF8lqI_.js +1 -0
  295. package/dist/mion-pure-fns/@mionjs/run-types/vLId7t0J8HNWlN.js +1 -0
  296. package/dist/mion-pure-fns/@mionjs/run-types/zXMPEMyjGR4ZRc.js +1 -0
  297. package/dist/mion-pure-fns/index.json +236 -0
  298. package/dist/mocking/childMatch.d.ts +4 -0
  299. package/dist/mocking/childMatch.js +354 -0
  300. package/dist/mocking/childMatch.js.map +1 -0
  301. package/dist/mocking/constants.mock.d.ts +8 -0
  302. package/dist/mocking/constants.mock.js +85 -0
  303. package/dist/mocking/constants.mock.js.map +1 -0
  304. package/dist/mocking/createMockData.d.ts +9 -0
  305. package/dist/mocking/createMockData.js +51 -0
  306. package/dist/mocking/createMockData.js.map +1 -0
  307. package/dist/mocking/index.d.ts +5 -0
  308. package/dist/mocking/index.js +4 -0
  309. package/dist/mocking/index.js.map +1 -0
  310. package/dist/mocking/isMultipleOf.d.ts +3 -0
  311. package/dist/mocking/isMultipleOf.js +8 -0
  312. package/dist/mocking/isMultipleOf.js.map +1 -0
  313. package/dist/mocking/mockBigIntFormat.d.ts +2 -0
  314. package/dist/mocking/mockBigIntFormat.js +37 -0
  315. package/dist/mocking/mockBigIntFormat.js.map +1 -0
  316. package/dist/mocking/mockDateTimeBounds.d.ts +14 -0
  317. package/dist/mocking/mockDateTimeBounds.js +272 -0
  318. package/dist/mocking/mockDateTimeBounds.js.map +1 -0
  319. package/dist/mocking/mockInvalid.d.ts +16 -0
  320. package/dist/mocking/mockInvalid.js +228 -0
  321. package/dist/mocking/mockInvalid.js.map +1 -0
  322. package/dist/mocking/mockNumberFormat.d.ts +2 -0
  323. package/dist/mocking/mockNumberFormat.js +55 -0
  324. package/dist/mocking/mockNumberFormat.js.map +1 -0
  325. package/dist/mocking/mockRandom.d.ts +21 -0
  326. package/dist/mocking/mockRandom.js +102 -0
  327. package/dist/mocking/mockRandom.js.map +1 -0
  328. package/dist/mocking/mockRegistry.d.ts +8 -0
  329. package/dist/mocking/mockRegistry.js +8 -0
  330. package/dist/mocking/mockRegistry.js.map +1 -0
  331. package/dist/mocking/mockStringFormat.d.ts +6 -0
  332. package/dist/mocking/mockStringFormat.js +234 -0
  333. package/dist/mocking/mockStringFormat.js.map +1 -0
  334. package/dist/mocking/mockTemporal.d.ts +14 -0
  335. package/dist/mocking/mockTemporal.js +229 -0
  336. package/dist/mocking/mockTemporal.js.map +1 -0
  337. package/dist/mocking/mockType.d.ts +4 -0
  338. package/dist/mocking/mockType.js +808 -0
  339. package/dist/mocking/mockType.js.map +1 -0
  340. package/dist/mocking/mockTypes.d.ts +55 -0
  341. package/dist/mocking/mockTypes.js +2 -0
  342. package/dist/mocking/mockTypes.js.map +1 -0
  343. package/dist/mocking/structuralFormat.d.ts +6 -0
  344. package/dist/mocking/structuralFormat.js +77 -0
  345. package/dist/mocking/structuralFormat.js.map +1 -0
  346. package/dist/modelTypes.d.ts +12 -0
  347. package/dist/modelTypes.js +2 -0
  348. package/dist/modelTypes.js.map +1 -0
  349. package/dist/overrideRTFunctions.d.ts +10 -0
  350. package/dist/overrideRTFunctions.js +18 -0
  351. package/dist/overrideRTFunctions.js.map +1 -0
  352. package/dist/runtime/index.d.ts +11 -0
  353. package/dist/runtime/index.js +10 -0
  354. package/dist/runtime/index.js.map +1 -0
  355. package/dist/runtypes/builderCore.d.ts +8 -0
  356. package/dist/runtypes/builderCore.js +34 -0
  357. package/dist/runtypes/builderCore.js.map +1 -0
  358. package/dist/runtypes/builderTypes.d.ts +52 -0
  359. package/dist/runtypes/builderTypes.js +2 -0
  360. package/dist/runtypes/builderTypes.js.map +1 -0
  361. package/dist/runtypes/circular-pure-fns.d.ts +12 -0
  362. package/dist/runtypes/circular-pure-fns.js +115 -0
  363. package/dist/runtypes/circular-pure-fns.js.map +1 -0
  364. package/dist/runtypes/circular.d.ts +7 -0
  365. package/dist/runtypes/circular.js +21 -0
  366. package/dist/runtypes/circular.js.map +1 -0
  367. package/dist/runtypes/classSerializerRegistry.d.ts +29 -0
  368. package/dist/runtypes/classSerializerRegistry.js +133 -0
  369. package/dist/runtypes/classSerializerRegistry.js.map +1 -0
  370. package/dist/runtypes/dataOnly.d.ts +30 -0
  371. package/dist/runtypes/dataOnly.js +2 -0
  372. package/dist/runtypes/dataOnly.js.map +1 -0
  373. package/dist/runtypes/entryTuple.d.ts +102 -0
  374. package/dist/runtypes/entryTuple.js +387 -0
  375. package/dist/runtypes/entryTuple.js.map +1 -0
  376. package/dist/runtypes/formatAnnotation.d.ts +5 -0
  377. package/dist/runtypes/formatAnnotation.js +2 -0
  378. package/dist/runtypes/formatAnnotation.js.map +1 -0
  379. package/dist/runtypes/formatErrors.d.ts +19 -0
  380. package/dist/runtypes/formatErrors.js +2 -0
  381. package/dist/runtypes/formatErrors.js.map +1 -0
  382. package/dist/runtypes/formatPattern.d.ts +21 -0
  383. package/dist/runtypes/formatPattern.js +15 -0
  384. package/dist/runtypes/formatPattern.js.map +1 -0
  385. package/dist/runtypes/jsonShape.d.ts +23 -0
  386. package/dist/runtypes/jsonShape.js +2 -0
  387. package/dist/runtypes/jsonShape.js.map +1 -0
  388. package/dist/runtypes/pure-fn-ids.generated.d.ts +48 -0
  389. package/dist/runtypes/pure-fn-ids.generated.js +48 -0
  390. package/dist/runtypes/pure-fn-ids.generated.js.map +1 -0
  391. package/dist/runtypes/pure-fns-utils.d.ts +9 -0
  392. package/dist/runtypes/pure-fns-utils.js +145 -0
  393. package/dist/runtypes/pure-fns-utils.js.map +1 -0
  394. package/dist/runtypes/pureFn.d.ts +8 -0
  395. package/dist/runtypes/pureFn.js +49 -0
  396. package/dist/runtypes/pureFn.js.map +1 -0
  397. package/dist/runtypes/rtUtils.d.ts +46 -0
  398. package/dist/runtypes/rtUtils.js +211 -0
  399. package/dist/runtypes/rtUtils.js.map +1 -0
  400. package/dist/runtypes/sentinelKeys.d.ts +8 -0
  401. package/dist/runtypes/sentinelKeys.js +2 -0
  402. package/dist/runtypes/sentinelKeys.js.map +1 -0
  403. package/dist/runtypes/stripRunTypeMeta.d.ts +54 -0
  404. package/dist/runtypes/stripRunTypeMeta.js +2 -0
  405. package/dist/runtypes/stripRunTypeMeta.js.map +1 -0
  406. package/dist/runtypes/typeFormat.d.ts +15 -0
  407. package/dist/runtypes/typeFormat.js +2 -0
  408. package/dist/runtypes/typeFormat.js.map +1 -0
  409. package/dist/runtypes/types.d.ts +115 -0
  410. package/dist/runtypes/types.js +2 -0
  411. package/dist/runtypes/types.js.map +1 -0
  412. package/dist/standard/createJsonSchemaFn.d.ts +9 -0
  413. package/dist/standard/createJsonSchemaFn.js +12 -0
  414. package/dist/standard/createJsonSchemaFn.js.map +1 -0
  415. package/dist/standard/createStandardSchema.d.ts +19 -0
  416. package/dist/standard/createStandardSchema.js +28 -0
  417. package/dist/standard/createStandardSchema.js.map +1 -0
  418. package/dist/standard/issueMapping.d.ts +13 -0
  419. package/dist/standard/issueMapping.js +34 -0
  420. package/dist/standard/issueMapping.js.map +1 -0
  421. package/dist/standard/jsonSchemaDoc.d.ts +8 -0
  422. package/dist/standard/jsonSchemaDoc.js +90 -0
  423. package/dist/standard/jsonSchemaDoc.js.map +1 -0
  424. package/dist/standard/spec.d.ts +48 -0
  425. package/dist/standard/spec.js +2 -0
  426. package/dist/standard/spec.js.map +1 -0
  427. package/package.json +101 -53
  428. package/skills/rt-enrich-types/SKILL.md +83 -0
  429. package/skills/rt-enrich-types/mirror.md +58 -0
  430. package/skills/rt-enrich-types/translations.md +77 -0
  431. package/skills/runtypes-friendly-text/SKILL.md +94 -0
  432. package/skills/runtypes-friendly-text/references/checks.md +37 -0
  433. package/skills/runtypes-friendly-text/references/error-templates.md +94 -0
  434. package/skills/runtypes-friendly-text/references/example.md +80 -0
  435. package/skills/runtypes-friendly-text/references/rendering.md +77 -0
  436. package/skills/runtypes-friendly-text/references/translations.md +38 -0
  437. package/skills/runtypes-mock-data/SKILL.md +95 -0
  438. package/skills/runtypes-mock-data/example.md +54 -0
  439. package/.dist/cjs/index.cjs +0 -209
  440. package/.dist/cjs/index.cjs.map +0 -1
  441. package/.dist/cjs/index.d.ts +0 -61
  442. package/.dist/cjs/index.d.ts.map +0 -1
  443. package/.dist/cjs/package.json +0 -1
  444. package/.dist/cjs/src/constants.cjs +0 -79
  445. package/.dist/cjs/src/constants.cjs.map +0 -1
  446. package/.dist/cjs/src/constants.d.ts +0 -8
  447. package/.dist/cjs/src/constants.d.ts.map +0 -1
  448. package/.dist/cjs/src/constants.functions.cjs +0 -181
  449. package/.dist/cjs/src/constants.functions.cjs.map +0 -1
  450. package/.dist/cjs/src/constants.functions.d.ts +0 -386
  451. package/.dist/cjs/src/constants.functions.d.ts.map +0 -1
  452. package/.dist/cjs/src/constants.kind.cjs +0 -74
  453. package/.dist/cjs/src/constants.kind.cjs.map +0 -1
  454. package/.dist/cjs/src/constants.kind.d.ts +0 -22
  455. package/.dist/cjs/src/constants.kind.d.ts.map +0 -1
  456. package/.dist/cjs/src/createRunType.cjs +0 -284
  457. package/.dist/cjs/src/createRunType.cjs.map +0 -1
  458. package/.dist/cjs/src/createRunType.d.ts +0 -6
  459. package/.dist/cjs/src/createRunType.d.ts.map +0 -1
  460. package/.dist/cjs/src/createRunTypeFunctions.cjs +0 -78
  461. package/.dist/cjs/src/createRunTypeFunctions.cjs.map +0 -1
  462. package/.dist/cjs/src/createRunTypeFunctions.d.ts +0 -13
  463. package/.dist/cjs/src/createRunTypeFunctions.d.ts.map +0 -1
  464. package/.dist/cjs/src/formats.runtype.cjs +0 -7
  465. package/.dist/cjs/src/formats.runtype.cjs.map +0 -1
  466. package/.dist/cjs/src/formats.runtype.d.ts +0 -7
  467. package/.dist/cjs/src/formats.runtype.d.ts.map +0 -1
  468. package/.dist/cjs/src/jitCompilers/binary/binarySpec/binaryHelpers.cjs +0 -109
  469. package/.dist/cjs/src/jitCompilers/binary/binarySpec/binaryHelpers.cjs.map +0 -1
  470. package/.dist/cjs/src/jitCompilers/binary/binarySpec/binaryHelpers.d.ts +0 -31
  471. package/.dist/cjs/src/jitCompilers/binary/binarySpec/binaryHelpers.d.ts.map +0 -1
  472. package/.dist/cjs/src/jitCompilers/binary/fromBinary.cjs +0 -383
  473. package/.dist/cjs/src/jitCompilers/binary/fromBinary.cjs.map +0 -1
  474. package/.dist/cjs/src/jitCompilers/binary/fromBinary.d.ts +0 -8
  475. package/.dist/cjs/src/jitCompilers/binary/fromBinary.d.ts.map +0 -1
  476. package/.dist/cjs/src/jitCompilers/binary/toBinary.cjs +0 -338
  477. package/.dist/cjs/src/jitCompilers/binary/toBinary.cjs.map +0 -1
  478. package/.dist/cjs/src/jitCompilers/binary/toBinary.d.ts +0 -8
  479. package/.dist/cjs/src/jitCompilers/binary/toBinary.d.ts.map +0 -1
  480. package/.dist/cjs/src/jitCompilers/equalsHelpers.cjs +0 -37
  481. package/.dist/cjs/src/jitCompilers/equalsHelpers.cjs.map +0 -1
  482. package/.dist/cjs/src/jitCompilers/equalsHelpers.d.ts +0 -5
  483. package/.dist/cjs/src/jitCompilers/equalsHelpers.d.ts.map +0 -1
  484. package/.dist/cjs/src/jitCompilers/json/jsonSpec/jsonHelpers.cjs +0 -56
  485. package/.dist/cjs/src/jitCompilers/json/jsonSpec/jsonHelpers.cjs.map +0 -1
  486. package/.dist/cjs/src/jitCompilers/json/jsonSpec/jsonHelpers.d.ts +0 -28
  487. package/.dist/cjs/src/jitCompilers/json/jsonSpec/jsonHelpers.d.ts.map +0 -1
  488. package/.dist/cjs/src/jitCompilers/json/stringifyJson.cjs +0 -399
  489. package/.dist/cjs/src/jitCompilers/json/stringifyJson.cjs.map +0 -1
  490. package/.dist/cjs/src/jitCompilers/json/stringifyJson.d.ts +0 -11
  491. package/.dist/cjs/src/jitCompilers/json/stringifyJson.d.ts.map +0 -1
  492. package/.dist/cjs/src/jitCompilers/json/stringifySpec/stringifyHelpers.cjs +0 -51
  493. package/.dist/cjs/src/jitCompilers/json/stringifySpec/stringifyHelpers.cjs.map +0 -1
  494. package/.dist/cjs/src/jitCompilers/json/stringifySpec/stringifyHelpers.d.ts +0 -28
  495. package/.dist/cjs/src/jitCompilers/json/stringifySpec/stringifyHelpers.d.ts.map +0 -1
  496. package/.dist/cjs/src/jitCompilers/json/toJsCode.cjs +0 -131
  497. package/.dist/cjs/src/jitCompilers/json/toJsCode.cjs.map +0 -1
  498. package/.dist/cjs/src/jitCompilers/json/toJsCode.d.ts +0 -6
  499. package/.dist/cjs/src/jitCompilers/json/toJsCode.d.ts.map +0 -1
  500. package/.dist/cjs/src/lib/baseRunTypeFormat.cjs +0 -200
  501. package/.dist/cjs/src/lib/baseRunTypeFormat.cjs.map +0 -1
  502. package/.dist/cjs/src/lib/baseRunTypeFormat.d.ts +0 -51
  503. package/.dist/cjs/src/lib/baseRunTypeFormat.d.ts.map +0 -1
  504. package/.dist/cjs/src/lib/baseRunTypes.cjs +0 -277
  505. package/.dist/cjs/src/lib/baseRunTypes.cjs.map +0 -1
  506. package/.dist/cjs/src/lib/baseRunTypes.d.ts +0 -74
  507. package/.dist/cjs/src/lib/baseRunTypes.d.ts.map +0 -1
  508. package/.dist/cjs/src/lib/createJitFunction.cjs +0 -60
  509. package/.dist/cjs/src/lib/createJitFunction.cjs.map +0 -1
  510. package/.dist/cjs/src/lib/createJitFunction.d.ts +0 -6
  511. package/.dist/cjs/src/lib/createJitFunction.d.ts.map +0 -1
  512. package/.dist/cjs/src/lib/dkProxy.cjs +0 -23
  513. package/.dist/cjs/src/lib/dkProxy.cjs.map +0 -1
  514. package/.dist/cjs/src/lib/dkProxy.d.ts +0 -5
  515. package/.dist/cjs/src/lib/dkProxy.d.ts.map +0 -1
  516. package/.dist/cjs/src/lib/formats.cjs +0 -89
  517. package/.dist/cjs/src/lib/formats.cjs.map +0 -1
  518. package/.dist/cjs/src/lib/formats.d.ts +0 -19
  519. package/.dist/cjs/src/lib/formats.d.ts.map +0 -1
  520. package/.dist/cjs/src/lib/guards.cjs +0 -243
  521. package/.dist/cjs/src/lib/guards.cjs.map +0 -1
  522. package/.dist/cjs/src/lib/guards.d.ts +0 -121
  523. package/.dist/cjs/src/lib/guards.d.ts.map +0 -1
  524. package/.dist/cjs/src/lib/jitFnCompiler.cjs +0 -650
  525. package/.dist/cjs/src/lib/jitFnCompiler.cjs.map +0 -1
  526. package/.dist/cjs/src/lib/jitFnCompiler.d.ts +0 -110
  527. package/.dist/cjs/src/lib/jitFnCompiler.d.ts.map +0 -1
  528. package/.dist/cjs/src/lib/jitFnsRegistry.cjs +0 -41
  529. package/.dist/cjs/src/lib/jitFnsRegistry.cjs.map +0 -1
  530. package/.dist/cjs/src/lib/jitFnsRegistry.d.ts +0 -7
  531. package/.dist/cjs/src/lib/jitFnsRegistry.d.ts.map +0 -1
  532. package/.dist/cjs/src/lib/typeId.cjs +0 -205
  533. package/.dist/cjs/src/lib/typeId.cjs.map +0 -1
  534. package/.dist/cjs/src/lib/typeId.d.ts +0 -7
  535. package/.dist/cjs/src/lib/typeId.d.ts.map +0 -1
  536. package/.dist/cjs/src/lib/utils.cjs +0 -325
  537. package/.dist/cjs/src/lib/utils.cjs.map +0 -1
  538. package/.dist/cjs/src/lib/utils.d.ts +0 -33
  539. package/.dist/cjs/src/lib/utils.d.ts.map +0 -1
  540. package/.dist/cjs/src/mocking/constants.mock.cjs +0 -108
  541. package/.dist/cjs/src/mocking/constants.mock.cjs.map +0 -1
  542. package/.dist/cjs/src/mocking/constants.mock.d.ts +0 -86
  543. package/.dist/cjs/src/mocking/constants.mock.d.ts.map +0 -1
  544. package/.dist/cjs/src/mocking/mockRegistry.cjs +0 -12
  545. package/.dist/cjs/src/mocking/mockRegistry.cjs.map +0 -1
  546. package/.dist/cjs/src/mocking/mockRegistry.d.ts +0 -4
  547. package/.dist/cjs/src/mocking/mockRegistry.d.ts.map +0 -1
  548. package/.dist/cjs/src/mocking/mockType.cjs +0 -310
  549. package/.dist/cjs/src/mocking/mockType.cjs.map +0 -1
  550. package/.dist/cjs/src/mocking/mockType.d.ts +0 -4
  551. package/.dist/cjs/src/mocking/mockType.d.ts.map +0 -1
  552. package/.dist/cjs/src/mocking/mockUtils.cjs +0 -62
  553. package/.dist/cjs/src/mocking/mockUtils.cjs.map +0 -1
  554. package/.dist/cjs/src/mocking/mockUtils.d.ts +0 -16
  555. package/.dist/cjs/src/mocking/mockUtils.d.ts.map +0 -1
  556. package/.dist/cjs/src/nodes/atomic/any.cjs +0 -18
  557. package/.dist/cjs/src/nodes/atomic/any.cjs.map +0 -1
  558. package/.dist/cjs/src/nodes/atomic/any.d.ts +0 -9
  559. package/.dist/cjs/src/nodes/atomic/any.d.ts.map +0 -1
  560. package/.dist/cjs/src/nodes/atomic/bigInt.cjs +0 -20
  561. package/.dist/cjs/src/nodes/atomic/bigInt.cjs.map +0 -1
  562. package/.dist/cjs/src/nodes/atomic/bigInt.d.ts +0 -11
  563. package/.dist/cjs/src/nodes/atomic/bigInt.d.ts.map +0 -1
  564. package/.dist/cjs/src/nodes/atomic/boolean.cjs +0 -20
  565. package/.dist/cjs/src/nodes/atomic/boolean.cjs.map +0 -1
  566. package/.dist/cjs/src/nodes/atomic/boolean.d.ts +0 -11
  567. package/.dist/cjs/src/nodes/atomic/boolean.d.ts.map +0 -1
  568. package/.dist/cjs/src/nodes/atomic/date.cjs +0 -20
  569. package/.dist/cjs/src/nodes/atomic/date.cjs.map +0 -1
  570. package/.dist/cjs/src/nodes/atomic/date.d.ts +0 -11
  571. package/.dist/cjs/src/nodes/atomic/date.d.ts.map +0 -1
  572. package/.dist/cjs/src/nodes/atomic/enum.cjs +0 -22
  573. package/.dist/cjs/src/nodes/atomic/enum.cjs.map +0 -1
  574. package/.dist/cjs/src/nodes/atomic/enum.d.ts +0 -9
  575. package/.dist/cjs/src/nodes/atomic/enum.d.ts.map +0 -1
  576. package/.dist/cjs/src/nodes/atomic/enumMember.cjs +0 -24
  577. package/.dist/cjs/src/nodes/atomic/enumMember.cjs.map +0 -1
  578. package/.dist/cjs/src/nodes/atomic/enumMember.d.ts +0 -11
  579. package/.dist/cjs/src/nodes/atomic/enumMember.d.ts.map +0 -1
  580. package/.dist/cjs/src/nodes/atomic/literal.cjs +0 -126
  581. package/.dist/cjs/src/nodes/atomic/literal.cjs.map +0 -1
  582. package/.dist/cjs/src/nodes/atomic/literal.d.ts +0 -21
  583. package/.dist/cjs/src/nodes/atomic/literal.d.ts.map +0 -1
  584. package/.dist/cjs/src/nodes/atomic/never.cjs +0 -22
  585. package/.dist/cjs/src/nodes/atomic/never.cjs.map +0 -1
  586. package/.dist/cjs/src/nodes/atomic/never.d.ts +0 -11
  587. package/.dist/cjs/src/nodes/atomic/never.d.ts.map +0 -1
  588. package/.dist/cjs/src/nodes/atomic/null.cjs +0 -20
  589. package/.dist/cjs/src/nodes/atomic/null.cjs.map +0 -1
  590. package/.dist/cjs/src/nodes/atomic/null.d.ts +0 -11
  591. package/.dist/cjs/src/nodes/atomic/null.d.ts.map +0 -1
  592. package/.dist/cjs/src/nodes/atomic/number.cjs +0 -20
  593. package/.dist/cjs/src/nodes/atomic/number.cjs.map +0 -1
  594. package/.dist/cjs/src/nodes/atomic/number.d.ts +0 -11
  595. package/.dist/cjs/src/nodes/atomic/number.d.ts.map +0 -1
  596. package/.dist/cjs/src/nodes/atomic/object.cjs +0 -14
  597. package/.dist/cjs/src/nodes/atomic/object.cjs.map +0 -1
  598. package/.dist/cjs/src/nodes/atomic/object.d.ts +0 -9
  599. package/.dist/cjs/src/nodes/atomic/object.d.ts.map +0 -1
  600. package/.dist/cjs/src/nodes/atomic/regexp.cjs +0 -23
  601. package/.dist/cjs/src/nodes/atomic/regexp.cjs.map +0 -1
  602. package/.dist/cjs/src/nodes/atomic/regexp.d.ts +0 -11
  603. package/.dist/cjs/src/nodes/atomic/regexp.d.ts.map +0 -1
  604. package/.dist/cjs/src/nodes/atomic/string.cjs +0 -14
  605. package/.dist/cjs/src/nodes/atomic/string.cjs.map +0 -1
  606. package/.dist/cjs/src/nodes/atomic/string.d.ts +0 -9
  607. package/.dist/cjs/src/nodes/atomic/string.d.ts.map +0 -1
  608. package/.dist/cjs/src/nodes/atomic/symbol.cjs +0 -26
  609. package/.dist/cjs/src/nodes/atomic/symbol.cjs.map +0 -1
  610. package/.dist/cjs/src/nodes/atomic/symbol.d.ts +0 -12
  611. package/.dist/cjs/src/nodes/atomic/symbol.d.ts.map +0 -1
  612. package/.dist/cjs/src/nodes/atomic/undefined.cjs +0 -17
  613. package/.dist/cjs/src/nodes/atomic/undefined.cjs.map +0 -1
  614. package/.dist/cjs/src/nodes/atomic/undefined.d.ts +0 -10
  615. package/.dist/cjs/src/nodes/atomic/undefined.d.ts.map +0 -1
  616. package/.dist/cjs/src/nodes/atomic/unknown.cjs +0 -8
  617. package/.dist/cjs/src/nodes/atomic/unknown.cjs.map +0 -1
  618. package/.dist/cjs/src/nodes/atomic/unknown.d.ts +0 -4
  619. package/.dist/cjs/src/nodes/atomic/unknown.d.ts.map +0 -1
  620. package/.dist/cjs/src/nodes/atomic/void.cjs +0 -20
  621. package/.dist/cjs/src/nodes/atomic/void.cjs.map +0 -1
  622. package/.dist/cjs/src/nodes/atomic/void.d.ts +0 -11
  623. package/.dist/cjs/src/nodes/atomic/void.d.ts.map +0 -1
  624. package/.dist/cjs/src/nodes/collection/class.cjs +0 -38
  625. package/.dist/cjs/src/nodes/collection/class.cjs.map +0 -1
  626. package/.dist/cjs/src/nodes/collection/class.d.ts +0 -10
  627. package/.dist/cjs/src/nodes/collection/class.d.ts.map +0 -1
  628. package/.dist/cjs/src/nodes/collection/functionParams.cjs +0 -33
  629. package/.dist/cjs/src/nodes/collection/functionParams.cjs.map +0 -1
  630. package/.dist/cjs/src/nodes/collection/functionParams.d.ts +0 -10
  631. package/.dist/cjs/src/nodes/collection/functionParams.d.ts.map +0 -1
  632. package/.dist/cjs/src/nodes/collection/interface.cjs +0 -241
  633. package/.dist/cjs/src/nodes/collection/interface.cjs.map +0 -1
  634. package/.dist/cjs/src/nodes/collection/interface.d.ts +0 -44
  635. package/.dist/cjs/src/nodes/collection/interface.d.ts.map +0 -1
  636. package/.dist/cjs/src/nodes/collection/intersection.cjs +0 -21
  637. package/.dist/cjs/src/nodes/collection/intersection.cjs.map +0 -1
  638. package/.dist/cjs/src/nodes/collection/intersection.d.ts +0 -10
  639. package/.dist/cjs/src/nodes/collection/intersection.d.ts.map +0 -1
  640. package/.dist/cjs/src/nodes/collection/tuple.cjs +0 -74
  641. package/.dist/cjs/src/nodes/collection/tuple.cjs.map +0 -1
  642. package/.dist/cjs/src/nodes/collection/tuple.d.ts +0 -19
  643. package/.dist/cjs/src/nodes/collection/tuple.d.ts.map +0 -1
  644. package/.dist/cjs/src/nodes/collection/union.cjs +0 -162
  645. package/.dist/cjs/src/nodes/collection/union.cjs.map +0 -1
  646. package/.dist/cjs/src/nodes/collection/union.d.ts +0 -20
  647. package/.dist/cjs/src/nodes/collection/union.d.ts.map +0 -1
  648. package/.dist/cjs/src/nodes/collection/unionDiscriminator.cjs +0 -198
  649. package/.dist/cjs/src/nodes/collection/unionDiscriminator.cjs.map +0 -1
  650. package/.dist/cjs/src/nodes/collection/unionDiscriminator.d.ts +0 -22
  651. package/.dist/cjs/src/nodes/collection/unionDiscriminator.d.ts.map +0 -1
  652. package/.dist/cjs/src/nodes/function/function.cjs +0 -159
  653. package/.dist/cjs/src/nodes/function/function.cjs.map +0 -1
  654. package/.dist/cjs/src/nodes/function/function.d.ts +0 -35
  655. package/.dist/cjs/src/nodes/function/function.d.ts.map +0 -1
  656. package/.dist/cjs/src/nodes/member/array.cjs +0 -154
  657. package/.dist/cjs/src/nodes/member/array.cjs.map +0 -1
  658. package/.dist/cjs/src/nodes/member/array.d.ts +0 -25
  659. package/.dist/cjs/src/nodes/member/array.d.ts.map +0 -1
  660. package/.dist/cjs/src/nodes/member/callSignature.cjs +0 -40
  661. package/.dist/cjs/src/nodes/member/callSignature.cjs.map +0 -1
  662. package/.dist/cjs/src/nodes/member/callSignature.d.ts +0 -12
  663. package/.dist/cjs/src/nodes/member/callSignature.d.ts.map +0 -1
  664. package/.dist/cjs/src/nodes/member/genericMember.cjs +0 -68
  665. package/.dist/cjs/src/nodes/member/genericMember.cjs.map +0 -1
  666. package/.dist/cjs/src/nodes/member/genericMember.d.ts +0 -16
  667. package/.dist/cjs/src/nodes/member/genericMember.d.ts.map +0 -1
  668. package/.dist/cjs/src/nodes/member/indexProperty.cjs +0 -130
  669. package/.dist/cjs/src/nodes/member/indexProperty.cjs.map +0 -1
  670. package/.dist/cjs/src/nodes/member/indexProperty.d.ts +0 -22
  671. package/.dist/cjs/src/nodes/member/indexProperty.d.ts.map +0 -1
  672. package/.dist/cjs/src/nodes/member/method.cjs +0 -41
  673. package/.dist/cjs/src/nodes/member/method.cjs.map +0 -1
  674. package/.dist/cjs/src/nodes/member/method.d.ts +0 -12
  675. package/.dist/cjs/src/nodes/member/method.d.ts.map +0 -1
  676. package/.dist/cjs/src/nodes/member/methodSignature.cjs +0 -44
  677. package/.dist/cjs/src/nodes/member/methodSignature.cjs.map +0 -1
  678. package/.dist/cjs/src/nodes/member/methodSignature.d.ts +0 -13
  679. package/.dist/cjs/src/nodes/member/methodSignature.d.ts.map +0 -1
  680. package/.dist/cjs/src/nodes/member/param.cjs +0 -17
  681. package/.dist/cjs/src/nodes/member/param.cjs.map +0 -1
  682. package/.dist/cjs/src/nodes/member/param.d.ts +0 -9
  683. package/.dist/cjs/src/nodes/member/param.d.ts.map +0 -1
  684. package/.dist/cjs/src/nodes/member/property.cjs +0 -85
  685. package/.dist/cjs/src/nodes/member/property.cjs.map +0 -1
  686. package/.dist/cjs/src/nodes/member/property.d.ts +0 -20
  687. package/.dist/cjs/src/nodes/member/property.d.ts.map +0 -1
  688. package/.dist/cjs/src/nodes/member/restParams.cjs +0 -15
  689. package/.dist/cjs/src/nodes/member/restParams.cjs.map +0 -1
  690. package/.dist/cjs/src/nodes/member/restParams.d.ts +0 -8
  691. package/.dist/cjs/src/nodes/member/restParams.d.ts.map +0 -1
  692. package/.dist/cjs/src/nodes/member/tupleMember.cjs +0 -93
  693. package/.dist/cjs/src/nodes/member/tupleMember.cjs.map +0 -1
  694. package/.dist/cjs/src/nodes/member/tupleMember.d.ts +0 -21
  695. package/.dist/cjs/src/nodes/member/tupleMember.d.ts.map +0 -1
  696. package/.dist/cjs/src/nodes/native/Iterable.cjs +0 -135
  697. package/.dist/cjs/src/nodes/native/Iterable.cjs.map +0 -1
  698. package/.dist/cjs/src/nodes/native/Iterable.d.ts +0 -19
  699. package/.dist/cjs/src/nodes/native/Iterable.d.ts.map +0 -1
  700. package/.dist/cjs/src/nodes/native/map.cjs +0 -96
  701. package/.dist/cjs/src/nodes/native/map.cjs.map +0 -1
  702. package/.dist/cjs/src/nodes/native/map.d.ts +0 -43
  703. package/.dist/cjs/src/nodes/native/map.d.ts.map +0 -1
  704. package/.dist/cjs/src/nodes/native/nonSerializable.cjs +0 -36
  705. package/.dist/cjs/src/nodes/native/nonSerializable.cjs.map +0 -1
  706. package/.dist/cjs/src/nodes/native/nonSerializable.d.ts +0 -15
  707. package/.dist/cjs/src/nodes/native/nonSerializable.d.ts.map +0 -1
  708. package/.dist/cjs/src/nodes/native/promise.cjs +0 -38
  709. package/.dist/cjs/src/nodes/native/promise.cjs.map +0 -1
  710. package/.dist/cjs/src/nodes/native/promise.d.ts +0 -16
  711. package/.dist/cjs/src/nodes/native/promise.d.ts.map +0 -1
  712. package/.dist/cjs/src/nodes/native/set.cjs +0 -60
  713. package/.dist/cjs/src/nodes/native/set.cjs.map +0 -1
  714. package/.dist/cjs/src/nodes/native/set.d.ts +0 -31
  715. package/.dist/cjs/src/nodes/native/set.d.ts.map +0 -1
  716. package/.dist/cjs/src/run-types-pure-fns.cjs +0 -112
  717. package/.dist/cjs/src/run-types-pure-fns.cjs.map +0 -1
  718. package/.dist/cjs/src/run-types-pure-fns.d.ts +0 -8
  719. package/.dist/cjs/src/run-types-pure-fns.d.ts.map +0 -1
  720. package/.dist/cjs/src/types.cjs +0 -59
  721. package/.dist/cjs/src/types.cjs.map +0 -1
  722. package/.dist/cjs/src/types.d.ts +0 -154
  723. package/.dist/cjs/src/types.d.ts.map +0 -1
  724. package/.dist/esm/index.d.ts +0 -61
  725. package/.dist/esm/index.d.ts.map +0 -1
  726. package/.dist/esm/index.js +0 -209
  727. package/.dist/esm/index.js.map +0 -1
  728. package/.dist/esm/src/constants.d.ts +0 -8
  729. package/.dist/esm/src/constants.d.ts.map +0 -1
  730. package/.dist/esm/src/constants.functions.d.ts +0 -386
  731. package/.dist/esm/src/constants.functions.d.ts.map +0 -1
  732. package/.dist/esm/src/constants.functions.js +0 -181
  733. package/.dist/esm/src/constants.functions.js.map +0 -1
  734. package/.dist/esm/src/constants.js +0 -79
  735. package/.dist/esm/src/constants.js.map +0 -1
  736. package/.dist/esm/src/constants.kind.d.ts +0 -22
  737. package/.dist/esm/src/constants.kind.d.ts.map +0 -1
  738. package/.dist/esm/src/constants.kind.js +0 -74
  739. package/.dist/esm/src/constants.kind.js.map +0 -1
  740. package/.dist/esm/src/createRunType.d.ts +0 -6
  741. package/.dist/esm/src/createRunType.d.ts.map +0 -1
  742. package/.dist/esm/src/createRunType.js +0 -284
  743. package/.dist/esm/src/createRunType.js.map +0 -1
  744. package/.dist/esm/src/createRunTypeFunctions.d.ts +0 -13
  745. package/.dist/esm/src/createRunTypeFunctions.d.ts.map +0 -1
  746. package/.dist/esm/src/createRunTypeFunctions.js +0 -78
  747. package/.dist/esm/src/createRunTypeFunctions.js.map +0 -1
  748. package/.dist/esm/src/formats.runtype.d.ts +0 -7
  749. package/.dist/esm/src/formats.runtype.d.ts.map +0 -1
  750. package/.dist/esm/src/formats.runtype.js +0 -7
  751. package/.dist/esm/src/formats.runtype.js.map +0 -1
  752. package/.dist/esm/src/jitCompilers/binary/binarySpec/binaryHelpers.d.ts +0 -31
  753. package/.dist/esm/src/jitCompilers/binary/binarySpec/binaryHelpers.d.ts.map +0 -1
  754. package/.dist/esm/src/jitCompilers/binary/binarySpec/binaryHelpers.js +0 -109
  755. package/.dist/esm/src/jitCompilers/binary/binarySpec/binaryHelpers.js.map +0 -1
  756. package/.dist/esm/src/jitCompilers/binary/fromBinary.d.ts +0 -8
  757. package/.dist/esm/src/jitCompilers/binary/fromBinary.d.ts.map +0 -1
  758. package/.dist/esm/src/jitCompilers/binary/fromBinary.js +0 -383
  759. package/.dist/esm/src/jitCompilers/binary/fromBinary.js.map +0 -1
  760. package/.dist/esm/src/jitCompilers/binary/toBinary.d.ts +0 -8
  761. package/.dist/esm/src/jitCompilers/binary/toBinary.d.ts.map +0 -1
  762. package/.dist/esm/src/jitCompilers/binary/toBinary.js +0 -338
  763. package/.dist/esm/src/jitCompilers/binary/toBinary.js.map +0 -1
  764. package/.dist/esm/src/jitCompilers/equalsHelpers.d.ts +0 -5
  765. package/.dist/esm/src/jitCompilers/equalsHelpers.d.ts.map +0 -1
  766. package/.dist/esm/src/jitCompilers/equalsHelpers.js +0 -37
  767. package/.dist/esm/src/jitCompilers/equalsHelpers.js.map +0 -1
  768. package/.dist/esm/src/jitCompilers/json/jsonSpec/jsonHelpers.d.ts +0 -28
  769. package/.dist/esm/src/jitCompilers/json/jsonSpec/jsonHelpers.d.ts.map +0 -1
  770. package/.dist/esm/src/jitCompilers/json/jsonSpec/jsonHelpers.js +0 -56
  771. package/.dist/esm/src/jitCompilers/json/jsonSpec/jsonHelpers.js.map +0 -1
  772. package/.dist/esm/src/jitCompilers/json/stringifyJson.d.ts +0 -11
  773. package/.dist/esm/src/jitCompilers/json/stringifyJson.d.ts.map +0 -1
  774. package/.dist/esm/src/jitCompilers/json/stringifyJson.js +0 -399
  775. package/.dist/esm/src/jitCompilers/json/stringifyJson.js.map +0 -1
  776. package/.dist/esm/src/jitCompilers/json/stringifySpec/stringifyHelpers.d.ts +0 -28
  777. package/.dist/esm/src/jitCompilers/json/stringifySpec/stringifyHelpers.d.ts.map +0 -1
  778. package/.dist/esm/src/jitCompilers/json/stringifySpec/stringifyHelpers.js +0 -51
  779. package/.dist/esm/src/jitCompilers/json/stringifySpec/stringifyHelpers.js.map +0 -1
  780. package/.dist/esm/src/jitCompilers/json/toJsCode.d.ts +0 -6
  781. package/.dist/esm/src/jitCompilers/json/toJsCode.d.ts.map +0 -1
  782. package/.dist/esm/src/jitCompilers/json/toJsCode.js +0 -131
  783. package/.dist/esm/src/jitCompilers/json/toJsCode.js.map +0 -1
  784. package/.dist/esm/src/lib/baseRunTypeFormat.d.ts +0 -51
  785. package/.dist/esm/src/lib/baseRunTypeFormat.d.ts.map +0 -1
  786. package/.dist/esm/src/lib/baseRunTypeFormat.js +0 -200
  787. package/.dist/esm/src/lib/baseRunTypeFormat.js.map +0 -1
  788. package/.dist/esm/src/lib/baseRunTypes.d.ts +0 -74
  789. package/.dist/esm/src/lib/baseRunTypes.d.ts.map +0 -1
  790. package/.dist/esm/src/lib/baseRunTypes.js +0 -277
  791. package/.dist/esm/src/lib/baseRunTypes.js.map +0 -1
  792. package/.dist/esm/src/lib/createJitFunction.d.ts +0 -6
  793. package/.dist/esm/src/lib/createJitFunction.d.ts.map +0 -1
  794. package/.dist/esm/src/lib/createJitFunction.js +0 -60
  795. package/.dist/esm/src/lib/createJitFunction.js.map +0 -1
  796. package/.dist/esm/src/lib/dkProxy.d.ts +0 -5
  797. package/.dist/esm/src/lib/dkProxy.d.ts.map +0 -1
  798. package/.dist/esm/src/lib/dkProxy.js +0 -23
  799. package/.dist/esm/src/lib/dkProxy.js.map +0 -1
  800. package/.dist/esm/src/lib/formats.d.ts +0 -19
  801. package/.dist/esm/src/lib/formats.d.ts.map +0 -1
  802. package/.dist/esm/src/lib/formats.js +0 -89
  803. package/.dist/esm/src/lib/formats.js.map +0 -1
  804. package/.dist/esm/src/lib/guards.d.ts +0 -121
  805. package/.dist/esm/src/lib/guards.d.ts.map +0 -1
  806. package/.dist/esm/src/lib/guards.js +0 -243
  807. package/.dist/esm/src/lib/guards.js.map +0 -1
  808. package/.dist/esm/src/lib/jitFnCompiler.d.ts +0 -110
  809. package/.dist/esm/src/lib/jitFnCompiler.d.ts.map +0 -1
  810. package/.dist/esm/src/lib/jitFnCompiler.js +0 -650
  811. package/.dist/esm/src/lib/jitFnCompiler.js.map +0 -1
  812. package/.dist/esm/src/lib/jitFnsRegistry.d.ts +0 -7
  813. package/.dist/esm/src/lib/jitFnsRegistry.d.ts.map +0 -1
  814. package/.dist/esm/src/lib/jitFnsRegistry.js +0 -41
  815. package/.dist/esm/src/lib/jitFnsRegistry.js.map +0 -1
  816. package/.dist/esm/src/lib/typeId.d.ts +0 -7
  817. package/.dist/esm/src/lib/typeId.d.ts.map +0 -1
  818. package/.dist/esm/src/lib/typeId.js +0 -205
  819. package/.dist/esm/src/lib/typeId.js.map +0 -1
  820. package/.dist/esm/src/lib/utils.d.ts +0 -33
  821. package/.dist/esm/src/lib/utils.d.ts.map +0 -1
  822. package/.dist/esm/src/lib/utils.js +0 -325
  823. package/.dist/esm/src/lib/utils.js.map +0 -1
  824. package/.dist/esm/src/mocking/constants.mock.d.ts +0 -86
  825. package/.dist/esm/src/mocking/constants.mock.d.ts.map +0 -1
  826. package/.dist/esm/src/mocking/constants.mock.js +0 -108
  827. package/.dist/esm/src/mocking/constants.mock.js.map +0 -1
  828. package/.dist/esm/src/mocking/mockRegistry.d.ts +0 -4
  829. package/.dist/esm/src/mocking/mockRegistry.d.ts.map +0 -1
  830. package/.dist/esm/src/mocking/mockRegistry.js +0 -12
  831. package/.dist/esm/src/mocking/mockRegistry.js.map +0 -1
  832. package/.dist/esm/src/mocking/mockType.d.ts +0 -4
  833. package/.dist/esm/src/mocking/mockType.d.ts.map +0 -1
  834. package/.dist/esm/src/mocking/mockType.js +0 -310
  835. package/.dist/esm/src/mocking/mockType.js.map +0 -1
  836. package/.dist/esm/src/mocking/mockUtils.d.ts +0 -16
  837. package/.dist/esm/src/mocking/mockUtils.d.ts.map +0 -1
  838. package/.dist/esm/src/mocking/mockUtils.js +0 -62
  839. package/.dist/esm/src/mocking/mockUtils.js.map +0 -1
  840. package/.dist/esm/src/nodes/atomic/any.d.ts +0 -9
  841. package/.dist/esm/src/nodes/atomic/any.d.ts.map +0 -1
  842. package/.dist/esm/src/nodes/atomic/any.js +0 -18
  843. package/.dist/esm/src/nodes/atomic/any.js.map +0 -1
  844. package/.dist/esm/src/nodes/atomic/bigInt.d.ts +0 -11
  845. package/.dist/esm/src/nodes/atomic/bigInt.d.ts.map +0 -1
  846. package/.dist/esm/src/nodes/atomic/bigInt.js +0 -20
  847. package/.dist/esm/src/nodes/atomic/bigInt.js.map +0 -1
  848. package/.dist/esm/src/nodes/atomic/boolean.d.ts +0 -11
  849. package/.dist/esm/src/nodes/atomic/boolean.d.ts.map +0 -1
  850. package/.dist/esm/src/nodes/atomic/boolean.js +0 -20
  851. package/.dist/esm/src/nodes/atomic/boolean.js.map +0 -1
  852. package/.dist/esm/src/nodes/atomic/date.d.ts +0 -11
  853. package/.dist/esm/src/nodes/atomic/date.d.ts.map +0 -1
  854. package/.dist/esm/src/nodes/atomic/date.js +0 -20
  855. package/.dist/esm/src/nodes/atomic/date.js.map +0 -1
  856. package/.dist/esm/src/nodes/atomic/enum.d.ts +0 -9
  857. package/.dist/esm/src/nodes/atomic/enum.d.ts.map +0 -1
  858. package/.dist/esm/src/nodes/atomic/enum.js +0 -22
  859. package/.dist/esm/src/nodes/atomic/enum.js.map +0 -1
  860. package/.dist/esm/src/nodes/atomic/enumMember.d.ts +0 -11
  861. package/.dist/esm/src/nodes/atomic/enumMember.d.ts.map +0 -1
  862. package/.dist/esm/src/nodes/atomic/enumMember.js +0 -24
  863. package/.dist/esm/src/nodes/atomic/enumMember.js.map +0 -1
  864. package/.dist/esm/src/nodes/atomic/literal.d.ts +0 -21
  865. package/.dist/esm/src/nodes/atomic/literal.d.ts.map +0 -1
  866. package/.dist/esm/src/nodes/atomic/literal.js +0 -126
  867. package/.dist/esm/src/nodes/atomic/literal.js.map +0 -1
  868. package/.dist/esm/src/nodes/atomic/never.d.ts +0 -11
  869. package/.dist/esm/src/nodes/atomic/never.d.ts.map +0 -1
  870. package/.dist/esm/src/nodes/atomic/never.js +0 -22
  871. package/.dist/esm/src/nodes/atomic/never.js.map +0 -1
  872. package/.dist/esm/src/nodes/atomic/null.d.ts +0 -11
  873. package/.dist/esm/src/nodes/atomic/null.d.ts.map +0 -1
  874. package/.dist/esm/src/nodes/atomic/null.js +0 -20
  875. package/.dist/esm/src/nodes/atomic/null.js.map +0 -1
  876. package/.dist/esm/src/nodes/atomic/number.d.ts +0 -11
  877. package/.dist/esm/src/nodes/atomic/number.d.ts.map +0 -1
  878. package/.dist/esm/src/nodes/atomic/number.js +0 -20
  879. package/.dist/esm/src/nodes/atomic/number.js.map +0 -1
  880. package/.dist/esm/src/nodes/atomic/object.d.ts +0 -9
  881. package/.dist/esm/src/nodes/atomic/object.d.ts.map +0 -1
  882. package/.dist/esm/src/nodes/atomic/object.js +0 -14
  883. package/.dist/esm/src/nodes/atomic/object.js.map +0 -1
  884. package/.dist/esm/src/nodes/atomic/regexp.d.ts +0 -11
  885. package/.dist/esm/src/nodes/atomic/regexp.d.ts.map +0 -1
  886. package/.dist/esm/src/nodes/atomic/regexp.js +0 -23
  887. package/.dist/esm/src/nodes/atomic/regexp.js.map +0 -1
  888. package/.dist/esm/src/nodes/atomic/string.d.ts +0 -9
  889. package/.dist/esm/src/nodes/atomic/string.d.ts.map +0 -1
  890. package/.dist/esm/src/nodes/atomic/string.js +0 -14
  891. package/.dist/esm/src/nodes/atomic/string.js.map +0 -1
  892. package/.dist/esm/src/nodes/atomic/symbol.d.ts +0 -12
  893. package/.dist/esm/src/nodes/atomic/symbol.d.ts.map +0 -1
  894. package/.dist/esm/src/nodes/atomic/symbol.js +0 -26
  895. package/.dist/esm/src/nodes/atomic/symbol.js.map +0 -1
  896. package/.dist/esm/src/nodes/atomic/undefined.d.ts +0 -10
  897. package/.dist/esm/src/nodes/atomic/undefined.d.ts.map +0 -1
  898. package/.dist/esm/src/nodes/atomic/undefined.js +0 -17
  899. package/.dist/esm/src/nodes/atomic/undefined.js.map +0 -1
  900. package/.dist/esm/src/nodes/atomic/unknown.d.ts +0 -4
  901. package/.dist/esm/src/nodes/atomic/unknown.d.ts.map +0 -1
  902. package/.dist/esm/src/nodes/atomic/unknown.js +0 -8
  903. package/.dist/esm/src/nodes/atomic/unknown.js.map +0 -1
  904. package/.dist/esm/src/nodes/atomic/void.d.ts +0 -11
  905. package/.dist/esm/src/nodes/atomic/void.d.ts.map +0 -1
  906. package/.dist/esm/src/nodes/atomic/void.js +0 -20
  907. package/.dist/esm/src/nodes/atomic/void.js.map +0 -1
  908. package/.dist/esm/src/nodes/collection/class.d.ts +0 -10
  909. package/.dist/esm/src/nodes/collection/class.d.ts.map +0 -1
  910. package/.dist/esm/src/nodes/collection/class.js +0 -38
  911. package/.dist/esm/src/nodes/collection/class.js.map +0 -1
  912. package/.dist/esm/src/nodes/collection/functionParams.d.ts +0 -10
  913. package/.dist/esm/src/nodes/collection/functionParams.d.ts.map +0 -1
  914. package/.dist/esm/src/nodes/collection/functionParams.js +0 -33
  915. package/.dist/esm/src/nodes/collection/functionParams.js.map +0 -1
  916. package/.dist/esm/src/nodes/collection/interface.d.ts +0 -44
  917. package/.dist/esm/src/nodes/collection/interface.d.ts.map +0 -1
  918. package/.dist/esm/src/nodes/collection/interface.js +0 -241
  919. package/.dist/esm/src/nodes/collection/interface.js.map +0 -1
  920. package/.dist/esm/src/nodes/collection/intersection.d.ts +0 -10
  921. package/.dist/esm/src/nodes/collection/intersection.d.ts.map +0 -1
  922. package/.dist/esm/src/nodes/collection/intersection.js +0 -21
  923. package/.dist/esm/src/nodes/collection/intersection.js.map +0 -1
  924. package/.dist/esm/src/nodes/collection/tuple.d.ts +0 -19
  925. package/.dist/esm/src/nodes/collection/tuple.d.ts.map +0 -1
  926. package/.dist/esm/src/nodes/collection/tuple.js +0 -74
  927. package/.dist/esm/src/nodes/collection/tuple.js.map +0 -1
  928. package/.dist/esm/src/nodes/collection/union.d.ts +0 -20
  929. package/.dist/esm/src/nodes/collection/union.d.ts.map +0 -1
  930. package/.dist/esm/src/nodes/collection/union.js +0 -162
  931. package/.dist/esm/src/nodes/collection/union.js.map +0 -1
  932. package/.dist/esm/src/nodes/collection/unionDiscriminator.d.ts +0 -22
  933. package/.dist/esm/src/nodes/collection/unionDiscriminator.d.ts.map +0 -1
  934. package/.dist/esm/src/nodes/collection/unionDiscriminator.js +0 -198
  935. package/.dist/esm/src/nodes/collection/unionDiscriminator.js.map +0 -1
  936. package/.dist/esm/src/nodes/function/function.d.ts +0 -35
  937. package/.dist/esm/src/nodes/function/function.d.ts.map +0 -1
  938. package/.dist/esm/src/nodes/function/function.js +0 -159
  939. package/.dist/esm/src/nodes/function/function.js.map +0 -1
  940. package/.dist/esm/src/nodes/member/array.d.ts +0 -25
  941. package/.dist/esm/src/nodes/member/array.d.ts.map +0 -1
  942. package/.dist/esm/src/nodes/member/array.js +0 -154
  943. package/.dist/esm/src/nodes/member/array.js.map +0 -1
  944. package/.dist/esm/src/nodes/member/callSignature.d.ts +0 -12
  945. package/.dist/esm/src/nodes/member/callSignature.d.ts.map +0 -1
  946. package/.dist/esm/src/nodes/member/callSignature.js +0 -40
  947. package/.dist/esm/src/nodes/member/callSignature.js.map +0 -1
  948. package/.dist/esm/src/nodes/member/genericMember.d.ts +0 -16
  949. package/.dist/esm/src/nodes/member/genericMember.d.ts.map +0 -1
  950. package/.dist/esm/src/nodes/member/genericMember.js +0 -68
  951. package/.dist/esm/src/nodes/member/genericMember.js.map +0 -1
  952. package/.dist/esm/src/nodes/member/indexProperty.d.ts +0 -22
  953. package/.dist/esm/src/nodes/member/indexProperty.d.ts.map +0 -1
  954. package/.dist/esm/src/nodes/member/indexProperty.js +0 -130
  955. package/.dist/esm/src/nodes/member/indexProperty.js.map +0 -1
  956. package/.dist/esm/src/nodes/member/method.d.ts +0 -12
  957. package/.dist/esm/src/nodes/member/method.d.ts.map +0 -1
  958. package/.dist/esm/src/nodes/member/method.js +0 -41
  959. package/.dist/esm/src/nodes/member/method.js.map +0 -1
  960. package/.dist/esm/src/nodes/member/methodSignature.d.ts +0 -13
  961. package/.dist/esm/src/nodes/member/methodSignature.d.ts.map +0 -1
  962. package/.dist/esm/src/nodes/member/methodSignature.js +0 -44
  963. package/.dist/esm/src/nodes/member/methodSignature.js.map +0 -1
  964. package/.dist/esm/src/nodes/member/param.d.ts +0 -9
  965. package/.dist/esm/src/nodes/member/param.d.ts.map +0 -1
  966. package/.dist/esm/src/nodes/member/param.js +0 -17
  967. package/.dist/esm/src/nodes/member/param.js.map +0 -1
  968. package/.dist/esm/src/nodes/member/property.d.ts +0 -20
  969. package/.dist/esm/src/nodes/member/property.d.ts.map +0 -1
  970. package/.dist/esm/src/nodes/member/property.js +0 -85
  971. package/.dist/esm/src/nodes/member/property.js.map +0 -1
  972. package/.dist/esm/src/nodes/member/restParams.d.ts +0 -8
  973. package/.dist/esm/src/nodes/member/restParams.d.ts.map +0 -1
  974. package/.dist/esm/src/nodes/member/restParams.js +0 -15
  975. package/.dist/esm/src/nodes/member/restParams.js.map +0 -1
  976. package/.dist/esm/src/nodes/member/tupleMember.d.ts +0 -21
  977. package/.dist/esm/src/nodes/member/tupleMember.d.ts.map +0 -1
  978. package/.dist/esm/src/nodes/member/tupleMember.js +0 -93
  979. package/.dist/esm/src/nodes/member/tupleMember.js.map +0 -1
  980. package/.dist/esm/src/nodes/native/Iterable.d.ts +0 -19
  981. package/.dist/esm/src/nodes/native/Iterable.d.ts.map +0 -1
  982. package/.dist/esm/src/nodes/native/Iterable.js +0 -135
  983. package/.dist/esm/src/nodes/native/Iterable.js.map +0 -1
  984. package/.dist/esm/src/nodes/native/map.d.ts +0 -43
  985. package/.dist/esm/src/nodes/native/map.d.ts.map +0 -1
  986. package/.dist/esm/src/nodes/native/map.js +0 -96
  987. package/.dist/esm/src/nodes/native/map.js.map +0 -1
  988. package/.dist/esm/src/nodes/native/nonSerializable.d.ts +0 -15
  989. package/.dist/esm/src/nodes/native/nonSerializable.d.ts.map +0 -1
  990. package/.dist/esm/src/nodes/native/nonSerializable.js +0 -36
  991. package/.dist/esm/src/nodes/native/nonSerializable.js.map +0 -1
  992. package/.dist/esm/src/nodes/native/promise.d.ts +0 -16
  993. package/.dist/esm/src/nodes/native/promise.d.ts.map +0 -1
  994. package/.dist/esm/src/nodes/native/promise.js +0 -38
  995. package/.dist/esm/src/nodes/native/promise.js.map +0 -1
  996. package/.dist/esm/src/nodes/native/set.d.ts +0 -31
  997. package/.dist/esm/src/nodes/native/set.d.ts.map +0 -1
  998. package/.dist/esm/src/nodes/native/set.js +0 -60
  999. package/.dist/esm/src/nodes/native/set.js.map +0 -1
  1000. package/.dist/esm/src/run-types-pure-fns.d.ts +0 -8
  1001. package/.dist/esm/src/run-types-pure-fns.d.ts.map +0 -1
  1002. package/.dist/esm/src/run-types-pure-fns.js +0 -112
  1003. package/.dist/esm/src/run-types-pure-fns.js.map +0 -1
  1004. package/.dist/esm/src/types.d.ts +0 -154
  1005. package/.dist/esm/src/types.d.ts.map +0 -1
  1006. package/.dist/esm/src/types.js +0 -59
  1007. package/.dist/esm/src/types.js.map +0 -1
  1008. package/index.ts +0 -70
  1009. package/src/constants.functions.ts +0 -196
  1010. package/src/constants.kind.ts +0 -76
  1011. package/src/constants.ts +0 -85
  1012. package/src/createRunType.ts +0 -323
  1013. package/src/createRunTypeFunctions.ts +0 -93
  1014. package/src/formats.runtype.ts +0 -35
  1015. package/src/jitCompilers/binary/binarySPEC.md +0 -138
  1016. package/src/jitCompilers/binary/binarySpec/binaryHelpers.ts +0 -118
  1017. package/src/jitCompilers/binary/fromBinary.ts +0 -492
  1018. package/src/jitCompilers/binary/toBinary.ts +0 -435
  1019. package/src/jitCompilers/equalsHelpers.ts +0 -62
  1020. package/src/jitCompilers/json/jsonSpec/jsonHelpers.ts +0 -64
  1021. package/src/jitCompilers/json/stringifyJson.ts +0 -475
  1022. package/src/jitCompilers/json/stringifySpec/stringifyHelpers.ts +0 -59
  1023. package/src/jitCompilers/json/toJsCode.ts +0 -182
  1024. package/src/jitCompilers/serialization-suite.ts +0 -1637
  1025. package/src/jitCompilers/xyz-Template/fromXYZ.ts +0 -211
  1026. package/src/jitCompilers/xyz-Template/toXYZ.ts +0 -216
  1027. package/src/jitCompilers/xyz-Template/xyzReadme.md +0 -6
  1028. package/src/jitCompilers/xyz-Template/xyzSpec/xyzHelpers.ts +0 -66
  1029. package/src/lib/baseRunTypeFormat.ts +0 -320
  1030. package/src/lib/baseRunTypes.ts +0 -367
  1031. package/src/lib/createJitFunction.ts +0 -87
  1032. package/src/lib/dkProxy.ts +0 -47
  1033. package/src/lib/formats.ts +0 -144
  1034. package/src/lib/guards.ts +0 -290
  1035. package/src/lib/jitFnCompiler.ts +0 -783
  1036. package/src/lib/jitFnsRegistry.ts +0 -53
  1037. package/src/lib/typeId.ts +0 -225
  1038. package/src/lib/utils.ts +0 -402
  1039. package/src/mocking/constants.mock.ts +0 -87
  1040. package/src/mocking/mockRegistry.ts +0 -20
  1041. package/src/mocking/mockType.ts +0 -354
  1042. package/src/mocking/mockUtils.ts +0 -82
  1043. package/src/nodes/atomic/any.ts +0 -22
  1044. package/src/nodes/atomic/bigInt.ts +0 -26
  1045. package/src/nodes/atomic/boolean.ts +0 -26
  1046. package/src/nodes/atomic/date.ts +0 -26
  1047. package/src/nodes/atomic/enum.ts +0 -23
  1048. package/src/nodes/atomic/enumMember.ts +0 -29
  1049. package/src/nodes/atomic/literal.ts +0 -125
  1050. package/src/nodes/atomic/never.ts +0 -26
  1051. package/src/nodes/atomic/null.ts +0 -26
  1052. package/src/nodes/atomic/number.ts +0 -26
  1053. package/src/nodes/atomic/object.ts +0 -20
  1054. package/src/nodes/atomic/regexp.ts +0 -29
  1055. package/src/nodes/atomic/string.ts +0 -20
  1056. package/src/nodes/atomic/symbol.ts +0 -31
  1057. package/src/nodes/atomic/undefined.ts +0 -23
  1058. package/src/nodes/atomic/unknown.ts +0 -10
  1059. package/src/nodes/atomic/void.ts +0 -26
  1060. package/src/nodes/collection/class.ts +0 -36
  1061. package/src/nodes/collection/functionParams.ts +0 -42
  1062. package/src/nodes/collection/interface.ts +0 -300
  1063. package/src/nodes/collection/intersection.ts +0 -30
  1064. package/src/nodes/collection/tuple.ts +0 -80
  1065. package/src/nodes/collection/union.ts +0 -205
  1066. package/src/nodes/collection/unionDiscriminator.ts +0 -259
  1067. package/src/nodes/function/function.ts +0 -166
  1068. package/src/nodes/member/array.ts +0 -150
  1069. package/src/nodes/member/callSignature.ts +0 -34
  1070. package/src/nodes/member/genericMember.ts +0 -63
  1071. package/src/nodes/member/indexProperty.ts +0 -125
  1072. package/src/nodes/member/method.ts +0 -30
  1073. package/src/nodes/member/methodSignature.ts +0 -31
  1074. package/src/nodes/member/param.ts +0 -22
  1075. package/src/nodes/member/property.ts +0 -75
  1076. package/src/nodes/member/restParams.ts +0 -22
  1077. package/src/nodes/member/tupleMember.ts +0 -93
  1078. package/src/nodes/native/Iterable.ts +0 -153
  1079. package/src/nodes/native/map.ts +0 -91
  1080. package/src/nodes/native/nonSerializable.ts +0 -42
  1081. package/src/nodes/native/promise.ts +0 -43
  1082. package/src/nodes/native/set.ts +0 -56
  1083. package/src/run-types-pure-fns.ts +0 -116
  1084. package/src/types.ts +0 -206
@@ -1 +0,0 @@
1
- {"version":3,"file":"tuple.d.ts","sourceRoot":"","sources":["../../../../../src/nodes/collection/tuple.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAe,SAAS,EAAC,MAAM,eAAe,CAAC;AAC3D,OAAO,KAAK,EAAC,aAAa,EAAE,mBAAmB,EAAC,MAAM,4BAA4B,CAAC;AACnF,OAAO,KAAK,EAAC,uBAAuB,EAAW,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAC9E,OAAO,EAAC,gBAAgB,EAAC,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAC;AAE5D,KAAK,eAAe,GAAG,gBAAgB,GAAG,kBAAkB,CAAC;AAE7D,qBAAa,YAAY,CACrB,SAAS,SAAS,uBAAuB,GAAG,SAAS,EACrD,SAAS,SAAS,eAAe,GAAG,kBAAkB,CACxD,SAAQ,iBAAiB,CAAC,SAAS,CAAC;IAClC,gBAAgB,QAAO,SAAS,EAAE,CAGhC;IACF,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,EAAE;IAQlD,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAK9C,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM;IAKhD,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IASxC,cAAc,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO;IAUlD,kBAAkB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAShD,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;CASpD"}
@@ -1,74 +0,0 @@
1
- import { TupleMemberRunType } from "../member/tupleMember.js";
2
- import { CollectionRunType } from "../../lib/baseRunTypes.js";
3
- function __assignType(fn, args) {
4
- fn.__type = args;
5
- return fn;
6
- }
7
- class TupleRunType extends CollectionRunType {
8
- getChildRunTypes = __assignType(() => {
9
- const childTypes = this.src.parameters || this.src.types || [];
10
- return childTypes.map(__assignType((t) => t._rt, ["t", "", 'P"2!"/"']));
11
- }, ["", "P!F/!"]);
12
- getParamRunTypes(comp) {
13
- const start = comp.opts?.paramsSlice?.start;
14
- const end = comp.opts?.paramsSlice?.end;
15
- const children = this.getChildRunTypes();
16
- if (!start && !end)
17
- return children;
18
- return children.slice(start, end);
19
- }
20
- hasRestParameter(comp) {
21
- return !!this.getParamRunTypes(comp).length && this.getParamRunTypes(comp)[this.getParamRunTypes(comp).length - 1].isRest();
22
- }
23
- totalRequiredParams(comp) {
24
- return this.getParamRunTypes(comp).filter(__assignType((p) => !p.isOptional() && !p.isRest(), ["p", "", 'P"2!"/"'])).length;
25
- }
26
- // ####### params #######
27
- emitIsType(comp) {
28
- const children = this.getParamRunTypes(comp);
29
- if (children.length === 0 && comp.opts.noIsArrayCheck)
30
- return { code: void 0, type: "E" };
31
- if (children.length === 0)
32
- return { code: `Array.isArray(${comp.vλl}) && ${comp.vλl}.length === 0`, type: "E" };
33
- const lengthCode = this.hasRestParameter(comp) ? "" : `&& ${comp.vλl}.length <= ${this.getParamRunTypes(comp).length}`;
34
- const paramsCode = children.map(__assignType((p) => `(${comp.compileIsType(p, "E").code})`, ["p", "", 'P"2!"/"'])).join(" && ");
35
- const checkIsArrayCode = comp.opts.noIsArrayCheck ? "" : `Array.isArray(${comp.vλl})${lengthCode} && `;
36
- return { code: `(${checkIsArrayCode} ${paramsCode})`, type: "E" };
37
- }
38
- emitTypeErrors(comp) {
39
- const children = this.getParamRunTypes(comp);
40
- if (children.length === 0 && comp.opts.noIsArrayCheck)
41
- return { code: void 0, type: "S" };
42
- if (children.length === 0)
43
- return { code: `if (!Array.isArray(${comp.vλl}) || && ${comp.vλl}.length === 0) ${comp.callJitErr(this)}`, type: "S" };
44
- const lengthCode = this.hasRestParameter(comp) ? "" : `|| ${comp.vλl}.length > ${this.getParamRunTypes(comp).length}`;
45
- const paramsCode = children.map(__assignType((p) => comp.compileTypeErrors(p, "S").code, ["p", "", 'P"2!"/"'])).join(";");
46
- if (comp.opts.noIsArrayCheck)
47
- return { code: paramsCode, type: "S" };
48
- return { code: `if (!Array.isArray(${comp.vλl})${lengthCode}) ${comp.callJitErr(this)}; else {${paramsCode}}`, type: "S" };
49
- }
50
- emitPrepareForJson(comp) {
51
- const children = this.getParamRunTypes(comp);
52
- if (!children.length)
53
- return { code: void 0, type: "S" };
54
- const code = children.map(__assignType((p) => comp.compilePrepareForJson(p, "S").code, ["p", "", 'P"2!"/"'])).filter(Boolean).join(";");
55
- return { code, type: "S" };
56
- }
57
- emitRestoreFromJson(comp) {
58
- const children = this.getParamRunTypes(comp);
59
- if (!children.length)
60
- return { code: void 0, type: "S" };
61
- const code = children.map(__assignType((p) => comp.compileRestoreFromJson(p, "S").code, ["p", "", 'P"2!"/"'])).filter(Boolean).join(";");
62
- return { code, type: "S" };
63
- }
64
- static __type = ["TypeTuple", "ParamList", () => TupleMemberRunType, "ParamType", () => CollectionRunType, "getChildRunTypes", function() {
65
- return __assignType(() => {
66
- const childTypes = this.src.parameters || this.src.types || [];
67
- return childTypes.map(__assignType((t) => t._rt, ["t", "", 'P"2!"/"']));
68
- }, ["", "P!F/!"]);
69
- }, "JitFnCompiler", "comp", "getParamRunTypes", "hasRestParameter", "totalRequiredParams", "JitCode", "emitIsType", "JitErrorsFnCompiler", "emitTypeErrors", "emitPrepareForJson", "emitRestoreFromJson", "TupleRunType", `"w!c"P7#c$Pe"!7%!3&>'P"w(2)e""F0*P"w(2))0+P"w(2)'0,P"w(2)"w-0.P"w/2)"w-00P"w(2)"w-01P"w(2)"w-025e!!6"w3`];
70
- }
71
- export {
72
- TupleRunType
73
- };
74
- //# sourceMappingURL=tuple.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tuple.js","sources":["../../../../../src/nodes/collection/tuple.ts"],"sourcesContent":["/* ########\n * 2024 mion\n * Author: Ma-jerez\n * License: MIT\n * The software is provided \"as is\", without warranty of any kind.\n * ######## */\n\nimport type {TypeFunction, TypeTuple} from '@deepkit/type';\nimport type {JitFnCompiler, JitErrorsFnCompiler} from '../../lib/jitFnCompiler.ts';\nimport type {AnyParameterListRunType, SrcType, JitCode} from '../../types.ts';\nimport {ParameterRunType} from '../member/param.ts';\nimport {CollectionRunType} from '../../lib/baseRunTypes.ts';\nimport {TupleMemberRunType} from '../member/tupleMember.ts';\n\ntype AnyParamRunType = ParameterRunType | TupleMemberRunType;\n\nexport class TupleRunType<\n ParamList extends AnyParameterListRunType = TypeTuple,\n ParamType extends AnyParamRunType = TupleMemberRunType,\n> extends CollectionRunType<ParamList> {\n getChildRunTypes = (): ParamType[] => {\n const childTypes = ((this.src as TypeFunction).parameters || (this.src as TypeTuple).types || []) as SrcType[];\n return childTypes.map((t) => t._rt as ParamType);\n };\n getParamRunTypes(comp: JitFnCompiler): ParamType[] {\n const start = comp.opts?.paramsSlice?.start;\n const end = comp.opts?.paramsSlice?.end;\n const children = this.getChildRunTypes();\n if (!start && !end) return children;\n // Get all child run types first without using comp to avoid recursion\n return children.slice(start, end);\n }\n hasRestParameter(comp: JitFnCompiler): boolean {\n return (\n !!this.getParamRunTypes(comp).length && this.getParamRunTypes(comp)[this.getParamRunTypes(comp).length - 1].isRest()\n );\n }\n totalRequiredParams(comp: JitFnCompiler): number {\n return this.getParamRunTypes(comp).filter((p) => !p.isOptional() && !p.isRest()).length;\n }\n // ####### params #######\n\n emitIsType(comp: JitFnCompiler): JitCode {\n const children = this.getParamRunTypes(comp);\n if (children.length === 0 && comp.opts.noIsArrayCheck) return {code: undefined, type: 'E'};\n if (children.length === 0) return {code: `Array.isArray(${comp.vλl}) && ${comp.vλl}.length === 0`, type: 'E'};\n const lengthCode = this.hasRestParameter(comp) ? '' : `&& ${comp.vλl}.length <= ${this.getParamRunTypes(comp).length}`;\n const paramsCode = children.map((p) => `(${comp.compileIsType(p, 'E').code})`).join(' && ');\n const checkIsArrayCode = comp.opts.noIsArrayCheck ? '' : `Array.isArray(${comp.vλl})${lengthCode} && `;\n return {code: `(${checkIsArrayCode} ${paramsCode})`, type: 'E'};\n }\n emitTypeErrors(comp: JitErrorsFnCompiler): JitCode {\n const children = this.getParamRunTypes(comp);\n if (children.length === 0 && comp.opts.noIsArrayCheck) return {code: undefined, type: 'S'};\n if (children.length === 0)\n return {code: `if (!Array.isArray(${comp.vλl}) || && ${comp.vλl}.length === 0) ${comp.callJitErr(this)}`, type: 'S'};\n const lengthCode = this.hasRestParameter(comp) ? '' : `|| ${comp.vλl}.length > ${this.getParamRunTypes(comp).length}`;\n const paramsCode = children.map((p) => comp.compileTypeErrors(p, 'S').code).join(';');\n if (comp.opts.noIsArrayCheck) return {code: paramsCode, type: 'S'};\n return {code: `if (!Array.isArray(${comp.vλl})${lengthCode}) ${comp.callJitErr(this)}; else {${paramsCode}}`, type: 'S'};\n }\n emitPrepareForJson(comp: JitFnCompiler): JitCode {\n const children = this.getParamRunTypes(comp);\n if (!children.length) return {code: undefined, type: 'S'};\n const code = children\n .map((p) => comp.compilePrepareForJson(p, 'S').code)\n .filter(Boolean)\n .join(';');\n return {code: code, type: 'S'};\n }\n emitRestoreFromJson(comp: JitFnCompiler): JitCode {\n const children = this.getParamRunTypes(comp);\n if (!children.length) return {code: undefined, type: 'S'};\n const code = children\n .map((p) => comp.compileRestoreFromJson(p, 'S').code)\n .filter(Boolean)\n .join(';');\n return {code: code, type: 'S'};\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- import { TypeUnion } from '@deepkit/type';
2
- import { JitFnCompiler, JitErrorsFnCompiler } from '../../lib/jitFnCompiler.ts';
3
- import { JitCode } from '../../types.ts';
4
- import { BaseRunType, CollectionRunType } from '../../lib/baseRunTypes.ts';
5
- import { SplitUnionResult } from './unionDiscriminator.ts';
6
- export declare class UnionRunType extends CollectionRunType<TypeUnion> {
7
- hasDiscriminators: boolean | undefined;
8
- hasObjectTypes: boolean | undefined;
9
- isTypeWithProperties(rt: BaseRunType): boolean;
10
- getUnionChildren(comp: JitFnCompiler): SplitUnionResult;
11
- getUnionItemIndex(comp: JitFnCompiler, unionItem: BaseRunType): number;
12
- getChildIsTypeWithLooseCheck(rt: BaseRunType, comp: JitFnCompiler): string;
13
- emitIsType(comp: JitFnCompiler): JitCode;
14
- emitTypeErrors(comp: JitErrorsFnCompiler): JitCode;
15
- emitPrepareForJson(comp: JitFnCompiler): JitCode;
16
- emitRestoreFromJson(comp: JitFnCompiler): JitCode;
17
- getUnionTypeNames(): string;
18
- checkAllowedChildren(comp: JitFnCompiler): void;
19
- }
20
- //# sourceMappingURL=union.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"union.d.ts","sourceRoot":"","sources":["../../../../../src/nodes/collection/union.ts"],"names":[],"mappings":"AAOA,OAAO,EAAiB,KAAK,SAAS,EAAC,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EAAC,aAAa,EAAE,mBAAmB,EAAC,MAAM,4BAA4B,CAAC;AACnF,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAGzE,OAAO,EAAsC,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AAU9F,qBAAa,YAAa,SAAQ,iBAAiB,CAAC,SAAS,CAAC;IAC1D,iBAAiB,EAAE,OAAO,GAAG,SAAS,CAAa;IACnD,cAAc,EAAE,OAAO,GAAG,SAAS,CAAa;IAEhD,oBAAoB,CAAC,EAAE,EAAE,WAAW;IAOpC,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,gBAAgB;IAMvD,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,WAAW,GAAG,MAAM;IAetE,4BAA4B,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,GAAG,MAAM;IA6B1E,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAgBxC,cAAc,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO;IAalD,kBAAkB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IA+ChD,mBAAmB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAgCjD,iBAAiB,IAAI,MAAM;IAM3B,oBAAoB,CAAC,IAAI,EAAE,aAAa;CAM3C"}
@@ -1,162 +0,0 @@
1
- import { ReflectionKind } from "@deepkit/type";
2
- import { CollectionRunType, BaseRunType } from "../../lib/baseRunTypes.js";
3
- import { createIfElseFn, toLiteral, childIsExpression } from "../../lib/utils.js";
4
- import { isInterfaceRunType, isClassRunType, isObjectLiteralRunType, isIntersectionRunType } from "../../lib/guards.js";
5
- import { markDiscriminators, splitUnionItems, __ΩSplitUnionResult as ___SplitUnionResult } from "./unionDiscriminator.js";
6
- function __assignType(fn, args) {
7
- fn.__type = args;
8
- return fn;
9
- }
10
- class UnionRunType extends CollectionRunType {
11
- hasDiscriminators = void 0;
12
- hasObjectTypes = void 0;
13
- isTypeWithProperties(rt) {
14
- return rt.getFamily() === "C" && (isInterfaceRunType(rt) || isClassRunType(rt) || isObjectLiteralRunType(rt) || isIntersectionRunType(rt));
15
- }
16
- getUnionChildren(comp) {
17
- const children = this.getJitChildren(comp);
18
- markDiscriminators(comp, this, children);
19
- return splitUnionItems(comp, this, children);
20
- }
21
- getUnionItemIndex(comp, unionItem) {
22
- const children = this.getJitChildren(comp);
23
- const index = children.findIndex(__assignType((child) => child === unionItem, ["child", "", 'P"2!"/"']));
24
- if (index === -1)
25
- throw new Error(`Item ${unionItem.getTypeName()} not found in union ${this.getTypeName()}`);
26
- return index;
27
- }
28
- /**
29
- * Returns isType check for a union child with loose matching.
30
- * Uses first-match strategy: returns first matching type in declaration order.
31
- * For all-optional types (weak types), ensures at least one property matches or is empty object.
32
- * Note: Use ESLint rules @mionjs/no-unreachable-union-types and @mionjs/no-mixed-union-properties
33
- * to detect overlapping union types at compile time.
34
- * @see union.spec.ts 'Union Obj' and 'Union Mixed' test suites for examples.
35
- */
36
- getChildIsTypeWithLooseCheck(rt, comp) {
37
- const isTypeCode = comp.compileIsType(rt, "E").code || "";
38
- const isTypeWithProperties = isInterfaceRunType(rt) || isClassRunType(rt) || isObjectLiteralRunType(rt) || isIntersectionRunType(rt);
39
- if (!isTypeWithProperties || rt.getFamily() !== "C")
40
- return isTypeCode;
41
- const props = rt.getJitChildren(comp);
42
- const hasIndexProperty = props.some(__assignType((prop) => prop.src.kind === ReflectionKind.indexSignature, ["prop", "", 'P"2!"/"']));
43
- if (hasIndexProperty)
44
- return isTypeCode;
45
- const isAllOptional = rt.areAllChildrenOptional(props);
46
- if (isAllOptional && props.length > 0) {
47
- const hasOwnPropCheck = props.map(__assignType((p) => {
48
- const name = p.getPropertyName();
49
- return `(${toLiteral(name)} in ${comp.vλl})`;
50
- }, ["p", "", 'P"2!"/"']));
51
- hasOwnPropCheck.push(`Object.keys(${comp.vλl}).length === 0`);
52
- const weakTypeCheck = `(${hasOwnPropCheck.join(" || ")})`;
53
- return `(${isTypeCode} && ${weakTypeCheck})`;
54
- }
55
- return isTypeCode;
56
- }
57
- /**
58
- * Loose union matching: returns first matching type in declaration order.
59
- * Objects with properties from multiple union types will match the first compatible type.
60
- * Use ESLint rules to detect overlapping types at compile time.
61
- */
62
- emitIsType(comp) {
63
- this.checkAllowedChildren(comp);
64
- const { simpleItems, objectTypes, anyItem } = this.getUnionChildren(comp);
65
- const simpleChecks = simpleItems.map(__assignType((rt) => this.getChildIsTypeWithLooseCheck(rt, comp), ["rt", "", 'P"2!"/"'])).filter(Boolean);
66
- const objChecks = objectTypes.map(__assignType((rt) => this.getChildIsTypeWithLooseCheck(rt, comp), ["rt", "", 'P"2!"/"'])).filter(Boolean);
67
- const objCode = objChecks.length ? `(typeof ${comp.vλl} === 'object' && ${comp.vλl} !== null && (${objChecks.join(" || ")}))` : "";
68
- const anyCheck = anyItem ? this.getChildIsTypeWithLooseCheck(anyItem, comp) : "";
69
- const allChecks = [...simpleChecks, objCode, anyCheck].filter(Boolean);
70
- return { code: `(${allChecks.join(" || ")})`, type: "E" };
71
- }
72
- emitTypeErrors(comp) {
73
- this.checkAllowedChildren(comp);
74
- const isType = comp.compileIsType(this, "E").code;
75
- const code = `if (!${isType}) ${comp.callJitErr(this)};`;
76
- return { code, type: "S" };
77
- }
78
- /**
79
- * When a union is encodes to json is encode into and array with two elements: [unionDiscriminator, encoded Value]
80
- * the first element is the index of the type in the union.
81
- * the second element is the encoded value of the type.
82
- * ie: type union = string | number | bigint; var v1: union = 123n; v1 is encoded as [2, "123n"]
83
- */
84
- emitPrepareForJson(comp) {
85
- this.checkAllowedChildren(comp);
86
- const { simpleItems, objectTypes, anyItem } = this.getUnionChildren(comp);
87
- const errName = comp.getLocalVarName("uErr", this);
88
- const fail = `throw new Error(${errName});`;
89
- comp.setContextItem(errName, `const ${errName} = "Can not json encode union: item does not belong to the union"`);
90
- const ifElse = createIfElseFn();
91
- const getEncodeCode = __assignType((childRt) => {
92
- const toJit = comp.compilePrepareForJson(childRt, "S");
93
- const fromJit = comp.compileRestoreFromJson(childRt, "S");
94
- const needsTupleEncoding = !!toJit.code || !!fromJit.code;
95
- const isExpression = childIsExpression(toJit, childRt);
96
- const encodeCode = isExpression && toJit.code ? `${comp.vλl} = ${toJit.code};` : toJit.code || "";
97
- const index = this.getUnionItemIndex(comp, childRt);
98
- const tupleEncode = needsTupleEncoding ? `${comp.vλl} = [${index}, ${comp.vλl}]` : "/*noop*/";
99
- return `${encodeCode} ${tupleEncode}`;
100
- }, [() => BaseRunType, "childRt", "", 'PP7!2""/#']);
101
- const simpleCode = simpleItems.map(__assignType((rt) => {
102
- const isTypeCode = this.getChildIsTypeWithLooseCheck(rt, comp);
103
- return `${ifElse()} (${isTypeCode}) {${getEncodeCode(rt)}}`;
104
- }, ["rt", "", 'P"2!"/"']));
105
- const objCode = objectTypes.length ? objectTypes.map(__assignType((rt) => {
106
- const isTypeCode = this.getChildIsTypeWithLooseCheck(rt, comp);
107
- return `${ifElse()} (typeof ${comp.vλl} === 'object' && ${comp.vλl} !== null && ${isTypeCode}) {${getEncodeCode(rt)}}`;
108
- }, ["rt", "", 'P"2!"/"'])) : [];
109
- const anyCode = anyItem ? `${ifElse(true)} {${getEncodeCode(anyItem)}}` : `${ifElse(true)} {${fail}}`;
110
- return { code: [...simpleCode, ...objCode, anyCode].join(""), type: "S" };
111
- }
112
- /**
113
- * When a union is decoded from json it expects de two elements array format: [unionDiscriminator, Value to decode]
114
- * the first element is the index of the type in the union.
115
- * the second element is the encoded value of the type.
116
- * ie: type union = string | number | bigint; var v1: union = 123n; v1 is encoded as [2, "123n"]
117
- */
118
- emitRestoreFromJson(comp) {
119
- this.checkAllowedChildren(comp);
120
- const decVar = comp.getLocalVarName("dec", this);
121
- const errVarName = comp.getLocalVarName("uErr", this);
122
- comp.setContextItem(errVarName, `const ${errVarName} = "Can not json decode union: invalid union index"`);
123
- const children = this.getJitChildren(comp);
124
- const ifElse = createIfElseFn();
125
- const itemsCode = children.map(__assignType((unionItem) => {
126
- const childJit = comp.compileRestoreFromJson(unionItem, "S");
127
- const isExpression = childIsExpression(childJit, unionItem);
128
- const code2 = isExpression && childJit.code && childJit.code !== comp.vλl ? `${comp.vλl} = ${childJit.code}` : childJit.code || "";
129
- const index = this.getUnionItemIndex(comp, unionItem);
130
- return `${ifElse()} (${decVar} === ${index}) {${code2 || "/*noop*/"}}`;
131
- }, ["unionItem", "", 'P"2!"/"'])).filter(Boolean);
132
- const childrenCode = itemsCode.join("");
133
- const failCode = childrenCode ? `else {throw new Error(${errVarName})}` : "";
134
- const code = `
135
- if (${comp.vλl}?.length === 2 && Array.isArray(${comp.vλl}) && typeof ${comp.vλl}[0] === 'number') {
136
- const ${decVar} = ${comp.vλl}[0]; ${comp.vλl} = ${comp.vλl}[1];
137
- ${childrenCode}
138
- ${failCode}
139
- }
140
- `;
141
- return { code, type: "S" };
142
- }
143
- getUnionTypeNames() {
144
- return this.getChildRunTypes().map(__assignType((rt) => rt.getTypeName(), ["rt", "", 'P"2!"/"'])).join(" | ");
145
- }
146
- checkAllowedChildren(comp) {
147
- const allChildren = this.getChildRunTypes();
148
- const toSkip = allChildren.filter(__assignType((rt) => rt.skipJit(comp), ["rt", "", 'P"2!"/"']));
149
- if (toSkip.length)
150
- throw new Error(`Union can not have non serializable types, ie: Symbol, Function, etc.
151
- Type: ${this.stringify()}`);
152
- }
153
- static __type = ["TypeUnion", () => CollectionRunType, "hasDiscriminators", function() {
154
- return void 0;
155
- }, "hasObjectTypes", function() {
156
- return void 0;
157
- }, () => BaseRunType, "rt", "isTypeWithProperties", "JitFnCompiler", "comp", () => ___SplitUnionResult, "getUnionChildren", () => BaseRunType, "unionItem", "getUnionItemIndex", () => BaseRunType, "getChildIsTypeWithLooseCheck", "JitCode", "emitIsType", "JitErrorsFnCompiler", "emitTypeErrors", "emitPrepareForJson", "emitRestoreFromJson", "getUnionTypeNames", "checkAllowedChildren", "UnionRunType", `P"w!7"P)-J3#>$P)-J3%>&PP7'2("0)P"w*2+n,0-P"w*2+P7.2/'00PP712("w*2+&02P"w*2+"w304P"w52+"w306P"w*2+"w307P"w*2+"w308P&09P"w*2+"0:5"w!6"w;`];
158
- }
159
- export {
160
- UnionRunType
161
- };
162
- //# sourceMappingURL=union.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"union.js","sources":["../../../../../src/nodes/collection/union.ts"],"sourcesContent":["/* ########\n * 2024 mion\n * Author: Ma-jerez\n * License: MIT\n * The software is provided \"as is\", without warranty of any kind.\n * ######## */\n\nimport {ReflectionKind, type TypeUnion} from '@deepkit/type';\nimport type {JitFnCompiler, JitErrorsFnCompiler} from '../../lib/jitFnCompiler.ts';\nimport type {JitCode} from '../../types.ts';\nimport {BaseRunType, CollectionRunType} from '../../lib/baseRunTypes.ts';\nimport {childIsExpression, createIfElseFn, toLiteral} from '../../lib/utils.ts';\nimport {isClassRunType, isInterfaceRunType, isIntersectionRunType, isObjectLiteralRunType} from '../../lib/guards.ts';\nimport {markDiscriminators, splitUnionItems, SplitUnionResult} from './unionDiscriminator.ts';\nimport type {PropertyRunType} from '../member/property.ts';\n\n/**\n * Unions get encoded into an array where arr[0] is the discriminator and arr[1] is the value.\n * this is because some times we can't distinguish the type of an union.\n * ie: bigint gets encoded into an string, so if we have an union 'type U = string | bigint' we can't distinguish between the when encoding/decoding the json.\n * to solve this issue the index of the type is used as a discriminator.\n * So [0, \"123n\"] is interpreted as a string and [1, \"123n\"] is interpreted as a bigint.\n * */\nexport class UnionRunType extends CollectionRunType<TypeUnion> {\n hasDiscriminators: boolean | undefined = undefined;\n hasObjectTypes: boolean | undefined = undefined;\n\n isTypeWithProperties(rt: BaseRunType) {\n return (\n rt.getFamily() === 'C' &&\n (isInterfaceRunType(rt) || isClassRunType(rt) || isObjectLiteralRunType(rt) || isIntersectionRunType(rt))\n );\n }\n\n getUnionChildren(comp: JitFnCompiler): SplitUnionResult {\n const children = this.getJitChildren(comp);\n markDiscriminators(comp, this, children);\n return splitUnionItems(comp, this, children);\n }\n\n getUnionItemIndex(comp: JitFnCompiler, unionItem: BaseRunType): number {\n const children = this.getJitChildren(comp);\n const index = children.findIndex((child) => child === unionItem);\n if (index === -1) throw new Error(`Item ${unionItem.getTypeName()} not found in union ${this.getTypeName()}`);\n return index;\n }\n\n /**\n * Returns isType check for a union child with loose matching.\n * Uses first-match strategy: returns first matching type in declaration order.\n * For all-optional types (weak types), ensures at least one property matches or is empty object.\n * Note: Use ESLint rules @mionjs/no-unreachable-union-types and @mionjs/no-mixed-union-properties\n * to detect overlapping union types at compile time.\n * @see union.spec.ts 'Union Obj' and 'Union Mixed' test suites for examples.\n */\n getChildIsTypeWithLooseCheck(rt: BaseRunType, comp: JitFnCompiler): string {\n const isTypeCode = comp.compileIsType(rt, 'E').code || '';\n const isTypeWithProperties =\n isInterfaceRunType(rt) || isClassRunType(rt) || isObjectLiteralRunType(rt) || isIntersectionRunType(rt);\n if (!isTypeWithProperties || rt.getFamily() !== 'C') return isTypeCode;\n const props = rt.getJitChildren(comp);\n const hasIndexProperty = props.some((prop) => prop.src.kind === ReflectionKind.indexSignature);\n if (hasIndexProperty) return isTypeCode;\n const isAllOptional = rt.areAllChildrenOptional(props);\n // For all-optional types (weak types), TypeScript requires at least one matching property\n // or an empty object. This prevents {c: 'hello'} from matching {a?: string; b?: string}\n if (isAllOptional && props.length > 0) {\n // Must have at least one of this type's own props OR be empty\n const hasOwnPropCheck = props.map((p) => {\n const name = (p as PropertyRunType).getPropertyName();\n return `(${toLiteral(name)} in ${comp.vλl})`;\n });\n hasOwnPropCheck.push(`Object.keys(${comp.vλl}).length === 0`);\n const weakTypeCheck = `(${hasOwnPropCheck.join(' || ')})`;\n return `(${isTypeCode} && ${weakTypeCheck})`;\n }\n return isTypeCode;\n }\n\n /**\n * Loose union matching: returns first matching type in declaration order.\n * Objects with properties from multiple union types will match the first compatible type.\n * Use ESLint rules to detect overlapping types at compile time.\n */\n emitIsType(comp: JitFnCompiler): JitCode {\n this.checkAllowedChildren(comp);\n const {simpleItems, objectTypes, anyItem} = this.getUnionChildren(comp);\n // Simple items (atomic types) don't need null guard\n const simpleChecks = simpleItems.map((rt) => this.getChildIsTypeWithLooseCheck(rt, comp)).filter(Boolean);\n // Object types need null guard to prevent accessing properties on null\n const objChecks = objectTypes.map((rt) => this.getChildIsTypeWithLooseCheck(rt, comp)).filter(Boolean);\n const objCode = objChecks.length\n ? `(typeof ${comp.vλl} === 'object' && ${comp.vλl} !== null && (${objChecks.join(' || ')}))`\n : '';\n // any/unknown checked last as fallback\n const anyCheck = anyItem ? this.getChildIsTypeWithLooseCheck(anyItem, comp) : '';\n const allChecks = [...simpleChecks, objCode, anyCheck].filter(Boolean);\n return {code: `(${allChecks.join(' || ')})`, type: 'E'};\n }\n\n emitTypeErrors(comp: JitErrorsFnCompiler): JitCode {\n this.checkAllowedChildren(comp);\n const isType = comp.compileIsType(this, 'E').code;\n const code = `if (!${isType}) ${comp.callJitErr(this)};`;\n return {code, type: 'S'};\n }\n\n /**\n * When a union is encodes to json is encode into and array with two elements: [unionDiscriminator, encoded Value]\n * the first element is the index of the type in the union.\n * the second element is the encoded value of the type.\n * ie: type union = string | number | bigint; var v1: union = 123n; v1 is encoded as [2, \"123n\"]\n */\n emitPrepareForJson(comp: JitFnCompiler): JitCode {\n this.checkAllowedChildren(comp);\n const {simpleItems, objectTypes, anyItem} = this.getUnionChildren(comp);\n const errName = comp.getLocalVarName('uErr', this);\n const fail = `throw new Error(${errName});`;\n comp.setContextItem(errName, `const ${errName} = \"Can not json encode union: item does not belong to the union\"`);\n\n const ifElse = createIfElseFn();\n\n // Helper to generate encode code for a union item\n const getEncodeCode = (childRt: BaseRunType) => {\n const toJit = comp.compilePrepareForJson(childRt, 'S');\n const fromJit = comp.compileRestoreFromJson(childRt, 'S');\n const needsTupleEncoding = !!toJit.code || !!fromJit.code;\n const isExpression = childIsExpression(toJit, childRt);\n const encodeCode = isExpression && toJit.code ? `${comp.vλl} = ${toJit.code};` : toJit.code || '';\n const index = this.getUnionItemIndex(comp, childRt);\n const tupleEncode = needsTupleEncoding ? `${comp.vλl} = [${index}, ${comp.vλl}]` : '/*noop*/';\n return `${encodeCode} ${tupleEncode}`;\n };\n\n // Generate code for simple items (atomic types)\n const simpleCode = simpleItems.map((rt) => {\n const isTypeCode = this.getChildIsTypeWithLooseCheck(rt, comp);\n return `${ifElse()} (${isTypeCode}) {${getEncodeCode(rt)}}`;\n });\n\n // Generate code for object types (need null guard)\n const objCode = objectTypes.length\n ? objectTypes.map((rt) => {\n const isTypeCode = this.getChildIsTypeWithLooseCheck(rt, comp);\n return `${ifElse()} (typeof ${comp.vλl} === 'object' && ${comp.vλl} !== null && ${isTypeCode}) {${getEncodeCode(rt)}}`;\n })\n : [];\n\n // Generate code for anyItem (always matches, checked last as fallback)\n const anyCode = anyItem ? `${ifElse(true)} {${getEncodeCode(anyItem)}}` : `${ifElse(true)} {${fail}}`;\n\n return {code: [...simpleCode, ...objCode, anyCode].join(''), type: 'S'};\n }\n\n /**\n * When a union is decoded from json it expects de two elements array format: [unionDiscriminator, Value to decode]\n * the first element is the index of the type in the union.\n * the second element is the encoded value of the type.\n * ie: type union = string | number | bigint; var v1: union = 123n; v1 is encoded as [2, \"123n\"]\n */\n emitRestoreFromJson(comp: JitFnCompiler): JitCode {\n this.checkAllowedChildren(comp);\n const decVar = comp.getLocalVarName('dec', this);\n const errVarName = comp.getLocalVarName('uErr', this);\n comp.setContextItem(errVarName, `const ${errVarName} = \"Can not json decode union: invalid union index\"`);\n const children = this.getJitChildren(comp);\n const ifElse = createIfElseFn();\n const itemsCode = children\n .map((unionItem) => {\n const childJit = comp.compileRestoreFromJson(unionItem, 'S');\n const isExpression = childIsExpression(childJit, unionItem);\n const code =\n isExpression && childJit.code && childJit.code !== comp.vλl\n ? `${comp.vλl} = ${childJit.code}`\n : childJit.code || '';\n // item is decoded before being extracted from the array\n const index = this.getUnionItemIndex(comp, unionItem);\n return `${ifElse()} (${decVar} === ${index}) {${code || '/*noop*/'}}`;\n })\n .filter(Boolean);\n const childrenCode = itemsCode.join('');\n const failCode = childrenCode ? `else {throw new Error(${errVarName})}` : '';\n const code = `\n if (${comp.vλl}?.length === 2 && Array.isArray(${comp.vλl}) && typeof ${comp.vλl}[0] === 'number') {\n const ${decVar} = ${comp.vλl}[0]; ${comp.vλl} = ${comp.vλl}[1];\n ${childrenCode}\n ${failCode}\n }\n `;\n return {code, type: 'S'};\n }\n\n getUnionTypeNames(): string {\n return this.getChildRunTypes()\n .map((rt) => rt.getTypeName())\n .join(' | ');\n }\n\n checkAllowedChildren(comp: JitFnCompiler) {\n const allChildren = this.getChildRunTypes();\n const toSkip = allChildren.filter((rt) => rt.skipJit(comp));\n if (toSkip.length)\n throw new Error(`Union can not have non serializable types, ie: Symbol, Function, etc. \\nType: ${this.stringify()}`);\n }\n}\n"],"names":["code","__ΩSplitUnionResult"],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- import { BaseRunType, CollectionRunType } from '../../lib/baseRunTypes.ts';
2
- import { JitFnCompiler } from '../../lib/jitFnCompiler.ts';
3
- import { UnionRunType } from './union.ts';
4
- import { PropertyRunType } from '../member/property.ts';
5
- export type FlattenedProp = {
6
- unionItem: CollectionRunType<any>;
7
- unionIndex: string | number;
8
- prop: PropertyRunType;
9
- typeID: string | number;
10
- compiledName: string;
11
- };
12
- export type SplitUnionResult = {
13
- simpleItems: BaseRunType[];
14
- objectTypes: CollectionRunType<any>[];
15
- anyItem?: BaseRunType;
16
- };
17
- export declare function splitUnionItems(comp: JitFnCompiler, urt: UnionRunType, unionChildren?: BaseRunType[]): SplitUnionResult;
18
- export declare function sortUnreachableTypes(comp: JitFnCompiler, objectTypes: CollectionRunType<any>[]): CollectionRunType<any>[];
19
- export declare function markDiscriminators(comp: JitFnCompiler, urt: UnionRunType, unionItems: BaseRunType[]): void;
20
- export declare type __ΩFlattenedProp = any[];
21
- export declare type __ΩSplitUnionResult = any[];
22
- //# sourceMappingURL=unionDiscriminator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"unionDiscriminator.d.ts","sourceRoot":"","sources":["../../../../../src/nodes/collection/unionDiscriminator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,EAAE,iBAAiB,EAAgB,MAAM,2BAA2B,CAAC;AAC7F,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAC;AAI3D,MAAM,MAAM,aAAa,GAAG;IAExB,SAAS,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAElC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAE5B,IAAI,EAAE,eAAe,CAAC;IAEtB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IAExB,YAAY,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,WAAW,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;IAEtC,OAAO,CAAC,EAAE,WAAW,CAAC;CACzB,CAAC;AAQF,wBAAgB,eAAe,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAsBvH;AAQD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,GAAG,iBAAiB,CAAC,GAAG,CAAC,EAAE,CA4DzH;AAOD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,QAOnG"}
@@ -1,198 +0,0 @@
1
- import { getTotalComplexity, sortRunTypeByComplexity } from "../../lib/utils.js";
2
- import { isAnyRunType, isUnknownRunType } from "../../lib/guards.js";
3
- function __assignType(fn, args) {
4
- fn.__type = args;
5
- return fn;
6
- }
7
- const __ΩFlattenedProp = ["CollectionRunType", "unionItem", "unionIndex", "PropertyRunType", "prop", "typeID", "compiledName", "FlattenedProp", `P"w!4"P&'J4#"w$4%P&'J4&&4'Mw(y`];
8
- const __ΩSplitUnionResult = ["BaseRunType", "simpleItems", "CollectionRunType", "objectTypes", "anyItem", "SplitUnionResult", 'P"w!F4""w#F4$"w!4%8Mw&y'];
9
- function splitUnionItems(comp, urt, unionChildren) {
10
- const unionItems = unionChildren || urt.getJitChildren(comp);
11
- const objectTypes = [];
12
- const simpleItems = [];
13
- let anyItem;
14
- unionItems.forEach(__assignType((unionItem) => {
15
- if (isAnyRunType(unionItem) || isUnknownRunType(unionItem)) {
16
- if (!anyItem)
17
- anyItem = unionItem;
18
- return;
19
- }
20
- const isObj = urt.isTypeWithProperties(unionItem);
21
- if (!isObj)
22
- return simpleItems.push(unionItem);
23
- return objectTypes.push(unionItem);
24
- }, ["unionItem", "", 'P"2!"/"']));
25
- const sortedObjectTypes = sortUnreachableTypes(comp, objectTypes);
26
- return { simpleItems, objectTypes: sortedObjectTypes, anyItem };
27
- }
28
- splitUnionItems.__type = ["JitFnCompiler", "comp", "UnionRunType", "urt", "BaseRunType", "unionChildren", () => __ΩSplitUnionResult, "splitUnionItems", `P"w!2""w#2$"w%F2&8n'/(`];
29
- function sortUnreachableTypes(comp, objectTypes) {
30
- if (objectTypes.length <= 1)
31
- return objectTypes;
32
- const typePropsMap = (Map.Ω = [["CollectionRunType", '"w!'], ["P&'JD"]], /* @__PURE__ */ new Map());
33
- objectTypes.forEach(__assignType((objType) => {
34
- const props = objType.getJitChildren(comp);
35
- const propTypeIDs = (Set.Ω = [["P&'J"]], /* @__PURE__ */ new Set());
36
- props.forEach(__assignType((prop) => propTypeIDs.add(prop.getTypeID()), ["prop", "", 'P"2!"/"']));
37
- typePropsMap.set(objType, propTypeIDs);
38
- }, ["objType", "", 'P"2!"/"']));
39
- const isSubsetOf = __assignType((smaller, larger) => {
40
- const smallerProps = typePropsMap.get(smaller);
41
- const largerProps = typePropsMap.get(larger);
42
- if (smallerProps.size >= largerProps.size)
43
- return false;
44
- for (const typeID of smallerProps) {
45
- if (!largerProps.has(typeID))
46
- return false;
47
- }
48
- return true;
49
- }, ["CollectionRunType", "smaller", "larger", "", 'P"w!2""w!2#)/$']);
50
- const processed = (Set.Ω = [["CollectionRunType", '"w!']], /* @__PURE__ */ new Set());
51
- const result = [];
52
- for (let i = 0; i < objectTypes.length; i++) {
53
- const current = objectTypes[i];
54
- if (processed.has(current))
55
- continue;
56
- const relatedGroup = [current];
57
- processed.add(current);
58
- for (let j = 0; j < objectTypes.length; j++) {
59
- if (i === j)
60
- continue;
61
- const other = objectTypes[j];
62
- if (processed.has(other))
63
- continue;
64
- if (isSubsetOf(current, other) || isSubsetOf(other, current)) {
65
- relatedGroup.push(other);
66
- processed.add(other);
67
- }
68
- }
69
- if (relatedGroup.length > 1) {
70
- relatedGroup.sort(__assignType((a, b) => {
71
- const aSize = typePropsMap.get(a).size;
72
- const bSize = typePropsMap.get(b).size;
73
- return bSize - aSize;
74
- }, ["a", "b", "", 'P"2!"2""/#']));
75
- }
76
- result.push(...relatedGroup);
77
- }
78
- return result;
79
- }
80
- sortUnreachableTypes.__type = ["JitFnCompiler", "comp", "CollectionRunType", "objectTypes", "sortUnreachableTypes", 'P"w!2""w#F2$"w#F/%'];
81
- function markDiscriminators(comp, urt, unionItems) {
82
- if (urt.hasDiscriminators !== void 0 && urt.hasObjectTypes !== void 0)
83
- return;
84
- const objectTypes = unionItems.filter(__assignType((item) => urt.isTypeWithProperties(item), ["item", "", 'P"2!"/"']));
85
- const namedDiscriminators = getDiscriminatorProperties(comp, urt, objectTypes, initGetCompiledName());
86
- const uniqueDiscriminators = getUniqueDiscriminatorProperties(comp, urt, objectTypes, initGetCompiledName());
87
- urt.hasObjectTypes = !!objectTypes.length;
88
- urt.hasDiscriminators = !!namedDiscriminators.length || !!uniqueDiscriminators.length;
89
- }
90
- markDiscriminators.__type = ["JitFnCompiler", "comp", "UnionRunType", "urt", "BaseRunType", "unionItems", "markDiscriminators", `P"w!2""w#2$"w%F2&"/'`];
91
- const __ΩPropUnionItemPair = ["PropertyRunType", "prop", "CollectionRunType", "unionItem", "PropUnionItemPair", 'P"w!4""w#4$Mw%y'];
92
- function getDiscriminatorProperties(comp, urt, unionTypes, getCompiledName) {
93
- if (!unionTypes.length)
94
- return [];
95
- const propByName = (Map.Ω = [["P&'J"], [() => __ΩPropUnionItemPair, "n!F"]], /* @__PURE__ */ new Map());
96
- unionTypes.forEach(__assignType((unionItem) => {
97
- const props = unionItem.getJitChildren(comp);
98
- props.forEach(__assignType((prop) => {
99
- const name = prop.getChildVarName(comp);
100
- const existing = propByName.get(name) || [];
101
- propByName.set(name, [...existing, { prop, unionItem }]);
102
- }, ["prop", "", 'P"2!"/"']));
103
- }, ["unionItem", "", 'P"2!"/"']));
104
- const propsOnAllTypes = Array.from(propByName.entries()).filter(__assignType(([, props]) => props.length === unionTypes.length, ["param0", "", 'P"2!"/"'])).map(__assignType(([key, props]) => ({
105
- name: key,
106
- props,
107
- complexity: props.reduce(__assignType((acc, item) => acc + getTotalComplexity(comp, item.prop), ["acc", "item", "", 'P"2!"2""/#']), 0),
108
- isUniqueType: props.every(__assignType((item) => {
109
- const child = item;
110
- const typeID = child.prop.getTypeID();
111
- const isDiff = props.every(__assignType((otherItem) => child.prop === otherItem.prop || otherItem.prop.getTypeID() !== typeID, ["otherItem", "", 'P"2!"/"']));
112
- return isDiff;
113
- }, ["item", "", 'P"2!"/"']))
114
- }), ["param0", "", 'P"2!"/"'])).filter(__assignType((item) => item.isUniqueType, ["item", "", 'P"2!"/"']));
115
- const lessComplexProps = propsOnAllTypes.toSorted(__assignType((a, b) => a.complexity - b.complexity, ["a", "b", "", 'P"2!"2""/#']));
116
- const lessComplex = lessComplexProps[0];
117
- if (!lessComplex)
118
- return [];
119
- return lessComplex.props.map(__assignType((item) => {
120
- item.prop.isUnionDiscriminator = true;
121
- const unionIndex = urt.getUnionItemIndex(comp, item.unionItem);
122
- const typeID = item.prop.getTypeID();
123
- return {
124
- unionItem: item.unionItem,
125
- unionIndex,
126
- prop: item.prop,
127
- typeID,
128
- compiledName: getCompiledName(comp, urt, typeID)
129
- };
130
- }, ["item", "", 'P"2!"/"']));
131
- }
132
- getDiscriminatorProperties.__type = ["JitFnCompiler", "comp", "UnionRunType", "urt", "CollectionRunType", "unionTypes", "propTypeID", "", "getCompiledName", () => __ΩFlattenedProp, "getDiscriminatorProperties", `P"w!2""w#2$"w%F2&P"w!2""w#2$P&'J2'&/(2)n*F/+`];
133
- function getUniqueDiscriminatorProperties(comp, urt, unionTypes, getCompiledName) {
134
- if (!unionTypes.length)
135
- return [];
136
- const uniquePropByUnionItem = (Map.Ω = [["CollectionRunType", '"w!'], [() => __ΩPropUnionItemPair, "n!"]], /* @__PURE__ */ new Map());
137
- unionTypes.forEach(__assignType((unionItem) => {
138
- const props = unionItem.getJitChildren(comp);
139
- props.forEach(__assignType((prop) => {
140
- const typeID = prop.getTypeID();
141
- const isUnique = unionTypes.every(__assignType((otherUnionItem) => {
142
- if (otherUnionItem === unionItem)
143
- return true;
144
- const otherProps = otherUnionItem.getJitChildren(comp);
145
- return otherProps.every(__assignType((otherProp) => otherProp.getTypeID() !== typeID, ["otherProp", "", 'P"2!"/"']));
146
- }, ["otherUnionItem", "", 'P"2!"/"']));
147
- if (isUnique) {
148
- const existing = uniquePropByUnionItem.get(unionItem);
149
- if (!existing) {
150
- uniquePropByUnionItem.set(unionItem, {
151
- prop,
152
- unionItem
153
- });
154
- return;
155
- }
156
- const newItem = { prop, unionItem };
157
- const lessComplex = [newItem, existing].toSorted(__assignType((a, b) => sortRunTypeByComplexity(comp, a.prop, b.prop), ["a", "b", "", 'P"2!"2""/#']))[0];
158
- uniquePropByUnionItem.set(unionItem, lessComplex);
159
- }
160
- }, ["prop", "", 'P"2!"/"']));
161
- }, ["unionItem", "", 'P"2!"/"']));
162
- if (!uniquePropByUnionItem.size)
163
- return [];
164
- const uniqueProps = Array.from(uniquePropByUnionItem.values());
165
- return uniqueProps.map(__assignType((item) => {
166
- item.prop.isUnionDiscriminator = true;
167
- const unionIndex = urt.getUnionItemIndex(comp, item.unionItem);
168
- const typeID = item.prop.getTypeID();
169
- return {
170
- unionItem: item.unionItem,
171
- unionIndex,
172
- prop: item.prop,
173
- typeID,
174
- compiledName: getCompiledName(comp, urt, typeID)
175
- };
176
- }, ["item", "", 'P"2!"/"']));
177
- }
178
- getUniqueDiscriminatorProperties.__type = ["JitFnCompiler", "comp", "UnionRunType", "urt", "CollectionRunType", "unionTypes", "propTypeID", "", "getCompiledName", () => __ΩFlattenedProp, "getUniqueDiscriminatorProperties", `P"w!2""w#2$"w%F2&P"w!2""w#2$P&'J2'&/(2)n*F/+`];
179
- function initGetCompiledName() {
180
- const typeIDs = (Map.Ω = [["P&'J"], ["'"]], /* @__PURE__ */ new Map());
181
- return __assignType(function getCompiledName(comp, urt, typeID) {
182
- const existingIndex = typeIDs.get(typeID);
183
- if (existingIndex)
184
- return comp.getLocalVarName("prop", urt) + `_${existingIndex}`;
185
- const newIndex = typeIDs.size;
186
- typeIDs.set(typeID, newIndex);
187
- return comp.getLocalVarName("prop", urt) + `_${newIndex}`;
188
- }, ["JitFnCompiler", "comp", "UnionRunType", "urt", "typeID", "getCompiledName", `P"w!2""w#2$P&'J2%&/&`]);
189
- }
190
- initGetCompiledName.__type = ["initGetCompiledName", 'P"/!'];
191
- export {
192
- __ΩFlattenedProp,
193
- __ΩSplitUnionResult,
194
- markDiscriminators,
195
- sortUnreachableTypes,
196
- splitUnionItems
197
- };
198
- //# sourceMappingURL=unionDiscriminator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"unionDiscriminator.js","sources":["../../../../../src/nodes/collection/unionDiscriminator.ts"],"sourcesContent":["import type {BaseRunType, CollectionRunType, MemberRunType} from '../../lib/baseRunTypes.ts';\nimport type {JitFnCompiler} from '../../lib/jitFnCompiler.ts';\nimport type {UnionRunType} from './union.ts';\nimport type {PropertyRunType} from '../member/property.ts';\nimport {getTotalComplexity, sortRunTypeByComplexity} from '../../lib/utils.ts';\nimport {isAnyRunType, isUnknownRunType} from '../../lib/guards.ts';\n\nexport type FlattenedProp = {\n /** union item, parent of the property */\n unionItem: CollectionRunType<any>;\n /** index of the union item in the union */\n unionIndex: string | number;\n /** one property of the union item */\n prop: PropertyRunType;\n /** typeID of the property */\n typeID: string | number;\n /** name of the property as it should be used in the code */\n compiledName: string;\n};\n\nexport type SplitUnionResult = {\n simpleItems: BaseRunType[];\n objectTypes: CollectionRunType<any>[];\n /** any or unknown type if present in the union, should be checked last */\n anyItem?: BaseRunType;\n};\n\n/**\n * Split the union types in two groups: interface types and simple types\n * interface types are types that have properties, simple types are the rest (atomic types, tuples, etc)\n * If any or unknown types are present, they are extracted and returned separately as anyItem\n * so they can be checked last (any/unknown would match anything, so must be last resort)\n */\nexport function splitUnionItems(comp: JitFnCompiler, urt: UnionRunType, unionChildren?: BaseRunType[]): SplitUnionResult {\n const unionItems = unionChildren || urt.getJitChildren(comp);\n const objectTypes: CollectionRunType<any>[] = [];\n const simpleItems: BaseRunType[] = [];\n let anyItem: BaseRunType | undefined;\n\n unionItems.forEach((unionItem) => {\n // Extract any/unknown types to be checked last\n if (isAnyRunType(unionItem) || isUnknownRunType(unionItem)) {\n // Only keep the first any/unknown type (having multiple is redundant)\n if (!anyItem) anyItem = unionItem;\n return;\n }\n const isObj = urt.isTypeWithProperties(unionItem);\n if (!isObj) return simpleItems.push(unionItem);\n return objectTypes.push(unionItem as CollectionRunType<any>);\n });\n\n // Sort object types to prevent unreachable types (objects with more props should come first when they share same prop types)\n const sortedObjectTypes = sortUnreachableTypes(comp, objectTypes);\n\n return {simpleItems, objectTypes: sortedObjectTypes, anyItem};\n}\n\n/**\n * Sorts object types to prevent unreachable union types.\n * When two objects share the same properties (by typeID), the one with more properties must come first.\n * This ensures that at runtime, the more specific type is checked before the less specific one.\n * Objects that don't share properties with others maintain their relative order.\n */\nexport function sortUnreachableTypes(comp: JitFnCompiler, objectTypes: CollectionRunType<any>[]): CollectionRunType<any>[] {\n if (objectTypes.length <= 1) return objectTypes;\n\n // Get property typeIDs for each object type\n const typePropsMap = new Map<CollectionRunType<any>, Set<string | number>>();\n objectTypes.forEach((objType) => {\n const props = objType.getJitChildren(comp) as PropertyRunType[];\n const propTypeIDs = new Set<string | number>();\n props.forEach((prop) => propTypeIDs.add(prop.getTypeID()));\n typePropsMap.set(objType, propTypeIDs);\n });\n\n // Check if one object's props are a subset of another's (all props have same typeIDs)\n const isSubsetOf = (smaller: CollectionRunType<any>, larger: CollectionRunType<any>): boolean => {\n const smallerProps = typePropsMap.get(smaller)!;\n const largerProps = typePropsMap.get(larger)!;\n if (smallerProps.size >= largerProps.size) return false;\n for (const typeID of smallerProps) {\n if (!largerProps.has(typeID)) return false;\n }\n return true;\n };\n\n // Find groups of objects that share properties (one is subset of another)\n const processed = new Set<CollectionRunType<any>>();\n const result: CollectionRunType<any>[] = [];\n\n for (let i = 0; i < objectTypes.length; i++) {\n const current = objectTypes[i];\n if (processed.has(current)) continue;\n\n // Find all objects that are related (subset/superset) to current\n const relatedGroup: CollectionRunType<any>[] = [current];\n processed.add(current);\n\n for (let j = 0; j < objectTypes.length; j++) {\n if (i === j) continue;\n const other = objectTypes[j];\n if (processed.has(other)) continue;\n\n // Check if current and other are related (one is subset of the other)\n if (isSubsetOf(current, other) || isSubsetOf(other, current)) {\n relatedGroup.push(other);\n processed.add(other);\n }\n }\n\n // Sort related group by number of properties (more props first)\n if (relatedGroup.length > 1) {\n relatedGroup.sort((a, b) => {\n const aSize = typePropsMap.get(a)!.size;\n const bSize = typePropsMap.get(b)!.size;\n return bSize - aSize; // descending order (more props first)\n });\n }\n\n result.push(...relatedGroup);\n }\n\n return result;\n}\n\n/**\n * Mark discriminator properties so they can be sorted and validate union more efficiently.\n * @param comp\n * @param urt\n */\nexport function markDiscriminators(comp: JitFnCompiler, urt: UnionRunType, unionItems: BaseRunType[]) {\n if (urt.hasDiscriminators !== undefined && urt.hasObjectTypes !== undefined) return;\n const objectTypes = unionItems.filter((item) => urt.isTypeWithProperties(item)) as CollectionRunType<any>[];\n const namedDiscriminators = getDiscriminatorProperties(comp, urt, objectTypes, initGetCompiledName());\n const uniqueDiscriminators = getUniqueDiscriminatorProperties(comp, urt, objectTypes, initGetCompiledName());\n urt.hasObjectTypes = !!objectTypes.length;\n urt.hasDiscriminators = !!namedDiscriminators.length || !!uniqueDiscriminators.length;\n}\n\ntype PropUnionItemPair = {prop: PropertyRunType; unionItem: CollectionRunType<any>};\n\n/**\n * Find a property with the same name in all the types of the union and that has different types.\n * It also marks those properties as discriminator properties so can be sorted later\n */\nfunction getDiscriminatorProperties(\n comp: JitFnCompiler,\n urt: UnionRunType,\n unionTypes: CollectionRunType<any>[],\n getCompiledName: (comp: JitFnCompiler, urt: UnionRunType, propTypeID: string | number) => string\n): FlattenedProp[] {\n if (!unionTypes.length) return [];\n const propByName = new Map<string | number, PropUnionItemPair[]>();\n unionTypes.forEach((unionItem) => {\n const props = unionItem.getJitChildren(comp) as PropertyRunType[];\n props.forEach((prop) => {\n const name = prop.getChildVarName(comp);\n const existing = propByName.get(name) || [];\n // index no needed now\n propByName.set(name, [...existing, {prop, unionItem}]);\n });\n });\n const propsOnAllTypes = Array.from(propByName.entries())\n // filter all properties that are in all types\n .filter(([, props]) => props.length === unionTypes.length)\n // calculate complexity and check if all types are different in all props\n .map(([key, props]) => ({\n name: key,\n props,\n complexity: props.reduce((acc, item) => acc + getTotalComplexity(comp, item.prop), 0),\n isUniqueType: props.every((item) => {\n const child = item;\n const typeID = child.prop.getTypeID();\n const isDiff = props.every((otherItem) => child.prop === otherItem.prop || otherItem.prop.getTypeID() !== typeID);\n return isDiff;\n }),\n }))\n .filter((item) => item.isUniqueType);\n const lessComplexProps = propsOnAllTypes.toSorted((a, b) => a.complexity - b.complexity);\n const lessComplex = lessComplexProps[0];\n if (!lessComplex) return [];\n // we need to marks the property as discriminator so they can be sorted and checked first later\n return lessComplex.props.map((item) => {\n item.prop.isUnionDiscriminator = true;\n const unionIndex = urt.getUnionItemIndex(comp, item.unionItem);\n const typeID = item.prop.getTypeID();\n return {\n unionItem: item.unionItem,\n unionIndex,\n prop: item.prop,\n typeID,\n compiledName: getCompiledName(comp, urt, typeID),\n };\n });\n}\n\n/**\n * Get unique properties in the union as discriminators.\n * These properties can be of different name but are unique in the union so can act as discriminators.\n * It also marks those properties as discriminator properties so can be sorted later.\n * */\nfunction getUniqueDiscriminatorProperties(\n comp: JitFnCompiler,\n urt: UnionRunType,\n unionTypes: CollectionRunType<any>[],\n getCompiledName: (comp: JitFnCompiler, urt: UnionRunType, propTypeID: string | number) => string\n): FlattenedProp[] {\n if (!unionTypes.length) return [];\n const uniquePropByUnionItem = new Map<CollectionRunType<any>, PropUnionItemPair>();\n unionTypes.forEach((unionItem) => {\n const props = unionItem.getJitChildren(comp) as PropertyRunType[];\n props.forEach((prop) => {\n const typeID = prop.getTypeID();\n const isUnique = unionTypes.every((otherUnionItem) => {\n if (otherUnionItem === unionItem) return true;\n const otherProps = otherUnionItem.getJitChildren(comp) as MemberRunType<any>[];\n return otherProps.every((otherProp) => otherProp.getTypeID() !== typeID);\n });\n if (isUnique) {\n const existing = uniquePropByUnionItem.get(unionItem);\n if (!existing) {\n uniquePropByUnionItem.set(unionItem, {\n prop,\n unionItem,\n });\n return;\n }\n const newItem = {prop, unionItem};\n const lessComplex = [newItem, existing].toSorted((a, b) => sortRunTypeByComplexity(comp, a.prop, b.prop))[0];\n uniquePropByUnionItem.set(unionItem, lessComplex);\n }\n });\n });\n if (!uniquePropByUnionItem.size) return [];\n const uniqueProps = Array.from(uniquePropByUnionItem.values());\n return uniqueProps.map((item) => {\n item.prop.isUnionDiscriminator = true;\n const unionIndex = urt.getUnionItemIndex(comp, item.unionItem);\n const typeID = item.prop.getTypeID();\n return {\n unionItem: item.unionItem,\n unionIndex,\n prop: item.prop,\n typeID,\n compiledName: getCompiledName(comp, urt, typeID),\n };\n });\n}\n\nfunction initGetCompiledName() {\n const typeIDs = new Map<string | number, number>();\n return function getCompiledName(comp: JitFnCompiler, urt: UnionRunType, typeID: string | number): string {\n const existingIndex = typeIDs.get(typeID);\n if (existingIndex) return comp.getLocalVarName('prop', urt) + `_${existingIndex}`;\n const newIndex = typeIDs.size;\n typeIDs.set(typeID, newIndex);\n return comp.getLocalVarName('prop', urt) + `_${newIndex}`;\n };\n}\n"],"names":[],"mappings":"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"}
@@ -1,35 +0,0 @@
1
- import { AnyFunction, SrcType, JitFn, JitCode, RunTypeOptions } from '../../types.ts';
2
- import { TypeFunction } from '@deepkit/type';
3
- import { BaseRunType } from '../../lib/baseRunTypes.ts';
4
- import { JitFnCompiler, JitErrorsFnCompiler } from '../../lib/jitFnCompiler.ts';
5
- import { FunctionParamsRunType } from '../collection/functionParams.ts';
6
- import { JitCompiledFn } from '@mionjs/core';
7
- export declare class FunctionRunType<CallType extends AnyFunction = TypeFunction> extends BaseRunType<CallType> {
8
- parameterRunTypes: FunctionParamsRunType;
9
- skipJit(comp: JitFnCompiler): boolean;
10
- onCreated(deepkitType: SrcType): void;
11
- getFamily(): 'F';
12
- getFnName(): string | number;
13
- createJitParamsFunction(jitFn: JitFn, opts?: RunTypeOptions): (...args: any[]) => any;
14
- createJitCompiledParamsFunction(jitFn: JitFn, opts?: RunTypeOptions): JitCompiledFn;
15
- createJitReturnFunction(jitFn: JitFn): (...args: any[]) => any;
16
- createJitCompiledReturnFunction(jitFn: JitFn, opts?: RunTypeOptions): JitCompiledFn;
17
- emitIsType(comp: JitFnCompiler): JitCode;
18
- emitTypeErrors(comp: JitErrorsFnCompiler): JitCode;
19
- emitPrepareForJson(): JitCode;
20
- emitRestoreFromJson(): JitCode;
21
- emitHasUnknownKeys(): JitCode;
22
- emitUnknownKeyErrors(): JitCode;
23
- emitStripUnknownKeys(): JitCode;
24
- emitUnknownKeysToUndefined(): JitCode;
25
- getReturnType(): BaseRunType;
26
- getResolvedReturnType(): BaseRunType;
27
- getParameters(): FunctionParamsRunType;
28
- getParameterNames(opts?: RunTypeOptions): string[];
29
- hasReturnData(): boolean;
30
- isAsync(): boolean;
31
- returnIsPromise(): boolean;
32
- mockReturn(ctx?: RunTypeOptions): Promise<any>;
33
- mockParams(ctx?: RunTypeOptions): Promise<any[]>;
34
- }
35
- //# sourceMappingURL=function.d.ts.map