@duplojs/lang 0.0.0 → 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 (567) 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/formData.cjs +4 -2
  54. package/dist/common/formData.mjs +4 -2
  55. package/dist/common/index.cjs +6 -0
  56. package/dist/common/index.mjs +5 -1
  57. package/dist/common/isType.d.ts +3 -2
  58. package/dist/common/queue.cjs +9 -7
  59. package/dist/common/queue.mjs +9 -7
  60. package/dist/common/types/forward.d.ts +1 -0
  61. package/dist/common/types/index.d.ts +3 -0
  62. package/dist/common/types/isObject.d.ts +8 -0
  63. package/dist/common/types/json.d.ts +1 -1
  64. package/dist/common/types/splitPromise.d.ts +1 -0
  65. package/dist/dataStructure/common/codec/base.cjs +29 -0
  66. package/dist/dataStructure/common/{codec.d.ts → codec/base.d.ts} +8 -8
  67. package/dist/dataStructure/common/codec/base.mjs +26 -0
  68. package/dist/dataStructure/common/codec/defaults/index.d.ts +2 -0
  69. package/dist/dataStructure/common/codec/defaults/json.cjs +26 -0
  70. package/dist/dataStructure/common/codec/defaults/json.d.ts +6 -0
  71. package/dist/dataStructure/common/codec/defaults/json.mjs +26 -0
  72. package/dist/dataStructure/common/codec/defaults/string.cjs +44 -0
  73. package/dist/dataStructure/common/codec/defaults/string.d.ts +11 -0
  74. package/dist/dataStructure/common/codec/defaults/string.mjs +44 -0
  75. package/dist/dataStructure/common/codec/index.d.ts +2 -0
  76. package/dist/dataStructure/common/error/base.cjs +73 -0
  77. package/dist/dataStructure/common/error/base.d.ts +50 -0
  78. package/dist/dataStructure/common/error/base.mjs +69 -0
  79. package/dist/dataStructure/common/error/defaultInterpreter.cjs +84 -0
  80. package/dist/dataStructure/common/error/defaultInterpreter.d.ts +57 -0
  81. package/dist/dataStructure/common/error/defaultInterpreter.mjs +83 -0
  82. package/dist/dataStructure/common/error/index.d.ts +3 -0
  83. package/dist/dataStructure/common/error/interpreter.cjs +45 -0
  84. package/dist/dataStructure/common/error/interpreter.d.ts +36 -0
  85. package/dist/dataStructure/common/error/interpreter.mjs +45 -0
  86. package/dist/dataStructure/constraint/base.cjs +34 -5
  87. package/dist/dataStructure/constraint/base.d.ts +13 -4
  88. package/dist/dataStructure/constraint/base.mjs +34 -6
  89. package/dist/dataStructure/constraint/defaults/absolutePath.cjs +13 -0
  90. package/dist/dataStructure/constraint/defaults/absolutePath.d.ts +10 -0
  91. package/dist/dataStructure/constraint/defaults/absolutePath.mjs +12 -0
  92. package/dist/dataStructure/constraint/defaults/allowedCharacters.cjs +1 -1
  93. package/dist/dataStructure/constraint/defaults/allowedCharacters.d.ts +1 -3
  94. package/dist/dataStructure/constraint/defaults/allowedCharacters.mjs +1 -1
  95. package/dist/dataStructure/constraint/defaults/arrayLengthEqual.cjs +1 -1
  96. package/dist/dataStructure/constraint/defaults/arrayLengthEqual.d.ts +1 -1
  97. package/dist/dataStructure/constraint/defaults/arrayLengthEqual.mjs +1 -1
  98. package/dist/dataStructure/constraint/defaults/betweenThan.cjs +1 -1
  99. package/dist/dataStructure/constraint/defaults/betweenThan.d.ts +1 -1
  100. package/dist/dataStructure/constraint/defaults/betweenThan.mjs +1 -1
  101. package/dist/dataStructure/constraint/defaults/betweenThanOrEqual.cjs +1 -1
  102. package/dist/dataStructure/constraint/defaults/betweenThanOrEqual.d.ts +1 -1
  103. package/dist/dataStructure/constraint/defaults/betweenThanOrEqual.mjs +1 -1
  104. package/dist/dataStructure/constraint/defaults/email.cjs +1 -1
  105. package/dist/dataStructure/constraint/defaults/email.d.ts +1 -1
  106. package/dist/dataStructure/constraint/defaults/email.mjs +1 -1
  107. package/dist/dataStructure/constraint/defaults/even.cjs +1 -1
  108. package/dist/dataStructure/constraint/defaults/even.d.ts +1 -1
  109. package/dist/dataStructure/constraint/defaults/even.mjs +1 -1
  110. package/dist/dataStructure/constraint/defaults/greaterThan.cjs +1 -1
  111. package/dist/dataStructure/constraint/defaults/greaterThan.d.ts +1 -1
  112. package/dist/dataStructure/constraint/defaults/greaterThan.mjs +1 -1
  113. package/dist/dataStructure/constraint/defaults/greaterThanOrEqual.cjs +1 -1
  114. package/dist/dataStructure/constraint/defaults/greaterThanOrEqual.d.ts +1 -1
  115. package/dist/dataStructure/constraint/defaults/greaterThanOrEqual.mjs +1 -1
  116. package/dist/dataStructure/constraint/defaults/index.d.ts +6 -0
  117. package/dist/dataStructure/constraint/defaults/integer.cjs +1 -1
  118. package/dist/dataStructure/constraint/defaults/integer.d.ts +1 -1
  119. package/dist/dataStructure/constraint/defaults/integer.mjs +1 -1
  120. package/dist/dataStructure/constraint/defaults/lessThan.cjs +1 -1
  121. package/dist/dataStructure/constraint/defaults/lessThan.d.ts +1 -1
  122. package/dist/dataStructure/constraint/defaults/lessThan.mjs +1 -1
  123. package/dist/dataStructure/constraint/defaults/lessThanOrEqual.cjs +1 -1
  124. package/dist/dataStructure/constraint/defaults/lessThanOrEqual.d.ts +1 -1
  125. package/dist/dataStructure/constraint/defaults/lessThanOrEqual.mjs +1 -1
  126. package/dist/dataStructure/constraint/defaults/maxCharacters.cjs +1 -1
  127. package/dist/dataStructure/constraint/defaults/maxCharacters.d.ts +1 -1
  128. package/dist/dataStructure/constraint/defaults/maxCharacters.mjs +1 -1
  129. package/dist/dataStructure/constraint/defaults/maxElements.cjs +1 -1
  130. package/dist/dataStructure/constraint/defaults/maxElements.d.ts +1 -1
  131. package/dist/dataStructure/constraint/defaults/maxElements.mjs +1 -1
  132. package/dist/dataStructure/constraint/defaults/minCharacters.cjs +4 -4
  133. package/dist/dataStructure/constraint/defaults/minCharacters.d.ts +2 -2
  134. package/dist/dataStructure/constraint/defaults/minCharacters.mjs +4 -4
  135. package/dist/dataStructure/constraint/defaults/minElements.cjs +1 -1
  136. package/dist/dataStructure/constraint/defaults/minElements.d.ts +1 -1
  137. package/dist/dataStructure/constraint/defaults/minElements.mjs +1 -1
  138. package/dist/dataStructure/constraint/defaults/multipleOf.cjs +1 -1
  139. package/dist/dataStructure/constraint/defaults/multipleOf.d.ts +1 -1
  140. package/dist/dataStructure/constraint/defaults/multipleOf.mjs +1 -1
  141. package/dist/dataStructure/constraint/defaults/negative.cjs +1 -1
  142. package/dist/dataStructure/constraint/defaults/negative.d.ts +1 -1
  143. package/dist/dataStructure/constraint/defaults/negative.mjs +1 -1
  144. package/dist/dataStructure/constraint/defaults/notEmpty.cjs +1 -1
  145. package/dist/dataStructure/constraint/defaults/notEmpty.d.ts +1 -1
  146. package/dist/dataStructure/constraint/defaults/notEmpty.mjs +1 -1
  147. package/dist/dataStructure/constraint/defaults/notZero.cjs +1 -1
  148. package/dist/dataStructure/constraint/defaults/notZero.d.ts +1 -1
  149. package/dist/dataStructure/constraint/defaults/notZero.mjs +1 -1
  150. package/dist/dataStructure/constraint/defaults/numberInString.cjs +13 -0
  151. package/dist/dataStructure/constraint/defaults/numberInString.d.ts +10 -0
  152. package/dist/dataStructure/constraint/defaults/numberInString.mjs +12 -0
  153. package/dist/dataStructure/constraint/defaults/odd.cjs +1 -1
  154. package/dist/dataStructure/constraint/defaults/odd.d.ts +1 -1
  155. package/dist/dataStructure/constraint/defaults/odd.mjs +1 -1
  156. package/dist/dataStructure/constraint/defaults/path.cjs +13 -0
  157. package/dist/dataStructure/constraint/defaults/path.d.ts +10 -0
  158. package/dist/dataStructure/constraint/defaults/path.mjs +12 -0
  159. package/dist/dataStructure/constraint/defaults/positive.cjs +1 -1
  160. package/dist/dataStructure/constraint/defaults/positive.d.ts +1 -1
  161. package/dist/dataStructure/constraint/defaults/positive.mjs +1 -1
  162. package/dist/dataStructure/constraint/defaults/refine.cjs +1 -1
  163. package/dist/dataStructure/constraint/defaults/refine.d.ts +1 -1
  164. package/dist/dataStructure/constraint/defaults/refine.mjs +1 -1
  165. package/dist/dataStructure/constraint/defaults/regex.cjs +13 -0
  166. package/dist/dataStructure/constraint/defaults/regex.d.ts +10 -0
  167. package/dist/dataStructure/constraint/defaults/regex.mjs +12 -0
  168. package/dist/dataStructure/constraint/defaults/safe.cjs +1 -1
  169. package/dist/dataStructure/constraint/defaults/safe.d.ts +1 -1
  170. package/dist/dataStructure/constraint/defaults/safe.mjs +1 -1
  171. package/dist/dataStructure/constraint/defaults/segmentPath.cjs +13 -0
  172. package/dist/dataStructure/constraint/defaults/segmentPath.d.ts +10 -0
  173. package/dist/dataStructure/constraint/defaults/segmentPath.mjs +12 -0
  174. package/dist/dataStructure/constraint/defaults/strictNegative.cjs +1 -1
  175. package/dist/dataStructure/constraint/defaults/strictNegative.d.ts +1 -1
  176. package/dist/dataStructure/constraint/defaults/strictNegative.mjs +1 -1
  177. package/dist/dataStructure/constraint/defaults/strictPositive.cjs +1 -1
  178. package/dist/dataStructure/constraint/defaults/strictPositive.d.ts +1 -1
  179. package/dist/dataStructure/constraint/defaults/strictPositive.mjs +1 -1
  180. package/dist/dataStructure/constraint/defaults/stringLengthEqual.cjs +1 -1
  181. package/dist/dataStructure/constraint/defaults/stringLengthEqual.d.ts +1 -1
  182. package/dist/dataStructure/constraint/defaults/stringLengthEqual.mjs +1 -1
  183. package/dist/dataStructure/constraint/defaults/trimmed.cjs +13 -0
  184. package/dist/dataStructure/constraint/defaults/trimmed.d.ts +10 -0
  185. package/dist/dataStructure/constraint/defaults/trimmed.mjs +12 -0
  186. package/dist/dataStructure/constraint/defaults/url.cjs +2 -2
  187. package/dist/dataStructure/constraint/defaults/url.d.ts +2 -3
  188. package/dist/dataStructure/constraint/defaults/url.mjs +2 -2
  189. package/dist/dataStructure/constraint/defaults/uuid.cjs +2 -4
  190. package/dist/dataStructure/constraint/defaults/uuid.d.ts +1 -3
  191. package/dist/dataStructure/constraint/defaults/uuid.mjs +4 -5
  192. package/dist/dataStructure/constraint/identifier.d.ts +3 -4
  193. package/dist/dataStructure/constraint/types/constraints.d.ts +22 -15
  194. package/dist/dataStructure/fundamentalType/base.cjs +3 -3
  195. package/dist/dataStructure/fundamentalType/base.d.ts +4 -5
  196. package/dist/dataStructure/fundamentalType/base.mjs +3 -3
  197. package/dist/dataStructure/fundamentalType/defaults/bigint.cjs +4 -2
  198. package/dist/dataStructure/fundamentalType/defaults/bigint.d.ts +4 -4
  199. package/dist/dataStructure/fundamentalType/defaults/bigint.mjs +5 -2
  200. package/dist/dataStructure/fundamentalType/defaults/boolean.cjs +4 -2
  201. package/dist/dataStructure/fundamentalType/defaults/boolean.d.ts +4 -4
  202. package/dist/dataStructure/fundamentalType/defaults/boolean.mjs +5 -2
  203. package/dist/dataStructure/fundamentalType/defaults/date.cjs +4 -2
  204. package/dist/dataStructure/fundamentalType/defaults/date.d.ts +4 -4
  205. package/dist/dataStructure/fundamentalType/defaults/date.mjs +5 -2
  206. package/dist/dataStructure/fundamentalType/defaults/null.cjs +4 -2
  207. package/dist/dataStructure/fundamentalType/defaults/null.d.ts +4 -4
  208. package/dist/dataStructure/fundamentalType/defaults/null.mjs +5 -2
  209. package/dist/dataStructure/fundamentalType/defaults/number.cjs +4 -2
  210. package/dist/dataStructure/fundamentalType/defaults/number.d.ts +4 -4
  211. package/dist/dataStructure/fundamentalType/defaults/number.mjs +5 -2
  212. package/dist/dataStructure/fundamentalType/defaults/string.cjs +4 -2
  213. package/dist/dataStructure/fundamentalType/defaults/string.d.ts +4 -4
  214. package/dist/dataStructure/fundamentalType/defaults/string.mjs +5 -2
  215. package/dist/dataStructure/fundamentalType/defaults/time.cjs +4 -2
  216. package/dist/dataStructure/fundamentalType/defaults/time.d.ts +4 -4
  217. package/dist/dataStructure/fundamentalType/defaults/time.mjs +5 -2
  218. package/dist/dataStructure/fundamentalType/defaults/undefined.cjs +4 -2
  219. package/dist/dataStructure/fundamentalType/defaults/undefined.d.ts +4 -4
  220. package/dist/dataStructure/fundamentalType/defaults/undefined.mjs +5 -2
  221. package/dist/dataStructure/fundamentalType/identifier.d.ts +3 -4
  222. package/dist/dataStructure/helpers/absolutePath.cjs +7 -0
  223. package/dist/dataStructure/helpers/absolutePath.d.ts +2 -0
  224. package/dist/dataStructure/helpers/absolutePath.mjs +7 -0
  225. package/dist/dataStructure/helpers/array.d.ts +1 -1
  226. package/dist/dataStructure/helpers/bigint.d.ts +1 -1
  227. package/dist/dataStructure/helpers/boolean.d.ts +1 -1
  228. package/dist/dataStructure/helpers/date.d.ts +1 -1
  229. package/dist/dataStructure/helpers/extend.d.ts +1 -1
  230. package/dist/dataStructure/helpers/index.d.ts +10 -1
  231. package/dist/dataStructure/helpers/isNullable.cjs +12 -0
  232. package/dist/dataStructure/helpers/isNullable.d.ts +2 -0
  233. package/dist/dataStructure/helpers/isNullable.mjs +12 -0
  234. package/dist/dataStructure/helpers/isOptional.cjs +12 -0
  235. package/dist/dataStructure/helpers/isOptional.d.ts +2 -0
  236. package/dist/dataStructure/helpers/isOptional.mjs +12 -0
  237. package/dist/dataStructure/helpers/lazy.d.ts +1 -1
  238. package/dist/dataStructure/helpers/null.d.ts +1 -1
  239. package/dist/dataStructure/helpers/nullable.cjs +5 -2
  240. package/dist/dataStructure/helpers/nullable.mjs +5 -2
  241. package/dist/dataStructure/helpers/number.d.ts +1 -1
  242. package/dist/dataStructure/helpers/numberInString.cjs +7 -0
  243. package/dist/dataStructure/helpers/numberInString.d.ts +2 -0
  244. package/dist/dataStructure/helpers/numberInString.mjs +7 -0
  245. package/dist/dataStructure/helpers/object.d.ts +1 -1
  246. package/dist/dataStructure/helpers/optional.cjs +5 -2
  247. package/dist/dataStructure/helpers/optional.mjs +5 -2
  248. package/dist/dataStructure/helpers/partial.cjs +5 -2
  249. package/dist/dataStructure/helpers/partial.mjs +5 -2
  250. package/dist/dataStructure/helpers/path.cjs +7 -0
  251. package/dist/dataStructure/helpers/path.d.ts +2 -0
  252. package/dist/dataStructure/helpers/path.mjs +7 -0
  253. package/dist/dataStructure/helpers/record.d.ts +1 -1
  254. package/dist/dataStructure/helpers/regex.cjs +7 -0
  255. package/dist/dataStructure/helpers/regex.d.ts +2 -0
  256. package/dist/dataStructure/helpers/regex.mjs +7 -0
  257. package/dist/dataStructure/helpers/required.cjs +6 -3
  258. package/dist/dataStructure/helpers/required.d.ts +2 -1
  259. package/dist/dataStructure/helpers/required.mjs +6 -3
  260. package/dist/dataStructure/helpers/segmentPath.cjs +7 -0
  261. package/dist/dataStructure/helpers/segmentPath.d.ts +2 -0
  262. package/dist/dataStructure/helpers/segmentPath.mjs +7 -0
  263. package/dist/dataStructure/helpers/string.d.ts +1 -1
  264. package/dist/dataStructure/helpers/time.d.ts +1 -1
  265. package/dist/dataStructure/helpers/trimmed.cjs +7 -0
  266. package/dist/dataStructure/helpers/trimmed.d.ts +2 -0
  267. package/dist/dataStructure/helpers/trimmed.mjs +7 -0
  268. package/dist/dataStructure/helpers/undefined.d.ts +1 -1
  269. package/dist/dataStructure/helpers/union.d.ts +1 -1
  270. package/dist/dataStructure/helpers/unwrapLazy.cjs +9 -0
  271. package/dist/dataStructure/helpers/unwrapLazy.d.ts +2 -0
  272. package/dist/dataStructure/helpers/unwrapLazy.mjs +9 -0
  273. package/dist/dataStructure/helpers/url.cjs +2 -2
  274. package/dist/dataStructure/helpers/url.d.ts +1 -2
  275. package/dist/dataStructure/helpers/url.mjs +2 -2
  276. package/dist/dataStructure/index.cjs +158 -60
  277. package/dist/dataStructure/index.mjs +80 -21
  278. package/dist/dataStructure/structure/base.cjs +22 -12
  279. package/dist/dataStructure/structure/base.d.ts +8 -5
  280. package/dist/dataStructure/structure/base.mjs +16 -6
  281. package/dist/dataStructure/structure/defaults/array.d.ts +2 -2
  282. package/dist/dataStructure/structure/defaults/array.mjs +8 -5
  283. package/dist/dataStructure/structure/defaults/index.d.ts +1 -0
  284. package/dist/dataStructure/structure/defaults/lazy.cjs +10 -3
  285. package/dist/dataStructure/structure/defaults/lazy.d.ts +2 -2
  286. package/dist/dataStructure/structure/defaults/lazy.mjs +10 -3
  287. package/dist/dataStructure/structure/defaults/nonEncodableString.cjs +17 -0
  288. package/dist/dataStructure/structure/defaults/nonEncodableString.d.ts +10 -0
  289. package/dist/dataStructure/structure/defaults/nonEncodableString.mjs +16 -0
  290. package/dist/dataStructure/structure/defaults/object.d.ts +2 -2
  291. package/dist/dataStructure/structure/defaults/object.mjs +8 -5
  292. package/dist/dataStructure/structure/defaults/record.cjs +7 -7
  293. package/dist/dataStructure/structure/defaults/record.d.ts +3 -3
  294. package/dist/dataStructure/structure/defaults/record.mjs +15 -12
  295. package/dist/dataStructure/structure/defaults/type.cjs +1 -1
  296. package/dist/dataStructure/structure/defaults/type.d.ts +2 -2
  297. package/dist/dataStructure/structure/defaults/type.mjs +2 -2
  298. package/dist/dataStructure/structure/defaults/union.cjs +23 -17
  299. package/dist/dataStructure/structure/defaults/union.d.ts +3 -3
  300. package/dist/dataStructure/structure/defaults/union.mjs +27 -18
  301. package/dist/dataStructure/structure/identifier.d.ts +3 -4
  302. package/dist/dataStructure/structure/types/constraintsValue.d.ts +1 -1
  303. package/dist/dataStructure/structure/types/structures.d.ts +2 -1
  304. package/dist/dataStructure/structure/types/value.d.ts +1 -1
  305. package/dist/dataStructure/type/base.cjs +17 -4
  306. package/dist/dataStructure/type/base.d.ts +7 -3
  307. package/dist/dataStructure/type/base.mjs +17 -4
  308. package/dist/dataStructure/type/defaults/bigint.d.ts +1 -1
  309. package/dist/dataStructure/type/defaults/bigintLiteral.cjs +1 -1
  310. package/dist/dataStructure/type/defaults/bigintLiteral.d.ts +1 -1
  311. package/dist/dataStructure/type/defaults/bigintLiteral.mjs +1 -1
  312. package/dist/dataStructure/type/defaults/boolean.d.ts +1 -1
  313. package/dist/dataStructure/type/defaults/booleanLiteral.cjs +1 -1
  314. package/dist/dataStructure/type/defaults/booleanLiteral.d.ts +1 -1
  315. package/dist/dataStructure/type/defaults/booleanLiteral.mjs +1 -1
  316. package/dist/dataStructure/type/defaults/date.d.ts +1 -1
  317. package/dist/dataStructure/type/defaults/null.d.ts +1 -1
  318. package/dist/dataStructure/type/defaults/number.d.ts +1 -1
  319. package/dist/dataStructure/type/defaults/numberLiteral.cjs +1 -1
  320. package/dist/dataStructure/type/defaults/numberLiteral.d.ts +1 -1
  321. package/dist/dataStructure/type/defaults/numberLiteral.mjs +1 -1
  322. package/dist/dataStructure/type/defaults/string.d.ts +1 -1
  323. package/dist/dataStructure/type/defaults/stringLiteral.cjs +1 -1
  324. package/dist/dataStructure/type/defaults/stringLiteral.d.ts +1 -1
  325. package/dist/dataStructure/type/defaults/stringLiteral.mjs +1 -1
  326. package/dist/dataStructure/type/defaults/time.d.ts +1 -1
  327. package/dist/dataStructure/type/defaults/undefined.d.ts +1 -1
  328. package/dist/dataStructure/type/identifier.d.ts +3 -4
  329. package/dist/either/index.cjs +30 -8
  330. package/dist/either/index.d.ts +4 -0
  331. package/dist/either/index.mjs +23 -9
  332. package/dist/either/left/index.d.ts +3 -2
  333. package/dist/either/left/none.cjs +15 -0
  334. package/dist/either/left/none.d.ts +7 -0
  335. package/dist/either/left/none.mjs +14 -0
  336. package/dist/either/matchInformationOtherwise.d.ts +1 -1
  337. package/dist/either/rewriteInformation.cjs +22 -0
  338. package/dist/either/rewriteInformation.d.ts +14 -0
  339. package/dist/either/rewriteInformation.mjs +22 -0
  340. package/dist/either/right/asyncGroup.cjs +2 -2
  341. package/dist/either/right/asyncGroup.mjs +2 -2
  342. package/dist/either/right/group.cjs +1 -1
  343. package/dist/either/right/group.mjs +1 -1
  344. package/dist/either/right/index.d.ts +6 -5
  345. package/dist/either/right/some.cjs +15 -0
  346. package/dist/either/right/some.d.ts +7 -0
  347. package/dist/either/right/some.mjs +14 -0
  348. package/dist/either/toMaybe.cjs +12 -0
  349. package/dist/either/toMaybe.d.ts +5 -0
  350. package/dist/either/toMaybe.mjs +12 -0
  351. package/dist/either/types/mayBe.d.ts +3 -0
  352. package/dist/either/unwrapOr.cjs +14 -0
  353. package/dist/either/unwrapOr.d.ts +8 -0
  354. package/dist/either/unwrapOr.mjs +14 -0
  355. package/dist/either/unwrapOtherwise.cjs +14 -0
  356. package/dist/either/unwrapOtherwise.d.ts +8 -0
  357. package/dist/either/unwrapOtherwise.mjs +14 -0
  358. package/dist/generator/asyncChunk.d.ts +3 -2
  359. package/dist/generator/chunk.d.ts +3 -2
  360. package/dist/generator/reduce.cjs +2 -1
  361. package/dist/generator/reduce.mjs +1 -1
  362. package/dist/generator/types/flat.d.ts +2 -2
  363. package/dist/index.cjs +43 -39
  364. package/dist/index.mjs +4 -2
  365. package/dist/invocation/flow/base.d.ts +8 -3
  366. package/dist/invocation/flow/controller/base.d.ts +1 -0
  367. package/dist/invocation/flow/controller/defaults/aborter.cjs +38 -0
  368. package/dist/invocation/flow/controller/defaults/aborter.d.ts +17 -0
  369. package/dist/invocation/flow/controller/defaults/aborter.mjs +36 -0
  370. package/dist/invocation/flow/controller/defaults/debounce.d.ts +1 -1
  371. package/dist/invocation/flow/controller/defaults/filter.cjs +5 -3
  372. package/dist/invocation/flow/controller/defaults/filter.d.ts +1 -1
  373. package/dist/invocation/flow/controller/defaults/filter.mjs +5 -3
  374. package/dist/invocation/flow/controller/defaults/index.d.ts +1 -0
  375. package/dist/invocation/flow/controller/defaults/retry.d.ts +1 -1
  376. package/dist/invocation/flow/controller/defaults/throttling.d.ts +1 -1
  377. package/dist/invocation/flow/controller/defaults/timeout.d.ts +1 -1
  378. package/dist/invocation/index.cjs +15 -8
  379. package/dist/invocation/index.d.ts +1 -1
  380. package/dist/invocation/index.mjs +10 -6
  381. package/dist/invocation/reader.cjs +26 -0
  382. package/dist/invocation/reader.d.ts +28 -0
  383. package/dist/invocation/reader.mjs +25 -0
  384. package/dist/kind/createIdentifier.d.ts +8 -4
  385. package/dist/kind/types/getName.d.ts +2 -0
  386. package/dist/kind/types/getNamespaceName.d.ts +3 -0
  387. package/dist/kind/types/index.d.ts +2 -0
  388. package/dist/kind/types/remove.d.ts +2 -2
  389. package/dist/modeling/entity/base.cjs +38 -11
  390. package/dist/modeling/entity/base.d.ts +25 -10
  391. package/dist/modeling/entity/base.mjs +32 -6
  392. package/dist/modeling/entity/helper.d.ts +1 -1
  393. package/dist/modeling/entity/index.d.ts +0 -1
  394. package/dist/modeling/entity/namespace.cjs +2 -2
  395. package/dist/modeling/entity/namespace.d.ts +1 -1
  396. package/dist/modeling/entity/namespace.mjs +3 -3
  397. package/dist/modeling/flag/base.cjs +1 -5
  398. package/dist/modeling/flag/base.d.ts +6 -7
  399. package/dist/modeling/flag/base.mjs +1 -5
  400. package/dist/modeling/index.cjs +45 -28
  401. package/dist/modeling/index.d.ts +1 -0
  402. package/dist/modeling/index.mjs +18 -9
  403. package/dist/modeling/newType/base.cjs +34 -13
  404. package/dist/modeling/newType/base.d.ts +9 -2
  405. package/dist/modeling/newType/base.mjs +26 -7
  406. package/dist/modeling/newType/helper.cjs +2 -2
  407. package/dist/modeling/newType/helper.d.ts +1 -1
  408. package/dist/modeling/newType/helper.mjs +2 -2
  409. package/dist/modeling/taggedObject/base.cjs +113 -0
  410. package/dist/modeling/taggedObject/base.d.ts +61 -0
  411. package/dist/modeling/taggedObject/base.mjs +110 -0
  412. package/dist/modeling/taggedObject/helper.cjs +34 -0
  413. package/dist/modeling/taggedObject/helper.d.ts +15 -0
  414. package/dist/modeling/taggedObject/helper.mjs +31 -0
  415. package/dist/modeling/taggedObject/index.d.ts +2 -0
  416. package/dist/number/betweenThan.d.ts +2 -2
  417. package/dist/number/betweenThanOrEqual.d.ts +2 -2
  418. package/dist/number/greaterThan.d.ts +1 -1
  419. package/dist/number/greaterThanOrEqual.d.ts +1 -1
  420. package/dist/number/index.cjs +0 -3
  421. package/dist/number/index.d.ts +0 -1
  422. package/dist/number/index.mjs +1 -3
  423. package/dist/number/lessThan.d.ts +1 -1
  424. package/dist/number/lessThanOrEqual.d.ts +1 -1
  425. package/dist/number/sort.d.ts +1 -1
  426. package/dist/number/types/isGreater.d.ts +5 -5
  427. package/dist/object/assign.d.ts +3 -3
  428. package/dist/object/types/assign.d.ts +2 -0
  429. package/dist/object/types/forbiddenUndefinedProps.d.ts +3 -0
  430. package/dist/object/types/index.d.ts +4 -2
  431. package/dist/object/types/override.d.ts +4 -0
  432. package/dist/object/types/split.d.ts +2 -2
  433. package/dist/path/computeRelative.cjs +5 -6
  434. package/dist/path/computeRelative.d.ts +1 -1
  435. package/dist/path/computeRelative.mjs +5 -6
  436. package/dist/path/constraints/absolute.d.ts +1 -1
  437. package/dist/path/constraints/index.d.ts +2 -1
  438. package/dist/path/constraints/segment.d.ts +3 -0
  439. package/dist/path/getBaseName.cjs +7 -7
  440. package/dist/path/getBaseName.d.ts +2 -2
  441. package/dist/path/getBaseName.mjs +7 -7
  442. package/dist/path/getExtensionName.cjs +9 -4
  443. package/dist/path/getExtensionName.d.ts +2 -2
  444. package/dist/path/getExtensionName.mjs +9 -4
  445. package/dist/path/getParentFolderPath.cjs +9 -4
  446. package/dist/path/getParentFolderPath.d.ts +1 -2
  447. package/dist/path/getParentFolderPath.mjs +9 -4
  448. package/dist/path/index.cjs +6 -3
  449. package/dist/path/index.d.ts +3 -2
  450. package/dist/path/index.mjs +5 -3
  451. package/dist/path/is.cjs +9 -4
  452. package/dist/path/is.d.ts +4 -2
  453. package/dist/path/is.mjs +9 -4
  454. package/dist/path/isAbsolute.cjs +3 -5
  455. package/dist/path/isAbsolute.d.ts +4 -2
  456. package/dist/path/isAbsolute.mjs +3 -5
  457. package/dist/path/isSegment.cjs +6 -0
  458. package/dist/path/isSegment.d.ts +4 -0
  459. package/dist/path/isSegment.mjs +6 -0
  460. package/dist/path/normalize.cjs +18 -0
  461. package/dist/path/normalize.d.ts +2 -0
  462. package/dist/path/normalize.mjs +18 -0
  463. package/dist/path/resolveFrom.cjs +4 -5
  464. package/dist/path/resolveFrom.d.ts +10 -2
  465. package/dist/path/resolveFrom.mjs +4 -5
  466. package/dist/path/resolveRelative.cjs +17 -20
  467. package/dist/path/resolveRelative.d.ts +9 -2
  468. package/dist/path/resolveRelative.mjs +17 -20
  469. package/dist/path/types/index.d.ts +6 -0
  470. package/dist/path/types/isLiteralAbsolutePath.d.ts +2 -0
  471. package/dist/path/types/isLiteralPath.d.ts +20 -0
  472. package/dist/path/types/isLiteralSegmentPath.d.ts +9 -0
  473. package/dist/path/types/requireLiteralAbsolutePath.d.ts +3 -0
  474. package/dist/path/types/requireLiteralPath.d.ts +3 -0
  475. package/dist/path/types/requireLiteralSegmentPath.d.ts +3 -0
  476. package/dist/pattern/index.cjs +12 -0
  477. package/dist/pattern/index.d.ts +4 -0
  478. package/dist/pattern/index.mjs +9 -1
  479. package/dist/pattern/matchWithEntity.cjs +12 -0
  480. package/dist/pattern/matchWithEntity.d.ts +12 -0
  481. package/dist/pattern/matchWithEntity.mjs +12 -0
  482. package/dist/pattern/matchWithEntityOtherwise.cjs +13 -0
  483. package/dist/pattern/matchWithEntityOtherwise.d.ts +14 -0
  484. package/dist/pattern/matchWithEntityOtherwise.mjs +13 -0
  485. package/dist/pattern/matchWithNumber.d.ts +4 -4
  486. package/dist/pattern/matchWithNumberOtherwise.cjs +2 -6
  487. package/dist/pattern/matchWithNumberOtherwise.d.ts +4 -4
  488. package/dist/pattern/matchWithNumberOtherwise.mjs +2 -6
  489. package/dist/pattern/matchWithString.d.ts +4 -4
  490. package/dist/pattern/matchWithStringOtherwise.cjs +2 -6
  491. package/dist/pattern/matchWithStringOtherwise.d.ts +5 -5
  492. package/dist/pattern/matchWithStringOtherwise.mjs +2 -6
  493. package/dist/pattern/matchWithTaggedObject.cjs +12 -0
  494. package/dist/pattern/matchWithTaggedObject.d.ts +12 -0
  495. package/dist/pattern/matchWithTaggedObject.mjs +12 -0
  496. package/dist/pattern/matchWithTaggedObjectOtherwise.cjs +13 -0
  497. package/dist/pattern/matchWithTaggedObjectOtherwise.d.ts +14 -0
  498. package/dist/pattern/matchWithTaggedObjectOtherwise.mjs +13 -0
  499. package/dist/string/at.d.ts +2 -2
  500. package/dist/string/constraints/allowedCharacters.d.ts +3 -3
  501. package/dist/string/constraints/index.d.ts +2 -1
  502. package/dist/string/constraints/number.d.ts +4 -0
  503. package/dist/string/first.d.ts +1 -1
  504. package/dist/string/index.cjs +6 -3
  505. package/dist/string/index.d.ts +1 -1
  506. package/dist/string/index.mjs +5 -3
  507. package/dist/string/isComposedOf.cjs +0 -1
  508. package/dist/string/isComposedOf.d.ts +5 -8
  509. package/dist/string/isComposedOf.mjs +0 -1
  510. package/dist/string/isNumber.cjs +7 -0
  511. package/dist/string/isNumber.d.ts +5 -0
  512. package/dist/string/isNumber.mjs +7 -0
  513. package/dist/string/isUrl.cjs +2 -11
  514. package/dist/string/isUrl.d.ts +1 -5
  515. package/dist/string/isUrl.mjs +2 -11
  516. package/dist/string/last.d.ts +1 -1
  517. package/dist/string/lengthEqual.d.ts +1 -1
  518. package/dist/string/maxCharacters.d.ts +1 -1
  519. package/dist/string/minCharacters.d.ts +1 -1
  520. package/dist/string/padEnd.d.ts +1 -1
  521. package/dist/string/padStart.d.ts +1 -1
  522. package/dist/string/pop.d.ts +1 -1
  523. package/dist/string/shift.d.ts +1 -1
  524. package/dist/string/slice.d.ts +1 -1
  525. package/dist/string/substring.d.ts +1 -1
  526. package/dist/string/to.d.ts +9 -2
  527. package/dist/string/trim/default.d.ts +1 -1
  528. package/dist/string/trim/end.d.ts +1 -1
  529. package/dist/string/trim/index.d.ts +1 -0
  530. package/dist/string/trim/is.cjs +6 -0
  531. package/dist/string/trim/is.d.ts +2 -0
  532. package/dist/string/trim/is.mjs +6 -0
  533. package/dist/string/trim/start.d.ts +1 -1
  534. package/dist/string/types/IsAllowedString.d.ts +5 -0
  535. package/dist/string/types/index.d.ts +5 -5
  536. package/dist/string/types/numberInString.d.ts +1 -0
  537. package/dist/string/types/split.d.ts +1 -1
  538. package/dist/tuple/from.cjs +6 -0
  539. package/dist/tuple/from.d.ts +8 -0
  540. package/dist/tuple/from.mjs +6 -0
  541. package/dist/tuple/index.cjs +6 -1
  542. package/dist/tuple/index.d.ts +1 -0
  543. package/dist/tuple/index.mjs +6 -2
  544. package/package.json +2 -2
  545. package/dist/array/infer.d.ts +0 -14
  546. package/dist/array/infer.mjs +0 -6
  547. package/dist/dataStructure/common/codec.cjs +0 -28
  548. package/dist/dataStructure/common/codec.mjs +0 -25
  549. package/dist/dataStructure/common/error.cjs +0 -53
  550. package/dist/dataStructure/common/error.d.ts +0 -30
  551. package/dist/dataStructure/common/error.mjs +0 -52
  552. package/dist/invocation/useCase.cjs +0 -26
  553. package/dist/invocation/useCase.d.ts +0 -28
  554. package/dist/invocation/useCase.mjs +0 -25
  555. package/dist/modeling/entity/entityName.cjs +0 -13
  556. package/dist/modeling/entity/entityName.d.ts +0 -13
  557. package/dist/modeling/entity/entityName.mjs +0 -13
  558. package/dist/number/infer.cjs +0 -6
  559. package/dist/number/infer.d.ts +0 -12
  560. package/dist/number/infer.mjs +0 -6
  561. package/dist/object/types/assignObjects.d.ts +0 -2
  562. package/dist/path/fix.cjs +0 -8
  563. package/dist/path/fix.d.ts +0 -1
  564. package/dist/path/fix.mjs +0 -8
  565. package/dist/string/infer.cjs +0 -6
  566. package/dist/string/infer.d.ts +0 -12
  567. package/dist/string/types/number.d.ts +0 -1
