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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (929) hide show
  1. package/README.md +81 -2
  2. package/dist/bin/index.d.ts +2 -0
  3. package/dist/bin/index.mjs +7 -0
  4. package/dist/bin/packagePath.d.ts +2 -0
  5. package/dist/bin/packagePath.mjs +12 -0
  6. package/dist/bin/setup/index.d.ts +12 -0
  7. package/dist/bin/setup/index.mjs +33 -0
  8. package/dist/bin/setup/instructions.d.ts +8 -0
  9. package/dist/bin/setup/instructions.mjs +27 -0
  10. package/dist/bin/skills/index.d.ts +5 -0
  11. package/dist/bin/skills/index.mjs +11 -0
  12. package/dist/bin/skills/install.d.ts +2 -0
  13. package/dist/bin/skills/install.mjs +25 -0
  14. package/dist/bin/skills/skill.d.ts +35 -0
  15. package/dist/bin/skills/skill.mjs +60 -0
  16. package/dist/bin/skills/update.d.ts +2 -0
  17. package/dist/bin/skills/update.mjs +19 -0
  18. package/dist/index.cjs +1 -0
  19. package/dist/index.d.ts +1 -0
  20. package/dist/index.mjs +0 -0
  21. package/docs/API/10-lang/10-array/10-at.ts +65 -0
  22. package/docs/API/10-lang/10-array/10-chunk.ts +42 -0
  23. package/docs/API/10-lang/10-array/10-coalescing.ts +20 -0
  24. package/docs/API/10-lang/10-array/10-concat.ts +34 -0
  25. package/docs/API/10-lang/10-array/10-copyWithin.ts +34 -0
  26. package/docs/API/10-lang/10-array/10-every.ts +25 -0
  27. package/docs/API/10-lang/10-array/10-fill.ts +34 -0
  28. package/docs/API/10-lang/10-array/10-fillAll.ts +34 -0
  29. package/docs/API/10-lang/10-array/10-filter.ts +43 -0
  30. package/docs/API/10-lang/10-array/10-find.ts +33 -0
  31. package/docs/API/10-lang/10-array/10-findAndReplace.ts +35 -0
  32. package/docs/API/10-lang/10-array/10-findAndSpliceDelete.ts +35 -0
  33. package/docs/API/10-lang/10-array/10-findAndSpliceInsert.ts +35 -0
  34. package/docs/API/10-lang/10-array/10-findAndSpliceReplace.ts +24 -0
  35. package/docs/API/10-lang/10-array/10-findDuplicates.ts +19 -0
  36. package/docs/API/10-lang/10-array/10-findIndex.ts +25 -0
  37. package/docs/API/10-lang/10-array/10-findLast.ts +33 -0
  38. package/docs/API/10-lang/10-array/10-findLastIndex.ts +25 -0
  39. package/docs/API/10-lang/10-array/10-first.ts +21 -0
  40. package/docs/API/10-lang/10-array/10-flat.ts +22 -0
  41. package/docs/API/10-lang/10-array/10-flatMap.ts +24 -0
  42. package/docs/API/10-lang/10-array/10-from.ts +25 -0
  43. package/docs/API/10-lang/10-array/10-group.ts +27 -0
  44. package/docs/API/10-lang/10-array/10-groupOutput.ts +30 -0
  45. package/docs/API/10-lang/10-array/10-includes.ts +24 -0
  46. package/docs/API/10-lang/10-array/10-indexOf.ts +24 -0
  47. package/docs/API/10-lang/10-array/10-insert.ts +34 -0
  48. package/docs/API/10-lang/10-array/10-is.ts +29 -0
  49. package/docs/API/10-lang/10-array/10-isLastIndex.ts +24 -0
  50. package/docs/API/10-lang/10-array/10-last.ts +21 -0
  51. package/docs/API/10-lang/10-array/10-lastIndexOf.ts +24 -0
  52. package/docs/API/10-lang/10-array/10-length.ts +28 -0
  53. package/docs/API/10-lang/10-array/10-lengthEqual.ts +39 -0
  54. package/docs/API/10-lang/10-array/10-map.ts +34 -0
  55. package/docs/API/10-lang/10-array/10-maxElements.ts +44 -0
  56. package/docs/API/10-lang/10-array/10-minElements.ts +44 -0
  57. package/docs/API/10-lang/10-array/10-notIncludes.ts +24 -0
  58. package/docs/API/10-lang/10-array/10-pop.ts +23 -0
  59. package/docs/API/10-lang/10-array/10-prepend.ts +34 -0
  60. package/docs/API/10-lang/10-array/10-push.ts +34 -0
  61. package/docs/API/10-lang/10-array/10-reduce.ts +28 -0
  62. package/docs/API/10-lang/10-array/10-reduceFrom.ts +16 -0
  63. package/docs/API/10-lang/10-array/10-reduceRight.ts +28 -0
  64. package/docs/API/10-lang/10-array/10-reverse.ts +25 -0
  65. package/docs/API/10-lang/10-array/10-select.ts +26 -0
  66. package/docs/API/10-lang/10-array/10-set.ts +24 -0
  67. package/docs/API/10-lang/10-array/10-shift.ts +23 -0
  68. package/docs/API/10-lang/10-array/10-slice.ts +24 -0
  69. package/docs/API/10-lang/10-array/10-some.ts +25 -0
  70. package/docs/API/10-lang/10-array/10-sort.ts +34 -0
  71. package/docs/API/10-lang/10-array/10-spliceDelete.ts +34 -0
  72. package/docs/API/10-lang/10-array/10-spliceInsert.ts +34 -0
  73. package/docs/API/10-lang/10-array/10-spliceReplace.ts +24 -0
  74. package/docs/API/10-lang/10-array/10-unshift.ts +34 -0
  75. package/docs/API/10-lang/10-array/index.llms.md +220 -0
  76. package/docs/API/10-lang/10-array/index.md +3 -0
  77. package/docs/API/10-lang/10-chrono/10-addDays.ts +25 -0
  78. package/docs/API/10-lang/10-chrono/10-addHours.ts +25 -0
  79. package/docs/API/10-lang/10-chrono/10-addMilliseconds.ts +25 -0
  80. package/docs/API/10-lang/10-chrono/10-addMinutes.ts +25 -0
  81. package/docs/API/10-lang/10-chrono/10-addMonths.ts +25 -0
  82. package/docs/API/10-lang/10-chrono/10-addSeconds.ts +25 -0
  83. package/docs/API/10-lang/10-chrono/10-addTime.ts +38 -0
  84. package/docs/API/10-lang/10-chrono/10-addWeeks.ts +25 -0
  85. package/docs/API/10-lang/10-chrono/10-addYears.ts +25 -0
  86. package/docs/API/10-lang/10-chrono/10-applyTimezone.ts +29 -0
  87. package/docs/API/10-lang/10-chrono/10-betweenThanDate.ts +27 -0
  88. package/docs/API/10-lang/10-chrono/10-betweenThanOrEqualDate.ts +27 -0
  89. package/docs/API/10-lang/10-chrono/10-betweenThanOrEqualTime.ts +27 -0
  90. package/docs/API/10-lang/10-chrono/10-betweenThanTime.ts +27 -0
  91. package/docs/API/10-lang/10-chrono/10-closestTo.ts +45 -0
  92. package/docs/API/10-lang/10-chrono/10-computeTime.ts +35 -0
  93. package/docs/API/10-lang/10-chrono/10-createDate.ts +122 -0
  94. package/docs/API/10-lang/10-chrono/10-createDateOrThrow.ts +39 -0
  95. package/docs/API/10-lang/10-chrono/10-createTime.ts +86 -0
  96. package/docs/API/10-lang/10-chrono/10-createTimeOrThrow.ts +28 -0
  97. package/docs/API/10-lang/10-chrono/10-eachDate.ts +67 -0
  98. package/docs/API/10-lang/10-chrono/10-equalDate.ts +26 -0
  99. package/docs/API/10-lang/10-chrono/10-equalTime.ts +26 -0
  100. package/docs/API/10-lang/10-chrono/10-formatDate.ts +43 -0
  101. package/docs/API/10-lang/10-chrono/10-formatTime.ts +37 -0
  102. package/docs/API/10-lang/10-chrono/10-getDayOfMonth.ts +37 -0
  103. package/docs/API/10-lang/10-chrono/10-getDayOfWeek.ts +30 -0
  104. package/docs/API/10-lang/10-chrono/10-getDayOfYear.ts +28 -0
  105. package/docs/API/10-lang/10-chrono/10-getDifference.ts +29 -0
  106. package/docs/API/10-lang/10-chrono/10-getFirstDayOfMonth.ts +24 -0
  107. package/docs/API/10-lang/10-chrono/10-getFirstDayOfWeek.ts +24 -0
  108. package/docs/API/10-lang/10-chrono/10-getHour.ts +28 -0
  109. package/docs/API/10-lang/10-chrono/10-getLastDayOfMonth.ts +24 -0
  110. package/docs/API/10-lang/10-chrono/10-getLastDayOfWeek.ts +24 -0
  111. package/docs/API/10-lang/10-chrono/10-getMilliseconds.ts +24 -0
  112. package/docs/API/10-lang/10-chrono/10-getMinute.ts +27 -0
  113. package/docs/API/10-lang/10-chrono/10-getMonth.ts +27 -0
  114. package/docs/API/10-lang/10-chrono/10-getSecond.ts +27 -0
  115. package/docs/API/10-lang/10-chrono/10-getTimezoneOffset.ts +28 -0
  116. package/docs/API/10-lang/10-chrono/10-getWeekOfYear.ts +27 -0
  117. package/docs/API/10-lang/10-chrono/10-getYear.ts +27 -0
  118. package/docs/API/10-lang/10-chrono/10-greaterThanDate.ts +26 -0
  119. package/docs/API/10-lang/10-chrono/10-greaterThanOrEqualDate.ts +26 -0
  120. package/docs/API/10-lang/10-chrono/10-greaterThanOrEqualTime.ts +26 -0
  121. package/docs/API/10-lang/10-chrono/10-greaterThanTime.ts +26 -0
  122. package/docs/API/10-lang/10-chrono/10-isDate.ts +36 -0
  123. package/docs/API/10-lang/10-chrono/10-isSafeTimeValue.ts +19 -0
  124. package/docs/API/10-lang/10-chrono/10-isSafeTimestamp.ts +19 -0
  125. package/docs/API/10-lang/10-chrono/10-isSerializedTheDate.ts +41 -0
  126. package/docs/API/10-lang/10-chrono/10-isSerializedTheTime.ts +41 -0
  127. package/docs/API/10-lang/10-chrono/10-isTime.ts +36 -0
  128. package/docs/API/10-lang/10-chrono/10-lessThanDate.ts +26 -0
  129. package/docs/API/10-lang/10-chrono/10-lessThanOrEqualDate.ts +26 -0
  130. package/docs/API/10-lang/10-chrono/10-lessThanOrEqualTime.ts +26 -0
  131. package/docs/API/10-lang/10-chrono/10-lessThanTime.ts +26 -0
  132. package/docs/API/10-lang/10-chrono/10-makeSafeTimeValue.ts +19 -0
  133. package/docs/API/10-lang/10-chrono/10-makeSafeTimestamp.ts +19 -0
  134. package/docs/API/10-lang/10-chrono/10-maxDate.ts +19 -0
  135. package/docs/API/10-lang/10-chrono/10-maxTime.ts +19 -0
  136. package/docs/API/10-lang/10-chrono/10-minDate.ts +19 -0
  137. package/docs/API/10-lang/10-chrono/10-minTime.ts +19 -0
  138. package/docs/API/10-lang/10-chrono/10-now.ts +13 -0
  139. package/docs/API/10-lang/10-chrono/10-round.ts +41 -0
  140. package/docs/API/10-lang/10-chrono/10-serialize.ts +23 -0
  141. package/docs/API/10-lang/10-chrono/10-sortDates.ts +30 -0
  142. package/docs/API/10-lang/10-chrono/10-sortTimes.ts +29 -0
  143. package/docs/API/10-lang/10-chrono/10-subtractDays.ts +25 -0
  144. package/docs/API/10-lang/10-chrono/10-subtractHours.ts +25 -0
  145. package/docs/API/10-lang/10-chrono/10-subtractMilliseconds.ts +25 -0
  146. package/docs/API/10-lang/10-chrono/10-subtractMinutes.ts +25 -0
  147. package/docs/API/10-lang/10-chrono/10-subtractMonths.ts +25 -0
  148. package/docs/API/10-lang/10-chrono/10-subtractSeconds.ts +25 -0
  149. package/docs/API/10-lang/10-chrono/10-subtractTime.ts +38 -0
  150. package/docs/API/10-lang/10-chrono/10-subtractWeeks.ts +25 -0
  151. package/docs/API/10-lang/10-chrono/10-subtractYears.ts +25 -0
  152. package/docs/API/10-lang/10-chrono/10-toDateISOString.ts +17 -0
  153. package/docs/API/10-lang/10-chrono/10-toNative.ts +25 -0
  154. package/docs/API/10-lang/10-chrono/10-toTimeValue.ts +17 -0
  155. package/docs/API/10-lang/10-chrono/10-toTimestamp.ts +17 -0
  156. package/docs/API/10-lang/10-chrono/10-today.ts +13 -0
  157. package/docs/API/10-lang/10-chrono/10-tomorrow.ts +13 -0
  158. package/docs/API/10-lang/10-chrono/10-yesterday.ts +13 -0
  159. package/docs/API/10-lang/10-chrono/index.llms.md +332 -0
  160. package/docs/API/10-lang/10-chrono/index.md +3 -0
  161. package/docs/API/10-lang/10-common/10-and.ts +51 -0
  162. package/docs/API/10-lang/10-common/10-asserts.ts +13 -0
  163. package/docs/API/10-lang/10-common/10-asyncInnerPipe.ts +23 -0
  164. package/docs/API/10-lang/10-common/10-asyncLoop.ts +23 -0
  165. package/docs/API/10-lang/10-common/10-asyncLoopAccumulator.ts +40 -0
  166. package/docs/API/10-lang/10-common/10-asyncPipe.ts +21 -0
  167. package/docs/API/10-lang/10-common/10-callThen.ts +22 -0
  168. package/docs/API/10-lang/10-common/10-cast.ts +16 -0
  169. package/docs/API/10-lang/10-common/10-clone.ts +12 -0
  170. package/docs/API/10-lang/10-common/10-createAsyncRetry.ts +34 -0
  171. package/docs/API/10-lang/10-common/10-createBuilder.ts +19 -0
  172. package/docs/API/10-lang/10-common/10-createEnum.ts +25 -0
  173. package/docs/API/10-lang/10-common/10-createExternalPromise.ts +13 -0
  174. package/docs/API/10-lang/10-common/10-createFormData.ts +16 -0
  175. package/docs/API/10-lang/10-common/10-createInterpolation.ts +12 -0
  176. package/docs/API/10-lang/10-common/10-createQueue.ts +17 -0
  177. package/docs/API/10-lang/10-common/10-createTransformer.ts +16 -0
  178. package/docs/API/10-lang/10-common/10-detachObjectMethod.ts +20 -0
  179. package/docs/API/10-lang/10-common/10-equal.ts +37 -0
  180. package/docs/API/10-lang/10-common/10-escapeRegExp.ts +11 -0
  181. package/docs/API/10-lang/10-common/10-falsy.ts +31 -0
  182. package/docs/API/10-lang/10-common/10-forward.ts +11 -0
  183. package/docs/API/10-lang/10-common/10-forwardAsserts.ts +17 -0
  184. package/docs/API/10-lang/10-common/10-forwardLog.ts +11 -0
  185. package/docs/API/10-lang/10-common/10-infer.ts +16 -0
  186. package/docs/API/10-lang/10-common/10-innerPipe.ts +23 -0
  187. package/docs/API/10-lang/10-common/10-instanceOf.ts +34 -0
  188. package/docs/API/10-lang/10-common/10-isType.ts +35 -0
  189. package/docs/API/10-lang/10-common/10-justExec.ts +28 -0
  190. package/docs/API/10-lang/10-common/10-justReturn.ts +19 -0
  191. package/docs/API/10-lang/10-common/10-loop.ts +18 -0
  192. package/docs/API/10-lang/10-common/10-loopAccumulator.ts +35 -0
  193. package/docs/API/10-lang/10-common/10-loopAccumulatorFrom.ts +29 -0
  194. package/docs/API/10-lang/10-common/10-memo.ts +12 -0
  195. package/docs/API/10-lang/10-common/10-memoObject.ts +11 -0
  196. package/docs/API/10-lang/10-common/10-memoPromise.ts +16 -0
  197. package/docs/API/10-lang/10-common/10-or.ts +43 -0
  198. package/docs/API/10-lang/10-common/10-pipe.ts +21 -0
  199. package/docs/API/10-lang/10-common/10-pipeCall.ts +20 -0
  200. package/docs/API/10-lang/10-common/10-prepareAsyncPipe.ts +20 -0
  201. package/docs/API/10-lang/10-common/10-preparePipe.ts +20 -0
  202. package/docs/API/10-lang/10-common/10-promiseAll.ts +16 -0
  203. package/docs/API/10-lang/10-common/10-promiseObject.ts +22 -0
  204. package/docs/API/10-lang/10-common/10-removeConstraint.ts +13 -0
  205. package/docs/API/10-lang/10-common/10-shameOnYou.ts +20 -0
  206. package/docs/API/10-lang/10-common/10-simpleClone.ts +12 -0
  207. package/docs/API/10-lang/10-common/10-stringToBytes.ts +16 -0
  208. package/docs/API/10-lang/10-common/10-stringToMillisecond.ts +17 -0
  209. package/docs/API/10-lang/10-common/10-tap.ts +28 -0
  210. package/docs/API/10-lang/10-common/10-timeout.ts +11 -0
  211. package/docs/API/10-lang/10-common/10-toCurriedPredicate.ts +28 -0
  212. package/docs/API/10-lang/10-common/10-toJSON.ts +15 -0
  213. package/docs/API/10-lang/10-common/10-toNative.ts +15 -0
  214. package/docs/API/10-lang/10-common/10-toRegExp.ts +17 -0
  215. package/docs/API/10-lang/10-common/10-transformer.ts +21 -0
  216. package/docs/API/10-lang/10-common/10-truthy.ts +31 -0
  217. package/docs/API/10-lang/10-common/10-useAsyncRetry.ts +31 -0
  218. package/docs/API/10-lang/10-common/10-when.ts +27 -0
  219. package/docs/API/10-lang/10-common/10-whenElse.ts +28 -0
  220. package/docs/API/10-lang/10-common/10-whenNot.ts +57 -0
  221. package/docs/API/10-lang/10-common/index.llms.md +244 -0
  222. package/docs/API/10-lang/10-common/index.md +3 -0
  223. package/docs/API/10-lang/10-dataStructure/10-absolutePath.ts +25 -0
  224. package/docs/API/10-lang/10-dataStructure/10-allowedCharacters.ts +25 -0
  225. package/docs/API/10-lang/10-dataStructure/10-array.ts +23 -0
  226. package/docs/API/10-lang/10-dataStructure/10-arrayLengthEqual.ts +25 -0
  227. package/docs/API/10-lang/10-dataStructure/10-betweenThan.ts +25 -0
  228. package/docs/API/10-lang/10-dataStructure/10-betweenThanOrEqual.ts +25 -0
  229. package/docs/API/10-lang/10-dataStructure/10-bigint.ts +22 -0
  230. package/docs/API/10-lang/10-dataStructure/10-boolean.ts +22 -0
  231. package/docs/API/10-lang/10-dataStructure/10-createCodec.ts +45 -0
  232. package/docs/API/10-lang/10-dataStructure/10-createCodecs.ts +134 -0
  233. package/docs/API/10-lang/10-dataStructure/10-createErrorInterpreter.ts +74 -0
  234. package/docs/API/10-lang/10-dataStructure/10-date.ts +23 -0
  235. package/docs/API/10-lang/10-dataStructure/10-email.ts +25 -0
  236. package/docs/API/10-lang/10-dataStructure/10-endsWith.ts +24 -0
  237. package/docs/API/10-lang/10-dataStructure/10-even.ts +25 -0
  238. package/docs/API/10-lang/10-dataStructure/10-extend.ts +27 -0
  239. package/docs/API/10-lang/10-dataStructure/10-greaterThan.ts +25 -0
  240. package/docs/API/10-lang/10-dataStructure/10-greaterThanOrEqual.ts +25 -0
  241. package/docs/API/10-lang/10-dataStructure/10-include.ts +24 -0
  242. package/docs/API/10-lang/10-dataStructure/10-integer.ts +25 -0
  243. package/docs/API/10-lang/10-dataStructure/10-isNullStructure.ts +12 -0
  244. package/docs/API/10-lang/10-dataStructure/10-isNullable.ts +12 -0
  245. package/docs/API/10-lang/10-dataStructure/10-isOptional.ts +12 -0
  246. package/docs/API/10-lang/10-dataStructure/10-isUndefinedStructure.ts +12 -0
  247. package/docs/API/10-lang/10-dataStructure/10-lazy.ts +23 -0
  248. package/docs/API/10-lang/10-dataStructure/10-lessThan.ts +25 -0
  249. package/docs/API/10-lang/10-dataStructure/10-lessThanOrEqual.ts +25 -0
  250. package/docs/API/10-lang/10-dataStructure/10-literal.ts +19 -0
  251. package/docs/API/10-lang/10-dataStructure/10-maxCharacters.ts +25 -0
  252. package/docs/API/10-lang/10-dataStructure/10-maxElements.ts +25 -0
  253. package/docs/API/10-lang/10-dataStructure/10-minCharacters.ts +25 -0
  254. package/docs/API/10-lang/10-dataStructure/10-minElements.ts +25 -0
  255. package/docs/API/10-lang/10-dataStructure/10-multipleOf.ts +25 -0
  256. package/docs/API/10-lang/10-dataStructure/10-negative.ts +25 -0
  257. package/docs/API/10-lang/10-dataStructure/10-notEmpty.ts +25 -0
  258. package/docs/API/10-lang/10-dataStructure/10-notZero.ts +25 -0
  259. package/docs/API/10-lang/10-dataStructure/10-null.ts +22 -0
  260. package/docs/API/10-lang/10-dataStructure/10-nullable.ts +19 -0
  261. package/docs/API/10-lang/10-dataStructure/10-number.ts +22 -0
  262. package/docs/API/10-lang/10-dataStructure/10-numberInString.ts +25 -0
  263. package/docs/API/10-lang/10-dataStructure/10-object.ts +25 -0
  264. package/docs/API/10-lang/10-dataStructure/10-odd.ts +25 -0
  265. package/docs/API/10-lang/10-dataStructure/10-optional.ts +19 -0
  266. package/docs/API/10-lang/10-dataStructure/10-partial.ts +23 -0
  267. package/docs/API/10-lang/10-dataStructure/10-path.ts +25 -0
  268. package/docs/API/10-lang/10-dataStructure/10-positive.ts +25 -0
  269. package/docs/API/10-lang/10-dataStructure/10-record.ts +22 -0
  270. package/docs/API/10-lang/10-dataStructure/10-refine.ts +27 -0
  271. package/docs/API/10-lang/10-dataStructure/10-regex.ts +24 -0
  272. package/docs/API/10-lang/10-dataStructure/10-required.ts +21 -0
  273. package/docs/API/10-lang/10-dataStructure/10-safe.ts +25 -0
  274. package/docs/API/10-lang/10-dataStructure/10-segmentPath.ts +25 -0
  275. package/docs/API/10-lang/10-dataStructure/10-startsWith.ts +24 -0
  276. package/docs/API/10-lang/10-dataStructure/10-strictNegative.ts +25 -0
  277. package/docs/API/10-lang/10-dataStructure/10-strictPositive.ts +25 -0
  278. package/docs/API/10-lang/10-dataStructure/10-string.ts +22 -0
  279. package/docs/API/10-lang/10-dataStructure/10-stringLengthEqual.ts +25 -0
  280. package/docs/API/10-lang/10-dataStructure/10-time.ts +23 -0
  281. package/docs/API/10-lang/10-dataStructure/10-trimmed.ts +25 -0
  282. package/docs/API/10-lang/10-dataStructure/10-typeStructureIdentifier.ts +33 -0
  283. package/docs/API/10-lang/10-dataStructure/10-undefined.ts +22 -0
  284. package/docs/API/10-lang/10-dataStructure/10-union.ts +24 -0
  285. package/docs/API/10-lang/10-dataStructure/10-unwrapLazy.ts +17 -0
  286. package/docs/API/10-lang/10-dataStructure/10-url.ts +25 -0
  287. package/docs/API/10-lang/10-dataStructure/10-uuid.ts +25 -0
  288. package/docs/API/10-lang/10-dataStructure/index.llms.md +264 -0
  289. package/docs/API/10-lang/10-dataStructure/index.md +3 -0
  290. package/docs/API/10-lang/10-either/10-asyncGroup.ts +44 -0
  291. package/docs/API/10-lang/10-either/10-asyncSafeCallback.ts +25 -0
  292. package/docs/API/10-lang/10-either/10-error.ts +12 -0
  293. package/docs/API/10-lang/10-either/10-expect.ts +13 -0
  294. package/docs/API/10-lang/10-either/10-extractErrorInLeft.ts +45 -0
  295. package/docs/API/10-lang/10-either/10-fail.ts +12 -0
  296. package/docs/API/10-lang/10-either/10-forwardAssertsSelection.ts +28 -0
  297. package/docs/API/10-lang/10-either/10-group.ts +58 -0
  298. package/docs/API/10-lang/10-either/10-hasInformation.ts +30 -0
  299. package/docs/API/10-lang/10-either/10-isLeft.ts +25 -0
  300. package/docs/API/10-lang/10-either/10-isRight.ts +25 -0
  301. package/docs/API/10-lang/10-either/10-isSelected.ts +41 -0
  302. package/docs/API/10-lang/10-either/10-keepAsRightByInformation.ts +29 -0
  303. package/docs/API/10-lang/10-either/10-keepAsRightSelection.ts +23 -0
  304. package/docs/API/10-lang/10-either/10-left.ts +13 -0
  305. package/docs/API/10-lang/10-either/10-matchInformation.ts +28 -0
  306. package/docs/API/10-lang/10-either/10-matchInformationCombination.ts +61 -0
  307. package/docs/API/10-lang/10-either/10-matchInformationCombinationOtherwise.ts +62 -0
  308. package/docs/API/10-lang/10-either/10-matchInformationOtherwise.ts +29 -0
  309. package/docs/API/10-lang/10-either/10-none.ts +12 -0
  310. package/docs/API/10-lang/10-either/10-ok.ts +12 -0
  311. package/docs/API/10-lang/10-either/10-result.ts +18 -0
  312. package/docs/API/10-lang/10-either/10-rewriteInformation.ts +24 -0
  313. package/docs/API/10-lang/10-either/10-right.ts +13 -0
  314. package/docs/API/10-lang/10-either/10-rightAsyncPipe.ts +70 -0
  315. package/docs/API/10-lang/10-either/10-rightPipe.ts +72 -0
  316. package/docs/API/10-lang/10-either/10-safeCallback.ts +29 -0
  317. package/docs/API/10-lang/10-either/10-some.ts +12 -0
  318. package/docs/API/10-lang/10-either/10-success.ts +12 -0
  319. package/docs/API/10-lang/10-either/10-toMaybe.ts +53 -0
  320. package/docs/API/10-lang/10-either/10-unwrapByInformation.ts +20 -0
  321. package/docs/API/10-lang/10-either/10-unwrapByInformationOrThrow.ts +19 -0
  322. package/docs/API/10-lang/10-either/10-unwrapLeft.ts +14 -0
  323. package/docs/API/10-lang/10-either/10-unwrapLeftOrThrow.ts +17 -0
  324. package/docs/API/10-lang/10-either/10-unwrapOr.ts +17 -0
  325. package/docs/API/10-lang/10-either/10-unwrapOtherwise.ts +20 -0
  326. package/docs/API/10-lang/10-either/10-unwrapRight.ts +14 -0
  327. package/docs/API/10-lang/10-either/10-unwrapRightOrThrow.ts +17 -0
  328. package/docs/API/10-lang/10-either/10-unwrapSelection.ts +26 -0
  329. package/docs/API/10-lang/10-either/10-unwrapSelectionOrThrow.ts +19 -0
  330. package/docs/API/10-lang/10-either/10-whenHasInformation.ts +36 -0
  331. package/docs/API/10-lang/10-either/10-whenHasInformationOtherwise.ts +29 -0
  332. package/docs/API/10-lang/10-either/10-whenIsLeft.ts +20 -0
  333. package/docs/API/10-lang/10-either/10-whenIsLeftOtherwise.ts +27 -0
  334. package/docs/API/10-lang/10-either/10-whenIsRight.ts +20 -0
  335. package/docs/API/10-lang/10-either/10-whenIsRightOtherwise.ts +26 -0
  336. package/docs/API/10-lang/10-either/10-whenIsSelected.ts +33 -0
  337. package/docs/API/10-lang/10-either/10-whenIsSelectedOtherwise.ts +35 -0
  338. package/docs/API/10-lang/10-either/index.llms.md +196 -0
  339. package/docs/API/10-lang/10-either/index.md +3 -0
  340. package/docs/API/10-lang/10-generator/10-asyncChunk.ts +55 -0
  341. package/docs/API/10-lang/10-generator/10-asyncConcat.ts +43 -0
  342. package/docs/API/10-lang/10-generator/10-asyncFilter.ts +41 -0
  343. package/docs/API/10-lang/10-generator/10-asyncFlat.ts +37 -0
  344. package/docs/API/10-lang/10-generator/10-asyncGroup.ts +65 -0
  345. package/docs/API/10-lang/10-generator/10-asyncLoop.ts +50 -0
  346. package/docs/API/10-lang/10-generator/10-asyncLoopAccumulator.ts +40 -0
  347. package/docs/API/10-lang/10-generator/10-asyncMap.ts +48 -0
  348. package/docs/API/10-lang/10-generator/10-asyncReduce.ts +63 -0
  349. package/docs/API/10-lang/10-generator/10-chunk.ts +44 -0
  350. package/docs/API/10-lang/10-generator/10-concat.ts +37 -0
  351. package/docs/API/10-lang/10-generator/10-createExternalAsyncGenerator.ts +29 -0
  352. package/docs/API/10-lang/10-generator/10-execute.ts +44 -0
  353. package/docs/API/10-lang/10-generator/10-filter.ts +35 -0
  354. package/docs/API/10-lang/10-generator/10-flat.ts +25 -0
  355. package/docs/API/10-lang/10-generator/10-group.ts +44 -0
  356. package/docs/API/10-lang/10-generator/10-groupOutput.ts +48 -0
  357. package/docs/API/10-lang/10-generator/10-loop.ts +46 -0
  358. package/docs/API/10-lang/10-generator/10-loopAccumulator.ts +33 -0
  359. package/docs/API/10-lang/10-generator/10-loopAccumulatorFrom.ts +30 -0
  360. package/docs/API/10-lang/10-generator/10-map.ts +35 -0
  361. package/docs/API/10-lang/10-generator/10-reduce.ts +51 -0
  362. package/docs/API/10-lang/10-generator/10-reduceFrom.ts +30 -0
  363. package/docs/API/10-lang/10-generator/index.llms.md +96 -0
  364. package/docs/API/10-lang/10-generator/index.md +3 -0
  365. package/docs/API/10-lang/10-number/10-betweenThan.ts +43 -0
  366. package/docs/API/10-lang/10-number/10-betweenThanOrEqual.ts +43 -0
  367. package/docs/API/10-lang/10-number/10-greaterThan.ts +35 -0
  368. package/docs/API/10-lang/10-number/10-greaterThanOrEqual.ts +35 -0
  369. package/docs/API/10-lang/10-number/10-isEven.ts +33 -0
  370. package/docs/API/10-lang/10-number/10-isInteger.ts +33 -0
  371. package/docs/API/10-lang/10-number/10-isMultipleOf.ts +35 -0
  372. package/docs/API/10-lang/10-number/10-isNegative.ts +33 -0
  373. package/docs/API/10-lang/10-number/10-isNotZero.ts +33 -0
  374. package/docs/API/10-lang/10-number/10-isOdd.ts +33 -0
  375. package/docs/API/10-lang/10-number/10-isPositive.ts +33 -0
  376. package/docs/API/10-lang/10-number/10-isSafe.ts +33 -0
  377. package/docs/API/10-lang/10-number/10-isStrictNegative.ts +34 -0
  378. package/docs/API/10-lang/10-number/10-isStrictPositive.ts +33 -0
  379. package/docs/API/10-lang/10-number/10-lessThan.ts +35 -0
  380. package/docs/API/10-lang/10-number/10-lessThanOrEqual.ts +35 -0
  381. package/docs/API/10-lang/10-number/10-max.ts +19 -0
  382. package/docs/API/10-lang/10-number/10-maxOf.ts +19 -0
  383. package/docs/API/10-lang/10-number/10-min.ts +19 -0
  384. package/docs/API/10-lang/10-number/10-minOf.ts +19 -0
  385. package/docs/API/10-lang/10-number/10-sort.ts +19 -0
  386. package/docs/API/10-lang/10-number/10-sum.ts +19 -0
  387. package/docs/API/10-lang/10-number/index.llms.md +92 -0
  388. package/docs/API/10-lang/10-number/index.md +3 -0
  389. package/docs/API/10-lang/10-object/10-assign.ts +41 -0
  390. package/docs/API/10-lang/10-object/10-countKeys.ts +15 -0
  391. package/docs/API/10-lang/10-object/10-deepOverride.ts +35 -0
  392. package/docs/API/10-lang/10-object/10-discriminate.ts +102 -0
  393. package/docs/API/10-lang/10-object/10-discriminateEntryKey.ts +43 -0
  394. package/docs/API/10-lang/10-object/10-discriminateEntryValue.ts +44 -0
  395. package/docs/API/10-lang/10-object/10-entries.ts +19 -0
  396. package/docs/API/10-lang/10-object/10-entry.ts +17 -0
  397. package/docs/API/10-lang/10-object/10-fromEntries.ts +23 -0
  398. package/docs/API/10-lang/10-object/10-getDeepProperty.ts +26 -0
  399. package/docs/API/10-lang/10-object/10-getProperty.ts +24 -0
  400. package/docs/API/10-lang/10-object/10-hasKeys.ts +43 -0
  401. package/docs/API/10-lang/10-object/10-isSimple.ts +38 -0
  402. package/docs/API/10-lang/10-object/10-keys.ts +19 -0
  403. package/docs/API/10-lang/10-object/10-omit.ts +39 -0
  404. package/docs/API/10-lang/10-object/10-override.ts +24 -0
  405. package/docs/API/10-lang/10-object/10-pick.ts +41 -0
  406. package/docs/API/10-lang/10-object/10-to.ts +40 -0
  407. package/docs/API/10-lang/10-object/10-transformProperties.ts +43 -0
  408. package/docs/API/10-lang/10-object/10-transformProperty.ts +39 -0
  409. package/docs/API/10-lang/10-object/10-values.ts +19 -0
  410. package/docs/API/10-lang/10-object/index.llms.md +88 -0
  411. package/docs/API/10-lang/10-object/index.md +3 -0
  412. package/docs/API/10-lang/10-path/10-computeRelative.ts +19 -0
  413. package/docs/API/10-lang/10-path/10-concatSegment.ts +28 -0
  414. package/docs/API/10-lang/10-path/10-create.ts +21 -0
  415. package/docs/API/10-lang/10-path/10-createAbsolute.ts +21 -0
  416. package/docs/API/10-lang/10-path/10-createAbsoluteOrThrow.ts +16 -0
  417. package/docs/API/10-lang/10-path/10-createMatcher.ts +50 -0
  418. package/docs/API/10-lang/10-path/10-createOrThrow.ts +16 -0
  419. package/docs/API/10-lang/10-path/10-createSegment.ts +26 -0
  420. package/docs/API/10-lang/10-path/10-createSegmentOrThrow.ts +16 -0
  421. package/docs/API/10-lang/10-path/10-declareAbsolutePath.ts +15 -0
  422. package/docs/API/10-lang/10-path/10-declarePath.ts +15 -0
  423. package/docs/API/10-lang/10-path/10-declareSegment.ts +15 -0
  424. package/docs/API/10-lang/10-path/10-getBaseName.ts +22 -0
  425. package/docs/API/10-lang/10-path/10-getExtensionName.ts +22 -0
  426. package/docs/API/10-lang/10-path/10-getParentFolderPath.ts +25 -0
  427. package/docs/API/10-lang/10-path/10-is.ts +46 -0
  428. package/docs/API/10-lang/10-path/10-isAbsolute.ts +46 -0
  429. package/docs/API/10-lang/10-path/10-isSegment.ts +42 -0
  430. package/docs/API/10-lang/10-path/10-normalize.ts +26 -0
  431. package/docs/API/10-lang/10-path/10-resolveFrom.ts +37 -0
  432. package/docs/API/10-lang/10-path/10-resolveRelative.ts +23 -0
  433. package/docs/API/10-lang/10-path/index.llms.md +88 -0
  434. package/docs/API/10-lang/10-path/index.md +3 -0
  435. package/docs/API/10-lang/10-pattern/10-exhaustive.ts +26 -0
  436. package/docs/API/10-lang/10-pattern/10-isMatch.ts +72 -0
  437. package/docs/API/10-lang/10-pattern/10-match.ts +133 -0
  438. package/docs/API/10-lang/10-pattern/10-matchWithEntity.ts +49 -0
  439. package/docs/API/10-lang/10-pattern/10-matchWithEntityOtherwise.ts +55 -0
  440. package/docs/API/10-lang/10-pattern/10-matchWithError.ts +45 -0
  441. package/docs/API/10-lang/10-pattern/10-matchWithErrorOtherwise.ts +48 -0
  442. package/docs/API/10-lang/10-pattern/10-matchWithFact.ts +49 -0
  443. package/docs/API/10-lang/10-pattern/10-matchWithFactOtherwise.ts +49 -0
  444. package/docs/API/10-lang/10-pattern/10-matchWithNumber.ts +33 -0
  445. package/docs/API/10-lang/10-pattern/10-matchWithNumberOtherwise.ts +37 -0
  446. package/docs/API/10-lang/10-pattern/10-matchWithString.ts +34 -0
  447. package/docs/API/10-lang/10-pattern/10-matchWithStringOtherwise.ts +35 -0
  448. package/docs/API/10-lang/10-pattern/10-matchWithTaggedObject.ts +43 -0
  449. package/docs/API/10-lang/10-pattern/10-matchWithTaggedObjectOtherwise.ts +49 -0
  450. package/docs/API/10-lang/10-pattern/10-otherwise.ts +28 -0
  451. package/docs/API/10-lang/10-pattern/10-union.ts +47 -0
  452. package/docs/API/10-lang/10-pattern/10-when.ts +46 -0
  453. package/docs/API/10-lang/10-pattern/10-whenNot.ts +123 -0
  454. package/docs/API/10-lang/10-pattern/index.llms.md +80 -0
  455. package/docs/API/10-lang/10-pattern/index.md +3 -0
  456. package/docs/API/10-lang/10-printer/10-bold.ts +12 -0
  457. package/docs/API/10-lang/10-printer/10-colorized.ts +18 -0
  458. package/docs/API/10-lang/10-printer/10-colorizedBold.ts +18 -0
  459. package/docs/API/10-lang/10-printer/10-primitives.md +19 -0
  460. package/docs/API/10-lang/10-printer/10-renderLine.ts +36 -0
  461. package/docs/API/10-lang/10-printer/10-renderParagraph.ts +37 -0
  462. package/docs/API/10-lang/10-printer/index.llms.md +29 -0
  463. package/docs/API/10-lang/10-printer/index.md +3 -0
  464. package/docs/API/10-lang/10-string/10-at.ts +18 -0
  465. package/docs/API/10-lang/10-string/10-capitalize.ts +18 -0
  466. package/docs/API/10-lang/10-string/10-charAt.ts +18 -0
  467. package/docs/API/10-lang/10-string/10-concat.ts +18 -0
  468. package/docs/API/10-lang/10-string/10-endsWith.ts +33 -0
  469. package/docs/API/10-lang/10-string/10-extract.ts +18 -0
  470. package/docs/API/10-lang/10-string/10-extractAll.ts +18 -0
  471. package/docs/API/10-lang/10-string/10-first.ts +17 -0
  472. package/docs/API/10-lang/10-string/10-includes.ts +33 -0
  473. package/docs/API/10-lang/10-string/10-indexOf.ts +17 -0
  474. package/docs/API/10-lang/10-string/10-isComposedOf.ts +33 -0
  475. package/docs/API/10-lang/10-string/10-isEmail.ts +56 -0
  476. package/docs/API/10-lang/10-string/10-isIn.ts +34 -0
  477. package/docs/API/10-lang/10-string/10-isKeyof.ts +37 -0
  478. package/docs/API/10-lang/10-string/10-isNotEmpty.ts +32 -0
  479. package/docs/API/10-lang/10-string/10-isNumber.ts +32 -0
  480. package/docs/API/10-lang/10-string/10-isTrimmed.ts +33 -0
  481. package/docs/API/10-lang/10-string/10-isUrl.ts +31 -0
  482. package/docs/API/10-lang/10-string/10-isUuid.ts +31 -0
  483. package/docs/API/10-lang/10-string/10-join.ts +18 -0
  484. package/docs/API/10-lang/10-string/10-last.ts +17 -0
  485. package/docs/API/10-lang/10-string/10-lastIndexOf.ts +17 -0
  486. package/docs/API/10-lang/10-string/10-length.ts +18 -0
  487. package/docs/API/10-lang/10-string/10-lengthEqual.ts +33 -0
  488. package/docs/API/10-lang/10-string/10-maxCharacters.ts +33 -0
  489. package/docs/API/10-lang/10-string/10-minCharacters.ts +33 -0
  490. package/docs/API/10-lang/10-string/10-normalize.ts +17 -0
  491. package/docs/API/10-lang/10-string/10-padEnd.ts +17 -0
  492. package/docs/API/10-lang/10-string/10-padStart.ts +17 -0
  493. package/docs/API/10-lang/10-string/10-pop.ts +17 -0
  494. package/docs/API/10-lang/10-string/10-prepend.ts +17 -0
  495. package/docs/API/10-lang/10-string/10-repeat.ts +17 -0
  496. package/docs/API/10-lang/10-string/10-replace.ts +18 -0
  497. package/docs/API/10-lang/10-string/10-replaceAll.ts +17 -0
  498. package/docs/API/10-lang/10-string/10-search.ts +17 -0
  499. package/docs/API/10-lang/10-string/10-shift.ts +17 -0
  500. package/docs/API/10-lang/10-string/10-slice.ts +17 -0
  501. package/docs/API/10-lang/10-string/10-sort.ts +19 -0
  502. package/docs/API/10-lang/10-string/10-sortCompare.ts +17 -0
  503. package/docs/API/10-lang/10-string/10-split.ts +34 -0
  504. package/docs/API/10-lang/10-string/10-startsWith.ts +33 -0
  505. package/docs/API/10-lang/10-string/10-stringify.ts +11 -0
  506. package/docs/API/10-lang/10-string/10-substring.ts +17 -0
  507. package/docs/API/10-lang/10-string/10-test.ts +17 -0
  508. package/docs/API/10-lang/10-string/10-to.ts +11 -0
  509. package/docs/API/10-lang/10-string/10-toLowerCase.ts +17 -0
  510. package/docs/API/10-lang/10-string/10-toUpperCase.ts +17 -0
  511. package/docs/API/10-lang/10-string/10-trim.ts +17 -0
  512. package/docs/API/10-lang/10-string/10-trimEnd.ts +17 -0
  513. package/docs/API/10-lang/10-string/10-trimStart.ts +17 -0
  514. package/docs/API/10-lang/10-string/10-uncapitalize.ts +17 -0
  515. package/docs/API/10-lang/10-string/index.llms.md +208 -0
  516. package/docs/API/10-lang/10-string/index.md +3 -0
  517. package/docs/API/10-lang/10-tuple/10-from.ts +50 -0
  518. package/docs/API/10-lang/10-tuple/10-map.ts +37 -0
  519. package/docs/API/10-lang/10-tuple/index.llms.md +12 -0
  520. package/docs/API/10-lang/10-tuple/index.md +3 -0
  521. package/docs/API/10-lang/index.md +3 -0
  522. package/docs/API/20-server/10-file/10-appendFile.ts +50 -0
  523. package/docs/API/20-server/10-file/10-appendTextFile.ts +49 -0
  524. package/docs/API/20-server/10-file/10-copy.ts +50 -0
  525. package/docs/API/20-server/10-file/10-createEntryInterface.ts +13 -0
  526. package/docs/API/20-server/10-file/10-createFileInterface.ts +22 -0
  527. package/docs/API/20-server/10-file/10-createFolderInterface.ts +20 -0
  528. package/docs/API/20-server/10-file/10-createUnknownEntryInterface.ts +13 -0
  529. package/docs/API/20-server/10-file/10-ensureDirectory.ts +39 -0
  530. package/docs/API/20-server/10-file/10-ensureFile.ts +40 -0
  531. package/docs/API/20-server/10-file/10-exists.ts +36 -0
  532. package/docs/API/20-server/10-file/10-link.ts +51 -0
  533. package/docs/API/20-server/10-file/10-linkStat.ts +37 -0
  534. package/docs/API/20-server/10-file/10-makeDirectory.ts +41 -0
  535. package/docs/API/20-server/10-file/10-makeTemporaryDirectory.ts +35 -0
  536. package/docs/API/20-server/10-file/10-makeTemporaryFile.ts +40 -0
  537. package/docs/API/20-server/10-file/10-move.ts +51 -0
  538. package/docs/API/20-server/10-file/10-readDirectory.ts +52 -0
  539. package/docs/API/20-server/10-file/10-readFile.ts +38 -0
  540. package/docs/API/20-server/10-file/10-readJsonFile.ts +38 -0
  541. package/docs/API/20-server/10-file/10-readLink.ts +37 -0
  542. package/docs/API/20-server/10-file/10-readTextFile.ts +38 -0
  543. package/docs/API/20-server/10-file/10-realPath.ts +36 -0
  544. package/docs/API/20-server/10-file/10-relocate.ts +51 -0
  545. package/docs/API/20-server/10-file/10-remove.ts +40 -0
  546. package/docs/API/20-server/10-file/10-rename.ts +43 -0
  547. package/docs/API/20-server/10-file/10-setMode.ts +37 -0
  548. package/docs/API/20-server/10-file/10-setOwner.ts +38 -0
  549. package/docs/API/20-server/10-file/10-setTime.ts +42 -0
  550. package/docs/API/20-server/10-file/10-stat.ts +37 -0
  551. package/docs/API/20-server/10-file/10-symlink.ts +49 -0
  552. package/docs/API/20-server/10-file/10-truncate.ts +41 -0
  553. package/docs/API/20-server/10-file/10-walkDirectory.ts +75 -0
  554. package/docs/API/20-server/10-file/10-writeFile.ts +50 -0
  555. package/docs/API/20-server/10-file/10-writeJsonFile.ts +41 -0
  556. package/docs/API/20-server/10-file/10-writeTextFile.ts +49 -0
  557. package/docs/API/20-server/10-file/index.llms.md +144 -0
  558. package/docs/API/20-server/10-file/index.md +3 -0
  559. package/docs/API/20-server/20-common/10-environmentVariable.ts +57 -0
  560. package/docs/API/20-server/20-common/10-environmentVariableOrThrow.ts +21 -0
  561. package/docs/API/20-server/20-common/10-exitProcess.ts +9 -0
  562. package/docs/API/20-server/20-common/10-getCurrentDirectoryName.ts +10 -0
  563. package/docs/API/20-server/20-common/10-getCurrentWorkDirectory.ts +10 -0
  564. package/docs/API/20-server/20-common/10-getCurrentWorkDirectoryOrThrow.ts +10 -0
  565. package/docs/API/20-server/20-common/10-getProcessArguments.ts +10 -0
  566. package/docs/API/20-server/20-common/10-setCurrentWorkingDirectory.ts +14 -0
  567. package/docs/API/20-server/20-common/10-setCurrentWorkingDirectoryOrThrow.ts +12 -0
  568. package/docs/API/20-server/20-common/index.llms.md +40 -0
  569. package/docs/API/20-server/20-common/index.md +3 -0
  570. package/docs/API/20-server/30-dataStructure/10-file.ts +14 -0
  571. package/docs/API/20-server/30-dataStructure/10-fileExist.ts +27 -0
  572. package/docs/API/20-server/30-dataStructure/10-folder.ts +14 -0
  573. package/docs/API/20-server/30-dataStructure/10-folderExist.ts +14 -0
  574. package/docs/API/20-server/30-dataStructure/10-mimeType.ts +14 -0
  575. package/docs/API/20-server/30-dataStructure/10-size.ts +32 -0
  576. package/docs/API/20-server/30-dataStructure/index.llms.md +28 -0
  577. package/docs/API/20-server/30-dataStructure/index.md +3 -0
  578. package/docs/API/20-server/40-command/10-create.ts +39 -0
  579. package/docs/API/20-server/40-command/10-createArgument.ts +39 -0
  580. package/docs/API/20-server/40-command/10-createArrayOption.ts +36 -0
  581. package/docs/API/20-server/40-command/10-createBooleanOption.ts +28 -0
  582. package/docs/API/20-server/40-command/10-createOption.ts +46 -0
  583. package/docs/API/20-server/40-command/10-exec.ts +51 -0
  584. package/docs/API/20-server/40-command/10-execOptions.ts +30 -0
  585. package/docs/API/20-server/40-command/index.llms.md +32 -0
  586. package/docs/API/20-server/40-command/index.md +3 -0
  587. package/docs/API/20-server/index.md +3 -0
  588. package/docs/API/40-json-web-token/10-tokenHandler/10-createTokenHandler.ts +160 -0
  589. package/docs/API/40-json-web-token/10-tokenHandler/index.llms.md +8 -0
  590. package/docs/API/40-json-web-token/10-tokenHandler/index.md +3 -0
  591. package/docs/API/40-json-web-token/20-signer/10-createHS256.ts +24 -0
  592. package/docs/API/40-json-web-token/20-signer/10-createHS512.ts +24 -0
  593. package/docs/API/40-json-web-token/20-signer/10-createRS256.ts +28 -0
  594. package/docs/API/40-json-web-token/20-signer/10-createRS512.ts +28 -0
  595. package/docs/API/40-json-web-token/20-signer/10-factory.ts +29 -0
  596. package/docs/API/40-json-web-token/20-signer/index.llms.md +24 -0
  597. package/docs/API/40-json-web-token/20-signer/index.md +3 -0
  598. package/docs/API/40-json-web-token/30-cipher/10-createRSAOAEP.ts +26 -0
  599. package/docs/API/40-json-web-token/30-cipher/10-createRSAOAEP256.ts +26 -0
  600. package/docs/API/40-json-web-token/30-cipher/10-factory.ts +29 -0
  601. package/docs/API/40-json-web-token/30-cipher/index.llms.md +16 -0
  602. package/docs/API/40-json-web-token/30-cipher/index.md +3 -0
  603. package/docs/API/40-json-web-token/40-utils/10-AES_GCM.decrypt.ts +17 -0
  604. package/docs/API/40-json-web-token/40-utils/10-AES_GCM.encrypt.ts +11 -0
  605. package/docs/API/40-json-web-token/40-utils/10-AES_GCM.generateInitializationVector.ts +9 -0
  606. package/docs/API/40-json-web-token/40-utils/10-HMAC.sign.ts +13 -0
  607. package/docs/API/40-json-web-token/40-utils/10-HMAC.verify.ts +11 -0
  608. package/docs/API/40-json-web-token/40-utils/10-RSA.sign.ts +14 -0
  609. package/docs/API/40-json-web-token/40-utils/10-RSA.verify.ts +13 -0
  610. package/docs/API/40-json-web-token/40-utils/10-RSA_OAEP.decrypt.ts +13 -0
  611. package/docs/API/40-json-web-token/40-utils/10-RSA_OAEP.encrypt.ts +10 -0
  612. package/docs/API/40-json-web-token/40-utils/10-decodeBase64.ts +9 -0
  613. package/docs/API/40-json-web-token/40-utils/10-decodeBase64Url.ts +9 -0
  614. package/docs/API/40-json-web-token/40-utils/10-decodeText.ts +9 -0
  615. package/docs/API/40-json-web-token/40-utils/10-encodeBase64.ts +9 -0
  616. package/docs/API/40-json-web-token/40-utils/10-encodeBase64Url.ts +9 -0
  617. package/docs/API/40-json-web-token/40-utils/10-encodeText.ts +9 -0
  618. package/docs/API/40-json-web-token/40-utils/10-isBase64Url.ts +11 -0
  619. package/docs/API/40-json-web-token/40-utils/10-jsonParse.ts +11 -0
  620. package/docs/API/40-json-web-token/40-utils/10-pemToBinary.ts +11 -0
  621. package/docs/API/40-json-web-token/40-utils/index.llms.md +76 -0
  622. package/docs/API/40-json-web-token/40-utils/index.md +3 -0
  623. package/docs/API/40-json-web-token/index.md +3 -0
  624. package/docs/API/50-form/10-vue/10-construction/10-createForm.ts +48 -0
  625. package/docs/API/50-form/10-vue/10-construction/10-createFormField.ts +66 -0
  626. package/docs/API/50-form/10-vue/10-construction/10-createGridTemplates.ts +39 -0
  627. package/docs/API/50-form/10-vue/10-construction/10-createInput.ts +46 -0
  628. package/docs/API/50-form/10-vue/10-construction/10-createTemplate.ts +36 -0
  629. package/docs/API/50-form/10-vue/10-construction/fixtures/AddressInput.vue +19 -0
  630. package/docs/API/50-form/10-vue/10-construction/index.llms.md +24 -0
  631. package/docs/API/50-form/10-vue/10-construction/index.md +3 -0
  632. package/docs/API/50-form/10-vue/20-layouts/10-useCheckLayout.ts +40 -0
  633. package/docs/API/50-form/10-vue/20-layouts/10-useDisabledLayout.ts +34 -0
  634. package/docs/API/50-form/10-vue/20-layouts/10-useMultiLayout.ts +32 -0
  635. package/docs/API/50-form/10-vue/20-layouts/10-useRepeatLayout.ts +34 -0
  636. package/docs/API/50-form/10-vue/20-layouts/10-useSectionLayout.ts +20 -0
  637. package/docs/API/50-form/10-vue/20-layouts/10-useSlotLayout.ts +37 -0
  638. package/docs/API/50-form/10-vue/20-layouts/10-useStepLayout.ts +31 -0
  639. package/docs/API/50-form/10-vue/20-layouts/10-useUnionLayout.ts +48 -0
  640. package/docs/API/50-form/10-vue/20-layouts/index.llms.md +36 -0
  641. package/docs/API/50-form/10-vue/20-layouts/index.md +3 -0
  642. package/docs/API/50-form/10-vue/30-designSystem/10-useCheckbox.ts +13 -0
  643. package/docs/API/50-form/10-vue/30-designSystem/10-useCheckboxPolicy.ts +18 -0
  644. package/docs/API/50-form/10-vue/30-designSystem/10-useDateInput.ts +20 -0
  645. package/docs/API/50-form/10-vue/30-designSystem/10-useDualRangeInput.ts +27 -0
  646. package/docs/API/50-form/10-vue/30-designSystem/10-useFileInput.ts +23 -0
  647. package/docs/API/50-form/10-vue/30-designSystem/10-useNumberInput.ts +18 -0
  648. package/docs/API/50-form/10-vue/30-designSystem/10-useRadioGroup.ts +31 -0
  649. package/docs/API/50-form/10-vue/30-designSystem/10-useRangeDateInput.ts +23 -0
  650. package/docs/API/50-form/10-vue/30-designSystem/10-useRangeInput.ts +18 -0
  651. package/docs/API/50-form/10-vue/30-designSystem/10-useRangeTimeInput.ts +23 -0
  652. package/docs/API/50-form/10-vue/30-designSystem/10-useSelectInput.ts +31 -0
  653. package/docs/API/50-form/10-vue/30-designSystem/10-useTextInput.ts +14 -0
  654. package/docs/API/50-form/10-vue/30-designSystem/10-useTextareaInput.ts +14 -0
  655. package/docs/API/50-form/10-vue/30-designSystem/10-useTimeInput.ts +20 -0
  656. package/docs/API/50-form/10-vue/30-designSystem/20-components.md +11 -0
  657. package/docs/API/50-form/10-vue/30-designSystem/index.llms.md +65 -0
  658. package/docs/API/50-form/10-vue/30-designSystem/index.md +3 -0
  659. package/docs/API/50-form/10-vue/fixtures/templates.ts +20 -0
  660. package/docs/API/50-form/10-vue/index.md +3 -0
  661. package/docs/API/50-form/index.md +3 -0
  662. package/docs/API/60-playwright/10-construction/10-createComponent.ts +47 -0
  663. package/docs/API/60-playwright/10-construction/10-createComponentInteraction.ts +28 -0
  664. package/docs/API/60-playwright/10-construction/10-createPage.ts +34 -0
  665. package/docs/API/60-playwright/10-construction/10-createStepWrapper.ts +23 -0
  666. package/docs/API/60-playwright/10-construction/10-createWebsite.ts +57 -0
  667. package/docs/API/60-playwright/10-construction/10-initClient.ts +38 -0
  668. package/docs/API/60-playwright/10-construction/index.llms.md +28 -0
  669. package/docs/API/60-playwright/10-construction/index.md +3 -0
  670. package/docs/API/60-playwright/20-actions/10-check.ts +9 -0
  671. package/docs/API/60-playwright/20-actions/10-clear.ts +9 -0
  672. package/docs/API/60-playwright/20-actions/10-click.ts +9 -0
  673. package/docs/API/60-playwright/20-actions/10-dragTo.ts +10 -0
  674. package/docs/API/60-playwright/20-actions/10-extractContent.ts +10 -0
  675. package/docs/API/60-playwright/20-actions/10-fill.ts +9 -0
  676. package/docs/API/60-playwright/20-actions/10-focus.ts +9 -0
  677. package/docs/API/60-playwright/20-actions/10-forceClick.ts +10 -0
  678. package/docs/API/60-playwright/20-actions/10-hover.ts +9 -0
  679. package/docs/API/60-playwright/20-actions/10-press.ts +9 -0
  680. package/docs/API/60-playwright/20-actions/10-selectOption.ts +10 -0
  681. package/docs/API/60-playwright/20-actions/10-type.ts +10 -0
  682. package/docs/API/60-playwright/20-actions/10-uncheck.ts +9 -0
  683. package/docs/API/60-playwright/20-actions/10-withStep.ts +10 -0
  684. package/docs/API/60-playwright/20-actions/index.llms.md +60 -0
  685. package/docs/API/60-playwright/20-actions/index.md +3 -0
  686. package/docs/API/60-playwright/30-assertions/10-toBeBusy.ts +10 -0
  687. package/docs/API/60-playwright/30-assertions/10-toBeChecked.ts +9 -0
  688. package/docs/API/60-playwright/30-assertions/10-toBeDisabled.ts +9 -0
  689. package/docs/API/60-playwright/30-assertions/10-toBeEnabled.ts +9 -0
  690. package/docs/API/60-playwright/30-assertions/10-toBeHidden.ts +9 -0
  691. package/docs/API/60-playwright/30-assertions/10-toBeNotBusy.ts +10 -0
  692. package/docs/API/60-playwright/30-assertions/10-toBeVisible.ts +10 -0
  693. package/docs/API/60-playwright/30-assertions/10-toContainText.ts +9 -0
  694. package/docs/API/60-playwright/30-assertions/10-toHaveAttribute.ts +12 -0
  695. package/docs/API/60-playwright/30-assertions/10-toHaveClass.ts +9 -0
  696. package/docs/API/60-playwright/30-assertions/10-toHaveNoText.ts +10 -0
  697. package/docs/API/60-playwright/30-assertions/10-toHaveQuantity.ts +20 -0
  698. package/docs/API/60-playwright/30-assertions/10-toHaveText.ts +9 -0
  699. package/docs/API/60-playwright/30-assertions/10-toHaveValue.ts +9 -0
  700. package/docs/API/60-playwright/30-assertions/10-withStep.ts +10 -0
  701. package/docs/API/60-playwright/30-assertions/index.llms.md +64 -0
  702. package/docs/API/60-playwright/30-assertions/index.md +3 -0
  703. package/docs/API/60-playwright/fixtures/component.ts +44 -0
  704. package/docs/API/60-playwright/index.md +3 -0
  705. package/docs/API/index.md +3 -0
  706. package/docs/API.llms.md +135 -0
  707. package/docs/concepts/01-fundamental/01-constraint/01-use.ts +22 -0
  708. package/docs/concepts/01-fundamental/01-constraint/10-built-in-constraint.ts +37 -0
  709. package/docs/concepts/01-fundamental/01-constraint/20-manipulation.ts +41 -0
  710. package/docs/concepts/01-fundamental/01-constraint/30-cast.ts +66 -0
  711. package/docs/concepts/01-fundamental/01-constraint/40-custom-constraint.ts +45 -0
  712. package/docs/concepts/01-fundamental/01-constraint/index.md +3 -0
  713. package/docs/concepts/01-fundamental/02-currying/01-use.ts +38 -0
  714. package/docs/concepts/01-fundamental/02-currying/10-built-in-function.ts +190 -0
  715. package/docs/concepts/01-fundamental/02-currying/20-inner-pipe.ts +48 -0
  716. package/docs/concepts/01-fundamental/02-currying/30-async-pipe.ts +51 -0
  717. package/docs/concepts/01-fundamental/02-currying/index.md +3 -0
  718. package/docs/concepts/01-fundamental/03-either/01-use.ts +21 -0
  719. package/docs/concepts/01-fundamental/03-either/10-discrimination.ts +90 -0
  720. package/docs/concepts/01-fundamental/03-either/20-exhaustive-handling.ts +90 -0
  721. package/docs/concepts/01-fundamental/03-either/30-composition.ts +80 -0
  722. package/docs/concepts/01-fundamental/03-either/40-result-adaptation.ts +46 -0
  723. package/docs/concepts/01-fundamental/03-either/50-external-results.ts +72 -0
  724. package/docs/concepts/01-fundamental/03-either/60-contextual-state.ts +40 -0
  725. package/docs/concepts/01-fundamental/03-either/index.md +3 -0
  726. package/docs/concepts/01-fundamental/04-data-structure/01-use.ts +22 -0
  727. package/docs/concepts/01-fundamental/04-data-structure/10-structure.ts +244 -0
  728. package/docs/concepts/01-fundamental/04-data-structure/20-constraint.ts +86 -0
  729. package/docs/concepts/01-fundamental/04-data-structure/30-validation.ts +104 -0
  730. package/docs/concepts/01-fundamental/04-data-structure/40-codecs.ts +162 -0
  731. package/docs/concepts/01-fundamental/04-data-structure/50-recursive.ts +57 -0
  732. package/docs/concepts/01-fundamental/04-data-structure/60-interpret-error.ts +123 -0
  733. package/docs/concepts/01-fundamental/04-data-structure/index.md +3 -0
  734. package/docs/concepts/01-fundamental/05-chrono/01-use.ts +14 -0
  735. package/docs/concepts/01-fundamental/05-chrono/10-creation.ts +85 -0
  736. package/docs/concepts/01-fundamental/05-chrono/20-manipulation.ts +110 -0
  737. package/docs/concepts/01-fundamental/05-chrono/30-serialized.ts +89 -0
  738. package/docs/concepts/01-fundamental/05-chrono/40-timezone.ts +85 -0
  739. package/docs/concepts/01-fundamental/05-chrono/index.md +3 -0
  740. package/docs/concepts/01-fundamental/06-modeling/10-new-type.ts +42 -0
  741. package/docs/concepts/01-fundamental/06-modeling/20-entity.ts +191 -0
  742. package/docs/concepts/01-fundamental/06-modeling/30-tagged-object.ts +204 -0
  743. package/docs/concepts/01-fundamental/06-modeling/40-entity-lifecycle.ts +272 -0
  744. package/docs/concepts/01-fundamental/06-modeling/50-evidence.ts +94 -0
  745. package/docs/concepts/01-fundamental/06-modeling/60-signed-function.ts +26 -0
  746. package/docs/concepts/01-fundamental/06-modeling/index.md +3 -0
  747. package/docs/concepts/01-fundamental/07-discrimination/10-entity.ts +136 -0
  748. package/docs/concepts/01-fundamental/07-discrimination/20-fact.ts +158 -0
  749. package/docs/concepts/01-fundamental/07-discrimination/30-tagged-object.ts +137 -0
  750. package/docs/concepts/01-fundamental/07-discrimination/40-error.ts +73 -0
  751. package/docs/concepts/01-fundamental/07-discrimination/50-literal.ts +106 -0
  752. package/docs/concepts/01-fundamental/07-discrimination/60-shape.ts +160 -0
  753. package/docs/concepts/01-fundamental/07-discrimination/70-predicate.ts +101 -0
  754. package/docs/concepts/01-fundamental/07-discrimination/index.md +3 -0
  755. package/docs/concepts/01-fundamental/08-kind/01-identity.md +7 -0
  756. package/docs/concepts/01-fundamental/08-kind/20-metadata.md +11 -0
  757. package/docs/concepts/01-fundamental/08-kind/30-transport.md +11 -0
  758. package/docs/concepts/01-fundamental/08-kind/index.md +3 -0
  759. package/docs/concepts/01-fundamental/index.md +1 -0
  760. package/docs/concepts/02-server/10-file/10-manipulation.ts +52 -0
  761. package/docs/concepts/02-server/10-file/20-path.ts +72 -0
  762. package/docs/concepts/02-server/10-file/index.md +3 -0
  763. package/docs/concepts/02-server/20-http/10-init.ts +23 -0
  764. package/docs/concepts/02-server/20-http/20-route.ts +182 -0
  765. package/docs/concepts/02-server/20-http/30-routine.ts +188 -0
  766. package/docs/concepts/02-server/20-http/40-jwt.ts +149 -0
  767. package/docs/concepts/02-server/20-http/50-open-api.ts +44 -0
  768. package/docs/concepts/02-server/20-http/index.md +3 -0
  769. package/docs/concepts/02-server/30-environment/10-platform.ts +47 -0
  770. package/docs/concepts/02-server/30-environment/20-variable.ts +47 -0
  771. package/docs/concepts/02-server/30-environment/index.md +3 -0
  772. package/docs/concepts/02-server/40-command/10-use.ts +112 -0
  773. package/docs/concepts/02-server/40-command/20-sub-command.ts +48 -0
  774. package/docs/concepts/02-server/40-command/index.md +3 -0
  775. package/docs/concepts/02-server/index.md +1 -0
  776. package/docs/concepts/03-client/10-http/10-init.ts +52 -0
  777. package/docs/concepts/03-client/10-http/20-request.ts +254 -0
  778. package/docs/concepts/03-client/10-http/30-hook.ts +139 -0
  779. package/docs/concepts/03-client/10-http/index.md +3 -0
  780. package/docs/concepts/03-client/20-form/10-init.ts +98 -0
  781. package/docs/concepts/03-client/20-form/20-input.ts +103 -0
  782. package/docs/concepts/03-client/20-form/30-layout.ts +155 -0
  783. package/docs/concepts/03-client/20-form/40-template.ts +94 -0
  784. package/docs/concepts/03-client/20-form/50-integration.md +11 -0
  785. package/docs/concepts/03-client/20-form/examples/postModeration/ThePage.vue +32 -0
  786. package/docs/concepts/03-client/20-form/examples/postModeration/usePostModeration.ts +80 -0
  787. package/docs/concepts/03-client/20-form/index.md +3 -0
  788. package/docs/concepts/03-client/index.md +1 -0
  789. package/docs/concepts/04-tests/01-unit/10-either.ts +136 -0
  790. package/docs/concepts/04-tests/01-unit/20-server-mocking.ts +53 -0
  791. package/docs/concepts/04-tests/01-unit/index.md +3 -0
  792. package/docs/concepts/04-tests/02-e2e/10-init.ts +80 -0
  793. package/docs/concepts/04-tests/02-e2e/20-architecture.ts +76 -0
  794. package/docs/concepts/04-tests/02-e2e/30-testing.ts +90 -0
  795. package/docs/concepts/04-tests/02-e2e/index.md +3 -0
  796. package/docs/concepts/04-tests/index.md +1 -0
  797. package/docs/concepts/05-type-driven-design/01-architecture/10-boundaries.md +44 -0
  798. package/docs/concepts/05-type-driven-design/01-architecture/index.md +3 -0
  799. package/docs/concepts/05-type-driven-design/02-domains/10-entities.md +50 -0
  800. package/docs/concepts/05-type-driven-design/02-domains/20-aggregates.md +65 -0
  801. package/docs/concepts/05-type-driven-design/02-domains/30-repositories.md +35 -0
  802. package/docs/concepts/05-type-driven-design/02-domains/40-refinements.md +30 -0
  803. package/docs/concepts/05-type-driven-design/02-domains/index.md +3 -0
  804. package/docs/concepts/05-type-driven-design/03-applications/10-use-case.md +62 -0
  805. package/docs/concepts/05-type-driven-design/03-applications/20-ports.md +49 -0
  806. package/docs/concepts/05-type-driven-design/03-applications/index.md +3 -0
  807. package/docs/concepts/05-type-driven-design/04-infrastructure/10-implementation.md +47 -0
  808. package/docs/concepts/05-type-driven-design/04-infrastructure/index.md +3 -0
  809. package/docs/concepts/05-type-driven-design/fixtures/business/applications/index.ts +2 -0
  810. package/docs/concepts/05-type-driven-design/fixtures/business/applications/ports/book.ts +10 -0
  811. package/docs/concepts/05-type-driven-design/fixtures/business/applications/ports/client.ts +10 -0
  812. package/docs/concepts/05-type-driven-design/fixtures/business/applications/ports/email.ts +7 -0
  813. package/docs/concepts/05-type-driven-design/fixtures/business/applications/ports/index.ts +4 -0
  814. package/docs/concepts/05-type-driven-design/fixtures/business/applications/ports/waitingListEntry.ts +17 -0
  815. package/docs/concepts/05-type-driven-design/fixtures/business/applications/useCases/clientGiveBackBook.ts +45 -0
  816. package/docs/concepts/05-type-driven-design/fixtures/business/applications/useCases/clientRentBook.ts +31 -0
  817. package/docs/concepts/05-type-driven-design/fixtures/business/applications/useCases/createBook.ts +32 -0
  818. package/docs/concepts/05-type-driven-design/fixtures/business/applications/useCases/index.ts +4 -0
  819. package/docs/concepts/05-type-driven-design/fixtures/business/applications/useCases/withdrawBook.ts +32 -0
  820. package/docs/concepts/05-type-driven-design/fixtures/business/domains/aggregates/clientGiveBackBook.ts +74 -0
  821. package/docs/concepts/05-type-driven-design/fixtures/business/domains/aggregates/clientRentBook.ts +42 -0
  822. package/docs/concepts/05-type-driven-design/fixtures/business/domains/aggregates/createBook.ts +33 -0
  823. package/docs/concepts/05-type-driven-design/fixtures/business/domains/aggregates/index.ts +4 -0
  824. package/docs/concepts/05-type-driven-design/fixtures/business/domains/aggregates/withdrawBook.ts +37 -0
  825. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/book/facts/create.ts +33 -0
  826. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/book/facts/index.ts +5 -0
  827. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/book/facts/rental.ts +31 -0
  828. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/book/facts/reserve.ts +37 -0
  829. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/book/facts/returnBook.ts +32 -0
  830. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/book/facts/withdraw.ts +21 -0
  831. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/book/index.ts +118 -0
  832. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/client/facts/giveBackBook.ts +35 -0
  833. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/client/facts/index.ts +2 -0
  834. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/client/facts/rentBook.ts +32 -0
  835. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/client/index.ts +59 -0
  836. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/index.ts +3 -0
  837. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/waitingListEntry/facts/cancel.ts +26 -0
  838. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/waitingListEntry/facts/create.ts +33 -0
  839. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/waitingListEntry/facts/index.ts +3 -0
  840. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/waitingListEntry/facts/prepare.ts +23 -0
  841. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/waitingListEntry/index.ts +79 -0
  842. package/docs/concepts/05-type-driven-design/fixtures/business/domains/index.ts +4 -0
  843. package/docs/concepts/05-type-driven-design/fixtures/business/domains/refinements/index.ts +1 -0
  844. package/docs/concepts/05-type-driven-design/fixtures/business/domains/refinements/refineLinkBetweenClientAndBorrowedBook.ts +34 -0
  845. package/docs/concepts/05-type-driven-design/fixtures/business/domains/repositories/book.ts +16 -0
  846. package/docs/concepts/05-type-driven-design/fixtures/business/domains/repositories/client.ts +7 -0
  847. package/docs/concepts/05-type-driven-design/fixtures/business/domains/repositories/email.ts +12 -0
  848. package/docs/concepts/05-type-driven-design/fixtures/business/domains/repositories/index.ts +4 -0
  849. package/docs/concepts/05-type-driven-design/fixtures/business/domains/repositories/waitingListEntry.ts +19 -0
  850. package/docs/concepts/05-type-driven-design/fixtures/business/index.ts +2 -0
  851. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/command/clientRentBook.ts +62 -0
  852. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/command/index.ts +11 -0
  853. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/http/checkers/bookExist.ts +19 -0
  854. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/http/checkers/clientExist.ts +19 -0
  855. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/http/checkers/index.ts +2 -0
  856. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/http/main.ts +19 -0
  857. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/http/routes/clientGiveBackBook.ts +46 -0
  858. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/http/routes/clientRentBook.ts +45 -0
  859. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/http/routes/index.ts +2 -0
  860. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/ports/book.ts +25 -0
  861. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/ports/client.ts +7 -0
  862. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/ports/email.ts +10 -0
  863. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/ports/index.ts +4 -0
  864. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/ports/waitingListEntry.ts +17 -0
  865. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/useCases/index.ts +13 -0
  866. package/docs/concepts/05-type-driven-design/index.md +3 -0
  867. package/docs/concepts.llms.md +521 -0
  868. package/instructions/coding-conventions.md +8 -0
  869. package/package.json +99 -3
  870. package/skills/command/SKILL.md +63 -0
  871. package/skills/command/references/examples/cli.ts +22 -0
  872. package/skills/command/references/examples/options-only.ts +27 -0
  873. package/skills/command/references/examples/preview-command.ts +57 -0
  874. package/skills/command/references/execution.md +31 -0
  875. package/skills/command/references/inputs.md +27 -0
  876. package/skills/fundamental/SKILL.md +80 -0
  877. package/skills/fundamental/references/composition.md +19 -0
  878. package/skills/fundamental/references/constraints-and-validation.md +24 -0
  879. package/skills/fundamental/references/examples/async-composition.ts +15 -0
  880. package/skills/fundamental/references/examples/cast.ts +18 -0
  881. package/skills/fundamental/references/examples/composition.ts +40 -0
  882. package/skills/fundamental/references/examples/environment-initialization.ts +19 -0
  883. package/skills/fundamental/references/examples/error-propagation.ts +24 -0
  884. package/skills/fundamental/references/examples/generic-inference.ts +31 -0
  885. package/skills/fundamental/references/examples/guaranteed-array-access.ts +31 -0
  886. package/skills/fundamental/references/examples/independent-inputs.ts +18 -0
  887. package/skills/fundamental/references/examples/infer.ts +21 -0
  888. package/skills/fundamental/references/examples/input-validation.ts +37 -0
  889. package/skills/fundamental/references/examples/iterations.ts +112 -0
  890. package/skills/fundamental/references/examples/result-selection.ts +65 -0
  891. package/skills/fundamental/references/examples/safe-declarations.ts +25 -0
  892. package/skills/fundamental/references/iterations.md +24 -0
  893. package/skills/fundamental/references/results-and-errors.md +34 -0
  894. package/skills/http-client/SKILL.md +50 -0
  895. package/skills/http-client/references/configuration.md +11 -0
  896. package/skills/http-client/references/examples/client-expectations.ts +85 -0
  897. package/skills/http-client/references/examples/client-streams.ts +74 -0
  898. package/skills/http-client/references/examples/external-client.ts +78 -0
  899. package/skills/http-client/references/hooks.md +7 -0
  900. package/skills/http-client/references/responses.md +39 -0
  901. package/skills/http-client/references/streams.md +10 -0
  902. package/skills/http-server/SKILL.md +61 -0
  903. package/skills/http-server/references/examples/authentication.ts +42 -0
  904. package/skills/http-server/references/examples/contracts.ts +19 -0
  905. package/skills/http-server/references/examples/inferred-client.ts +54 -0
  906. package/skills/http-server/references/examples/initialize.ts +29 -0
  907. package/skills/http-server/references/examples/minimal-route.ts +17 -0
  908. package/skills/http-server/references/examples/protected-route.ts +29 -0
  909. package/skills/http-server/references/examples/rename-user-route.ts +52 -0
  910. package/skills/http-server/references/examples/user-checker.ts +26 -0
  911. package/skills/http-server/references/examples/user-route.ts +45 -0
  912. package/skills/http-server/references/initialization.md +33 -0
  913. package/skills/http-server/references/reusable-flows.md +40 -0
  914. package/skills/http-server/references/routes-and-floor.md +46 -0
  915. package/skills/modeling/SKILL.md +76 -0
  916. package/skills/modeling/references/domain.md +33 -0
  917. package/skills/modeling/references/orchestration.md +36 -0
  918. package/skills/server/SKILL.md +55 -0
  919. package/skills/server/references/environment.md +30 -0
  920. package/skills/server/references/examples/environment.ts +41 -0
  921. package/skills/server/references/examples/file-structure.ts +26 -0
  922. package/skills/server/references/examples/files.ts +52 -0
  923. package/skills/server/references/files.md +38 -0
  924. package/skills/server/references/structures.md +15 -0
  925. package/skills/test/SKILL.md +70 -0
  926. package/skills/test/references/examples/results.ts +95 -0
  927. package/skills/test/references/examples/server.ts +59 -0
  928. package/skills/test/references/results.md +21 -0
  929. package/skills/test/references/server.md +17 -0
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @title DArray.fill
3
+ *
4
+ * Remplacer une plage d’éléments par une valeur dans une nouvelle copie du tableau.
5
+ */
6
+ import * as DArray from "@duplojs/lang/array";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+
9
+ const numbers = [1, 2, 3, 4];
10
+
11
+ // Appel classique : les indices 1 et 2 sont remplacés.
12
+ const result = DArray.fill(numbers, 0, 1, 3);
13
+
14
+ // La valeur obtenue est [1, 0, 0, 4] ; numbers reste inchangé.
15
+ type _CheckResult = DCommon.ExpectType<typeof result, readonly number[], "strict">;
16
+
17
+ // Appel curifié : la valeur et la plage sont fixées dans l’étape du pipe.
18
+ const piped = DCommon.pipe(
19
+ numbers,
20
+ DArray.fill(9, 0, 2),
21
+ );
22
+
23
+ // La valeur obtenue est [9, 9, 3, 4].
24
+ type _CheckPiped = DCommon.ExpectType<typeof piped, readonly number[], "strict">;
25
+
26
+ // La borne maximale du tableau source est conservée après le remplacement.
27
+ declare const constrained: readonly number[] & DArray.MaxElements<4>;
28
+ const constrainedResult = DArray.fill(constrained, 0, 0, 1);
29
+
30
+ type _CheckConstrained = DCommon.ExpectType<
31
+ typeof constrainedResult,
32
+ readonly number[] & DArray.MaxElements<4>,
33
+ "strict"
34
+ >;
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @title DArray.fillAll
3
+ *
4
+ * Remplacer tous les éléments d’un tableau par une même valeur dans une nouvelle copie.
5
+ */
6
+ import * as DArray from "@duplojs/lang/array";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+
9
+ const values = [1, 2, 3];
10
+
11
+ // Appel classique : tous les éléments deviennent 0.
12
+ const result = DArray.fillAll(values, 0);
13
+
14
+ // La valeur obtenue est [0, 0, 0] ; values reste inchangé.
15
+ type _CheckResult = DCommon.ExpectType<typeof result, readonly number[], "strict">;
16
+
17
+ // Appel curifié : la valeur de remplacement est configurée dans l’étape du pipe.
18
+ const piped = DCommon.pipe(
19
+ values,
20
+ DArray.fillAll(9),
21
+ );
22
+
23
+ // La valeur obtenue est [9, 9, 9].
24
+ type _CheckPiped = DCommon.ExpectType<typeof piped, readonly number[], "strict">;
25
+
26
+ // Le remplissage conserve la borne maximale portée par le tableau source.
27
+ declare const constrained: readonly number[] & DArray.MaxElements<4>;
28
+ const constrainedResult = DArray.fillAll(constrained, 0);
29
+
30
+ type _CheckConstrained = DCommon.ExpectType<
31
+ typeof constrainedResult,
32
+ readonly number[] & DArray.MaxElements<4>,
33
+ "strict"
34
+ >;
@@ -0,0 +1,43 @@
1
+ /**
2
+ * @title DArray.filter
3
+ *
4
+ * Construire un nouveau tableau avec les éléments qui satisfont un prédicat.
5
+ */
6
+ import * as DArray from "@duplojs/lang/array";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+ import * as DNumber from "@duplojs/lang/number";
9
+
10
+ const numbers = [1, 2, 3, 4];
11
+
12
+ // Appel classique : seuls les nombres pairs sont conservés.
13
+ const result = DArray.filter(numbers, DNumber.isEven);
14
+
15
+ // La valeur obtenue est [2, 4].
16
+ type _CheckResult = DCommon.ExpectType<
17
+ typeof result,
18
+ readonly (number & DNumber.Even)[],
19
+ "strict"
20
+ >;
21
+
22
+ // Appel curifié : le prédicat est utilisé dans l’étape du pipe.
23
+ const piped = DCommon.pipe(
24
+ numbers,
25
+ DArray.filter(DNumber.greaterThan(2)),
26
+ );
27
+
28
+ // La valeur obtenue est [3, 4].
29
+ type _CheckPiped = DCommon.ExpectType<
30
+ typeof piped,
31
+ readonly (number & DNumber.GreaterThan<2>)[],
32
+ "strict"
33
+ >;
34
+
35
+ // Le filtrage ne peut pas augmenter le nombre d’éléments : la borne maximale est conservée.
36
+ declare const constrained: readonly number[] & DArray.MaxElements<4>;
37
+ const constrainedResult = DArray.filter(constrained, DNumber.greaterThan(1));
38
+
39
+ type _CheckConstrained = DCommon.ExpectType<
40
+ typeof constrainedResult,
41
+ readonly (number & DNumber.GreaterThan<1>)[] & DArray.MaxElements<4>,
42
+ "strict"
43
+ >;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * @title DArray.find
3
+ *
4
+ * Lire le premier élément satisfaisant un prédicat, ou undefined si aucun ne convient.
5
+ */
6
+ import * as DArray from "@duplojs/lang/array";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+ import * as DNumber from "@duplojs/lang/number";
9
+
10
+ const numbers = [1, 2, 3];
11
+
12
+ // Appel classique : le premier élément supérieur à 1 est retourné.
13
+ const result = DArray.find(numbers, DNumber.greaterThan(1));
14
+
15
+ // La valeur obtenue est 2 ; l’absence d’élément reste représentée par undefined dans le type.
16
+ type _CheckResult = DCommon.ExpectType<
17
+ typeof result,
18
+ (number & DNumber.GreaterThan<1>) | undefined,
19
+ "strict"
20
+ >;
21
+
22
+ // Appel curifié : le prédicat est configuré dans l’étape du pipe.
23
+ const piped = DCommon.pipe(
24
+ numbers,
25
+ DArray.find(DNumber.greaterThan(2)),
26
+ );
27
+
28
+ // La valeur obtenue est 3, ou undefined si aucun élément ne satisfait le prédicat.
29
+ type _CheckPiped = DCommon.ExpectType<
30
+ typeof piped,
31
+ (number & DNumber.GreaterThan<2>) | undefined,
32
+ "strict"
33
+ >;
@@ -0,0 +1,35 @@
1
+ /**
2
+ * @title DArray.findAndReplace
3
+ *
4
+ * Remplacer le premier élément satisfaisant un prédicat dans une nouvelle copie, ou retourner undefined.
5
+ */
6
+ import * as DArray from "@duplojs/lang/array";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+ import * as DNumber from "@duplojs/lang/number";
9
+
10
+ const numbers = [1, 2, 3];
11
+
12
+ // Appel classique : seul le premier élément pair est remplacé.
13
+ const result = DArray.findAndReplace(numbers, DNumber.isEven, 20);
14
+
15
+ // La valeur obtenue est [1, 20, 3] ; une recherche sans correspondance renverrait undefined.
16
+ type _CheckResult = DCommon.ExpectType<typeof result, readonly number[] | undefined, "strict">;
17
+
18
+ // Appel curifié : le prédicat et la valeur de remplacement sont configurés dans le pipe.
19
+ const piped = DCommon.pipe(
20
+ numbers,
21
+ DArray.findAndReplace(DNumber.greaterThan(2), 30),
22
+ );
23
+
24
+ // La valeur obtenue est [1, 2, 30], ou undefined si la recherche échoue.
25
+ type _CheckPiped = DCommon.ExpectType<typeof piped, readonly number[] | undefined, "strict">;
26
+
27
+ // Le remplacement conserve la borne maximale, mais la recherche peut échouer.
28
+ declare const constrained: readonly number[] & DArray.MaxElements<4>;
29
+ const constrainedResult = DArray.findAndReplace(constrained, DNumber.greaterThan(1), 0);
30
+
31
+ type _CheckConstrained = DCommon.ExpectType<
32
+ typeof constrainedResult,
33
+ (readonly number[] & DArray.MaxElements<4>) | undefined,
34
+ "strict"
35
+ >;
@@ -0,0 +1,35 @@
1
+ /**
2
+ * @title DArray.findAndSpliceDelete
3
+ *
4
+ * Supprimer plusieurs éléments à partir du premier élément satisfaisant un prédicat.
5
+ */
6
+ import * as DArray from "@duplojs/lang/array";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+ import * as DNumber from "@duplojs/lang/number";
9
+
10
+ const numbers = [1, 2, 3, 4];
11
+
12
+ // Appel classique : supprimer deux éléments à partir du premier nombre pair.
13
+ const result = DArray.findAndSpliceDelete(numbers, DNumber.isEven, 2);
14
+
15
+ // La valeur obtenue est [1, 4], ou undefined si aucun élément ne correspond.
16
+ type _CheckResult = DCommon.ExpectType<typeof result, readonly number[] | undefined, "strict">;
17
+
18
+ // Appel curifié : le prédicat et le nombre de suppressions sont configurés dans le pipe.
19
+ const piped = DCommon.pipe(
20
+ numbers,
21
+ DArray.findAndSpliceDelete(DNumber.greaterThan(1), 1),
22
+ );
23
+
24
+ // La valeur obtenue est [1, 3, 4], ou undefined si la recherche échoue.
25
+ type _CheckPiped = DCommon.ExpectType<typeof piped, readonly number[] | undefined, "strict">;
26
+
27
+ // La suppression conserve une borne maximale existante, avec l’absence si aucun élément ne correspond.
28
+ declare const constrained: readonly number[] & DArray.MaxElements<4>;
29
+ const constrainedResult = DArray.findAndSpliceDelete(constrained, DNumber.greaterThan(1), 1);
30
+
31
+ type _CheckConstrained = DCommon.ExpectType<
32
+ typeof constrainedResult,
33
+ (readonly number[] & DArray.MaxElements<4>) | undefined,
34
+ "strict"
35
+ >;
@@ -0,0 +1,35 @@
1
+ /**
2
+ * @title DArray.findAndSpliceInsert
3
+ *
4
+ * Insérer des éléments avant le premier élément satisfaisant un prédicat.
5
+ */
6
+ import * as DArray from "@duplojs/lang/array";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+ import * as DNumber from "@duplojs/lang/number";
9
+
10
+ const numbers = [1, 3, 4];
11
+
12
+ // Appel classique : insérer [2] avant le premier élément supérieur à 1.
13
+ const result = DArray.findAndSpliceInsert(numbers, DNumber.greaterThan(1), [2]);
14
+
15
+ // La valeur obtenue est [1, 2, 3, 4], ou undefined si aucun élément ne correspond.
16
+ type _CheckResult = DCommon.ExpectType<typeof result, readonly number[] | undefined, "strict">;
17
+
18
+ // Appel curifié : le prédicat et les éléments sont configurés dans l’étape du pipe.
19
+ const piped = DCommon.pipe(
20
+ numbers,
21
+ DArray.findAndSpliceInsert(DCommon.truthy, [3]),
22
+ );
23
+
24
+ // La valeur obtenue est [3, 1, 3, 4], ou undefined si la recherche échoue.
25
+ type _CheckPiped = DCommon.ExpectType<typeof piped, readonly number[] | undefined, "strict">;
26
+
27
+ // L’insertion conserve la borne minimale du tableau source, avec l’absence si aucun élément ne correspond.
28
+ declare const constrained: readonly number[] & DArray.MinElements<2>;
29
+ const constrainedResult = DArray.findAndSpliceInsert(constrained, DNumber.greaterThan(1), [0]);
30
+
31
+ type _CheckConstrained = DCommon.ExpectType<
32
+ typeof constrainedResult,
33
+ (readonly number[] & DArray.MinElements<2>) | undefined,
34
+ "strict"
35
+ >;
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @title DArray.findAndSpliceReplace
3
+ *
4
+ * Remplacer la portion commençant au premier élément satisfaisant un prédicat.
5
+ */
6
+ import * as DArray from "@duplojs/lang/array";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+
9
+ const numbers = [1, 2, 3, 4];
10
+
11
+ // Appel classique : remplacer l’élément 2 par [8, 9].
12
+ const result = DArray.findAndSpliceReplace(numbers, DCommon.equal(2), [8, 9]);
13
+
14
+ // La valeur obtenue est [1, 8, 9, 3, 4], ou undefined sans correspondance.
15
+ type _CheckResult = DCommon.ExpectType<typeof result, number[] | undefined, "strict">;
16
+
17
+ // Appel curifié : le prédicat et les nouveaux éléments sont configurés dans le pipe.
18
+ const piped = DCommon.pipe(
19
+ numbers,
20
+ DArray.findAndSpliceReplace(DCommon.truthy, [7]),
21
+ );
22
+
23
+ // La valeur obtenue est [7, 2, 3, 4], ou undefined si la recherche échoue.
24
+ type _CheckPiped = DCommon.ExpectType<typeof piped, number[] | undefined, "strict">;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @title DArray.findDuplicates
3
+ *
4
+ * Trouver les valeurs primitives ou temporelles apparaissant plusieurs fois dans un tableau.
5
+ */
6
+ import * as DArray from "@duplojs/lang/array";
7
+ import type * as DCommon from "@duplojs/lang/common";
8
+
9
+ const values = ["a", "b", "a", "c", "b"];
10
+
11
+ // Les valeurs répétées sont retournées une seule fois, dans leur ordre de première répétition.
12
+ const result = DArray.findDuplicates(values);
13
+
14
+ // La valeur obtenue est ["a", "b"] ; aucun doublon produit undefined.
15
+ type _CheckResult = DCommon.ExpectType<
16
+ typeof result,
17
+ undefined | (readonly string[] & DArray.MinElements<1>),
18
+ "strict"
19
+ >;
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @title DArray.findIndex
3
+ *
4
+ * Lire l’index du premier élément satisfaisant un prédicat, ou undefined.
5
+ */
6
+ import * as DArray from "@duplojs/lang/array";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+ import * as DNumber from "@duplojs/lang/number";
9
+
10
+ const numbers = [1, 4, 6];
11
+
12
+ // Appel classique : l’index du premier nombre pair est retourné.
13
+ const result = DArray.findIndex(numbers, DNumber.isEven);
14
+
15
+ // La valeur obtenue est 1, ou undefined si aucun élément ne convient.
16
+ type _CheckResult = DCommon.ExpectType<typeof result, number | undefined, "strict">;
17
+
18
+ // Appel curifié : le prédicat est configuré dans l’étape du pipe.
19
+ const piped = DCommon.pipe(
20
+ numbers,
21
+ DArray.findIndex(DNumber.greaterThan(5)),
22
+ );
23
+
24
+ // La valeur obtenue est 2, ou undefined si la recherche échoue.
25
+ type _CheckPiped = DCommon.ExpectType<typeof piped, number | undefined, "strict">;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * @title DArray.findLast
3
+ *
4
+ * Lire le dernier élément satisfaisant un prédicat, ou undefined si aucun ne convient.
5
+ */
6
+ import * as DArray from "@duplojs/lang/array";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+ import * as DNumber from "@duplojs/lang/number";
9
+
10
+ const numbers = [2, 3, 4, 6];
11
+
12
+ // Appel classique : la recherche commence à la fin du tableau.
13
+ const result = DArray.findLast(numbers, DNumber.isEven);
14
+
15
+ // La valeur obtenue est 6, ou undefined si aucun élément ne convient.
16
+ type _CheckResult = DCommon.ExpectType<
17
+ typeof result,
18
+ (number & DNumber.Even) | undefined,
19
+ "strict"
20
+ >;
21
+
22
+ // Appel curifié : le prédicat est configuré dans l’étape du pipe.
23
+ const piped = DCommon.pipe(
24
+ numbers,
25
+ DArray.findLast(DNumber.lessThan(4)),
26
+ );
27
+
28
+ // La valeur obtenue est 3, ou undefined si la recherche échoue.
29
+ type _CheckPiped = DCommon.ExpectType<
30
+ typeof piped,
31
+ (number & DNumber.LessThan<4>) | undefined,
32
+ "strict"
33
+ >;
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @title DArray.findLastIndex
3
+ *
4
+ * Lire l’index du dernier élément satisfaisant un prédicat, ou undefined.
5
+ */
6
+ import * as DArray from "@duplojs/lang/array";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+ import * as DNumber from "@duplojs/lang/number";
9
+
10
+ const numbers = [2, 3, 4, 6];
11
+
12
+ // Appel classique : l’index du dernier nombre pair est retourné.
13
+ const result = DArray.findLastIndex(numbers, DNumber.isEven);
14
+
15
+ // La valeur obtenue est 3, ou undefined si aucun élément ne convient.
16
+ type _CheckResult = DCommon.ExpectType<typeof result, number | undefined, "strict">;
17
+
18
+ // Appel curifié : le prédicat est configuré dans l’étape du pipe.
19
+ const piped = DCommon.pipe(
20
+ numbers,
21
+ DArray.findLastIndex(DNumber.lessThan(5)),
22
+ );
23
+
24
+ // La valeur obtenue est 2, ou undefined si la recherche échoue.
25
+ type _CheckPiped = DCommon.ExpectType<typeof piped, number | undefined, "strict">;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @title DArray.first
3
+ *
4
+ * Lire le premier élément d’un tableau en conservant les garanties de son type.
5
+ */
6
+ import * as DArray from "@duplojs/lang/array";
7
+ import type * as DCommon from "@duplojs/lang/common";
8
+
9
+ const values = ["first", "second"];
10
+
11
+ // La valeur obtenue est "first" ; un tableau sans garantie de cardinalité peut être vide.
12
+ const result = DArray.first(values);
13
+
14
+ type _CheckResult = DCommon.ExpectType<typeof result, string | undefined, "strict">;
15
+
16
+ // Une contrainte de cardinalité minimale garantit l’existence du premier élément.
17
+ declare const constrained: readonly string[] & DArray.MinElements<1>;
18
+ const guaranteed = DArray.first(constrained);
19
+
20
+ // La valeur obtenue est une string sans undefined.
21
+ type _CheckConstrained = DCommon.ExpectType<typeof guaranteed, string, "strict">;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @title DArray.flat
3
+ *
4
+ * Aplatir les niveaux imbriqués d’un tableau selon une profondeur donnée.
5
+ */
6
+ import * as DArray from "@duplojs/lang/array";
7
+ import type * as DCommon from "@duplojs/lang/common";
8
+
9
+ const nested: number[][] = [[1, 2], [3]];
10
+
11
+ // Appel classique : le premier niveau est aplati par défaut.
12
+ const result = DArray.flat(nested);
13
+
14
+ // La valeur obtenue est [1, 2, 3].
15
+ type _CheckResult = DCommon.ExpectType<typeof result, readonly number[], "strict">;
16
+
17
+ // Une profondeur explicite aplatit autant de niveaux que demandé.
18
+ const deeplyNested: number[][][] = [[[1], [2]], [[3]]];
19
+ const deepResult = DArray.flat(deeplyNested, 2);
20
+
21
+ // La valeur obtenue est [1, 2, 3].
22
+ type _CheckDeepResult = DCommon.ExpectType<typeof deepResult, readonly number[], "strict">;
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @title DArray.flatMap
3
+ *
4
+ * Transformer chaque élément puis aplatir le niveau de tableau produit.
5
+ */
6
+ import * as DArray from "@duplojs/lang/array";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+
9
+ const numbers = [1, 2, 3];
10
+
11
+ // Appel classique : chaque nombre produit sa valeur et son double.
12
+ const result = DArray.flatMap(numbers, (value) => [value, value * 2]);
13
+
14
+ // La valeur obtenue est [1, 2, 2, 4, 3, 6].
15
+ type _CheckResult = DCommon.ExpectType<typeof result, readonly number[], "strict">;
16
+
17
+ // Appel curifié : la transformation est configurée dans l’étape du pipe.
18
+ const piped = DCommon.pipe(
19
+ numbers,
20
+ DArray.flatMap((value) => [value * 10]),
21
+ );
22
+
23
+ // La valeur obtenue est [10, 20, 30].
24
+ type _CheckPiped = DCommon.ExpectType<typeof piped, readonly number[], "strict">;
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @title DArray.from
3
+ *
4
+ * Convertir une source array-like, itérable ou asynchrone en tableau.
5
+ */
6
+ import * as DArray from "@duplojs/lang/array";
7
+ import type * as DCommon from "@duplojs/lang/common";
8
+
9
+ // Une source itérable est matérialisée en tableau synchrone.
10
+ const result = DArray.from(new Set([1, 2, 3]));
11
+
12
+ // La valeur obtenue est [1, 2, 3].
13
+ type _CheckResult = DCommon.ExpectType<typeof result, readonly number[], "strict">;
14
+
15
+ // Une source asynchrone produit une promesse de tableau.
16
+ async function *values() {
17
+ await Promise.resolve();
18
+ yield "a";
19
+ yield "b";
20
+ }
21
+
22
+ const asyncResult = DArray.from(values());
23
+
24
+ // La promesse résout vers ["a", "b"].
25
+ type _CheckAsyncResult = DCommon.ExpectType<typeof asyncResult, Promise<readonly ("a" | "b")[]>, "strict">;
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @title DArray.group
3
+ *
4
+ * Regrouper les valeurs produites par une fonction selon un nom de groupe.
5
+ */
6
+ import * as DArray from "@duplojs/lang/array";
7
+ import type * as DCommon from "@duplojs/lang/common";
8
+
9
+ const numbers = [1, 2, 3];
10
+
11
+ // Chaque valeur est affectée à un groupe avec groupOutput via le paramètre output.
12
+ const result = DArray.group(numbers, (value, { output }) => output(
13
+ value % 2 === 0 ? "even" : "odd",
14
+ value,
15
+ ));
16
+
17
+ // Les groupes présents contiennent des tuples non vides de leurs valeurs.
18
+ type _CheckEven = DCommon.ExpectType<
19
+ typeof result.even,
20
+ readonly [number, ...number[]] | undefined,
21
+ "strict"
22
+ >;
23
+ type _CheckOdd = DCommon.ExpectType<
24
+ typeof result.odd,
25
+ readonly [number, ...number[]] | undefined,
26
+ "strict"
27
+ >;
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @title DArray.groupOutput
3
+ *
4
+ * Construire le résultat nommé attendu par DArray.group pour associer une valeur à un groupe.
5
+ */
6
+ import * as DArray from "@duplojs/lang/array";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+
9
+ // Appel classique : le nom du groupe et la valeur sont fournis ensemble.
10
+ const result = DArray.groupOutput("numbers", 1);
11
+
12
+ // La valeur obtenue est { group: "numbers", value: 1 }.
13
+ type _CheckResult = DCommon.ExpectType<
14
+ typeof result,
15
+ DArray.GroupOutputResult<"numbers", number>,
16
+ "strict"
17
+ >;
18
+
19
+ // Appel curifié : le groupe est fixé avant de fournir la valeur.
20
+ const piped = DCommon.pipe(
21
+ 2,
22
+ DArray.groupOutput("numbers"),
23
+ );
24
+
25
+ // La valeur obtenue est { group: "numbers", value: 2 }.
26
+ type _CheckPiped = DCommon.ExpectType<
27
+ typeof piped,
28
+ DArray.GroupOutputResult<"numbers", 2>,
29
+ "strict"
30
+ >;
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @title DArray.includes
3
+ *
4
+ * Vérifier qu’un tableau contient une valeur.
5
+ */
6
+ import * as DArray from "@duplojs/lang/array";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+
9
+ const colors: readonly string[] = ["red", "green"];
10
+
11
+ // Appel classique : la valeur est comparée aux éléments du tableau.
12
+ const result = DArray.includes(colors, "green");
13
+
14
+ // La valeur obtenue est true.
15
+ type _CheckResult = DCommon.ExpectType<typeof result, boolean, "strict">;
16
+
17
+ // Appel curifié : la valeur recherchée est configurée dans l’étape du pipe.
18
+ const piped = DCommon.pipe(
19
+ colors,
20
+ DArray.includes("blue"),
21
+ );
22
+
23
+ // La valeur obtenue est false.
24
+ type _CheckPiped = DCommon.ExpectType<typeof piped, boolean, "strict">;
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @title DArray.indexOf
3
+ *
4
+ * Lire l’index de la première occurrence d’une valeur, ou undefined.
5
+ */
6
+ import * as DArray from "@duplojs/lang/array";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+
9
+ const values = ["a", "b", "a"];
10
+
11
+ // Appel classique : la recherche commence au début par défaut.
12
+ const result = DArray.indexOf(values, "a");
13
+
14
+ // La valeur obtenue est 0 ; l’absence de correspondance est représentée par undefined.
15
+ type _CheckResult = DCommon.ExpectType<typeof result, number | undefined, "strict">;
16
+
17
+ // Appel curifié : l’élément recherché est fixé dans l’étape du pipe.
18
+ const piped = DCommon.pipe(
19
+ values,
20
+ DArray.indexOf("a"),
21
+ );
22
+
23
+ // La valeur obtenue est 0.
24
+ type _CheckPiped = DCommon.ExpectType<typeof piped, number | undefined, "strict">;
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @title DArray.insert
3
+ *
4
+ * Ajouter une valeur à la fin d’un tableau dans une nouvelle copie.
5
+ */
6
+ import * as DArray from "@duplojs/lang/array";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+
9
+ const numbers = [1, 2];
10
+
11
+ // Appel classique : la valeur est ajoutée sans muter le tableau d’origine.
12
+ const result = DArray.insert(3, numbers);
13
+
14
+ // La valeur obtenue est [1, 2, 3].
15
+ type _CheckResult = DCommon.ExpectType<typeof result, readonly number[], "strict">;
16
+
17
+ // Appel curifié : le tableau est fixé avant de fournir la valeur.
18
+ const piped = DCommon.pipe(
19
+ 3,
20
+ DArray.insert(numbers),
21
+ );
22
+
23
+ // La valeur obtenue est [1, 2, 3].
24
+ type _CheckPiped = DCommon.ExpectType<typeof piped, readonly number[], "strict">;
25
+
26
+ // La contrainte minimale du tableau source est réappliquée après l’ajout.
27
+ declare const constrained: readonly number[] & DArray.MinElements<2>;
28
+ const constrainedResult = DArray.insert(3, constrained);
29
+
30
+ type _CheckConstrained = DCommon.ExpectType<
31
+ typeof constrainedResult,
32
+ readonly number[] & DArray.MinElements<2>,
33
+ "strict"
34
+ >;
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @title DArray.is
3
+ *
4
+ * Vérifier au runtime qu’une valeur est un tableau et affiner son type TypeScript.
5
+ */
6
+ import * as DArray from "@duplojs/lang/array";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+
9
+ declare const input: DCommon.AnyValue;
10
+
11
+ // Le test runtime réussit uniquement pour une valeur qui est effectivement un tableau.
12
+ if (DArray.is(input)) {
13
+ // Dans cette branche, input est affiné en tableau de valeurs inconnues.
14
+ type _CheckInput = DCommon.ExpectType<typeof input, DCommon.AnyValue[], "strict">;
15
+ }
16
+
17
+ // Dans un pipe, le même predicate unaire fournit le tableau à l’étape de traitement.
18
+ const first = DCommon.pipe(
19
+ input,
20
+ DCommon.when(
21
+ DArray.is,
22
+ (array) => {
23
+ type _CheckArray = DCommon.ExpectType<typeof array, DCommon.AnyValue[], "strict">;
24
+
25
+ return DArray.first(array);
26
+ },
27
+ ),
28
+ );
29
+ type _CheckFirst = DCommon.ExpectType<typeof first, DCommon.AnyValue | undefined, "strict">;