@duplojs/lang 0.0.1-beta.1 → 0.0.1-beta.10

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 (561) hide show
  1. package/dist/array/at/default.d.ts +1 -1
  2. package/dist/array/chunk.d.ts +3 -2
  3. package/dist/array/concat.d.ts +1 -1
  4. package/dist/array/copyWithin.d.ts +1 -1
  5. package/dist/array/fill/all.d.ts +1 -1
  6. package/dist/array/fill/default.d.ts +3 -3
  7. package/dist/array/filter.d.ts +1 -1
  8. package/dist/array/findAndReplace.d.ts +1 -1
  9. package/dist/array/findAndSplice/delete.d.ts +1 -1
  10. package/dist/array/findAndSplice/insert.d.ts +1 -1
  11. package/dist/array/index.cjs +0 -3
  12. package/dist/array/index.d.ts +0 -1
  13. package/dist/array/index.mjs +1 -3
  14. package/dist/array/insert.d.ts +3 -3
  15. package/dist/array/length.d.ts +1 -1
  16. package/dist/array/lengthEqual.d.ts +1 -1
  17. package/dist/array/map.d.ts +1 -1
  18. package/dist/array/maxElements.d.ts +1 -1
  19. package/dist/array/minElements.d.ts +1 -1
  20. package/dist/array/pop.d.ts +1 -1
  21. package/dist/array/prepend.d.ts +1 -1
  22. package/dist/array/push.d.ts +3 -3
  23. package/dist/array/reverse.d.ts +1 -1
  24. package/dist/array/shift.d.ts +1 -1
  25. package/dist/array/sort.d.ts +1 -1
  26. package/dist/array/splice/delete.d.ts +1 -1
  27. package/dist/array/splice/insert.d.ts +1 -1
  28. package/dist/array/unshift.d.ts +3 -3
  29. package/dist/chrono/createDate.cjs +9 -9
  30. package/dist/chrono/createDate.d.ts +3 -3
  31. package/dist/chrono/createDate.mjs +9 -9
  32. package/dist/chrono/createTime.cjs +24 -13
  33. package/dist/chrono/createTime.mjs +24 -13
  34. package/dist/chrono/theDate.cjs +15 -16
  35. package/dist/chrono/theDate.d.ts +15 -15
  36. package/dist/chrono/theDate.mjs +15 -16
  37. package/dist/chrono/theTime.cjs +0 -1
  38. package/dist/chrono/theTime.mjs +0 -1
  39. package/dist/chrono/types/spoolingTime.d.ts +2 -1
  40. package/dist/common/constraint/cast/index.d.ts +3 -3
  41. package/dist/common/constraint/cast/number.d.ts +15 -0
  42. package/dist/common/constraint/cast/string.d.ts +21 -0
  43. package/dist/common/constraint/index.d.ts +2 -0
  44. package/dist/common/constraint/infer/array.d.ts +7 -0
  45. package/dist/{array/infer.cjs → common/constraint/infer/index.cjs} +1 -1
  46. package/dist/common/constraint/infer/index.d.ts +26 -0
  47. package/dist/{string/infer.mjs → common/constraint/infer/index.mjs} +1 -1
  48. package/dist/common/constraint/infer/number.d.ts +11 -0
  49. package/dist/common/constraint/infer/string.d.ts +13 -0
  50. package/dist/common/constraint/remove.cjs +6 -0
  51. package/dist/common/constraint/remove.d.ts +2 -0
  52. package/dist/common/constraint/remove.mjs +6 -0
  53. package/dist/common/index.cjs +6 -0
  54. package/dist/common/index.mjs +5 -1
  55. package/dist/common/isType.d.ts +3 -2
  56. package/dist/common/types/forward.d.ts +1 -0
  57. package/dist/common/types/index.d.ts +3 -0
  58. package/dist/common/types/isObject.d.ts +8 -0
  59. package/dist/common/types/json.d.ts +1 -1
  60. package/dist/common/types/splitPromise.d.ts +1 -0
  61. package/dist/dataStructure/common/codec/base.cjs +29 -0
  62. package/dist/dataStructure/common/{codec.d.ts → codec/base.d.ts} +8 -8
  63. package/dist/dataStructure/common/codec/base.mjs +26 -0
  64. package/dist/dataStructure/common/codec/defaults/index.d.ts +2 -0
  65. package/dist/dataStructure/common/codec/defaults/json.cjs +26 -0
  66. package/dist/dataStructure/common/codec/defaults/json.d.ts +6 -0
  67. package/dist/dataStructure/common/codec/defaults/json.mjs +26 -0
  68. package/dist/dataStructure/common/codec/defaults/string.cjs +44 -0
  69. package/dist/dataStructure/common/codec/defaults/string.d.ts +11 -0
  70. package/dist/dataStructure/common/codec/defaults/string.mjs +44 -0
  71. package/dist/dataStructure/common/codec/index.d.ts +2 -0
  72. package/dist/dataStructure/common/error/base.cjs +73 -0
  73. package/dist/dataStructure/common/error/base.d.ts +50 -0
  74. package/dist/dataStructure/common/error/base.mjs +69 -0
  75. package/dist/dataStructure/common/error/defaultInterpreter.cjs +84 -0
  76. package/dist/dataStructure/common/error/defaultInterpreter.d.ts +57 -0
  77. package/dist/dataStructure/common/error/defaultInterpreter.mjs +83 -0
  78. package/dist/dataStructure/common/error/index.d.ts +3 -0
  79. package/dist/dataStructure/common/error/interpreter.cjs +45 -0
  80. package/dist/dataStructure/common/error/interpreter.d.ts +36 -0
  81. package/dist/dataStructure/common/error/interpreter.mjs +45 -0
  82. package/dist/dataStructure/constraint/base.cjs +34 -5
  83. package/dist/dataStructure/constraint/base.d.ts +13 -4
  84. package/dist/dataStructure/constraint/base.mjs +34 -6
  85. package/dist/dataStructure/constraint/defaults/absolutePath.cjs +13 -0
  86. package/dist/dataStructure/constraint/defaults/absolutePath.d.ts +10 -0
  87. package/dist/dataStructure/constraint/defaults/absolutePath.mjs +12 -0
  88. package/dist/dataStructure/constraint/defaults/allowedCharacters.cjs +1 -1
  89. package/dist/dataStructure/constraint/defaults/allowedCharacters.d.ts +1 -3
  90. package/dist/dataStructure/constraint/defaults/allowedCharacters.mjs +1 -1
  91. package/dist/dataStructure/constraint/defaults/arrayLengthEqual.cjs +1 -1
  92. package/dist/dataStructure/constraint/defaults/arrayLengthEqual.d.ts +1 -1
  93. package/dist/dataStructure/constraint/defaults/arrayLengthEqual.mjs +1 -1
  94. package/dist/dataStructure/constraint/defaults/betweenThan.cjs +1 -1
  95. package/dist/dataStructure/constraint/defaults/betweenThan.d.ts +1 -1
  96. package/dist/dataStructure/constraint/defaults/betweenThan.mjs +1 -1
  97. package/dist/dataStructure/constraint/defaults/betweenThanOrEqual.cjs +1 -1
  98. package/dist/dataStructure/constraint/defaults/betweenThanOrEqual.d.ts +1 -1
  99. package/dist/dataStructure/constraint/defaults/betweenThanOrEqual.mjs +1 -1
  100. package/dist/dataStructure/constraint/defaults/email.cjs +1 -1
  101. package/dist/dataStructure/constraint/defaults/email.d.ts +1 -1
  102. package/dist/dataStructure/constraint/defaults/email.mjs +1 -1
  103. package/dist/dataStructure/constraint/defaults/even.cjs +1 -1
  104. package/dist/dataStructure/constraint/defaults/even.d.ts +1 -1
  105. package/dist/dataStructure/constraint/defaults/even.mjs +1 -1
  106. package/dist/dataStructure/constraint/defaults/greaterThan.cjs +1 -1
  107. package/dist/dataStructure/constraint/defaults/greaterThan.d.ts +1 -1
  108. package/dist/dataStructure/constraint/defaults/greaterThan.mjs +1 -1
  109. package/dist/dataStructure/constraint/defaults/greaterThanOrEqual.cjs +1 -1
  110. package/dist/dataStructure/constraint/defaults/greaterThanOrEqual.d.ts +1 -1
  111. package/dist/dataStructure/constraint/defaults/greaterThanOrEqual.mjs +1 -1
  112. package/dist/dataStructure/constraint/defaults/index.d.ts +6 -0
  113. package/dist/dataStructure/constraint/defaults/integer.cjs +1 -1
  114. package/dist/dataStructure/constraint/defaults/integer.d.ts +1 -1
  115. package/dist/dataStructure/constraint/defaults/integer.mjs +1 -1
  116. package/dist/dataStructure/constraint/defaults/lessThan.cjs +1 -1
  117. package/dist/dataStructure/constraint/defaults/lessThan.d.ts +1 -1
  118. package/dist/dataStructure/constraint/defaults/lessThan.mjs +1 -1
  119. package/dist/dataStructure/constraint/defaults/lessThanOrEqual.cjs +1 -1
  120. package/dist/dataStructure/constraint/defaults/lessThanOrEqual.d.ts +1 -1
  121. package/dist/dataStructure/constraint/defaults/lessThanOrEqual.mjs +1 -1
  122. package/dist/dataStructure/constraint/defaults/maxCharacters.cjs +1 -1
  123. package/dist/dataStructure/constraint/defaults/maxCharacters.d.ts +1 -1
  124. package/dist/dataStructure/constraint/defaults/maxCharacters.mjs +1 -1
  125. package/dist/dataStructure/constraint/defaults/maxElements.cjs +1 -1
  126. package/dist/dataStructure/constraint/defaults/maxElements.d.ts +1 -1
  127. package/dist/dataStructure/constraint/defaults/maxElements.mjs +1 -1
  128. package/dist/dataStructure/constraint/defaults/minCharacters.cjs +4 -4
  129. package/dist/dataStructure/constraint/defaults/minCharacters.d.ts +2 -2
  130. package/dist/dataStructure/constraint/defaults/minCharacters.mjs +4 -4
  131. package/dist/dataStructure/constraint/defaults/minElements.cjs +1 -1
  132. package/dist/dataStructure/constraint/defaults/minElements.d.ts +1 -1
  133. package/dist/dataStructure/constraint/defaults/minElements.mjs +1 -1
  134. package/dist/dataStructure/constraint/defaults/multipleOf.cjs +1 -1
  135. package/dist/dataStructure/constraint/defaults/multipleOf.d.ts +1 -1
  136. package/dist/dataStructure/constraint/defaults/multipleOf.mjs +1 -1
  137. package/dist/dataStructure/constraint/defaults/negative.cjs +1 -1
  138. package/dist/dataStructure/constraint/defaults/negative.d.ts +1 -1
  139. package/dist/dataStructure/constraint/defaults/negative.mjs +1 -1
  140. package/dist/dataStructure/constraint/defaults/notEmpty.cjs +1 -1
  141. package/dist/dataStructure/constraint/defaults/notEmpty.d.ts +1 -1
  142. package/dist/dataStructure/constraint/defaults/notEmpty.mjs +1 -1
  143. package/dist/dataStructure/constraint/defaults/notZero.cjs +1 -1
  144. package/dist/dataStructure/constraint/defaults/notZero.d.ts +1 -1
  145. package/dist/dataStructure/constraint/defaults/notZero.mjs +1 -1
  146. package/dist/dataStructure/constraint/defaults/numberInString.cjs +13 -0
  147. package/dist/dataStructure/constraint/defaults/numberInString.d.ts +10 -0
  148. package/dist/dataStructure/constraint/defaults/numberInString.mjs +12 -0
  149. package/dist/dataStructure/constraint/defaults/odd.cjs +1 -1
  150. package/dist/dataStructure/constraint/defaults/odd.d.ts +1 -1
  151. package/dist/dataStructure/constraint/defaults/odd.mjs +1 -1
  152. package/dist/dataStructure/constraint/defaults/path.cjs +13 -0
  153. package/dist/dataStructure/constraint/defaults/path.d.ts +10 -0
  154. package/dist/dataStructure/constraint/defaults/path.mjs +12 -0
  155. package/dist/dataStructure/constraint/defaults/positive.cjs +1 -1
  156. package/dist/dataStructure/constraint/defaults/positive.d.ts +1 -1
  157. package/dist/dataStructure/constraint/defaults/positive.mjs +1 -1
  158. package/dist/dataStructure/constraint/defaults/refine.cjs +1 -1
  159. package/dist/dataStructure/constraint/defaults/refine.d.ts +1 -1
  160. package/dist/dataStructure/constraint/defaults/refine.mjs +1 -1
  161. package/dist/dataStructure/constraint/defaults/regex.cjs +13 -0
  162. package/dist/dataStructure/constraint/defaults/regex.d.ts +10 -0
  163. package/dist/dataStructure/constraint/defaults/regex.mjs +12 -0
  164. package/dist/dataStructure/constraint/defaults/safe.cjs +1 -1
  165. package/dist/dataStructure/constraint/defaults/safe.d.ts +1 -1
  166. package/dist/dataStructure/constraint/defaults/safe.mjs +1 -1
  167. package/dist/dataStructure/constraint/defaults/segmentPath.cjs +13 -0
  168. package/dist/dataStructure/constraint/defaults/segmentPath.d.ts +10 -0
  169. package/dist/dataStructure/constraint/defaults/segmentPath.mjs +12 -0
  170. package/dist/dataStructure/constraint/defaults/strictNegative.cjs +1 -1
  171. package/dist/dataStructure/constraint/defaults/strictNegative.d.ts +1 -1
  172. package/dist/dataStructure/constraint/defaults/strictNegative.mjs +1 -1
  173. package/dist/dataStructure/constraint/defaults/strictPositive.cjs +1 -1
  174. package/dist/dataStructure/constraint/defaults/strictPositive.d.ts +1 -1
  175. package/dist/dataStructure/constraint/defaults/strictPositive.mjs +1 -1
  176. package/dist/dataStructure/constraint/defaults/stringLengthEqual.cjs +1 -1
  177. package/dist/dataStructure/constraint/defaults/stringLengthEqual.d.ts +1 -1
  178. package/dist/dataStructure/constraint/defaults/stringLengthEqual.mjs +1 -1
  179. package/dist/dataStructure/constraint/defaults/trimmed.cjs +13 -0
  180. package/dist/dataStructure/constraint/defaults/trimmed.d.ts +10 -0
  181. package/dist/dataStructure/constraint/defaults/trimmed.mjs +12 -0
  182. package/dist/dataStructure/constraint/defaults/url.cjs +2 -2
  183. package/dist/dataStructure/constraint/defaults/url.d.ts +2 -3
  184. package/dist/dataStructure/constraint/defaults/url.mjs +2 -2
  185. package/dist/dataStructure/constraint/defaults/uuid.cjs +2 -4
  186. package/dist/dataStructure/constraint/defaults/uuid.d.ts +1 -3
  187. package/dist/dataStructure/constraint/defaults/uuid.mjs +4 -5
  188. package/dist/dataStructure/constraint/identifier.d.ts +3 -4
  189. package/dist/dataStructure/constraint/types/constraints.d.ts +22 -15
  190. package/dist/dataStructure/fundamentalType/base.cjs +3 -3
  191. package/dist/dataStructure/fundamentalType/base.d.ts +4 -5
  192. package/dist/dataStructure/fundamentalType/base.mjs +3 -3
  193. package/dist/dataStructure/fundamentalType/defaults/bigint.cjs +4 -2
  194. package/dist/dataStructure/fundamentalType/defaults/bigint.d.ts +4 -4
  195. package/dist/dataStructure/fundamentalType/defaults/bigint.mjs +5 -2
  196. package/dist/dataStructure/fundamentalType/defaults/boolean.cjs +4 -2
  197. package/dist/dataStructure/fundamentalType/defaults/boolean.d.ts +4 -4
  198. package/dist/dataStructure/fundamentalType/defaults/boolean.mjs +5 -2
  199. package/dist/dataStructure/fundamentalType/defaults/date.cjs +4 -2
  200. package/dist/dataStructure/fundamentalType/defaults/date.d.ts +4 -4
  201. package/dist/dataStructure/fundamentalType/defaults/date.mjs +5 -2
  202. package/dist/dataStructure/fundamentalType/defaults/null.cjs +4 -2
  203. package/dist/dataStructure/fundamentalType/defaults/null.d.ts +4 -4
  204. package/dist/dataStructure/fundamentalType/defaults/null.mjs +5 -2
  205. package/dist/dataStructure/fundamentalType/defaults/number.cjs +4 -2
  206. package/dist/dataStructure/fundamentalType/defaults/number.d.ts +4 -4
  207. package/dist/dataStructure/fundamentalType/defaults/number.mjs +5 -2
  208. package/dist/dataStructure/fundamentalType/defaults/string.cjs +4 -2
  209. package/dist/dataStructure/fundamentalType/defaults/string.d.ts +4 -4
  210. package/dist/dataStructure/fundamentalType/defaults/string.mjs +5 -2
  211. package/dist/dataStructure/fundamentalType/defaults/time.cjs +4 -2
  212. package/dist/dataStructure/fundamentalType/defaults/time.d.ts +4 -4
  213. package/dist/dataStructure/fundamentalType/defaults/time.mjs +5 -2
  214. package/dist/dataStructure/fundamentalType/defaults/undefined.cjs +4 -2
  215. package/dist/dataStructure/fundamentalType/defaults/undefined.d.ts +4 -4
  216. package/dist/dataStructure/fundamentalType/defaults/undefined.mjs +5 -2
  217. package/dist/dataStructure/fundamentalType/identifier.d.ts +3 -4
  218. package/dist/dataStructure/helpers/absolutePath.cjs +7 -0
  219. package/dist/dataStructure/helpers/absolutePath.d.ts +2 -0
  220. package/dist/dataStructure/helpers/absolutePath.mjs +7 -0
  221. package/dist/dataStructure/helpers/array.d.ts +1 -1
  222. package/dist/dataStructure/helpers/bigint.d.ts +1 -1
  223. package/dist/dataStructure/helpers/boolean.d.ts +1 -1
  224. package/dist/dataStructure/helpers/date.d.ts +1 -1
  225. package/dist/dataStructure/helpers/extend.d.ts +1 -1
  226. package/dist/dataStructure/helpers/index.d.ts +10 -1
  227. package/dist/dataStructure/helpers/isNullable.cjs +12 -0
  228. package/dist/dataStructure/helpers/isNullable.d.ts +2 -0
  229. package/dist/dataStructure/helpers/isNullable.mjs +12 -0
  230. package/dist/dataStructure/helpers/isOptional.cjs +12 -0
  231. package/dist/dataStructure/helpers/isOptional.d.ts +2 -0
  232. package/dist/dataStructure/helpers/isOptional.mjs +12 -0
  233. package/dist/dataStructure/helpers/lazy.d.ts +1 -1
  234. package/dist/dataStructure/helpers/null.d.ts +1 -1
  235. package/dist/dataStructure/helpers/nullable.cjs +5 -2
  236. package/dist/dataStructure/helpers/nullable.mjs +5 -2
  237. package/dist/dataStructure/helpers/number.d.ts +1 -1
  238. package/dist/dataStructure/helpers/numberInString.cjs +7 -0
  239. package/dist/dataStructure/helpers/numberInString.d.ts +2 -0
  240. package/dist/dataStructure/helpers/numberInString.mjs +7 -0
  241. package/dist/dataStructure/helpers/object.d.ts +1 -1
  242. package/dist/dataStructure/helpers/optional.cjs +5 -2
  243. package/dist/dataStructure/helpers/optional.mjs +5 -2
  244. package/dist/dataStructure/helpers/partial.cjs +5 -2
  245. package/dist/dataStructure/helpers/partial.mjs +5 -2
  246. package/dist/dataStructure/helpers/path.cjs +7 -0
  247. package/dist/dataStructure/helpers/path.d.ts +2 -0
  248. package/dist/dataStructure/helpers/path.mjs +7 -0
  249. package/dist/dataStructure/helpers/record.d.ts +1 -1
  250. package/dist/dataStructure/helpers/regex.cjs +7 -0
  251. package/dist/dataStructure/helpers/regex.d.ts +2 -0
  252. package/dist/dataStructure/helpers/regex.mjs +7 -0
  253. package/dist/dataStructure/helpers/required.cjs +6 -3
  254. package/dist/dataStructure/helpers/required.d.ts +2 -1
  255. package/dist/dataStructure/helpers/required.mjs +6 -3
  256. package/dist/dataStructure/helpers/segmentPath.cjs +7 -0
  257. package/dist/dataStructure/helpers/segmentPath.d.ts +2 -0
  258. package/dist/dataStructure/helpers/segmentPath.mjs +7 -0
  259. package/dist/dataStructure/helpers/string.d.ts +1 -1
  260. package/dist/dataStructure/helpers/time.d.ts +1 -1
  261. package/dist/dataStructure/helpers/trimmed.cjs +7 -0
  262. package/dist/dataStructure/helpers/trimmed.d.ts +2 -0
  263. package/dist/dataStructure/helpers/trimmed.mjs +7 -0
  264. package/dist/dataStructure/helpers/undefined.d.ts +1 -1
  265. package/dist/dataStructure/helpers/union.d.ts +1 -1
  266. package/dist/dataStructure/helpers/unwrapLazy.cjs +9 -0
  267. package/dist/dataStructure/helpers/unwrapLazy.d.ts +2 -0
  268. package/dist/dataStructure/helpers/unwrapLazy.mjs +9 -0
  269. package/dist/dataStructure/helpers/url.cjs +2 -2
  270. package/dist/dataStructure/helpers/url.d.ts +1 -2
  271. package/dist/dataStructure/helpers/url.mjs +2 -2
  272. package/dist/dataStructure/index.cjs +158 -60
  273. package/dist/dataStructure/index.mjs +80 -21
  274. package/dist/dataStructure/structure/base.cjs +22 -12
  275. package/dist/dataStructure/structure/base.d.ts +8 -5
  276. package/dist/dataStructure/structure/base.mjs +16 -6
  277. package/dist/dataStructure/structure/defaults/array.d.ts +2 -2
  278. package/dist/dataStructure/structure/defaults/index.d.ts +1 -0
  279. package/dist/dataStructure/structure/defaults/lazy.cjs +10 -3
  280. package/dist/dataStructure/structure/defaults/lazy.d.ts +2 -2
  281. package/dist/dataStructure/structure/defaults/lazy.mjs +10 -3
  282. package/dist/dataStructure/structure/defaults/nonEncodableString.cjs +17 -0
  283. package/dist/dataStructure/structure/defaults/nonEncodableString.d.ts +10 -0
  284. package/dist/dataStructure/structure/defaults/nonEncodableString.mjs +16 -0
  285. package/dist/dataStructure/structure/defaults/object.d.ts +2 -2
  286. package/dist/dataStructure/structure/defaults/record.cjs +7 -7
  287. package/dist/dataStructure/structure/defaults/record.d.ts +3 -3
  288. package/dist/dataStructure/structure/defaults/record.mjs +7 -7
  289. package/dist/dataStructure/structure/defaults/type.cjs +1 -1
  290. package/dist/dataStructure/structure/defaults/type.d.ts +2 -2
  291. package/dist/dataStructure/structure/defaults/type.mjs +2 -2
  292. package/dist/dataStructure/structure/defaults/union.cjs +23 -17
  293. package/dist/dataStructure/structure/defaults/union.d.ts +3 -3
  294. package/dist/dataStructure/structure/defaults/union.mjs +21 -15
  295. package/dist/dataStructure/structure/identifier.d.ts +3 -4
  296. package/dist/dataStructure/structure/types/constraintsValue.d.ts +1 -1
  297. package/dist/dataStructure/structure/types/structures.d.ts +2 -1
  298. package/dist/dataStructure/structure/types/value.d.ts +1 -1
  299. package/dist/dataStructure/type/base.cjs +17 -4
  300. package/dist/dataStructure/type/base.d.ts +7 -3
  301. package/dist/dataStructure/type/base.mjs +17 -4
  302. package/dist/dataStructure/type/defaults/bigint.d.ts +1 -1
  303. package/dist/dataStructure/type/defaults/bigintLiteral.cjs +1 -1
  304. package/dist/dataStructure/type/defaults/bigintLiteral.d.ts +1 -1
  305. package/dist/dataStructure/type/defaults/bigintLiteral.mjs +1 -1
  306. package/dist/dataStructure/type/defaults/boolean.d.ts +1 -1
  307. package/dist/dataStructure/type/defaults/booleanLiteral.cjs +1 -1
  308. package/dist/dataStructure/type/defaults/booleanLiteral.d.ts +1 -1
  309. package/dist/dataStructure/type/defaults/booleanLiteral.mjs +1 -1
  310. package/dist/dataStructure/type/defaults/date.d.ts +1 -1
  311. package/dist/dataStructure/type/defaults/null.d.ts +1 -1
  312. package/dist/dataStructure/type/defaults/number.d.ts +1 -1
  313. package/dist/dataStructure/type/defaults/numberLiteral.cjs +1 -1
  314. package/dist/dataStructure/type/defaults/numberLiteral.d.ts +1 -1
  315. package/dist/dataStructure/type/defaults/numberLiteral.mjs +1 -1
  316. package/dist/dataStructure/type/defaults/string.d.ts +1 -1
  317. package/dist/dataStructure/type/defaults/stringLiteral.cjs +1 -1
  318. package/dist/dataStructure/type/defaults/stringLiteral.d.ts +1 -1
  319. package/dist/dataStructure/type/defaults/stringLiteral.mjs +1 -1
  320. package/dist/dataStructure/type/defaults/time.d.ts +1 -1
  321. package/dist/dataStructure/type/defaults/undefined.d.ts +1 -1
  322. package/dist/dataStructure/type/identifier.d.ts +3 -4
  323. package/dist/either/index.cjs +30 -8
  324. package/dist/either/index.d.ts +4 -0
  325. package/dist/either/index.mjs +23 -9
  326. package/dist/either/left/index.d.ts +3 -2
  327. package/dist/either/left/none.cjs +15 -0
  328. package/dist/either/left/none.d.ts +7 -0
  329. package/dist/either/left/none.mjs +14 -0
  330. package/dist/either/matchInformationOtherwise.d.ts +1 -1
  331. package/dist/either/rewriteInformation.cjs +22 -0
  332. package/dist/either/rewriteInformation.d.ts +14 -0
  333. package/dist/either/rewriteInformation.mjs +22 -0
  334. package/dist/either/right/asyncGroup.cjs +2 -2
  335. package/dist/either/right/asyncGroup.mjs +2 -2
  336. package/dist/either/right/group.cjs +1 -1
  337. package/dist/either/right/group.mjs +1 -1
  338. package/dist/either/right/index.d.ts +6 -5
  339. package/dist/either/right/some.cjs +15 -0
  340. package/dist/either/right/some.d.ts +7 -0
  341. package/dist/either/right/some.mjs +14 -0
  342. package/dist/either/toMaybe.cjs +12 -0
  343. package/dist/either/toMaybe.d.ts +5 -0
  344. package/dist/either/toMaybe.mjs +12 -0
  345. package/dist/either/types/mayBe.d.ts +3 -0
  346. package/dist/either/unwrapOr.cjs +14 -0
  347. package/dist/either/unwrapOr.d.ts +8 -0
  348. package/dist/either/unwrapOr.mjs +14 -0
  349. package/dist/either/unwrapOtherwise.cjs +14 -0
  350. package/dist/either/unwrapOtherwise.d.ts +8 -0
  351. package/dist/either/unwrapOtherwise.mjs +14 -0
  352. package/dist/generator/asyncChunk.d.ts +3 -2
  353. package/dist/generator/chunk.d.ts +3 -2
  354. package/dist/generator/reduce.cjs +2 -1
  355. package/dist/generator/reduce.mjs +1 -1
  356. package/dist/generator/types/flat.d.ts +2 -2
  357. package/dist/index.cjs +43 -39
  358. package/dist/index.mjs +4 -2
  359. package/dist/invocation/flow/base.d.ts +8 -3
  360. package/dist/invocation/flow/controller/base.d.ts +1 -0
  361. package/dist/invocation/flow/controller/defaults/aborter.cjs +38 -0
  362. package/dist/invocation/flow/controller/defaults/aborter.d.ts +17 -0
  363. package/dist/invocation/flow/controller/defaults/aborter.mjs +36 -0
  364. package/dist/invocation/flow/controller/defaults/debounce.d.ts +1 -1
  365. package/dist/invocation/flow/controller/defaults/filter.cjs +5 -3
  366. package/dist/invocation/flow/controller/defaults/filter.d.ts +1 -1
  367. package/dist/invocation/flow/controller/defaults/filter.mjs +5 -3
  368. package/dist/invocation/flow/controller/defaults/index.d.ts +1 -0
  369. package/dist/invocation/flow/controller/defaults/retry.d.ts +1 -1
  370. package/dist/invocation/flow/controller/defaults/throttling.d.ts +1 -1
  371. package/dist/invocation/flow/controller/defaults/timeout.d.ts +1 -1
  372. package/dist/invocation/index.cjs +15 -8
  373. package/dist/invocation/index.d.ts +1 -1
  374. package/dist/invocation/index.mjs +10 -6
  375. package/dist/invocation/reader.cjs +26 -0
  376. package/dist/invocation/reader.d.ts +28 -0
  377. package/dist/invocation/reader.mjs +25 -0
  378. package/dist/kind/createIdentifier.d.ts +8 -4
  379. package/dist/kind/types/getName.d.ts +2 -0
  380. package/dist/kind/types/getNamespaceName.d.ts +3 -0
  381. package/dist/kind/types/index.d.ts +2 -0
  382. package/dist/kind/types/remove.d.ts +2 -2
  383. package/dist/modeling/entity/base.cjs +38 -11
  384. package/dist/modeling/entity/base.d.ts +25 -10
  385. package/dist/modeling/entity/base.mjs +32 -6
  386. package/dist/modeling/entity/helper.d.ts +1 -1
  387. package/dist/modeling/entity/index.d.ts +0 -1
  388. package/dist/modeling/entity/namespace.cjs +2 -2
  389. package/dist/modeling/entity/namespace.d.ts +1 -1
  390. package/dist/modeling/entity/namespace.mjs +3 -3
  391. package/dist/modeling/flag/base.cjs +1 -5
  392. package/dist/modeling/flag/base.d.ts +6 -7
  393. package/dist/modeling/flag/base.mjs +1 -5
  394. package/dist/modeling/index.cjs +45 -28
  395. package/dist/modeling/index.d.ts +1 -0
  396. package/dist/modeling/index.mjs +18 -9
  397. package/dist/modeling/newType/base.cjs +34 -13
  398. package/dist/modeling/newType/base.d.ts +9 -2
  399. package/dist/modeling/newType/base.mjs +26 -7
  400. package/dist/modeling/newType/helper.cjs +2 -2
  401. package/dist/modeling/newType/helper.d.ts +1 -1
  402. package/dist/modeling/newType/helper.mjs +2 -2
  403. package/dist/modeling/taggedObject/base.cjs +113 -0
  404. package/dist/modeling/taggedObject/base.d.ts +61 -0
  405. package/dist/modeling/taggedObject/base.mjs +110 -0
  406. package/dist/modeling/taggedObject/helper.cjs +34 -0
  407. package/dist/modeling/taggedObject/helper.d.ts +15 -0
  408. package/dist/modeling/taggedObject/helper.mjs +31 -0
  409. package/dist/modeling/taggedObject/index.d.ts +2 -0
  410. package/dist/number/betweenThan.d.ts +2 -2
  411. package/dist/number/betweenThanOrEqual.d.ts +2 -2
  412. package/dist/number/greaterThan.d.ts +1 -1
  413. package/dist/number/greaterThanOrEqual.d.ts +1 -1
  414. package/dist/number/index.cjs +0 -3
  415. package/dist/number/index.d.ts +0 -1
  416. package/dist/number/index.mjs +1 -3
  417. package/dist/number/lessThan.d.ts +1 -1
  418. package/dist/number/lessThanOrEqual.d.ts +1 -1
  419. package/dist/number/sort.d.ts +1 -1
  420. package/dist/number/types/isGreater.d.ts +5 -5
  421. package/dist/object/assign.d.ts +3 -3
  422. package/dist/object/types/assign.d.ts +2 -0
  423. package/dist/object/types/forbiddenUndefinedProps.d.ts +3 -0
  424. package/dist/object/types/index.d.ts +4 -2
  425. package/dist/object/types/override.d.ts +4 -0
  426. package/dist/object/types/split.d.ts +2 -2
  427. package/dist/path/computeRelative.cjs +5 -6
  428. package/dist/path/computeRelative.d.ts +1 -1
  429. package/dist/path/computeRelative.mjs +5 -6
  430. package/dist/path/constraints/absolute.d.ts +1 -1
  431. package/dist/path/constraints/index.d.ts +2 -1
  432. package/dist/path/constraints/segment.d.ts +3 -0
  433. package/dist/path/getBaseName.cjs +7 -7
  434. package/dist/path/getBaseName.d.ts +2 -2
  435. package/dist/path/getBaseName.mjs +7 -7
  436. package/dist/path/getExtensionName.cjs +9 -4
  437. package/dist/path/getExtensionName.d.ts +2 -2
  438. package/dist/path/getExtensionName.mjs +9 -4
  439. package/dist/path/getParentFolderPath.cjs +9 -4
  440. package/dist/path/getParentFolderPath.d.ts +1 -2
  441. package/dist/path/getParentFolderPath.mjs +9 -4
  442. package/dist/path/index.cjs +6 -3
  443. package/dist/path/index.d.ts +3 -2
  444. package/dist/path/index.mjs +5 -3
  445. package/dist/path/is.cjs +9 -4
  446. package/dist/path/is.d.ts +4 -2
  447. package/dist/path/is.mjs +9 -4
  448. package/dist/path/isAbsolute.cjs +3 -5
  449. package/dist/path/isAbsolute.d.ts +4 -2
  450. package/dist/path/isAbsolute.mjs +3 -5
  451. package/dist/path/isSegment.cjs +6 -0
  452. package/dist/path/isSegment.d.ts +4 -0
  453. package/dist/path/isSegment.mjs +6 -0
  454. package/dist/path/normalize.cjs +18 -0
  455. package/dist/path/normalize.d.ts +2 -0
  456. package/dist/path/normalize.mjs +18 -0
  457. package/dist/path/resolveFrom.cjs +4 -5
  458. package/dist/path/resolveFrom.d.ts +10 -2
  459. package/dist/path/resolveFrom.mjs +4 -5
  460. package/dist/path/resolveRelative.cjs +17 -20
  461. package/dist/path/resolveRelative.d.ts +9 -2
  462. package/dist/path/resolveRelative.mjs +17 -20
  463. package/dist/path/types/index.d.ts +6 -0
  464. package/dist/path/types/isLiteralAbsolutePath.d.ts +2 -0
  465. package/dist/path/types/isLiteralPath.d.ts +20 -0
  466. package/dist/path/types/isLiteralSegmentPath.d.ts +9 -0
  467. package/dist/path/types/requireLiteralAbsolutePath.d.ts +3 -0
  468. package/dist/path/types/requireLiteralPath.d.ts +3 -0
  469. package/dist/path/types/requireLiteralSegmentPath.d.ts +3 -0
  470. package/dist/pattern/index.cjs +12 -0
  471. package/dist/pattern/index.d.ts +4 -0
  472. package/dist/pattern/index.mjs +9 -1
  473. package/dist/pattern/matchWithEntity.cjs +12 -0
  474. package/dist/pattern/matchWithEntity.d.ts +12 -0
  475. package/dist/pattern/matchWithEntity.mjs +12 -0
  476. package/dist/pattern/matchWithEntityOtherwise.cjs +13 -0
  477. package/dist/pattern/matchWithEntityOtherwise.d.ts +14 -0
  478. package/dist/pattern/matchWithEntityOtherwise.mjs +13 -0
  479. package/dist/pattern/matchWithNumber.d.ts +4 -4
  480. package/dist/pattern/matchWithNumberOtherwise.cjs +2 -6
  481. package/dist/pattern/matchWithNumberOtherwise.d.ts +4 -4
  482. package/dist/pattern/matchWithNumberOtherwise.mjs +2 -6
  483. package/dist/pattern/matchWithString.d.ts +4 -4
  484. package/dist/pattern/matchWithStringOtherwise.cjs +2 -6
  485. package/dist/pattern/matchWithStringOtherwise.d.ts +5 -5
  486. package/dist/pattern/matchWithStringOtherwise.mjs +2 -6
  487. package/dist/pattern/matchWithTaggedObject.cjs +12 -0
  488. package/dist/pattern/matchWithTaggedObject.d.ts +12 -0
  489. package/dist/pattern/matchWithTaggedObject.mjs +12 -0
  490. package/dist/pattern/matchWithTaggedObjectOtherwise.cjs +13 -0
  491. package/dist/pattern/matchWithTaggedObjectOtherwise.d.ts +14 -0
  492. package/dist/pattern/matchWithTaggedObjectOtherwise.mjs +13 -0
  493. package/dist/string/at.d.ts +2 -2
  494. package/dist/string/constraints/allowedCharacters.d.ts +3 -3
  495. package/dist/string/constraints/index.d.ts +2 -1
  496. package/dist/string/constraints/number.d.ts +4 -0
  497. package/dist/string/first.d.ts +1 -1
  498. package/dist/string/index.cjs +6 -3
  499. package/dist/string/index.d.ts +1 -1
  500. package/dist/string/index.mjs +5 -3
  501. package/dist/string/isComposedOf.cjs +0 -1
  502. package/dist/string/isComposedOf.d.ts +5 -8
  503. package/dist/string/isComposedOf.mjs +0 -1
  504. package/dist/string/isNumber.cjs +7 -0
  505. package/dist/string/isNumber.d.ts +5 -0
  506. package/dist/string/isNumber.mjs +7 -0
  507. package/dist/string/isUrl.cjs +2 -11
  508. package/dist/string/isUrl.d.ts +1 -5
  509. package/dist/string/isUrl.mjs +2 -11
  510. package/dist/string/last.d.ts +1 -1
  511. package/dist/string/lengthEqual.d.ts +1 -1
  512. package/dist/string/maxCharacters.d.ts +1 -1
  513. package/dist/string/minCharacters.d.ts +1 -1
  514. package/dist/string/padEnd.d.ts +1 -1
  515. package/dist/string/padStart.d.ts +1 -1
  516. package/dist/string/pop.d.ts +1 -1
  517. package/dist/string/shift.d.ts +1 -1
  518. package/dist/string/slice.d.ts +1 -1
  519. package/dist/string/substring.d.ts +1 -1
  520. package/dist/string/to.d.ts +9 -2
  521. package/dist/string/trim/default.d.ts +1 -1
  522. package/dist/string/trim/end.d.ts +1 -1
  523. package/dist/string/trim/index.d.ts +1 -0
  524. package/dist/string/trim/is.cjs +6 -0
  525. package/dist/string/trim/is.d.ts +2 -0
  526. package/dist/string/trim/is.mjs +6 -0
  527. package/dist/string/trim/start.d.ts +1 -1
  528. package/dist/string/types/IsAllowedString.d.ts +5 -0
  529. package/dist/string/types/index.d.ts +5 -5
  530. package/dist/string/types/numberInString.d.ts +1 -0
  531. package/dist/string/types/split.d.ts +1 -1
  532. package/dist/tuple/from.cjs +6 -0
  533. package/dist/tuple/from.d.ts +8 -0
  534. package/dist/tuple/from.mjs +6 -0
  535. package/dist/tuple/index.cjs +6 -1
  536. package/dist/tuple/index.d.ts +1 -0
  537. package/dist/tuple/index.mjs +6 -2
  538. package/package.json +2 -2
  539. package/dist/array/infer.d.ts +0 -14
  540. package/dist/array/infer.mjs +0 -6
  541. package/dist/dataStructure/common/codec.cjs +0 -28
  542. package/dist/dataStructure/common/codec.mjs +0 -25
  543. package/dist/dataStructure/common/error.cjs +0 -53
  544. package/dist/dataStructure/common/error.d.ts +0 -30
  545. package/dist/dataStructure/common/error.mjs +0 -52
  546. package/dist/invocation/useCase.cjs +0 -26
  547. package/dist/invocation/useCase.d.ts +0 -28
  548. package/dist/invocation/useCase.mjs +0 -25
  549. package/dist/modeling/entity/entityName.cjs +0 -13
  550. package/dist/modeling/entity/entityName.d.ts +0 -13
  551. package/dist/modeling/entity/entityName.mjs +0 -13
  552. package/dist/number/infer.cjs +0 -6
  553. package/dist/number/infer.d.ts +0 -12
  554. package/dist/number/infer.mjs +0 -6
  555. package/dist/object/types/assignObjects.d.ts +0 -2
  556. package/dist/path/fix.cjs +0 -8
  557. package/dist/path/fix.d.ts +0 -1
  558. package/dist/path/fix.mjs +0 -8
  559. package/dist/string/infer.cjs +0 -6
  560. package/dist/string/infer.d.ts +0 -12
  561. package/dist/string/types/number.d.ts +0 -1
