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

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 (348) 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/insert.d.ts +3 -3
  12. package/dist/array/length.d.ts +1 -1
  13. package/dist/array/lengthEqual.d.ts +1 -1
  14. package/dist/array/map.d.ts +1 -1
  15. package/dist/array/maxElements.d.ts +1 -1
  16. package/dist/array/minElements.d.ts +1 -1
  17. package/dist/array/pop.d.ts +1 -1
  18. package/dist/array/prepend.d.ts +1 -1
  19. package/dist/array/push.d.ts +3 -3
  20. package/dist/array/reverse.d.ts +1 -1
  21. package/dist/array/shift.d.ts +1 -1
  22. package/dist/array/sort.d.ts +1 -1
  23. package/dist/array/splice/delete.d.ts +1 -1
  24. package/dist/array/splice/insert.d.ts +1 -1
  25. package/dist/array/unshift.d.ts +3 -3
  26. package/dist/common/constraint/index.d.ts +1 -0
  27. package/dist/common/constraint/remove.cjs +6 -0
  28. package/dist/common/constraint/remove.d.ts +2 -0
  29. package/dist/common/constraint/remove.mjs +6 -0
  30. package/dist/common/index.cjs +3 -0
  31. package/dist/common/index.mjs +3 -1
  32. package/dist/common/types/forward.d.ts +1 -0
  33. package/dist/common/types/index.d.ts +2 -0
  34. package/dist/common/types/splitPromise.d.ts +1 -0
  35. package/dist/dataStructure/common/codec.cjs +5 -4
  36. package/dist/dataStructure/common/codec.d.ts +3 -3
  37. package/dist/dataStructure/common/codec.mjs +5 -4
  38. package/dist/dataStructure/common/error.cjs +34 -16
  39. package/dist/dataStructure/common/error.d.ts +29 -11
  40. package/dist/dataStructure/common/error.mjs +32 -17
  41. package/dist/dataStructure/common/errorInterpreter.cjs +45 -0
  42. package/dist/dataStructure/common/errorInterpreter.d.ts +32 -0
  43. package/dist/dataStructure/common/errorInterpreter.mjs +45 -0
  44. package/dist/dataStructure/common/index.d.ts +1 -0
  45. package/dist/dataStructure/constraint/base.cjs +16 -3
  46. package/dist/dataStructure/constraint/base.d.ts +8 -4
  47. package/dist/dataStructure/constraint/base.mjs +16 -3
  48. package/dist/dataStructure/constraint/defaults/allowedCharacters.cjs +1 -1
  49. package/dist/dataStructure/constraint/defaults/allowedCharacters.d.ts +1 -1
  50. package/dist/dataStructure/constraint/defaults/allowedCharacters.mjs +1 -1
  51. package/dist/dataStructure/constraint/defaults/arrayLengthEqual.cjs +1 -1
  52. package/dist/dataStructure/constraint/defaults/arrayLengthEqual.d.ts +1 -1
  53. package/dist/dataStructure/constraint/defaults/arrayLengthEqual.mjs +1 -1
  54. package/dist/dataStructure/constraint/defaults/betweenThan.cjs +1 -1
  55. package/dist/dataStructure/constraint/defaults/betweenThan.d.ts +1 -1
  56. package/dist/dataStructure/constraint/defaults/betweenThan.mjs +1 -1
  57. package/dist/dataStructure/constraint/defaults/betweenThanOrEqual.cjs +1 -1
  58. package/dist/dataStructure/constraint/defaults/betweenThanOrEqual.d.ts +1 -1
  59. package/dist/dataStructure/constraint/defaults/betweenThanOrEqual.mjs +1 -1
  60. package/dist/dataStructure/constraint/defaults/email.cjs +1 -1
  61. package/dist/dataStructure/constraint/defaults/email.d.ts +1 -1
  62. package/dist/dataStructure/constraint/defaults/email.mjs +1 -1
  63. package/dist/dataStructure/constraint/defaults/even.cjs +1 -1
  64. package/dist/dataStructure/constraint/defaults/even.d.ts +1 -1
  65. package/dist/dataStructure/constraint/defaults/even.mjs +1 -1
  66. package/dist/dataStructure/constraint/defaults/greaterThan.cjs +1 -1
  67. package/dist/dataStructure/constraint/defaults/greaterThan.d.ts +1 -1
  68. package/dist/dataStructure/constraint/defaults/greaterThan.mjs +1 -1
  69. package/dist/dataStructure/constraint/defaults/greaterThanOrEqual.cjs +1 -1
  70. package/dist/dataStructure/constraint/defaults/greaterThanOrEqual.d.ts +1 -1
  71. package/dist/dataStructure/constraint/defaults/greaterThanOrEqual.mjs +1 -1
  72. package/dist/dataStructure/constraint/defaults/index.d.ts +2 -0
  73. package/dist/dataStructure/constraint/defaults/integer.cjs +1 -1
  74. package/dist/dataStructure/constraint/defaults/integer.d.ts +1 -1
  75. package/dist/dataStructure/constraint/defaults/integer.mjs +1 -1
  76. package/dist/dataStructure/constraint/defaults/lessThan.cjs +1 -1
  77. package/dist/dataStructure/constraint/defaults/lessThan.d.ts +1 -1
  78. package/dist/dataStructure/constraint/defaults/lessThan.mjs +1 -1
  79. package/dist/dataStructure/constraint/defaults/lessThanOrEqual.cjs +1 -1
  80. package/dist/dataStructure/constraint/defaults/lessThanOrEqual.d.ts +1 -1
  81. package/dist/dataStructure/constraint/defaults/lessThanOrEqual.mjs +1 -1
  82. package/dist/dataStructure/constraint/defaults/maxCharacters.cjs +1 -1
  83. package/dist/dataStructure/constraint/defaults/maxCharacters.d.ts +1 -1
  84. package/dist/dataStructure/constraint/defaults/maxCharacters.mjs +1 -1
  85. package/dist/dataStructure/constraint/defaults/maxElements.cjs +1 -1
  86. package/dist/dataStructure/constraint/defaults/maxElements.d.ts +1 -1
  87. package/dist/dataStructure/constraint/defaults/maxElements.mjs +1 -1
  88. package/dist/dataStructure/constraint/defaults/minCharacters.cjs +4 -4
  89. package/dist/dataStructure/constraint/defaults/minCharacters.d.ts +2 -2
  90. package/dist/dataStructure/constraint/defaults/minCharacters.mjs +4 -4
  91. package/dist/dataStructure/constraint/defaults/minElements.cjs +1 -1
  92. package/dist/dataStructure/constraint/defaults/minElements.d.ts +1 -1
  93. package/dist/dataStructure/constraint/defaults/minElements.mjs +1 -1
  94. package/dist/dataStructure/constraint/defaults/multipleOf.cjs +1 -1
  95. package/dist/dataStructure/constraint/defaults/multipleOf.d.ts +1 -1
  96. package/dist/dataStructure/constraint/defaults/multipleOf.mjs +1 -1
  97. package/dist/dataStructure/constraint/defaults/negative.cjs +1 -1
  98. package/dist/dataStructure/constraint/defaults/negative.d.ts +1 -1
  99. package/dist/dataStructure/constraint/defaults/negative.mjs +1 -1
  100. package/dist/dataStructure/constraint/defaults/notEmpty.cjs +1 -1
  101. package/dist/dataStructure/constraint/defaults/notEmpty.d.ts +1 -1
  102. package/dist/dataStructure/constraint/defaults/notEmpty.mjs +1 -1
  103. package/dist/dataStructure/constraint/defaults/notZero.cjs +1 -1
  104. package/dist/dataStructure/constraint/defaults/notZero.d.ts +1 -1
  105. package/dist/dataStructure/constraint/defaults/notZero.mjs +1 -1
  106. package/dist/dataStructure/constraint/defaults/odd.cjs +1 -1
  107. package/dist/dataStructure/constraint/defaults/odd.d.ts +1 -1
  108. package/dist/dataStructure/constraint/defaults/odd.mjs +1 -1
  109. package/dist/dataStructure/constraint/defaults/positive.cjs +1 -1
  110. package/dist/dataStructure/constraint/defaults/positive.d.ts +1 -1
  111. package/dist/dataStructure/constraint/defaults/positive.mjs +1 -1
  112. package/dist/dataStructure/constraint/defaults/refine.cjs +1 -1
  113. package/dist/dataStructure/constraint/defaults/refine.d.ts +1 -1
  114. package/dist/dataStructure/constraint/defaults/refine.mjs +1 -1
  115. package/dist/dataStructure/constraint/defaults/regex.cjs +13 -0
  116. package/dist/dataStructure/constraint/defaults/regex.d.ts +10 -0
  117. package/dist/dataStructure/constraint/defaults/regex.mjs +12 -0
  118. package/dist/dataStructure/constraint/defaults/safe.cjs +1 -1
  119. package/dist/dataStructure/constraint/defaults/safe.d.ts +1 -1
  120. package/dist/dataStructure/constraint/defaults/safe.mjs +1 -1
  121. package/dist/dataStructure/constraint/defaults/strictNegative.cjs +1 -1
  122. package/dist/dataStructure/constraint/defaults/strictNegative.d.ts +1 -1
  123. package/dist/dataStructure/constraint/defaults/strictNegative.mjs +1 -1
  124. package/dist/dataStructure/constraint/defaults/strictPositive.cjs +1 -1
  125. package/dist/dataStructure/constraint/defaults/strictPositive.d.ts +1 -1
  126. package/dist/dataStructure/constraint/defaults/strictPositive.mjs +1 -1
  127. package/dist/dataStructure/constraint/defaults/stringLengthEqual.cjs +1 -1
  128. package/dist/dataStructure/constraint/defaults/stringLengthEqual.d.ts +1 -1
  129. package/dist/dataStructure/constraint/defaults/stringLengthEqual.mjs +1 -1
  130. package/dist/dataStructure/constraint/defaults/trimmed.cjs +13 -0
  131. package/dist/dataStructure/constraint/defaults/trimmed.d.ts +10 -0
  132. package/dist/dataStructure/constraint/defaults/trimmed.mjs +12 -0
  133. package/dist/dataStructure/constraint/defaults/url.cjs +2 -2
  134. package/dist/dataStructure/constraint/defaults/url.d.ts +2 -3
  135. package/dist/dataStructure/constraint/defaults/url.mjs +2 -2
  136. package/dist/dataStructure/constraint/defaults/uuid.cjs +2 -4
  137. package/dist/dataStructure/constraint/defaults/uuid.d.ts +1 -3
  138. package/dist/dataStructure/constraint/defaults/uuid.mjs +4 -5
  139. package/dist/dataStructure/constraint/identifier.d.ts +4 -2
  140. package/dist/dataStructure/constraint/types/constraints.d.ts +18 -15
  141. package/dist/dataStructure/fundamentalType/base.cjs +3 -3
  142. package/dist/dataStructure/fundamentalType/base.d.ts +4 -5
  143. package/dist/dataStructure/fundamentalType/base.mjs +3 -3
  144. package/dist/dataStructure/fundamentalType/defaults/bigint.cjs +4 -2
  145. package/dist/dataStructure/fundamentalType/defaults/bigint.d.ts +4 -4
  146. package/dist/dataStructure/fundamentalType/defaults/bigint.mjs +5 -2
  147. package/dist/dataStructure/fundamentalType/defaults/boolean.cjs +4 -2
  148. package/dist/dataStructure/fundamentalType/defaults/boolean.d.ts +4 -4
  149. package/dist/dataStructure/fundamentalType/defaults/boolean.mjs +5 -2
  150. package/dist/dataStructure/fundamentalType/defaults/date.cjs +4 -2
  151. package/dist/dataStructure/fundamentalType/defaults/date.d.ts +4 -4
  152. package/dist/dataStructure/fundamentalType/defaults/date.mjs +5 -2
  153. package/dist/dataStructure/fundamentalType/defaults/null.cjs +4 -2
  154. package/dist/dataStructure/fundamentalType/defaults/null.d.ts +4 -4
  155. package/dist/dataStructure/fundamentalType/defaults/null.mjs +5 -2
  156. package/dist/dataStructure/fundamentalType/defaults/number.cjs +4 -2
  157. package/dist/dataStructure/fundamentalType/defaults/number.d.ts +4 -4
  158. package/dist/dataStructure/fundamentalType/defaults/number.mjs +5 -2
  159. package/dist/dataStructure/fundamentalType/defaults/string.cjs +4 -2
  160. package/dist/dataStructure/fundamentalType/defaults/string.d.ts +4 -4
  161. package/dist/dataStructure/fundamentalType/defaults/string.mjs +5 -2
  162. package/dist/dataStructure/fundamentalType/defaults/time.cjs +4 -2
  163. package/dist/dataStructure/fundamentalType/defaults/time.d.ts +4 -4
  164. package/dist/dataStructure/fundamentalType/defaults/time.mjs +5 -2
  165. package/dist/dataStructure/fundamentalType/defaults/undefined.cjs +4 -2
  166. package/dist/dataStructure/fundamentalType/defaults/undefined.d.ts +4 -4
  167. package/dist/dataStructure/fundamentalType/defaults/undefined.mjs +5 -2
  168. package/dist/dataStructure/fundamentalType/identifier.d.ts +4 -2
  169. package/dist/dataStructure/helpers/array.d.ts +1 -1
  170. package/dist/dataStructure/helpers/bigint.d.ts +1 -1
  171. package/dist/dataStructure/helpers/boolean.d.ts +1 -1
  172. package/dist/dataStructure/helpers/date.d.ts +1 -1
  173. package/dist/dataStructure/helpers/index.d.ts +2 -0
  174. package/dist/dataStructure/helpers/lazy.d.ts +1 -1
  175. package/dist/dataStructure/helpers/null.d.ts +1 -1
  176. package/dist/dataStructure/helpers/nullable.cjs +5 -2
  177. package/dist/dataStructure/helpers/nullable.mjs +5 -2
  178. package/dist/dataStructure/helpers/number.d.ts +1 -1
  179. package/dist/dataStructure/helpers/object.d.ts +1 -1
  180. package/dist/dataStructure/helpers/optional.cjs +5 -2
  181. package/dist/dataStructure/helpers/optional.mjs +5 -2
  182. package/dist/dataStructure/helpers/partial.cjs +5 -2
  183. package/dist/dataStructure/helpers/partial.mjs +5 -2
  184. package/dist/dataStructure/helpers/record.d.ts +1 -1
  185. package/dist/dataStructure/helpers/regex.cjs +7 -0
  186. package/dist/dataStructure/helpers/regex.d.ts +2 -0
  187. package/dist/dataStructure/helpers/regex.mjs +7 -0
  188. package/dist/dataStructure/helpers/required.cjs +6 -3
  189. package/dist/dataStructure/helpers/required.d.ts +2 -1
  190. package/dist/dataStructure/helpers/required.mjs +6 -3
  191. package/dist/dataStructure/helpers/string.d.ts +1 -1
  192. package/dist/dataStructure/helpers/time.d.ts +1 -1
  193. package/dist/dataStructure/helpers/trimmed.cjs +7 -0
  194. package/dist/dataStructure/helpers/trimmed.d.ts +2 -0
  195. package/dist/dataStructure/helpers/trimmed.mjs +7 -0
  196. package/dist/dataStructure/helpers/undefined.d.ts +1 -1
  197. package/dist/dataStructure/helpers/union.d.ts +1 -1
  198. package/dist/dataStructure/helpers/url.cjs +2 -2
  199. package/dist/dataStructure/helpers/url.d.ts +1 -2
  200. package/dist/dataStructure/helpers/url.mjs +2 -2
  201. package/dist/dataStructure/index.cjs +50 -6
  202. package/dist/dataStructure/index.mjs +41 -16
  203. package/dist/dataStructure/structure/base.cjs +15 -5
  204. package/dist/dataStructure/structure/base.d.ts +7 -4
  205. package/dist/dataStructure/structure/base.mjs +15 -5
  206. package/dist/dataStructure/structure/defaults/array.d.ts +2 -2
  207. package/dist/dataStructure/structure/defaults/index.d.ts +1 -0
  208. package/dist/dataStructure/structure/defaults/lazy.cjs +10 -3
  209. package/dist/dataStructure/structure/defaults/lazy.d.ts +2 -2
  210. package/dist/dataStructure/structure/defaults/lazy.mjs +10 -3
  211. package/dist/dataStructure/structure/defaults/nonEncodableString.cjs +17 -0
  212. package/dist/dataStructure/structure/defaults/nonEncodableString.d.ts +10 -0
  213. package/dist/dataStructure/structure/defaults/nonEncodableString.mjs +16 -0
  214. package/dist/dataStructure/structure/defaults/object.d.ts +2 -2
  215. package/dist/dataStructure/structure/defaults/record.cjs +7 -7
  216. package/dist/dataStructure/structure/defaults/record.d.ts +3 -3
  217. package/dist/dataStructure/structure/defaults/record.mjs +7 -7
  218. package/dist/dataStructure/structure/defaults/type.cjs +1 -1
  219. package/dist/dataStructure/structure/defaults/type.d.ts +2 -2
  220. package/dist/dataStructure/structure/defaults/type.mjs +2 -2
  221. package/dist/dataStructure/structure/defaults/union.cjs +20 -14
  222. package/dist/dataStructure/structure/defaults/union.d.ts +3 -3
  223. package/dist/dataStructure/structure/defaults/union.mjs +20 -14
  224. package/dist/dataStructure/structure/identifier.d.ts +4 -2
  225. package/dist/dataStructure/structure/types/constraintsValue.d.ts +1 -1
  226. package/dist/dataStructure/structure/types/structures.d.ts +2 -1
  227. package/dist/dataStructure/structure/types/value.d.ts +1 -1
  228. package/dist/dataStructure/type/base.cjs +17 -4
  229. package/dist/dataStructure/type/base.d.ts +7 -3
  230. package/dist/dataStructure/type/base.mjs +17 -4
  231. package/dist/dataStructure/type/defaults/bigint.d.ts +1 -1
  232. package/dist/dataStructure/type/defaults/bigintLiteral.cjs +1 -1
  233. package/dist/dataStructure/type/defaults/bigintLiteral.d.ts +1 -1
  234. package/dist/dataStructure/type/defaults/bigintLiteral.mjs +1 -1
  235. package/dist/dataStructure/type/defaults/boolean.d.ts +1 -1
  236. package/dist/dataStructure/type/defaults/booleanLiteral.cjs +1 -1
  237. package/dist/dataStructure/type/defaults/booleanLiteral.d.ts +1 -1
  238. package/dist/dataStructure/type/defaults/booleanLiteral.mjs +1 -1
  239. package/dist/dataStructure/type/defaults/date.d.ts +1 -1
  240. package/dist/dataStructure/type/defaults/null.d.ts +1 -1
  241. package/dist/dataStructure/type/defaults/number.d.ts +1 -1
  242. package/dist/dataStructure/type/defaults/numberLiteral.cjs +1 -1
  243. package/dist/dataStructure/type/defaults/numberLiteral.d.ts +1 -1
  244. package/dist/dataStructure/type/defaults/numberLiteral.mjs +1 -1
  245. package/dist/dataStructure/type/defaults/string.d.ts +1 -1
  246. package/dist/dataStructure/type/defaults/stringLiteral.cjs +1 -1
  247. package/dist/dataStructure/type/defaults/stringLiteral.d.ts +1 -1
  248. package/dist/dataStructure/type/defaults/stringLiteral.mjs +1 -1
  249. package/dist/dataStructure/type/defaults/time.d.ts +1 -1
  250. package/dist/dataStructure/type/defaults/undefined.d.ts +1 -1
  251. package/dist/dataStructure/type/identifier.d.ts +4 -2
  252. package/dist/generator/asyncChunk.d.ts +3 -2
  253. package/dist/generator/chunk.d.ts +3 -2
  254. package/dist/generator/types/flat.d.ts +2 -2
  255. package/dist/index.cjs +2 -0
  256. package/dist/index.mjs +2 -1
  257. package/dist/invocation/flow/base.d.ts +8 -3
  258. package/dist/invocation/flow/controller/base.d.ts +1 -0
  259. package/dist/invocation/flow/controller/defaults/aborter.cjs +38 -0
  260. package/dist/invocation/flow/controller/defaults/aborter.d.ts +17 -0
  261. package/dist/invocation/flow/controller/defaults/aborter.mjs +36 -0
  262. package/dist/invocation/flow/controller/defaults/debounce.d.ts +1 -1
  263. package/dist/invocation/flow/controller/defaults/filter.cjs +5 -3
  264. package/dist/invocation/flow/controller/defaults/filter.d.ts +1 -1
  265. package/dist/invocation/flow/controller/defaults/filter.mjs +5 -3
  266. package/dist/invocation/flow/controller/defaults/index.d.ts +1 -0
  267. package/dist/invocation/flow/controller/defaults/retry.d.ts +1 -1
  268. package/dist/invocation/flow/controller/defaults/throttling.d.ts +1 -1
  269. package/dist/invocation/flow/controller/defaults/timeout.d.ts +1 -1
  270. package/dist/invocation/index.cjs +7 -0
  271. package/dist/invocation/index.mjs +5 -1
  272. package/dist/kind/createIdentifier.d.ts +2 -2
  273. package/dist/kind/types/getName.d.ts +2 -0
  274. package/dist/kind/types/getNamespaceName.d.ts +3 -0
  275. package/dist/kind/types/index.d.ts +2 -0
  276. package/dist/kind/types/remove.d.ts +2 -2
  277. package/dist/modeling/entity/base.cjs +2 -2
  278. package/dist/modeling/entity/base.d.ts +12 -9
  279. package/dist/modeling/entity/base.mjs +2 -2
  280. package/dist/modeling/entity/index.d.ts +0 -1
  281. package/dist/modeling/index.cjs +17 -6
  282. package/dist/modeling/index.d.ts +1 -0
  283. package/dist/modeling/index.mjs +11 -5
  284. package/dist/modeling/newType/base.cjs +6 -3
  285. package/dist/modeling/newType/base.d.ts +1 -1
  286. package/dist/modeling/newType/base.mjs +6 -3
  287. package/dist/modeling/taggedObject/base.cjs +23 -0
  288. package/dist/modeling/taggedObject/base.d.ts +31 -0
  289. package/dist/modeling/taggedObject/base.mjs +21 -0
  290. package/dist/modeling/taggedObject/helper.cjs +29 -0
  291. package/dist/modeling/taggedObject/helper.d.ts +14 -0
  292. package/dist/modeling/taggedObject/helper.mjs +26 -0
  293. package/dist/modeling/taggedObject/index.d.ts +2 -0
  294. package/dist/number/betweenThan.d.ts +2 -2
  295. package/dist/number/betweenThanOrEqual.d.ts +2 -2
  296. package/dist/number/greaterThan.d.ts +1 -1
  297. package/dist/number/greaterThanOrEqual.d.ts +1 -1
  298. package/dist/number/lessThan.d.ts +1 -1
  299. package/dist/number/lessThanOrEqual.d.ts +1 -1
  300. package/dist/number/sort.d.ts +1 -1
  301. package/dist/pattern/index.cjs +12 -0
  302. package/dist/pattern/index.d.ts +4 -0
  303. package/dist/pattern/index.mjs +9 -1
  304. package/dist/pattern/matchWithEntity.cjs +12 -0
  305. package/dist/pattern/matchWithEntity.d.ts +12 -0
  306. package/dist/pattern/matchWithEntity.mjs +12 -0
  307. package/dist/pattern/matchWithEntityOtherwise.cjs +13 -0
  308. package/dist/pattern/matchWithEntityOtherwise.d.ts +14 -0
  309. package/dist/pattern/matchWithEntityOtherwise.mjs +13 -0
  310. package/dist/pattern/matchWithNumberOtherwise.cjs +2 -6
  311. package/dist/pattern/matchWithNumberOtherwise.mjs +2 -6
  312. package/dist/pattern/matchWithStringOtherwise.cjs +2 -6
  313. package/dist/pattern/matchWithStringOtherwise.d.ts +1 -1
  314. package/dist/pattern/matchWithStringOtherwise.mjs +2 -6
  315. package/dist/pattern/matchWithTaggedObject.cjs +12 -0
  316. package/dist/pattern/matchWithTaggedObject.d.ts +12 -0
  317. package/dist/pattern/matchWithTaggedObject.mjs +12 -0
  318. package/dist/pattern/matchWithTaggedObjectOtherwise.cjs +13 -0
  319. package/dist/pattern/matchWithTaggedObjectOtherwise.d.ts +14 -0
  320. package/dist/pattern/matchWithTaggedObjectOtherwise.mjs +13 -0
  321. package/dist/string/at.d.ts +2 -2
  322. package/dist/string/first.d.ts +1 -1
  323. package/dist/string/index.cjs +3 -0
  324. package/dist/string/index.mjs +3 -1
  325. package/dist/string/isUrl.cjs +2 -11
  326. package/dist/string/isUrl.d.ts +1 -5
  327. package/dist/string/isUrl.mjs +2 -11
  328. package/dist/string/last.d.ts +1 -1
  329. package/dist/string/lengthEqual.d.ts +1 -1
  330. package/dist/string/maxCharacters.d.ts +1 -1
  331. package/dist/string/minCharacters.d.ts +1 -1
  332. package/dist/string/padEnd.d.ts +1 -1
  333. package/dist/string/padStart.d.ts +1 -1
  334. package/dist/string/pop.d.ts +1 -1
  335. package/dist/string/shift.d.ts +1 -1
  336. package/dist/string/slice.d.ts +1 -1
  337. package/dist/string/substring.d.ts +1 -1
  338. package/dist/string/trim/default.d.ts +1 -1
  339. package/dist/string/trim/end.d.ts +1 -1
  340. package/dist/string/trim/index.d.ts +1 -0
  341. package/dist/string/trim/is.cjs +6 -0
  342. package/dist/string/trim/is.d.ts +2 -0
  343. package/dist/string/trim/is.mjs +6 -0
  344. package/dist/string/trim/start.d.ts +1 -1
  345. package/package.json +1 -1
  346. package/dist/modeling/entity/entityName.cjs +0 -13
  347. package/dist/modeling/entity/entityName.d.ts +0 -13
  348. package/dist/modeling/entity/entityName.mjs +0 -13