@@ -1,5 +1,5 @@
1
1
  import { NewType, NewTypeMap } from '../newType';
2
- import type * as DKind from '../../kind';
2
+ import * as DKind from '../../kind';
3
3
  import * as DCommon from '../../common';
4
4
  import * as DDataStructure from '../../dataStructure';
5
5
  import * as DEither from '../../either';
@@ -7,6 +7,8 @@ declare module '../../dataStructure' {
7
7
  interface StructuresStore {
8
8
  entity: EntityStructure;
9
9
  }
10
+ }
11
+ declare module '../../dataStructure/common' {
10
12
  interface EncodeStructure<GenericValue extends unknown, GenericCodecs extends DDataStructure.Codecs> {
11
13
  entity: GenericValue extends Entity<infer InferredName> ? (Entity<InferredName> & {
12
14
  [Prop in Exclude<keyof GenericValue, DKind.KeySymbol>]: DDataStructure.EncodedValue<GenericValue[Prop], GenericCodecs>;
@@ -17,6 +19,7 @@ export declare const entityKind: DKind.Handler<DKind.Definition<"@DuplojsLangMod
17
19
  export interface Entity<GenericName extends string = string> extends DKind.Kind<typeof entityKind, GenericName> {
18
20
  }
19
21
  export type GetEntityName<GenericEntity extends Entity> = GenericEntity extends Entity<infer InferredName> ? InferredName : never;
22
+ export type ExtractByEntityName<GenericValue extends unknown, GenericEntityName extends string> = GenericValue extends Entity<GenericEntityName> ? GenericValue : never;
20
23
  export declare const entityStructureKind: DKind.Handler<DKind.Definition<"@DuplojsLangModeling/entity-structure", unknown>>;
21
24
  export interface EntityStructureDefinition extends DDataStructure.StructureDefinition<readonly []> {
22
25
  readonly inner: DCommon.Memoized<DDataStructure.ObjectStructure>;
@@ -28,16 +31,28 @@ export type EntityMap<GenericValue extends unknown, GenericRawValue = DCommon.Re
28
31
  DCommon.Not<DCommon.IsExtends<DCommon.AnyFunction, GenericRawValue[keyof GenericRawValue]>>
29
32
  ]>
30
33
  ]> extends true ? {
31
- [Prop in keyof GenericRawValue]: NewTypeMap<GenericRawValue[Prop]>;
32
- } : GenericRawValue extends Entity ? EntityMap<DKind.Remove<GenericRawValue>> : GenericRawValue : GenericRawValue;
33
- export interface EntityStructure<GenericName extends string = string, GenericProperties extends Record<string, unknown> = Record<string, unknown>> extends DCommon.UnionToIntersection<DDataStructure.Structure<Entity<GenericName> & GenericProperties, EntityStructureDefinition> & DKind.Kind<typeof entityStructureKind>> {
34
+ [Prop in keyof GenericRawValue]: EntityMap<GenericRawValue[Prop]>;
35
+ } : GenericRawValue : GenericRawValue;
36
+ export type EntityUpdate<GenericEntity extends Entity, GenericNewProperties extends object> = Extract<(Entity<GetEntityName<GenericEntity>> & DCommon.SimplifyTopLevel<DKind.Remove<GenericEntity> extends infer InferredProperties ? {
37
+ [Prop in keyof InferredProperties]: Prop extends keyof GenericNewProperties ? GenericNewProperties[Prop] extends infer InferredNewValue ? InferredNewValue extends undefined ? InferredProperties[Prop] : InferredNewValue : never : InferredProperties[Prop];
38
+ } : never>), any>;
39
+ export interface EntityStructure<out GenericName extends string = string, out GenericProperties extends Record<string, unknown> = Record<string, unknown>> extends DCommon.Forward<DDataStructure.Structure<Entity<GenericName> & GenericProperties, EntityStructureDefinition> & DKind.Kind<typeof entityStructureKind>> {
34
40
  readonly name: GenericName;
35
41
  "new"<GenericNewProperties extends GenericProperties>(properties: GenericNewProperties): (Entity<GenericName> & GenericNewProperties);
36
- decodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs): (data: DDataStructure.EncodedValue<EntityMap<DDataStructure.StructureValue<this>>, GenericCodecs>) => (DEither.Right<"map-success", DDataStructure.StructureValue<this>> | DEither.Left<"async-error", undefined> | DEither.Left<"map-error", DDataStructure.Error>);
37
- decodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs, data: DDataStructure.EncodedValue<EntityMap<DDataStructure.StructureValue<this>>, GenericCodecs>): (DEither.Right<"map-success", DDataStructure.StructureValue<this>> | DEither.Left<"async-error", undefined> | DEither.Left<"map-error", DDataStructure.Error>);
38
- map(data: EntityMap<DDataStructure.StructureValue<this>>): (DEither.Right<"map-success", DDataStructure.StructureValue<this>> | DEither.Left<"async-error", undefined> | DEither.Left<"map-error", DDataStructure.Error>);
39
- asyncDecodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs): (data: DDataStructure.EncodedValue<EntityMap<DDataStructure.StructureValue<this>>, GenericCodecs>) => Promise<DEither.Right<"map-success", DDataStructure.StructureValue<this>> | DEither.Left<"map-error", DDataStructure.Error>>;
40
- asyncDecodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs, data: DDataStructure.EncodedValue<EntityMap<DDataStructure.StructureValue<this>>, GenericCodecs>): Promise<DEither.Right<"map-success", DDataStructure.StructureValue<this>> | DEither.Left<"map-error", DDataStructure.Error>>;
41
- asyncMap(data: EntityMap<DDataStructure.StructureValue<this>>): Promise<DEither.Right<"map-success", DDataStructure.StructureValue<this>> | DEither.Left<"map-error", DDataStructure.Error>>;
42
+ decodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs): (data: DDataStructure.EncodedValue<EntityMap<DKind.Remove<DDataStructure.StructureValue<this>>>, GenericCodecs>) => (DEither.Right<"map-success", DDataStructure.StructureValue<this>> | DEither.Left<"async-error", undefined> | DEither.Left<"map-error", DDataStructure.Error>);
43
+ decodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs, data: DDataStructure.EncodedValue<EntityMap<DKind.Remove<DDataStructure.StructureValue<this>>>, GenericCodecs>): (DEither.Right<"map-success", DDataStructure.StructureValue<this>> | DEither.Left<"async-error", undefined> | DEither.Left<"map-error", DDataStructure.Error>);
44
+ map(data: EntityMap<DKind.Remove<DDataStructure.StructureValue<this>>>): (DEither.Right<"map-success", DDataStructure.StructureValue<this>> | DEither.Left<"async-error", undefined> | DEither.Left<"map-error", DDataStructure.Error>);
45
+ asyncDecodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs): (data: DDataStructure.EncodedValue<EntityMap<DKind.Remove<DDataStructure.StructureValue<this>>>, GenericCodecs>) => Promise<DEither.Right<"map-success", DDataStructure.StructureValue<this>> | DEither.Left<"map-error", DDataStructure.Error>>;
46
+ asyncDecodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs, data: DDataStructure.EncodedValue<EntityMap<DKind.Remove<DDataStructure.StructureValue<this>>>, GenericCodecs>): Promise<DEither.Right<"map-success", DDataStructure.StructureValue<this>> | DEither.Left<"map-error", DDataStructure.Error>>;
47
+ asyncMap(data: EntityMap<DKind.Remove<DDataStructure.StructureValue<this>>>): Promise<DEither.Right<"map-success", DDataStructure.StructureValue<this>> | DEither.Left<"map-error", DDataStructure.Error>>;
48
+ encodeEntity<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs, data: DDataStructure.StructureValue<this>): Promise<DDataStructure.EncodedValue<EntityMap<DKind.Remove<DDataStructure.StructureValue<this>>>, GenericCodecs>>;
49
+ update<GenericInputEntity extends (Entity<GenericName> & GenericProperties), const GenericPayload extends Partial<GenericProperties>>(update: GenericPayload): (input: GenericInputEntity) => EntityUpdate<GenericInputEntity, GenericPayload>;
50
+ update<GenericInputEntity extends (Entity<GenericName> & GenericProperties), const GenericPayload extends Partial<GenericProperties>>(input: GenericInputEntity, update: GenericPayload): EntityUpdate<GenericInputEntity, GenericPayload>;
51
+ }
52
+ declare const EncodeEntityError_base: DKind.KindClass<DKind.Handler<DKind.Definition<"@DuplojsLangModeling/encode-entity-error", unknown>>, ErrorConstructor>;
53
+ export declare class EncodeEntityError extends EncodeEntityError_base {
54
+ error: DDataStructure.Error;
55
+ constructor(error: DDataStructure.Error);
42
56
  }