@@ -22,9 +22,11 @@ export type * from './fixDeepFunctionInfer';
22
22
  export type * from './forbiddenPromise';
23
23
  export type * from './forbiddenUnion';
24
24
  export type * from './forcePredicate';
25
+ export type * from './forward';
25
26
  export type * from './hasSomething';
26
27
  export type * from './isEqual';
27
28
  export type * from './isNever';
29
+ export type * from './isObject';
28
30
  export type * from './isUnion';
29
31
  export type * from './json';
30
32
  export type * from './lastUnionElement';
@@ -48,6 +50,7 @@ export type * from './simplifyTopLevel';
48
50
  export type * from './simplifyType';
49
51
  export type * from './simplifyTypeForce';
50
52
  export type * from './sortType';
53
+ export type * from './splitPromise';
51
54
  export type * from './toLargeEnsemble';
52
55
  export type * from './unionContain';
53
56
  export type * from './unionToIntersection';
@@ -0,0 +1,8 @@
1
+ import { And } from './and';
2
+ import { IsExtends } from './IsExtends';
3
+ import { IsNever } from './isNever';
4
+ import { Not } from './not';
5
+ export type IsObject<GenericValue extends unknown> = And<[
6
+ IsExtends<GenericValue, object>,
7
+ Not<IsNever<keyof GenericValue>>
8
+ ]>;
@@ -1,4 +1,4 @@
1
1
  import { MaybeArray } from './maybeArray';
