@mionjs/run-types 0.8.10 → 0.13.2

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 (1093) 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 -286
  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 -355
  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/templateLiteral.cjs +0 -73
  641. package/.dist/cjs/src/nodes/collection/templateLiteral.cjs.map +0 -1
  642. package/.dist/cjs/src/nodes/collection/templateLiteral.d.ts +0 -16
  643. package/.dist/cjs/src/nodes/collection/templateLiteral.d.ts.map +0 -1
  644. package/.dist/cjs/src/nodes/collection/tuple.cjs +0 -74
  645. package/.dist/cjs/src/nodes/collection/tuple.cjs.map +0 -1
  646. package/.dist/cjs/src/nodes/collection/tuple.d.ts +0 -19
  647. package/.dist/cjs/src/nodes/collection/tuple.d.ts.map +0 -1
  648. package/.dist/cjs/src/nodes/collection/union.cjs +0 -162
  649. package/.dist/cjs/src/nodes/collection/union.cjs.map +0 -1
  650. package/.dist/cjs/src/nodes/collection/union.d.ts +0 -20
  651. package/.dist/cjs/src/nodes/collection/union.d.ts.map +0 -1
  652. package/.dist/cjs/src/nodes/collection/unionDiscriminator.cjs +0 -198
  653. package/.dist/cjs/src/nodes/collection/unionDiscriminator.cjs.map +0 -1
  654. package/.dist/cjs/src/nodes/collection/unionDiscriminator.d.ts +0 -22
  655. package/.dist/cjs/src/nodes/collection/unionDiscriminator.d.ts.map +0 -1
  656. package/.dist/cjs/src/nodes/function/function.cjs +0 -159
  657. package/.dist/cjs/src/nodes/function/function.cjs.map +0 -1
  658. package/.dist/cjs/src/nodes/function/function.d.ts +0 -35
  659. package/.dist/cjs/src/nodes/function/function.d.ts.map +0 -1
  660. package/.dist/cjs/src/nodes/member/array.cjs +0 -154
  661. package/.dist/cjs/src/nodes/member/array.cjs.map +0 -1
  662. package/.dist/cjs/src/nodes/member/array.d.ts +0 -25
  663. package/.dist/cjs/src/nodes/member/array.d.ts.map +0 -1
  664. package/.dist/cjs/src/nodes/member/callSignature.cjs +0 -40
  665. package/.dist/cjs/src/nodes/member/callSignature.cjs.map +0 -1
  666. package/.dist/cjs/src/nodes/member/callSignature.d.ts +0 -12
  667. package/.dist/cjs/src/nodes/member/callSignature.d.ts.map +0 -1
  668. package/.dist/cjs/src/nodes/member/genericMember.cjs +0 -68
  669. package/.dist/cjs/src/nodes/member/genericMember.cjs.map +0 -1
  670. package/.dist/cjs/src/nodes/member/genericMember.d.ts +0 -16
  671. package/.dist/cjs/src/nodes/member/genericMember.d.ts.map +0 -1
  672. package/.dist/cjs/src/nodes/member/indexProperty.cjs +0 -177
  673. package/.dist/cjs/src/nodes/member/indexProperty.cjs.map +0 -1
  674. package/.dist/cjs/src/nodes/member/indexProperty.d.ts +0 -23
  675. package/.dist/cjs/src/nodes/member/indexProperty.d.ts.map +0 -1
  676. package/.dist/cjs/src/nodes/member/method.cjs +0 -41
  677. package/.dist/cjs/src/nodes/member/method.cjs.map +0 -1
  678. package/.dist/cjs/src/nodes/member/method.d.ts +0 -12
  679. package/.dist/cjs/src/nodes/member/method.d.ts.map +0 -1
  680. package/.dist/cjs/src/nodes/member/methodSignature.cjs +0 -44
  681. package/.dist/cjs/src/nodes/member/methodSignature.cjs.map +0 -1
  682. package/.dist/cjs/src/nodes/member/methodSignature.d.ts +0 -13
  683. package/.dist/cjs/src/nodes/member/methodSignature.d.ts.map +0 -1
  684. package/.dist/cjs/src/nodes/member/param.cjs +0 -17
  685. package/.dist/cjs/src/nodes/member/param.cjs.map +0 -1
  686. package/.dist/cjs/src/nodes/member/param.d.ts +0 -9
  687. package/.dist/cjs/src/nodes/member/param.d.ts.map +0 -1
  688. package/.dist/cjs/src/nodes/member/property.cjs +0 -85
  689. package/.dist/cjs/src/nodes/member/property.cjs.map +0 -1
  690. package/.dist/cjs/src/nodes/member/property.d.ts +0 -20
  691. package/.dist/cjs/src/nodes/member/property.d.ts.map +0 -1
  692. package/.dist/cjs/src/nodes/member/restParams.cjs +0 -15
  693. package/.dist/cjs/src/nodes/member/restParams.cjs.map +0 -1
  694. package/.dist/cjs/src/nodes/member/restParams.d.ts +0 -8
  695. package/.dist/cjs/src/nodes/member/restParams.d.ts.map +0 -1
  696. package/.dist/cjs/src/nodes/member/tupleMember.cjs +0 -93
  697. package/.dist/cjs/src/nodes/member/tupleMember.cjs.map +0 -1
  698. package/.dist/cjs/src/nodes/member/tupleMember.d.ts +0 -21
  699. package/.dist/cjs/src/nodes/member/tupleMember.d.ts.map +0 -1
  700. package/.dist/cjs/src/nodes/native/Iterable.cjs +0 -135
  701. package/.dist/cjs/src/nodes/native/Iterable.cjs.map +0 -1
  702. package/.dist/cjs/src/nodes/native/Iterable.d.ts +0 -19
  703. package/.dist/cjs/src/nodes/native/Iterable.d.ts.map +0 -1
  704. package/.dist/cjs/src/nodes/native/map.cjs +0 -96
  705. package/.dist/cjs/src/nodes/native/map.cjs.map +0 -1
  706. package/.dist/cjs/src/nodes/native/map.d.ts +0 -43
  707. package/.dist/cjs/src/nodes/native/map.d.ts.map +0 -1
  708. package/.dist/cjs/src/nodes/native/nonSerializable.cjs +0 -36
  709. package/.dist/cjs/src/nodes/native/nonSerializable.cjs.map +0 -1
  710. package/.dist/cjs/src/nodes/native/nonSerializable.d.ts +0 -15
  711. package/.dist/cjs/src/nodes/native/nonSerializable.d.ts.map +0 -1
  712. package/.dist/cjs/src/nodes/native/promise.cjs +0 -38
  713. package/.dist/cjs/src/nodes/native/promise.cjs.map +0 -1
  714. package/.dist/cjs/src/nodes/native/promise.d.ts +0 -16
  715. package/.dist/cjs/src/nodes/native/promise.d.ts.map +0 -1
  716. package/.dist/cjs/src/nodes/native/set.cjs +0 -60
  717. package/.dist/cjs/src/nodes/native/set.cjs.map +0 -1
  718. package/.dist/cjs/src/nodes/native/set.d.ts +0 -31
  719. package/.dist/cjs/src/nodes/native/set.d.ts.map +0 -1
  720. package/.dist/cjs/src/run-types-pure-fns.cjs +0 -112
  721. package/.dist/cjs/src/run-types-pure-fns.cjs.map +0 -1
  722. package/.dist/cjs/src/run-types-pure-fns.d.ts +0 -8
  723. package/.dist/cjs/src/run-types-pure-fns.d.ts.map +0 -1
  724. package/.dist/cjs/src/types.cjs +0 -59
  725. package/.dist/cjs/src/types.cjs.map +0 -1
  726. package/.dist/cjs/src/types.d.ts +0 -154
  727. package/.dist/cjs/src/types.d.ts.map +0 -1
  728. package/.dist/esm/index.d.ts +0 -61
  729. package/.dist/esm/index.d.ts.map +0 -1
  730. package/.dist/esm/index.js +0 -209
  731. package/.dist/esm/index.js.map +0 -1
  732. package/.dist/esm/src/constants.d.ts +0 -8
  733. package/.dist/esm/src/constants.d.ts.map +0 -1
  734. package/.dist/esm/src/constants.functions.d.ts +0 -386
  735. package/.dist/esm/src/constants.functions.d.ts.map +0 -1
  736. package/.dist/esm/src/constants.functions.js +0 -181
  737. package/.dist/esm/src/constants.functions.js.map +0 -1
  738. package/.dist/esm/src/constants.js +0 -79
  739. package/.dist/esm/src/constants.js.map +0 -1
  740. package/.dist/esm/src/constants.kind.d.ts +0 -22
  741. package/.dist/esm/src/constants.kind.d.ts.map +0 -1
  742. package/.dist/esm/src/constants.kind.js +0 -74
  743. package/.dist/esm/src/constants.kind.js.map +0 -1
  744. package/.dist/esm/src/createRunType.d.ts +0 -6
  745. package/.dist/esm/src/createRunType.d.ts.map +0 -1
  746. package/.dist/esm/src/createRunType.js +0 -286
  747. package/.dist/esm/src/createRunType.js.map +0 -1
  748. package/.dist/esm/src/createRunTypeFunctions.d.ts +0 -13
  749. package/.dist/esm/src/createRunTypeFunctions.d.ts.map +0 -1
  750. package/.dist/esm/src/createRunTypeFunctions.js +0 -78
  751. package/.dist/esm/src/createRunTypeFunctions.js.map +0 -1
  752. package/.dist/esm/src/formats.runtype.d.ts +0 -7
  753. package/.dist/esm/src/formats.runtype.d.ts.map +0 -1
  754. package/.dist/esm/src/formats.runtype.js +0 -7
  755. package/.dist/esm/src/formats.runtype.js.map +0 -1
  756. package/.dist/esm/src/jitCompilers/binary/binarySpec/binaryHelpers.d.ts +0 -31
  757. package/.dist/esm/src/jitCompilers/binary/binarySpec/binaryHelpers.d.ts.map +0 -1
  758. package/.dist/esm/src/jitCompilers/binary/binarySpec/binaryHelpers.js +0 -109
  759. package/.dist/esm/src/jitCompilers/binary/binarySpec/binaryHelpers.js.map +0 -1
  760. package/.dist/esm/src/jitCompilers/binary/fromBinary.d.ts +0 -8
  761. package/.dist/esm/src/jitCompilers/binary/fromBinary.d.ts.map +0 -1
  762. package/.dist/esm/src/jitCompilers/binary/fromBinary.js +0 -383
  763. package/.dist/esm/src/jitCompilers/binary/fromBinary.js.map +0 -1
  764. package/.dist/esm/src/jitCompilers/binary/toBinary.d.ts +0 -8
  765. package/.dist/esm/src/jitCompilers/binary/toBinary.d.ts.map +0 -1
  766. package/.dist/esm/src/jitCompilers/binary/toBinary.js +0 -338
  767. package/.dist/esm/src/jitCompilers/binary/toBinary.js.map +0 -1
  768. package/.dist/esm/src/jitCompilers/equalsHelpers.d.ts +0 -5
  769. package/.dist/esm/src/jitCompilers/equalsHelpers.d.ts.map +0 -1
  770. package/.dist/esm/src/jitCompilers/equalsHelpers.js +0 -37
  771. package/.dist/esm/src/jitCompilers/equalsHelpers.js.map +0 -1
  772. package/.dist/esm/src/jitCompilers/json/jsonSpec/jsonHelpers.d.ts +0 -28
  773. package/.dist/esm/src/jitCompilers/json/jsonSpec/jsonHelpers.d.ts.map +0 -1
  774. package/.dist/esm/src/jitCompilers/json/jsonSpec/jsonHelpers.js +0 -56
  775. package/.dist/esm/src/jitCompilers/json/jsonSpec/jsonHelpers.js.map +0 -1
  776. package/.dist/esm/src/jitCompilers/json/stringifyJson.d.ts +0 -11
  777. package/.dist/esm/src/jitCompilers/json/stringifyJson.d.ts.map +0 -1
  778. package/.dist/esm/src/jitCompilers/json/stringifyJson.js +0 -399
  779. package/.dist/esm/src/jitCompilers/json/stringifyJson.js.map +0 -1
  780. package/.dist/esm/src/jitCompilers/json/stringifySpec/stringifyHelpers.d.ts +0 -28
  781. package/.dist/esm/src/jitCompilers/json/stringifySpec/stringifyHelpers.d.ts.map +0 -1
  782. package/.dist/esm/src/jitCompilers/json/stringifySpec/stringifyHelpers.js +0 -51
  783. package/.dist/esm/src/jitCompilers/json/stringifySpec/stringifyHelpers.js.map +0 -1
  784. package/.dist/esm/src/jitCompilers/json/toJsCode.d.ts +0 -6
  785. package/.dist/esm/src/jitCompilers/json/toJsCode.d.ts.map +0 -1
  786. package/.dist/esm/src/jitCompilers/json/toJsCode.js +0 -131
  787. package/.dist/esm/src/jitCompilers/json/toJsCode.js.map +0 -1
  788. package/.dist/esm/src/lib/baseRunTypeFormat.d.ts +0 -51
  789. package/.dist/esm/src/lib/baseRunTypeFormat.d.ts.map +0 -1
  790. package/.dist/esm/src/lib/baseRunTypeFormat.js +0 -200
  791. package/.dist/esm/src/lib/baseRunTypeFormat.js.map +0 -1
  792. package/.dist/esm/src/lib/baseRunTypes.d.ts +0 -74
  793. package/.dist/esm/src/lib/baseRunTypes.d.ts.map +0 -1
  794. package/.dist/esm/src/lib/baseRunTypes.js +0 -277
  795. package/.dist/esm/src/lib/baseRunTypes.js.map +0 -1
  796. package/.dist/esm/src/lib/createJitFunction.d.ts +0 -6
  797. package/.dist/esm/src/lib/createJitFunction.d.ts.map +0 -1
  798. package/.dist/esm/src/lib/createJitFunction.js +0 -60
  799. package/.dist/esm/src/lib/createJitFunction.js.map +0 -1
  800. package/.dist/esm/src/lib/dkProxy.d.ts +0 -5
  801. package/.dist/esm/src/lib/dkProxy.d.ts.map +0 -1
  802. package/.dist/esm/src/lib/dkProxy.js +0 -23
  803. package/.dist/esm/src/lib/dkProxy.js.map +0 -1
  804. package/.dist/esm/src/lib/formats.d.ts +0 -19
  805. package/.dist/esm/src/lib/formats.d.ts.map +0 -1
  806. package/.dist/esm/src/lib/formats.js +0 -89
  807. package/.dist/esm/src/lib/formats.js.map +0 -1
  808. package/.dist/esm/src/lib/guards.d.ts +0 -121
  809. package/.dist/esm/src/lib/guards.d.ts.map +0 -1
  810. package/.dist/esm/src/lib/guards.js +0 -243
  811. package/.dist/esm/src/lib/guards.js.map +0 -1
  812. package/.dist/esm/src/lib/jitFnCompiler.d.ts +0 -110
  813. package/.dist/esm/src/lib/jitFnCompiler.d.ts.map +0 -1
  814. package/.dist/esm/src/lib/jitFnCompiler.js +0 -650
  815. package/.dist/esm/src/lib/jitFnCompiler.js.map +0 -1
  816. package/.dist/esm/src/lib/jitFnsRegistry.d.ts +0 -7
  817. package/.dist/esm/src/lib/jitFnsRegistry.d.ts.map +0 -1
  818. package/.dist/esm/src/lib/jitFnsRegistry.js +0 -41
  819. package/.dist/esm/src/lib/jitFnsRegistry.js.map +0 -1
  820. package/.dist/esm/src/lib/typeId.d.ts +0 -7
  821. package/.dist/esm/src/lib/typeId.d.ts.map +0 -1
  822. package/.dist/esm/src/lib/typeId.js +0 -205
  823. package/.dist/esm/src/lib/typeId.js.map +0 -1
  824. package/.dist/esm/src/lib/utils.d.ts +0 -33
  825. package/.dist/esm/src/lib/utils.d.ts.map +0 -1
  826. package/.dist/esm/src/lib/utils.js +0 -325
  827. package/.dist/esm/src/lib/utils.js.map +0 -1
  828. package/.dist/esm/src/mocking/constants.mock.d.ts +0 -86
  829. package/.dist/esm/src/mocking/constants.mock.d.ts.map +0 -1
  830. package/.dist/esm/src/mocking/constants.mock.js +0 -108
  831. package/.dist/esm/src/mocking/constants.mock.js.map +0 -1
  832. package/.dist/esm/src/mocking/mockRegistry.d.ts +0 -4
  833. package/.dist/esm/src/mocking/mockRegistry.d.ts.map +0 -1
  834. package/.dist/esm/src/mocking/mockRegistry.js +0 -12
  835. package/.dist/esm/src/mocking/mockRegistry.js.map +0 -1
  836. package/.dist/esm/src/mocking/mockType.d.ts +0 -4
  837. package/.dist/esm/src/mocking/mockType.d.ts.map +0 -1
  838. package/.dist/esm/src/mocking/mockType.js +0 -355
  839. package/.dist/esm/src/mocking/mockType.js.map +0 -1
  840. package/.dist/esm/src/mocking/mockUtils.d.ts +0 -16
  841. package/.dist/esm/src/mocking/mockUtils.d.ts.map +0 -1
  842. package/.dist/esm/src/mocking/mockUtils.js +0 -62
  843. package/.dist/esm/src/mocking/mockUtils.js.map +0 -1
  844. package/.dist/esm/src/nodes/atomic/any.d.ts +0 -9
  845. package/.dist/esm/src/nodes/atomic/any.d.ts.map +0 -1
  846. package/.dist/esm/src/nodes/atomic/any.js +0 -18
  847. package/.dist/esm/src/nodes/atomic/any.js.map +0 -1
  848. package/.dist/esm/src/nodes/atomic/bigInt.d.ts +0 -11
  849. package/.dist/esm/src/nodes/atomic/bigInt.d.ts.map +0 -1
  850. package/.dist/esm/src/nodes/atomic/bigInt.js +0 -20
  851. package/.dist/esm/src/nodes/atomic/bigInt.js.map +0 -1
  852. package/.dist/esm/src/nodes/atomic/boolean.d.ts +0 -11
  853. package/.dist/esm/src/nodes/atomic/boolean.d.ts.map +0 -1
  854. package/.dist/esm/src/nodes/atomic/boolean.js +0 -20
  855. package/.dist/esm/src/nodes/atomic/boolean.js.map +0 -1
  856. package/.dist/esm/src/nodes/atomic/date.d.ts +0 -11
  857. package/.dist/esm/src/nodes/atomic/date.d.ts.map +0 -1
  858. package/.dist/esm/src/nodes/atomic/date.js +0 -20
  859. package/.dist/esm/src/nodes/atomic/date.js.map +0 -1
  860. package/.dist/esm/src/nodes/atomic/enum.d.ts +0 -9
  861. package/.dist/esm/src/nodes/atomic/enum.d.ts.map +0 -1
  862. package/.dist/esm/src/nodes/atomic/enum.js +0 -22
  863. package/.dist/esm/src/nodes/atomic/enum.js.map +0 -1
  864. package/.dist/esm/src/nodes/atomic/enumMember.d.ts +0 -11
  865. package/.dist/esm/src/nodes/atomic/enumMember.d.ts.map +0 -1
  866. package/.dist/esm/src/nodes/atomic/enumMember.js +0 -24
  867. package/.dist/esm/src/nodes/atomic/enumMember.js.map +0 -1
  868. package/.dist/esm/src/nodes/atomic/literal.d.ts +0 -21
  869. package/.dist/esm/src/nodes/atomic/literal.d.ts.map +0 -1
  870. package/.dist/esm/src/nodes/atomic/literal.js +0 -126
  871. package/.dist/esm/src/nodes/atomic/literal.js.map +0 -1
  872. package/.dist/esm/src/nodes/atomic/never.d.ts +0 -11
  873. package/.dist/esm/src/nodes/atomic/never.d.ts.map +0 -1
  874. package/.dist/esm/src/nodes/atomic/never.js +0 -22
  875. package/.dist/esm/src/nodes/atomic/never.js.map +0 -1
  876. package/.dist/esm/src/nodes/atomic/null.d.ts +0 -11
  877. package/.dist/esm/src/nodes/atomic/null.d.ts.map +0 -1
  878. package/.dist/esm/src/nodes/atomic/null.js +0 -20
  879. package/.dist/esm/src/nodes/atomic/null.js.map +0 -1
  880. package/.dist/esm/src/nodes/atomic/number.d.ts +0 -11
  881. package/.dist/esm/src/nodes/atomic/number.d.ts.map +0 -1
  882. package/.dist/esm/src/nodes/atomic/number.js +0 -20
  883. package/.dist/esm/src/nodes/atomic/number.js.map +0 -1
  884. package/.dist/esm/src/nodes/atomic/object.d.ts +0 -9
  885. package/.dist/esm/src/nodes/atomic/object.d.ts.map +0 -1
  886. package/.dist/esm/src/nodes/atomic/object.js +0 -14
  887. package/.dist/esm/src/nodes/atomic/object.js.map +0 -1
  888. package/.dist/esm/src/nodes/atomic/regexp.d.ts +0 -11
  889. package/.dist/esm/src/nodes/atomic/regexp.d.ts.map +0 -1
  890. package/.dist/esm/src/nodes/atomic/regexp.js +0 -23
  891. package/.dist/esm/src/nodes/atomic/regexp.js.map +0 -1
  892. package/.dist/esm/src/nodes/atomic/string.d.ts +0 -9
  893. package/.dist/esm/src/nodes/atomic/string.d.ts.map +0 -1
  894. package/.dist/esm/src/nodes/atomic/string.js +0 -14
  895. package/.dist/esm/src/nodes/atomic/string.js.map +0 -1
  896. package/.dist/esm/src/nodes/atomic/symbol.d.ts +0 -12
  897. package/.dist/esm/src/nodes/atomic/symbol.d.ts.map +0 -1
  898. package/.dist/esm/src/nodes/atomic/symbol.js +0 -26
  899. package/.dist/esm/src/nodes/atomic/symbol.js.map +0 -1
  900. package/.dist/esm/src/nodes/atomic/undefined.d.ts +0 -10
  901. package/.dist/esm/src/nodes/atomic/undefined.d.ts.map +0 -1
  902. package/.dist/esm/src/nodes/atomic/undefined.js +0 -17
  903. package/.dist/esm/src/nodes/atomic/undefined.js.map +0 -1
  904. package/.dist/esm/src/nodes/atomic/unknown.d.ts +0 -4
  905. package/.dist/esm/src/nodes/atomic/unknown.d.ts.map +0 -1
  906. package/.dist/esm/src/nodes/atomic/unknown.js +0 -8
  907. package/.dist/esm/src/nodes/atomic/unknown.js.map +0 -1
  908. package/.dist/esm/src/nodes/atomic/void.d.ts +0 -11
  909. package/.dist/esm/src/nodes/atomic/void.d.ts.map +0 -1
  910. package/.dist/esm/src/nodes/atomic/void.js +0 -20
  911. package/.dist/esm/src/nodes/atomic/void.js.map +0 -1
  912. package/.dist/esm/src/nodes/collection/class.d.ts +0 -10
  913. package/.dist/esm/src/nodes/collection/class.d.ts.map +0 -1
  914. package/.dist/esm/src/nodes/collection/class.js +0 -38
  915. package/.dist/esm/src/nodes/collection/class.js.map +0 -1
  916. package/.dist/esm/src/nodes/collection/functionParams.d.ts +0 -10
  917. package/.dist/esm/src/nodes/collection/functionParams.d.ts.map +0 -1
  918. package/.dist/esm/src/nodes/collection/functionParams.js +0 -33
  919. package/.dist/esm/src/nodes/collection/functionParams.js.map +0 -1
  920. package/.dist/esm/src/nodes/collection/interface.d.ts +0 -44
  921. package/.dist/esm/src/nodes/collection/interface.d.ts.map +0 -1
  922. package/.dist/esm/src/nodes/collection/interface.js +0 -241
  923. package/.dist/esm/src/nodes/collection/interface.js.map +0 -1
  924. package/.dist/esm/src/nodes/collection/intersection.d.ts +0 -10
  925. package/.dist/esm/src/nodes/collection/intersection.d.ts.map +0 -1
  926. package/.dist/esm/src/nodes/collection/intersection.js +0 -21
  927. package/.dist/esm/src/nodes/collection/intersection.js.map +0 -1
  928. package/.dist/esm/src/nodes/collection/templateLiteral.d.ts +0 -16
  929. package/.dist/esm/src/nodes/collection/templateLiteral.d.ts.map +0 -1
  930. package/.dist/esm/src/nodes/collection/templateLiteral.js +0 -73
  931. package/.dist/esm/src/nodes/collection/templateLiteral.js.map +0 -1
  932. package/.dist/esm/src/nodes/collection/tuple.d.ts +0 -19
  933. package/.dist/esm/src/nodes/collection/tuple.d.ts.map +0 -1
  934. package/.dist/esm/src/nodes/collection/tuple.js +0 -74
  935. package/.dist/esm/src/nodes/collection/tuple.js.map +0 -1
  936. package/.dist/esm/src/nodes/collection/union.d.ts +0 -20
  937. package/.dist/esm/src/nodes/collection/union.d.ts.map +0 -1
  938. package/.dist/esm/src/nodes/collection/union.js +0 -162
  939. package/.dist/esm/src/nodes/collection/union.js.map +0 -1
  940. package/.dist/esm/src/nodes/collection/unionDiscriminator.d.ts +0 -22
  941. package/.dist/esm/src/nodes/collection/unionDiscriminator.d.ts.map +0 -1
  942. package/.dist/esm/src/nodes/collection/unionDiscriminator.js +0 -198
  943. package/.dist/esm/src/nodes/collection/unionDiscriminator.js.map +0 -1
  944. package/.dist/esm/src/nodes/function/function.d.ts +0 -35
  945. package/.dist/esm/src/nodes/function/function.d.ts.map +0 -1
  946. package/.dist/esm/src/nodes/function/function.js +0 -159
  947. package/.dist/esm/src/nodes/function/function.js.map +0 -1
  948. package/.dist/esm/src/nodes/member/array.d.ts +0 -25
  949. package/.dist/esm/src/nodes/member/array.d.ts.map +0 -1
  950. package/.dist/esm/src/nodes/member/array.js +0 -154
  951. package/.dist/esm/src/nodes/member/array.js.map +0 -1
  952. package/.dist/esm/src/nodes/member/callSignature.d.ts +0 -12
  953. package/.dist/esm/src/nodes/member/callSignature.d.ts.map +0 -1
  954. package/.dist/esm/src/nodes/member/callSignature.js +0 -40
  955. package/.dist/esm/src/nodes/member/callSignature.js.map +0 -1
  956. package/.dist/esm/src/nodes/member/genericMember.d.ts +0 -16
  957. package/.dist/esm/src/nodes/member/genericMember.d.ts.map +0 -1
  958. package/.dist/esm/src/nodes/member/genericMember.js +0 -68
  959. package/.dist/esm/src/nodes/member/genericMember.js.map +0 -1
  960. package/.dist/esm/src/nodes/member/indexProperty.d.ts +0 -23
  961. package/.dist/esm/src/nodes/member/indexProperty.d.ts.map +0 -1
  962. package/.dist/esm/src/nodes/member/indexProperty.js +0 -177
  963. package/.dist/esm/src/nodes/member/indexProperty.js.map +0 -1
  964. package/.dist/esm/src/nodes/member/method.d.ts +0 -12
  965. package/.dist/esm/src/nodes/member/method.d.ts.map +0 -1
  966. package/.dist/esm/src/nodes/member/method.js +0 -41
  967. package/.dist/esm/src/nodes/member/method.js.map +0 -1
  968. package/.dist/esm/src/nodes/member/methodSignature.d.ts +0 -13
  969. package/.dist/esm/src/nodes/member/methodSignature.d.ts.map +0 -1
  970. package/.dist/esm/src/nodes/member/methodSignature.js +0 -44
  971. package/.dist/esm/src/nodes/member/methodSignature.js.map +0 -1
  972. package/.dist/esm/src/nodes/member/param.d.ts +0 -9
  973. package/.dist/esm/src/nodes/member/param.d.ts.map +0 -1
  974. package/.dist/esm/src/nodes/member/param.js +0 -17
  975. package/.dist/esm/src/nodes/member/param.js.map +0 -1
  976. package/.dist/esm/src/nodes/member/property.d.ts +0 -20
  977. package/.dist/esm/src/nodes/member/property.d.ts.map +0 -1
  978. package/.dist/esm/src/nodes/member/property.js +0 -85
  979. package/.dist/esm/src/nodes/member/property.js.map +0 -1
  980. package/.dist/esm/src/nodes/member/restParams.d.ts +0 -8
  981. package/.dist/esm/src/nodes/member/restParams.d.ts.map +0 -1
  982. package/.dist/esm/src/nodes/member/restParams.js +0 -15
  983. package/.dist/esm/src/nodes/member/restParams.js.map +0 -1
  984. package/.dist/esm/src/nodes/member/tupleMember.d.ts +0 -21
  985. package/.dist/esm/src/nodes/member/tupleMember.d.ts.map +0 -1
  986. package/.dist/esm/src/nodes/member/tupleMember.js +0 -93
  987. package/.dist/esm/src/nodes/member/tupleMember.js.map +0 -1
  988. package/.dist/esm/src/nodes/native/Iterable.d.ts +0 -19
  989. package/.dist/esm/src/nodes/native/Iterable.d.ts.map +0 -1
  990. package/.dist/esm/src/nodes/native/Iterable.js +0 -135
  991. package/.dist/esm/src/nodes/native/Iterable.js.map +0 -1
  992. package/.dist/esm/src/nodes/native/map.d.ts +0 -43
  993. package/.dist/esm/src/nodes/native/map.d.ts.map +0 -1
  994. package/.dist/esm/src/nodes/native/map.js +0 -96
  995. package/.dist/esm/src/nodes/native/map.js.map +0 -1
  996. package/.dist/esm/src/nodes/native/nonSerializable.d.ts +0 -15
  997. package/.dist/esm/src/nodes/native/nonSerializable.d.ts.map +0 -1
  998. package/.dist/esm/src/nodes/native/nonSerializable.js +0 -36
  999. package/.dist/esm/src/nodes/native/nonSerializable.js.map +0 -1
  1000. package/.dist/esm/src/nodes/native/promise.d.ts +0 -16
  1001. package/.dist/esm/src/nodes/native/promise.d.ts.map +0 -1
  1002. package/.dist/esm/src/nodes/native/promise.js +0 -38
  1003. package/.dist/esm/src/nodes/native/promise.js.map +0 -1
  1004. package/.dist/esm/src/nodes/native/set.d.ts +0 -31
  1005. package/.dist/esm/src/nodes/native/set.d.ts.map +0 -1
  1006. package/.dist/esm/src/nodes/native/set.js +0 -60
  1007. package/.dist/esm/src/nodes/native/set.js.map +0 -1
  1008. package/.dist/esm/src/run-types-pure-fns.d.ts +0 -8
  1009. package/.dist/esm/src/run-types-pure-fns.d.ts.map +0 -1
  1010. package/.dist/esm/src/run-types-pure-fns.js +0 -112
  1011. package/.dist/esm/src/run-types-pure-fns.js.map +0 -1
  1012. package/.dist/esm/src/types.d.ts +0 -154
  1013. package/.dist/esm/src/types.d.ts.map +0 -1
  1014. package/.dist/esm/src/types.js +0 -59
  1015. package/.dist/esm/src/types.js.map +0 -1
  1016. package/index.ts +0 -70
  1017. package/src/constants.functions.ts +0 -196
  1018. package/src/constants.kind.ts +0 -76
  1019. package/src/constants.ts +0 -85
  1020. package/src/createRunType.ts +0 -322
  1021. package/src/createRunTypeFunctions.ts +0 -93
  1022. package/src/formats.runtype.ts +0 -35
  1023. package/src/jitCompilers/binary/binarySPEC.md +0 -138
  1024. package/src/jitCompilers/binary/binarySpec/binaryHelpers.ts +0 -118
  1025. package/src/jitCompilers/binary/fromBinary.ts +0 -493
  1026. package/src/jitCompilers/binary/toBinary.ts +0 -436
  1027. package/src/jitCompilers/equalsHelpers.ts +0 -62
  1028. package/src/jitCompilers/json/jsonSpec/jsonHelpers.ts +0 -64
  1029. package/src/jitCompilers/json/stringifyJson.ts +0 -476
  1030. package/src/jitCompilers/json/stringifySpec/stringifyHelpers.ts +0 -59
  1031. package/src/jitCompilers/json/toJsCode.ts +0 -182
  1032. package/src/jitCompilers/serialization-suite.ts +0 -1689
  1033. package/src/jitCompilers/xyz-Template/fromXYZ.ts +0 -212
  1034. package/src/jitCompilers/xyz-Template/toXYZ.ts +0 -217
  1035. package/src/jitCompilers/xyz-Template/xyzReadme.md +0 -6
  1036. package/src/jitCompilers/xyz-Template/xyzSpec/xyzHelpers.ts +0 -66
  1037. package/src/lib/baseRunTypeFormat.ts +0 -320
  1038. package/src/lib/baseRunTypes.ts +0 -367
  1039. package/src/lib/createJitFunction.ts +0 -87
  1040. package/src/lib/dkProxy.ts +0 -47
  1041. package/src/lib/formats.ts +0 -144
  1042. package/src/lib/guards.ts +0 -290
  1043. package/src/lib/jitFnCompiler.ts +0 -783
  1044. package/src/lib/jitFnsRegistry.ts +0 -53
  1045. package/src/lib/typeId.ts +0 -225
  1046. package/src/lib/utils.ts +0 -402
  1047. package/src/mocking/constants.mock.ts +0 -87
  1048. package/src/mocking/mockRegistry.ts +0 -20
  1049. package/src/mocking/mockType.ts +0 -409
  1050. package/src/mocking/mockUtils.ts +0 -82
  1051. package/src/nodes/atomic/any.ts +0 -22
  1052. package/src/nodes/atomic/bigInt.ts +0 -26
  1053. package/src/nodes/atomic/boolean.ts +0 -26
  1054. package/src/nodes/atomic/date.ts +0 -26
  1055. package/src/nodes/atomic/enum.ts +0 -23
  1056. package/src/nodes/atomic/enumMember.ts +0 -29
  1057. package/src/nodes/atomic/literal.ts +0 -125
  1058. package/src/nodes/atomic/never.ts +0 -26
  1059. package/src/nodes/atomic/null.ts +0 -26
  1060. package/src/nodes/atomic/number.ts +0 -26
  1061. package/src/nodes/atomic/object.ts +0 -20
  1062. package/src/nodes/atomic/regexp.ts +0 -29
  1063. package/src/nodes/atomic/string.ts +0 -20
  1064. package/src/nodes/atomic/symbol.ts +0 -31
  1065. package/src/nodes/atomic/undefined.ts +0 -23
  1066. package/src/nodes/atomic/unknown.ts +0 -10
  1067. package/src/nodes/atomic/void.ts +0 -26
  1068. package/src/nodes/collection/class.ts +0 -36
  1069. package/src/nodes/collection/functionParams.ts +0 -42
  1070. package/src/nodes/collection/interface.ts +0 -300
  1071. package/src/nodes/collection/intersection.ts +0 -30
  1072. package/src/nodes/collection/templateLiteral.ts +0 -87
  1073. package/src/nodes/collection/tuple.ts +0 -80
  1074. package/src/nodes/collection/union.ts +0 -205
  1075. package/src/nodes/collection/unionDiscriminator.ts +0 -259
  1076. package/src/nodes/function/function.ts +0 -166
  1077. package/src/nodes/member/array.ts +0 -150
  1078. package/src/nodes/member/callSignature.ts +0 -34
  1079. package/src/nodes/member/genericMember.ts +0 -63
  1080. package/src/nodes/member/indexProperty.ts +0 -174
  1081. package/src/nodes/member/method.ts +0 -30
  1082. package/src/nodes/member/methodSignature.ts +0 -31
  1083. package/src/nodes/member/param.ts +0 -22
  1084. package/src/nodes/member/property.ts +0 -75
  1085. package/src/nodes/member/restParams.ts +0 -22
  1086. package/src/nodes/member/tupleMember.ts +0 -93
  1087. package/src/nodes/native/Iterable.ts +0 -153
  1088. package/src/nodes/native/map.ts +0 -91
  1089. package/src/nodes/native/nonSerializable.ts +0 -42
  1090. package/src/nodes/native/promise.ts +0 -43
  1091. package/src/nodes/native/set.ts +0 -56
  1092. package/src/run-types-pure-fns.ts +0 -116
  1093. package/src/types.ts +0 -206