43
57
  export declare const EntityStructure: <GenericName extends string, GenericShape extends DDataStructure.ShapeObjectStructure, const GenericProperties extends DDataStructure.ShapeObjectStructureValue<GenericShape>>(name: GenericName, shape: () => GenericShape) => EntityStructure<GenericName, GenericProperties>;
58
+ export {};
@@ -1,21 +1,34 @@
1
+ import { parentClass } from "../../kind/parentClass.mjs";
1
2
  import { isSimple } from "../../object/isSimple.mjs";
3
+ import { override } from "../../object/override.mjs";
2
4
  import { left } from "../../either/left/create.mjs";
5
+ import { isLeft } from "../../either/left/is.mjs";
3
6
  import { right } from "../../either/right/create.mjs";
7
+ import { unwrapLeft } from "../../either/left/unwrap.mjs";
8
+ import { unwrapRight } from "../../either/right/unwrap.mjs";
4
9
  import { justExec } from "../../common/justExec.mjs";
5
10
  import { memo } from "../../common/memo.mjs";
6
11
  import { ErrorSymbol } from "../../dataStructure/common/resultSymbol.mjs";
7
- import { createGetErrorHandler } from "../../dataStructure/common/error.mjs";
12
+ import { createGetErrorHandler } from "../../dataStructure/common/error/base.mjs";
8
13
  import { createStructure } from "../../dataStructure/structure/base.mjs";
