@duplojs/agents-kit 0.0.0-stage → 0.1.0-beta.6

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 (853) hide show
  1. package/README.md +73 -2
  2. package/dist/bin/index.d.ts +2 -0
  3. package/dist/bin/index.mjs +7 -0
  4. package/dist/bin/installSkill/index.d.ts +2 -0
  5. package/dist/bin/installSkill/index.mjs +25 -0
  6. package/dist/bin/installSkill/skill.d.ts +28 -0
  7. package/dist/bin/installSkill/skill.mjs +58 -0
  8. package/dist/bin/packagePath.d.ts +2 -0
  9. package/dist/bin/packagePath.mjs +12 -0
  10. package/dist/bin/setup/index.d.ts +12 -0
  11. package/dist/bin/setup/index.mjs +33 -0
  12. package/dist/bin/setup/instructions.d.ts +8 -0
  13. package/dist/bin/setup/instructions.mjs +27 -0
  14. package/dist/index.cjs +1 -0
  15. package/dist/index.d.ts +1 -0
  16. package/dist/index.mjs +0 -0
  17. package/docs/API/10-lang/10-array/10-at.ts +65 -0
  18. package/docs/API/10-lang/10-array/10-chunk.ts +42 -0
  19. package/docs/API/10-lang/10-array/10-coalescing.ts +20 -0
  20. package/docs/API/10-lang/10-array/10-concat.ts +34 -0
  21. package/docs/API/10-lang/10-array/10-copyWithin.ts +34 -0
  22. package/docs/API/10-lang/10-array/10-every.ts +25 -0
  23. package/docs/API/10-lang/10-array/10-fill.ts +34 -0
  24. package/docs/API/10-lang/10-array/10-fillAll.ts +34 -0
  25. package/docs/API/10-lang/10-array/10-filter.ts +43 -0
  26. package/docs/API/10-lang/10-array/10-find.ts +33 -0
  27. package/docs/API/10-lang/10-array/10-findAndReplace.ts +35 -0
  28. package/docs/API/10-lang/10-array/10-findAndSpliceDelete.ts +35 -0
  29. package/docs/API/10-lang/10-array/10-findAndSpliceInsert.ts +35 -0
  30. package/docs/API/10-lang/10-array/10-findAndSpliceReplace.ts +24 -0
  31. package/docs/API/10-lang/10-array/10-findDuplicates.ts +19 -0
  32. package/docs/API/10-lang/10-array/10-findIndex.ts +25 -0
  33. package/docs/API/10-lang/10-array/10-findLast.ts +33 -0
  34. package/docs/API/10-lang/10-array/10-findLastIndex.ts +25 -0
  35. package/docs/API/10-lang/10-array/10-first.ts +21 -0
  36. package/docs/API/10-lang/10-array/10-flat.ts +22 -0
  37. package/docs/API/10-lang/10-array/10-flatMap.ts +24 -0
  38. package/docs/API/10-lang/10-array/10-from.ts +25 -0
  39. package/docs/API/10-lang/10-array/10-group.ts +27 -0
  40. package/docs/API/10-lang/10-array/10-groupOutput.ts +30 -0
  41. package/docs/API/10-lang/10-array/10-includes.ts +24 -0
  42. package/docs/API/10-lang/10-array/10-indexOf.ts +24 -0
  43. package/docs/API/10-lang/10-array/10-insert.ts +34 -0
  44. package/docs/API/10-lang/10-array/10-is.ts +29 -0
  45. package/docs/API/10-lang/10-array/10-isLastIndex.ts +24 -0
  46. package/docs/API/10-lang/10-array/10-last.ts +21 -0
  47. package/docs/API/10-lang/10-array/10-lastIndexOf.ts +24 -0
  48. package/docs/API/10-lang/10-array/10-length.ts +28 -0
  49. package/docs/API/10-lang/10-array/10-lengthEqual.ts +39 -0
  50. package/docs/API/10-lang/10-array/10-map.ts +34 -0
  51. package/docs/API/10-lang/10-array/10-maxElements.ts +44 -0
  52. package/docs/API/10-lang/10-array/10-minElements.ts +44 -0
  53. package/docs/API/10-lang/10-array/10-notIncludes.ts +24 -0
  54. package/docs/API/10-lang/10-array/10-pop.ts +23 -0
  55. package/docs/API/10-lang/10-array/10-prepend.ts +34 -0
  56. package/docs/API/10-lang/10-array/10-push.ts +34 -0
  57. package/docs/API/10-lang/10-array/10-reduce.ts +28 -0
  58. package/docs/API/10-lang/10-array/10-reduceFrom.ts +16 -0
  59. package/docs/API/10-lang/10-array/10-reduceRight.ts +28 -0
  60. package/docs/API/10-lang/10-array/10-reverse.ts +25 -0
  61. package/docs/API/10-lang/10-array/10-select.ts +26 -0
  62. package/docs/API/10-lang/10-array/10-set.ts +24 -0
  63. package/docs/API/10-lang/10-array/10-shift.ts +23 -0
  64. package/docs/API/10-lang/10-array/10-slice.ts +24 -0
  65. package/docs/API/10-lang/10-array/10-some.ts +25 -0
  66. package/docs/API/10-lang/10-array/10-sort.ts +34 -0
  67. package/docs/API/10-lang/10-array/10-spliceDelete.ts +34 -0
  68. package/docs/API/10-lang/10-array/10-spliceInsert.ts +34 -0
  69. package/docs/API/10-lang/10-array/10-spliceReplace.ts +24 -0
  70. package/docs/API/10-lang/10-array/10-unshift.ts +34 -0
  71. package/docs/API/10-lang/10-array/index.llms.md +220 -0
  72. package/docs/API/10-lang/10-array/index.md +3 -0
  73. package/docs/API/10-lang/10-chrono/10-addDays.ts +25 -0
  74. package/docs/API/10-lang/10-chrono/10-addHours.ts +25 -0
  75. package/docs/API/10-lang/10-chrono/10-addMilliseconds.ts +25 -0
  76. package/docs/API/10-lang/10-chrono/10-addMinutes.ts +25 -0
  77. package/docs/API/10-lang/10-chrono/10-addMonths.ts +25 -0
  78. package/docs/API/10-lang/10-chrono/10-addSeconds.ts +25 -0
  79. package/docs/API/10-lang/10-chrono/10-addTime.ts +38 -0
  80. package/docs/API/10-lang/10-chrono/10-addWeeks.ts +25 -0
  81. package/docs/API/10-lang/10-chrono/10-addYears.ts +25 -0
  82. package/docs/API/10-lang/10-chrono/10-applyTimezone.ts +29 -0
  83. package/docs/API/10-lang/10-chrono/10-betweenThanDate.ts +27 -0
  84. package/docs/API/10-lang/10-chrono/10-betweenThanOrEqualDate.ts +27 -0
  85. package/docs/API/10-lang/10-chrono/10-betweenThanOrEqualTime.ts +27 -0
  86. package/docs/API/10-lang/10-chrono/10-betweenThanTime.ts +27 -0
  87. package/docs/API/10-lang/10-chrono/10-closestTo.ts +45 -0
  88. package/docs/API/10-lang/10-chrono/10-computeTime.ts +35 -0
  89. package/docs/API/10-lang/10-chrono/10-createDate.ts +122 -0
  90. package/docs/API/10-lang/10-chrono/10-createDateOrThrow.ts +39 -0
  91. package/docs/API/10-lang/10-chrono/10-createTime.ts +86 -0
  92. package/docs/API/10-lang/10-chrono/10-createTimeOrThrow.ts +28 -0
  93. package/docs/API/10-lang/10-chrono/10-eachDate.ts +67 -0
  94. package/docs/API/10-lang/10-chrono/10-equalDate.ts +26 -0
  95. package/docs/API/10-lang/10-chrono/10-equalTime.ts +26 -0
  96. package/docs/API/10-lang/10-chrono/10-formatDate.ts +43 -0
  97. package/docs/API/10-lang/10-chrono/10-formatTime.ts +37 -0
  98. package/docs/API/10-lang/10-chrono/10-getDayOfMonth.ts +37 -0
  99. package/docs/API/10-lang/10-chrono/10-getDayOfWeek.ts +30 -0
  100. package/docs/API/10-lang/10-chrono/10-getDayOfYear.ts +28 -0
  101. package/docs/API/10-lang/10-chrono/10-getDifference.ts +29 -0
  102. package/docs/API/10-lang/10-chrono/10-getFirstDayOfMonth.ts +24 -0
  103. package/docs/API/10-lang/10-chrono/10-getFirstDayOfWeek.ts +24 -0
  104. package/docs/API/10-lang/10-chrono/10-getHour.ts +28 -0
  105. package/docs/API/10-lang/10-chrono/10-getLastDayOfMonth.ts +24 -0
  106. package/docs/API/10-lang/10-chrono/10-getLastDayOfWeek.ts +24 -0
  107. package/docs/API/10-lang/10-chrono/10-getMilliseconds.ts +24 -0
  108. package/docs/API/10-lang/10-chrono/10-getMinute.ts +27 -0
  109. package/docs/API/10-lang/10-chrono/10-getMonth.ts +27 -0
  110. package/docs/API/10-lang/10-chrono/10-getSecond.ts +27 -0
  111. package/docs/API/10-lang/10-chrono/10-getTimezoneOffset.ts +28 -0
  112. package/docs/API/10-lang/10-chrono/10-getWeekOfYear.ts +27 -0
  113. package/docs/API/10-lang/10-chrono/10-getYear.ts +27 -0
  114. package/docs/API/10-lang/10-chrono/10-greaterThanDate.ts +26 -0
  115. package/docs/API/10-lang/10-chrono/10-greaterThanOrEqualDate.ts +26 -0
  116. package/docs/API/10-lang/10-chrono/10-greaterThanOrEqualTime.ts +26 -0
  117. package/docs/API/10-lang/10-chrono/10-greaterThanTime.ts +26 -0
  118. package/docs/API/10-lang/10-chrono/10-isDate.ts +36 -0
  119. package/docs/API/10-lang/10-chrono/10-isSafeTimeValue.ts +19 -0
  120. package/docs/API/10-lang/10-chrono/10-isSafeTimestamp.ts +19 -0
  121. package/docs/API/10-lang/10-chrono/10-isSerializedTheDate.ts +41 -0
  122. package/docs/API/10-lang/10-chrono/10-isSerializedTheTime.ts +41 -0
  123. package/docs/API/10-lang/10-chrono/10-isTime.ts +36 -0
  124. package/docs/API/10-lang/10-chrono/10-lessThanDate.ts +26 -0
  125. package/docs/API/10-lang/10-chrono/10-lessThanOrEqualDate.ts +26 -0
  126. package/docs/API/10-lang/10-chrono/10-lessThanOrEqualTime.ts +26 -0
  127. package/docs/API/10-lang/10-chrono/10-lessThanTime.ts +26 -0
  128. package/docs/API/10-lang/10-chrono/10-makeSafeTimeValue.ts +19 -0
  129. package/docs/API/10-lang/10-chrono/10-makeSafeTimestamp.ts +19 -0
  130. package/docs/API/10-lang/10-chrono/10-maxDate.ts +19 -0
  131. package/docs/API/10-lang/10-chrono/10-maxTime.ts +19 -0
  132. package/docs/API/10-lang/10-chrono/10-minDate.ts +19 -0
  133. package/docs/API/10-lang/10-chrono/10-minTime.ts +19 -0
  134. package/docs/API/10-lang/10-chrono/10-now.ts +13 -0
  135. package/docs/API/10-lang/10-chrono/10-round.ts +41 -0
  136. package/docs/API/10-lang/10-chrono/10-serialize.ts +23 -0
  137. package/docs/API/10-lang/10-chrono/10-sortDates.ts +30 -0
  138. package/docs/API/10-lang/10-chrono/10-sortTimes.ts +29 -0
  139. package/docs/API/10-lang/10-chrono/10-subtractDays.ts +25 -0
  140. package/docs/API/10-lang/10-chrono/10-subtractHours.ts +25 -0
  141. package/docs/API/10-lang/10-chrono/10-subtractMilliseconds.ts +25 -0
  142. package/docs/API/10-lang/10-chrono/10-subtractMinutes.ts +25 -0
  143. package/docs/API/10-lang/10-chrono/10-subtractMonths.ts +25 -0
  144. package/docs/API/10-lang/10-chrono/10-subtractSeconds.ts +25 -0
  145. package/docs/API/10-lang/10-chrono/10-subtractTime.ts +38 -0
  146. package/docs/API/10-lang/10-chrono/10-subtractWeeks.ts +25 -0
  147. package/docs/API/10-lang/10-chrono/10-subtractYears.ts +25 -0
  148. package/docs/API/10-lang/10-chrono/10-toDateISOString.ts +17 -0
  149. package/docs/API/10-lang/10-chrono/10-toNative.ts +25 -0
  150. package/docs/API/10-lang/10-chrono/10-toTimeValue.ts +17 -0
  151. package/docs/API/10-lang/10-chrono/10-toTimestamp.ts +17 -0
  152. package/docs/API/10-lang/10-chrono/10-today.ts +13 -0
  153. package/docs/API/10-lang/10-chrono/10-tomorrow.ts +13 -0
  154. package/docs/API/10-lang/10-chrono/10-yesterday.ts +13 -0
  155. package/docs/API/10-lang/10-chrono/index.llms.md +332 -0
  156. package/docs/API/10-lang/10-chrono/index.md +3 -0
  157. package/docs/API/10-lang/10-common/10-and.ts +51 -0
  158. package/docs/API/10-lang/10-common/10-asserts.ts +13 -0
  159. package/docs/API/10-lang/10-common/10-asyncInnerPipe.ts +23 -0
  160. package/docs/API/10-lang/10-common/10-asyncLoop.ts +25 -0
  161. package/docs/API/10-lang/10-common/10-asyncPipe.ts +21 -0
  162. package/docs/API/10-lang/10-common/10-callThen.ts +22 -0
  163. package/docs/API/10-lang/10-common/10-cast.ts +16 -0
  164. package/docs/API/10-lang/10-common/10-clone.ts +12 -0
  165. package/docs/API/10-lang/10-common/10-createAsyncRetry.ts +34 -0
  166. package/docs/API/10-lang/10-common/10-createBuilder.ts +19 -0
  167. package/docs/API/10-lang/10-common/10-createEnum.ts +25 -0
  168. package/docs/API/10-lang/10-common/10-createExternalPromise.ts +13 -0
  169. package/docs/API/10-lang/10-common/10-createFormData.ts +16 -0
  170. package/docs/API/10-lang/10-common/10-createInterpolation.ts +12 -0
  171. package/docs/API/10-lang/10-common/10-createQueue.ts +17 -0
  172. package/docs/API/10-lang/10-common/10-createTransformer.ts +16 -0
  173. package/docs/API/10-lang/10-common/10-detachObjectMethod.ts +20 -0
  174. package/docs/API/10-lang/10-common/10-equal.ts +37 -0
  175. package/docs/API/10-lang/10-common/10-escapeRegExp.ts +11 -0
  176. package/docs/API/10-lang/10-common/10-falsy.ts +31 -0
  177. package/docs/API/10-lang/10-common/10-forward.ts +11 -0
  178. package/docs/API/10-lang/10-common/10-forwardAsserts.ts +17 -0
  179. package/docs/API/10-lang/10-common/10-forwardLog.ts +11 -0
  180. package/docs/API/10-lang/10-common/10-infer.ts +16 -0
  181. package/docs/API/10-lang/10-common/10-innerPipe.ts +23 -0
  182. package/docs/API/10-lang/10-common/10-instanceOf.ts +34 -0
  183. package/docs/API/10-lang/10-common/10-isType.ts +35 -0
  184. package/docs/API/10-lang/10-common/10-justExec.ts +28 -0
  185. package/docs/API/10-lang/10-common/10-justReturn.ts +19 -0
  186. package/docs/API/10-lang/10-common/10-loop.ts +20 -0
  187. package/docs/API/10-lang/10-common/10-memo.ts +12 -0
  188. package/docs/API/10-lang/10-common/10-memoObject.ts +11 -0
  189. package/docs/API/10-lang/10-common/10-memoPromise.ts +16 -0
  190. package/docs/API/10-lang/10-common/10-or.ts +43 -0
  191. package/docs/API/10-lang/10-common/10-pipe.ts +21 -0
  192. package/docs/API/10-lang/10-common/10-pipeCall.ts +20 -0
  193. package/docs/API/10-lang/10-common/10-prepareAsyncPipe.ts +20 -0
  194. package/docs/API/10-lang/10-common/10-preparePipe.ts +20 -0
  195. package/docs/API/10-lang/10-common/10-promiseAll.ts +16 -0
  196. package/docs/API/10-lang/10-common/10-promiseObject.ts +22 -0
  197. package/docs/API/10-lang/10-common/10-removeConstraint.ts +13 -0
  198. package/docs/API/10-lang/10-common/10-shameOnYou.ts +20 -0
  199. package/docs/API/10-lang/10-common/10-simpleClone.ts +12 -0
  200. package/docs/API/10-lang/10-common/10-stringToBytes.ts +16 -0
  201. package/docs/API/10-lang/10-common/10-stringToMillisecond.ts +17 -0
  202. package/docs/API/10-lang/10-common/10-tap.ts +28 -0
  203. package/docs/API/10-lang/10-common/10-timeout.ts +11 -0
  204. package/docs/API/10-lang/10-common/10-toCurriedPredicate.ts +28 -0
  205. package/docs/API/10-lang/10-common/10-toJSON.ts +15 -0
  206. package/docs/API/10-lang/10-common/10-toNative.ts +15 -0
  207. package/docs/API/10-lang/10-common/10-toRegExp.ts +17 -0
  208. package/docs/API/10-lang/10-common/10-transformer.ts +21 -0
  209. package/docs/API/10-lang/10-common/10-truthy.ts +31 -0
  210. package/docs/API/10-lang/10-common/10-useAsyncRetry.ts +31 -0
  211. package/docs/API/10-lang/10-common/10-when.ts +27 -0
  212. package/docs/API/10-lang/10-common/10-whenElse.ts +28 -0
  213. package/docs/API/10-lang/10-common/10-whenNot.ts +57 -0
  214. package/docs/API/10-lang/10-common/index.llms.md +232 -0
  215. package/docs/API/10-lang/10-common/index.md +3 -0
  216. package/docs/API/10-lang/10-dataStructure/10-absolutePath.ts +25 -0
  217. package/docs/API/10-lang/10-dataStructure/10-allowedCharacters.ts +25 -0
  218. package/docs/API/10-lang/10-dataStructure/10-array.ts +23 -0
  219. package/docs/API/10-lang/10-dataStructure/10-arrayLengthEqual.ts +25 -0
  220. package/docs/API/10-lang/10-dataStructure/10-betweenThan.ts +25 -0
  221. package/docs/API/10-lang/10-dataStructure/10-betweenThanOrEqual.ts +25 -0
  222. package/docs/API/10-lang/10-dataStructure/10-bigint.ts +22 -0
  223. package/docs/API/10-lang/10-dataStructure/10-boolean.ts +22 -0
  224. package/docs/API/10-lang/10-dataStructure/10-createCodec.ts +45 -0
  225. package/docs/API/10-lang/10-dataStructure/10-createCodecs.ts +134 -0
  226. package/docs/API/10-lang/10-dataStructure/10-createErrorInterpreter.ts +74 -0
  227. package/docs/API/10-lang/10-dataStructure/10-date.ts +23 -0
  228. package/docs/API/10-lang/10-dataStructure/10-email.ts +25 -0
  229. package/docs/API/10-lang/10-dataStructure/10-endsWith.ts +24 -0
  230. package/docs/API/10-lang/10-dataStructure/10-even.ts +25 -0
  231. package/docs/API/10-lang/10-dataStructure/10-extend.ts +27 -0
  232. package/docs/API/10-lang/10-dataStructure/10-greaterThan.ts +25 -0
  233. package/docs/API/10-lang/10-dataStructure/10-greaterThanOrEqual.ts +25 -0
  234. package/docs/API/10-lang/10-dataStructure/10-include.ts +24 -0
  235. package/docs/API/10-lang/10-dataStructure/10-integer.ts +25 -0
  236. package/docs/API/10-lang/10-dataStructure/10-isNullStructure.ts +12 -0
  237. package/docs/API/10-lang/10-dataStructure/10-isNullable.ts +12 -0
  238. package/docs/API/10-lang/10-dataStructure/10-isOptional.ts +12 -0
  239. package/docs/API/10-lang/10-dataStructure/10-isUndefinedStructure.ts +12 -0
  240. package/docs/API/10-lang/10-dataStructure/10-lazy.ts +23 -0
  241. package/docs/API/10-lang/10-dataStructure/10-lessThan.ts +25 -0
  242. package/docs/API/10-lang/10-dataStructure/10-lessThanOrEqual.ts +25 -0
  243. package/docs/API/10-lang/10-dataStructure/10-literal.ts +19 -0
  244. package/docs/API/10-lang/10-dataStructure/10-maxCharacters.ts +25 -0
  245. package/docs/API/10-lang/10-dataStructure/10-maxElements.ts +25 -0
  246. package/docs/API/10-lang/10-dataStructure/10-minCharacters.ts +25 -0
  247. package/docs/API/10-lang/10-dataStructure/10-minElements.ts +25 -0
  248. package/docs/API/10-lang/10-dataStructure/10-multipleOf.ts +25 -0
  249. package/docs/API/10-lang/10-dataStructure/10-negative.ts +25 -0
  250. package/docs/API/10-lang/10-dataStructure/10-notEmpty.ts +25 -0
  251. package/docs/API/10-lang/10-dataStructure/10-notZero.ts +25 -0
  252. package/docs/API/10-lang/10-dataStructure/10-null.ts +22 -0
  253. package/docs/API/10-lang/10-dataStructure/10-nullable.ts +19 -0
  254. package/docs/API/10-lang/10-dataStructure/10-number.ts +22 -0
  255. package/docs/API/10-lang/10-dataStructure/10-numberInString.ts +25 -0
  256. package/docs/API/10-lang/10-dataStructure/10-object.ts +25 -0
  257. package/docs/API/10-lang/10-dataStructure/10-odd.ts +25 -0
  258. package/docs/API/10-lang/10-dataStructure/10-optional.ts +19 -0
  259. package/docs/API/10-lang/10-dataStructure/10-partial.ts +23 -0
  260. package/docs/API/10-lang/10-dataStructure/10-path.ts +25 -0
  261. package/docs/API/10-lang/10-dataStructure/10-positive.ts +25 -0
  262. package/docs/API/10-lang/10-dataStructure/10-record.ts +22 -0
  263. package/docs/API/10-lang/10-dataStructure/10-refine.ts +27 -0
  264. package/docs/API/10-lang/10-dataStructure/10-regex.ts +24 -0
  265. package/docs/API/10-lang/10-dataStructure/10-required.ts +21 -0
  266. package/docs/API/10-lang/10-dataStructure/10-safe.ts +25 -0
  267. package/docs/API/10-lang/10-dataStructure/10-segmentPath.ts +25 -0
  268. package/docs/API/10-lang/10-dataStructure/10-startsWith.ts +24 -0
  269. package/docs/API/10-lang/10-dataStructure/10-strictNegative.ts +25 -0
  270. package/docs/API/10-lang/10-dataStructure/10-strictPositive.ts +25 -0
  271. package/docs/API/10-lang/10-dataStructure/10-string.ts +22 -0
  272. package/docs/API/10-lang/10-dataStructure/10-stringLengthEqual.ts +25 -0
  273. package/docs/API/10-lang/10-dataStructure/10-time.ts +23 -0
  274. package/docs/API/10-lang/10-dataStructure/10-trimmed.ts +25 -0
  275. package/docs/API/10-lang/10-dataStructure/10-typeStructureIdentifier.ts +33 -0
  276. package/docs/API/10-lang/10-dataStructure/10-undefined.ts +22 -0
  277. package/docs/API/10-lang/10-dataStructure/10-union.ts +24 -0
  278. package/docs/API/10-lang/10-dataStructure/10-unwrapLazy.ts +17 -0
  279. package/docs/API/10-lang/10-dataStructure/10-url.ts +25 -0
  280. package/docs/API/10-lang/10-dataStructure/10-uuid.ts +25 -0
  281. package/docs/API/10-lang/10-dataStructure/index.llms.md +264 -0
  282. package/docs/API/10-lang/10-dataStructure/index.md +3 -0
  283. package/docs/API/10-lang/10-either/10-asyncGroup.ts +44 -0
  284. package/docs/API/10-lang/10-either/10-asyncSafeCallback.ts +25 -0
  285. package/docs/API/10-lang/10-either/10-error.ts +12 -0
  286. package/docs/API/10-lang/10-either/10-expect.ts +13 -0
  287. package/docs/API/10-lang/10-either/10-extractErrorInLeft.ts +45 -0
  288. package/docs/API/10-lang/10-either/10-fail.ts +12 -0
  289. package/docs/API/10-lang/10-either/10-forwardAssertsSelection.ts +28 -0
  290. package/docs/API/10-lang/10-either/10-group.ts +58 -0
  291. package/docs/API/10-lang/10-either/10-hasInformation.ts +30 -0
  292. package/docs/API/10-lang/10-either/10-isLeft.ts +25 -0
  293. package/docs/API/10-lang/10-either/10-isRight.ts +25 -0
  294. package/docs/API/10-lang/10-either/10-isSelected.ts +41 -0
  295. package/docs/API/10-lang/10-either/10-keepAsRightByInformation.ts +29 -0
  296. package/docs/API/10-lang/10-either/10-keepAsRightSelection.ts +23 -0
  297. package/docs/API/10-lang/10-either/10-left.ts +13 -0
  298. package/docs/API/10-lang/10-either/10-matchInformation.ts +28 -0
  299. package/docs/API/10-lang/10-either/10-matchInformationCombination.ts +61 -0
  300. package/docs/API/10-lang/10-either/10-matchInformationCombinationOtherwise.ts +62 -0
  301. package/docs/API/10-lang/10-either/10-matchInformationOtherwise.ts +29 -0
  302. package/docs/API/10-lang/10-either/10-none.ts +12 -0
  303. package/docs/API/10-lang/10-either/10-ok.ts +12 -0
  304. package/docs/API/10-lang/10-either/10-result.ts +18 -0
  305. package/docs/API/10-lang/10-either/10-rewriteInformation.ts +24 -0
  306. package/docs/API/10-lang/10-either/10-right.ts +13 -0
  307. package/docs/API/10-lang/10-either/10-rightAsyncPipe.ts +70 -0
  308. package/docs/API/10-lang/10-either/10-rightPipe.ts +72 -0
  309. package/docs/API/10-lang/10-either/10-safeCallback.ts +29 -0
  310. package/docs/API/10-lang/10-either/10-some.ts +12 -0
  311. package/docs/API/10-lang/10-either/10-success.ts +12 -0
  312. package/docs/API/10-lang/10-either/10-toMaybe.ts +53 -0
  313. package/docs/API/10-lang/10-either/10-unwrapByInformation.ts +20 -0
  314. package/docs/API/10-lang/10-either/10-unwrapByInformationOrThrow.ts +19 -0
  315. package/docs/API/10-lang/10-either/10-unwrapLeft.ts +14 -0
  316. package/docs/API/10-lang/10-either/10-unwrapLeftOrThrow.ts +17 -0
  317. package/docs/API/10-lang/10-either/10-unwrapOr.ts +17 -0
  318. package/docs/API/10-lang/10-either/10-unwrapOtherwise.ts +20 -0
  319. package/docs/API/10-lang/10-either/10-unwrapRight.ts +14 -0
  320. package/docs/API/10-lang/10-either/10-unwrapRightOrThrow.ts +17 -0
  321. package/docs/API/10-lang/10-either/10-unwrapSelection.ts +26 -0
  322. package/docs/API/10-lang/10-either/10-unwrapSelectionOrThrow.ts +19 -0
  323. package/docs/API/10-lang/10-either/10-whenHasInformation.ts +36 -0
  324. package/docs/API/10-lang/10-either/10-whenHasInformationOtherwise.ts +29 -0
  325. package/docs/API/10-lang/10-either/10-whenIsLeft.ts +20 -0
  326. package/docs/API/10-lang/10-either/10-whenIsLeftOtherwise.ts +27 -0
  327. package/docs/API/10-lang/10-either/10-whenIsRight.ts +20 -0
  328. package/docs/API/10-lang/10-either/10-whenIsRightOtherwise.ts +26 -0
  329. package/docs/API/10-lang/10-either/10-whenIsSelected.ts +33 -0
  330. package/docs/API/10-lang/10-either/10-whenIsSelectedOtherwise.ts +35 -0
  331. package/docs/API/10-lang/10-either/index.llms.md +196 -0
  332. package/docs/API/10-lang/10-either/index.md +3 -0
  333. package/docs/API/10-lang/10-generator/10-asyncChunk.ts +55 -0
  334. package/docs/API/10-lang/10-generator/10-asyncConcat.ts +43 -0
  335. package/docs/API/10-lang/10-generator/10-asyncFilter.ts +41 -0
  336. package/docs/API/10-lang/10-generator/10-asyncFlat.ts +37 -0
  337. package/docs/API/10-lang/10-generator/10-asyncGroup.ts +65 -0
  338. package/docs/API/10-lang/10-generator/10-asyncLoop.ts +59 -0
  339. package/docs/API/10-lang/10-generator/10-asyncMap.ts +48 -0
  340. package/docs/API/10-lang/10-generator/10-asyncReduce.ts +63 -0
  341. package/docs/API/10-lang/10-generator/10-chunk.ts +44 -0
  342. package/docs/API/10-lang/10-generator/10-concat.ts +37 -0
  343. package/docs/API/10-lang/10-generator/10-createExternalAsyncGenerator.ts +29 -0
  344. package/docs/API/10-lang/10-generator/10-execute.ts +44 -0
  345. package/docs/API/10-lang/10-generator/10-filter.ts +35 -0
  346. package/docs/API/10-lang/10-generator/10-flat.ts +25 -0
  347. package/docs/API/10-lang/10-generator/10-group.ts +44 -0
  348. package/docs/API/10-lang/10-generator/10-groupOutput.ts +48 -0
  349. package/docs/API/10-lang/10-generator/10-loop.ts +55 -0
  350. package/docs/API/10-lang/10-generator/10-map.ts +35 -0
  351. package/docs/API/10-lang/10-generator/10-reduce.ts +51 -0
  352. package/docs/API/10-lang/10-generator/10-reduceFrom.ts +30 -0
  353. package/docs/API/10-lang/10-generator/index.llms.md +84 -0
  354. package/docs/API/10-lang/10-generator/index.md +3 -0
  355. package/docs/API/10-lang/10-number/10-betweenThan.ts +43 -0
  356. package/docs/API/10-lang/10-number/10-betweenThanOrEqual.ts +43 -0
  357. package/docs/API/10-lang/10-number/10-greaterThan.ts +35 -0
  358. package/docs/API/10-lang/10-number/10-greaterThanOrEqual.ts +35 -0
  359. package/docs/API/10-lang/10-number/10-isEven.ts +33 -0
  360. package/docs/API/10-lang/10-number/10-isInteger.ts +33 -0
  361. package/docs/API/10-lang/10-number/10-isMultipleOf.ts +35 -0
  362. package/docs/API/10-lang/10-number/10-isNegative.ts +33 -0
  363. package/docs/API/10-lang/10-number/10-isNotZero.ts +33 -0
  364. package/docs/API/10-lang/10-number/10-isOdd.ts +33 -0
  365. package/docs/API/10-lang/10-number/10-isPositive.ts +33 -0
  366. package/docs/API/10-lang/10-number/10-isSafe.ts +33 -0
  367. package/docs/API/10-lang/10-number/10-isStrictNegative.ts +34 -0
  368. package/docs/API/10-lang/10-number/10-isStrictPositive.ts +33 -0
  369. package/docs/API/10-lang/10-number/10-lessThan.ts +35 -0
  370. package/docs/API/10-lang/10-number/10-lessThanOrEqual.ts +35 -0
  371. package/docs/API/10-lang/10-number/10-max.ts +19 -0
  372. package/docs/API/10-lang/10-number/10-maxOf.ts +19 -0
  373. package/docs/API/10-lang/10-number/10-min.ts +19 -0
  374. package/docs/API/10-lang/10-number/10-minOf.ts +19 -0
  375. package/docs/API/10-lang/10-number/10-sort.ts +19 -0
  376. package/docs/API/10-lang/10-number/10-sum.ts +19 -0
  377. package/docs/API/10-lang/10-number/index.llms.md +92 -0
  378. package/docs/API/10-lang/10-number/index.md +3 -0
  379. package/docs/API/10-lang/10-object/10-assign.ts +41 -0
  380. package/docs/API/10-lang/10-object/10-countKeys.ts +15 -0
  381. package/docs/API/10-lang/10-object/10-deepDiscriminate.ts +63 -0
  382. package/docs/API/10-lang/10-object/10-deepOverride.ts +35 -0
  383. package/docs/API/10-lang/10-object/10-discriminate.ts +55 -0
  384. package/docs/API/10-lang/10-object/10-discriminateEntryKey.ts +43 -0
  385. package/docs/API/10-lang/10-object/10-discriminateEntryValue.ts +44 -0
  386. package/docs/API/10-lang/10-object/10-entries.ts +19 -0
  387. package/docs/API/10-lang/10-object/10-entry.ts +17 -0
  388. package/docs/API/10-lang/10-object/10-fromEntries.ts +23 -0
  389. package/docs/API/10-lang/10-object/10-getDeepProperty.ts +26 -0
  390. package/docs/API/10-lang/10-object/10-getProperty.ts +24 -0
  391. package/docs/API/10-lang/10-object/10-hasKeys.ts +43 -0
  392. package/docs/API/10-lang/10-object/10-isSimple.ts +38 -0
  393. package/docs/API/10-lang/10-object/10-keys.ts +19 -0
  394. package/docs/API/10-lang/10-object/10-omit.ts +39 -0
  395. package/docs/API/10-lang/10-object/10-override.ts +24 -0
  396. package/docs/API/10-lang/10-object/10-pick.ts +41 -0
  397. package/docs/API/10-lang/10-object/10-to.ts +40 -0
  398. package/docs/API/10-lang/10-object/10-transformProperties.ts +43 -0
  399. package/docs/API/10-lang/10-object/10-transformProperty.ts +39 -0
  400. package/docs/API/10-lang/10-object/10-values.ts +19 -0
  401. package/docs/API/10-lang/10-object/index.llms.md +92 -0
  402. package/docs/API/10-lang/10-object/index.md +3 -0
  403. package/docs/API/10-lang/10-path/10-computeRelative.ts +19 -0
  404. package/docs/API/10-lang/10-path/10-concatSegment.ts +28 -0
  405. package/docs/API/10-lang/10-path/10-create.ts +21 -0
  406. package/docs/API/10-lang/10-path/10-createAbsolute.ts +21 -0
  407. package/docs/API/10-lang/10-path/10-createAbsoluteOrThrow.ts +16 -0
  408. package/docs/API/10-lang/10-path/10-createMatcher.ts +50 -0
  409. package/docs/API/10-lang/10-path/10-createOrThrow.ts +16 -0
  410. package/docs/API/10-lang/10-path/10-createSegment.ts +26 -0
  411. package/docs/API/10-lang/10-path/10-createSegmentOrThrow.ts +16 -0
  412. package/docs/API/10-lang/10-path/10-declareAbsolutePath.ts +15 -0
  413. package/docs/API/10-lang/10-path/10-declarePath.ts +15 -0
  414. package/docs/API/10-lang/10-path/10-declareSegment.ts +15 -0
  415. package/docs/API/10-lang/10-path/10-getBaseName.ts +22 -0
  416. package/docs/API/10-lang/10-path/10-getExtensionName.ts +22 -0
  417. package/docs/API/10-lang/10-path/10-getParentFolderPath.ts +25 -0
  418. package/docs/API/10-lang/10-path/10-is.ts +46 -0
  419. package/docs/API/10-lang/10-path/10-isAbsolute.ts +46 -0
  420. package/docs/API/10-lang/10-path/10-isSegment.ts +42 -0
  421. package/docs/API/10-lang/10-path/10-normalize.ts +26 -0
  422. package/docs/API/10-lang/10-path/10-resolveFrom.ts +37 -0
  423. package/docs/API/10-lang/10-path/10-resolveRelative.ts +23 -0
  424. package/docs/API/10-lang/10-path/index.llms.md +88 -0
  425. package/docs/API/10-lang/10-path/index.md +3 -0
  426. package/docs/API/10-lang/10-pattern/10-exhaustive.ts +26 -0
  427. package/docs/API/10-lang/10-pattern/10-isMatch.ts +72 -0
  428. package/docs/API/10-lang/10-pattern/10-match.ts +133 -0
  429. package/docs/API/10-lang/10-pattern/10-matchWithEntity.ts +49 -0
  430. package/docs/API/10-lang/10-pattern/10-matchWithEntityOtherwise.ts +55 -0
  431. package/docs/API/10-lang/10-pattern/10-matchWithError.ts +45 -0
  432. package/docs/API/10-lang/10-pattern/10-matchWithErrorOtherwise.ts +48 -0
  433. package/docs/API/10-lang/10-pattern/10-matchWithFact.ts +49 -0
  434. package/docs/API/10-lang/10-pattern/10-matchWithFactOtherwise.ts +49 -0
  435. package/docs/API/10-lang/10-pattern/10-matchWithNumber.ts +33 -0
  436. package/docs/API/10-lang/10-pattern/10-matchWithNumberOtherwise.ts +37 -0
  437. package/docs/API/10-lang/10-pattern/10-matchWithString.ts +34 -0
  438. package/docs/API/10-lang/10-pattern/10-matchWithStringOtherwise.ts +35 -0
  439. package/docs/API/10-lang/10-pattern/10-matchWithTaggedObject.ts +43 -0
  440. package/docs/API/10-lang/10-pattern/10-matchWithTaggedObjectOtherwise.ts +49 -0
  441. package/docs/API/10-lang/10-pattern/10-otherwise.ts +28 -0
  442. package/docs/API/10-lang/10-pattern/10-union.ts +47 -0
  443. package/docs/API/10-lang/10-pattern/10-when.ts +46 -0
  444. package/docs/API/10-lang/10-pattern/10-whenNot.ts +123 -0
  445. package/docs/API/10-lang/10-pattern/index.llms.md +80 -0
  446. package/docs/API/10-lang/10-pattern/index.md +3 -0
  447. package/docs/API/10-lang/10-printer/10-bold.ts +12 -0
  448. package/docs/API/10-lang/10-printer/10-colorized.ts +18 -0
  449. package/docs/API/10-lang/10-printer/10-colorizedBold.ts +18 -0
  450. package/docs/API/10-lang/10-printer/10-indent.ts +20 -0
  451. package/docs/API/10-lang/10-printer/10-primitives.md +11 -0
  452. package/docs/API/10-lang/10-printer/10-render.ts +29 -0
  453. package/docs/API/10-lang/10-printer/10-renderLine.ts +12 -0
  454. package/docs/API/10-lang/10-printer/10-renderParagraph.ts +16 -0
  455. package/docs/API/10-lang/10-printer/index.llms.md +37 -0
  456. package/docs/API/10-lang/10-printer/index.md +3 -0
  457. package/docs/API/10-lang/10-string/10-at.ts +18 -0
  458. package/docs/API/10-lang/10-string/10-capitalize.ts +18 -0
  459. package/docs/API/10-lang/10-string/10-charAt.ts +18 -0
  460. package/docs/API/10-lang/10-string/10-concat.ts +18 -0
  461. package/docs/API/10-lang/10-string/10-endsWith.ts +33 -0
  462. package/docs/API/10-lang/10-string/10-extract.ts +18 -0
  463. package/docs/API/10-lang/10-string/10-extractAll.ts +18 -0
  464. package/docs/API/10-lang/10-string/10-first.ts +17 -0
  465. package/docs/API/10-lang/10-string/10-includes.ts +33 -0
  466. package/docs/API/10-lang/10-string/10-indexOf.ts +17 -0
  467. package/docs/API/10-lang/10-string/10-isComposedOf.ts +33 -0
  468. package/docs/API/10-lang/10-string/10-isEmail.ts +56 -0
  469. package/docs/API/10-lang/10-string/10-isIn.ts +34 -0
  470. package/docs/API/10-lang/10-string/10-isKeyof.ts +37 -0
  471. package/docs/API/10-lang/10-string/10-isNotEmpty.ts +32 -0
  472. package/docs/API/10-lang/10-string/10-isNumber.ts +32 -0
  473. package/docs/API/10-lang/10-string/10-isTrimmed.ts +33 -0
  474. package/docs/API/10-lang/10-string/10-isUrl.ts +31 -0
  475. package/docs/API/10-lang/10-string/10-isUuid.ts +31 -0
  476. package/docs/API/10-lang/10-string/10-join.ts +18 -0
  477. package/docs/API/10-lang/10-string/10-last.ts +17 -0
  478. package/docs/API/10-lang/10-string/10-lastIndexOf.ts +17 -0
  479. package/docs/API/10-lang/10-string/10-length.ts +18 -0
  480. package/docs/API/10-lang/10-string/10-lengthEqual.ts +33 -0
  481. package/docs/API/10-lang/10-string/10-maxCharacters.ts +33 -0
  482. package/docs/API/10-lang/10-string/10-minCharacters.ts +33 -0
  483. package/docs/API/10-lang/10-string/10-normalize.ts +17 -0
  484. package/docs/API/10-lang/10-string/10-padEnd.ts +17 -0
  485. package/docs/API/10-lang/10-string/10-padStart.ts +17 -0
  486. package/docs/API/10-lang/10-string/10-pop.ts +17 -0
  487. package/docs/API/10-lang/10-string/10-prepend.ts +17 -0
  488. package/docs/API/10-lang/10-string/10-repeat.ts +17 -0
  489. package/docs/API/10-lang/10-string/10-replace.ts +18 -0
  490. package/docs/API/10-lang/10-string/10-replaceAll.ts +17 -0
  491. package/docs/API/10-lang/10-string/10-search.ts +17 -0
  492. package/docs/API/10-lang/10-string/10-shift.ts +17 -0
  493. package/docs/API/10-lang/10-string/10-slice.ts +17 -0
  494. package/docs/API/10-lang/10-string/10-sort.ts +19 -0
  495. package/docs/API/10-lang/10-string/10-sortCompare.ts +17 -0
  496. package/docs/API/10-lang/10-string/10-split.ts +34 -0
  497. package/docs/API/10-lang/10-string/10-startsWith.ts +33 -0
  498. package/docs/API/10-lang/10-string/10-stringify.ts +11 -0
  499. package/docs/API/10-lang/10-string/10-substring.ts +17 -0
  500. package/docs/API/10-lang/10-string/10-test.ts +17 -0
  501. package/docs/API/10-lang/10-string/10-to.ts +11 -0
  502. package/docs/API/10-lang/10-string/10-toLowerCase.ts +17 -0
  503. package/docs/API/10-lang/10-string/10-toUpperCase.ts +17 -0
  504. package/docs/API/10-lang/10-string/10-trim.ts +17 -0
  505. package/docs/API/10-lang/10-string/10-trimEnd.ts +17 -0
  506. package/docs/API/10-lang/10-string/10-trimStart.ts +17 -0
  507. package/docs/API/10-lang/10-string/10-uncapitalize.ts +17 -0
  508. package/docs/API/10-lang/10-string/index.llms.md +208 -0
  509. package/docs/API/10-lang/10-string/index.md +3 -0
  510. package/docs/API/10-lang/10-tuple/10-from.ts +50 -0
  511. package/docs/API/10-lang/10-tuple/10-map.ts +37 -0
  512. package/docs/API/10-lang/10-tuple/index.llms.md +12 -0
  513. package/docs/API/10-lang/10-tuple/index.md +3 -0
  514. package/docs/API/10-lang/index.md +3 -0
  515. package/docs/API/40-json-web-token/10-tokenHandler/10-createTokenHandler.ts +160 -0
  516. package/docs/API/40-json-web-token/10-tokenHandler/index.llms.md +8 -0
  517. package/docs/API/40-json-web-token/10-tokenHandler/index.md +3 -0
  518. package/docs/API/40-json-web-token/20-signer/10-createHS256.ts +24 -0
  519. package/docs/API/40-json-web-token/20-signer/10-createHS512.ts +24 -0
  520. package/docs/API/40-json-web-token/20-signer/10-createRS256.ts +28 -0
  521. package/docs/API/40-json-web-token/20-signer/10-createRS512.ts +28 -0
  522. package/docs/API/40-json-web-token/20-signer/10-factory.ts +29 -0
  523. package/docs/API/40-json-web-token/20-signer/index.llms.md +24 -0
  524. package/docs/API/40-json-web-token/20-signer/index.md +3 -0
  525. package/docs/API/40-json-web-token/30-cipher/10-createRSAOAEP.ts +26 -0
  526. package/docs/API/40-json-web-token/30-cipher/10-createRSAOAEP256.ts +26 -0
  527. package/docs/API/40-json-web-token/30-cipher/10-factory.ts +29 -0
  528. package/docs/API/40-json-web-token/30-cipher/index.llms.md +16 -0
  529. package/docs/API/40-json-web-token/30-cipher/index.md +3 -0
  530. package/docs/API/40-json-web-token/40-utils/10-AES_GCM.decrypt.ts +17 -0
  531. package/docs/API/40-json-web-token/40-utils/10-AES_GCM.encrypt.ts +11 -0
  532. package/docs/API/40-json-web-token/40-utils/10-AES_GCM.generateInitializationVector.ts +9 -0
  533. package/docs/API/40-json-web-token/40-utils/10-HMAC.sign.ts +13 -0
  534. package/docs/API/40-json-web-token/40-utils/10-HMAC.verify.ts +11 -0
  535. package/docs/API/40-json-web-token/40-utils/10-RSA.sign.ts +14 -0
  536. package/docs/API/40-json-web-token/40-utils/10-RSA.verify.ts +13 -0
  537. package/docs/API/40-json-web-token/40-utils/10-RSA_OAEP.decrypt.ts +13 -0
  538. package/docs/API/40-json-web-token/40-utils/10-RSA_OAEP.encrypt.ts +10 -0
  539. package/docs/API/40-json-web-token/40-utils/10-decodeBase64.ts +9 -0
  540. package/docs/API/40-json-web-token/40-utils/10-decodeBase64Url.ts +9 -0
  541. package/docs/API/40-json-web-token/40-utils/10-decodeText.ts +9 -0
  542. package/docs/API/40-json-web-token/40-utils/10-encodeBase64.ts +9 -0
  543. package/docs/API/40-json-web-token/40-utils/10-encodeBase64Url.ts +9 -0
  544. package/docs/API/40-json-web-token/40-utils/10-encodeText.ts +9 -0
  545. package/docs/API/40-json-web-token/40-utils/10-isBase64Url.ts +11 -0
  546. package/docs/API/40-json-web-token/40-utils/10-jsonParse.ts +11 -0
  547. package/docs/API/40-json-web-token/40-utils/10-pemToBinary.ts +11 -0
  548. package/docs/API/40-json-web-token/40-utils/index.llms.md +76 -0
  549. package/docs/API/40-json-web-token/40-utils/index.md +3 -0
  550. package/docs/API/40-json-web-token/index.md +3 -0
  551. package/docs/API/50-form/10-vue/10-construction/10-createForm.ts +48 -0
  552. package/docs/API/50-form/10-vue/10-construction/10-createFormField.ts +66 -0
  553. package/docs/API/50-form/10-vue/10-construction/10-createGridTemplates.ts +39 -0
  554. package/docs/API/50-form/10-vue/10-construction/10-createInput.ts +46 -0
  555. package/docs/API/50-form/10-vue/10-construction/10-createTemplate.ts +36 -0
  556. package/docs/API/50-form/10-vue/10-construction/fixtures/AddressInput.vue +19 -0
  557. package/docs/API/50-form/10-vue/10-construction/index.llms.md +24 -0
  558. package/docs/API/50-form/10-vue/10-construction/index.md +3 -0
  559. package/docs/API/50-form/10-vue/20-layouts/10-useCheckLayout.ts +40 -0
  560. package/docs/API/50-form/10-vue/20-layouts/10-useDisabledLayout.ts +34 -0
  561. package/docs/API/50-form/10-vue/20-layouts/10-useMultiLayout.ts +32 -0
  562. package/docs/API/50-form/10-vue/20-layouts/10-useRepeatLayout.ts +34 -0
  563. package/docs/API/50-form/10-vue/20-layouts/10-useSectionLayout.ts +20 -0
  564. package/docs/API/50-form/10-vue/20-layouts/10-useSlotLayout.ts +37 -0
  565. package/docs/API/50-form/10-vue/20-layouts/10-useStepLayout.ts +31 -0
  566. package/docs/API/50-form/10-vue/20-layouts/10-useUnionLayout.ts +48 -0
  567. package/docs/API/50-form/10-vue/20-layouts/index.llms.md +36 -0
  568. package/docs/API/50-form/10-vue/20-layouts/index.md +3 -0
  569. package/docs/API/50-form/10-vue/30-designSystem/10-useCheckbox.ts +13 -0
  570. package/docs/API/50-form/10-vue/30-designSystem/10-useCheckboxPolicy.ts +18 -0
  571. package/docs/API/50-form/10-vue/30-designSystem/10-useDateInput.ts +20 -0
  572. package/docs/API/50-form/10-vue/30-designSystem/10-useDualRangeInput.ts +27 -0
  573. package/docs/API/50-form/10-vue/30-designSystem/10-useFileInput.ts +23 -0
  574. package/docs/API/50-form/10-vue/30-designSystem/10-useNumberInput.ts +18 -0
  575. package/docs/API/50-form/10-vue/30-designSystem/10-useRadioGroup.ts +31 -0
  576. package/docs/API/50-form/10-vue/30-designSystem/10-useRangeDateInput.ts +23 -0
  577. package/docs/API/50-form/10-vue/30-designSystem/10-useRangeInput.ts +18 -0
  578. package/docs/API/50-form/10-vue/30-designSystem/10-useRangeTimeInput.ts +23 -0
  579. package/docs/API/50-form/10-vue/30-designSystem/10-useSelectInput.ts +31 -0
  580. package/docs/API/50-form/10-vue/30-designSystem/10-useTextInput.ts +14 -0
  581. package/docs/API/50-form/10-vue/30-designSystem/10-useTextareaInput.ts +14 -0
  582. package/docs/API/50-form/10-vue/30-designSystem/10-useTimeInput.ts +20 -0
  583. package/docs/API/50-form/10-vue/30-designSystem/20-components.md +11 -0
  584. package/docs/API/50-form/10-vue/30-designSystem/index.llms.md +65 -0
  585. package/docs/API/50-form/10-vue/30-designSystem/index.md +3 -0
  586. package/docs/API/50-form/10-vue/fixtures/templates.ts +20 -0
  587. package/docs/API/50-form/10-vue/index.md +3 -0
  588. package/docs/API/50-form/index.md +3 -0
  589. package/docs/API/60-playwright/10-construction/10-createComponent.ts +47 -0
  590. package/docs/API/60-playwright/10-construction/10-createComponentInteraction.ts +28 -0
  591. package/docs/API/60-playwright/10-construction/10-createPage.ts +34 -0
  592. package/docs/API/60-playwright/10-construction/10-createStepWrapper.ts +23 -0
  593. package/docs/API/60-playwright/10-construction/10-createWebsite.ts +57 -0
  594. package/docs/API/60-playwright/10-construction/10-initClient.ts +38 -0
  595. package/docs/API/60-playwright/10-construction/index.llms.md +28 -0
  596. package/docs/API/60-playwright/10-construction/index.md +3 -0
  597. package/docs/API/60-playwright/20-actions/10-check.ts +9 -0
  598. package/docs/API/60-playwright/20-actions/10-clear.ts +9 -0
  599. package/docs/API/60-playwright/20-actions/10-click.ts +9 -0
  600. package/docs/API/60-playwright/20-actions/10-dragTo.ts +10 -0
  601. package/docs/API/60-playwright/20-actions/10-extractContent.ts +10 -0
  602. package/docs/API/60-playwright/20-actions/10-fill.ts +9 -0
  603. package/docs/API/60-playwright/20-actions/10-focus.ts +9 -0
  604. package/docs/API/60-playwright/20-actions/10-forceClick.ts +10 -0
  605. package/docs/API/60-playwright/20-actions/10-hover.ts +9 -0
  606. package/docs/API/60-playwright/20-actions/10-press.ts +9 -0
  607. package/docs/API/60-playwright/20-actions/10-selectOption.ts +10 -0
  608. package/docs/API/60-playwright/20-actions/10-type.ts +10 -0
  609. package/docs/API/60-playwright/20-actions/10-uncheck.ts +9 -0
  610. package/docs/API/60-playwright/20-actions/10-withStep.ts +10 -0
  611. package/docs/API/60-playwright/20-actions/index.llms.md +60 -0
  612. package/docs/API/60-playwright/20-actions/index.md +3 -0
  613. package/docs/API/60-playwright/30-assertions/10-toBeBusy.ts +10 -0
  614. package/docs/API/60-playwright/30-assertions/10-toBeChecked.ts +9 -0
  615. package/docs/API/60-playwright/30-assertions/10-toBeDisabled.ts +9 -0
  616. package/docs/API/60-playwright/30-assertions/10-toBeEnabled.ts +9 -0
  617. package/docs/API/60-playwright/30-assertions/10-toBeHidden.ts +9 -0
  618. package/docs/API/60-playwright/30-assertions/10-toBeNotBusy.ts +10 -0
  619. package/docs/API/60-playwright/30-assertions/10-toBeVisible.ts +10 -0
  620. package/docs/API/60-playwright/30-assertions/10-toContainText.ts +9 -0
  621. package/docs/API/60-playwright/30-assertions/10-toHaveAttribute.ts +12 -0
  622. package/docs/API/60-playwright/30-assertions/10-toHaveClass.ts +9 -0
  623. package/docs/API/60-playwright/30-assertions/10-toHaveNoText.ts +10 -0
  624. package/docs/API/60-playwright/30-assertions/10-toHaveQuantity.ts +20 -0
  625. package/docs/API/60-playwright/30-assertions/10-toHaveText.ts +9 -0
  626. package/docs/API/60-playwright/30-assertions/10-toHaveValue.ts +9 -0
  627. package/docs/API/60-playwright/30-assertions/10-withStep.ts +10 -0
  628. package/docs/API/60-playwright/30-assertions/index.llms.md +64 -0
  629. package/docs/API/60-playwright/30-assertions/index.md +3 -0
  630. package/docs/API/60-playwright/fixtures/component.ts +44 -0
  631. package/docs/API/60-playwright/index.md +3 -0
  632. package/docs/API/index.md +3 -0
  633. package/docs/API.llms.md +115 -0
  634. package/docs/concepts/01-fundamental/01-constraint/01-use.ts +22 -0
  635. package/docs/concepts/01-fundamental/01-constraint/10-built-in-constraint.ts +37 -0
  636. package/docs/concepts/01-fundamental/01-constraint/20-manipulation.ts +41 -0
  637. package/docs/concepts/01-fundamental/01-constraint/30-cast.ts +66 -0
  638. package/docs/concepts/01-fundamental/01-constraint/40-custom-constraint.ts +45 -0
  639. package/docs/concepts/01-fundamental/01-constraint/index.md +3 -0
  640. package/docs/concepts/01-fundamental/02-currying/01-use.ts +38 -0
  641. package/docs/concepts/01-fundamental/02-currying/10-built-in-function.ts +190 -0
  642. package/docs/concepts/01-fundamental/02-currying/20-inner-pipe.ts +48 -0
  643. package/docs/concepts/01-fundamental/02-currying/30-async-pipe.ts +51 -0
  644. package/docs/concepts/01-fundamental/02-currying/index.md +3 -0
  645. package/docs/concepts/01-fundamental/03-either/01-use.ts +21 -0
  646. package/docs/concepts/01-fundamental/03-either/10-discrimination.ts +90 -0
  647. package/docs/concepts/01-fundamental/03-either/20-exhaustive-handling.ts +90 -0
  648. package/docs/concepts/01-fundamental/03-either/30-composition.ts +80 -0
  649. package/docs/concepts/01-fundamental/03-either/40-result-adaptation.ts +46 -0
  650. package/docs/concepts/01-fundamental/03-either/50-external-results.ts +72 -0
  651. package/docs/concepts/01-fundamental/03-either/60-contextual-state.ts +40 -0
  652. package/docs/concepts/01-fundamental/03-either/index.md +3 -0
  653. package/docs/concepts/01-fundamental/04-data-structure/01-use.ts +22 -0
  654. package/docs/concepts/01-fundamental/04-data-structure/10-structure.ts +244 -0
  655. package/docs/concepts/01-fundamental/04-data-structure/20-constraint.ts +86 -0
  656. package/docs/concepts/01-fundamental/04-data-structure/30-validation.ts +104 -0
  657. package/docs/concepts/01-fundamental/04-data-structure/40-codecs.ts +162 -0
  658. package/docs/concepts/01-fundamental/04-data-structure/50-recursive.ts +57 -0
  659. package/docs/concepts/01-fundamental/04-data-structure/60-interpret-error.ts +123 -0
  660. package/docs/concepts/01-fundamental/04-data-structure/index.md +3 -0
  661. package/docs/concepts/01-fundamental/05-chrono/01-use.ts +14 -0
  662. package/docs/concepts/01-fundamental/05-chrono/10-creation.ts +85 -0
  663. package/docs/concepts/01-fundamental/05-chrono/20-manipulation.ts +110 -0
  664. package/docs/concepts/01-fundamental/05-chrono/30-serialized.ts +89 -0
  665. package/docs/concepts/01-fundamental/05-chrono/40-timezone.ts +85 -0
  666. package/docs/concepts/01-fundamental/05-chrono/index.md +3 -0
  667. package/docs/concepts/01-fundamental/06-modeling/10-new-type.ts +42 -0
  668. package/docs/concepts/01-fundamental/06-modeling/20-entity.ts +191 -0
  669. package/docs/concepts/01-fundamental/06-modeling/30-tagged-object.ts +204 -0
  670. package/docs/concepts/01-fundamental/06-modeling/40-entity-lifecycle.ts +272 -0
  671. package/docs/concepts/01-fundamental/06-modeling/50-evidence.ts +94 -0
  672. package/docs/concepts/01-fundamental/06-modeling/60-signed-function.ts +26 -0
  673. package/docs/concepts/01-fundamental/06-modeling/index.md +3 -0
  674. package/docs/concepts/01-fundamental/07-discrimination/10-entity.ts +136 -0
  675. package/docs/concepts/01-fundamental/07-discrimination/20-fact.ts +158 -0
  676. package/docs/concepts/01-fundamental/07-discrimination/30-tagged-object.ts +137 -0
  677. package/docs/concepts/01-fundamental/07-discrimination/40-error.ts +73 -0
  678. package/docs/concepts/01-fundamental/07-discrimination/50-literal.ts +106 -0
  679. package/docs/concepts/01-fundamental/07-discrimination/60-shape.ts +160 -0
  680. package/docs/concepts/01-fundamental/07-discrimination/70-predicate.ts +101 -0
  681. package/docs/concepts/01-fundamental/07-discrimination/index.md +3 -0
  682. package/docs/concepts/01-fundamental/08-kind/01-identity.md +7 -0
  683. package/docs/concepts/01-fundamental/08-kind/20-metadata.md +11 -0
  684. package/docs/concepts/01-fundamental/08-kind/30-transport.md +11 -0
  685. package/docs/concepts/01-fundamental/08-kind/index.md +3 -0
  686. package/docs/concepts/01-fundamental/index.md +1 -0
  687. package/docs/concepts/02-server/10-file/10-manipulation.ts +52 -0
  688. package/docs/concepts/02-server/10-file/20-path.ts +72 -0
  689. package/docs/concepts/02-server/10-file/index.md +3 -0
  690. package/docs/concepts/02-server/20-http/10-init.ts +23 -0
  691. package/docs/concepts/02-server/20-http/20-route.ts +182 -0
  692. package/docs/concepts/02-server/20-http/30-routine.ts +188 -0
  693. package/docs/concepts/02-server/20-http/40-jwt.ts +149 -0
  694. package/docs/concepts/02-server/20-http/50-open-api.ts +44 -0
  695. package/docs/concepts/02-server/20-http/index.md +3 -0
  696. package/docs/concepts/02-server/30-environment/10-platform.ts +47 -0
  697. package/docs/concepts/02-server/30-environment/20-variable.ts +47 -0
  698. package/docs/concepts/02-server/30-environment/index.md +3 -0
  699. package/docs/concepts/02-server/40-command/10-use.ts +112 -0
  700. package/docs/concepts/02-server/40-command/20-sub-command.ts +48 -0
  701. package/docs/concepts/02-server/40-command/index.md +3 -0
  702. package/docs/concepts/02-server/index.md +1 -0
  703. package/docs/concepts/03-client/10-http/10-init.ts +52 -0
  704. package/docs/concepts/03-client/10-http/20-request.ts +254 -0
  705. package/docs/concepts/03-client/10-http/30-hook.ts +139 -0
  706. package/docs/concepts/03-client/10-http/index.md +3 -0
  707. package/docs/concepts/03-client/20-form/10-init.ts +98 -0
  708. package/docs/concepts/03-client/20-form/20-input.ts +103 -0
  709. package/docs/concepts/03-client/20-form/30-layout.ts +155 -0
  710. package/docs/concepts/03-client/20-form/40-template.ts +94 -0
  711. package/docs/concepts/03-client/20-form/50-integration.md +11 -0
  712. package/docs/concepts/03-client/20-form/examples/postModeration/ThePage.vue +32 -0
  713. package/docs/concepts/03-client/20-form/examples/postModeration/usePostModeration.ts +80 -0
  714. package/docs/concepts/03-client/20-form/index.md +3 -0
  715. package/docs/concepts/03-client/index.md +1 -0
  716. package/docs/concepts/04-tests/01-unit/10-either.ts +136 -0
  717. package/docs/concepts/04-tests/01-unit/20-server-mocking.ts +53 -0
  718. package/docs/concepts/04-tests/01-unit/index.md +3 -0
  719. package/docs/concepts/04-tests/02-e2e/10-init.ts +80 -0
  720. package/docs/concepts/04-tests/02-e2e/20-architecture.ts +76 -0
  721. package/docs/concepts/04-tests/02-e2e/30-testing.ts +90 -0
  722. package/docs/concepts/04-tests/02-e2e/index.md +3 -0
  723. package/docs/concepts/04-tests/index.md +1 -0
  724. package/docs/concepts/05-type-driven-design/01-architecture/10-boundaries.md +44 -0
  725. package/docs/concepts/05-type-driven-design/01-architecture/index.md +3 -0
  726. package/docs/concepts/05-type-driven-design/02-domains/10-entities.md +50 -0
  727. package/docs/concepts/05-type-driven-design/02-domains/20-aggregates.md +65 -0
  728. package/docs/concepts/05-type-driven-design/02-domains/30-repositories.md +35 -0
  729. package/docs/concepts/05-type-driven-design/02-domains/40-refinements.md +30 -0
  730. package/docs/concepts/05-type-driven-design/02-domains/index.md +3 -0
  731. package/docs/concepts/05-type-driven-design/03-applications/10-use-case.md +62 -0
  732. package/docs/concepts/05-type-driven-design/03-applications/20-ports.md +49 -0
  733. package/docs/concepts/05-type-driven-design/03-applications/index.md +3 -0
  734. package/docs/concepts/05-type-driven-design/04-infrastructure/10-implementation.md +47 -0
  735. package/docs/concepts/05-type-driven-design/04-infrastructure/index.md +3 -0
  736. package/docs/concepts/05-type-driven-design/fixtures/business/applications/index.ts +2 -0
  737. package/docs/concepts/05-type-driven-design/fixtures/business/applications/ports/book.ts +10 -0
  738. package/docs/concepts/05-type-driven-design/fixtures/business/applications/ports/client.ts +10 -0
  739. package/docs/concepts/05-type-driven-design/fixtures/business/applications/ports/email.ts +7 -0
  740. package/docs/concepts/05-type-driven-design/fixtures/business/applications/ports/index.ts +4 -0
  741. package/docs/concepts/05-type-driven-design/fixtures/business/applications/ports/waitingListEntry.ts +17 -0
  742. package/docs/concepts/05-type-driven-design/fixtures/business/applications/useCases/clientGiveBackBook.ts +45 -0
  743. package/docs/concepts/05-type-driven-design/fixtures/business/applications/useCases/clientRentBook.ts +31 -0
  744. package/docs/concepts/05-type-driven-design/fixtures/business/applications/useCases/createBook.ts +32 -0
  745. package/docs/concepts/05-type-driven-design/fixtures/business/applications/useCases/index.ts +4 -0
  746. package/docs/concepts/05-type-driven-design/fixtures/business/applications/useCases/withdrawBook.ts +32 -0
  747. package/docs/concepts/05-type-driven-design/fixtures/business/domains/aggregates/clientGiveBackBook.ts +74 -0
  748. package/docs/concepts/05-type-driven-design/fixtures/business/domains/aggregates/clientRentBook.ts +42 -0
  749. package/docs/concepts/05-type-driven-design/fixtures/business/domains/aggregates/createBook.ts +33 -0
  750. package/docs/concepts/05-type-driven-design/fixtures/business/domains/aggregates/index.ts +4 -0
  751. package/docs/concepts/05-type-driven-design/fixtures/business/domains/aggregates/withdrawBook.ts +37 -0
  752. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/book/facts/create.ts +33 -0
  753. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/book/facts/index.ts +5 -0
  754. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/book/facts/rental.ts +31 -0
  755. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/book/facts/reserve.ts +37 -0
  756. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/book/facts/returnBook.ts +32 -0
  757. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/book/facts/withdraw.ts +21 -0
  758. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/book/index.ts +118 -0
  759. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/client/facts/giveBackBook.ts +35 -0
  760. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/client/facts/index.ts +2 -0
  761. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/client/facts/rentBook.ts +32 -0
  762. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/client/index.ts +59 -0
  763. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/index.ts +3 -0
  764. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/waitingListEntry/facts/cancel.ts +26 -0
  765. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/waitingListEntry/facts/create.ts +33 -0
  766. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/waitingListEntry/facts/index.ts +3 -0
  767. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/waitingListEntry/facts/prepare.ts +23 -0
  768. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/waitingListEntry/index.ts +79 -0
  769. package/docs/concepts/05-type-driven-design/fixtures/business/domains/index.ts +4 -0
  770. package/docs/concepts/05-type-driven-design/fixtures/business/domains/refinements/index.ts +1 -0
  771. package/docs/concepts/05-type-driven-design/fixtures/business/domains/refinements/refineLinkBetweenClientAndBorrowedBook.ts +34 -0
  772. package/docs/concepts/05-type-driven-design/fixtures/business/domains/repositories/book.ts +16 -0
  773. package/docs/concepts/05-type-driven-design/fixtures/business/domains/repositories/client.ts +7 -0
  774. package/docs/concepts/05-type-driven-design/fixtures/business/domains/repositories/email.ts +12 -0
  775. package/docs/concepts/05-type-driven-design/fixtures/business/domains/repositories/index.ts +4 -0
  776. package/docs/concepts/05-type-driven-design/fixtures/business/domains/repositories/waitingListEntry.ts +19 -0
  777. package/docs/concepts/05-type-driven-design/fixtures/business/index.ts +2 -0
  778. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/command/clientRentBook.ts +62 -0
  779. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/command/index.ts +11 -0
  780. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/http/checkers/bookExist.ts +19 -0
  781. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/http/checkers/clientExist.ts +19 -0
  782. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/http/checkers/index.ts +2 -0
  783. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/http/main.ts +19 -0
  784. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/http/routes/clientGiveBackBook.ts +46 -0
  785. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/http/routes/clientRentBook.ts +45 -0
  786. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/http/routes/index.ts +2 -0
  787. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/ports/book.ts +25 -0
  788. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/ports/client.ts +7 -0
  789. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/ports/email.ts +10 -0
  790. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/ports/index.ts +4 -0
  791. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/ports/waitingListEntry.ts +17 -0
  792. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/useCases/index.ts +13 -0
  793. package/docs/concepts/05-type-driven-design/index.md +3 -0
  794. package/docs/concepts.llms.md +521 -0
  795. package/instructions/coding-conventions.md +8 -0
  796. package/package.json +99 -3
  797. package/skills/command/SKILL.md +63 -0
  798. package/skills/command/references/examples/cli.ts +22 -0
  799. package/skills/command/references/examples/options-only.ts +27 -0
  800. package/skills/command/references/examples/preview-command.ts +57 -0
  801. package/skills/command/references/execution.md +31 -0
  802. package/skills/command/references/inputs.md +27 -0
  803. package/skills/fundamental/SKILL.md +80 -0
  804. package/skills/fundamental/references/composition.md +35 -0
  805. package/skills/fundamental/references/constraints-and-validation.md +61 -0
  806. package/skills/fundamental/references/examples/async-composition.ts +15 -0
  807. package/skills/fundamental/references/examples/cast.ts +18 -0
  808. package/skills/fundamental/references/examples/composition.ts +40 -0
  809. package/skills/fundamental/references/examples/environment-initialization.ts +19 -0
  810. package/skills/fundamental/references/examples/error-propagation.ts +24 -0
  811. package/skills/fundamental/references/examples/generic-inference.ts +31 -0
  812. package/skills/fundamental/references/examples/guaranteed-array-access.ts +31 -0
  813. package/skills/fundamental/references/examples/independent-inputs.ts +18 -0
  814. package/skills/fundamental/references/examples/infer.ts +21 -0
  815. package/skills/fundamental/references/examples/input-validation.ts +37 -0
  816. package/skills/fundamental/references/examples/safe-declarations.ts +25 -0
  817. package/skills/fundamental/references/results-and-errors.md +59 -0
  818. package/skills/http-client/SKILL.md +50 -0
  819. package/skills/http-client/references/configuration.md +11 -0
  820. package/skills/http-client/references/examples/client-expectations.ts +85 -0
  821. package/skills/http-client/references/examples/client-streams.ts +74 -0
  822. package/skills/http-client/references/examples/external-client.ts +78 -0
  823. package/skills/http-client/references/hooks.md +7 -0
  824. package/skills/http-client/references/responses.md +39 -0
  825. package/skills/http-client/references/streams.md +10 -0
  826. package/skills/http-server/SKILL.md +61 -0
  827. package/skills/http-server/references/examples/authentication.ts +42 -0
  828. package/skills/http-server/references/examples/contracts.ts +19 -0
  829. package/skills/http-server/references/examples/inferred-client.ts +54 -0
  830. package/skills/http-server/references/examples/initialize.ts +29 -0
  831. package/skills/http-server/references/examples/minimal-route.ts +17 -0
  832. package/skills/http-server/references/examples/protected-route.ts +29 -0
  833. package/skills/http-server/references/examples/rename-user-route.ts +52 -0
  834. package/skills/http-server/references/examples/user-checker.ts +26 -0
  835. package/skills/http-server/references/examples/user-route.ts +45 -0
  836. package/skills/http-server/references/initialization.md +33 -0
  837. package/skills/http-server/references/reusable-flows.md +40 -0
  838. package/skills/http-server/references/routes-and-floor.md +46 -0
  839. package/skills/modeling/SKILL.md +76 -0
  840. package/skills/modeling/references/domain.md +33 -0
  841. package/skills/modeling/references/orchestration.md +36 -0
  842. package/skills/server/SKILL.md +55 -0
  843. package/skills/server/references/environment.md +30 -0
  844. package/skills/server/references/examples/environment.ts +41 -0
  845. package/skills/server/references/examples/file-structure.ts +26 -0
  846. package/skills/server/references/examples/files.ts +52 -0
  847. package/skills/server/references/files.md +38 -0
  848. package/skills/server/references/structures.md +15 -0
  849. package/skills/test/SKILL.md +70 -0
  850. package/skills/test/references/examples/results.ts +95 -0
  851. package/skills/test/references/examples/server.ts +59 -0
  852. package/skills/test/references/results.md +21 -0
  853. package/skills/test/references/server.md +17 -0