@@ -1 +0,0 @@
1
- {"version":3,"file":"interface.js","sources":["../../../../../src/nodes/collection/interface.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 * ######## */\nimport {TypeObjectLiteral, TypeClass, TypeIntersection, ReflectionKind} from '@deepkit/type';\nimport type {JitCode} from '../../types.ts';\nimport type {JitFnCompiler, JitErrorsFnCompiler} from '../../lib/jitFnCompiler.ts';\nimport {arrayToLiteral, getJitFnArgCallVarName, memorize, sortDiscriminatorsFirst} from '../../lib/utils.ts';\nimport {PropertyRunType} from '../member/property.ts';\nimport {BaseRunType, CollectionRunType, MemberRunType} from '../../lib/baseRunTypes.ts';\nimport {MethodSignatureRunType} from '../member/methodSignature.ts';\nimport {IndexSignatureRunType} from '../member/indexProperty.ts';\nimport {MethodRunType} from '../member/method.ts';\nimport {CallSignatureRunType} from '../member/callSignature.ts';\nimport {JitFunctions} from '../../constants.functions.ts';\nimport {isIndexSignatureRunType} from '../../lib/guards.ts';\nimport {cpf_getUnknownKeysFromArray, cpf_hasUnknownKeysFromArray} from '../../run-types-pure-fns.ts';\n\nexport type InterfaceMember =\n | PropertyRunType\n | MethodSignatureRunType\n | IndexSignatureRunType\n | MethodRunType\n | CallSignatureRunType;\n\nexport class InterfaceRunType<\n T extends TypeObjectLiteral | TypeClass | TypeIntersection = TypeObjectLiteral,\n> extends CollectionRunType<T> {\n getNamedChildren(comp: JitFnCompiler): InterfaceMember[] {\n return this.getJitChildren(comp).filter((prop) => !!(prop.src as any).name) as InterfaceMember[];\n }\n\n isCallable(): boolean {\n return this.getCallSignature() !== undefined;\n }\n\n getCallSignature = memorize((): CallSignatureRunType | undefined => {\n return this.getChildRunTypes().find((prop) => prop.src.kind === ReflectionKind.callSignature) as CallSignatureRunType;\n });\n\n getJitChildren(comp: JitFnCompiler): InterfaceMember[] {\n const children = super.getJitChildren(comp) as InterfaceMember[];\n return children.toSorted((a, b) => sortDiscriminatorsFirst(a, b)) as InterfaceMember[];\n }\n /** Split children in two groups: required and optional */\n splitJitSplitChildren(comp: JitFnCompiler): {\n /** all required properties */\n required: PropertyRunType[];\n /** all optional properties */\n optional: PropertyRunType[];\n /** all index signatures */\n indexSignatures: IndexSignatureRunType[];\n } {\n const children = super.getJitChildren(comp) as InterfaceMember[];\n const required = children.filter((prop) => !prop.isOptional()) as PropertyRunType[];\n const optional = children.filter((prop) => prop.isOptional() && !isIndexSignatureRunType(prop)) as PropertyRunType[];\n const indexSignatures = children.filter((prop) => isIndexSignatureRunType(prop)) as IndexSignatureRunType[];\n return {required, optional, indexSignatures};\n }\n isPartOfUnion(): boolean {\n return this.getParent()?.src.kind === ReflectionKind.union;\n }\n hasIndexSignature(comp: JitFnCompiler): boolean {\n return this.getJitChildren(comp).some((prop) => isIndexSignatureRunType(prop));\n }\n\n // #### collection's jit code ####\n\n emitIsType(comp: JitFnCompiler): JitCode {\n const varName = comp.vλl;\n const children = this.getJitChildren(comp);\n const childrenCode = children\n .map((prop) => comp.compileIsType(prop, 'E').code)\n .filter(Boolean)\n .join(' && ');\n if (this.isCallable())\n return {\n code: [this.getCallSignature()!.emitIsType(comp).code, childrenCode].filter(Boolean).join(' && '),\n type: 'E',\n };\n let propsCode = '';\n if (comp.opts.strictTypes && !this.hasIndexSignature(comp)) {\n const unknownCheck = callCheckUnknownProperties(this, comp, children, false, false);\n if (unknownCheck) propsCode = `!${unknownCheck}`;\n }\n const objectCheck = this.isPartOfUnion() ? '' : `typeof ${varName} === 'object' && ${varName} !== null`;\n const itemsCode = [objectCheck, this.allOptionalCode(comp), childrenCode, propsCode].filter(Boolean).join(' && ');\n return {code: `(${itemsCode})`, type: 'E'};\n }\n\n emitTypeErrors(comp: JitErrorsFnCompiler): JitCode {\n const varName = comp.vλl;\n const children = this.getJitChildren(comp);\n const childrenCode = children\n .map((prop) => comp.compileTypeErrors(prop, 'S').code)\n .filter(Boolean)\n .join(';');\n if (this.isCallable()) {\n return {code: `${this.getCallSignature()!.emitTypeErrors(comp).code} else {${childrenCode}}`, type: 'S'};\n }\n let propsCode = '';\n if (comp.opts.strictTypes && !this.hasIndexSignature(comp)) {\n const unknownVar = comp.getLocalVarName('unk', this);\n const keyVar = comp.getLocalVarName('ky', this);\n const unknownValue = callCheckUnknownProperties(this, comp, children, true, false);\n if (unknownValue) {\n propsCode = `\n const ${unknownVar} = ${unknownValue};\n if (${unknownVar}) {for (const ${keyVar} of ${unknownVar}) {${comp.callJitErrWithPath('never', keyVar)}}}\n `;\n }\n }\n const objectCheck = this.isPartOfUnion() ? '' : `typeof ${varName} === 'object' && ${varName} !== null`;\n const isObjectCode = [objectCheck, this.allOptionalCode(comp)].filter(Boolean).join(' && ');\n return {\n code: `\n if (!(${isObjectCode})) {\n ${comp.callJitErr(this)};\n } else {\n ${childrenCode}\n ${propsCode}\n }\n `,\n type: 'S',\n };\n }\n emitPrepareForJson(comp: JitFnCompiler): JitCode {\n if (this.isCallable()) return this.getCallSignature()!.emitPrepareForJson();\n const children = this.getJitChildren(comp);\n const childrenCode = children\n .map((prop) => comp.compilePrepareForJson(prop, 'S').code)\n .filter(Boolean)\n .join(';');\n return {code: childrenCode, type: 'S'};\n }\n emitRestoreFromJson(comp: JitFnCompiler): JitCode {\n if (this.isCallable()) return this.getCallSignature()!.emitRestoreFromJson();\n const children = this.getJitChildren(comp);\n const childrenCode = children\n .map((prop) => comp.compileRestoreFromJson(prop, 'S').code)\n .filter(Boolean)\n .join(';');\n return {code: childrenCode, type: 'S'};\n }\n emitHasUnknownKeys(comp: JitFnCompiler): JitCode {\n const children = this.getJitChildren(comp);\n const allChildren = this.getChildRunTypes().filter((prop) => !isIndexSignatureRunType(prop));\n const hasIndexProp = children.some((prop) => isIndexSignatureRunType(prop));\n const parentCode = hasIndexProp\n ? ''\n : callCheckUnknownProperties(this, comp, children, false, !this.isPartOfUnion(), allChildren);\n const childrenCode = super.emitHasUnknownKeys(comp).code;\n return {code: [parentCode, childrenCode].filter(Boolean).join(' || '), type: 'E'};\n }\n emitUnknownKeyErrors(comp: JitErrorsFnCompiler): JitCode {\n const children = this.getJitChildren(comp);\n const allChildren = this.getChildRunTypes().filter((prop) => !isIndexSignatureRunType(prop));\n const hasIndexProp = children.some((prop) => isIndexSignatureRunType(prop));\n const unknownVar = comp.getLocalVarName('unk', this);\n const keyVar = comp.getLocalVarName('ky', this);\n const unknownValue = hasIndexProp\n ? undefined\n : callCheckUnknownProperties(this, comp, children, true, !this.isPartOfUnion(), allChildren);\n const parentCode = `\n const ${unknownVar} = ${unknownValue};\n if (${unknownVar}) {for (const ${keyVar} of ${unknownVar}) {${comp.callJitErrWithPath('never', keyVar)}}}\n `;\n const childrenCode = super.emitUnknownKeyErrors(comp).code;\n return {code: [unknownValue ? parentCode : '', childrenCode].filter(Boolean).join('\\n'), type: 'S'};\n }\n emitStripUnknownKeys(comp: JitFnCompiler): JitCode {\n const children = this.getJitChildren(comp);\n const unknownVar = comp.getLocalVarName('unk', this);\n const keyVar = comp.getLocalVarName('ky', this);\n const hasIndexProp = children.some((prop) => isIndexSignatureRunType(prop));\n const unknownValue = hasIndexProp\n ? undefined\n : callCheckUnknownProperties(this, comp, children, true, !this.isPartOfUnion());\n const parentCode = `\n const ${unknownVar} = ${unknownValue};\n if (${unknownVar}) {for (const ${keyVar} of ${unknownVar}){delete ${comp.vλl}[${keyVar}]}}\n `;\n const childrenCode = super.emitStripUnknownKeys(comp).code;\n return {code: [unknownValue ? parentCode : '', childrenCode].filter(Boolean).join('\\n'), type: 'S'};\n }\n emitUnknownKeysToUndefined(comp: JitFnCompiler): JitCode {\n const children = this.getJitChildren(comp);\n const unknownVar = comp.getLocalVarName('unk', this);\n const keyVar = comp.getLocalVarName('ky', this);\n const hasIndexProp = children.some((prop) => isIndexSignatureRunType(prop));\n const unknownValue = hasIndexProp\n ? undefined\n : callCheckUnknownProperties(this, comp, children, true, !this.isPartOfUnion());\n const parentCode = `\n const ${unknownVar} = ${unknownValue};\n if (${unknownVar}) {for (const ${keyVar} of ${unknownVar}){${comp.vλl}[${keyVar}] = undefined}}\n `;\n const childrenCode = super.emitUnknownKeysToUndefined(comp).code;\n return {code: [unknownValue ? parentCode : '', childrenCode].filter(Boolean).join('\\n'), type: 'S'};\n }\n\n // In order to json stringify to work properly optional properties must come first\n getJsonStringifySortedChildren(comp: JitFnCompiler): MemberRunType<any>[] {\n return this.getJitChildren(comp).toSorted((a, b) => {\n const aOptional = a instanceof MemberRunType && a.isOptional();\n const bOptional = b instanceof MemberRunType && b.isOptional();\n if (aOptional && !bOptional) return -1;\n if (!aOptional && bOptional) return 1;\n return 0;\n }) as MemberRunType<any>[];\n }\n\n // extra check to prevent empty array passing as object where all properties are optional\n // when this check is disabled empty array will pass as object but fail when checking for properties\n allOptionalCode(comp: JitFnCompiler): string {\n const children = this.getJitChildren(comp);\n if (children.length !== 0 && !this.areAllChildrenOptional(children)) return '';\n const isNotArray = `!Array.isArray(${comp.vλl})`;\n const ifNoNative = `Object.prototype.toString.call(${comp.vλl}) === '[object Object]'`;\n return `(${isNotArray} && ${ifNoNative})`;\n }\n\n addObjectPropsToContext(comp: JitFnCompiler, jitChildrenRunTypes?: BaseRunType[], allChildrenRuntypes?: BaseRunType[]) {\n const children = jitChildrenRunTypes || this.getJitChildren(comp);\n const allChildren = allChildrenRuntypes || this.getChildRunTypes();\n return addObjectPropsToContext(this, comp, children, allChildren);\n }\n}\n\nexport interface ObjectPropsContextResult {\n keysName: string;\n allKeysName: string;\n hasNonJitChildren: boolean;\n jitChildrenNames: string[];\n allChildrenNames: string[];\n}\n\n/**\n * Extracts object property names and adds them to the JIT compiler context.\n */\nfunction addObjectPropsToContext(\n rt: InterfaceRunType<any>,\n comp: JitFnCompiler,\n jitChildrenRunTypes: BaseRunType[],\n allChildrenRuntypes?: BaseRunType[]\n): ObjectPropsContextResult {\n const jitArrNames = jitChildrenRunTypes.filter((prop) => !!(prop.src as any).name).map((prop) => (prop.src as any).name);\n const AllArrNames = allChildrenRuntypes?.filter((prop) => !!(prop.src as any).name).map((prop) => (prop.src as any).name);\n const jitChildrenNames = Array.from(new Set(jitArrNames));\n const allChildrenNames = Array.from(new Set(AllArrNames));\n const isSameLength = jitChildrenNames.length === allChildrenNames.length;\n const isSameSet = isSameLength && jitChildrenNames.every((v) => allChildrenNames.includes(v));\n const hasNonJitChildren = !(isSameLength && isSameSet);\n const keysName = `k_${rt.getJitHash(comp.opts)}`;\n const allKeysName = `kA_${rt.getJitHash(comp.opts)}`;\n\n comp.setContextItem(keysName, `const ${keysName} = ${arrayToLiteral(jitChildrenNames)}`);\n if (hasNonJitChildren) comp.setContextItem(allKeysName, `const ${allKeysName} = ${arrayToLiteral(allChildrenNames)}`);\n\n return {\n keysName,\n allKeysName,\n hasNonJitChildren,\n jitChildrenNames,\n allChildrenNames,\n };\n}\n\n// TODO: look like some of this logic should be moved to index prop ? Also the runtime\nfunction callCheckUnknownProperties(\n rt: InterfaceRunType<any>,\n comp: JitFnCompiler,\n jitChildrenRunTypes: BaseRunType[],\n returnKeys: boolean,\n checkObject = true,\n allChildrenRuntypes?: BaseRunType[]\n): string {\n const result = addObjectPropsToContext(rt, comp, jitChildrenRunTypes, allChildrenRuntypes);\n\n if (result.jitChildrenNames.length === 0 && result.allChildrenNames.length === 0) return '';\n\n const objectCheckCode = checkObject ? [`typeof ${comp.vλl} === 'object'`, `${comp.vλl} !== null`] : [];\n const checkPropName = JitFunctions.hasUnknownKeys.runTimeOptions.checkNonJitProps.keyName;\n const optsVarName = getJitFnArgCallVarName(comp, rt, JitFunctions.hasUnknownKeys.id, 'θpts');\n const conditional =\n allChildrenRuntypes?.length && result.hasNonJitChildren\n ? `${optsVarName}.${checkPropName} ? ${result.allKeysName} : ${result.keysName}`\n : result.keysName;\n if (returnKeys) {\n const getUnknownKeysFn = comp.addPureFunction(cpf_getUnknownKeysFromArray);\n return `${getUnknownKeysFn}(${comp.vλl}, ${conditional})`;\n }\n const hasUnknownKeysFn = comp.addPureFunction(cpf_hasUnknownKeysFromArray);\n objectCheckCode.push(`${hasUnknownKeysFn}(${comp.vλl}, ${conditional})`);\n const filtered = objectCheckCode.filter(Boolean);\n if (filtered.length > 1) return `(${filtered.join(' && ')})`;\n return filtered[0];\n}\n"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import { TypeIntersection } from '@deepkit/type';
2
- import { InterfaceRunType } from './interface.ts';
3
- import { JitCode } from '../../types.ts';
4
- export declare class IntersectionRunType extends InterfaceRunType<TypeIntersection> {
5
- compileIsType(): JitCode;
6
- compileTypeErrors(): JitCode;
7
- compilePrepareForJson(): JitCode;
8
- compileRestoreFromJson(): JitCode;
9
- }
10
- //# sourceMappingURL=intersection.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"intersection.d.ts","sourceRoot":"","sources":["../../../../../src/nodes/collection/intersection.ts"],"names":[],"mappings":"AAOA,OAAO,EAAC,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAC,gBAAgB,EAAC,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAC,KAAK,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAO5C,qBAAa,mBAAoB,SAAQ,gBAAgB,CAAC,gBAAgB,CAAC;IACvE,aAAa,IAAI,OAAO;IAGxB,iBAAiB,IAAI,OAAO;IAG5B,qBAAqB,IAAI,OAAO;IAGhC,sBAAsB,IAAI,OAAO;CAGpC"}
@@ -1,21 +0,0 @@
1
- import { __ΩTypeIntersection as ___TypeIntersection } from "@deepkit/type";
2
- import { InterfaceRunType } from "./interface.js";
3
- class IntersectionRunType extends InterfaceRunType {
4
- compileIsType() {
5
- throw new Error("Intersection validation not supported, should be resolve to other RunTypes");
6
- }
7
- compileTypeErrors() {
8
- throw new Error("Intersection validation not supported, should be resolve to other RunTypes");
9
- }
10
- compilePrepareForJson() {
11
- throw new Error("Intersection serialization not supported, should be resolve to other RunTypes");
12
- }
13
- compileRestoreFromJson() {
14
- throw new Error("Intersection serialization not supported, should be resolve to other RunTypes");
15
- }
16
- static __type = [() => ___TypeIntersection, () => InterfaceRunType, "JitCode", "compileIsType", "compileTypeErrors", "compilePrepareForJson", "compileRestoreFromJson", () => ___TypeIntersection, "IntersectionRunType", `Pn!7"P"w#0$P"w#0%P"w#0&P"w#0'5n(6"w)`];
17
- }
18
- export {
19
- IntersectionRunType
20
- };
21
- //# sourceMappingURL=intersection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"intersection.js","sources":["../../../../../src/nodes/collection/intersection.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 {TypeIntersection} from '@deepkit/type';\nimport {InterfaceRunType} from './interface.ts';\nimport {type JitCode} from '../../types.ts';\n\n/** IMPORTANT:\n * Intersection are already resolved by deepkit so seems like this runType wont ever be called\n * ie: type A = {a: string} & {b: number} will be resolved to ObjectLiteral {a: string, b: number}\n * ie: type NeVer = string & number will be resolved to never\n * */\nexport class IntersectionRunType extends InterfaceRunType<TypeIntersection> {\n compileIsType(): JitCode {\n throw new Error('Intersection validation not supported, should be resolve to other RunTypes');\n }\n compileTypeErrors(): JitCode {\n throw new Error('Intersection validation not supported, should be resolve to other RunTypes');\n }\n compilePrepareForJson(): JitCode {\n throw new Error('Intersection serialization not supported, should be resolve to other RunTypes');\n }\n compileRestoreFromJson(): JitCode {\n throw new Error('Intersection serialization not supported, should be resolve to other RunTypes');\n }\n}\n"],"names":[],"mappings":";;AAgBM,MAAO,4BAA4B,iBAAkC;AAAA,EACvE,gBAAa;AACT,UAAM,IAAI,MAAM,4EAA4E;AAAA,EAChG;AAAA,EACA,oBAAiB;AACb,UAAM,IAAI,MAAM,4EAA4E;AAAA,EAChG;AAAA,EACA,wBAAqB;AACjB,UAAM,IAAI,MAAM,+EAA+E;AAAA,EACnG;AAAA,EACA,yBAAsB;AAClB,UAAM,IAAI,MAAM,+EAA+E;AAAA,EACnG;AAAA;;"}
@@ -1,16 +0,0 @@
1
- import { TypeTemplateLiteral } from '@deepkit/type';
2
- import { JitFnCompiler, JitErrorsFnCompiler } from '../../lib/jitFnCompiler.ts';
3
- import { JitCode } from '../../types.ts';
4
- import { CollectionRunType } from '../../lib/baseRunTypes.ts';
5
- export declare class TemplateLiteralRunType extends CollectionRunType<TypeTemplateLiteral> {
6
- private _regexSource;
7
- getRegexSource(): string;
8
- private getRegexVar;
9
- emitIsType(comp: JitFnCompiler): JitCode;
10
- emitTypeErrors(comp: JitErrorsFnCompiler): JitCode;
11
- emitPrepareForJson(): JitCode;
12
- emitRestoreFromJson(): JitCode;
13
- }
14
- export declare function buildAnchoredTemplateRegexSource(types: TypeTemplateLiteral['types']): string;
15
- export declare function spanToRegex(t: TypeTemplateLiteral['types'][number]): string;
16
- //# sourceMappingURL=templateLiteral.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"templateLiteral.d.ts","sourceRoot":"","sources":["../../../../../src/nodes/collection/templateLiteral.ts"],"names":[],"mappings":"AAOA,OAAO,EAAiB,KAAK,mBAAmB,EAAmB,MAAM,eAAe,CAAC;AACzF,OAAO,KAAK,EAAC,aAAa,EAAE,mBAAmB,EAAC,MAAM,4BAA4B,CAAC;AACnF,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAS5D,qBAAa,sBAAuB,SAAQ,iBAAiB,CAAC,mBAAmB,CAAC;IAC9E,OAAO,CAAC,YAAY,CAAqB;IAGzC,cAAc,IAAI,MAAM;IAOxB,OAAO,CAAC,WAAW;IAQnB,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO;IAIxC,cAAc,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO;IAQlD,kBAAkB,IAAI,OAAO;IAI7B,mBAAmB,IAAI,OAAO;CAGjC;AAGD,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,GAAG,MAAM,CAE5F;AAGD,wBAAgB,WAAW,CAAC,CAAC,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,GAAG,MAAM,CAgB3E"}
@@ -1,73 +0,0 @@
1
- import { ReflectionKind } from "@deepkit/type";
2
- import { CollectionRunType } from "../../lib/baseRunTypes.js";
3
- function __assignType(fn, args) {
4
- fn.__type = args;
5
- return fn;
6
- }
7
- class TemplateLiteralRunType extends CollectionRunType {
8
- _regexSource;
9
- /** Builds the anchored regex source from src.types. Memoized. */
10
- getRegexSource() {
11
- if (this._regexSource !== void 0)
12
- return this._regexSource;
13
- this._regexSource = buildAnchoredTemplateRegexSource(this.src.types || []);
14
- return this._regexSource;
15
- }
16
- /** Returns a context-bound variable name holding the RegExp; emits the const into the compiler context. */
17
- getRegexVar(comp) {
18
- const varName = comp.getLocalVarName("reTL", this);
19
- if (!comp.hasContextItem(varName)) {
20
- comp.setContextItem(varName, `const ${varName} = new RegExp(${JSON.stringify(this.getRegexSource())})`);
21
- }
22
- return varName;
23
- }
24
- emitIsType(comp) {
25
- const re = this.getRegexVar(comp);
26
- return { code: `(typeof ${comp.vλl} === 'string' && ${re}.test(${comp.vλl}))`, type: "E" };
27
- }
28
- emitTypeErrors(comp) {
29
- const re = this.getRegexVar(comp);
30
- return {
31
- code: `if (typeof ${comp.vλl} !== 'string' || !${re}.test(${comp.vλl})) ${comp.callJitErr(this)}`,
32
- type: "S"
33
- };
34
- }
35
- /** value is already a JSON-safe string, no transform required */
36
- emitPrepareForJson() {
37
- return { code: void 0, type: "S" };
38
- }
39
- /** value is already a JSON-safe string, no transform required */
40
- emitRestoreFromJson() {
41
- return { code: void 0, type: "S" };
42
- }
43
- static __type = ["TypeTemplateLiteral", () => CollectionRunType, "_regexSource", "getRegexSource", "JitFnCompiler", "comp", "getRegexVar", "JitCode", "emitIsType", "JitErrorsFnCompiler", "emitTypeErrors", "emitPrepareForJson", "emitRestoreFromJson", "TemplateLiteralRunType", `P"w!7"P&-J3#;P&0$P"w%2&&0';P"w%2&"w(0)P"w*2&"w(0+P"w(0,P"w(0-5"w!6"w.`];
44
- }
45
- function buildAnchoredTemplateRegexSource(types) {
46
- return `^${types.map(__assignType((t) => spanToRegex(t), ["t", "", 'P"2!"/"'])).join("")}$`;
47
- }
48
- buildAnchoredTemplateRegexSource.__type = ["TypeTemplateLiteral", "types", "types", "buildAnchoredTemplateRegexSource", 'P"w!."f2#&/$'];
49
- function spanToRegex(t) {
50
- switch (t.kind) {
51
- case ReflectionKind.literal:
52
- return escapeForRegex(String(t.literal));
53
- case ReflectionKind.number:
54
- return "-?(?:\\d+\\.?\\d*|\\.\\d+)";
55
- case ReflectionKind.string:
56
- case ReflectionKind.any:
57
- case ReflectionKind.infer:
58
- return "[\\s\\S]*";
59
- default:
60
- throw new Error(`Unsupported template literal span kind: ${t.kind}`);
61
- }
62
- }
63
- spanToRegex.__type = ["TypeTemplateLiteral", "types", "t", "spanToRegex", `P"w!."f'f2#&/$`];
64
- function escapeForRegex(s) {
65
- return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
66
- }
67
- escapeForRegex.__type = ["s", "escapeForRegex", 'P&2!&/"'];
68
- export {
69
- TemplateLiteralRunType,
70
- buildAnchoredTemplateRegexSource,
71
- spanToRegex
72
- };
73
- //# sourceMappingURL=templateLiteral.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"templateLiteral.js","sources":["../../../../../src/nodes/collection/templateLiteral.ts"],"sourcesContent":["/* ########\n * 2025 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 TypeTemplateLiteral, type TypeLiteral} from '@deepkit/type';\nimport type {JitFnCompiler, JitErrorsFnCompiler} from '../../lib/jitFnCompiler.ts';\nimport type {JitCode} from '../../types.ts';\nimport {CollectionRunType} from '../../lib/baseRunTypes.ts';\n\n/**\n * RunType for TypeScript template literal types, ie: `type T = \\`api/user/${number}\\``.\n * The runtime value is a string. Validation is done by compiling the template literal type\n * to a single anchored regex at JIT-build time and then calling `regex.test(v)` at runtime.\n * Mocking walks the children directly (literal => verbatim, string/any => mockString, number => mockNumber)\n * and concatenates the spans, which guarantees the result satisfies the validation regex.\n */\nexport class TemplateLiteralRunType extends CollectionRunType<TypeTemplateLiteral> {\n private _regexSource: string | undefined;\n\n /** Builds the anchored regex source from src.types. Memoized. */\n getRegexSource(): string {\n if (this._regexSource !== undefined) return this._regexSource;\n this._regexSource = buildAnchoredTemplateRegexSource(this.src.types || []);\n return this._regexSource;\n }\n\n /** Returns a context-bound variable name holding the RegExp; emits the const into the compiler context. */\n private getRegexVar(comp: JitFnCompiler): string {\n const varName = comp.getLocalVarName('reTL', this);\n if (!comp.hasContextItem(varName)) {\n comp.setContextItem(varName, `const ${varName} = new RegExp(${JSON.stringify(this.getRegexSource())})`);\n }\n return varName;\n }\n\n emitIsType(comp: JitFnCompiler): JitCode {\n const re = this.getRegexVar(comp);\n return {code: `(typeof ${comp.vλl} === 'string' && ${re}.test(${comp.vλl}))`, type: 'E'};\n }\n emitTypeErrors(comp: JitErrorsFnCompiler): JitCode {\n const re = this.getRegexVar(comp);\n return {\n code: `if (typeof ${comp.vλl} !== 'string' || !${re}.test(${comp.vλl})) ${comp.callJitErr(this)}`,\n type: 'S',\n };\n }\n /** value is already a JSON-safe string, no transform required */\n emitPrepareForJson(): JitCode {\n return {code: undefined, type: 'S'};\n }\n /** value is already a JSON-safe string, no transform required */\n emitRestoreFromJson(): JitCode {\n return {code: undefined, type: 'S'};\n }\n}\n\n/** Build the full ^...$ regex source for a template literal type's spans */\nexport function buildAnchoredTemplateRegexSource(types: TypeTemplateLiteral['types']): string {\n return `^${types.map((t) => spanToRegex(t)).join('')}$`;\n}\n\n/** Translate a single template-literal span (TypeString | TypeAny | TypeNumber | TypeLiteral | TypeInfer) into regex source */\nexport function spanToRegex(t: TypeTemplateLiteral['types'][number]): string {\n switch (t.kind) {\n case ReflectionKind.literal:\n return escapeForRegex(String((t as TypeLiteral).literal));\n case ReflectionKind.number:\n // matches signed integers and floats (including leading dot like '.5'), mirroring TS's `${number}` semantics\n return '-?(?:\\\\d+\\\\.?\\\\d*|\\\\.\\\\d+)';\n case ReflectionKind.string:\n case ReflectionKind.any:\n case ReflectionKind.infer:\n // `${string}` accepts the empty string, so use * not +\n return '[\\\\s\\\\S]*';\n default:\n // unreachable per deepkit's TypeTemplateLiteral.types definition\n throw new Error(`Unsupported template literal span kind: ${(t as {kind: number}).kind}`);\n }\n}\n\n/** Escape regex metacharacters so a literal substring is matched verbatim */\nfunction escapeForRegex(s: string): string {\n return s.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n}\n"],"names":[],"mappings":";;;;;;AAmBM,MAAO,+BAA+B,kBAAsC;AAAA,EACtE;AAAA;AAAA,EAGR,iBAAc;AACV,QAAI,KAAK,iBAAiB;AAAW,aAAO,KAAK;AACjD,SAAK,eAAe,iCAAiC,KAAK,IAAI,SAAS,EAAE;AACzE,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA,EAGQ,YAAY,MAAmB;AACnC,UAAM,UAAU,KAAK,gBAAgB,QAAQ,IAAI;AACjD,QAAI,CAAC,KAAK,eAAe,OAAO,GAAG;AAC/B,WAAK,eAAe,SAAS,SAAS,OAAO,iBAAiB,KAAK,UAAU,KAAK,eAAA,CAAgB,CAAC,GAAG;AAAA,IAC1G;AACA,WAAO;AAAA,EACX;AAAA,EAEA,WAAW,MAAmB;AAC1B,UAAM,KAAK,KAAK,YAAY,IAAI;AAChC,WAAO,EAAC,MAAM,WAAW,KAAK,GAAG,oBAAoB,EAAE,SAAS,KAAK,GAAG,MAAM,MAAM,IAAA;AAAA,EACxF;AAAA,EACA,eAAe,MAAyB;AACpC,UAAM,KAAK,KAAK,YAAY,IAAI;AAChC,WAAO;AAAA,MACH,MAAM,cAAc,KAAK,GAAG,qBAAqB,EAAE,SAAS,KAAK,GAAG,MAAM,KAAK,WAAW,IAAI,CAAC;AAAA,MAC/F,MAAM;AAAA,IAAA;AAAA,EAEd;AAAA;AAAA,EAEA,qBAAkB;AACd,WAAO,EAAC,MAAM,QAAW,MAAM,IAAA;AAAA,EACnC;AAAA;AAAA,EAEA,sBAAmB;AACf,WAAO,EAAC,MAAM,QAAW,MAAM,IAAA;AAAA,EACnC;AAAA;;AAIE,SAAU,iCAAiC,OAAmC;AAChF,SAAO,IAAI,MAAM,iBAAI,CAAC,MAAM,YAAY,CAAC,GAAC,CAAA,KAAA,IAAA,SAAA,CAAA,CAAA,EAAE,KAAK,EAAE,CAAC;AACxD;;AAGM,SAAU,YAAY,GAAuC;AAC/D,UAAQ,EAAE,MAAA;AAAA,IACN,KAAK,eAAe;AAChB,aAAO,eAAe,OAAQ,EAAkB,OAAO,CAAC;AAAA,IAC5D,KAAK,eAAe;AAEhB,aAAO;AAAA,IACX,KAAK,eAAe;AAAA,IACpB,KAAK,eAAe;AAAA,IACpB,KAAK,eAAe;AAEhB,aAAO;AAAA,IACX;AAEI,YAAM,IAAI,MAAM,2CAA4C,EAAqB,IAAI,EAAE;AAAA,EAAA;AAEnG;;AAGA,SAAS,eAAe,GAAS;AAC7B,SAAO,EAAE,QAAQ,uBAAuB,MAAM;AAClD;;"}
@@ -1,19 +0,0 @@
1
- import { TypeTuple } from '@deepkit/type';
2
- import { JitFnCompiler, JitErrorsFnCompiler } from '../../lib/jitFnCompiler.ts';
3
- import { AnyParameterListRunType, JitCode } from '../../types.ts';
4
- import { ParameterRunType } from '../member/param.ts';
5
- import { CollectionRunType } from '../../lib/baseRunTypes.ts';
6
- import { TupleMemberRunType } from '../member/tupleMember.ts';
7
- type AnyParamRunType = ParameterRunType | TupleMemberRunType;
8
- export declare class TupleRunType<ParamList extends AnyParameterListRunType = TypeTuple, ParamType extends AnyParamRunType = TupleMemberRunType> extends CollectionRunType<ParamList> {
9
- getChildRunTypes: () => ParamType[];
10
- getParamRunTypes(comp: JitFnCompiler): ParamType[];
11
- hasRestParameter(comp: JitFnCompiler): boolean;
12
- totalRequiredParams(comp: JitFnCompiler): number;
13
- emitIsType(comp: JitFnCompiler): JitCode;
14
- emitTypeErrors(comp: JitErrorsFnCompiler): JitCode;
15
- emitPrepareForJson(comp: JitFnCompiler): JitCode;
16
- emitRestoreFromJson(comp: JitFnCompiler): JitCode;
17
- }
18
- export {};
19
- //# sourceMappingURL=tuple.d.ts.map
@@ -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"}