2
2
  export type Json = MaybeArray<string | undefined | boolean | number | null | {
3
- [key: string]: Json;
3
+ readonly [key: string]: Json;
4
4
  }>;
@@ -0,0 +1 @@
1
+ export type SplitPromise<GenericValue extends unknown> = GenericValue extends Promise<infer InferredValue> ? InferredValue extends unknown ? Promise<InferredValue> : never : GenericValue;
@@ -0,0 +1,29 @@
1
+ const require_callThen = require("../../../common/callThen.cjs");
2
+ const require_memo = require("../../../common/memo.cjs");
3
+ const require_kind = require("../../kind.cjs");
4
+ const require_resultSymbol = require("../resultSymbol.cjs");
5
+ //#region scripts/dataStructure/common/codec/base.ts
6
+ const codecKind = require_kind.createKind("codec");
7
+ const codecsKind = require_kind.createKind("codecs");
8
+ function createCodec(fundamentalType, predicateEncode, encode, decode) {
9
+ const self = {
10
+ fundamentalType,
11
+ predicateEncode: (data) => predicateEncode(data),
12
+ encode: (data, errorHandler) => require_callThen.callThen(encode(data, self, errorHandler), (encodedData) => encodedData === require_resultSymbol.ErrorSymbol ? errorHandler?.().addEncodeIssue(self, "encoding", data) ?? require_resultSymbol.ErrorSymbol : require_callThen.callThen(predicateEncode(encodedData), (result) => result === false ? errorHandler?.().addEncodeIssue(self, "predicate", encodedData) ?? require_resultSymbol.ErrorSymbol : encodedData)),
13
+ decode: (data, errorHandler) => require_callThen.callThen(predicateEncode(data), (result) => result === false ? errorHandler?.().addDecodeIssue(self, "predicate", data) ?? require_resultSymbol.ErrorSymbol : require_callThen.callThen(decode(data, self, errorHandler), (decodedData) => decodedData === require_resultSymbol.ErrorSymbol ? errorHandler?.().addDecodeIssue(self, "decoding", data) ?? require_resultSymbol.ErrorSymbol : decodedData)),
14
+ [codecKind.runTimeKey]: null
15
+ };
16
+ return self;
17
+ }
18
+ function createCodecs(definition) {
19
+ return {
20
+ context: require_memo.memo(() => new Map(Object.values(definition).map((codec) => [codec.fundamentalType, codec]))),
21
+ definition,
22
+ [codecsKind.runTimeKey]: null
23
+ };
24
+ }
25
+ //#endregion
26
+ exports.codecKind = codecKind;
27
+ exports.codecsKind = codecsKind;
28
+ exports.createCodec = createCodec;
29
+ exports.createCodecs = createCodecs;
@@ -1,13 +1,13 @@
1
- import { FundamentalTypeValue, FundamentalType } from '../fundamentalType';
2
- import { GetErrorHandler } from './error';
3
- import { ErrorSymbol } from './resultSymbol';
4
- import { DObject } from '../../index.ts';
5
- import type * as DKind from '../../kind';
6
- import * as DCommon from '../../common';
1
+ import { FundamentalTypeValue, FundamentalType } from '../../fundamentalType';
2
+ import { GetErrorHandler } from '../error';
3
+ import { ErrorSymbol } from '../resultSymbol';
4
+ import type * as DKind from '../../../kind';
5
+ import * as DCommon from '../../../common';
6
+ import type * as DObject from '../../../object';
7
7
  export declare const codecKind: DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/codec", unknown>>;