@@ -1,5 +1,7 @@
1
1
  import { Structure } from './base';
2
+ import { Structures } from './types';
3
+ import * as DKind from '../../kind';
2
4
  export declare const structureIdentifier: {
3
- <GenericKindHandler extends import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/structure", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/array-structure", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/lazy-structure", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/object-structure", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/type-structure", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangModeling/entity-structure", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/record-structure", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/union-structure", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangModeling/new-type-structure", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangModeling/entity-name-structure", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/structure", Record<string, unknown>>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/structure", readonly unknown[]>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/structure", import('../../modeling').Entity<string> & Record<string, unknown>>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/structure", import('../../modeling').NewType<string, never>>>, GenericInput extends unknown, GenericGroupedKind extends import('../..').UnionToIntersection<GenericKindHandler extends import('../../kind').Handler<import('../../kind').Definition<string, unknown>> ? import('../../kind').Kind<GenericKindHandler, GenericKindHandler["definition"]["value"]> : never>>(kind: GenericKindHandler | GenericKindHandler[]): (input: GenericInput) => input is (import('../..').UnionContain<GenericInput, Structure<unknown, import('..').StructureDefinition<readonly import('..').Constraint<unknown, unknown, import('..').ConstraintDefinition>[]>>> extends true ? Extract<Structure<unknown, import('..').StructureDefinition<readonly import('..').Constraint<unknown, unknown, import('..').ConstraintDefinition>[]>>, GenericGroupedKind> | Extract<import('..').ObjectStructure<Record<string, unknown>, readonly import('..').Constraint<Record<string, unknown>, Record<string, unknown>, import('..').ConstraintDefinition>[]>, GenericGroupedKind> | Extract<import('..').ArrayStructure<readonly unknown[], readonly import('..').Constraint<readonly unknown[], readonly unknown[], import('..').ConstraintDefinition>[]>, GenericGroupedKind> | Extract<import('..').TypeStructure<unknown, readonly import('..').Constraint<unknown, unknown, import('..').ConstraintDefinition>[]>, GenericGroupedKind> | Extract<import('../../modeling').EntityStructure<string, Record<string, unknown>>, GenericGroupedKind> | Extract<import('..').LazyStructure<unknown, readonly import('..').Constraint<unknown, unknown, import('..').ConstraintDefinition>[]>, GenericGroupedKind> | Extract<import('..').RecordStructure<Record<string, unknown>, readonly import('..').Constraint<Record<string, unknown>, Record<string, unknown>, import('..').ConstraintDefinition>[]>, GenericGroupedKind> | Extract<import('..').UnionStructure<unknown, readonly import('..').Constraint<unknown, unknown, import('..').ConstraintDefinition>[]>, GenericGroupedKind> | Extract<import('../../modeling').NewTypeStructure<string, unknown, readonly import('..').Constraint<unknown, unknown, import('..').ConstraintDefinition>[]>, GenericGroupedKind> | Extract<import('../../modeling').EntityNameStructure, GenericGroupedKind> : never) | Extract<GenericInput, GenericGroupedKind>;
4
- <GenericKindHandler extends import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/structure", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/array-structure", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/lazy-structure", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/object-structure", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/type-structure", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangModeling/entity-structure", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/record-structure", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/union-structure", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangModeling/new-type-structure", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangModeling/entity-name-structure", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/structure", Record<string, unknown>>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/structure", readonly unknown[]>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/structure", import('../../modeling').Entity<string> & Record<string, unknown>>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/structure", import('../../modeling').NewType<string, never>>>, GenericInput extends unknown, GenericGroupedKind extends import('../..').UnionToIntersection<GenericKindHandler extends import('../../kind').Handler<import('../../kind').Definition<string, unknown>> ? import('../../kind').Kind<GenericKindHandler, GenericKindHandler["definition"]["value"]> : never>>(input: GenericInput, kind: GenericKindHandler | GenericKindHandler[]): input is (import('../..').UnionContain<GenericInput, Structure<unknown, import('..').StructureDefinition<readonly import('..').Constraint<unknown, unknown, import('..').ConstraintDefinition>[]>>> extends true ? Extract<Structure<unknown, import('..').StructureDefinition<readonly import('..').Constraint<unknown, unknown, import('..').ConstraintDefinition>[]>>, GenericGroupedKind> | Extract<import('..').ObjectStructure<Record<string, unknown>, readonly import('..').Constraint<Record<string, unknown>, Record<string, unknown>, import('..').ConstraintDefinition>[]>, GenericGroupedKind> | Extract<import('..').ArrayStructure<readonly unknown[], readonly import('..').Constraint<readonly unknown[], readonly unknown[], import('..').ConstraintDefinition>[]>, GenericGroupedKind> | Extract<import('..').TypeStructure<unknown, readonly import('..').Constraint<unknown, unknown, import('..').ConstraintDefinition>[]>, GenericGroupedKind> | Extract<import('../../modeling').EntityStructure<string, Record<string, unknown>>, GenericGroupedKind> | Extract<import('..').LazyStructure<unknown, readonly import('..').Constraint<unknown, unknown, import('..').ConstraintDefinition>[]>, GenericGroupedKind> | Extract<import('..').RecordStructure<Record<string, unknown>, readonly import('..').Constraint<Record<string, unknown>, Record<string, unknown>, import('..').ConstraintDefinition>[]>, GenericGroupedKind> | Extract<import('..').UnionStructure<unknown, readonly import('..').Constraint<unknown, unknown, import('..').ConstraintDefinition>[]>, GenericGroupedKind> | Extract<import('../../modeling').NewTypeStructure<string, unknown, readonly import('..').Constraint<unknown, unknown, import('..').ConstraintDefinition>[]>, GenericGroupedKind> | Extract<import('../../modeling').EntityNameStructure, GenericGroupedKind> : never) | Extract<GenericInput, GenericGroupedKind>;
5
+ <GenericKindHandler extends DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/structure", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/array-structure", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/object-structure", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/type-structure", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangModeling/entity-structure", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangModeling/tagged-object-structure", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/lazy-structure", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/record-structure", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/union-structure", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/non-encodable-string-structure", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangModeling/new-type-structure", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/structure", Record<string, unknown>>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/structure", readonly unknown[]>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/structure", import('../../modeling').Entity<string> & Record<string, unknown>>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/structure", import('../../modeling').ObjectTag<string>>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/structure", String>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/structure", import('../../modeling').NewType<string, never>>>, GenericInput extends unknown, GenericGroupedKind extends GenericKindHandler extends DKind.Handler<DKind.Definition<string, unknown>> ? DKind.Kind<GenericKindHandler, GenericKindHandler["definition"]["value"]> : never>(kind: GenericKindHandler | GenericKindHandler[]): (input: GenericInput) => input is (GenericInput extends Structure<unknown, import('..').StructureDefinition<readonly import('..').Constraint<unknown, unknown, import('..').ConstraintDefinition>[]>> ? (Structure<unknown, import('..').StructureDefinition<readonly import('..').Constraint<unknown, unknown, import('..').ConstraintDefinition>[]>> extends infer T ? T extends Structure<unknown, import('..').StructureDefinition<readonly import('..').Constraint<unknown, unknown, import('..').ConstraintDefinition>[]>> ? T extends GenericInput ? GenericInput & Structures extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Structures : never : never : never : never) | (import('..').ObjectStructure<Record<string, unknown>, readonly import('..').Constraint<Record<string, unknown>, Record<string, unknown>, import('..').ConstraintDefinition>[]> extends infer T_1 ? T_1 extends import('..').ObjectStructure<Record<string, unknown>, readonly import('..').Constraint<Record<string, unknown>, Record<string, unknown>, import('..').ConstraintDefinition>[]> ? T_1 extends GenericInput ? GenericInput & Structures extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Structures : never : never : never : never) | (import('..').ArrayStructure<readonly unknown[], readonly import('..').Constraint<readonly unknown[], readonly unknown[], import('..').ConstraintDefinition>[]> extends infer T_2 ? T_2 extends import('..').ArrayStructure<readonly unknown[], readonly import('..').Constraint<readonly unknown[], readonly unknown[], import('..').ConstraintDefinition>[]> ? T_2 extends GenericInput ? GenericInput & Structures extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Structures : never : never : never : never) | (import('..').TypeStructure<unknown, readonly import('..').Constraint<unknown, unknown, import('..').ConstraintDefinition>[]> extends infer T_3 ? T_3 extends import('..').TypeStructure<unknown, readonly import('..').Constraint<unknown, unknown, import('..').ConstraintDefinition>[]> ? T_3 extends GenericInput ? GenericInput & Structures extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Structures : never : never : never : never) | (import('../../modeling').EntityStructure<string, Record<string, unknown>> extends infer T_4 ? T_4 extends import('../../modeling').EntityStructure<string, Record<string, unknown>> ? T_4 extends GenericInput ? GenericInput & Structures extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Structures : never : never : never : never) | (import('../../modeling').TaggedObjectStructure<import('../../modeling').ObjectTag<string>> extends infer T_5 ? T_5 extends import('../../modeling').TaggedObjectStructure<import('../../modeling').ObjectTag<string>> ? T_5 extends GenericInput ? GenericInput & Structures extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Structures : never : never : never : never) | (import('..').LazyStructure<unknown, readonly import('..').Constraint<unknown, unknown, import('..').ConstraintDefinition>[]> extends infer T_6 ? T_6 extends import('..').LazyStructure<unknown, readonly import('..').Constraint<unknown, unknown, import('..').ConstraintDefinition>[]> ? T_6 extends GenericInput ? GenericInput & Structures extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Structures : never : never : never : never) | (import('..').RecordStructure<Record<string, unknown>, readonly import('..').Constraint<Record<string, unknown>, Record<string, unknown>, import('..').ConstraintDefinition>[]> extends infer T_7 ? T_7 extends import('..').RecordStructure<Record<string, unknown>, readonly import('..').Constraint<Record<string, unknown>, Record<string, unknown>, import('..').ConstraintDefinition>[]> ? T_7 extends GenericInput ? GenericInput & Structures extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Structures : never : never : never : never) | (import('..').UnionStructure<unknown, readonly import('..').Constraint<unknown, unknown, import('..').ConstraintDefinition>[]> extends infer T_8 ? T_8 extends import('..').UnionStructure<unknown, readonly import('..').Constraint<unknown, unknown, import('..').ConstraintDefinition>[]> ? T_8 extends GenericInput ? GenericInput & Structures extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Structures : never : never : never : never) | (import('..').NonEncodableStringStructure extends infer T_9 ? T_9 extends import('..').NonEncodableStringStructure ? T_9 extends GenericInput ? GenericInput & Structures extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Structures : never : never : never : never) | (import('../../modeling').NewTypeStructure<string, unknown, readonly import('..').Constraint<unknown, unknown, import('..').ConstraintDefinition>[]> extends infer T_10 ? T_10 extends import('../../modeling').NewTypeStructure<string, unknown, readonly import('..').Constraint<unknown, unknown, import('..').ConstraintDefinition>[]> ? T_10 extends GenericInput ? GenericInput & Structures extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Structures : never : never : never : never) : never) | Extract<GenericInput, GenericGroupedKind>;
6
+ <GenericKindHandler extends DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/structure", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/array-structure", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/object-structure", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/type-structure", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangModeling/entity-structure", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangModeling/tagged-object-structure", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/lazy-structure", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/record-structure", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/union-structure", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/non-encodable-string-structure", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangModeling/new-type-structure", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/structure", Record<string, unknown>>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/structure", readonly unknown[]>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/structure", import('../../modeling').Entity<string> & Record<string, unknown>>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/structure", import('../../modeling').ObjectTag<string>>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/structure", String>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/structure", import('../../modeling').NewType<string, never>>>, GenericInput extends unknown, GenericGroupedKind extends GenericKindHandler extends DKind.Handler<DKind.Definition<string, unknown>> ? DKind.Kind<GenericKindHandler, GenericKindHandler["definition"]["value"]> : never>(input: GenericInput, kind: GenericKindHandler | GenericKindHandler[]): input is (GenericInput extends Structure<unknown, import('..').StructureDefinition<readonly import('..').Constraint<unknown, unknown, import('..').ConstraintDefinition>[]>> ? (Structure<unknown, import('..').StructureDefinition<readonly import('..').Constraint<unknown, unknown, import('..').ConstraintDefinition>[]>> extends infer T ? T extends Structure<unknown, import('..').StructureDefinition<readonly import('..').Constraint<unknown, unknown, import('..').ConstraintDefinition>[]>> ? T extends GenericInput ? GenericInput & Structures extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Structures : never : never : never : never) | (import('..').ObjectStructure<Record<string, unknown>, readonly import('..').Constraint<Record<string, unknown>, Record<string, unknown>, import('..').ConstraintDefinition>[]> extends infer T_1 ? T_1 extends import('..').ObjectStructure<Record<string, unknown>, readonly import('..').Constraint<Record<string, unknown>, Record<string, unknown>, import('..').ConstraintDefinition>[]> ? T_1 extends GenericInput ? GenericInput & Structures extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Structures : never : never : never : never) | (import('..').ArrayStructure<readonly unknown[], readonly import('..').Constraint<readonly unknown[], readonly unknown[], import('..').ConstraintDefinition>[]> extends infer T_2 ? T_2 extends import('..').ArrayStructure<readonly unknown[], readonly import('..').Constraint<readonly unknown[], readonly unknown[], import('..').ConstraintDefinition>[]> ? T_2 extends GenericInput ? GenericInput & Structures extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Structures : never : never : never : never) | (import('..').TypeStructure<unknown, readonly import('..').Constraint<unknown, unknown, import('..').ConstraintDefinition>[]> extends infer T_3 ? T_3 extends import('..').TypeStructure<unknown, readonly import('..').Constraint<unknown, unknown, import('..').ConstraintDefinition>[]> ? T_3 extends GenericInput ? GenericInput & Structures extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Structures : never : never : never : never) | (import('../../modeling').EntityStructure<string, Record<string, unknown>> extends infer T_4 ? T_4 extends import('../../modeling').EntityStructure<string, Record<string, unknown>> ? T_4 extends GenericInput ? GenericInput & Structures extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Structures : never : never : never : never) | (import('../../modeling').TaggedObjectStructure<import('../../modeling').ObjectTag<string>> extends infer T_5 ? T_5 extends import('../../modeling').TaggedObjectStructure<import('../../modeling').ObjectTag<string>> ? T_5 extends GenericInput ? GenericInput & Structures extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Structures : never : never : never : never) | (import('..').LazyStructure<unknown, readonly import('..').Constraint<unknown, unknown, import('..').ConstraintDefinition>[]> extends infer T_6 ? T_6 extends import('..').LazyStructure<unknown, readonly import('..').Constraint<unknown, unknown, import('..').ConstraintDefinition>[]> ? T_6 extends GenericInput ? GenericInput & Structures extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Structures : never : never : never : never) | (import('..').RecordStructure<Record<string, unknown>, readonly import('..').Constraint<Record<string, unknown>, Record<string, unknown>, import('..').ConstraintDefinition>[]> extends infer T_7 ? T_7 extends import('..').RecordStructure<Record<string, unknown>, readonly import('..').Constraint<Record<string, unknown>, Record<string, unknown>, import('..').ConstraintDefinition>[]> ? T_7 extends GenericInput ? GenericInput & Structures extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Structures : never : never : never : never) | (import('..').UnionStructure<unknown, readonly import('..').Constraint<unknown, unknown, import('..').ConstraintDefinition>[]> extends infer T_8 ? T_8 extends import('..').UnionStructure<unknown, readonly import('..').Constraint<unknown, unknown, import('..').ConstraintDefinition>[]> ? T_8 extends GenericInput ? GenericInput & Structures extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Structures : never : never : never : never) | (import('..').NonEncodableStringStructure extends infer T_9 ? T_9 extends import('..').NonEncodableStringStructure ? T_9 extends GenericInput ? GenericInput & Structures extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Structures : never : never : never : never) | (import('../../modeling').NewTypeStructure<string, unknown, readonly import('..').Constraint<unknown, unknown, import('..').ConstraintDefinition>[]> extends infer T_10 ? T_10 extends import('../../modeling').NewTypeStructure<string, unknown, readonly import('..').Constraint<unknown, unknown, import('..').ConstraintDefinition>[]> ? T_10 extends GenericInput ? GenericInput & Structures extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Structures : never : never : never : never) : never) | Extract<GenericInput, GenericGroupedKind>;
5
7
  };