@@ -0,0 +1,46 @@
1
+ /**
2
+ * @title DPath.is
3
+ *
4
+ * Vérifier qu’une chaîne respecte la syntaxe d’un chemin et affiner son type.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+ import * as DPath from "@duplojs/lang/path";
8
+
9
+ declare const value: string;
10
+
11
+ if (DPath.is(value)) {
12
+ type _CheckValue = DCommon.ExpectType<typeof value, string & DPath.Path, "strict">;
13
+ const extracted = DPath.getBaseName(value);
14
+ type _CheckExtracted = DCommon.ExpectType<typeof extracted, (string & DPath.Segment & DPath.Path) | null, "strict">;
15
+ }
16
+
17
+ const path = DPath.is("src/index.ts");
18
+ // Le test runtime produit true.
19
+ type _CheckPath = DCommon.ExpectType<typeof path, boolean, "strict">;
20
+
21
+ const baseName = DCommon.pipe(
22
+ value,
23
+ DCommon.when(
24
+ DPath.is,
25
+ (validPath) => {
26
+ type _CheckValidPath = DCommon.ExpectType<typeof validPath, string & DPath.Path, "strict">;
27
+
28
+ return DPath.getBaseName(validPath);
29
+ },
30
+ ),
31
+ );
32
+ // Un chemin valide donne son nom de base ; un chemin invalide reste la chaîne d’origine.
33
+ type _CheckBaseName = DCommon.ExpectType<
34
+ typeof baseName,
35
+ string | (string & DPath.Segment & DPath.Path) | null,
36
+ "strict"
37
+ >;
38
+
39
+ // Sur un littéral déjà valide, le predicate conserve le type littéral sans ajouter de contrainte.
40
+ const known = "src/index.ts";
41
+ if (DPath.is(known)) {
42
+ type _CheckKnown = DCommon.ExpectType<typeof known, "src/index.ts", "strict">;
43
+ // Pour obtenir un chemin contraint depuis cette constante, utiliser sa déclaration sûre.
44
+ const declared = DPath.declarePath(known);
45
+ type _CheckDeclared = DCommon.ExpectType<typeof declared, "src/index.ts" & DPath.Path, "strict">;
46
+ }
@@ -0,0 +1,46 @@
1
+ /**
2
+ * @title DPath.isAbsolute
3
+ *
4
+ * Vérifier qu’une chaîne est un chemin absolu et affiner son type.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+ import * as DPath from "@duplojs/lang/path";
8
+
9
+ declare const value: string;
10
+
11
+ if (DPath.isAbsolute(value)) {
12
+ type _CheckValue = DCommon.ExpectType<typeof value, string & DPath.Absolute, "strict">;
13
+ const extracted = DPath.getParentFolderPath(value);
14
+ type _CheckExtracted = DCommon.ExpectType<typeof extracted, (string & DPath.Path & DPath.Absolute) | null, "strict">;
15
+ }
16
+
17
+ const path = DPath.isAbsolute("/workspace/src");
18
+ // Le test runtime produit true.
19
+ type _CheckPath = DCommon.ExpectType<typeof path, boolean, "strict">;
20
+
21
+ const parent = DCommon.pipe(
22
+ value,
23
+ DCommon.when(
24
+ DPath.isAbsolute,
25
+ (absolutePath) => {
26
+ type _CheckAbsolutePath = DCommon.ExpectType<typeof absolutePath, string & DPath.Absolute, "strict">;
27
+
28
+ return DPath.getParentFolderPath(absolutePath);
29
+ },
30
+ ),
31
+ );
32
+ // Un chemin absolu donne son dossier parent ; les autres chaînes restent inchangées.
33
+ type _CheckParent = DCommon.ExpectType<
34
+ typeof parent,
35
+ string | (string & DPath.Path & DPath.Absolute) | null,
36
+ "strict"
37
+ >;
38
+
39
+ // Sur un littéral déjà valide, le predicate conserve le type littéral sans ajouter de contrainte.
40
+ const known = "/workspace";
41
+ if (DPath.isAbsolute(known)) {
42
+ type _CheckKnown = DCommon.ExpectType<typeof known, "/workspace", "strict">;
43
+ // Pour obtenir un chemin contraint depuis cette constante, utiliser sa déclaration sûre.
44
+ const declared = DPath.declareAbsolutePath(known);
45
+ type _CheckDeclared = DCommon.ExpectType<typeof declared, "/workspace" & DPath.Absolute & DPath.Path, "strict">;
46
+ }
@@ -0,0 +1,42 @@
1
+ /**
2
+ * @title DPath.isSegment
3
+ *
4
+ * Vérifier qu’une chaîne est un segment unique et affiner son type.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+ import * as DPath from "@duplojs/lang/path";
8
+
9
+ declare const value: string;
10
+
11
+ if (DPath.isSegment(value)) {
12
+ type _CheckValue = DCommon.ExpectType<typeof value, string & DPath.Segment, "strict">;
13
+ const extracted = DPath.concatSegment(DPath.declareSegment("file"), value);
14
+ type _CheckExtracted = DCommon.ExpectType<typeof extracted, string & DPath.Segment, "strict">;
15
+ }
16
+
17
+ const segment = DPath.isSegment(".ts");
18
+ // Le test runtime produit true.
19
+ type _CheckSegment = DCommon.ExpectType<typeof segment, boolean, "strict">;
20
+
21
+ const fullPath = DCommon.pipe(
22
+ value,
23
+ DCommon.when(
24
+ DPath.isSegment,
25
+ (validSegment) => {
26
+ type _CheckValidSegment = DCommon.ExpectType<typeof validSegment, string & DPath.Segment, "strict">;
27
+
28
+ return DPath.concatSegment(DPath.declareSegment("file"), validSegment);
29
+ },
30
+ ),
31
+ );
32
+ // Le segment est ajouté au nom de fichier ; une chaîne qui n’est pas un segment reste inchangée.
33
+ type _CheckFullPath = DCommon.ExpectType<typeof fullPath, string | (string & DPath.Segment), "strict">;
34
+
35
+ // Sur un littéral déjà valide, le predicate conserve le type littéral sans ajouter de contrainte.
36
+ const known = "index.ts";
37
+ if (DPath.isSegment(known)) {
38
+ type _CheckKnown = DCommon.ExpectType<typeof known, "index.ts", "strict">;
39
+ // Pour obtenir un chemin contraint depuis cette constante, utiliser sa déclaration sûre.
40
+ const declared = DPath.declareSegment(known);
41
+ type _CheckDeclared = DCommon.ExpectType<typeof declared, "index.ts" & DPath.Segment & DPath.Path, "strict">;
42
+ }
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @title DPath.normalize
3
+ *
4
+ * Réduire les séparateurs et les segments relatifs d’un chemin.
5
+ */
6
+ import type * as DCommon from "@duplojs/lang/common";
7
+ import * as DPath from "@duplojs/lang/path";
8
+
9
+ const result = DPath.normalize("src//module/../index.ts");
10
+ // La valeur obtenue est src/index.ts ; null signale une entrée invalide.
11
+ type _CheckResult = DCommon.ExpectType<typeof result, (string & DPath.Path) | null, "strict">;
12
+
13
+ // Une URL file locale est décodée en chemin Unix, sans lire le fichier.
14
+ const fileUrl = DPath.normalize("file:///workspace/my%20file.ts");
15
+ // La valeur obtenue est /workspace/my file.ts ; le type ne déduit pas Absolute.
16
+ type _CheckFileUrl = DCommon.ExpectType<typeof fileUrl, (string & DPath.Path) | null, "strict">;
17
+
18
+ // Une chaîne vide désigne le chemin courant après normalisation.
19
+ const current = DPath.normalize("");
20
+ // La valeur obtenue est ".".
21
+ type _CheckCurrent = DCommon.ExpectType<typeof current, (string & DPath.Path) | null, "strict">;
22
+
23
+ // Un caractère nul ou une URL file distante ne peut pas être normalisé.
24
+ const rejected = DPath.normalize("file://remote-host/workspace/index.ts");
25
+ // La valeur obtenue est null.
26
+ type _CheckRejected = DCommon.ExpectType<typeof rejected, (string & DPath.Path) | null, "strict">;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @title DPath.resolveFrom
3
+ *
4
+ * Résoudre des segments depuis une origine absolue, avec une option pour la conserver.
5
+ */
6
+ import type * as DCommon from "@duplojs/lang/common";
7
+ import * as DPath from "@duplojs/lang/path";
8
+
9
+ const origin = DPath.declareAbsolutePath("/workspace");
10
+ const result = DPath.resolveFrom(
11
+ origin,
12
+ [DPath.declarePath("src"), DPath.declarePath("index.ts")],
13
+ { stayInOrigin: true },
14
+ );
15
+ // La valeur obtenue est /workspace/src/index.ts. Une résolution qui sort de l’origine vaut null.
16
+ type _CheckResult = DCommon.ExpectType<typeof result, (string & DPath.Path & DPath.Absolute) | null, "strict">;
17
+
18
+ // Option runtime : dès que stayInOrigin peut valoir true, le type inclut null.
19
+ declare const stayInOrigin: boolean;
20
+ const configured = DPath.resolveFrom(origin, [DPath.declarePath("../shared")], { stayInOrigin });
21
+ // La valeur obtenue est null si le confinement est activé, sinon /shared.
22
+ type _CheckConfigured = DCommon.ExpectType<typeof configured, (string & DPath.Path & DPath.Absolute) | null, "strict">;
23
+
24
+ // Sans confinement, .. peut remonter au-dessus de l’origine ; le résultat reste absolu.
25
+ const outside = DPath.resolveFrom(origin, [DPath.declarePath("../shared")]);
26
+ // La valeur obtenue est /shared ; sans stayInOrigin, null ne fait pas partie du type.
27
+ type _CheckOutside = DCommon.ExpectType<typeof outside, string & DPath.Path & DPath.Absolute, "strict">;
28
+
29
+ // Confinement : refuser une remontée hors de l’origine.
30
+ const rejected = DPath.resolveFrom(origin, [DPath.declarePath("../shared")], { stayInOrigin: true });
31
+ // La valeur obtenue est null.
32
+ type _CheckRejected = DCommon.ExpectType<typeof rejected, (string & DPath.Path & DPath.Absolute) | null, "strict">;
33
+
34
+ // Une entrée absolue remplace l’origine sans confinement.
35
+ const replacement = DPath.resolveFrom(origin, [DPath.declareAbsolutePath("/shared")]);
36
+ // La valeur obtenue est /shared. Avec stayInOrigin: true, une entrée absolue est refusée.
37
+ type _CheckReplacement = DCommon.ExpectType<typeof replacement, string & DPath.Path & DPath.Absolute, "strict">;
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @title DPath.resolveRelative
3
+ *
4
+ * Résoudre une suite de chemins relatifs ou absolus en un seul chemin normalisé.
5
+ */
6
+ import type * as DCommon from "@duplojs/lang/common";
7
+ import * as DPath from "@duplojs/lang/path";
8
+
9
+ const result = DPath.resolveRelative([
10
+ DPath.declarePath("src"),
11
+ DPath.declarePath("index.ts"),
12
+ ]);
13
+ // La valeur obtenue est src/index.ts.
14
+ type _CheckResult = DCommon.ExpectType<typeof result, string & DPath.Path, "strict">;
15
+
16
+ // Un chemin absolu remplace tout ce qui a été assemblé avant lui.
17
+ const absolute = DPath.resolveRelative([
18
+ DPath.declarePath("ignored"),
19
+ DPath.declareAbsolutePath("/workspace"),
20
+ DPath.declarePath("src/index.ts"),
21
+ ]);
22
+ // La valeur obtenue est /workspace/src/index.ts ; l’entrée absolue établit Absolute.
23
+ type _CheckAbsolute = DCommon.ExpectType<typeof absolute, string & DPath.Path & DPath.Absolute, "strict">;
@@ -0,0 +1,88 @@
1
+ ## DPath
2
+
3
+ Chemins Unix typés : déclarer des littéraux, valider et normaliser des chaînes runtime, extraire des segments, résoudre des chemins ou sélectionner des motifs glob, indépendamment du système de fichiers.
4
+
5
+ ### [DPath.computeRelative](10-computeRelative.ts)
6
+
7
+ Calculer le chemin relatif entre deux chemins absolus.
8
+
9
+ ### [DPath.concatSegment](10-concatSegment.ts)
10
+
11
+ Assembler un segment avec un ou plusieurs autres segments.
12
+
13
+ ### [DPath.create](10-create.ts)
14
+
15
+ Normaliser une chaîne et retourner un Either selon qu’elle forme un chemin valide.
16
+
17
+ ### [DPath.createAbsolute](10-createAbsolute.ts)
18
+
19
+ Normaliser une chaîne et vérifier qu’elle représente un chemin absolu.
20
+
21
+ ### [DPath.createAbsoluteOrThrow](10-createAbsoluteOrThrow.ts)
22
+
23
+ Normaliser un chemin absolu ou lever une erreur si l’entrée est invalide.
24
+
25
+ ### [DPath.createMatcher](10-createMatcher.ts)
26
+
27
+ Créer un predicate de chemin à partir de motifs glob positifs et négatifs.
28
+
29
+ ### [DPath.createOrThrow](10-createOrThrow.ts)
30
+
31
+ Normaliser un chemin ou lever une erreur si l’entrée est invalide.
32
+
33
+ ### [DPath.createSegment](10-createSegment.ts)
34
+
35
+ Normaliser une chaîne et vérifier qu’elle ne contient qu’un segment.
36
+
37
+ ### [DPath.createSegmentOrThrow](10-createSegmentOrThrow.ts)
38
+
39
+ Normaliser un segment ou lever une erreur si l’entrée n’est pas un segment valide.
40
+
41
+ ### [DPath.declareAbsolutePath](10-declareAbsolutePath.ts)
42
+
43
+ Déclarer un littéral de chemin comme chemin absolu après vérification statique.
44
+
45
+ ### [DPath.declarePath](10-declarePath.ts)
46
+
47
+ Déclarer un littéral valide comme chemin après vérification statique.
48
+
49
+ ### [DPath.declareSegment](10-declareSegment.ts)
50
+
51
+ Déclarer un littéral valide comme segment après vérification statique.
52
+
53
+ ### [DPath.getBaseName](10-getBaseName.ts)
54
+
55
+ Lire le dernier segment d’un chemin, avec la possibilité d’en retirer l’extension.
56
+
57
+ ### [DPath.getExtensionName](10-getExtensionName.ts)
58
+
59
+ Lire l’extension du dernier segment, avec la possibilité de conserver le point.
60
+
61
+ ### [DPath.getParentFolderPath](10-getParentFolderPath.ts)
62
+
63
+ Lire le dossier parent d’un chemin en conservant son caractère absolu lorsqu’il est connu.
64
+
65
+ ### [DPath.is](10-is.ts)
66
+
67
+ Vérifier qu’une chaîne respecte la syntaxe d’un chemin et affiner son type.
68
+
69
+ ### [DPath.isAbsolute](10-isAbsolute.ts)
70
+
71
+ Vérifier qu’une chaîne est un chemin absolu et affiner son type.
72
+
73
+ ### [DPath.isSegment](10-isSegment.ts)
74
+
75
+ Vérifier qu’une chaîne est un segment unique et affiner son type.
76
+
77
+ ### [DPath.normalize](10-normalize.ts)
78
+
79
+ Réduire les séparateurs et les segments relatifs d’un chemin.
80
+
81
+ ### [DPath.resolveFrom](10-resolveFrom.ts)
82
+
83
+ Résoudre des segments depuis une origine absolue, avec une option pour la conserver.
84
+
85
+ ### [DPath.resolveRelative](10-resolveRelative.ts)
86
+
87
+ Résoudre une suite de chemins relatifs ou absolus en un seul chemin normalisé.
88
+
@@ -0,0 +1,3 @@
1
+ ## DPath
2
+
3
+ Chemins Unix typés : déclarer des littéraux, valider et normaliser des chaînes runtime, extraire des segments, résoudre des chemins ou sélectionner des motifs glob, indépendamment du système de fichiers.
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @title DPattern.exhaustive
3
+ *
4
+ * Terminer un traitement exhaustif en extrayant les valeurs des PatternResult.
5
+ */
6
+ import * as DPattern from "@duplojs/lang/pattern";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+ import * as DString from "@duplojs/lang/string";
9
+ import * as DNumber from "@duplojs/lang/number";
10
+
11
+ // exhaustive n’accepte que des PatternResult : tous les cas doivent déjà être traités.
12
+ declare const input: string | number;
13
+ const value = DCommon.pipe(
14
+ input,
15
+ DPattern.when(
16
+ DCommon.isType("string"),
17
+ DString.toUpperCase,
18
+ ),
19
+ DPattern.when(
20
+ DCommon.isType("number"),
21
+ (number) => DNumber.sum([number, 1]),
22
+ ),
23
+ DPattern.exhaustive,
24
+ );
25
+ // Une chaîne donne sa version majuscule ; un nombre est augmenté de 1.
26
+ type _CheckValue = DCommon.ExpectType<typeof value, Uppercase<string> | number, "strict">;
@@ -0,0 +1,72 @@
1
+ /**
2
+ * @title DPattern.isMatch
3
+ *
4
+ * Vérifier un motif sur une valeur et affiner le type de la partie correspondante.
5
+ */
6
+ import * as DPattern from "@duplojs/lang/pattern";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+ import * as DObject from "@duplojs/lang/object";
9
+ import * as DString from "@duplojs/lang/string";
10
+
11
+ interface TextInput {
12
+ kind: "text";
13
+ value: string;
14
+ }
15
+ interface CountInput {
16
+ kind: "count";
17
+ value: number;
18
+ }
19
+ type Input = TextInput | CountInput;
20
+ declare const input: Input;
21
+
22
+ if (DPattern.isMatch(input, { kind: "text" })) {
23
+ type _CheckInput = DCommon.ExpectType<typeof input, TextInput, "strict">;
24
+ const text = DObject.getProperty(input, "value");
25
+ type _CheckText = DCommon.ExpectType<typeof text, string, "strict">;
26
+ }
27
+
28
+ // En pipe, DCommon.when reçoit le predicate curifié et laisse passer les cas non correspondants.
29
+ const selected = DCommon.pipe(
30
+ input,
31
+ DCommon.when(
32
+ DPattern.isMatch({ kind: "count" }),
33
+ (value) => {
34
+ type _CheckCount = DCommon.ExpectType<typeof value, CountInput, "strict">;
35
+ return DObject.getProperty(value, "value");
36
+ },
37
+ ),
38
+ );
39
+ // Le callback retourne le compte ; la variante text traverse le pipe sans être transformée.
40
+ type _CheckSelected = DCommon.ExpectType<typeof selected, number | {
41
+ kind: "text";
42
+ value: string;
43
+ }, "strict">;
44
+
45
+ // Littéral : la branche prend la valeur exacte du motif.
46
+ declare const status: "ready" | "pending";
47
+ if (DPattern.isMatch(status, "ready")) {
48
+ type _CheckStatus = DCommon.ExpectType<typeof status, "ready", "strict">;
49
+ const label = DString.toUpperCase(status);
50
+ // La valeur obtenue est "READY".
51
+ type _CheckLabel = DCommon.ExpectType<typeof label, "READY", "strict">;
52
+ }
53
+
54
+ // Motif imbriqué avec predicate : seules les propriétés demandées sont testées.
55
+ declare const packet: {
56
+ data: { value: string | number };
57
+ id: string;
58
+ };
59
+ if (DPattern.isMatch(packet, { data: { value: DCommon.isType("string") } })) {
60
+ type _CheckPacket = DCommon.ExpectType<typeof packet, {
61
+ data: { value: string };
62
+ id: string;
63
+ }, "strict">;
64
+ const text = DString.toUpperCase(packet.data.value);
65
+ // La sortie est la valeur imbriquée convertie en majuscules.
66
+ type _CheckText = DCommon.ExpectType<typeof text, Uppercase<string>, "strict">;
67
+ }
68
+
69
+ // Un motif tableau vérifie son préfixe et autorise des éléments supplémentaires.
70
+ const prefix = DPattern.isMatch(["text", "hello"], ["text"]);
71
+ // La valeur obtenue est true ; [] correspondrait à tout tableau, même non vide.
72
+ type _CheckPrefix = DCommon.ExpectType<typeof prefix, boolean, "strict">;
@@ -0,0 +1,133 @@
1
+ /**
2
+ * @title DPattern.match
3
+ *
4
+ * Traiter une valeur selon un motif et conserver les cas qui ne correspondent pas.
5
+ */
6
+ import * as DPattern from "@duplojs/lang/pattern";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+ import * as DString from "@duplojs/lang/string";
9
+ import * as DNumber from "@duplojs/lang/number";
10
+
11
+ type Input = {
12
+ status: "created";
13
+ id: number;
14
+ } | {
15
+ status: "deleted";
16
+ id: number;
17
+ reason: string;
18
+ };
19
+ declare const input: Input;
20
+
21
+ // Appel curifié : les étapes suivantes ignorent une branche déjà enveloppée.
22
+ const piped = DCommon.pipe(
23
+ input,
24
+ DPattern.match(
25
+ { status: "created" },
26
+ (value) => value.id,
27
+ ),
28
+ DPattern.match(
29
+ { status: "deleted" },
30
+ (value) => value.reason,
31
+ ),
32
+ DPattern.exhaustive,
33
+ );
34
+ // La sortie est l’id créé ou la raison de suppression, sans wrapper.
35
+ type _CheckPiped = DCommon.ExpectType<typeof piped, number | string, "strict">;
36
+
37
+ // Le builder retire chaque branche traitée du domaine restant, puis exige son épuisement.
38
+ const built = DPattern.match(input)
39
+ .with({ status: "created" }, (value) => value.id)
40
+ .with({ status: "deleted" }, (value) => value.reason)
41
+ .exhaustive();
42
+ // Après couverture des deux variantes, exhaustive retourne directement number | string.
43
+ type _CheckBuilt = DCommon.ExpectType<typeof built, number | string, "strict">;
44
+
45
+ // Builder avec repli : seule la première branche correspondante est exécutée.
46
+ const withFallback = DPattern.match(input)
47
+ .with({ status: "created" }, (value) => value.id)
48
+ .otherwise((remaining) => {
49
+ type _CheckRemaining = DCommon.ExpectType<typeof remaining, {
50
+ status: "deleted";
51
+ id: number;
52
+ reason: string;
53
+ }, "strict">;
54
+ return remaining.reason;
55
+ });
56
+ // Même sortie, mais otherwise couvre explicitement le cas restant.
57
+ type _CheckWithFallback = DCommon.ExpectType<typeof withFallback, number | string, "strict">;
58
+
59
+ // Tableau imbriqué : le motif décrit un préfixe, pas une longueur exacte.
60
+ declare const packet: { items: ["text", string] | ["count", number] };
61
+ const nested = DCommon.pipe(
62
+ packet,
63
+ DPattern.match(
64
+ { items: ["text"] },
65
+ (value) => {
66
+ type _CheckValue = DCommon.ExpectType<typeof value, { items: ["text", string] }, "strict">;
67
+ return value.items[1];
68
+ },
69
+ ),
70
+ DPattern.match(
71
+ { items: ["count"] },
72
+ (value) => value.items[1],
73
+ ),
74
+ DPattern.exhaustive,
75
+ );
76
+ // Les deux préfixes imbriqués sont traités ; la sortie est le texte ou le nombre du tuple.
77
+ type _CheckNested = DCommon.ExpectType<typeof nested, string | number, "strict">;
78
+
79
+ // Motif predicate : une garantie peut remplacer un motif objet ou tableau.
80
+ declare const scalar: string | number | null;
81
+ const selected = DCommon.pipe(
82
+ scalar,
83
+ DPattern.match(
84
+ DCommon.isType("string"),
85
+ DString.toUpperCase,
86
+ ),
87
+ DPattern.otherwise(
88
+ DCommon.forward,
89
+ ),
90
+ );
91
+ // Les chaînes sont mises en majuscules ; number et null restent inchangés.
92
+ type _CheckSelected = DCommon.ExpectType<typeof selected, Uppercase<string> | number | null, "strict">;
93
+
94
+ // Sélection inverse dans le builder : traiter les états en lecture seule avant les états actifs.
95
+ declare const state: "ready" | "draft" | "archived";
96
+ const byPredicates = DPattern.match(state)
97
+ .whenNot(
98
+ DCommon.or([DCommon.equal("ready"), DCommon.equal("draft")]),
99
+ DString.prepend("Lecture seule : "),
100
+ )
101
+ .when(DCommon.equal("ready"), DString.toUpperCase)
102
+ .with("draft", DString.prepend("À compléter : "))
103
+ .exhaustive();
104
+ // whenNot traite archived ; seuls ready et draft doivent encore être couverts.
105
+ type _CheckByPredicates = DCommon.ExpectType<
106
+ typeof byPredicates,
107
+ "Lecture seule : archived" | "READY" | "À compléter : draft",
108
+ "strict"
109
+ >;
110
+
111
+ // Test booléen dans whenNot : le montant reste à traiter lorsque la livraison est offerte.
112
+ declare const orderTotal: number;
113
+ declare const freeShippingThreshold: number;
114
+ declare const shippingFee: number;
115
+ const withShipping = DPattern.match(orderTotal)
116
+ .whenNot(DNumber.greaterThanOrEqual(freeShippingThreshold), (value) => {
117
+ type _CheckValue = DCommon.ExpectType<typeof value, number, "strict">;
118
+
119
+ return DNumber.sum([value, shippingFee]);
120
+ });
121
+ // Le seuil dynamique ne retire pas number des cas restants : exhaustive n'est pas disponible.
122
+ type _CheckWithShipping = DCommon.ExpectType<typeof withShipping, DPattern.MatchBuilder<number, number>, "strict">;
123
+
124
+ const pricedTotal = withShipping.otherwise(DCommon.forward);
125
+ // Les petites commandes reçoivent les frais ; les autres conservent leur montant initial.
126
+ type _CheckPricedTotal = DCommon.ExpectType<typeof pricedTotal, number, "strict">;
127
+
128
+ // Motifs littéraux combinés : union regroupe plusieurs valeurs dans une même branche.
129
+ const byValue = DPattern.match(state)
130
+ .with(DPattern.union("ready", "draft"), DString.toUpperCase)
131
+ .otherwise(DString.toUpperCase);
132
+ // La valeur obtenue est "READY", "DRAFT" ou "ARCHIVED", selon l’entrée.
133
+ type _CheckByValue = DCommon.ExpectType<typeof byValue, "READY" | "DRAFT" | "ARCHIVED", "strict">;
@@ -0,0 +1,49 @@
1
+ /**
2
+ * @title DPattern.matchWithEntity
3
+ *
4
+ * Router une union d’entités DuploJS vers un callback pour chaque nom d’entité.
5
+ */
6
+ import * as DPattern from "@duplojs/lang/pattern";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+ import type * as DModeling from "@duplojs/lang/modeling";
9
+
10
+ interface User extends DModeling.Entity<"User"> {
11
+ id: string;
12
+ name: string;
13
+ }
14
+ interface Admin extends DModeling.Entity<"Admin"> {
15
+ id: string;
16
+ permissions: readonly string[];
17
+ }
18
+ declare const account: User | Admin;
19
+
20
+ // Appel direct : chaque nom de l’union exige une branche, sans clé étrangère.
21
+ const result = DPattern.matchWithEntity(account, {
22
+ User: (entity) => {
23
+ type _CheckValue = DCommon.ExpectType<typeof entity, User, "strict">;
24
+ return entity.name;
25
+ },
26
+ Admin: (entity) => {
27
+ type _CheckValue = DCommon.ExpectType<typeof entity, Admin, "strict">;
28
+ return entity.permissions;
29
+ },
30
+ });
31
+ // La sortie est le nom utilisateur ou les permissions de l’administrateur.
32
+ type _CheckResult = DCommon.ExpectType<typeof result, string | readonly string[], "strict">;
33
+
34
+ // Appel curifié : configurer les branches directement dans le pipe.
35
+ const piped = DCommon.pipe(
36
+ account,
37
+ DPattern.matchWithEntity({
38
+ User: (entity) => {
39
+ type _CheckValue = DCommon.ExpectType<typeof entity, User, "strict">;
40
+ return entity.name;
41
+ },
42
+ Admin: (entity) => {
43
+ type _CheckValue = DCommon.ExpectType<typeof entity, Admin, "strict">;
44
+ return entity.permissions;
45
+ },
46
+ }),
47
+ );
48
+ // Même sélection : le nom utilisateur ou les permissions de l’administrateur.
49
+ type _CheckPiped = DCommon.ExpectType<typeof piped, string | readonly string[], "strict">;
@@ -0,0 +1,55 @@
1
+ /**
2
+ * @title DPattern.matchWithEntityOtherwise
3
+ *
4
+ * Router les entités sélectionnées et conserver dans le type du fallback les entités restantes.
5
+ */
6
+ import * as DPattern from "@duplojs/lang/pattern";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+ import type * as DModeling from "@duplojs/lang/modeling";
9
+
10
+ interface User extends DModeling.Entity<"User"> {
11
+ id: string;
12
+ name: string;
13
+ }
14
+ interface Admin extends DModeling.Entity<"Admin"> {
15
+ id: string;
16
+ permissions: readonly string[];
17
+ }
18
+ interface Guest extends DModeling.Entity<"Guest"> { id: string }
19
+ declare const account: User | Admin | Guest;
20
+
21
+ // Appel direct : traiter certains noms ; le repli reçoit uniquement le reste.
22
+ const result = DPattern.matchWithEntityOtherwise(
23
+ account,
24
+ {
25
+ User: (entity) => {
26
+ type _CheckValue = DCommon.ExpectType<typeof entity, User, "strict">;
27
+ return entity.name;
28
+ },
29
+ },
30
+ (entity) => {
31
+ type _CheckRemaining = DCommon.ExpectType<typeof entity, Admin | Guest, "strict">;
32
+ return entity.id;
33
+ },
34
+ );
35
+ // User produit son résultat ; les autres variantes fournissent leur id.
36
+ type _CheckResult = DCommon.ExpectType<typeof result, string, "strict">;
37
+
38
+ // Appel curifié dans un pipe : le repli conserve le même affinement.
39
+ const piped = DCommon.pipe(
40
+ account,
41
+ DPattern.matchWithEntityOtherwise(
42
+ {
43
+ User: (entity) => {
44
+ type _CheckValue = DCommon.ExpectType<typeof entity, User, "strict">;
45
+ return entity.name;
46
+ },
47
+ },
48
+ (entity) => {
49
+ type _CheckRemaining = DCommon.ExpectType<typeof entity, Admin | Guest, "strict">;
50
+ return entity.id;
51
+ },
52
+ ),
53
+ );
54
+ // User produit son résultat ; les autres variantes fournissent leur id.
55
+ type _CheckPiped = DCommon.ExpectType<typeof piped, string, "strict">;