8
8
  export interface Codec<GenericFundamentalType extends FundamentalType = FundamentalType, GenericEncodedValue extends unknown = unknown> extends DKind.Kind<typeof codecKind> {
9
9
  readonly fundamentalType: GenericFundamentalType;
10
- predicateEncode(input: unknown, errorHandler?: GetErrorHandler): input is GenericEncodedValue;
10
+ predicateEncode(input: unknown): input is GenericEncodedValue;
11
11
  encode(data: FundamentalTypeValue<GenericFundamentalType>, errorHandler?: GetErrorHandler): DCommon.MaybePromise<GenericEncodedValue | ErrorSymbol>;
12
12
  decode(data: GenericEncodedValue, errorHandler?: GetErrorHandler): DCommon.MaybePromise<FundamentalTypeValue<GenericFundamentalType> | ErrorSymbol>;
13
13
  }
@@ -17,7 +17,7 @@ export interface Codecs<GenericCodecMapper extends Record<string, Codec> = Recor
17
17
  readonly definition: GenericCodecMapper;
18
18
  readonly context: DCommon.Memoized<CodecContext>;
19
19
  }
20
- export declare function createCodec<GenericFundamentalType extends FundamentalType = FundamentalType, GenericEncodedValue extends unknown = unknown>(fundamentalType: GenericFundamentalType, predicateEncode: (input: unknown, errorHandler?: GetErrorHandler) => input is GenericEncodedValue, encode: (data: FundamentalTypeValue<GenericFundamentalType>, errorHandler?: GetErrorHandler) => DCommon.MaybePromise<GenericEncodedValue | ErrorSymbol>, decode: (data: GenericEncodedValue, errorHandler?: GetErrorHandler) => DCommon.MaybePromise<FundamentalTypeValue<GenericFundamentalType> | ErrorSymbol>): Codec<GenericFundamentalType, GenericEncodedValue>;
20
+ export declare function createCodec<GenericFundamentalType extends FundamentalType = FundamentalType, GenericEncodedValue extends unknown = unknown>(fundamentalType: GenericFundamentalType, predicateEncode: (data: unknown) => data is GenericEncodedValue, encode: (data: FundamentalTypeValue<GenericFundamentalType>, self: Codec<GenericFundamentalType, GenericEncodedValue>, errorHandler?: GetErrorHandler) => DCommon.MaybePromise<GenericEncodedValue | ErrorSymbol>, decode: (data: GenericEncodedValue, self: Codec<GenericFundamentalType, GenericEncodedValue>, errorHandler?: GetErrorHandler) => DCommon.MaybePromise<FundamentalTypeValue<GenericFundamentalType> | ErrorSymbol>): Codec<GenericFundamentalType, GenericEncodedValue>;
21
21
  type ForbiddenDuplicateFundamentalType<GenericDefinition extends Record<string, Codec>> = {
22
22
  [Prop in keyof GenericDefinition]: [GenericDefinition[Prop]];
23
23
  }[keyof GenericDefinition] extends infer InferredResult extends [unknown] ? DCommon.IsEqual<DCommon.RemoveDuplicateInUnion<InferredResult>, InferredResult> extends true ? unknown : DCommon.ComputedTypeError<"Several codecs use the same fundamental type."> : never;