14
+ import { NonEncodableStringStructure } from "../../dataStructure/structure/defaults/nonEncodableString.mjs";
9
15
  import { ObjectStructure } from "../../dataStructure/structure/defaults/object.mjs";
10
16
  import { createKind } from "../kind.mjs";
11
- import { EntityNameStructure } from "./entityName.mjs";
17
+ import { objectTagKind } from "../taggedObject/base.mjs";
12
18
  //#region scripts/modeling/entity/base.ts
13
19
  const entityKind = createKind("entity");
14
20
  const entityStructureKind = createKind("entity-structure");
21
+ var EncodeEntityError = class extends parentClass(createKind("encode-entity-error"), Error) {
22
+ error;
23
+ constructor(error) {
24
+ super(void 0, "An error occurred while encoding an Entity. This can only happen if you are bypassing the type system.");
25
+ this.error = error;
26
+ }
27
+ };
15
28
  const EntityStructure = createStructure(entityStructureKind, ({ init }) => (name, shape) => init({
16
29
  inner: memo(() => ObjectStructure({
17
30
  ...shape(),
18
- [entityKind.runTimeKey]: EntityNameStructure(name)
31
+ [entityKind.runTimeKey]: NonEncodableStringStructure(name)
19
32
  }, [])),
20
33
  constraints: []
21
34
  }, {
@@ -71,7 +84,7 @@ const EntityStructure = createStructure(entityStructureKind, ({ init }) => (name
71
84
  return right("map-success", result);
72
85
  });
73
86
  },
74
- asyncMap: (self, data) => justExec(async () => {
87
+ asyncMap: async (self, data) => {
75
88
  const errorHandler = createGetErrorHandler();
76
89
  const formattedData = isSimple(data) ? {
77
90
  ...data,
@@ -79,7 +92,20 @@ const EntityStructure = createStructure(entityStructureKind, ({ init }) => (name
79
92
  } : data;
80
93
  if (await self.executeCheck(formattedData, errorHandler) === ErrorSymbol) return left("map-error", errorHandler().createError());
81
94
  return right("map-success", formattedData);
82
- })
95
+ },
96
+ encodeEntity: async (self, codecs, data) => {
97
+ const result = await self.asyncEncode(codecs, data);
98
+ if (isLeft(result)) throw new EncodeEntityError(unwrapLeft(result));
99
+ return unwrapRight(result);
100
+ },
101
+ update: (self, ...args) => {
102
+ if (args.length === 1) {
103
+ const [update] = args;
104
+ return (input) => self.update(input, update);
105
+ }
106
+ const [input, { [objectTagKind.runTimeKey]: __, ...update }] = args;
107
+ return override(input, update);
108
+ }
83
109
  }));
84
110
  //#endregion
85
- export { EntityStructure, entityKind, entityStructureKind };
111
+ export { EncodeEntityError, EntityStructure, entityKind, entityStructureKind };
@@ -3,7 +3,7 @@ import { NewType } from '../newType';
3
3
  import type * as DCommon from '../../common';
4
4
  import type * as DDataStructure from '../../dataStructure';
5
5
  import type * as DString from '../../string';
6
- export type ForbiddenMissingNewTypeInEntityShape<GenericValue extends unknown, GenericPath extends readonly string[] = readonly []> = GenericValue extends NewType ? never : GenericValue extends object ? DCommon.Or<[
6
+ export type ForbiddenMissingNewTypeInEntityShape<GenericValue extends unknown, GenericPath extends readonly string[] = readonly []> = GenericValue extends NewType | null ? never : GenericValue extends object ? DCommon.Or<[
7
7
  DCommon.IsExtends<GenericValue, readonly any[]>,
8
8
  DCommon.And<[
9
9
  DCommon.IsExtends<keyof GenericValue, string>,
@@ -1,4 +1,3 @@
1
1
  export * from './base';
2
- export * from './entityName';
3
2
  export * from './helper';
4
3
  export * from './namespace';
@@ -7,9 +7,9 @@ const namespaceKind = require_kind.createKind("namespace");
7
7
  function createEntityNamespace(entityName) {
8
8
  return {
9
9
  name: entityName,
10
- createNewType: (name, structure, newTypeConstraints = []) => require_helper$1.createNewEntity(`${entityName}${name}`, structure, newTypeConstraints),
10
+ createNewType: (name, structure, newTypeConstraints = []) => require_helper$1.createNewType(`${entityName}${name}`, structure, newTypeConstraints),
11
11
  createEntity: (shape) => require_helper.createEntity(entityName, shape),
12
- createFlag: (entityStructure, name, valueStructure) => require_base.createFlag(entityStructure, `${entityName}${name}`, valueStructure),
12
+ createFlag: (name) => require_base.createFlag(`${entityName}${name}`),
13
13
  [namespaceKind.runTimeKey]: null
14
14
  };
15
15
  }
@@ -10,6 +10,6 @@ export interface EntityNamespace<GenericEntityName extends Capitalize<string> =
10
10
  readonly name: GenericEntityName;
11
11
  createNewType<GenericName extends Capitalize<string>, GenericStructure extends DDataStructure.Structure, const GenericNewTypeConstraint extends readonly DDataStructure.Constraint<DDataStructure.StructureValue<GenericStructure>>[] = readonly []>(name: (GenericName & DCommon.NeverCoalescing<ForbiddenTopLevelNewType<DDataStructure.StructureValue<GenericStructure>>, unknown>), structure: GenericStructure, newTypeConstraints?: GenericNewTypeConstraint): NewTypeStructure<`${GenericEntityName}${GenericName}`, DDataStructure.StructureValue<GenericStructure>, GenericNewTypeConstraint>;
12
12
  createEntity<GenericShape extends DDataStructure.ShapeObjectStructure>(shape: () => (GenericShape & DCommon.NeverCoalescing<ForbiddenMissingNewTypeInEntityShape<DDataStructure.ShapeObjectStructureValue<GenericShape>>, unknown>)): EntityStructure<GenericEntityName, DDataStructure.ShapeObjectStructureValue<GenericShape>>;
13
- createFlag<GenericEntityStructure extends EntityStructure<GenericEntityName>, GenericName extends Capitalize<string>, GenericValueStructure extends DDataStructure.Structure>(entityStructure: GenericEntityStructure, name: GenericName, valueStructure: GenericValueStructure): FlagHandler<DDataStructure.StructureValue<GenericEntityStructure>, `${GenericEntityName}${GenericName}`, DDataStructure.StructureValue<GenericValueStructure>>;
13
+ createFlag<GenericName extends Capitalize<string>, GenericEntityStructure extends EntityStructure<GenericEntityName>, GenericPayload extends unknown = {}>(name: DCommon.IsEqual<GenericName, Capitalize<string>> extends true ? never : NoInfer<GenericName>): FlagHandler<`${GenericEntityName}${GenericName}`, DDataStructure.StructureValue<GenericEntityStructure>, GenericPayload>;
14
14
  }
15
15
  export declare function createEntityNamespace<GenericName extends Capitalize<string>>(entityName: GenericName): EntityNamespace<GenericName>;
@@ -1,15 +1,15 @@
1
1
  import { createKind } from "../kind.mjs";
2
2
  import { createEntity } from "./helper.mjs";
3
- import { createNewEntity } from "../newType/helper.mjs";
3
+ import { createNewType } from "../newType/helper.mjs";
4
4
  import { createFlag } from "../flag/base.mjs";
5
5
  //#region scripts/modeling/entity/namespace.ts
6
6
  const namespaceKind = createKind("namespace");
7
7
  function createEntityNamespace(entityName) {
8
8
  return {
9
9
  name: entityName,
10
- createNewType: (name, structure, newTypeConstraints = []) => createNewEntity(`${entityName}${name}`, structure, newTypeConstraints),
10
+ createNewType: (name, structure, newTypeConstraints = []) => createNewType(`${entityName}${name}`, structure, newTypeConstraints),
11
11
  createEntity: (shape) => createEntity(entityName, shape),
12
- createFlag: (entityStructure, name, valueStructure) => createFlag(entityStructure, `${entityName}${name}`, valueStructure),
12
+ createFlag: (name) => createFlag(`${entityName}${name}`),
13
13
  [namespaceKind.runTimeKey]: null
14
14
  };
15
15
  }
@@ -1,10 +1,8 @@
1
- const require_type = require("../../dataStructure/structure/defaults/type.cjs");
2
- const require_null = require("../../dataStructure/type/defaults/null.cjs");
3
1
  const require_kind = require("../kind.cjs");
4
2
  //#region scripts/modeling/flag/base.ts
5
3
  const flagKind = require_kind.createKind("flag");
6
4
  const flagHandlerKind = require_kind.createKind("flag-handler");
7
- function createFlag(entityStructure, name, valueStructure = require_type.TypeStructure(require_null.NullType(), [])) {
5
+ function createFlag(name) {
8
6
  function append(...args) {
9
7
  if (args.length === 1) {
10
8
  const [value] = args;
@@ -19,8 +17,6 @@ function createFlag(entityStructure, name, valueStructure = require_type.TypeStr
19
17
  }
20
18
  return {
21
19
  name,
22
- entityStructure,
23
- valueStructure,
24
20
  append,
25
21
  getValue(entity) {
26
22
  return flagKind.getValue(entity)[name];
@@ -1,19 +1,18 @@
1
- import { EntityStructure, Entity, GetEntityName } from '../entity';
1
+ import { EntityStructure, Entity } from '../entity';
2
+ import type * as DCommon from '../../common';
2
3
  import type * as DKind from '../../kind';
3
- import * as DDataStructure from '../../dataStructure';
4
+ import type * as DDataStructure from '../../dataStructure';
4
5
  export declare const flagKind: DKind.Handler<DKind.Definition<"@DuplojsLangModeling/flag", Record<string, unknown>>>;
5
6
  export interface Flag<GenericName extends string = string, GenericValue extends unknown = never> extends DKind.Kind<typeof flagKind, Record<GenericName, GenericValue>> {
6
7
  }
7
8
  declare const flagHandlerKind: DKind.Handler<DKind.Definition<"@DuplojsLangModeling/flag-handler", unknown>>;
8
- export interface FlagHandler<GenericEntity extends Entity = Entity, GenericName extends string = string, GenericValue extends unknown = unknown> extends DKind.Kind<typeof flagHandlerKind> {
9
+ export interface FlagHandler<GenericName extends string = string, GenericEntity extends Entity = Entity, GenericValue extends unknown = unknown> extends DKind.Kind<typeof flagHandlerKind> {
9
10
  readonly name: GenericName;
10
- readonly entityStructure: EntityStructure<GetEntityName<GenericEntity>, Omit<GenericEntity, DKind.KeySymbol>>;
11
- readonly valueStructure: DDataStructure.Structure<GenericValue>;
12
11
  append<GenericInputEntity extends GenericEntity, const GenericInputValue extends GenericValue>(value: GenericInputValue): (entity: GenericInputEntity) => (GenericInputEntity & Flag<GenericName, GenericInputValue>);
13
12
  append<GenericInputEntity extends GenericEntity, const GenericInputValue extends GenericValue>(entity: GenericInputEntity, value: GenericInputValue): (GenericInputEntity & Flag<GenericName, GenericInputValue>);
14
13
  getValue<GenericInputEntity extends GenericEntity & Flag<GenericName, GenericValue>>(entity: GenericInputEntity): DKind.GetValue<typeof flagKind, GenericInputEntity>[GenericName];
15
14
  has<GenericInputEntity extends GenericEntity>(entity: GenericInputEntity): entity is Extract<GenericInputEntity, Flag<GenericName, any>>;
16
15
  }
17
- export declare function createFlag<GenericEntityStructure extends EntityStructure, GenericName extends Capitalize<string>, GenericValueStructure extends DDataStructure.Structure = DDataStructure.Structure<null>>(entityStructure: GenericEntityStructure, name: GenericName, valueStructure?: GenericValueStructure): FlagHandler<DDataStructure.StructureValue<GenericEntityStructure>, GenericName, DDataStructure.StructureValue<GenericValueStructure>>;
18
- export type GetFlag<GenericHandler extends FlagHandler<any, any, any>> = GenericHandler extends FlagHandler<any, infer InferredName, infer InferredValue> ? Flag<InferredName, InferredValue> : never;
16
+ export declare function createFlag<GenericName extends Capitalize<string>, GenericEntityStructure extends EntityStructure, GenericPayload extends unknown = {}>(name: DCommon.IsEqual<GenericName, Capitalize<string>> extends true ? never : NoInfer<GenericName>): FlagHandler<GenericName, DDataStructure.StructureValue<GenericEntityStructure>, GenericPayload>;
17
+ export type GetFlag<GenericHandler extends FlagHandler<any, any, any>> = GenericHandler extends FlagHandler<infer InferredName, any, infer InferredValue> ? Flag<InferredName, InferredValue> : never;
19
18
  export {};
@@ -1,10 +1,8 @@
1
- import { TypeStructure } from "../../dataStructure/structure/defaults/type.mjs";
2
- import { NullType } from "../../dataStructure/type/defaults/null.mjs";
3
1
  import { createKind } from "../kind.mjs";
4
2
  //#region scripts/modeling/flag/base.ts
5
3
  const flagKind = createKind("flag");
6
4
  const flagHandlerKind = createKind("flag-handler");
7
- function createFlag(entityStructure, name, valueStructure = TypeStructure(NullType(), [])) {
5
+ function createFlag(name) {
8
6
  function append(...args) {
9
7
  if (args.length === 1) {
10
8
  const [value] = args;
@@ -19,8 +17,6 @@ function createFlag(entityStructure, name, valueStructure = TypeStructure(NullTy
19
17
  }
20
18
  return {
21
19
  name,
22
- entityStructure,
23
- valueStructure,
24
20
  append,
25
21
  getValue(entity) {
26
22
  return flagKind.getValue(entity)[name];
@@ -1,42 +1,56 @@
1
1
  const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
2
2
  const require_kind = require("./kind.cjs");
3
- const require_entityName = require("./entity/entityName.cjs");
4
- const require_base = require("./entity/base.cjs");
5
- const require_helper = require("./entity/helper.cjs");
6
- const require_base$1 = require("./newType/base.cjs");
7
- const require_helper$1 = require("./newType/helper.cjs");
8
- const require_base$2 = require("./flag/base.cjs");
3
+ const require_base = require("./taggedObject/base.cjs");
4
+ const require_helper = require("./taggedObject/helper.cjs");
5
+ const require_base$1 = require("./entity/base.cjs");
6
+ const require_helper$1 = require("./entity/helper.cjs");
7
+ const require_base$2 = require("./newType/base.cjs");
8
+ const require_helper$2 = require("./newType/helper.cjs");
9
+ const require_base$3 = require("./flag/base.cjs");
9
10
  const require_namespace = require("./entity/namespace.cjs");
10
11
  //#region scripts/modeling/index.ts
11
12
  var modeling_exports = /* @__PURE__ */ require_runtime.__exportAll({
12
- EntityNameStructure: () => require_entityName.EntityNameStructure,
13
- EntityStructure: () => require_base.EntityStructure,
14
- NewTypeStructure: () => require_base$1.NewTypeStructure,
15
- createEntity: () => require_helper.createEntity,
13
+ EncodeEntityError: () => require_base$1.EncodeEntityError,
14
+ EncodeNewTypeError: () => require_base$2.EncodeNewTypeError,
15
+ EncodeTaggedObjectError: () => require_base.EncodeTaggedObjectError,
16
+ EntityStructure: () => require_base$1.EntityStructure,
17
+ NewTypeStructure: () => require_base$2.NewTypeStructure,
18
+ TaggedObjectStructure: () => require_base.TaggedObjectStructure,
19
+ createEntity: () => require_helper$1.createEntity,
16
20
  createEntityNamespace: () => require_namespace.createEntityNamespace,
17
- createFlag: () => require_base$2.createFlag,
21
+ createFlag: () => require_base$3.createFlag,
18
22
  createKind: () => require_kind.createKind,
19
- createNewEntity: () => require_helper$1.createNewEntity,
20
- entityKind: () => require_base.entityKind,
21
- entityNameStructureKind: () => require_entityName.entityNameStructureKind,
22
- entityStructureKind: () => require_base.entityStructureKind,
23
- flagKind: () => require_base$2.flagKind,
23
+ createNewType: () => require_helper$2.createNewType,
24
+ createTaggedObject: () => require_helper.createTaggedObject,
25
+ entityKind: () => require_base$1.entityKind,
26
+ entityStructureKind: () => require_base$1.entityStructureKind,
27
+ flagKind: () => require_base$3.flagKind,
28
+ getTagValue: () => require_helper.getTagValue,
29
+ hasTagValue: () => require_helper.hasTagValue,
24
30
  namespaceKind: () => require_namespace.namespaceKind,
25
- newTypeStructureKind: () => require_base$1.newTypeStructureKind
31
+ newTypeStructureKind: () => require_base$2.newTypeStructureKind,
32
+ objectTagKind: () => require_base.objectTagKind,
33
+ taggedObject: () => require_helper.taggedObject,
34
+ taggedObjectStructureKind: () => require_base.taggedObjectStructureKind
26
35
  });
27
36
  //#endregion
28
- exports.EntityNameStructure = require_entityName.EntityNameStructure;
29
- exports.EntityStructure = require_base.EntityStructure;
30
- exports.NewTypeStructure = require_base$1.NewTypeStructure;
31
- exports.createEntity = require_helper.createEntity;
37
+ exports.EncodeEntityError = require_base$1.EncodeEntityError;
38
+ exports.EncodeNewTypeError = require_base$2.EncodeNewTypeError;
39
+ exports.EncodeTaggedObjectError = require_base.EncodeTaggedObjectError;
40
+ exports.EntityStructure = require_base$1.EntityStructure;
41
+ exports.NewTypeStructure = require_base$2.NewTypeStructure;
42
+ exports.TaggedObjectStructure = require_base.TaggedObjectStructure;
43
+ exports.createEntity = require_helper$1.createEntity;
32
44
  exports.createEntityNamespace = require_namespace.createEntityNamespace;
33
- exports.createFlag = require_base$2.createFlag;
45
+ exports.createFlag = require_base$3.createFlag;
34
46
  exports.createKind = require_kind.createKind;
35
- exports.createNewEntity = require_helper$1.createNewEntity;
36
- exports.entityKind = require_base.entityKind;
37
- exports.entityNameStructureKind = require_entityName.entityNameStructureKind;
38
- exports.entityStructureKind = require_base.entityStructureKind;
39
- exports.flagKind = require_base$2.flagKind;
47
+ exports.createNewType = require_helper$2.createNewType;
48
+ exports.createTaggedObject = require_helper.createTaggedObject;
49
+ exports.entityKind = require_base$1.entityKind;
50
+ exports.entityStructureKind = require_base$1.entityStructureKind;
51
+ exports.flagKind = require_base$3.flagKind;
52
+ exports.getTagValue = require_helper.getTagValue;
53
+ exports.hasTagValue = require_helper.hasTagValue;
40
54
  Object.defineProperty(exports, "modeling_exports", {
41
55
  enumerable: true,
42
56
  get: function() {
@@ -44,4 +58,7 @@ Object.defineProperty(exports, "modeling_exports", {
44
58
  }
45
59
  });
46
60
  exports.namespaceKind = require_namespace.namespaceKind;
47
- exports.newTypeStructureKind = require_base$1.newTypeStructureKind;
61
+ exports.newTypeStructureKind = require_base$2.newTypeStructureKind;
62
+ exports.objectTagKind = require_base.objectTagKind;
63
+ exports.taggedObject = require_helper.taggedObject;
64
+ exports.taggedObjectStructureKind = require_base.taggedObjectStructureKind;
@@ -2,3 +2,4 @@ export * from './entity';
2
2
  export * from './flag';
3
3
  export * from './kind';
4
4
  export * from './newType';
5
+ export * from './taggedObject';
@@ -1,28 +1,37 @@
1
1
  import { __exportAll } from "../_virtual/_rolldown/runtime.mjs";
2
2
  import { createKind } from "./kind.mjs";
3
- import { EntityNameStructure, entityNameStructureKind } from "./entity/entityName.mjs";
4
- import { EntityStructure, entityKind, entityStructureKind } from "./entity/base.mjs";
3
+ import { EncodeTaggedObjectError, TaggedObjectStructure, objectTagKind, taggedObjectStructureKind } from "./taggedObject/base.mjs";
4
+ import { createTaggedObject, getTagValue, hasTagValue, taggedObject } from "./taggedObject/helper.mjs";
5
+ import { EncodeEntityError, EntityStructure, entityKind, entityStructureKind } from "./entity/base.mjs";
5
6
  import { createEntity } from "./entity/helper.mjs";
6
- import { NewTypeStructure, newTypeStructureKind } from "./newType/base.mjs";
7
- import { createNewEntity } from "./newType/helper.mjs";
7
+ import { EncodeNewTypeError, NewTypeStructure, newTypeStructureKind } from "./newType/base.mjs";
8
+ import { createNewType } from "./newType/helper.mjs";
8
9
  import { createFlag, flagKind } from "./flag/base.mjs";
9
10
  import { createEntityNamespace, namespaceKind } from "./entity/namespace.mjs";
10
11
  //#region scripts/modeling/index.ts
11
12
  var modeling_exports = /* @__PURE__ */ __exportAll({
12
- EntityNameStructure: () => EntityNameStructure,
13
+ EncodeEntityError: () => EncodeEntityError,
14
+ EncodeNewTypeError: () => EncodeNewTypeError,
15
+ EncodeTaggedObjectError: () => EncodeTaggedObjectError,
13
16
  EntityStructure: () => EntityStructure,
14
17
  NewTypeStructure: () => NewTypeStructure,
18
+ TaggedObjectStructure: () => TaggedObjectStructure,
15
19
  createEntity: () => createEntity,
16
20
  createEntityNamespace: () => createEntityNamespace,
17
21
  createFlag: () => createFlag,
18
22
  createKind: () => createKind,
19
- createNewEntity: () => createNewEntity,
23
+ createNewType: () => createNewType,
24
+ createTaggedObject: () => createTaggedObject,
20
25
  entityKind: () => entityKind,
21
- entityNameStructureKind: () => entityNameStructureKind,
22
26
  entityStructureKind: () => entityStructureKind,
23
27
  flagKind: () => flagKind,
28
+ getTagValue: () => getTagValue,
29
+ hasTagValue: () => hasTagValue,
24
30
  namespaceKind: () => namespaceKind,
25
- newTypeStructureKind: () => newTypeStructureKind
31
+ newTypeStructureKind: () => newTypeStructureKind,
32
+ objectTagKind: () => objectTagKind,
33
+ taggedObject: () => taggedObject,
34
+ taggedObjectStructureKind: () => taggedObjectStructureKind
26
35
  });
27
36
  //#endregion
28
- export { EntityNameStructure, EntityStructure, NewTypeStructure, createEntity, createEntityNamespace, createFlag, createKind, createNewEntity, entityKind, entityNameStructureKind, entityStructureKind, flagKind, modeling_exports, namespaceKind, newTypeStructureKind };
37
+ export { EncodeEntityError, EncodeNewTypeError, EncodeTaggedObjectError, EntityStructure, NewTypeStructure, TaggedObjectStructure, createEntity, createEntityNamespace, createFlag, createKind, createNewType, createTaggedObject, entityKind, entityStructureKind, flagKind, getTagValue, hasTagValue, modeling_exports, namespaceKind, newTypeStructureKind, objectTagKind, taggedObject, taggedObjectStructureKind };
@@ -1,20 +1,35 @@
1
+ const require_parentClass = require("../../kind/parentClass.cjs");
1
2
  const require_callThen = require("../../common/callThen.cjs");
2
3
  const require_create = require("../../either/left/create.cjs");
4
+ const require_is = require("../../either/left/is.cjs");
3
5
  const require_create$1 = require("../../either/right/create.cjs");
6
+ const require_unwrap = require("../../either/left/unwrap.cjs");
7
+ const require_unwrap$1 = require("../../either/right/unwrap.cjs");
4
8
  const require_justExec = require("../../common/justExec.cjs");
5
9
  const require_resultSymbol = require("../../dataStructure/common/resultSymbol.cjs");
6
- const require_error = require("../../dataStructure/common/error.cjs");
7
- const require_base = require("../../dataStructure/structure/base.cjs");
10
+ const require_base = require("../../dataStructure/common/error/base.cjs");
11
+ const require_base$1 = require("../../dataStructure/structure/base.cjs");
12
+ const require_kind = require("../kind.cjs");
8
13
  //#region scripts/modeling/newType/base.ts
9
- const newTypeStructureKind = require("../kind.cjs").createKind("new-type-structure");
10
- const NewTypeStructure = require_base.createStructure(newTypeStructureKind, ({ init }) => (name, structure, newTypeConstraints) => init({
14
+ const newTypeStructureKind = require_kind.createKind("new-type-structure");
15
+ var EncodeNewTypeError = class extends require_parentClass.parentClass(require_kind.createKind("encode-new-type-error"), Error) {
16
+ error;
17
+ constructor(error) {
18
+ super(void 0, "An error occurred while encoding a NewType. This can only happen if you are bypassing the type system.");
19
+ this.error = error;
20
+ }
21
+ };
22
+ function executeNewTypeConstraints(structure, data, errorHandler) {
23
+ return structure.definition.newTypeConstraints.reduce((accumulator, constraint) => require_callThen.callThen(accumulator, (result) => result === require_resultSymbol.ErrorSymbol ? require_resultSymbol.ErrorSymbol : require_callThen.callThen(constraint.executeCheck(data), (constraintResult) => constraintResult === require_resultSymbol.ErrorSymbol ? errorHandler?.().addIssue(structure, data, constraint) ?? require_resultSymbol.ErrorSymbol : require_resultSymbol.SuccessSymbol)), require_resultSymbol.SuccessSymbol);
24
+ }
25
+ const NewTypeStructure = require_base$1.createStructure(newTypeStructureKind, ({ init }) => (name, structure, newTypeConstraints) => init({
11
26
  constraints: [],
12
27
  newTypeConstraints,
13
28
  inner: structure
14
29
  }, {
15
- executeCheck: (self, data, errorHandler) => require_callThen.callThen(self.definition.inner.executeCheck(data, errorHandler), (result) => result === require_resultSymbol.ErrorSymbol ? require_resultSymbol.ErrorSymbol : self.definition.newTypeConstraints.reduce((accumulator, constraint) => require_callThen.callThen(accumulator, (result) => result === require_resultSymbol.ErrorSymbol ? require_resultSymbol.ErrorSymbol : constraint.executeCheck(data, errorHandler)), require_resultSymbol.SuccessSymbol)),
16
- executeEncode: (self, codec, data, errorHandler) => require_callThen.callThen(self.definition.inner.executeEncode(codec, data, errorHandler), (awaitedInnerResult) => awaitedInnerResult === require_resultSymbol.ErrorSymbol ? require_resultSymbol.ErrorSymbol : require_callThen.callThen(self.definition.newTypeConstraints.reduce((accumulator, constraint) => require_callThen.callThen(accumulator, (result) => result === require_resultSymbol.ErrorSymbol ? require_resultSymbol.ErrorSymbol : constraint.executeCheck(data, errorHandler)), require_resultSymbol.SuccessSymbol), (result) => result === require_resultSymbol.ErrorSymbol ? require_resultSymbol.ErrorSymbol : require_callThen.callThen(self.executeConstraints(data, errorHandler), (result) => result === require_resultSymbol.ErrorSymbol ? require_resultSymbol.ErrorSymbol : awaitedInnerResult))),
17
- executeDecode: (self, codec, data, errorHandler) => require_callThen.callThen(self.definition.inner.executeDecode(codec, data, errorHandler), (awaitedInnerResult) => awaitedInnerResult === require_resultSymbol.ErrorSymbol ? require_resultSymbol.ErrorSymbol : require_callThen.callThen(self.definition.newTypeConstraints.reduce((accumulator, constraint) => require_callThen.callThen(accumulator, (result) => result === require_resultSymbol.ErrorSymbol ? require_resultSymbol.ErrorSymbol : constraint.executeCheck(awaitedInnerResult, errorHandler)), require_resultSymbol.SuccessSymbol), (result) => result === require_resultSymbol.ErrorSymbol ? require_resultSymbol.ErrorSymbol : require_callThen.callThen(self.executeConstraints(awaitedInnerResult, errorHandler), (result) => result === require_resultSymbol.ErrorSymbol ? require_resultSymbol.ErrorSymbol : awaitedInnerResult))),
30
+ executeCheck: (self, data, errorHandler) => require_callThen.callThen(self.definition.inner.executeCheck(data, errorHandler), (result) => result === require_resultSymbol.ErrorSymbol ? require_resultSymbol.ErrorSymbol : executeNewTypeConstraints(self, data, errorHandler)),
31
+ executeEncode: (self, codec, data, errorHandler) => require_callThen.callThen(self.definition.inner.executeEncode(codec, data, errorHandler), (awaitedInnerResult) => awaitedInnerResult === require_resultSymbol.ErrorSymbol ? require_resultSymbol.ErrorSymbol : require_callThen.callThen(executeNewTypeConstraints(self, data, errorHandler), (result) => result === require_resultSymbol.ErrorSymbol ? require_resultSymbol.ErrorSymbol : require_callThen.callThen(self.executeConstraints(data, errorHandler), (result) => result === require_resultSymbol.ErrorSymbol ? require_resultSymbol.ErrorSymbol : awaitedInnerResult))),
32
+ executeDecode: (self, codec, data, errorHandler) => require_callThen.callThen(self.definition.inner.executeDecode(codec, data, errorHandler), (awaitedInnerResult) => awaitedInnerResult === require_resultSymbol.ErrorSymbol ? require_resultSymbol.ErrorSymbol : require_callThen.callThen(executeNewTypeConstraints(self, awaitedInnerResult, errorHandler), (result) => result === require_resultSymbol.ErrorSymbol ? require_resultSymbol.ErrorSymbol : require_callThen.callThen(self.executeConstraints(awaitedInnerResult, errorHandler), (result) => result === require_resultSymbol.ErrorSymbol ? require_resultSymbol.ErrorSymbol : awaitedInnerResult))),
18
33
  isAsynchronous: (self) => self.definition.inner.isAsynchronous() || self.definition.newTypeConstraints.some((value) => value.isAsynchronous())
19
34
  }, {
20
35
  name,
@@ -23,7 +38,7 @@ const NewTypeStructure = require_base.createStructure(newTypeStructureKind, ({ i
23
38
  const [codecs] = args;
24
39
  return (value) => self.decodeMap(codecs, value);
25
40
  }
26
- const errorHandler = require_error.createGetErrorHandler();
41
+ const errorHandler = require_base.createGetErrorHandler();
27
42
  const [codecs, data] = args;
28
43
  const result = self.executeDecode(codecs.context.value, data, errorHandler);
29
44
  if (result instanceof Promise) return require_create.left("async-error", void 0);
@@ -31,7 +46,7 @@ const NewTypeStructure = require_base.createStructure(newTypeStructureKind, ({ i
31
46
  return require_create$1.right("map-success", result);
32
47
  },
33
48
  map: (self, data) => {
34
- const errorHandler = require_error.createGetErrorHandler();
49
+ const errorHandler = require_base.createGetErrorHandler();
35
50
  const result = self.executeCheck(data, errorHandler);
36
51
  if (result instanceof Promise) return require_create.left("async-error", void 0);
37
52
  if (result === require_resultSymbol.ErrorSymbol) return require_create.left("map-error", errorHandler().createError());
@@ -43,19 +58,25 @@ const NewTypeStructure = require_base.createStructure(newTypeStructureKind, ({ i
43
58
  return (value) => self.asyncDecodeMap(codecs, value);
44
59
  }
45
60
  return require_justExec.justExec(async () => {
46
- const errorHandler = require_error.createGetErrorHandler();
61
+ const errorHandler = require_base.createGetErrorHandler();
47
62
  const [codecs, data] = args;
48
63
  const result = await self.executeDecode(codecs.context.value, data, errorHandler);
49
64
  if (result === require_resultSymbol.ErrorSymbol) return require_create.left("map-error", errorHandler().createError());
50
65
  return require_create$1.right("map-success", result);
51
66
  });
52
67
  },
53
- asyncMap: (self, data) => require_justExec.justExec(async () => {
54
- const errorHandler = require_error.createGetErrorHandler();
68
+ asyncMap: async (self, data) => {
69
+ const errorHandler = require_base.createGetErrorHandler();
55
70
  if (await self.executeCheck(data, errorHandler) === require_resultSymbol.ErrorSymbol) return require_create.left("map-error", errorHandler().createError());
56
71
  return require_create$1.right("map-success", data);
57
- })
72
+ },
73
+ encodeNewType: async (self, codec, data) => {
74
+ const result = await self.asyncEncode(codec, data);
75
+ if (require_is.isLeft(result)) throw new EncodeNewTypeError(require_unwrap.unwrapLeft(result));
76
+ return require_unwrap$1.unwrapRight(result);
77
+ }
58
78
  }));
59
79
  //#endregion
80
+ exports.EncodeNewTypeError = EncodeNewTypeError;
60
81
  exports.NewTypeStructure = NewTypeStructure;
61
82
  exports.newTypeStructureKind = newTypeStructureKind;
@@ -1,4 +1,4 @@
1
- import type * as DKind from '../../kind';
1
+ import * as DKind from '../../kind';
2
2
  import * as DCommon from '../../common';
3
3
  import type * as DArray from '../../array';
4
4
  import * as DEither from '../../either';
@@ -25,7 +25,7 @@ export interface NewTypeStructureDefinition<GenericNewTypeConstraint extends rea
25
25
  readonly newTypeConstraints: GenericNewTypeConstraint;
26
26
  }
27
27
  export type ComputeNewType<GenericName extends string, GenericValue extends unknown, GenericNewTypeConstraint extends readonly DDataStructure.Constraint<GenericValue>[], GenericIntersectionConstraintValue = DDataStructure.ConstraintValue<DArray.Unwrap<GenericNewTypeConstraint>>, GenericClearValue = DCommon.NeverCoalescing<DCommon.RemoveConstraint<GenericIntersectionConstraintValue>, unknown>> = (GenericValue & GenericClearValue & NewType<GenericName, GenericIntersectionConstraintValue extends (GenericClearValue & infer InferredConstraint extends DCommon.BaseConstraint) ? InferredConstraint : never>);
28
- export interface NewTypeStructure<GenericName extends string = string, GenericValue extends unknown = unknown, GenericNewTypeConstraint extends readonly DDataStructure.Constraint<GenericValue>[] = readonly DDataStructure.Constraint<GenericValue>[]> extends DCommon.UnionToIntersection<DDataStructure.Structure<ComputeNewType<GenericName, GenericValue, GenericNewTypeConstraint>, NewTypeStructureDefinition<GenericNewTypeConstraint>> & DKind.Kind<typeof newTypeStructureKind>> {
28
+ export interface NewTypeStructure<out GenericName extends string = string, out GenericValue extends unknown = unknown, out GenericNewTypeConstraint extends readonly DDataStructure.Constraint<GenericValue>[] = readonly DDataStructure.Constraint<GenericValue>[]> extends DCommon.Forward<DDataStructure.Structure<ComputeNewType<GenericName, GenericValue, GenericNewTypeConstraint>, NewTypeStructureDefinition<GenericNewTypeConstraint>> & DKind.Kind<typeof newTypeStructureKind>> {
29
29
  readonly name: GenericName;
30
30
  decodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs): (data: DDataStructure.EncodedValue<NewTypeMap<DDataStructure.StructureValue<this>>, GenericCodecs>) => (DEither.Right<"map-success", DDataStructure.StructureValue<this>> | DEither.Left<"async-error", undefined> | DEither.Left<"map-error", DDataStructure.Error>);
31
31
  decodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs, data: DDataStructure.EncodedValue<NewTypeMap<DDataStructure.StructureValue<this>>, GenericCodecs>): (DEither.Right<"map-success", DDataStructure.StructureValue<this>> | DEither.Left<"async-error", undefined> | DEither.Left<"map-error", DDataStructure.Error>);
@@ -33,5 +33,12 @@ export interface NewTypeStructure<GenericName extends string = string, GenericVa
33
33
  asyncDecodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs): (data: DDataStructure.EncodedValue<NewTypeMap<DDataStructure.StructureValue<this>>, GenericCodecs>) => Promise<DEither.Right<"map-success", DDataStructure.StructureValue<this>> | DEither.Left<"map-error", DDataStructure.Error>>;
34
34
  asyncDecodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs, data: DDataStructure.EncodedValue<NewTypeMap<DDataStructure.StructureValue<this>>, GenericCodecs>): Promise<DEither.Right<"map-success", DDataStructure.StructureValue<this>> | DEither.Left<"map-error", DDataStructure.Error>>;
35
35
  asyncMap(data: NewTypeMap<DDataStructure.StructureValue<this>>): Promise<DEither.Right<"map-success", DDataStructure.StructureValue<this>> | DEither.Left<"map-error", DDataStructure.Error>>;
36
+ encodeNewType<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs, data: DDataStructure.StructureValue<this>): Promise<DDataStructure.EncodedValue<NewTypeMap<DDataStructure.StructureValue<this>>, GenericCodecs>>;
37
+ }
38
+ declare const EncodeNewTypeError_base: DKind.KindClass<DKind.Handler<DKind.Definition<"@DuplojsLangModeling/encode-new-type-error", unknown>>, ErrorConstructor>;
39
+ export declare class EncodeNewTypeError extends EncodeNewTypeError_base {
40
+ error: DDataStructure.Error;
41
+ constructor(error: DDataStructure.Error);
36
42
  }
37
43
  export declare const NewTypeStructure: <GenericName extends string, GenericStructure extends DDataStructure.Structure, const GenericNewTypeConstraint extends readonly DDataStructure.Constraint<DDataStructure.StructureValue<GenericStructure>>[]>(name: GenericName, structure: GenericStructure, newTypeConstraints: GenericNewTypeConstraint) => NewTypeStructure<GenericName, DDataStructure.StructureValue<GenericStructure>, GenericNewTypeConstraint>;
44
+ export {};