@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
@@ -0,0 +1,83 @@
1
+ ---
2
+ name: rt-enrich-types
3
+ description: FriendlyText/MockData enrich loop: mion enrich CLI, @todo blanks, @rt* tags, i18n. Use to scaffold/fill.
4
+ ---
5
+
6
+ # RunTypes enrichment: compiler scaffolds, you fill blanks
7
+
8
+ - Enrichment = committed, type-keyed data RunTypes cannot generate on its own.
9
+ - `FriendlyText<T>`: human labels + error messages. `MockData<T>`: realistic sample values.
10
+ - Validators/codecs: pure functions of the type, recomputed every build, never committed.
11
+ - Enrichment: authored once, committed, validated against the type forever after.
12
+ - Full design: [docs/AI_ENRICHMENT.md](https://github.com/MionKit/mion/blob/main/docs/AI_ENRICHMENT.md).
13
+ - Compiler writes the code: real, type-accurate file, every field in place, gaps marked `@todo`.
14
+ - You (the agent) fill the gaps with believable, valid content.
15
+ - ⚠️ Never call an LLM inside a build. Authoring = explicit out-of-band step → reviewable, committed diff.
16
+
17
+ ## The loop
18
+
19
+ 1. **`enrich`**: scaffold the mirror file. One entry per field, correctly typed, each blank marked `@todo`.
20
+ 2. **Fill the `@todo`s**: labels, messages, sample values. Delete each `@todo` line when done.
21
+ 3. **`enrich --no-emit`**: health check. Validates every authored value against the live type.
22
+ - FAILS on WRONG or stale content (dead field, leftover carcass).
23
+ - Only REPORTS unfilled blanks: `@todo` lines, empty `''` labels/messages, empty `[]` pools.
24
+ - (A fresh scaffold is expected to carry blanks.) Fix what fails, repeat until clean.
25
+ - **3b. `enrich --require-complete`**: the "am I done?" gate. All `--no-emit` checks + FAILS on any blank.
26
+ A blank value ships blank to the app → treated exactly like an unresolved `@todo`.
27
+ Run before calling enrichment finished. CI and a production bundler build enforce it.
28
+ 4. **`enrich --update`**: type changed → value-preserving re-sync (property merge + field rename + orphaning).
29
+ Fill any new `@todo`s it adds.
30
+ 5. **`enrich --prune`**: the only destructive op. Removes `@rtOrphan`/`@rtOrphanChild` carcasses
31
+ left by deleted types/fields.
32
+ 6. **`enrich --i18n <locale|all> [<src.ts>] [--update|--prune]`**: scaffold, reconcile or prune
33
+ per-locale translation files of the friendly maps.
34
+ 7. **`enrich --i18n <locale|all> --no-emit`**: translation status (enrich-i18n-\*, warnings by default).
35
+ **`--require-complete`** (or tsconfig `i18n.strict`) makes it FAIL for CI.
36
+
37
+ Translations (steps 6-7): CLI, `--update` rules, findings, tsconfig `i18n` block → [translations.md](translations.md).
38
+
39
+ ## tsconfig
40
+
41
+ - Every verb takes **`--tsconfig <path>`**. Without it: found exactly as tsc does, searching upward from cwd.
42
+ - ONE resolved config feeds genDir/i18n settings AND type resolution (same compiler options as the build).
43
+ - Config named or discovered but missing/broken → command stops with an error.
44
+ - Only a project with no tsconfig at all falls back to built-in defaults.
45
+
46
+ ## Mirror directory + JSDoc tags
47
+
48
+ Where files live, consumer imports, tag ownership table → [mirror.md](mirror.md). Read before editing a mirror file.
49
+
50
+ - `@rt`-prefixed tags = compiler-owned. Never edit by hand. Plain `@todo` = yours; compiler only emits it.
51
+ - `--update` never edits your values. `--prune` is the only command that deletes.
52
+
53
+ ## `FriendlyText<T>`: labels + error messages
54
+
55
+ - Combined per-field map: `rt$label` (human name) + `rt$errors`.
56
+ - `rt$errors`: one template per declared failable constraint, or exclusive `{rt$default: '…'}` catch-all.
57
+ - `type` required. Other constraint keys optional in the type: `enrich` scaffolds each, a missing one is reported.
58
+ - Count-bearing constraints scaffold plural objects.
59
+ - Scaffold always per-constraint. Switch a node to `rt$default` by hand.
60
+ - Pure data. Rendered at runtime by `createFriendlyText<T>(map)`, or `createFriendlyTextI18n` + committed translations.
61
+ - Full DSL (node shape, constraint keys, `$[…]` placeholders, plurals, `rt$default`, enrich-text-\* checks,
62
+ runtime rendering) = **`runtypes-friendly-text`** skill. Use it whenever you author or fill a friendly map.
63
+
64
+ ## `MockData<T>`: realistic sample data
65
+
66
+ - Per-field pools + ranges: `pool`, `min`/`max`, `rt$items`/`rt$length`, `rt$optional`.
67
+ - Feeds `createMockDataFn<T>(undefined, { data })`.
68
+ - Mechanical generator keeps handling structure + format-correctness; you supply _believable_ values.
69
+ - Full DSL (node shapes per field kind, enrich-mock-\* checks, end-to-end wiring) = **`runtypes-mock-data`** skill.
70
+ Use it whenever you author or fill a mock map.
71
+
72
+ ## Authoring checklist
73
+
74
+ - `enrich` scaffold lays out every field. Write values that fit each field's kind + format.
75
+ - Fill **every `@todo`** AND every blank value (`''` label/message, `[]` pool), then **delete that `@todo` line**.
76
+ A leftover blank = unresolved `@todo` for the completeness gate.
77
+ - Never touch `@rt*` tags or `@rtOrphan`/`@rtOrphanChild` comment blocks. Compiler owns them; `--prune` clears orphans.
78
+ - After editing: `enrich --no-emit`, resolve every Error.
79
+ - Before calling it finished: `enrich --require-complete` (+ `enrich --i18n <locale|all> --require-complete`
80
+ for translations). Fails until every `@todo` and blank is filled.
81
+ - Type changed → prefer `enrich --update` (keeps your values) over regenerating.
82
+ - Family rules (friendly constraint keys, plural arms, translation fill discipline, mock pools/ranges):
83
+ **`runtypes-friendly-text`** and **`runtypes-mock-data`** skills' checklists.
@@ -0,0 +1,58 @@
1
+ # Mirror directory + JSDoc tags
2
+
3
+ Where enrichment files live, how consumers import them, who owns each tag.
4
+
5
+ ## Mirror directory: one file per family
6
+
7
+ - Enrichment is committed to a **mirror directory**: its tree shadows your source, split **per family**.
8
+ - Type defined in `src/models/user.ts`:
9
+ - `friendly<Name>` consts (`FriendlyText<Name>`) → `<genDir>/enriched/friendly/src/models/user.ts`.
10
+ - `mock<Name>` consts (`MockData<Name>`) → `<genDir>/enriched/mock/src/models/user.ts`.
11
+ - Path follows the source file from the tsconfig folder, or from `rootDir` when set.
12
+ `rootDir: "src"` gives `friendly/models/user.ts`.
13
+ - Default `genDir`: `.mion` in the source folder (`rootDir`, else the folder all program files share).
14
+ - Configure it via the `mion` entry under `compilerOptions.plugins` in `tsconfig.json`.
15
+ - One mirror file per family per source file. Anchored at the type's **definition**, not its call sites.
16
+ - One `export` per enriched type defined there: one enrichment home per type, however many files consume it.
17
+ - The two families never share a file. Each family file imports only its own wrapper type.
18
+ - First committed RunTypes artifact (every other output is gitignored cache). Hand-editable.
19
+ - `enrich --no-emit` flags a mirror outside its family folder: enrich-mirror-moved (location drift).
20
+ - `--out` writes one combined file instead: explicit escape hatch.
21
+ - Each family file: strict `import type` back to the source (the rename **breadcrumb**)
22
+ - committed consts you import by name.
23
+ - The `import type` is best-effort: consumed type not exported → file fails to compile → fix the export.
24
+
25
+ ```ts
26
+ // src/.mion/enriched/mock/src/models/user.ts: GENERATED, COMMITTED, hand-editable
27
+ import type {User} from '../../../../../models/user';
28
+ import type {MockData} from '@mionjs/run-types';
29
+
30
+ /** @rtType User#9f3a @rtIds {age: b2, name: a1} */
31
+ // @todo: generated skeleton — fill in real data, then delete this line
32
+ export const mockUser: MockData<User> = {name: {pool: []}, age: {pool: []}};
33
+ ```
34
+
35
+ Consumers use a **real, committed import**. Never plugin-injected (enrichment is committed, so its link is too).
36
+
37
+ ```ts
38
+ // src/services/userForm.ts
39
+ import {createMockDataFn} from '@mionjs/run-types/mocking';
40
+ import {friendlyUser} from '../.mion/enriched/friendly/src/models/user';
41
+ import {mockUser} from '../.mion/enriched/mock/src/models/user';
42
+ import type {User} from '../models/user';
43
+
44
+ createMockDataFn<User>(undefined, {data: mockUser});
45
+ ```
46
+
47
+ ## The JSDoc tags
48
+
49
+ | Tag | Owner | Meaning |
50
+ | ----------------------- | -------- | ----------------------------------------------------------------------------- |
51
+ | `@rtType <Name>#<id>` | compiler | const's stable structural identity; reconcile matches by this, not var name |
52
+ | `@rtIds {field: id, …}` | compiler | each field's child type id: lets `--update` detect a **rename**, carry value |
53
+ | `@rtOrphan …` | compiler | whole const whose source type is gone: commented out (value kept), `--prune`d |
54
+ | `@rtOrphanChild …` | compiler | one field removed from the type: commented out (value kept), `--prune`d |
55
+ | `@todo …` | **you** | a blank the compiler scaffolded: fill it in, then **delete the line** |
56
+
57
+ - Hand-authored comments survive `--update` and travel with a renamed field.
58
+ - `--update` only adds blanks, flags stale values, orphans gone fields.
@@ -0,0 +1,77 @@
1
+ # Translations: per-locale friendly files
2
+
3
+ CLI, file layout, reconcile rules and tsconfig block for `enrich --i18n`.
4
+
5
+ ## Layout
6
+
7
+ - The friendly map you author IS the source language: tsconfig `i18n.sourceLocale`, default `en`.
8
+ - No separate default catalog, no separate translation type.
9
+ - Each target locale gets committed `FriendlyText<T>` files shadowing the friendly mirror tree:
10
+ `<i18nDir>/<locale>/<rel>.ts`.
11
+ - Default `i18nDir`: `<genDir>/enriched/i18n`, resolved under the project root.
12
+ - e.g. `src/.mion/enriched/i18n/pl/src/models/user.ts`.
13
+ - Locale is a path segment, so `pt-BR` works verbatim.
14
+ - Const per type: `<locale>_friendly<Name>`. BCP-47 `-` becomes `_`: `pt_BR_friendlyUser`.
15
+ - Annotated `FriendlyText<Name>`, SAME `@rtType <Name>#<id> @rtIds {…}` markers as the source.
16
+ - Path + const prefix carry the locale. No i18n marker.
17
+ - Every locale file is generated FROM THE SOURCE TYPE by the same driver as the friendly mirror.
18
+ - Mirror = discovery input only (which sources translate), never a content input.
19
+ - No generated file ever feeds the generation of another.
20
+
21
+ ## CLI
22
+
23
+ ```
24
+ mion enrich --i18n <locale> [<src.ts>] # scaffold (create-only)
25
+ mion enrich --i18n <locale> --update [<src.ts>] # reconcile from the SOURCE TYPE
26
+ mion enrich --i18n <locale> --prune [<src.ts>] # strip @rtOrphan carcasses (the only delete)
27
+ mion enrich --i18n all [--update] # fan out over tsconfig i18n.locales
28
+ mion enrich --i18n <locale|all> --no-emit # report status (warnings, exit 0)
29
+ mion enrich --i18n <locale|all> --require-complete # completeness gate (fails CI)
30
+ ```
31
+
32
+ - No `<src.ts>` → targets = sources that have a friendly mirror (path math over `<genDir>/enriched/friendly/`).
33
+ Mirror content never read.
34
+ - Scaffold = type's tree, every string leaf + plural arm an `@todo` blank (`''`).
35
+ NEVER copies source text as if translated.
36
+ - Fill rules (translate only blank leaves, arms locale-owned, prune freely): **`runtypes-friendly-text`** skill,
37
+ translations page.
38
+
39
+ ## `--update`
40
+
41
+ - Same value-preserving reconcile as `enrich --update`: one driver for every friendly-family file.
42
+ - Includes the one-level `rt$errors` descent:
43
+ - Newly declared constraint key → blank of the right kind (string, or plural with THAT FILE's locale arms).
44
+ - Dropped RECOGNIZED constraint key → `@rtOrphanChild` carcass. Unknown keys = author-owned, untouched.
45
+ - Same-key leaf kept byte-identical. `rt$default`-only node never descended.
46
+ - Plural arms never orphaned, renamed or down-scoped.
47
+ - Type renames carry across locales via shared `@rtType` id.
48
+ Const, annotation, marker AND intra-file references renamed in place.
49
+
50
+ ## `enrich --i18n --no-emit` findings
51
+
52
+ - enrich-i18n-missing-translation: translation file missing.
53
+ - enrich-i18n-todo-left: unfilled `@todo` blanks.
54
+ - enrich-i18n-out-of-date: out of date vs the SOURCE TYPE (a src-driven reconcile would change the file).
55
+ - enrich-i18n-orphans: orphan carcasses awaiting review/prune.
56
+ - All Warnings (exit 0). tsconfig `i18n.strict: true` OR `--require-complete` → Errors (exit 1).
57
+ - Runtime always lenient regardless.
58
+
59
+ ## tsconfig `i18n` block
60
+
61
+ Lives on the `mion` tsconfig plugin entry. Dormant by default: zero change when absent.
62
+
63
+ ```jsonc
64
+ {
65
+ "name": "mion",
66
+
67
+ "i18n": {
68
+ "sourceLocale": "en", // language the source FriendlyText maps are written in
69
+ "dir": "src/.mion/enriched/i18n", // translation subtree root (default <genDir>/enriched/i18n)
70
+ "locales": ["es", "pl", "pt-BR"], // target locales (the source locale is NOT listed)
71
+ "strict": false, // when true, the i18n check fails on incompleteness by default (same as --require-complete)
72
+ },
73
+ }
74
+ ```
75
+
76
+ Runtime rendering (`createFriendlyTextI18n`, `resolveLocale` matching, per-leaf fallback,
77
+ type-driven `$[val]` for Currency / date bounds): **`runtypes-friendly-text`** skill.
@@ -0,0 +1,94 @@
1
+ ---
2
+ name: runtypes-friendly-text
3
+ description: FriendlyText<T> rt$label/rt$errors ($[val], plurals, createFriendlyText). Use for friendly errors/labels.
4
+ ---
5
+
6
+ # Authoring & using `FriendlyText<T>`
7
+
8
+ - One of two AI-enrichment artifacts in RunTypes. Other: `MockData<T>` (`runtypes-mock-data` skill).
9
+ - Enrichment is authored once, committed, validated against the type. CLI loop: `rt-enrich-types` skill.
10
+ - Full design: [docs/AI_ENRICHMENT.md](https://github.com/MionKit/mion/blob/main/docs/AI_ENRICHMENT.md).
11
+ - `FriendlyText<T>` = combined per-field map of:
12
+ - **labels**: `rt$label`, human name per field (`'Full name'` for `name`).
13
+ - **error-message templates**: `rt$errors`, one template per failed constraint.
14
+ - **Pure data.** `createFriendlyText<T>(map)` renders `createGetValidationErrorsFn<T>()` output as readable messages.
15
+ - No type-id injection, no `rtUtils`: error rendering needs only `(map, errors)`.
16
+
17
+ ## When to use it
18
+
19
+ - Turn `createGetValidationErrorsFn<T>()` errors into readable text, not raw `{ path, expected, format }`.
20
+ - You need stable human field **labels** (form building, error summaries).
21
+ - Scaffolding a type's committed friendly mirror file.
22
+ - Filling a locale's translation file (also typed `FriendlyText<T>`, rendered via `createFriendlyTextI18n`).
23
+ - Boolean pass/fail only → `createValidateFn<T>()` directly, no friendly map.
24
+
25
+ ## Shipped vs designed
26
+
27
+ - **Shipped**, all exported from `@mionjs/run-types`:
28
+ - [`friendlyText.ts`][ft]: `FriendlyText<T>` + plural types `PluralTemplate`, `TemplateLeaf`, `PluralCategory`.
29
+ - [`createFriendlyText.ts`][cft]: plural-aware `createFriendlyText<T>(map)`, `createFriendlyTextI18n`,
30
+ `resolveLocale`.
31
+ - `enrich` / `enrich --no-emit` CLI (incl. `--i18n`) scaffolds + validates the committed maps.
32
+ - **Designed (not yet wired):** `ShapeCheckedArgs<T>` compile-time axis, `rtUtils` registry accessors.
33
+
34
+ ## Node model: `{ rt$label, rt$errors, ...children }`
35
+
36
+ - One recursive node, uniform at every depth. No `fields:` wrapper: leaf nodes simply have no children.
37
+ - `rt$`-prefixed keys = **meta**. Every other key = **child field**. A plain `$foo` property is just a field.
38
+ - `rt$` prefix RESERVED: source-type property named `rt$…` is refused by `enrich` (enrich-text-reserved-prefix).
39
+ - `rt$label: string`: field's human name, always a plain string. REQUIRED.
40
+ - `rt$errors`: field's error templates. REQUIRED. Per-constraint record OR exclusive `{rt$default: '…'}` catch-all.
41
+ - Template leaf: plain string, or a **plural object** on count-bearing constraints (`TemplateLeaf`).
42
+ - Arrays + rest tuples: `rt$items` (element node). Fixed tuples: positional `rt$slots`.
43
+ - `Map`: `rt$keys` / `rt$values`. `Set`: `rt$values`.
44
+ - Nested objects recurse with the _same_ node shape, every field of `T` present.
45
+ - ⚠️ **The map is TOTAL.** Every field appears, every node carries both meta keys.
46
+ - Blank `''` = "no custom text" (renderer falls back gracefully), so blanks are always safe.
47
+ - Never delete a key to opt out: next `enrich --update` scaffolds it back. One type maps to exactly one shape.
48
+ - `FriendlyText<T>` mapped type checks structure against `T`: missing field, object node where `T` is scalar
49
+ (or vice-versa), unknown `rt$errors` key = TYPE errors, caught in the IDE before `enrich --no-emit` runs.
50
+
51
+ ## Detail pages
52
+
53
+ - `rt$errors` keys, `rt$default` mode, `$[…]` placeholders, plurals:
54
+ [error-templates.md](references/error-templates.md). Read before writing any template.
55
+ - enrich-text-\* checks and levels → [checks.md](references/checks.md). Read when `enrich --no-emit` reports one.
56
+ - `createFriendlyText` / `createFriendlyTextI18n` runtime → [rendering.md](references/rendering.md).
57
+ - Locale files, fill rules → [translations.md](references/translations.md). Read before filling a translation.
58
+ - Full type → map → consumer example → [example.md](references/example.md).
59
+
60
+ ## Where the map lives: friendly mirror file
61
+
62
+ - At the file where the type is **defined**, not consumed: `src/models/user.ts` →
63
+ `<genDir>/enriched/friendly/src/models/user.ts` (default `src/.mion/enriched/friendly/src/models/user.ts`).
64
+ - Holds `friendly<Name>` consts. `MockData<T>` consts live separately under `<genDir>/enriched/mock/…`.
65
+ - Mirrors the cache's "one canonical entry per structural id, app-wide" rule.
66
+ - Layout rules (genDir, `rootDir`, `import type` breadcrumb): `rt-enrich-types` skill.
67
+
68
+ ```ts
69
+ // src/.mion/enriched/friendly/src/models/user.ts: committed, hand-editable
70
+ import type {User} from '../../../../../models/user';
71
+ import type {FriendlyText} from '@mionjs/run-types';
72
+
73
+ /** @rtType User#9f3a @rtIds {…} */
74
+ export const friendlyUser: FriendlyText<User> = {
75
+ /* … */
76
+ };
77
+ ```
78
+
79
+ ## Authoring checklist
80
+
81
+ - Map goes in the **definition's friendly mirror file** (`<genDir>/enriched/friendly/<rel>.ts`), not the consumer's.
82
+ - Type it `FriendlyText<T>` so structure is checked against `T`. Keep it TOTAL (Node model above).
83
+ - `rt$errors` key set = `type` + the field's **declared failable format params**.
84
+ Others optional in the type, any other key rejected. A bare `string` takes `type` only.
85
+ - One sentence per field? `rt$errors: {rt$default: '…'}`. Exclusive, never mixed with per-constraint keys
86
+ (enrich-text-default-and-messages). Scaffolds always per-constraint: switch a node by hand.
87
+ - Count-bearing constraints: fill scaffolded plural arms in place, never restructure the object.
88
+ Keep `other` (enrich-text-plural-missing-other), prune unused arms.
89
+ Count = the violated bound, not the received value's length.
90
+ - Locale file: translate only blank leaves, never copy source text, prune arms your language doesn't use
91
+ (they stay pruned).
92
+
93
+ [ft]: https://github.com/MionKit/mion/blob/main/packages/run-types/src/enrich/friendlyText.ts
94
+ [cft]: https://github.com/MionKit/mion/blob/main/packages/run-types/src/enrich/createFriendlyText.ts
@@ -0,0 +1,37 @@
1
+ # Build-time checks: enrich-text-\*
2
+
3
+ `enrich --no-emit` cross-references the authored literal against the live `RunType` and reports these.
4
+
5
+ ## Shipped
6
+
7
+ - enrich-text-unknown-field (Warning): key is not a field of `T`. Stale (field renamed/removed), nothing reads it.
8
+ Catches drift: rename a field → this flags the now-stale entry.
9
+ - enrich-text-unknown-error-key (Warning): `rt$errors` key is not an error this field can produce.
10
+ TS catches keys the FORMAT never produces as an excess-property error.
11
+ - enrich-text-unknown-placeholder (Warning): unknown `$[…]` placeholder for this constraint/context.
12
+ Checked per plural arm.
13
+ - enrich-text-plural-missing-other (Warning): plural object missing the mandatory `other` arm.
14
+ - enrich-text-unknown-plural-arm (Warning): plural-object arm key is not a CLDR category.
15
+ - enrich-text-plural-without-count (Info): plural object on a non-count-bearing constraint (dead arms).
16
+ - enrich-text-default-and-messages (Warning): `rt$default` beside any other `rt$errors` key.
17
+ Modes are mutually exclusive; the catch-all silently wins.
18
+ - enrich-text-missing-message (Warning): a failure this field can produce has no `rt$errors` key
19
+ (and no `rt$default`) → shows a generic message.
20
+ - enrich-text-reserved-prefix (Error): a property of `T` is named `rt$…`, the reserved meta prefix.
21
+ `enrich` refuses the type up front, writes no mirror. Rename the property.
22
+ - Unfilled scaffold: enrich-text-todo-left / enrich-text-blank-value (Warning).
23
+
24
+ ## Designed (not yet wired)
25
+
26
+ - enrich-text-missing-label (Info): field of `T` has no label (renders the raw name).
27
+ - enrich-text-shape-mismatch: object node where `T` is scalar, or vice-versa. `FriendlyText<T>` mapped type catches it.
28
+ - enrich-text-type-drift: `T`'s structural id changed since authored, review for drift.
29
+
30
+ ## Levels
31
+
32
+ - Content checks are **Warnings** (one Info): message still renders, falls back to something less specific
33
+ (generic "value is invalid", the `other` plural arm, the raw field name).
34
+ - Degraded text = enrichment that did not apply, not a broken function.
35
+ - **enrich-text-reserved-prefix is the one Error**: enrich plan fails, no mirror file written at all.
36
+ - enrich-text-todo-left / enrich-text-blank-value fail `enrich --require-complete` through their
37
+ completeness flag, not their level.
@@ -0,0 +1,94 @@
1
+ # Error templates: keys, modes, placeholders, plurals
2
+
3
+ What goes inside `rt$errors`.
4
+
5
+ ## `rt$errors` keys = the failed-constraint name
6
+
7
+ - Each key names the sub-constraint that failed. Not an invented set:
8
+ maps 1:1 onto what `createGetValidationErrorsFn<T>()` emits.
9
+ - Renderer picks the template by the error's `(format.name, formatPath-tail)` discriminator.
10
+ - `type`: base type-shape failure (a `RunTypeError` with no `.format`), "not even the right kind of value".
11
+ Always present.
12
+ - Format sub-constraints, exactly as the type declares them:
13
+ - string: `minLength`, `maxLength`, `pattern`, `allowedChars`
14
+ - number: `min`, `max`, `lt`, `gt`, `integer`
15
+ - datetime: `date`, `time`, `splitChar`
16
+ - `Date` bound: `min` / `max`; `uuid`: `version`
17
+ - **Keys come from the format's own error code.** `ErrorTemplates<F>` reads the field's format NAME,
18
+ allows the keys in the generated `FormatErrorKeys` table (`src/go-generated/formatErrorKeys.generated.ts`,
19
+ built from each format's validation-errors code).
20
+ - Every constraint key is optional in the type. Unknown key = excess-property TYPE error.
21
+ - `enrich --no-emit` reports a missing key (enrich-text-missing-message)
22
+ or one this field can never fail on (enrich-text-unknown-error-key).
23
+ - `enrich --update` adds missing keys as blanks.
24
+ - Params that never fail (`float`, `isCurrency`, `mockSamples`, `separators`, the transformers) never become keys.
25
+ - JSON Schema bounds (`minimum`, `exclusiveMinimum`, ...) use `min` / `max` / `gt` / `lt`.
26
+ - Bare `name: string` takes `type` only. Richer friendly map requires a richer type annotation.
27
+
28
+ ## Two exclusive modes: per-constraint vs `rt$default`
29
+
30
+ `rt$errors` is EITHER the per-constraint record OR the single catch-all. Never a mix.
31
+ Never a function: only data survives translation, reconcile and the checker.
32
+
33
+ - **Per-constraint**: `{type: '…', minLength: '…', …}`. **One message per failed constraint**.
34
+ Every key compiler-validated, placeholders too (enrich-text-unknown-placeholder).
35
+ - **`rt$default`**: `{rt$default: '…'}`. ONE message for the whole field, whatever failed.
36
+ Plain data: translates and reconciles like any other leaf.
37
+ - Mixing = TS union error + enrich-text-default-and-messages (Warning).
38
+ - Each node picks its own mode. `enrich` always scaffolds NEW nodes per-constraint: switch to `rt$default` by hand.
39
+ Once a node exists, every sync follows its authored mode.
40
+ - Errors **accumulate**: violating `minLength` _and_ `pattern` → two messages (a list).
41
+ A `rt$default` node collapses them to one message.
42
+
43
+ ```ts
44
+ // rt$default mode: one sentence covers every failure of the field
45
+ name: {
46
+ rt$label: 'Full name',
47
+ rt$errors: {rt$default: 'Enter a name between 2 and 60 characters'},
48
+ },
49
+ ```
50
+
51
+ ## Placeholder DSL
52
+
53
+ Templates are plain strings with `$[…]` tokens the renderer substitutes:
54
+
55
+ - `$[label]`: node's `rt$label`, falling back to the raw field name.
56
+ - `$[val]`: failed constraint's bound (`error.format.val`; e.g. `2`).
57
+ - `$[path]`: dotted path to the field (`profile.email`).
58
+ - `$[index]`: array element index, for `rt$items` failures.
59
+ - Type-driven: on the i18n path `$[val]` renders by the bound's TYPE, no per-template syntax.
60
+ `isCurrency`-marked bound (`TF.Currency`) → renderer's `currency` option. Date-family bound → `Intl.DateTimeFormat`.
61
+ - Unknown `$[…]` tokens left verbatim; `enrich --no-emit` flags them (enrich-text-unknown-placeholder).
62
+ - Literal colon in prose (`ratio 3:1`) never touched.
63
+ - `$[value]` (actual received value) out of scope for v1: `RunTypeError` carries no value.
64
+
65
+ ## Plural templates on count-bearing constraints
66
+
67
+ - Count-bearing: `minLength`, `maxLength`, `min`, `max`, `lt`, `gt`.
68
+ - Their leaf = plain string or **plural object** with CLDR cardinal category arms.
69
+ - `TemplateLeaf = string | PluralTemplate`.
70
+ - `PluralTemplate` = `{other: string}` + optional `zero`/`one`/`two`/`few`/`many` arms.
71
+
72
+ ```ts
73
+ name: {
74
+ rt$label: 'Full name',
75
+ rt$errors: {
76
+ type: '$[label] must be text', // plain string, as before
77
+ minLength: { // plural object
78
+ one: '$[label] needs at least $[val] character',
79
+ other: '$[label] needs at least $[val] characters',
80
+ },
81
+ },
82
+ },
83
+ ```
84
+
85
+ - `enrich` scaffolds the plural object (`minLength: {one: '', other: ''}`).
86
+ - Arms from the SOURCE locale's CLDR cardinal set (tsconfig `i18n.sourceLocale`, default `en`).
87
+ - Built-in table: en, es, zh, hi, ar, pt, ru, ja, de, fr, pl. Other locale → all six `zero one two few many other`.
88
+ - **Fill the arms; never restructure the object.** Only `other` mandatory. Prune arms you don't use.
89
+ - All other constraints (`type`, `pattern`, `allowedChars`, …) stay plain strings. `rt$label` always a plain string.
90
+ - Plain string on a count-bearing constraint stays legal.
91
+ - **Plural count = the VIOLATED BOUND** (`$[val]`: `minLength: 3` failure selects the arm for `3`).
92
+ NOT the received value's length.
93
+ - Arm picked via `Intl.PluralRules(locale)`. `other` = backstop. Non-finite bound → `other` directly.
94
+ - Plain `createFriendlyText` uses `en` rules (deterministic, matches default `sourceLocale`).
@@ -0,0 +1,80 @@
1
+ # FriendlyText end-to-end example
2
+
3
+ Type definition → filled friendly mirror → consumer.
4
+
5
+ ```ts
6
+ // src/models/user.ts: the DEFINITION
7
+ import type * as TF from '@mionjs/run-types/formats';
8
+
9
+ export interface User {
10
+ name: TF.String<{minLength: 2; maxLength: 60}>;
11
+ age: TF.Number<{min: 0; max: 120}>;
12
+ isActive: boolean;
13
+ tags: string[];
14
+ profile: {
15
+ email: TF.Email;
16
+ score: TF.Number<{min: 0; max: 100}>;
17
+ };
18
+ }
19
+ ```
20
+
21
+ ```ts
22
+ // src/.mion/enriched/friendly/src/models/user.ts: the committed friendly mirror
23
+ import type {User} from '../../../../../models/user';
24
+ import type {FriendlyText} from '@mionjs/run-types';
25
+
26
+ export const friendlyUser: FriendlyText<User> = {
27
+ rt$label: 'User account',
28
+ rt$errors: {type: '$[label] must be an object'},
29
+
30
+ name: {
31
+ rt$label: 'Full name',
32
+ rt$errors: {
33
+ type: '$[label] must be text',
34
+ minLength: '$[label] needs at least $[val] characters',
35
+ maxLength: '$[label] allows at most $[val] characters',
36
+ },
37
+ },
38
+ age: {
39
+ rt$label: 'Age',
40
+ rt$errors: {
41
+ type: '$[label] must be a number',
42
+ min: '$[label] must be at least $[val]',
43
+ max: '$[label] must be no more than $[val]',
44
+ },
45
+ },
46
+ isActive: {rt$label: 'Active?', rt$errors: {type: ''}},
47
+
48
+ tags: {
49
+ rt$label: 'Tags',
50
+ rt$errors: {type: ''},
51
+ rt$items: {rt$label: '', rt$errors: {type: 'each tag must be text'}}, // element node
52
+ },
53
+
54
+ profile: {
55
+ // nested object: recurse
56
+ rt$label: 'Profile',
57
+ rt$errors: {type: ''},
58
+ email: {
59
+ rt$label: 'Email',
60
+ rt$errors: {type: '', minLength: '', maxLength: '', pattern: 'Enter a valid email address'},
61
+ },
62
+ score: {rt$label: 'Score', rt$errors: {rt$default: 'Score must be between 0 and 100'}}, // rt$default mode
63
+ },
64
+ };
65
+ ```
66
+
67
+ ```ts
68
+ // src/services/userForm.ts: the CONSUMER
69
+ import {createGetValidationErrorsFn, createFriendlyText} from '@mionjs/run-types';
70
+ import {friendlyUser} from '../.mion/enriched/friendly/src/models/user';
71
+ import type {User} from '../models/user';
72
+
73
+ const getUserErrors = createGetValidationErrorsFn<User>();
74
+ const friendly = createFriendlyText<User>(friendlyUser);
75
+
76
+ const messages = friendly.errors(getUserErrors({name: 'A', age: 200, profile: {email: 'nope', score: 5}}));
77
+ // name → 'Full name needs at least 2 characters'
78
+ // age → 'Age must be no more than 120'
79
+ // profile.email → 'Enter a valid email address'
80
+ ```
@@ -0,0 +1,77 @@
1
+ # Rendering at runtime
2
+
3
+ `createFriendlyText<T>(map)` for one language, `createFriendlyTextI18n` for locales.
4
+
5
+ ## `createFriendlyText<T>(map)`
6
+
7
+ ```ts
8
+ // src/services/userForm.ts
9
+ import {createGetValidationErrorsFn, createFriendlyText} from '@mionjs/run-types';
10
+ import {friendlyUser} from '../.mion/enriched/friendly/src/models/user';
11
+ import type {User} from '../models/user';
12
+
13
+ const getUserErrors = createGetValidationErrorsFn<User>();
14
+ const friendly = createFriendlyText<User>(friendlyUser);
15
+
16
+ const badInput: unknown = {name: 'A', age: 200, profile: {email: 'nope'}};
17
+ friendly.errors(getUserErrors(badInput));
18
+ // → [{ path: 'profile.email', label: 'Email', message: 'Enter a valid email address' }, …]
19
+
20
+ friendly.label('profile.email'); // → 'Email' (falls back to the raw field name)
21
+ ```
22
+
23
+ Returns `{ errors(errs), label(path) }`:
24
+
25
+ - `errors(errs)`: groups `RunTypeError[]` by path, looks up the node,
26
+ interpolates the matching template per failed constraint.
27
+ - `rt$default` node → single message for the whole field.
28
+ - Returns `FriendlyMessage[]` (`{ path, label, message }`).
29
+ - `label(path)`: friendly label for a dotted path or a raw path-segment array.
30
+
31
+ ## `createFriendlyTextI18n(source, options)`
32
+
33
+ Same `FriendlyRenderer` interface as `createFriendlyText`.
34
+
35
+ ```ts
36
+ // src/services/userForm.ts
37
+ import {createFriendlyTextI18n, createGetValidationErrorsFn} from '@mionjs/run-types';
38
+ import {friendlyUser} from '../.mion/enriched/friendly/src/models/user';
39
+ import {es_friendlyUser} from '../.mion/enriched/i18n/es/src/models/user';
40
+ import {pl_friendlyUser} from '../.mion/enriched/i18n/pl/src/models/user';
41
+ import type {User} from '../models/user';
42
+
43
+ const getUserErrors = createGetValidationErrorsFn<User>();
44
+ const currentLocale = navigator.language;
45
+ const badInput: unknown = {name: 'A', age: 200};
46
+
47
+ const friendly = createFriendlyTextI18n(friendlyUser, {
48
+ locale: currentLocale, // string | {value: string}: a {value} ref (e.g. a Vue Ref)
49
+ translations: {es: es_friendlyUser, pl: pl_friendlyUser},
50
+ currency: 'EUR', // optional ISO 4217 code (string or {value} ref) for TF.Currency bounds
51
+ sourceLocale: 'en', // optional (default 'en'): plural rules when rendering from the SOURCE map
52
+ });
53
+
54
+ friendly.errors(getUserErrors(badInput)); // arm + template picked per the active locale
55
+ ```
56
+
57
+ - `{value}` locale ref is re-read on EVERY render. Renderer itself is not reactivity-tracked:
58
+ call `errors()` per render / inside `computed()`.
59
+ - Locale matching: `resolveLocale(locale, translations)`, naive BCP-47 truncation.
60
+ - Exact tag, then subtags dropped right-to-left (`pt-BR` → `pt`).
61
+ - Then any available tag sharing the base language (`zh-Hant` matches a `zh-Hans` file when nothing closer).
62
+ - Nothing shares the base language → `undefined` → renderer uses the source.
63
+ - Fallback is per-leaf, never throws on a partial translation.
64
+ - Reserved `strict` option exists; runtime is always lenient.
65
+ - Blank (`''`) or missing translated leaf → source. `rt$label` and each `rt$errors` key independently.
66
+ - Node's own authored `rt$default` tried before falling cross-map.
67
+ - Plural leaf falls through as a WHOLE unit: never mixes a target arm with a source arm.
68
+ - Type-driven `$[val]`: the error's format payload says what the bound IS.
69
+ - `isCurrency`-marked number bound (`TF.Currency<P>` = `Number<P & {isCurrency: true}>`):
70
+ pure-metadata param echoed onto every error the field produces.
71
+ Renders via `Intl.NumberFormat(locale, {style: 'currency', currency})` with the app-supplied `currency` option.
72
+ - `currency` omitted → plain localized number, never a guessed symbol.
73
+ WHICH currency a value is in = app DATA, not fixed in the type.
74
+ - Date-family bound → `Intl.DateTimeFormat(locale)`. Unparseable relative bound (`now-P1D`) stays verbatim.
75
+ - Everything else → `String(val)`. Unknown tokens stay verbatim.
76
+ - `Intl` instances memoized: `PluralRules` per locale, bound formatters per locale + currency / style.
77
+ - Plain `createFriendlyText` stays byte-stable: `String(val)` everywhere.
@@ -0,0 +1,38 @@
1
+ # Translations: per-locale `FriendlyText<T>` files
2
+
3
+ Filling locale files under `<genDir>/enriched/i18n`.
4
+
5
+ - Locale file = `FriendlyText<T>` map authored in another language.
6
+ The source map you authored IS the source language (tsconfig `i18n.sourceLocale`, default `en`).
7
+ - File: `<i18nDir>/<locale>/<rel>.ts`, e.g. `src/.mion/enriched/i18n/pl/src/models/user.ts`.
8
+ - Const: `<locale>_friendly<Name>` (`pt_BR_friendlyUser`), same `@rtType` / `@rtIds` markers as the source.
9
+ - Layout, CLI (`mion enrich --i18n <locale|all>`, `--update`, `--prune`, `--no-emit`), enrich-i18n-\* findings,
10
+ tsconfig `i18n` block: `rt-enrich-types` skill.
11
+ - Translation is optional per leaf: anything unfilled falls back to the source at render time.
12
+
13
+ ## Scaffold
14
+
15
+ - Type's tree with every string leaf + plural arm as an `@todo` blank (`''`).
16
+ - NEVER copies source text as if translated (the type has no strings).
17
+ - Plural objects carry the TARGET locale's CLDR arm set.
18
+ - Const references rename to their locale siblings (`home: pl_friendlyAddress`).
19
+
20
+ ## Filling a translation file
21
+
22
+ - Translate ONLY blank (`''`) leaves. Never edit an already-filled leaf. Never copy the source text across.
23
+ - Prune plural arms your language doesn't use. Arms are locale-owned: a pruned arm stays pruned across reconciles.
24
+ Only the mandatory `other` is ever re-inserted.
25
+ - `rt$default`-mode node: exactly one string to translate, never descended.
26
+
27
+ ```ts
28
+ // src/.mion/enriched/i18n/pl/src/models/user.ts: committed, filled by a translator/agent
29
+ import type {User} from '../../../../../../models/user';
30
+ import type {FriendlyText} from '@mionjs/run-types';
31
+
32
+ /** @rtType User#9f3a @rtIds {…} */
33
+ export const pl_friendlyUser: FriendlyText<User> = {
34
+ /* … */
35
+ };
36
+ ```
37
+
38
+ Rendering locale files: `createFriendlyTextI18n` → [rendering.md](rendering.md).