@@ -1,6 +1,6 @@
1
1
  import { ConstraintValue, Constraint } from '../../constraint';
2
2
  import type * as DCommon from '../../../common';
3
- export type StructureConstraintsValue<GenericConstraints extends Constraint> = DCommon.NeverCoalescing<Extract<DCommon.UnionToIntersection<GenericConstraints extends Constraint ? {
3
+ export type StructureConstraintsValue<GenericConstraints extends Constraint> = DCommon.IsNever<GenericConstraints> extends true ? unknown : DCommon.NeverCoalescing<Extract<DCommon.UnionToIntersection<GenericConstraints extends Constraint ? {
4
4
  value: ConstraintValue<GenericConstraints>;
5
5
  } : never>, {
6
6
  value: unknown;
@@ -1,5 +1,5 @@
1
1
  import { Structure } from '../base';
2
- import { ObjectStructure, ArrayStructure, LazyStructure, RecordStructure, UnionStructure, TypeStructure } from '../defaults';
2
+ import { ObjectStructure, ArrayStructure, LazyStructure, RecordStructure, UnionStructure, TypeStructure, NonEncodableStringStructure } from '../defaults';
3
3
  export interface StructuresStore {
4
4
  base: Structure;
5
5
  array: ArrayStructure;
@@ -8,5 +8,6 @@ export interface StructuresStore {
8
8
  record: RecordStructure;
9
9
  union: UnionStructure;
10
10
  type: TypeStructure;
11
+ nonEncodableString: NonEncodableStringStructure;
11
12
  }
12
13
  export type Structures = Extract<StructuresStore[keyof StructuresStore], Structure>;
@@ -2,4 +2,4 @@ import { structureKind, Structure } from '../base';
2
2
  import { StructureConstraintsValue } from './constraintsValue';
3
3
  import type * as DKind from '../../../kind';
4
4
  export type StructureValue<GenericStructure extends Structure> = DKind.GetValue<typeof structureKind, GenericStructure>;
5
- export type StructureInitialValue<GenericStructure extends Structure> = GenericStructure extends Structure<infer InferredValue> ? InferredValue extends (infer InferredInitialValue) & StructureConstraintsValue<GenericStructure["definition"]["constraints"][number]> ? InferredInitialValue : InferredValue : never;
5
+ export type StructureInitialValue<GenericStructure extends Structure, GenericStructureValue = StructureValue<GenericStructure>> = GenericStructureValue extends unknown ? GenericStructureValue extends (infer InferredInitialValue) & StructureConstraintsValue<GenericStructure["definition"]["constraints"][number]> ? InferredInitialValue : GenericStructureValue : never;
@@ -1,20 +1,33 @@
1
1
  const require_callThen = require("../../common/callThen.cjs");
2
+ const require_simpleClone = require("../../common/simpleClone.cjs");
2
3
  const require_kind = require("../kind.cjs");
3
4
  const require_resultSymbol = require("../common/resultSymbol.cjs");
4
5
  //#region scripts/dataStructure/type/base.ts
5
6
  const typeKind = require_kind.createKind("type");
6
7
  function createType(fundamentalType, kindHandler, createConstructor) {
7
- return createConstructor({ init: (definition, { executeCheck, isAsynchronous }) => {
8
+ const init = (definition, { executeCheck, isAsynchronous }) => {
8
9
  const self = {
10
+ fundamentalType,
9
11
  definition,
10
- executeCheck: (data, errorHandler) => require_callThen.callThen(self.fundamentalType.executeCheck(data, errorHandler), (result) => result === require_resultSymbol.ErrorSymbol ? require_resultSymbol.ErrorSymbol : executeCheck(self, data, errorHandler)),
12
+ executeCheck: (data) => require_callThen.callThen(self.fundamentalType.executeCheck(data), (result) => result === require_resultSymbol.ErrorSymbol ? require_resultSymbol.ErrorSymbol : executeCheck(self, data)),
11
13
  isAsynchronous: () => isAsynchronous(self),
12
- fundamentalType,
14
+ clone: () => init(require_simpleClone.simpleClone(definition), {
15
+ executeCheck,
16
+ isAsynchronous
17
+ }),
18
+ setMessage: (message) => {
19
+ self.definition.message = message;
20
+ return self;
21
+ },
22
+ addMessage: (message) => {
23
+ return self.clone().setMessage(message);
24
+ },
13
25
  [typeKind.runTimeKey]: null,
14
26
  [kindHandler.runTimeKey]: null
15
27
  };
16
28
  return self;
17
- } });
29
+ };
30
+ return createConstructor({ init });
18
31
  }
19
32
  //#endregion
20
33
  exports.createType = createType;
@@ -1,18 +1,22 @@
1
1
  import { FundamentalType, FundamentalTypeValue } from '../fundamentalType';
2
- import { ErrorSymbol, GetErrorHandler, SuccessSymbol } from '../common';
2
+ import { ErrorSymbol, SuccessSymbol } from '../common';
3
3
  import type * as DKind from '../../kind';
4
4
  import * as DCommon from '../../common';
5
5
  export declare const typeKind: DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/type", unknown>>;
6
6
  export interface TypeDefinition {
7
+ readonly message?: string;
7
8
  }
8
9
  export interface Type<GenericFundamentalType extends FundamentalType = FundamentalType, GenericValue extends FundamentalTypeValue<GenericFundamentalType> = FundamentalTypeValue<GenericFundamentalType>, GenericDefinition extends TypeDefinition = TypeDefinition> extends DKind.Kind<typeof typeKind, GenericValue> {
9
10
  readonly fundamentalType: GenericFundamentalType;
10
11
  readonly definition: GenericDefinition;
11
- executeCheck(data: unknown, errorHandler?: GetErrorHandler): DCommon.MaybePromise<SuccessSymbol | ErrorSymbol>;
12
+ executeCheck(data: unknown): DCommon.MaybePromise<SuccessSymbol | ErrorSymbol>;
12
13
  isAsynchronous(): boolean;
14
+ clone(): this;
15
+ setMessage(massage: string): this;
16
+ addMessage(massage: string): this;
13
17
  }
14
18
  export interface CreateTypeInitParams<GenericType extends Type = Type, GenericFundamentalType extends FundamentalType = FundamentalType> {
15
- executeCheck(self: GenericType, data: FundamentalTypeValue<GenericFundamentalType>, errorHandler?: GetErrorHandler): DCommon.MaybePromise<SuccessSymbol | ErrorSymbol>;
19
+ executeCheck(self: GenericType, data: FundamentalTypeValue<GenericFundamentalType>): DCommon.MaybePromise<SuccessSymbol | ErrorSymbol>;
16
20
  isAsynchronous(self: GenericType): boolean;
17
21
  }
18
22
  export interface CreateTypeConstructorParams<GenericFundamentalType extends FundamentalType = FundamentalType, GenericKindHandler extends DKind.Handler = DKind.Handler> {
@@ -1,20 +1,33 @@
1
1
  import { callThen } from "../../common/callThen.mjs";
2
+ import { simpleClone } from "../../common/simpleClone.mjs";
2
3
  import { createKind } from "../kind.mjs";
3
4
  import { ErrorSymbol } from "../common/resultSymbol.mjs";
4
5
  //#region scripts/dataStructure/type/base.ts
5
6
  const typeKind = createKind("type");
6
7
  function createType(fundamentalType, kindHandler, createConstructor) {
7
- return createConstructor({ init: (definition, { executeCheck, isAsynchronous }) => {
8
+ const init = (definition, { executeCheck, isAsynchronous }) => {
8
9
  const self = {
10
+ fundamentalType,
9
11
  definition,
10
- executeCheck: (data, errorHandler) => callThen(self.fundamentalType.executeCheck(data, errorHandler), (result) => result === ErrorSymbol ? ErrorSymbol : executeCheck(self, data, errorHandler)),
12
+ executeCheck: (data) => callThen(self.fundamentalType.executeCheck(data), (result) => result === ErrorSymbol ? ErrorSymbol : executeCheck(self, data)),
11
13
  isAsynchronous: () => isAsynchronous(self),
12
- fundamentalType,
14
+ clone: () => init(simpleClone(definition), {
15
+ executeCheck,
16
+ isAsynchronous
17
+ }),
18
+ setMessage: (message) => {
19
+ self.definition.message = message;
20
+ return self;
21
+ },
22
+ addMessage: (message) => {
23
+ return self.clone().setMessage(message);
24
+ },
13
25
  [typeKind.runTimeKey]: null,
14
26
  [kindHandler.runTimeKey]: null
15
27
  };
16
28
  return self;
17
- } });
29
+ };
30
+ return createConstructor({ init });
18
31
  }
19
32
  //#endregion
20
33
  export { createType, typeKind };
@@ -5,6 +5,6 @@ import * as FundamentalType from "../../fundamentalType";
5
5
  export declare const bigintTypeKind: DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/bigint-type", unknown>>;
6
6
  export interface BigintTypeDefinition extends TypeDefinition {
7
7
  }
8
- export interface BigintType extends DCommon.UnionToIntersection<Type<FundamentalType.TheBigint, bigint, BigintTypeDefinition> & DKind.Kind<typeof bigintTypeKind>> {
8
+ export interface BigintType extends DCommon.Forward<Type<FundamentalType.TheBigint, bigint, BigintTypeDefinition> & DKind.Kind<typeof bigintTypeKind>> {
9
9
  }
10
10
  export declare const BigintType: () => BigintType;
@@ -5,7 +5,7 @@ const require_base = require("../base.cjs");
5
5
  //#region scripts/dataStructure/type/defaults/bigintLiteral.ts
6
6
  const bigintLiteralTypeKind = require_kind.createKind("bigint-literal-type");
7
7
  const BigintLiteralType = require_base.createType(require_bigint.TheBigint, bigintLiteralTypeKind, ({ init }) => (value) => init({ value }, {
8
- executeCheck: (self, data, errorHandler) => data === self.definition.value ? require_resultSymbol.SuccessSymbol : errorHandler?.().addIssue(self, data) ?? require_resultSymbol.ErrorSymbol,
8
+ executeCheck: (self, data) => data === self.definition.value ? require_resultSymbol.SuccessSymbol : require_resultSymbol.ErrorSymbol,
9
9
  isAsynchronous: () => false
10
10
  }));
11
11
  //#endregion
@@ -6,6 +6,6 @@ export declare const bigintLiteralTypeKind: DKind.Handler<DKind.Definition<"@Dup
6
6
  export interface BigintLiteralTypeDefinition extends TypeDefinition {
7
7
  value: bigint;
8
8
  }
9
- export interface BigintLiteralType<GenericValue extends bigint = bigint> extends DCommon.UnionToIntersection<Type<FundamentalType.TheBigint, GenericValue, BigintLiteralTypeDefinition> & DKind.Kind<typeof bigintLiteralTypeKind>> {
9
+ export interface BigintLiteralType<GenericValue extends bigint = bigint> extends DCommon.Forward<Type<FundamentalType.TheBigint, GenericValue, BigintLiteralTypeDefinition> & DKind.Kind<typeof bigintLiteralTypeKind>> {
10
10
  }
11
11
  export declare const BigintLiteralType: <const GenericBigint extends bigint>(value: GenericBigint) => BigintLiteralType<GenericBigint>;
@@ -5,7 +5,7 @@ import { createType } from "../base.mjs";
5
5
  //#region scripts/dataStructure/type/defaults/bigintLiteral.ts
6
6
  const bigintLiteralTypeKind = createKind("bigint-literal-type");
7
7
  const BigintLiteralType = createType(TheBigint, bigintLiteralTypeKind, ({ init }) => (value) => init({ value }, {
8
- executeCheck: (self, data, errorHandler) => data === self.definition.value ? SuccessSymbol : errorHandler?.().addIssue(self, data) ?? ErrorSymbol,
8
+ executeCheck: (self, data) => data === self.definition.value ? SuccessSymbol : ErrorSymbol,
9
9
  isAsynchronous: () => false
10
10
  }));
11
11
  //#endregion
@@ -5,6 +5,6 @@ import * as FundamentalType from "../../fundamentalType";
5
5
  export declare const booleanTypeKind: DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/boolean-type", unknown>>;
6
6
  export interface BooleanTypeDefinition extends TypeDefinition {
7
7
  }
8
- export interface BooleanType extends DCommon.UnionToIntersection<Type<FundamentalType.TheBoolean, boolean, BooleanTypeDefinition> & DKind.Kind<typeof booleanTypeKind>> {
8
+ export interface BooleanType extends DCommon.Forward<Type<FundamentalType.TheBoolean, boolean, BooleanTypeDefinition> & DKind.Kind<typeof booleanTypeKind>> {
9
9
  }
10
10
  export declare const BooleanType: () => BooleanType;
@@ -5,7 +5,7 @@ const require_base = require("../base.cjs");
5
5
  //#region scripts/dataStructure/type/defaults/booleanLiteral.ts
6
6
  const booleanLiteralTypeKind = require_kind.createKind("boolean-literal-type");
7
7
  const BooleanLiteralType = require_base.createType(require_boolean.TheBoolean, booleanLiteralTypeKind, ({ init }) => (value) => init({ value }, {
8
- executeCheck: (self, data, errorHandler) => data === self.definition.value ? require_resultSymbol.SuccessSymbol : errorHandler?.().addIssue(self, data) ?? require_resultSymbol.ErrorSymbol,
8
+ executeCheck: (self, data) => data === self.definition.value ? require_resultSymbol.SuccessSymbol : require_resultSymbol.ErrorSymbol,
9
9
  isAsynchronous: () => false
10
10
  }));
11
11
  //#endregion
@@ -6,6 +6,6 @@ export declare const booleanLiteralTypeKind: DKind.Handler<DKind.Definition<"@Du
6
6
  export interface BooleanLiteralTypeDefinition extends TypeDefinition {
7
7
  value: boolean;
8
8
  }
9
- export interface BooleanLiteralType<GenericValue extends boolean = boolean> extends DCommon.UnionToIntersection<Type<FundamentalType.TheBoolean, GenericValue, BooleanLiteralTypeDefinition> & DKind.Kind<typeof booleanLiteralTypeKind>> {
9
+ export interface BooleanLiteralType<GenericValue extends boolean = boolean> extends DCommon.Forward<Type<FundamentalType.TheBoolean, GenericValue, BooleanLiteralTypeDefinition> & DKind.Kind<typeof booleanLiteralTypeKind>> {
10
10
  }
11
11
  export declare const BooleanLiteralType: <const GenericBoolean extends boolean>(value: GenericBoolean) => BooleanLiteralType<GenericBoolean>;
@@ -5,7 +5,7 @@ import { createType } from "../base.mjs";
5
5
  //#region scripts/dataStructure/type/defaults/booleanLiteral.ts
6
6
  const booleanLiteralTypeKind = createKind("boolean-literal-type");
7
7
  const BooleanLiteralType = createType(TheBoolean, booleanLiteralTypeKind, ({ init }) => (value) => init({ value }, {
8
- executeCheck: (self, data, errorHandler) => data === self.definition.value ? SuccessSymbol : errorHandler?.().addIssue(self, data) ?? ErrorSymbol,
8
+ executeCheck: (self, data) => data === self.definition.value ? SuccessSymbol : ErrorSymbol,
9
9
  isAsynchronous: () => false
10
10
  }));
11
11
  //#endregion
@@ -6,6 +6,6 @@ import * as FundamentalType from "../../fundamentalType";
6
6
  export declare const dateTypeKind: DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/date-type", unknown>>;
7
7
  export interface DateTypeDefinition extends TypeDefinition {
8
8
  }
9
- export interface DateType extends DCommon.UnionToIntersection<Type<FundamentalType.TheDate, DChrono.TheDate, DateTypeDefinition> & DKind.Kind<typeof dateTypeKind>> {
9
+ export interface DateType extends DCommon.Forward<Type<FundamentalType.TheDate, DChrono.TheDate, DateTypeDefinition> & DKind.Kind<typeof dateTypeKind>> {
10
10
  }
11
11
  export declare const DateType: () => DateType;
@@ -5,6 +5,6 @@ import * as FundamentalType from "../../fundamentalType";
5
5
  export declare const nullTypeKind: DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/null-type", unknown>>;
6
6
  export interface NullTypeDefinition extends TypeDefinition {
7
7
  }
8
- export interface NullType extends DCommon.UnionToIntersection<Type<FundamentalType.TheNull, null, NullTypeDefinition> & DKind.Kind<typeof nullTypeKind>> {
8
+ export interface NullType extends DCommon.Forward<Type<FundamentalType.TheNull, null, NullTypeDefinition> & DKind.Kind<typeof nullTypeKind>> {
9
9
  }
10
10
  export declare const NullType: () => NullType;
@@ -5,6 +5,6 @@ import * as FundamentalType from "../../fundamentalType";
5
5
  export declare const numberTypeKind: DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/number-type", unknown>>;
6
6
  export interface NumberTypeDefinition extends TypeDefinition {
7
7
  }
8
- export interface NumberType extends DCommon.UnionToIntersection<Type<FundamentalType.TheNumber, number, NumberTypeDefinition> & DKind.Kind<typeof numberTypeKind>> {
8
+ export interface NumberType extends DCommon.Forward<Type<FundamentalType.TheNumber, number, NumberTypeDefinition> & DKind.Kind<typeof numberTypeKind>> {
9
9
  }
10
10
  export declare const NumberType: () => NumberType;
@@ -5,7 +5,7 @@ const require_base = require("../base.cjs");
5
5
  //#region scripts/dataStructure/type/defaults/numberLiteral.ts
6
6
  const numberLiteralTypeKind = require_kind.createKind("number-literal-type");
7
7
  const NumberLiteralType = require_base.createType(require_number.TheNumber, numberLiteralTypeKind, ({ init }) => (value) => init({ value }, {
8
- executeCheck: (self, data, errorHandler) => data === self.definition.value ? require_resultSymbol.SuccessSymbol : errorHandler?.().addIssue(self, data) ?? require_resultSymbol.ErrorSymbol,
8
+ executeCheck: (self, data) => data === self.definition.value ? require_resultSymbol.SuccessSymbol : require_resultSymbol.ErrorSymbol,
9
9
  isAsynchronous: () => false
10
10
  }));
11
11
  //#endregion
@@ -6,6 +6,6 @@ export declare const numberLiteralTypeKind: DKind.Handler<DKind.Definition<"@Dup
6
6
  export interface NumberLiteralTypeDefinition extends TypeDefinition {
7
7
  value: number;
8
8
  }
9
- export interface NumberLiteralType<GenericValue extends number = number> extends DCommon.UnionToIntersection<Type<FundamentalType.TheNumber, GenericValue, NumberLiteralTypeDefinition> & DKind.Kind<typeof numberLiteralTypeKind>> {
9
+ export interface NumberLiteralType<GenericValue extends number = number> extends DCommon.Forward<Type<FundamentalType.TheNumber, GenericValue, NumberLiteralTypeDefinition> & DKind.Kind<typeof numberLiteralTypeKind>> {
10
10
  }
11
11
  export declare const NumberLiteralType: <const GenericNumber extends number>(value: GenericNumber) => NumberLiteralType<GenericNumber>;
@@ -5,7 +5,7 @@ import { createType } from "../base.mjs";
5
5
  //#region scripts/dataStructure/type/defaults/numberLiteral.ts
6
6
  const numberLiteralTypeKind = createKind("number-literal-type");
7
7
  const NumberLiteralType = createType(TheNumber, numberLiteralTypeKind, ({ init }) => (value) => init({ value }, {
8
- executeCheck: (self, data, errorHandler) => data === self.definition.value ? SuccessSymbol : errorHandler?.().addIssue(self, data) ?? ErrorSymbol,
8
+ executeCheck: (self, data) => data === self.definition.value ? SuccessSymbol : ErrorSymbol,
9
9
  isAsynchronous: () => false
10
10
  }));
11
11
  //#endregion
@@ -5,6 +5,6 @@ import * as FundamentalType from "../../fundamentalType";
5
5
  export declare const stringTypeKind: DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/string-type", unknown>>;
6
6
  export interface StringTypeDefinition extends TypeDefinition {
7
7
  }
8
- export interface StringType extends DCommon.UnionToIntersection<Type<FundamentalType.TheString, string, StringTypeDefinition> & DKind.Kind<typeof stringTypeKind>> {
8
+ export interface StringType extends DCommon.Forward<Type<FundamentalType.TheString, string, StringTypeDefinition> & DKind.Kind<typeof stringTypeKind>> {
9
9
  }
10
10
  export declare const StringType: () => StringType;
@@ -5,7 +5,7 @@ const require_base = require("../base.cjs");
5
5
  //#region scripts/dataStructure/type/defaults/stringLiteral.ts
6
6
  const stringLiteralTypeKind = require_kind.createKind("string-literal-type");
7
7
  const StringLiteralType = require_base.createType(require_string.TheString, stringLiteralTypeKind, ({ init }) => (value) => init({ value }, {
8
- executeCheck: (self, data, errorHandler) => data === self.definition.value ? require_resultSymbol.SuccessSymbol : errorHandler?.().addIssue(self, data) ?? require_resultSymbol.ErrorSymbol,
8
+ executeCheck: (self, data) => data === self.definition.value ? require_resultSymbol.SuccessSymbol : require_resultSymbol.ErrorSymbol,
9
9
  isAsynchronous: () => false
10
10
  }));
11
11
  //#endregion
@@ -6,6 +6,6 @@ export declare const stringLiteralTypeKind: DKind.Handler<DKind.Definition<"@Dup
6
6
  export interface StringLiteralTypeDefinition extends TypeDefinition {
7
7
  value: string;
8
8
  }
9
- export interface StringLiteralType<GenericValue extends string = string> extends DCommon.UnionToIntersection<Type<FundamentalType.TheString, GenericValue, StringLiteralTypeDefinition> & DKind.Kind<typeof stringLiteralTypeKind>> {
9
+ export interface StringLiteralType<GenericValue extends string = string> extends DCommon.Forward<Type<FundamentalType.TheString, GenericValue, StringLiteralTypeDefinition> & DKind.Kind<typeof stringLiteralTypeKind>> {
10
10
  }
11
11
  export declare const StringLiteralType: <const GenericString extends string>(value: GenericString) => StringLiteralType<GenericString>;
@@ -5,7 +5,7 @@ import { createType } from "../base.mjs";
5
5
  //#region scripts/dataStructure/type/defaults/stringLiteral.ts
6
6
  const stringLiteralTypeKind = createKind("string-literal-type");
7
7
  const StringLiteralType = createType(TheString, stringLiteralTypeKind, ({ init }) => (value) => init({ value }, {
8
- executeCheck: (self, data, errorHandler) => data === self.definition.value ? SuccessSymbol : errorHandler?.().addIssue(self, data) ?? ErrorSymbol,
8
+ executeCheck: (self, data) => data === self.definition.value ? SuccessSymbol : ErrorSymbol,
9
9
  isAsynchronous: () => false
10
10
  }));
11
11
  //#endregion
@@ -6,6 +6,6 @@ import * as FundamentalType from "../../fundamentalType";
6
6
  export declare const timeTypeKind: DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/time-type", unknown>>;
7
7
  export interface TimeTypeDefinition extends TypeDefinition {
8
8
  }
9
- export interface TimeType extends DCommon.UnionToIntersection<Type<FundamentalType.TheTime, DChrono.TheTime, TimeTypeDefinition> & DKind.Kind<typeof timeTypeKind>> {
9
+ export interface TimeType extends DCommon.Forward<Type<FundamentalType.TheTime, DChrono.TheTime, TimeTypeDefinition> & DKind.Kind<typeof timeTypeKind>> {
10
10
  }
11
11
  export declare const TimeType: () => TimeType;
@@ -5,6 +5,6 @@ import * as FundamentalType from "../../fundamentalType";
5
5
  export declare const undefinedTypeKind: DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/undefined-type", unknown>>;
6
6
  export interface UndefinedTypeDefinition extends TypeDefinition {
7
7
  }
8
- export interface UndefinedType extends DCommon.UnionToIntersection<Type<FundamentalType.TheUndefined, undefined, UndefinedTypeDefinition> & DKind.Kind<typeof undefinedTypeKind>> {
8
+ export interface UndefinedType extends DCommon.Forward<Type<FundamentalType.TheUndefined, undefined, UndefinedTypeDefinition> & DKind.Kind<typeof undefinedTypeKind>> {
9
9
  }
10
10
  export declare const UndefinedType: () => UndefinedType;
@@ -1,5 +1,7 @@
1
1
  import { Type } from './base';
2
+ import { Types } from './types';
3
+ import * as DKind from '../../kind';
2
4
  export declare const typeIdentifier: {
3
- <GenericKindHandler extends import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/bigint-type", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/bigint-literal-type", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/boolean-type", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/boolean-literal-type", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/date-type", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/null-type", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/number-type", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/number-literal-type", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/string-type", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/string-literal-type", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/time-type", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/undefined-type", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/type", bigint>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/type", boolean>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/type", import('../../chrono').TheDate>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/type", null>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/type", number>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/type", string>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/type", import('../../chrono').TheTime>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/type", undefined>>, GenericInput extends unknown, GenericGroupedKind extends import('../..').UnionToIntersection<GenericKindHandler extends import('../../kind').Handler<import('../../kind').Definition<string, unknown>> ? import('../../kind').Kind<GenericKindHandler, GenericKindHandler["definition"]["value"]> : never>>(kind: GenericKindHandler | GenericKindHandler[]): (input: GenericInput) => input is (import('../..').UnionContain<GenericInput, Type<import('..').FundamentalType<symbol, unknown>, unknown, import('..').TypeDefinition>> extends true ? Extract<import('..').BigintType, GenericGroupedKind> | Extract<import('..').BooleanType, GenericGroupedKind> | Extract<import('..').DateType, GenericGroupedKind> | Extract<import('..').NullType, GenericGroupedKind> | Extract<import('..').NumberType, GenericGroupedKind> | Extract<import('..').StringType, GenericGroupedKind> | Extract<import('..').TimeType, GenericGroupedKind> | Extract<import('..').UndefinedType, GenericGroupedKind> | Extract<import('..').BigintLiteralType<bigint>, GenericGroupedKind> | Extract<import('..').BooleanLiteralType<boolean>, GenericGroupedKind> | Extract<import('..').NumberLiteralType<number>, GenericGroupedKind> | Extract<import('..').StringLiteralType<string>, GenericGroupedKind> : never) | Extract<GenericInput, GenericGroupedKind>;
4
- <GenericKindHandler extends import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/bigint-type", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/bigint-literal-type", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/boolean-type", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/boolean-literal-type", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/date-type", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/null-type", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/number-type", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/number-literal-type", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/string-type", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/string-literal-type", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/time-type", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/undefined-type", unknown>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/type", bigint>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/type", boolean>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/type", import('../../chrono').TheDate>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/type", null>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/type", number>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/type", string>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/type", import('../../chrono').TheTime>> | import('../../kind').Handler<import('../../kind').Definition<"@DuplojsLangDataStructure/type", undefined>>, GenericInput extends unknown, GenericGroupedKind extends import('../..').UnionToIntersection<GenericKindHandler extends import('../../kind').Handler<import('../../kind').Definition<string, unknown>> ? import('../../kind').Kind<GenericKindHandler, GenericKindHandler["definition"]["value"]> : never>>(input: GenericInput, kind: GenericKindHandler | GenericKindHandler[]): input is (import('../..').UnionContain<GenericInput, Type<import('..').FundamentalType<symbol, unknown>, unknown, import('..').TypeDefinition>> extends true ? Extract<import('..').BigintType, GenericGroupedKind> | Extract<import('..').BooleanType, GenericGroupedKind> | Extract<import('..').DateType, GenericGroupedKind> | Extract<import('..').NullType, GenericGroupedKind> | Extract<import('..').NumberType, GenericGroupedKind> | Extract<import('..').StringType, GenericGroupedKind> | Extract<import('..').TimeType, GenericGroupedKind> | Extract<import('..').UndefinedType, GenericGroupedKind> | Extract<import('..').BigintLiteralType<bigint>, GenericGroupedKind> | Extract<import('..').BooleanLiteralType<boolean>, GenericGroupedKind> | Extract<import('..').NumberLiteralType<number>, GenericGroupedKind> | Extract<import('..').StringLiteralType<string>, GenericGroupedKind> : never) | Extract<GenericInput, GenericGroupedKind>;
5
+ <GenericKindHandler extends DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/bigint-type", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/bigint-literal-type", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/boolean-type", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/boolean-literal-type", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/date-type", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/null-type", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/number-type", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/number-literal-type", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/string-type", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/string-literal-type", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/time-type", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/undefined-type", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/type", bigint>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/type", boolean>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/type", import('../../chrono').TheDate>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/type", null>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/type", number>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/type", string>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/type", import('../../chrono').TheTime>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/type", undefined>>, GenericInput extends unknown, GenericGroupedKind extends GenericKindHandler extends DKind.Handler<DKind.Definition<string, unknown>> ? DKind.Kind<GenericKindHandler, GenericKindHandler["definition"]["value"]> : never>(kind: GenericKindHandler | GenericKindHandler[]): (input: GenericInput) => input is (GenericInput extends Type<import('..').FundamentalType<unknown>, unknown, import('..').TypeDefinition> ? (import('..').BigintType extends infer T ? T extends import('..').BigintType ? T extends GenericInput ? GenericInput & Types extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Types : never : never : never : never) | (import('..').BooleanType extends infer T_1 ? T_1 extends import('..').BooleanType ? T_1 extends GenericInput ? GenericInput & Types extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Types : never : never : never : never) | (import('..').DateType extends infer T_2 ? T_2 extends import('..').DateType ? T_2 extends GenericInput ? GenericInput & Types extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Types : never : never : never : never) | (import('..').NullType extends infer T_3 ? T_3 extends import('..').NullType ? T_3 extends GenericInput ? GenericInput & Types extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Types : never : never : never : never) | (import('..').NumberType extends infer T_4 ? T_4 extends import('..').NumberType ? T_4 extends GenericInput ? GenericInput & Types extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Types : never : never : never : never) | (import('..').StringType extends infer T_5 ? T_5 extends import('..').StringType ? T_5 extends GenericInput ? GenericInput & Types extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Types : never : never : never : never) | (import('..').TimeType extends infer T_6 ? T_6 extends import('..').TimeType ? T_6 extends GenericInput ? GenericInput & Types extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Types : never : never : never : never) | (import('..').UndefinedType extends infer T_7 ? T_7 extends import('..').UndefinedType ? T_7 extends GenericInput ? GenericInput & Types extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Types : never : never : never : never) | (import('..').BigintLiteralType<bigint> extends infer T_8 ? T_8 extends import('..').BigintLiteralType<bigint> ? T_8 extends GenericInput ? GenericInput & Types extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Types : never : never : never : never) | (import('..').BooleanLiteralType<boolean> extends infer T_9 ? T_9 extends import('..').BooleanLiteralType<boolean> ? T_9 extends GenericInput ? GenericInput & Types extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Types : never : never : never : never) | (import('..').NumberLiteralType<number> extends infer T_10 ? T_10 extends import('..').NumberLiteralType<number> ? T_10 extends GenericInput ? GenericInput & Types extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Types : never : never : never : never) | (import('..').StringLiteralType<string> extends infer T_11 ? T_11 extends import('..').StringLiteralType<string> ? T_11 extends GenericInput ? GenericInput & Types extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Types : never : never : never : never) : never) | Extract<GenericInput, GenericGroupedKind>;
6
+ <GenericKindHandler extends DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/bigint-type", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/bigint-literal-type", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/boolean-type", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/boolean-literal-type", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/date-type", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/null-type", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/number-type", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/number-literal-type", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/string-type", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/string-literal-type", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/time-type", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/undefined-type", unknown>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/type", bigint>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/type", boolean>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/type", import('../../chrono').TheDate>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/type", null>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/type", number>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/type", string>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/type", import('../../chrono').TheTime>> | DKind.Handler<DKind.Definition<"@DuplojsLangDataStructure/type", undefined>>, GenericInput extends unknown, GenericGroupedKind extends GenericKindHandler extends DKind.Handler<DKind.Definition<string, unknown>> ? DKind.Kind<GenericKindHandler, GenericKindHandler["definition"]["value"]> : never>(input: GenericInput, kind: GenericKindHandler | GenericKindHandler[]): input is (GenericInput extends Type<import('..').FundamentalType<unknown>, unknown, import('..').TypeDefinition> ? (import('..').BigintType extends infer T ? T extends import('..').BigintType ? T extends GenericInput ? GenericInput & Types extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Types : never : never : never : never) | (import('..').BooleanType extends infer T_1 ? T_1 extends import('..').BooleanType ? T_1 extends GenericInput ? GenericInput & Types extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Types : never : never : never : never) | (import('..').DateType extends infer T_2 ? T_2 extends import('..').DateType ? T_2 extends GenericInput ? GenericInput & Types extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Types : never : never : never : never) | (import('..').NullType extends infer T_3 ? T_3 extends import('..').NullType ? T_3 extends GenericInput ? GenericInput & Types extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Types : never : never : never : never) | (import('..').NumberType extends infer T_4 ? T_4 extends import('..').NumberType ? T_4 extends GenericInput ? GenericInput & Types extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Types : never : never : never : never) | (import('..').StringType extends infer T_5 ? T_5 extends import('..').StringType ? T_5 extends GenericInput ? GenericInput & Types extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Types : never : never : never : never) | (import('..').TimeType extends infer T_6 ? T_6 extends import('..').TimeType ? T_6 extends GenericInput ? GenericInput & Types extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Types : never : never : never : never) | (import('..').UndefinedType extends infer T_7 ? T_7 extends import('..').UndefinedType ? T_7 extends GenericInput ? GenericInput & Types extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Types : never : never : never : never) | (import('..').BigintLiteralType<bigint> extends infer T_8 ? T_8 extends import('..').BigintLiteralType<bigint> ? T_8 extends GenericInput ? GenericInput & Types extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Types : never : never : never : never) | (import('..').BooleanLiteralType<boolean> extends infer T_9 ? T_9 extends import('..').BooleanLiteralType<boolean> ? T_9 extends GenericInput ? GenericInput & Types extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Types : never : never : never : never) | (import('..').NumberLiteralType<number> extends infer T_10 ? T_10 extends import('..').NumberLiteralType<number> ? T_10 extends GenericInput ? GenericInput & Types extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Types : never : never : never : never) | (import('..').StringLiteralType<string> extends infer T_11 ? T_11 extends import('..').StringLiteralType<string> ? T_11 extends GenericInput ? GenericInput & Types extends GenericGroupedKind ? GenericGroupedKind & GenericInput & Types : never : never : never : never) : never) | Extract<GenericInput, GenericGroupedKind>;
5
7
  };
@@ -1,2 +1,3 @@
1
- export declare function asyncChunk<const GenericItem extends unknown>(size: number): (iterator: AsyncIterable<GenericItem>) => AsyncGenerator<GenericItem[], unknown, unknown>;
2
- export declare function asyncChunk<const GenericItem extends unknown>(iterator: AsyncIterable<GenericItem>, size: number): AsyncGenerator<GenericItem[], unknown, unknown>;
1
+ import type * as DArray from '../array';
2
+ export declare function asyncChunk<const GenericItem extends unknown, GenericSize extends number>(size: GenericSize): (iterator: AsyncIterable<GenericItem>) => AsyncGenerator<readonly GenericItem[] & DArray.MinElements<1> & (number extends GenericSize ? unknown : DArray.MaxElements<GenericSize>), unknown, unknown>;
3
+ export declare function asyncChunk<const GenericItem extends unknown, GenericSize extends number>(iterator: AsyncIterable<GenericItem>, size: GenericSize): AsyncGenerator<readonly GenericItem[] & DArray.MinElements<1> & (number extends GenericSize ? unknown : DArray.MaxElements<GenericSize>), unknown, unknown>;
@@ -1,2 +1,3 @@
1
- export declare function chunk<const GenericItem extends unknown>(size: number): (iterator: Iterable<GenericItem>) => Generator<GenericItem[], unknown, unknown>;
2
- export declare function chunk<const GenericItem extends unknown>(iterator: Iterable<GenericItem>, size: number): Generator<GenericItem[], unknown, unknown>;
1
+ import type * as DArray from '../array';
2
+ export declare function chunk<const GenericItem extends unknown, GenericSize extends number>(size: GenericSize): (iterator: Iterable<GenericItem>) => Generator<readonly GenericItem[] & DArray.MinElements<1> & (number extends GenericSize ? unknown : DArray.MaxElements<GenericSize>), unknown, unknown>;
3
+ export declare function chunk<const GenericItem extends unknown, GenericSize extends number>(iterator: Iterable<GenericItem>, size: GenericSize): Generator<readonly GenericItem[] & DArray.MinElements<1> & (number extends GenericSize ? unknown : DArray.MaxElements<GenericSize>), unknown, unknown>;
@@ -1,3 +1,3 @@
1
1
  import type * as DCommon from '../../common';
2
- export type FlatIterator<GenericValue extends unknown, GenericDepth extends number, GenericAcc extends never[] = []> = DCommon.IsEqual<GenericAcc["length"], GenericDepth> extends true ? GenericValue : DCommon.IsEqual<GenericAcc["length"], 250> extends true ? GenericValue : GenericValue extends Iterable<infer InferredValue> ? FlatIterator<InferredValue, GenericDepth, [...GenericAcc, never]> : GenericValue;
3
- export type FlatAsyncIterator<GenericValue extends unknown, GenericDepth extends number, GenericAcc extends never[] = []> = DCommon.IsEqual<GenericAcc["length"], GenericDepth> extends true ? GenericValue : DCommon.IsEqual<GenericAcc["length"], 250> extends true ? GenericValue : GenericValue extends Iterable<infer InferredValue> ? FlatIterator<InferredValue, GenericDepth, [...GenericAcc, never]> : GenericValue extends AsyncIterable<infer InferredValue> ? FlatIterator<InferredValue, GenericDepth, [...GenericAcc, never]> : GenericValue;
2
+ export type FlatIterator<GenericValue extends unknown, GenericDepth extends number, GenericAcc extends never[] = []> = DCommon.IsEqual<GenericAcc["length"], GenericDepth> extends true ? GenericValue : DCommon.IsEqual<GenericAcc["length"], 250> extends true ? GenericValue : GenericValue extends string ? GenericValue : GenericValue extends Iterable<infer InferredValue> ? FlatIterator<InferredValue, GenericDepth, [...GenericAcc, never]> : GenericValue;
3
+ export type FlatAsyncIterator<GenericValue extends unknown, GenericDepth extends number, GenericAcc extends never[] = []> = DCommon.IsEqual<GenericAcc["length"], GenericDepth> extends true ? GenericValue : DCommon.IsEqual<GenericAcc["length"], 250> extends true ? GenericValue : GenericValue extends string ? GenericValue : GenericValue extends Iterable<infer InferredValue> ? FlatIterator<InferredValue, GenericDepth, [...GenericAcc, never]> : GenericValue extends AsyncIterable<infer InferredValue> ? FlatIterator<InferredValue, GenericDepth, [...GenericAcc, never]> : GenericValue;
package/dist/index.cjs CHANGED
@@ -15,6 +15,7 @@ const require_callThen = require("./common/callThen.cjs");
15
15
  const require_index$1 = require("./object/index.cjs");
16
16
  const require_clone = require("./common/clone.cjs");
17
17
  const require_index$2 = require("./common/constraint/cast/index.cjs");
18
+ const require_remove = require("./common/constraint/remove.cjs");
18
19
  const require_detachObjectMethod = require("./common/detachObjectMethod.cjs");
19
20
  const require_enum = require("./common/enum.cjs");
20
21
  const require_equal = require("./common/equal.cjs");
@@ -286,6 +287,7 @@ exports.preparePipe = require_preparePipe.preparePipe;
286
287
  exports.promiseAll = require_promiseAll.promiseAll;
287
288
  exports.promiseObject = require_promiseObject.promiseObject;
288
289
  exports.queueKind = require_queue.queueKind;
290
+ exports.removeConstraint = require_remove.removeConstraint;
289
291
  exports.shameOnYou = require_index$2.shameOnYou;
290
292
  exports.simpleClone = require_simpleClone.simpleClone;
291
293
  exports.stringToBytes = require_stringToBytes.stringToBytes;
package/dist/index.mjs CHANGED
@@ -14,6 +14,7 @@ import { callThen } from "./common/callThen.mjs";
14
14
  import { object_exports } from "./object/index.mjs";
15
15
  import { clone } from "./common/clone.mjs";
16
16
  import { cast, shameOnYou } from "./common/constraint/cast/index.mjs";
17
+ import { removeConstraint } from "./common/constraint/remove.mjs";
17
18
  import { detachObjectMethod } from "./common/detachObjectMethod.mjs";
18
19
  import { createEnum } from "./common/enum.mjs";
19
20
  import { equal } from "./common/equal.mjs";
@@ -67,4 +68,4 @@ import { pattern_exports } from "./pattern/index.mjs";
67
68
  import { invocation_exports } from "./invocation/index.mjs";
68
69
  import { path_exports } from "./path/index.mjs";
69
70
  import { printer_exports } from "./printer/index.mjs";
70
- export { array_exports as A, AssertsError, chrono_exports as C, array_exports as DArray, chrono_exports as DChrono, common_exports as DCommon, dataStructure_exports as DDataStructure, either_exports as DEither, generator_exports as DGenerator, invocation_exports as DInvocation, kind_exports as DKind, modeling_exports as DModeling, number_exports as DNumber, object_exports as DObject, path_exports as DPath, pattern_exports as DPattern, printer_exports as DPrinter, dataStructure_exports as DS, string_exports as DString, tuple_exports as DTuple, either_exports as E, generator_exports as G, invocation_exports as I, InvalidBytesInStringError, InvalidMillisecondInStringError, modeling_exports as M, MissingBuilderMethodsError, number_exports as N, object_exports as O, pattern_exports as P, string_exports as S, tuple_exports as T, TheFormData, and, asserts, asyncInnerPipe, asyncLoop, asyncPipe, bindPrototypeMethods, builderKind, callThen, cast, clone, createAsyncRetry, createBuilder, createEnum, createExternalPromise, createFormData, createGlobalStore, createInterpolation, createKind, createQueue, createTransformer, detachObjectMethod, equal, escapeRegExp, falsy, forward, forwardAsserts, forwardLog, innerPipe, instanceOf, isType, justExec, justReturn, loop, memo, memoObject, memoPromise, mimeType, or, pipe, pipeCall, prepareAsyncPipe, preparePipe, promiseAll, promiseObject, queueKind, shameOnYou, simpleClone, stringToBytes, stringToMillisecond, timeout, toCurriedPredicate, toJSON, toNative, toRegExp, transformer, truthy, useAsyncRetry, when, whenElse, whenNot };
71
+ export { array_exports as A, AssertsError, chrono_exports as C, array_exports as DArray, chrono_exports as DChrono, common_exports as DCommon, dataStructure_exports as DDataStructure, either_exports as DEither, generator_exports as DGenerator, invocation_exports as DInvocation, kind_exports as DKind, modeling_exports as DModeling, number_exports as DNumber, object_exports as DObject, path_exports as DPath, pattern_exports as DPattern, printer_exports as DPrinter, dataStructure_exports as DS, string_exports as DString, tuple_exports as DTuple, either_exports as E, generator_exports as G, invocation_exports as I, InvalidBytesInStringError, InvalidMillisecondInStringError, modeling_exports as M, MissingBuilderMethodsError, number_exports as N, object_exports as O, pattern_exports as P, string_exports as S, tuple_exports as T, TheFormData, and, asserts, asyncInnerPipe, asyncLoop, asyncPipe, bindPrototypeMethods, builderKind, callThen, cast, clone, createAsyncRetry, createBuilder, createEnum, createExternalPromise, createFormData, createGlobalStore, createInterpolation, createKind, createQueue, createTransformer, detachObjectMethod, equal, escapeRegExp, falsy, forward, forwardAsserts, forwardLog, innerPipe, instanceOf, isType, justExec, justReturn, loop, memo, memoObject, memoPromise, mimeType, or, pipe, pipeCall, prepareAsyncPipe, preparePipe, promiseAll, promiseObject, queueKind, removeConstraint, shameOnYou, simpleClone, stringToBytes, stringToMillisecond, timeout, toCurriedPredicate, toJSON, toNative, toRegExp, transformer, truthy, useAsyncRetry, when, whenElse, whenNot };
@@ -1,12 +1,17 @@
1
- import { FlowControllerExit, FlowControllerResult, flowControllerExitKind, FlowControllerPreviousFunctionResult } from './controller';
2
- import { DKind } from '../../index.ts';
1
+ import { FlowControllerExit, FlowControllerResult, flowControllerExitKind, FlowControllerPreviousFunctionResult, UnwrapFlowControllerResult } from './controller';
3
2
  import * as DCommon from '../../common';
3
+ import type * as DKind from '../../kind';
4
4
  type ComputeLastUsableValue<GenericAccumulator extends DCommon.AnyTuple> = GenericAccumulator extends [
5
5
  ...infer InferredRest,
6
6
  infer InferredLast
7
7
  ] ? InferredLast extends FlowControllerResult<infer InferredFlowControllerResult> ? Exclude<Awaited<InferredFlowControllerResult>, FlowControllerPreviousFunctionResult | FlowControllerExit> extends infer InferredOutputValue ? DCommon.HasSomething<InferredOutputValue> extends true ? InferredOutputValue : InferredRest extends DCommon.AnyTuple ? ComputeLastUsableValue<InferredRest> : never : never : InferredLast : never;
8
8
  type Pipe<GenericAccumulator extends DCommon.AnyTuple, GenericOutput extends unknown> = (this: never, input: Awaited<ComputeLastUsableValue<GenericAccumulator>>) => GenericOutput;
9
- type ComputeTypeOutput<GenericAccumulator extends DCommon.AnyTuple> = Extract<(ComputeLastUsableValue<GenericAccumulator> | (GenericAccumulator[number] extends infer InferredPipeResult ? InferredPipeResult extends FlowControllerResult<infer InferredResult> ? InferredResult extends FlowControllerExit ? DKind.GetValue<typeof flowControllerExitKind, InferredResult> : InferredResult extends Promise<infer InferredExit extends FlowControllerExit> ? Promise<DKind.GetValue<typeof flowControllerExitKind, InferredExit>> : never : never : never)) extends infer InferredResult ? DCommon.ContainExtends<InferredResult, Promise<any>> extends true ? Promise<Awaited<InferredResult>> : InferredResult : never, any>;
9
+ type IsMaybePromise<GenericAccumulator extends DCommon.AnyTuple> = {
10
+ [Index in keyof GenericAccumulator]: UnwrapFlowControllerResult<GenericAccumulator[Index]> extends infer InferredResult ? DCommon.IsExtends<InferredResult, Promise<unknown>> extends true ? false : DCommon.ContainExtends<InferredResult, Promise<any>> : never;
11
+ }[number] extends false ? false : true;
12
+ type ComputeTypeOutput<GenericAccumulator extends DCommon.AnyTuple> = Extract<(ComputeLastUsableValue<GenericAccumulator> | (UnwrapFlowControllerResult<GenericAccumulator[number]> extends infer InferredResult ? InferredResult extends FlowControllerExit ? DKind.GetValue<typeof flowControllerExitKind, InferredResult> : InferredResult extends Promise<infer InferredExit extends FlowControllerExit> ? Promise<DKind.GetValue<typeof flowControllerExitKind, InferredExit>> : InferredResult extends Promise<unknown> ? Promise<never> : never : never)) extends infer InferredResult ? DCommon.Or<[
13
+ DCommon.ContainExtends<InferredResult, Promise<any>>
14
+ ]> extends true ? IsMaybePromise<GenericAccumulator> extends true ? DCommon.MaybePromise<Awaited<InferredResult>> : Promise<Awaited<InferredResult>> : InferredResult : never, any>;
10
15
  export declare function flow<const GenericInput extends unknown, const GenericOutput1 extends unknown>(pipe1: Pipe<[
11
16
  GenericInput
12
17
  ], GenericOutput1>): (input: GenericInput) => DCommon.BreakGenericLink<Extract<ComputeTypeOutput<[
@@ -11,6 +11,7 @@ export type FlowControllerPreviousFunctionResult = DCommon.MaybePromise<(DCommon
11
11
  export interface FlowControllerResult<GenericResult extends unknown> {
12
12
  readonly [FlowControllerResultSymbol]: GenericResult;
13
13
  }
14
+ export type UnwrapFlowControllerResult<GenericValue extends unknown> = GenericValue extends FlowControllerResult<infer InferredResult> ? InferredResult : GenericValue;
14
15
  export interface FlowController<GenericInput extends unknown = unknown, GenericOutput extends unknown = unknown> extends DKind.Kind<typeof flowControllerKind> {
15
16
  (this: never, input: GenericInput): FlowControllerResult<GenericOutput>;
16
17
  exec(previousFunction: () => FlowControllerPreviousFunctionResult): (FlowControllerPreviousFunctionResult | GenericOutput | DCommon.MergePromise<FlowControllerPreviousFunctionResult | GenericOutput>);