@@ -0,0 +1,26 @@
1
+ import { callThen } from "../../../common/callThen.mjs";
2
+ import { memo } from "../../../common/memo.mjs";
3
+ import { createKind } from "../../kind.mjs";
4
+ import { ErrorSymbol } from "../resultSymbol.mjs";
5
+ //#region scripts/dataStructure/common/codec/base.ts
6
+ const codecKind = createKind("codec");
7
+ const codecsKind = createKind("codecs");
8
+ function createCodec(fundamentalType, predicateEncode, encode, decode) {
9
+ const self = {
10
+ fundamentalType,
11
+ predicateEncode: (data) => predicateEncode(data),
12
+ encode: (data, errorHandler) => callThen(encode(data, self, errorHandler), (encodedData) => encodedData === ErrorSymbol ? errorHandler?.().addEncodeIssue(self, "encoding", data) ?? ErrorSymbol : callThen(predicateEncode(encodedData), (result) => result === false ? errorHandler?.().addEncodeIssue(self, "predicate", encodedData) ?? ErrorSymbol : encodedData)),
13
+ decode: (data, errorHandler) => callThen(predicateEncode(data), (result) => result === false ? errorHandler?.().addDecodeIssue(self, "predicate", data) ?? ErrorSymbol : callThen(decode(data, self, errorHandler), (decodedData) => decodedData === ErrorSymbol ? errorHandler?.().addDecodeIssue(self, "decoding", data) ?? ErrorSymbol : decodedData)),
14
+ [codecKind.runTimeKey]: null
15
+ };
16
+ return self;
17
+ }
18
+ function createCodecs(definition) {
19
+ return {
20
+ context: memo(() => new Map(Object.values(definition).map((codec) => [codec.fundamentalType, codec]))),
21
+ definition,
22
+ [codecsKind.runTimeKey]: null
23
+ };
24
+ }
25
+ //#endregion
26
+ export { codecKind, codecsKind, createCodec, createCodecs };
@@ -0,0 +1,2 @@
1
+ export * from './json';
2
+ export * from './string';
@@ -0,0 +1,26 @@
1
+ const require_whenHasInformationOtherwise = require("../../../../either/whenHasInformationOtherwise.cjs");
2
+ const require_createDate = require("../../../../chrono/createDate.cjs");
3
+ const require_createTime = require("../../../../chrono/createTime.cjs");
4
+ const require_forward = require("../../../../common/forward.cjs");
5
+ const require_innerPipe = require("../../../../common/innerPipe.cjs");
6
+ const require_justReturn = require("../../../../common/justReturn.cjs");
7
+ const require_to = require("../../../../string/to.cjs");
8
+ const require_resultSymbol = require("../../resultSymbol.cjs");
9
+ const require_base = require("../base.cjs");
10
+ const require_bigint = require("../../../fundamentalType/defaults/bigint.cjs");
11
+ const require_date = require("../../../fundamentalType/defaults/date.cjs");
12
+ const require_time = require("../../../fundamentalType/defaults/time.cjs");
13
+ //#region scripts/dataStructure/common/codec/defaults/json.ts
14
+ const codecsJson = require_base.createCodecs({
15
+ bigint: require_base.createCodec(require_bigint.TheBigint, (data) => typeof data === "string", require_to.to, (data) => {
16
+ try {
17
+ return BigInt(data);
18
+ } catch {
19
+ return require_resultSymbol.ErrorSymbol;
20
+ }
21
+ }),
22
+ date: require_base.createCodec(require_date.TheDate, (data) => typeof data === "string", require_to.to, require_innerPipe.innerPipe((value) => require_createDate.createDate({ value }), require_whenHasInformationOtherwise.whenHasInformationOtherwise("date-created", require_forward.forward, require_justReturn.justReturn(require_resultSymbol.ErrorSymbol)))),
23
+ time: require_base.createCodec(require_time.TheTime, (data) => typeof data === "string", require_to.to, require_innerPipe.innerPipe((value) => require_createTime.createTime({ value }), require_whenHasInformationOtherwise.whenHasInformationOtherwise("time-created", require_forward.forward, require_justReturn.justReturn(require_resultSymbol.ErrorSymbol))))
24
+ });
25
+ //#endregion
26
+ exports.codecsJson = codecsJson;
@@ -0,0 +1,6 @@
1
+ import * as FundamentalType from "../../../fundamentalType";
2
+ export declare const codecsJson: import('../../..').Codecs<{
3
+ bigint: import('../../..').Codec<FundamentalType.TheBigint, string>;
4
+ date: import('../../..').Codec<FundamentalType.TheDate, string>;
5
+ time: import('../../..').Codec<FundamentalType.TheTime, string>;
6
+ }>;
@@ -0,0 +1,26 @@
1
+ import { whenHasInformationOtherwise } from "../../../../either/whenHasInformationOtherwise.mjs";
2
+ import { createDate } from "../../../../chrono/createDate.mjs";
3
+ import { createTime } from "../../../../chrono/createTime.mjs";
4
+ import { forward } from "../../../../common/forward.mjs";
5
+ import { innerPipe } from "../../../../common/innerPipe.mjs";
6
+ import { justReturn } from "../../../../common/justReturn.mjs";
7
+ import { to } from "../../../../string/to.mjs";
8
+ import { ErrorSymbol } from "../../resultSymbol.mjs";
9
+ import { createCodec, createCodecs } from "../base.mjs";
10
+ import { TheBigint } from "../../../fundamentalType/defaults/bigint.mjs";
11
+ import { TheDate } from "../../../fundamentalType/defaults/date.mjs";
12
+ import { TheTime } from "../../../fundamentalType/defaults/time.mjs";
13
+ //#region scripts/dataStructure/common/codec/defaults/json.ts
14
+ const codecsJson = createCodecs({
15
+ bigint: createCodec(TheBigint, (data) => typeof data === "string", to, (data) => {
16
+ try {
17
+ return BigInt(data);
18
+ } catch {
19
+ return ErrorSymbol;
20
+ }
21
+ }),
22
+ date: createCodec(TheDate, (data) => typeof data === "string", to, innerPipe((value) => createDate({ value }), whenHasInformationOtherwise("date-created", forward, justReturn(ErrorSymbol)))),
23
+ time: createCodec(TheTime, (data) => typeof data === "string", to, innerPipe((value) => createTime({ value }), whenHasInformationOtherwise("time-created", forward, justReturn(ErrorSymbol))))
24
+ });
25
+ //#endregion
26
+ export { codecsJson };
@@ -0,0 +1,44 @@
1
+ const require_whenHasInformationOtherwise = require("../../../../either/whenHasInformationOtherwise.cjs");
2
+ const require_createDate = require("../../../../chrono/createDate.cjs");
3
+ const require_createTime = require("../../../../chrono/createTime.cjs");
4
+ const require_forward = require("../../../../common/forward.cjs");
5
+ const require_innerPipe = require("../../../../common/innerPipe.cjs");
6
+ const require_justReturn = require("../../../../common/justReturn.cjs");
7
+ const require_isNumber = require("../../../../string/isNumber.cjs");
8
+ const require_to = require("../../../../string/to.cjs");
9
+ const require_resultSymbol = require("../../resultSymbol.cjs");
10
+ const require_base = require("../base.cjs");
11
+ const require_bigint = require("../../../fundamentalType/defaults/bigint.cjs");
12
+ const require_boolean = require("../../../fundamentalType/defaults/boolean.cjs");
13
+ const require_date = require("../../../fundamentalType/defaults/date.cjs");
14
+ const require_null = require("../../../fundamentalType/defaults/null.cjs");
15
+ const require_number = require("../../../fundamentalType/defaults/number.cjs");
16
+ const require_time = require("../../../fundamentalType/defaults/time.cjs");
17
+ const require_undefined = require("../../../fundamentalType/defaults/undefined.cjs");
18
+ //#region scripts/dataStructure/common/codec/defaults/string.ts
19
+ const codecsString = require_base.createCodecs({
20
+ bigint: require_base.createCodec(require_bigint.TheBigint, (data) => typeof data === "string", require_to.to, (data) => {
21
+ try {
22
+ return BigInt(data);
23
+ } catch {
24
+ return require_resultSymbol.ErrorSymbol;
25
+ }
26
+ }),
27
+ boolean: require_base.createCodec(require_boolean.TheBoolean, (data) => data === "true" || data === "false", require_to.to, (data) => {
28
+ if (data === "true") return true;
29
+ return false;
30
+ }),
31
+ date: require_base.createCodec(require_date.TheDate, (data) => typeof data === "string", require_to.to, require_innerPipe.innerPipe((value) => require_createDate.createDate({ value }), require_whenHasInformationOtherwise.whenHasInformationOtherwise("date-created", require_forward.forward, require_justReturn.justReturn(require_resultSymbol.ErrorSymbol)))),
32
+ null: require_base.createCodec(require_null.TheNull, (data) => data === "null", require_to.to, require_justReturn.justReturn(null)),
33
+ number: require_base.createCodec(require_number.TheNumber, (data) => typeof data === "string" && require_isNumber.isNumber(data), require_to.to, (data) => {
34
+ try {
35
+ return Number(data);
36
+ } catch {
37
+ return require_resultSymbol.ErrorSymbol;
38
+ }
39
+ }),
40
+ time: require_base.createCodec(require_time.TheTime, (data) => typeof data === "string", require_to.to, require_innerPipe.innerPipe((value) => require_createTime.createTime({ value }), require_whenHasInformationOtherwise.whenHasInformationOtherwise("time-created", require_forward.forward, require_justReturn.justReturn(require_resultSymbol.ErrorSymbol)))),
41
+ undefined: require_base.createCodec(require_undefined.TheUndefined, (data) => data === "undefined", require_to.to, require_justReturn.justReturn(void 0))
42
+ });
43
+ //#endregion
44
+ exports.codecsString = codecsString;
@@ -0,0 +1,11 @@
1
+ import * as DString from '../../../../string';
2
+ import * as FundamentalType from "../../../fundamentalType";
3
+ export declare const codecsString: import('../../..').Codecs<{
4
+ bigint: import('../../..').Codec<FundamentalType.TheBigint, string>;
5
+ boolean: import('../../..').Codec<FundamentalType.TheBoolean, "true" | "false">;
6
+ date: import('../../..').Codec<FundamentalType.TheDate, string>;
7
+ null: import('../../..').Codec<FundamentalType.TheNull, "null">;
8
+ number: import('../../..').Codec<FundamentalType.TheNumber, string & DString.Number>;
9
+ time: import('../../..').Codec<FundamentalType.TheTime, string>;
10
+ undefined: import('../../..').Codec<FundamentalType.TheUndefined, "undefined">;
11
+ }>;
@@ -0,0 +1,44 @@
1
+ import { whenHasInformationOtherwise } from "../../../../either/whenHasInformationOtherwise.mjs";
2
+ import { createDate } from "../../../../chrono/createDate.mjs";
3
+ import { createTime } from "../../../../chrono/createTime.mjs";
4
+ import { forward } from "../../../../common/forward.mjs";
5
+ import { innerPipe } from "../../../../common/innerPipe.mjs";
6
+ import { justReturn } from "../../../../common/justReturn.mjs";
7
+ import { isNumber } from "../../../../string/isNumber.mjs";
8
+ import { to } from "../../../../string/to.mjs";
9
+ import { ErrorSymbol } from "../../resultSymbol.mjs";
10
+ import { createCodec, createCodecs } from "../base.mjs";
11
+ import { TheBigint } from "../../../fundamentalType/defaults/bigint.mjs";
12
+ import { TheBoolean } from "../../../fundamentalType/defaults/boolean.mjs";
13
+ import { TheDate } from "../../../fundamentalType/defaults/date.mjs";
14
+ import { TheNull } from "../../../fundamentalType/defaults/null.mjs";
15
+ import { TheNumber } from "../../../fundamentalType/defaults/number.mjs";
16
+ import { TheTime } from "../../../fundamentalType/defaults/time.mjs";
17
+ import { TheUndefined } from "../../../fundamentalType/defaults/undefined.mjs";
18
+ //#region scripts/dataStructure/common/codec/defaults/string.ts
19
+ const codecsString = createCodecs({
20
+ bigint: createCodec(TheBigint, (data) => typeof data === "string", to, (data) => {
21
+ try {
22
+ return BigInt(data);
23
+ } catch {
24
+ return ErrorSymbol;
25
+ }
26
+ }),
27
+ boolean: createCodec(TheBoolean, (data) => data === "true" || data === "false", to, (data) => {
28
+ if (data === "true") return true;
29
+ return false;
30
+ }),
31
+ date: createCodec(TheDate, (data) => typeof data === "string", to, innerPipe((value) => createDate({ value }), whenHasInformationOtherwise("date-created", forward, justReturn(ErrorSymbol)))),
32
+ null: createCodec(TheNull, (data) => data === "null", to, justReturn(null)),
33
+ number: createCodec(TheNumber, (data) => typeof data === "string" && isNumber(data), to, (data) => {
34
+ try {
35
+ return Number(data);
36
+ } catch {
37
+ return ErrorSymbol;
38
+ }
39
+ }),
40
+ time: createCodec(TheTime, (data) => typeof data === "string", to, innerPipe((value) => createTime({ value }), whenHasInformationOtherwise("time-created", forward, justReturn(ErrorSymbol)))),
41
+ undefined: createCodec(TheUndefined, (data) => data === "undefined", to, justReturn(void 0))
42
+ });
43
+ //#endregion
44
+ export { codecsString };
@@ -0,0 +1,2 @@
1
+ export * from './base';
2
+ export * from './defaults';
@@ -0,0 +1,73 @@
1
+ const require_kind = require("../../kind.cjs");
2
+ //#region scripts/dataStructure/common/error/base.ts
3
+ const issueKind = require_kind.createKind("issue");
4
+ const encodeIssueKind = require_kind.createKind("encode-issue");
5
+ const decodeIssueKind = require_kind.createKind("decode-issue");
6
+ function createErrorHandler(defaultPath) {
7
+ const issues = [];
8
+ const currentPath = defaultPath ? [...defaultPath] : [];
9
+ let currentStagePath = currentPath.length - 1;
10
+ let currentStage = void 0;
11
+ return {
12
+ currentPath,
13
+ issues,
14
+ createPathStage: () => {
15
+ if (currentStage === void 0) currentStage = {
16
+ setCurrentPath: (path) => {
17
+ currentPath[currentStagePath] = path;
18
+ },
19
+ close: () => {
20
+ if (currentStagePath === -1) return;
21
+ if (currentPath.length !== currentStagePath) currentPath.pop();
22
+ currentStagePath--;
23
+ }
24
+ };
25
+ currentStagePath++;
26
+ return currentStage;
27
+ },
28
+ addIssue: (source, data, subSource) => {
29
+ issues.push({
30
+ data,
31
+ path: currentPath.join("."),
32
+ getSource: () => source,
33
+ getSubSource: subSource ? () => subSource : void 0,
34
+ [issueKind.runTimeKey]: null
35
+ });
36
+ },
37
+ addEncodeIssue: (source, from, data, message) => {
38
+ issues.push({
39
+ from,
40
+ data,
41
+ path: currentPath.join("."),
42
+ message,
43
+ getSource: () => source,
44
+ [encodeIssueKind.runTimeKey]: null
45
+ });
46
+ },
47
+ addDecodeIssue: (source, from, data, message) => {
48
+ issues.push({
49
+ from,
50
+ data,
51
+ path: currentPath.join("."),
52
+ message,
53
+ getSource: () => source,
54
+ [decodeIssueKind.runTimeKey]: null
55
+ });
56
+ },
57
+ createError: () => ({ issues }),
58
+ importIssues: (errorHandler) => void errorHandler.forEach((value) => void issues.push(...typeof value === "function" ? value().issues : value.issues))
59
+ };
60
+ }
61
+ function createGetErrorHandler(defaultPath) {
62
+ let errorHandler = void 0;
63
+ return () => {
64
+ if (errorHandler === void 0) errorHandler = createErrorHandler(defaultPath);
65
+ return errorHandler;
66
+ };
67
+ }
68
+ //#endregion
69
+ exports.createErrorHandler = createErrorHandler;
70
+ exports.createGetErrorHandler = createGetErrorHandler;
71
+ exports.decodeIssueKind = decodeIssueKind;
72
+ exports.encodeIssueKind = encodeIssueKind;
73
+ exports.issueKind = issueKind;
@@ -0,0 +1,50 @@
1
+ import { Constraint } from '../../constraint';
2
+ import { Structure } from '../../structure';
3
+ import { Type } from '../../type';
4
+ import { Codec } from '../codec';
5
+ import type * as DCommon from '../../../common';
6
+ import type * as DKind from '../../../kind';
7
+ export declare const issueKind: DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/issue", unknown>>;
8
+ export interface Issue extends DKind.Kind<typeof issueKind> {
9
+ readonly path: string;
10
+ readonly data: unknown;
11
+ getSource(): Structure;
12
+ getSubSource?(): (Type | Constraint);
13
+ }
14
+ export declare const encodeIssueKind: DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/encode-issue", unknown>>;
15
+ export interface EncodeIssue extends DKind.Kind<typeof encodeIssueKind> {
16
+ readonly from: "encoding" | "predicate" | "external";
17
+ readonly path: string;
18
+ readonly data: unknown;
19
+ readonly message?: string;
20
+ getSource(): Codec;
21
+ }
22
+ export declare const decodeIssueKind: DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/decode-issue", unknown>>;
23
+ export interface DecodeIssue extends DKind.Kind<typeof decodeIssueKind> {
24
+ readonly from: "decoding" | "predicate" | "external";
25
+ readonly path: string;
26
+ readonly data: unknown;
27
+ readonly message?: string;
28
+ getSource(): Codec;
29
+ }
30
+ export type Issues = (Issue | EncodeIssue | DecodeIssue);
31
+ export interface PathStageErrorHandler {
32
+ setCurrentPath(path: string): void;
33
+ close(): void;
34
+ }
35
+ export interface Error {
36
+ readonly issues: readonly Issues[];
37
+ }
38
+ export interface ErrorHandler {
39
+ readonly issues: readonly Issues[];
40
+ readonly currentPath: string[];
41
+ addIssue(source: ReturnType<Issue["getSource"]>, data: unknown, subSource?: ReturnType<Extract<Issue["getSubSource"], DCommon.AnyFunction>>): void;
42
+ addEncodeIssue(source: ReturnType<EncodeIssue["getSource"]>, from: EncodeIssue["from"], data: unknown, message?: string): void;
43
+ addDecodeIssue(source: ReturnType<DecodeIssue["getSource"]>, from: DecodeIssue["from"], data: unknown, message?: string): void;
44
+ importIssues(errorHandler: (GetErrorHandler | ErrorHandler)[]): void;
45
+ createPathStage(): PathStageErrorHandler;
46
+ createError(): Error;
47
+ }
48
+ export declare function createErrorHandler(defaultPath?: string[]): ErrorHandler;
49
+ export type GetErrorHandler = () => ErrorHandler;
50
+ export declare function createGetErrorHandler(defaultPath?: string[]): GetErrorHandler;
@@ -0,0 +1,69 @@
1
+ import { createKind } from "../../kind.mjs";
2
+ //#region scripts/dataStructure/common/error/base.ts
3
+ const issueKind = createKind("issue");
4
+ const encodeIssueKind = createKind("encode-issue");
5
+ const decodeIssueKind = createKind("decode-issue");
6
+ function createErrorHandler(defaultPath) {
7
+ const issues = [];
8
+ const currentPath = defaultPath ? [...defaultPath] : [];
9
+ let currentStagePath = currentPath.length - 1;
10
+ let currentStage = void 0;
11
+ return {
12
+ currentPath,
13
+ issues,
14
+ createPathStage: () => {
15
+ if (currentStage === void 0) currentStage = {
16
+ setCurrentPath: (path) => {
17
+ currentPath[currentStagePath] = path;
18
+ },
19
+ close: () => {
20
+ if (currentStagePath === -1) return;
21
+ if (currentPath.length !== currentStagePath) currentPath.pop();
22
+ currentStagePath--;
23
+ }
24
+ };
25
+ currentStagePath++;
26
+ return currentStage;
27
+ },
28
+ addIssue: (source, data, subSource) => {
29
+ issues.push({
30
+ data,
31
+ path: currentPath.join("."),
32
+ getSource: () => source,
33
+ getSubSource: subSource ? () => subSource : void 0,
34
+ [issueKind.runTimeKey]: null
35
+ });
36
+ },
37
+ addEncodeIssue: (source, from, data, message) => {
38
+ issues.push({
39
+ from,
40
+ data,
41
+ path: currentPath.join("."),
42
+ message,
43
+ getSource: () => source,
44
+ [encodeIssueKind.runTimeKey]: null
45
+ });
46
+ },
47
+ addDecodeIssue: (source, from, data, message) => {
48
+ issues.push({
49
+ from,
50
+ data,
51
+ path: currentPath.join("."),
52
+ message,
53
+ getSource: () => source,
54
+ [decodeIssueKind.runTimeKey]: null
55
+ });
56
+ },
57
+ createError: () => ({ issues }),
58
+ importIssues: (errorHandler) => void errorHandler.forEach((value) => void issues.push(...typeof value === "function" ? value().issues : value.issues))
59
+ };
60
+ }
61
+ function createGetErrorHandler(defaultPath) {
62
+ let errorHandler = void 0;
63
+ return () => {
64
+ if (errorHandler === void 0) errorHandler = createErrorHandler(defaultPath);
65
+ return errorHandler;
66
+ };
67
+ }
68
+ //#endregion
69
+ export { createErrorHandler, createGetErrorHandler, decodeIssueKind, encodeIssueKind, issueKind };
@@ -0,0 +1,84 @@
1
+ const require_coalescing = require("../../../array/coalescing.cjs");
2
+ const require_join = require("../../../string/join.cjs");
3
+ const require_stringify = require("../../../string/stringify.cjs");
4
+ const require_to = require("../../../string/to.cjs");
5
+ const require_json = require("../codec/defaults/json.cjs");
6
+ const require_string = require("../codec/defaults/string.cjs");
7
+ const require_base = require("./base.cjs");
8
+ //#region scripts/dataStructure/common/error/defaultInterpreter.ts
9
+ const defaultErrorInterpreterDataStructureDictionary = {
10
+ "array-structure": () => "Expected an array.",
11
+ "lazy-structure": () => "Expected a value matching the resolved structure.",
12
+ "non-encodable-string-structure": (source) => `Expected ${require_stringify.stringify(source.definition.value)}.`,
13
+ "object-structure": () => "Expected a plain object containing only the defined properties.",
14
+ "record-structure": () => "Expected a plain object matching the record definition.",
15
+ "type-structure": () => "Expected a value matching the configured type.",
16
+ "union-structure": () => "Expected a value matching at least one union member.",
17
+ "bigint-type": () => "Expected a bigint.",
18
+ "bigint-literal-type": (source) => `Expected ${require_to.to(source.definition.value)}n.`,
19
+ "boolean-type": () => "Expected a boolean.",
20
+ "boolean-literal-type": (source) => `Expected ${source.definition.value}.`,
21
+ "date-type": () => "Expected a DuploJS date.",
22
+ "null-type": () => "Expected null.",
23
+ "number-type": () => "Expected a finite number.",
24
+ "number-literal-type": (source) => `Expected ${source.definition.value}.`,
25
+ "string-type": () => "Expected a string.",
26
+ "string-literal-type": (source) => `Expected ${require_stringify.stringify(source.definition.value)}.`,
27
+ "time-type": () => "Expected a DuploJS time.",
28
+ "undefined-type": () => "Expected undefined.",
29
+ "absolute-path-constraint": () => "Expected an absolute path.",
30
+ "allowed-characters-constraint": (source) => `Expected a string containing only characters from ${require_join.join(require_coalescing.coalescing(source.definition.charactersRange), ", ")}.`,
31
+ "array-length-equal-constraint": (source) => `Expected an array containing exactly ${source.definition.length} elements.`,
32
+ "between-than-constraint": (source) => `Expected a number greater than ${source.definition.greater} and less than ${source.definition.less}.`,
33
+ "between-than-or-equal-constraint": (source) => `Expected a number greater than or equal to ${source.definition.greater} and less than or equal to ${source.definition.less}.`,
34
+ "email-constraint": () => "Expected a valid email address.",
35
+ "even-constraint": () => "Expected an even number.",
36
+ "greater-than-constraint": (source) => `Expected a number greater than ${source.definition.threshold}.`,
37
+ "greater-than-or-equal-constraint": (source) => `Expected a number greater than or equal to ${source.definition.threshold}.`,
38
+ "integer-constraint": () => "Expected an integer.",
39
+ "less-than-constraint": (source) => `Expected a number less than ${source.definition.threshold}.`,
40
+ "less-than-or-equal-constraint": (source) => `Expected a number less than or equal to ${source.definition.threshold}.`,
41
+ "max-characters-constraint": (source) => `Expected a string containing at most ${source.definition.max} characters.`,
42
+ "max-elements-constraint": (source) => `Expected an array containing at most ${source.definition.max} elements.`,
43
+ "min-characters-constraint": (source) => `Expected a string containing at least ${source.definition.min} characters.`,
44
+ "min-elements-constraint": (source) => `Expected an array containing at least ${source.definition.min} elements.`,
45
+ "multiple-of-constraint": (source) => `Expected a multiple of ${source.definition.multiple}.`,
46
+ "negative-constraint": () => "Expected a number less than or equal to zero.",
47
+ "not-empty-constraint": () => "Expected a non-empty string.",
48
+ "not-zero-constraint": () => "Expected a non-zero number.",
49
+ "number-in-string-constraint": () => "Expected a string representing a number.",
50
+ "odd-constraint": () => "Expected an odd number.",
51
+ "path-constraint": () => "Expected a valid path.",
52
+ "positive-constraint": () => "Expected a number greater than or equal to zero.",
53
+ "refine-constraint": () => "Expected a value satisfying the custom refinement.",
54
+ "regex-constraint": (source) => `Expected a string matching ${source.definition.regex.toString()}.`,
55
+ "safe-constraint": () => "Expected a number strictly between Number.MIN_SAFE_INTEGER and Number.MAX_SAFE_INTEGER.",
56
+ "segment-path-constraint": () => "Expected a valid path segment.",
57
+ "strict-negative-constraint": () => "Expected a number less than zero.",
58
+ "strict-positive-constraint": () => "Expected a number greater than zero.",
59
+ "string-length-equal-constraint": (source) => `Expected a string containing exactly ${source.definition.length} characters.`,
60
+ "trimmed-constraint": () => "Expected a string without leading or trailing whitespace.",
61
+ "url-constraint": () => "Expected a valid URL.",
62
+ "uuid-constraint": () => "Expected a valid UUID."
63
+ };
64
+ const createDefaultCodecErrorMessage = (codecName, encodedValueDescription, decodedValueDescription) => (_codec, issue) => {
65
+ if (issue.from === "predicate") return require_base.encodeIssueKind.has(issue) ? `The ${codecName} codec must produce ${encodedValueDescription}.` : `Expected ${encodedValueDescription} for the ${codecName} codec.`;
66
+ if (issue.from === "encoding") return `The ${codecName} codec could not encode ${decodedValueDescription}.`;
67
+ if (issue.from === "decoding") return `The ${codecName} codec could not decode the value as ${decodedValueDescription}.`;
68
+ return `The ${codecName} codec encountered an external error while ${require_base.encodeIssueKind.has(issue) ? "encoding" : "decoding"}.`;
69
+ };
70
+ const defaultErrorInterpreterCodecDictionary = [
71
+ [require_json.codecsJson.definition.bigint, createDefaultCodecErrorMessage("JSON bigint", "a string", "a bigint")],
72
+ [require_json.codecsJson.definition.date, createDefaultCodecErrorMessage("JSON date", "a string", "a DuploJS date")],
73
+ [require_json.codecsJson.definition.time, createDefaultCodecErrorMessage("JSON time", "a string", "a DuploJS time")],
74
+ [require_string.codecsString.definition.bigint, createDefaultCodecErrorMessage("string bigint", "a string", "a bigint")],
75
+ [require_string.codecsString.definition.boolean, createDefaultCodecErrorMessage("string boolean", "the string \"true\" or \"false\"", "a boolean")],
76
+ [require_string.codecsString.definition.date, createDefaultCodecErrorMessage("string date", "a string", "a DuploJS date")],
77
+ [require_string.codecsString.definition.null, createDefaultCodecErrorMessage("string null", "the string \"null\"", "null")],
78
+ [require_string.codecsString.definition.number, createDefaultCodecErrorMessage("string number", "a string representing a number", "a finite number")],
79
+ [require_string.codecsString.definition.time, createDefaultCodecErrorMessage("string time", "a string", "a DuploJS time")],
80
+ [require_string.codecsString.definition.undefined, createDefaultCodecErrorMessage("string undefined", "the string \"undefined\"", "undefined")]
81
+ ];
82
+ //#endregion
83
+ exports.defaultErrorInterpreterCodecDictionary = defaultErrorInterpreterCodecDictionary;
84
+ exports.defaultErrorInterpreterDataStructureDictionary = defaultErrorInterpreterDataStructureDictionary;