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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (551) 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/install/index.d.ts +2 -0
  5. package/dist/bin/install/index.mjs +25 -0
  6. package/dist/bin/install/skill.d.ts +28 -0
  7. package/dist/bin/install/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 +19 -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 +15 -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 +48 -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 +23 -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 +26 -0
  122. package/docs/API/10-lang/10-chrono/10-isSerializedTheTime.ts +26 -0
  123. package/docs/API/10-lang/10-chrono/10-isTime.ts +23 -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 +23 -0
  131. package/docs/API/10-lang/10-chrono/10-maxTime.ts +23 -0
  132. package/docs/API/10-lang/10-chrono/10-minDate.ts +23 -0
  133. package/docs/API/10-lang/10-chrono/10-minTime.ts +23 -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 +32 -0
  138. package/docs/API/10-lang/10-chrono/10-sortTimes.ts +31 -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 +45 -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 +16 -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 +31 -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 +12 -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 +23 -0
  183. package/docs/API/10-lang/10-common/10-isType.ts +29 -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 +29 -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-timeout.ts +11 -0
  203. package/docs/API/10-lang/10-common/10-toCurriedPredicate.ts +28 -0
  204. package/docs/API/10-lang/10-common/10-toJSON.ts +15 -0
  205. package/docs/API/10-lang/10-common/10-toNative.ts +15 -0
  206. package/docs/API/10-lang/10-common/10-toRegExp.ts +17 -0
  207. package/docs/API/10-lang/10-common/10-transformer.ts +21 -0
  208. package/docs/API/10-lang/10-common/10-truthy.ts +12 -0
  209. package/docs/API/10-lang/10-common/10-useAsyncRetry.ts +31 -0
  210. package/docs/API/10-lang/10-common/10-when.ts +27 -0
  211. package/docs/API/10-lang/10-common/10-whenElse.ts +28 -0
  212. package/docs/API/10-lang/10-common/10-whenNot.ts +26 -0
  213. package/docs/API/10-lang/10-common/index.llms.md +228 -0
  214. package/docs/API/10-lang/10-common/index.md +3 -0
  215. package/docs/API/10-lang/10-dataStructure/10-absolutePath.ts +25 -0
  216. package/docs/API/10-lang/10-dataStructure/10-allowedCharacters.ts +25 -0
  217. package/docs/API/10-lang/10-dataStructure/10-array.ts +23 -0
  218. package/docs/API/10-lang/10-dataStructure/10-arrayLengthEqual.ts +25 -0
  219. package/docs/API/10-lang/10-dataStructure/10-betweenThan.ts +25 -0
  220. package/docs/API/10-lang/10-dataStructure/10-betweenThanOrEqual.ts +25 -0
  221. package/docs/API/10-lang/10-dataStructure/10-bigint.ts +22 -0
  222. package/docs/API/10-lang/10-dataStructure/10-boolean.ts +22 -0
  223. package/docs/API/10-lang/10-dataStructure/10-createCodec.ts +45 -0
  224. package/docs/API/10-lang/10-dataStructure/10-createCodecs.ts +134 -0
  225. package/docs/API/10-lang/10-dataStructure/10-createErrorInterpreter.ts +74 -0
  226. package/docs/API/10-lang/10-dataStructure/10-date.ts +23 -0
  227. package/docs/API/10-lang/10-dataStructure/10-email.ts +25 -0
  228. package/docs/API/10-lang/10-dataStructure/10-endsWith.ts +24 -0
  229. package/docs/API/10-lang/10-dataStructure/10-even.ts +25 -0
  230. package/docs/API/10-lang/10-dataStructure/10-extend.ts +27 -0
  231. package/docs/API/10-lang/10-dataStructure/10-greaterThan.ts +25 -0
  232. package/docs/API/10-lang/10-dataStructure/10-greaterThanOrEqual.ts +25 -0
  233. package/docs/API/10-lang/10-dataStructure/10-include.ts +24 -0
  234. package/docs/API/10-lang/10-dataStructure/10-integer.ts +25 -0
  235. package/docs/API/10-lang/10-dataStructure/10-isNullStructure.ts +12 -0
  236. package/docs/API/10-lang/10-dataStructure/10-isNullable.ts +12 -0
  237. package/docs/API/10-lang/10-dataStructure/10-isOptional.ts +12 -0
  238. package/docs/API/10-lang/10-dataStructure/10-isUndefinedStructure.ts +12 -0
  239. package/docs/API/10-lang/10-dataStructure/10-lazy.ts +23 -0
  240. package/docs/API/10-lang/10-dataStructure/10-lessThan.ts +25 -0
  241. package/docs/API/10-lang/10-dataStructure/10-lessThanOrEqual.ts +25 -0
  242. package/docs/API/10-lang/10-dataStructure/10-literal.ts +19 -0
  243. package/docs/API/10-lang/10-dataStructure/10-maxCharacters.ts +25 -0
  244. package/docs/API/10-lang/10-dataStructure/10-maxElements.ts +25 -0
  245. package/docs/API/10-lang/10-dataStructure/10-minCharacters.ts +25 -0
  246. package/docs/API/10-lang/10-dataStructure/10-minElements.ts +25 -0
  247. package/docs/API/10-lang/10-dataStructure/10-multipleOf.ts +25 -0
  248. package/docs/API/10-lang/10-dataStructure/10-negative.ts +25 -0
  249. package/docs/API/10-lang/10-dataStructure/10-notEmpty.ts +25 -0
  250. package/docs/API/10-lang/10-dataStructure/10-notZero.ts +25 -0
  251. package/docs/API/10-lang/10-dataStructure/10-null.ts +22 -0
  252. package/docs/API/10-lang/10-dataStructure/10-nullable.ts +19 -0
  253. package/docs/API/10-lang/10-dataStructure/10-number.ts +22 -0
  254. package/docs/API/10-lang/10-dataStructure/10-numberInString.ts +25 -0
  255. package/docs/API/10-lang/10-dataStructure/10-object.ts +25 -0
  256. package/docs/API/10-lang/10-dataStructure/10-odd.ts +25 -0
  257. package/docs/API/10-lang/10-dataStructure/10-optional.ts +19 -0
  258. package/docs/API/10-lang/10-dataStructure/10-partial.ts +23 -0
  259. package/docs/API/10-lang/10-dataStructure/10-path.ts +25 -0
  260. package/docs/API/10-lang/10-dataStructure/10-positive.ts +25 -0
  261. package/docs/API/10-lang/10-dataStructure/10-record.ts +22 -0
  262. package/docs/API/10-lang/10-dataStructure/10-refine.ts +27 -0
  263. package/docs/API/10-lang/10-dataStructure/10-regex.ts +24 -0
  264. package/docs/API/10-lang/10-dataStructure/10-required.ts +21 -0
  265. package/docs/API/10-lang/10-dataStructure/10-safe.ts +25 -0
  266. package/docs/API/10-lang/10-dataStructure/10-segmentPath.ts +25 -0
  267. package/docs/API/10-lang/10-dataStructure/10-startsWith.ts +24 -0
  268. package/docs/API/10-lang/10-dataStructure/10-strictNegative.ts +25 -0
  269. package/docs/API/10-lang/10-dataStructure/10-strictPositive.ts +25 -0
  270. package/docs/API/10-lang/10-dataStructure/10-string.ts +22 -0
  271. package/docs/API/10-lang/10-dataStructure/10-stringLengthEqual.ts +25 -0
  272. package/docs/API/10-lang/10-dataStructure/10-time.ts +23 -0
  273. package/docs/API/10-lang/10-dataStructure/10-trimmed.ts +25 -0
  274. package/docs/API/10-lang/10-dataStructure/10-typeStructureIdentifier.ts +33 -0
  275. package/docs/API/10-lang/10-dataStructure/10-undefined.ts +22 -0
  276. package/docs/API/10-lang/10-dataStructure/10-union.ts +24 -0
  277. package/docs/API/10-lang/10-dataStructure/10-unwrapLazy.ts +17 -0
  278. package/docs/API/10-lang/10-dataStructure/10-url.ts +25 -0
  279. package/docs/API/10-lang/10-dataStructure/10-uuid.ts +25 -0
  280. package/docs/API/10-lang/10-dataStructure/index.llms.md +264 -0
  281. package/docs/API/10-lang/10-dataStructure/index.md +3 -0
  282. package/docs/API/10-lang/10-either/10-asyncGroup.ts +44 -0
  283. package/docs/API/10-lang/10-either/10-asyncSafeCallback.ts +23 -0
  284. package/docs/API/10-lang/10-either/10-error.ts +12 -0
  285. package/docs/API/10-lang/10-either/10-expect.ts +13 -0
  286. package/docs/API/10-lang/10-either/10-fail.ts +12 -0
  287. package/docs/API/10-lang/10-either/10-forwardAssertsSelection.ts +28 -0
  288. package/docs/API/10-lang/10-either/10-group.ts +58 -0
  289. package/docs/API/10-lang/10-either/10-hasInformation.ts +24 -0
  290. package/docs/API/10-lang/10-either/10-isLeft.ts +16 -0
  291. package/docs/API/10-lang/10-either/10-isRight.ts +16 -0
  292. package/docs/API/10-lang/10-either/10-isSelected.ts +29 -0
  293. package/docs/API/10-lang/10-either/10-keepAsRightByInformation.ts +29 -0
  294. package/docs/API/10-lang/10-either/10-keepAsRightSelection.ts +23 -0
  295. package/docs/API/10-lang/10-either/10-left.ts +13 -0
  296. package/docs/API/10-lang/10-either/10-matchInformation.ts +26 -0
  297. package/docs/API/10-lang/10-either/10-matchInformationOtherwise.ts +27 -0
  298. package/docs/API/10-lang/10-either/10-none.ts +12 -0
  299. package/docs/API/10-lang/10-either/10-ok.ts +12 -0
  300. package/docs/API/10-lang/10-either/10-result.ts +18 -0
  301. package/docs/API/10-lang/10-either/10-rewriteInformation.ts +24 -0
  302. package/docs/API/10-lang/10-either/10-right.ts +13 -0
  303. package/docs/API/10-lang/10-either/10-rightAsyncPipe.ts +69 -0
  304. package/docs/API/10-lang/10-either/10-rightPipe.ts +72 -0
  305. package/docs/API/10-lang/10-either/10-safeCallback.ts +29 -0
  306. package/docs/API/10-lang/10-either/10-some.ts +12 -0
  307. package/docs/API/10-lang/10-either/10-success.ts +12 -0
  308. package/docs/API/10-lang/10-either/10-toMaybe.ts +53 -0
  309. package/docs/API/10-lang/10-either/10-unwrapByInformation.ts +20 -0
  310. package/docs/API/10-lang/10-either/10-unwrapByInformationOrThrow.ts +19 -0
  311. package/docs/API/10-lang/10-either/10-unwrapLeft.ts +14 -0
  312. package/docs/API/10-lang/10-either/10-unwrapLeftOrThrow.ts +17 -0
  313. package/docs/API/10-lang/10-either/10-unwrapOr.ts +17 -0
  314. package/docs/API/10-lang/10-either/10-unwrapOtherwise.ts +20 -0
  315. package/docs/API/10-lang/10-either/10-unwrapRight.ts +14 -0
  316. package/docs/API/10-lang/10-either/10-unwrapRightOrThrow.ts +17 -0
  317. package/docs/API/10-lang/10-either/10-unwrapSelection.ts +26 -0
  318. package/docs/API/10-lang/10-either/10-unwrapSelectionOrThrow.ts +19 -0
  319. package/docs/API/10-lang/10-either/10-whenHasInformation.ts +35 -0
  320. package/docs/API/10-lang/10-either/10-whenHasInformationOtherwise.ts +29 -0
  321. package/docs/API/10-lang/10-either/10-whenIsLeft.ts +20 -0
  322. package/docs/API/10-lang/10-either/10-whenIsLeftOtherwise.ts +27 -0
  323. package/docs/API/10-lang/10-either/10-whenIsRight.ts +20 -0
  324. package/docs/API/10-lang/10-either/10-whenIsRightOtherwise.ts +26 -0
  325. package/docs/API/10-lang/10-either/10-whenIsSelected.ts +33 -0
  326. package/docs/API/10-lang/10-either/10-whenIsSelectedOtherwise.ts +35 -0
  327. package/docs/API/10-lang/10-either/index.llms.md +184 -0
  328. package/docs/API/10-lang/10-either/index.md +3 -0
  329. package/docs/API/10-lang/10-generator/10-asyncChunk.ts +55 -0
  330. package/docs/API/10-lang/10-generator/10-asyncConcat.ts +46 -0
  331. package/docs/API/10-lang/10-generator/10-asyncFilter.ts +41 -0
  332. package/docs/API/10-lang/10-generator/10-asyncFlat.ts +37 -0
  333. package/docs/API/10-lang/10-generator/10-asyncGroup.ts +65 -0
  334. package/docs/API/10-lang/10-generator/10-asyncLoop.ts +59 -0
  335. package/docs/API/10-lang/10-generator/10-asyncMap.ts +48 -0
  336. package/docs/API/10-lang/10-generator/10-asyncReduce.ts +63 -0
  337. package/docs/API/10-lang/10-generator/10-chunk.ts +44 -0
  338. package/docs/API/10-lang/10-generator/10-concat.ts +37 -0
  339. package/docs/API/10-lang/10-generator/10-createExternalAsyncGenerator.ts +29 -0
  340. package/docs/API/10-lang/10-generator/10-execute.ts +44 -0
  341. package/docs/API/10-lang/10-generator/10-filter.ts +35 -0
  342. package/docs/API/10-lang/10-generator/10-flat.ts +25 -0
  343. package/docs/API/10-lang/10-generator/10-group.ts +44 -0
  344. package/docs/API/10-lang/10-generator/10-groupOutput.ts +48 -0
  345. package/docs/API/10-lang/10-generator/10-loop.ts +55 -0
  346. package/docs/API/10-lang/10-generator/10-map.ts +35 -0
  347. package/docs/API/10-lang/10-generator/10-reduce.ts +51 -0
  348. package/docs/API/10-lang/10-generator/10-reduceFrom.ts +30 -0
  349. package/docs/API/10-lang/10-generator/index.llms.md +84 -0
  350. package/docs/API/10-lang/10-generator/index.md +3 -0
  351. package/docs/API/10-lang/index.md +3 -0
  352. package/docs/API/index.md +3 -0
  353. package/docs/API.llms.md +31 -0
  354. package/docs/concepts/01-fundamental/01-constraint/01-use.ts +22 -0
  355. package/docs/concepts/01-fundamental/01-constraint/10-built-in-constraint.ts +37 -0
  356. package/docs/concepts/01-fundamental/01-constraint/20-manipulation.ts +38 -0
  357. package/docs/concepts/01-fundamental/01-constraint/30-cast.ts +62 -0
  358. package/docs/concepts/01-fundamental/01-constraint/40-custom-constraint.ts +45 -0
  359. package/docs/concepts/01-fundamental/01-constraint/index.md +3 -0
  360. package/docs/concepts/01-fundamental/02-currying/01-use.ts +33 -0
  361. package/docs/concepts/01-fundamental/02-currying/10-built-in-function.ts +178 -0
  362. package/docs/concepts/01-fundamental/02-currying/20-inner-pipe.ts +39 -0
  363. package/docs/concepts/01-fundamental/02-currying/30-async-pipe.ts +42 -0
  364. package/docs/concepts/01-fundamental/02-currying/index.md +3 -0
  365. package/docs/concepts/01-fundamental/03-either/01-use.ts +21 -0
  366. package/docs/concepts/01-fundamental/03-either/10-discrimination.ts +79 -0
  367. package/docs/concepts/01-fundamental/03-either/20-exhaustive-handling.ts +73 -0
  368. package/docs/concepts/01-fundamental/03-either/30-composition.ts +72 -0
  369. package/docs/concepts/01-fundamental/03-either/40-result-adaptation.ts +40 -0
  370. package/docs/concepts/01-fundamental/03-either/50-external-results.ts +59 -0
  371. package/docs/concepts/01-fundamental/03-either/60-contextual-state.ts +40 -0
  372. package/docs/concepts/01-fundamental/03-either/index.md +3 -0
  373. package/docs/concepts/01-fundamental/04-data-structure/01-use.ts +22 -0
  374. package/docs/concepts/01-fundamental/04-data-structure/10-structure.ts +193 -0
  375. package/docs/concepts/01-fundamental/04-data-structure/20-constraint.ts +78 -0
  376. package/docs/concepts/01-fundamental/04-data-structure/30-validation.ts +100 -0
  377. package/docs/concepts/01-fundamental/04-data-structure/40-codecs.ts +151 -0
  378. package/docs/concepts/01-fundamental/04-data-structure/50-recursive.ts +48 -0
  379. package/docs/concepts/01-fundamental/04-data-structure/60-interpret-error.ts +123 -0
  380. package/docs/concepts/01-fundamental/04-data-structure/index.md +3 -0
  381. package/docs/concepts/01-fundamental/05-chrono/01-use.ts +14 -0
  382. package/docs/concepts/01-fundamental/05-chrono/10-creation.ts +59 -0
  383. package/docs/concepts/01-fundamental/05-chrono/20-manipulation.ts +94 -0
  384. package/docs/concepts/01-fundamental/05-chrono/30-serialized.ts +73 -0
  385. package/docs/concepts/01-fundamental/05-chrono/40-timezone.ts +81 -0
  386. package/docs/concepts/01-fundamental/05-chrono/index.md +3 -0
  387. package/docs/concepts/01-fundamental/06-modeling/10-new-type.ts +42 -0
  388. package/docs/concepts/01-fundamental/06-modeling/20-entity.ts +204 -0
  389. package/docs/concepts/01-fundamental/06-modeling/30-tagged-object.ts +181 -0
  390. package/docs/concepts/01-fundamental/06-modeling/40-entity-lifecycle.ts +275 -0
  391. package/docs/concepts/01-fundamental/06-modeling/50-evidence.ts +94 -0
  392. package/docs/concepts/01-fundamental/06-modeling/60-signed-function.ts +26 -0
  393. package/docs/concepts/01-fundamental/06-modeling/index.md +3 -0
  394. package/docs/concepts/01-fundamental/07-discrimination/10-entity.ts +104 -0
  395. package/docs/concepts/01-fundamental/07-discrimination/20-fact.ts +142 -0
  396. package/docs/concepts/01-fundamental/07-discrimination/30-tagged-object.ts +105 -0
  397. package/docs/concepts/01-fundamental/07-discrimination/40-error.ts +57 -0
  398. package/docs/concepts/01-fundamental/07-discrimination/50-literal.ts +87 -0
  399. package/docs/concepts/01-fundamental/07-discrimination/60-shape.ts +152 -0
  400. package/docs/concepts/01-fundamental/07-discrimination/70-predicate.ts +89 -0
  401. package/docs/concepts/01-fundamental/07-discrimination/index.md +3 -0
  402. package/docs/concepts/01-fundamental/index.md +1 -0
  403. package/docs/concepts/02-server/10-file/10-manipulation.ts +40 -0
  404. package/docs/concepts/02-server/10-file/20-path.ts +56 -0
  405. package/docs/concepts/02-server/10-file/index.md +3 -0
  406. package/docs/concepts/02-server/20-http/10-init.ts +31 -0
  407. package/docs/concepts/02-server/20-http/20-route.ts +174 -0
  408. package/docs/concepts/02-server/20-http/30-routine.ts +195 -0
  409. package/docs/concepts/02-server/20-http/40-jwt.ts +137 -0
  410. package/docs/concepts/02-server/20-http/50-codegen.ts +29 -0
  411. package/docs/concepts/02-server/20-http/index.md +3 -0
  412. package/docs/concepts/02-server/30-environment/10-platform.ts +38 -0
  413. package/docs/concepts/02-server/30-environment/20-variable.ts +41 -0
  414. package/docs/concepts/02-server/30-environment/index.md +3 -0
  415. package/docs/concepts/02-server/40-command/10-use.ts +112 -0
  416. package/docs/concepts/02-server/40-command/20-sub-command.ts +48 -0
  417. package/docs/concepts/02-server/40-command/index.md +3 -0
  418. package/docs/concepts/02-server/index.md +1 -0
  419. package/docs/concepts/03-client/10-http/10-init.ts +64 -0
  420. package/docs/concepts/03-client/10-http/20-request.ts +244 -0
  421. package/docs/concepts/03-client/10-http/30-hook.ts +139 -0
  422. package/docs/concepts/03-client/10-http/index.md +3 -0
  423. package/docs/concepts/03-client/20-form/10-init.ts +95 -0
  424. package/docs/concepts/03-client/20-form/20-input.ts +96 -0
  425. package/docs/concepts/03-client/20-form/30-layout.ts +160 -0
  426. package/docs/concepts/03-client/20-form/40-template.ts +89 -0
  427. package/docs/concepts/03-client/20-form/index.md +3 -0
  428. package/docs/concepts/03-client/index.md +1 -0
  429. package/docs/concepts/04-tests/01-unit/10-either.ts +136 -0
  430. package/docs/concepts/04-tests/01-unit/20-server-mocking.ts +53 -0
  431. package/docs/concepts/04-tests/01-unit/index.md +3 -0
  432. package/docs/concepts/04-tests/02-e2e/10-init.ts +80 -0
  433. package/docs/concepts/04-tests/02-e2e/20-architecture.ts +76 -0
  434. package/docs/concepts/04-tests/02-e2e/30-testing.ts +90 -0
  435. package/docs/concepts/04-tests/02-e2e/index.md +3 -0
  436. package/docs/concepts/04-tests/index.md +1 -0
  437. package/docs/concepts/05-type-driven-design/01-architecture/10-boundaries.md +41 -0
  438. package/docs/concepts/05-type-driven-design/01-architecture/index.md +3 -0
  439. package/docs/concepts/05-type-driven-design/02-domains/10-entities.md +58 -0
  440. package/docs/concepts/05-type-driven-design/02-domains/20-aggregates.md +49 -0
  441. package/docs/concepts/05-type-driven-design/02-domains/30-repositories.md +41 -0
  442. package/docs/concepts/05-type-driven-design/02-domains/index.md +3 -0
  443. package/docs/concepts/05-type-driven-design/03-applications/10-use-case.md +69 -0
  444. package/docs/concepts/05-type-driven-design/03-applications/index.md +3 -0
  445. package/docs/concepts/05-type-driven-design/04-infrastructure/10-implementation.md +56 -0
  446. package/docs/concepts/05-type-driven-design/04-infrastructure/index.md +3 -0
  447. package/docs/concepts/05-type-driven-design/fixtures/business/applications/index.ts +2 -0
  448. package/docs/concepts/05-type-driven-design/fixtures/business/applications/ports/book.ts +10 -0
  449. package/docs/concepts/05-type-driven-design/fixtures/business/applications/ports/client.ts +10 -0
  450. package/docs/concepts/05-type-driven-design/fixtures/business/applications/ports/email.ts +7 -0
  451. package/docs/concepts/05-type-driven-design/fixtures/business/applications/ports/index.ts +3 -0
  452. package/docs/concepts/05-type-driven-design/fixtures/business/applications/useCases/clientGiveBackBook.ts +27 -0
  453. package/docs/concepts/05-type-driven-design/fixtures/business/applications/useCases/clientRentBook.ts +30 -0
  454. package/docs/concepts/05-type-driven-design/fixtures/business/applications/useCases/createBook.ts +32 -0
  455. package/docs/concepts/05-type-driven-design/fixtures/business/applications/useCases/index.ts +2 -0
  456. package/docs/concepts/05-type-driven-design/fixtures/business/domains/aggregates/clientGiveBackBook.ts +15 -0
  457. package/docs/concepts/05-type-driven-design/fixtures/business/domains/aggregates/clientRentBook.ts +16 -0
  458. package/docs/concepts/05-type-driven-design/fixtures/business/domains/aggregates/createBook.ts +21 -0
  459. package/docs/concepts/05-type-driven-design/fixtures/business/domains/aggregates/index.ts +3 -0
  460. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/book/facts/create.ts +34 -0
  461. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/book/facts/index.ts +3 -0
  462. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/book/facts/rental.ts +31 -0
  463. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/book/facts/returnBook.ts +30 -0
  464. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/book/index.ts +87 -0
  465. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/client/facts/giveBackBook.ts +33 -0
  466. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/client/facts/index.ts +2 -0
  467. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/client/facts/rentBook.ts +32 -0
  468. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/client/index.ts +82 -0
  469. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/index.ts +2 -0
  470. package/docs/concepts/05-type-driven-design/fixtures/business/domains/index.ts +3 -0
  471. package/docs/concepts/05-type-driven-design/fixtures/business/domains/repositories/book.ts +16 -0
  472. package/docs/concepts/05-type-driven-design/fixtures/business/domains/repositories/client.ts +7 -0
  473. package/docs/concepts/05-type-driven-design/fixtures/business/domains/repositories/email.ts +12 -0
  474. package/docs/concepts/05-type-driven-design/fixtures/business/domains/repositories/index.ts +3 -0
  475. package/docs/concepts/05-type-driven-design/fixtures/business/index.ts +2 -0
  476. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/command/clientRentBook.ts +62 -0
  477. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/command/index.ts +11 -0
  478. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/http/checkers/bookExist.ts +19 -0
  479. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/http/checkers/clientExist.ts +19 -0
  480. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/http/checkers/index.ts +2 -0
  481. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/http/main.ts +19 -0
  482. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/http/routes/clientGiveBackBook.ts +37 -0
  483. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/http/routes/clientRentBook.ts +50 -0
  484. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/http/routes/index.ts +2 -0
  485. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/ports/book.ts +25 -0
  486. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/ports/client.ts +7 -0
  487. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/ports/email.ts +10 -0
  488. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/ports/index.ts +3 -0
  489. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/useCases/index.ts +12 -0
  490. package/docs/concepts/05-type-driven-design/index.md +3 -0
  491. package/docs/concepts.llms.md +475 -0
  492. package/instructions/coding-conventions.md +8 -0
  493. package/package.json +96 -3
  494. package/skills/command/SKILL.md +63 -0
  495. package/skills/command/references/examples/cli.ts +22 -0
  496. package/skills/command/references/examples/options-only.ts +27 -0
  497. package/skills/command/references/examples/preview-command.ts +57 -0
  498. package/skills/command/references/execution.md +31 -0
  499. package/skills/command/references/inputs.md +27 -0
  500. package/skills/fundamental/SKILL.md +80 -0
  501. package/skills/fundamental/references/composition.md +35 -0
  502. package/skills/fundamental/references/constraints-and-validation.md +61 -0
  503. package/skills/fundamental/references/examples/async-composition.ts +15 -0
  504. package/skills/fundamental/references/examples/cast.ts +18 -0
  505. package/skills/fundamental/references/examples/composition.ts +40 -0
  506. package/skills/fundamental/references/examples/environment-initialization.ts +19 -0
  507. package/skills/fundamental/references/examples/error-propagation.ts +24 -0
  508. package/skills/fundamental/references/examples/generic-inference.ts +31 -0
  509. package/skills/fundamental/references/examples/guaranteed-array-access.ts +31 -0
  510. package/skills/fundamental/references/examples/independent-inputs.ts +18 -0
  511. package/skills/fundamental/references/examples/infer.ts +21 -0
  512. package/skills/fundamental/references/examples/input-validation.ts +37 -0
  513. package/skills/fundamental/references/examples/safe-declarations.ts +25 -0
  514. package/skills/fundamental/references/results-and-errors.md +59 -0
  515. package/skills/http-client/SKILL.md +50 -0
  516. package/skills/http-client/references/configuration.md +9 -0
  517. package/skills/http-client/references/examples/client-expectations.ts +84 -0
  518. package/skills/http-client/references/examples/client-streams.ts +74 -0
  519. package/skills/http-client/references/examples/external-client.ts +78 -0
  520. package/skills/http-client/references/hooks.md +7 -0
  521. package/skills/http-client/references/responses.md +39 -0
  522. package/skills/http-client/references/streams.md +10 -0
  523. package/skills/http-server/SKILL.md +66 -0
  524. package/skills/http-server/references/code-generation.md +31 -0
  525. package/skills/http-server/references/examples/authentication.ts +42 -0
  526. package/skills/http-server/references/examples/contracts.ts +19 -0
  527. package/skills/http-server/references/examples/generate-sdk.ts +36 -0
  528. package/skills/http-server/references/examples/initialize.ts +29 -0
  529. package/skills/http-server/references/examples/minimal-route.ts +18 -0
  530. package/skills/http-server/references/examples/protected-route.ts +31 -0
  531. package/skills/http-server/references/examples/rename-user-route.ts +54 -0
  532. package/skills/http-server/references/examples/user-checker.ts +26 -0
  533. package/skills/http-server/references/examples/user-route.ts +38 -0
  534. package/skills/http-server/references/initialization.md +33 -0
  535. package/skills/http-server/references/reusable-flows.md +40 -0
  536. package/skills/http-server/references/routes-and-floor.md +38 -0
  537. package/skills/modeling/SKILL.md +76 -0
  538. package/skills/modeling/references/domain.md +33 -0
  539. package/skills/modeling/references/orchestration.md +36 -0
  540. package/skills/server/SKILL.md +55 -0
  541. package/skills/server/references/environment.md +30 -0
  542. package/skills/server/references/examples/environment.ts +41 -0
  543. package/skills/server/references/examples/file-structure.ts +26 -0
  544. package/skills/server/references/examples/files.ts +52 -0
  545. package/skills/server/references/files.md +38 -0
  546. package/skills/server/references/structures.md +15 -0
  547. package/skills/test/SKILL.md +70 -0
  548. package/skills/test/references/examples/results.ts +95 -0
  549. package/skills/test/references/examples/server.ts +59 -0
  550. package/skills/test/references/results.md +21 -0
  551. package/skills/test/references/server.md +17 -0
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @title DArray.unshift
3
+ *
4
+ * Ajouter une ou plusieurs valeurs au début 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 = [3, 4];
10
+
11
+ // Appel classique : les valeurs sont ajoutées dans l’ordre fourni.
12
+ const result = DArray.unshift(numbers, 1, 2);
13
+
14
+ // La valeur obtenue est [1, 2, 3, 4] ; numbers reste inchangé.
15
+ type _CheckResult = DCommon.ExpectType<typeof result, readonly number[], "strict">;
16
+
17
+ // Appel curifié : les valeurs sont configurées dans l’étape du pipe.
18
+ const piped = DCommon.pipe(
19
+ numbers,
20
+ DArray.unshift(1),
21
+ );
22
+
23
+ // La valeur obtenue est [1, 3, 4].
24
+ type _CheckPiped = DCommon.ExpectType<typeof piped, readonly number[], "strict">;
25
+
26
+ // L’ajout conserve la borne minimale connue du tableau source.
27
+ declare const constrained: readonly number[] & DArray.MinElements<2>;
28
+ const constrainedResult = DArray.unshift(constrained, 0);
29
+
30
+ type _CheckConstrained = DCommon.ExpectType<
31
+ typeof constrainedResult,
32
+ readonly number[] & DArray.MinElements<2>,
33
+ "strict"
34
+ >;
@@ -0,0 +1,220 @@
1
+ ## DArray
2
+
3
+ Opérations immuables de lecture, transformation, sélection, réduction et modification de tableaux, avec prise en compte de leurs contraintes de typage.
4
+
5
+ ### [DArray.at](10-at.ts)
6
+
7
+ Lire l’élément situé à un index en reflétant dans le type la possibilité d’une absence.
8
+
9
+ ### [DArray.chunk](10-chunk.ts)
10
+
11
+ Découper un tableau en sous-tableaux dont la taille ne dépasse pas la limite donnée.
12
+
13
+ ### [DArray.coalescing](10-coalescing.ts)
14
+
15
+ Convertir une valeur en tableau sans ré-encapsuler une valeur déjà contenue dans un tableau.
16
+
17
+ ### [DArray.concat](10-concat.ts)
18
+
19
+ Ajouter les éléments d’un ou plusieurs tableaux à la fin sans muter le tableau d’entrée.
20
+
21
+ ### [DArray.copyWithin](10-copyWithin.ts)
22
+
23
+ Copier une portion d’un tableau vers une autre position dans une nouvelle copie.
24
+
25
+ ### [DArray.every](10-every.ts)
26
+
27
+ Vérifier que tous les éléments d’un tableau satisfont un prédicat.
28
+
29
+ ### [DArray.fill](10-fill.ts)
30
+
31
+ Remplacer une plage d’éléments par une valeur dans une nouvelle copie du tableau.
32
+
33
+ ### [DArray.fillAll](10-fillAll.ts)
34
+
35
+ Remplacer tous les éléments d’un tableau par une même valeur dans une nouvelle copie.
36
+
37
+ ### [DArray.filter](10-filter.ts)
38
+
39
+ Construire un nouveau tableau avec les éléments qui satisfont un prédicat.
40
+
41
+ ### [DArray.find](10-find.ts)
42
+
43
+ Lire le premier élément satisfaisant un prédicat, ou undefined si aucun ne convient.
44
+
45
+ ### [DArray.findAndReplace](10-findAndReplace.ts)
46
+
47
+ Remplacer le premier élément satisfaisant un prédicat dans une nouvelle copie, ou retourner undefined.
48
+
49
+ ### [DArray.findAndSpliceDelete](10-findAndSpliceDelete.ts)
50
+
51
+ Supprimer plusieurs éléments à partir du premier élément satisfaisant un prédicat.
52
+
53
+ ### [DArray.findAndSpliceInsert](10-findAndSpliceInsert.ts)
54
+
55
+ Insérer des éléments avant le premier élément satisfaisant un prédicat.
56
+
57
+ ### [DArray.findAndSpliceReplace](10-findAndSpliceReplace.ts)
58
+
59
+ Remplacer la portion commençant au premier élément satisfaisant un prédicat.
60
+
61
+ ### [DArray.findDuplicates](10-findDuplicates.ts)
62
+
63
+ Trouver les valeurs primitives ou temporelles apparaissant plusieurs fois dans un tableau.
64
+
65
+ ### [DArray.findIndex](10-findIndex.ts)
66
+
67
+ Lire l’index du premier élément satisfaisant un prédicat, ou undefined.
68
+
69
+ ### [DArray.findLast](10-findLast.ts)
70
+
71
+ Lire le dernier élément satisfaisant un prédicat, ou undefined si aucun ne convient.
72
+
73
+ ### [DArray.findLastIndex](10-findLastIndex.ts)
74
+
75
+ Lire l’index du dernier élément satisfaisant un prédicat, ou undefined.
76
+
77
+ ### [DArray.first](10-first.ts)
78
+
79
+ Lire le premier élément d’un tableau en conservant les garanties de son type.
80
+
81
+ ### [DArray.flat](10-flat.ts)
82
+
83
+ Aplatir les niveaux imbriqués d’un tableau selon une profondeur donnée.
84
+
85
+ ### [DArray.flatMap](10-flatMap.ts)
86
+
87
+ Transformer chaque élément puis aplatir le niveau de tableau produit.
88
+
89
+ ### [DArray.from](10-from.ts)
90
+
91
+ Convertir une source array-like, itérable ou asynchrone en tableau.
92
+
93
+ ### [DArray.group](10-group.ts)
94
+
95
+ Regrouper les valeurs produites par une fonction selon un nom de groupe.
96
+
97
+ ### [DArray.groupOutput](10-groupOutput.ts)
98
+
99
+ Construire le résultat nommé attendu par DArray.group pour associer une valeur à un groupe.
100
+
101
+ ### [DArray.includes](10-includes.ts)
102
+
103
+ Vérifier qu’un tableau contient une valeur.
104
+
105
+ ### [DArray.indexOf](10-indexOf.ts)
106
+
107
+ Lire l’index de la première occurrence d’une valeur, ou undefined.
108
+
109
+ ### [DArray.insert](10-insert.ts)
110
+
111
+ Ajouter une valeur à la fin d’un tableau dans une nouvelle copie.
112
+
113
+ ### [DArray.is](10-is.ts)
114
+
115
+ Vérifier au runtime qu’une valeur est un tableau et affiner son type TypeScript.
116
+
117
+ ### [DArray.isLastIndex](10-isLastIndex.ts)
118
+
119
+ Vérifier qu’un index désigne le dernier élément du tableau.
120
+
121
+ ### [DArray.last](10-last.ts)
122
+
123
+ Lire le dernier élément d’un tableau en conservant les garanties de son type.
124
+
125
+ ### [DArray.lastIndexOf](10-lastIndexOf.ts)
126
+
127
+ Lire l’index de la dernière occurrence d’une valeur, ou undefined.
128
+
129
+ ### [DArray.length](10-length.ts)
130
+
131
+ Lire la longueur d’un tableau avec les contraintes de cardinalité présentes dans son type.
132
+
133
+ ### [DArray.lengthEqual](10-lengthEqual.ts)
134
+
135
+ Vérifier qu’un tableau possède exactement un nombre donné d’éléments et établir cette contrainte.
136
+
137
+ ### [DArray.map](10-map.ts)
138
+
139
+ Transformer chaque élément d’un tableau dans une nouvelle collection.
140
+
141
+ ### [DArray.maxElements](10-maxElements.ts)
142
+
143
+ Vérifier qu’un tableau contient au plus un nombre donné d’éléments et établir cette contrainte.
144
+
145
+ ### [DArray.minElements](10-minElements.ts)
146
+
147
+ Vérifier qu’un tableau contient au moins un nombre donné d’éléments et établir cette contrainte.
148
+
149
+ ### [DArray.notIncludes](10-notIncludes.ts)
150
+
151
+ Vérifier qu’un tableau ne contient pas une valeur.
152
+
153
+ ### [DArray.pop](10-pop.ts)
154
+
155
+ Retirer le dernier élément d’un tableau dans une nouvelle copie.
156
+
157
+ ### [DArray.prepend](10-prepend.ts)
158
+
159
+ Ajouter les éléments d’un ou plusieurs tableaux au début sans muter le tableau d’entrée.
160
+
161
+ ### [DArray.push](10-push.ts)
162
+
163
+ Ajouter une ou plusieurs valeurs à la fin d’un tableau dans une nouvelle copie.
164
+
165
+ ### [DArray.reduce](10-reduce.ts)
166
+
167
+ Réduire un tableau avec un accumulateur explicite et les sorties next ou exit.
168
+
169
+ ### [DArray.reduceFrom](10-reduceFrom.ts)
170
+
171
+ Marquer explicitement la valeur initiale d’un reduce pour préserver sa forme de valeur.
172
+
173
+ ### [DArray.reduceRight](10-reduceRight.ts)
174
+
175
+ Réduire un tableau de droite à gauche avec le contrat explicite de DArray.reduce.
176
+
177
+ ### [DArray.reverse](10-reverse.ts)
178
+
179
+ Inverser l’ordre d’un tableau dans une nouvelle copie.
180
+
181
+ ### [DArray.select](10-select.ts)
182
+
183
+ Transformer sélectivement les éléments avec select et ignorer les autres avec skip.
184
+
185
+ ### [DArray.set](10-set.ts)
186
+
187
+ Remplacer la valeur à un index dans une nouvelle copie du tableau.
188
+
189
+ ### [DArray.shift](10-shift.ts)
190
+
191
+ Retirer le premier élément d’un tableau dans une nouvelle copie.
192
+
193
+ ### [DArray.slice](10-slice.ts)
194
+
195
+ Extraire une portion d’un tableau dans une nouvelle collection.
196
+
197
+ ### [DArray.some](10-some.ts)
198
+
199
+ Vérifier qu’au moins un élément d’un tableau satisfait un prédicat.
200
+
201
+ ### [DArray.sort](10-sort.ts)
202
+
203
+ Trier une copie du tableau avec une fonction de comparaison.
204
+
205
+ ### [DArray.spliceDelete](10-spliceDelete.ts)
206
+
207
+ Supprimer une portion d’un tableau dans une nouvelle copie.
208
+
209
+ ### [DArray.spliceInsert](10-spliceInsert.ts)
210
+
211
+ Insérer des éléments à un index dans une nouvelle copie.
212
+
213
+ ### [DArray.spliceReplace](10-spliceReplace.ts)
214
+
215
+ Remplacer une portion d’un tableau dans une nouvelle copie.
216
+
217
+ ### [DArray.unshift](10-unshift.ts)
218
+
219
+ Ajouter une ou plusieurs valeurs au début d’un tableau dans une nouvelle copie.
220
+
@@ -0,0 +1,3 @@
1
+ ## DArray
2
+
3
+ Opérations immuables de lecture, transformation, sélection, réduction et modification de tableaux, avec prise en compte de leurs contraintes de typage.
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @title DChrono.addDays
3
+ *
4
+ * Ajouter un nombre de jours à une date.
5
+ */
6
+ import * as DChrono from "@duplojs/lang/chrono";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+
9
+ const date = DChrono.createDate("2021-01-15");
10
+ const result = DChrono.addDays(date, 1);
11
+
12
+ // La sortie est une nouvelle TheDate décalée de 1 day.
13
+ type _CheckResult = DCommon.ExpectType<typeof result, DChrono.TheDate, "strict">;
14
+
15
+ // La forme curifiée fixe le décalage dans le pipe.
16
+ const piped = DCommon.pipe(
17
+ date,
18
+ DChrono.addDays(1),
19
+ );
20
+ type _CheckPiped = DCommon.ExpectType<typeof piped, DChrono.TheDate, "strict">;
21
+
22
+ // Une date sérialisée est acceptée comme premier argument.
23
+ const serializedResult = DChrono.addDays("date1609459200000+", 1);
24
+ type _CheckSerialized = DCommon.ExpectType<typeof serializedResult, DChrono.TheDate, "strict">;
25
+
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @title DChrono.addHours
3
+ *
4
+ * Ajouter un nombre d’heures à une date.
5
+ */
6
+ import * as DChrono from "@duplojs/lang/chrono";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+
9
+ const date = DChrono.createDate("2021-01-15");
10
+ const result = DChrono.addHours(date, 1);
11
+
12
+ // La sortie est une nouvelle TheDate décalée de 1 hour.
13
+ type _CheckResult = DCommon.ExpectType<typeof result, DChrono.TheDate, "strict">;
14
+
15
+ // La forme curifiée fixe le décalage dans le pipe.
16
+ const piped = DCommon.pipe(
17
+ date,
18
+ DChrono.addHours(1),
19
+ );
20
+ type _CheckPiped = DCommon.ExpectType<typeof piped, DChrono.TheDate, "strict">;
21
+
22
+ // Une date sérialisée est acceptée comme premier argument.
23
+ const serializedResult = DChrono.addHours("date1609459200000+", 1);
24
+ type _CheckSerialized = DCommon.ExpectType<typeof serializedResult, DChrono.TheDate, "strict">;
25
+
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @title DChrono.addMilliseconds
3
+ *
4
+ * Ajouter un nombre de millisecondes à une date.
5
+ */
6
+ import * as DChrono from "@duplojs/lang/chrono";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+
9
+ const date = DChrono.createDate("2021-01-15");
10
+ const result = DChrono.addMilliseconds(date, 1_000);
11
+
12
+ // La sortie est une nouvelle TheDate décalée de 1_000 millisecond.
13
+ type _CheckResult = DCommon.ExpectType<typeof result, DChrono.TheDate, "strict">;
14
+
15
+ // La forme curifiée fixe le décalage dans le pipe.
16
+ const piped = DCommon.pipe(
17
+ date,
18
+ DChrono.addMilliseconds(1_000),
19
+ );
20
+ type _CheckPiped = DCommon.ExpectType<typeof piped, DChrono.TheDate, "strict">;
21
+
22
+ // Une date sérialisée est acceptée comme premier argument.
23
+ const serializedResult = DChrono.addMilliseconds("date1609459200000+", 1000);
24
+ type _CheckSerialized = DCommon.ExpectType<typeof serializedResult, DChrono.TheDate, "strict">;
25
+
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @title DChrono.addMinutes
3
+ *
4
+ * Ajouter un nombre de minutes à une date.
5
+ */
6
+ import * as DChrono from "@duplojs/lang/chrono";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+
9
+ const date = DChrono.createDate("2021-01-15");
10
+ const result = DChrono.addMinutes(date, 1);
11
+
12
+ // La sortie est une nouvelle TheDate décalée de 1 minute.
13
+ type _CheckResult = DCommon.ExpectType<typeof result, DChrono.TheDate, "strict">;
14
+
15
+ // La forme curifiée fixe le décalage dans le pipe.
16
+ const piped = DCommon.pipe(
17
+ date,
18
+ DChrono.addMinutes(1),
19
+ );
20
+ type _CheckPiped = DCommon.ExpectType<typeof piped, DChrono.TheDate, "strict">;
21
+
22
+ // Une date sérialisée est acceptée comme premier argument.
23
+ const serializedResult = DChrono.addMinutes("date1609459200000+", 1);
24
+ type _CheckSerialized = DCommon.ExpectType<typeof serializedResult, DChrono.TheDate, "strict">;
25
+
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @title DChrono.addMonths
3
+ *
4
+ * Ajouter un nombre de mois à une date en UTC.
5
+ */
6
+ import * as DChrono from "@duplojs/lang/chrono";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+
9
+ const date = DChrono.createDate("2021-01-15");
10
+ const result = DChrono.addMonths(date, 1);
11
+
12
+ // La sortie est une nouvelle TheDate décalée de 1 month.
13
+ type _CheckResult = DCommon.ExpectType<typeof result, DChrono.TheDate, "strict">;
14
+
15
+ // La forme curifiée fixe le décalage dans le pipe.
16
+ const piped = DCommon.pipe(
17
+ date,
18
+ DChrono.addMonths(1),
19
+ );
20
+ type _CheckPiped = DCommon.ExpectType<typeof piped, DChrono.TheDate, "strict">;
21
+
22
+ // Une date sérialisée est acceptée comme premier argument.
23
+ const serializedResult = DChrono.addMonths("date1609459200000+", 1);
24
+ type _CheckSerialized = DCommon.ExpectType<typeof serializedResult, DChrono.TheDate, "strict">;
25
+
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @title DChrono.addSeconds
3
+ *
4
+ * Ajouter un nombre de secondes à une date.
5
+ */
6
+ import * as DChrono from "@duplojs/lang/chrono";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+
9
+ const date = DChrono.createDate("2021-01-15");
10
+ const result = DChrono.addSeconds(date, 1);
11
+
12
+ // La sortie est une nouvelle TheDate décalée de 1 second.
13
+ type _CheckResult = DCommon.ExpectType<typeof result, DChrono.TheDate, "strict">;
14
+
15
+ // La forme curifiée fixe le décalage dans le pipe.
16
+ const piped = DCommon.pipe(
17
+ date,
18
+ DChrono.addSeconds(1),
19
+ );
20
+ type _CheckPiped = DCommon.ExpectType<typeof piped, DChrono.TheDate, "strict">;
21
+
22
+ // Une date sérialisée est acceptée comme premier argument.
23
+ const serializedResult = DChrono.addSeconds("date1609459200000+", 1);
24
+ type _CheckSerialized = DCommon.ExpectType<typeof serializedResult, DChrono.TheDate, "strict">;
25
+
@@ -0,0 +1,38 @@
1
+ /**
2
+ * @title DChrono.addTime
3
+ *
4
+ * Ajouter une durée à une date ou à une autre durée en conservant la nature de l’entrée.
5
+ */
6
+ import * as DChrono from "@duplojs/lang/chrono";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+
9
+ const dateResult = DChrono.addTime("date0+", "time1000+");
10
+ const timeResult = DChrono.addTime("time1000+", "time500+");
11
+
12
+ // Une date reste une TheDate et une durée reste une TheTime.
13
+ type _CheckDate = DCommon.ExpectType<typeof dateResult, DChrono.TheDate, "strict">;
14
+ type _CheckTime = DCommon.ExpectType<typeof timeResult, DChrono.TheTime, "strict">;
15
+
16
+ // La forme curifiée s’applique aussi dans un pipe.
17
+ const piped = DCommon.pipe(
18
+ "time1000+" as const,
19
+ DChrono.addTime("time500+"),
20
+ );
21
+ type _CheckPiped = DCommon.ExpectType<typeof piped, DChrono.TheTime, "strict">;
22
+
23
+ // Les instances TheDate et TheTime peuvent être combinées avec une TheTime.
24
+ const dateInstanceResult = DChrono.addTime(
25
+ DChrono.createDate("2021-01-01"),
26
+ DChrono.createTimeOrThrow(1_000),
27
+ );
28
+ const timeInstanceResult = DChrono.addTime(
29
+ DChrono.createTimeOrThrow(1_000),
30
+ DChrono.createTimeOrThrow(500),
31
+ );
32
+
33
+ type _CheckInstances = DCommon.ExpectType<
34
+ [typeof dateInstanceResult, typeof timeInstanceResult],
35
+ [DChrono.TheDate, DChrono.TheTime],
36
+ "strict"
37
+ >;
38
+
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @title DChrono.addWeeks
3
+ *
4
+ * Ajouter un nombre de semaines à une date.
5
+ */
6
+ import * as DChrono from "@duplojs/lang/chrono";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+
9
+ const date = DChrono.createDate("2021-01-15");
10
+ const result = DChrono.addWeeks(date, 1);
11
+
12
+ // La sortie est une nouvelle TheDate décalée de 1 week.
13
+ type _CheckResult = DCommon.ExpectType<typeof result, DChrono.TheDate, "strict">;
14
+
15
+ // La forme curifiée fixe le décalage dans le pipe.
16
+ const piped = DCommon.pipe(
17
+ date,
18
+ DChrono.addWeeks(1),
19
+ );
20
+ type _CheckPiped = DCommon.ExpectType<typeof piped, DChrono.TheDate, "strict">;
21
+
22
+ // Une date sérialisée est acceptée comme premier argument.
23
+ const serializedResult = DChrono.addWeeks("date1609459200000+", 1);
24
+ type _CheckSerialized = DCommon.ExpectType<typeof serializedResult, DChrono.TheDate, "strict">;
25
+
@@ -0,0 +1,25 @@
1
+ /**
2
+ * @title DChrono.addYears
3
+ *
4
+ * Ajouter un nombre d’années à une date en UTC.
5
+ */
6
+ import * as DChrono from "@duplojs/lang/chrono";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+
9
+ const date = DChrono.createDate("2021-01-15");
10
+ const result = DChrono.addYears(date, 1);
11
+
12
+ // La sortie est une nouvelle TheDate décalée de 1 year.
13
+ type _CheckResult = DCommon.ExpectType<typeof result, DChrono.TheDate, "strict">;
14
+
15
+ // La forme curifiée fixe le décalage dans le pipe.
16
+ const piped = DCommon.pipe(
17
+ date,
18
+ DChrono.addYears(1),
19
+ );
20
+ type _CheckPiped = DCommon.ExpectType<typeof piped, DChrono.TheDate, "strict">;
21
+
22
+ // Une date sérialisée est acceptée comme premier argument.
23
+ const serializedResult = DChrono.addYears("date1609459200000+", 1);
24
+ type _CheckSerialized = DCommon.ExpectType<typeof serializedResult, DChrono.TheDate, "strict">;
25
+
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @title DChrono.applyTimezone
3
+ *
4
+ * Décaler une date pour l’exprimer dans un fuseau horaire donné.
5
+ */
6
+ import * as DChrono from "@duplojs/lang/chrono";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+
9
+ const date = DChrono.createDate("2021-01-15");
10
+ const shifted = DChrono.applyTimezone(date, "America/New_York");
11
+
12
+ // La sortie est une nouvelle TheDate représentant la date décalée selon le fuseau.
13
+ type _CheckShifted = DCommon.ExpectType<typeof shifted, DChrono.TheDate, "strict">;
14
+
15
+ // La forme curifiée fixe le fuseau dans une étape de pipe.
16
+ const piped = DCommon.pipe(
17
+ date,
18
+ DChrono.applyTimezone("America/New_York"),
19
+ );
20
+
21
+ type _CheckPiped = DCommon.ExpectType<typeof piped, DChrono.TheDate, "strict">;
22
+
23
+ // Une date sérialisée est également acceptée comme entrée.
24
+ const shiftedSerialized = DChrono.applyTimezone(
25
+ "date1609459200000+",
26
+ "Europe/Paris",
27
+ );
28
+ type _CheckSerialized = DCommon.ExpectType<typeof shiftedSerialized, DChrono.TheDate, "strict">;
29
+
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @title DChrono.betweenThanDate
3
+ *
4
+ * Vérifier qu’une date est strictement comprise entre deux bornes.
5
+ */
6
+ import * as DChrono from "@duplojs/lang/chrono";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+
9
+ const date = DChrono.createDate("2021-01-15");
10
+ const greater = DChrono.createDate("2021-01-01");
11
+ const less = DChrono.createDate("2021-01-31");
12
+ const result = DChrono.betweenThanDate(date, greater, less);
13
+
14
+ // La valeur est acceptée par la relation de bornes.
15
+ type _CheckResult = DCommon.ExpectType<typeof result, boolean, "strict">;
16
+
17
+ // La forme curifiée fixe les deux bornes dans le pipe.
18
+ const piped = DCommon.pipe(
19
+ date,
20
+ DChrono.betweenThanDate(greater, less),
21
+ );
22
+ type _CheckPiped = DCommon.ExpectType<typeof piped, boolean, "strict">;
23
+
24
+ // Les trois bornes peuvent être des dates ou durées sérialisées selon le domaine.
25
+ const serializedResult = DChrono.betweenThanDate("date1609545600000+", "date1609459200000+", "date1620000000000+");
26
+ type _CheckSerialized = DCommon.ExpectType<typeof serializedResult, boolean, "strict">;
27
+
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @title DChrono.betweenThanOrEqualDate
3
+ *
4
+ * Vérifier qu’une date est comprise entre deux bornes inclusives.
5
+ */
6
+ import * as DChrono from "@duplojs/lang/chrono";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+
9
+ const date = DChrono.createDate("2021-01-15");
10
+ const greater = DChrono.createDate("2021-01-15");
11
+ const less = DChrono.createDate("2021-01-31");
12
+ const result = DChrono.betweenThanOrEqualDate(date, greater, less);
13
+
14
+ // La valeur est acceptée par la relation de bornes.
15
+ type _CheckResult = DCommon.ExpectType<typeof result, boolean, "strict">;
16
+
17
+ // La forme curifiée fixe les deux bornes dans le pipe.
18
+ const piped = DCommon.pipe(
19
+ date,
20
+ DChrono.betweenThanOrEqualDate(greater, less),
21
+ );
22
+ type _CheckPiped = DCommon.ExpectType<typeof piped, boolean, "strict">;
23
+
24
+ // Les trois bornes peuvent être des dates ou durées sérialisées selon le domaine.
25
+ const serializedResult = DChrono.betweenThanOrEqualDate("date1609459200000+", "date1609459200000+", "date1620000000000+");
26
+ type _CheckSerialized = DCommon.ExpectType<typeof serializedResult, boolean, "strict">;
27
+
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @title DChrono.betweenThanOrEqualTime
3
+ *
4
+ * Vérifier qu’une durée est comprise entre deux bornes inclusives.
5
+ */
6
+ import * as DChrono from "@duplojs/lang/chrono";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+
9
+ const time = DChrono.createTimeOrThrow(2_000);
10
+ const greater = DChrono.createTimeOrThrow(2_000);
11
+ const less = DChrono.createTimeOrThrow(3_000);
12
+ const result = DChrono.betweenThanOrEqualTime(time, greater, less);
13
+
14
+ // La valeur est acceptée par la relation de bornes.
15
+ type _CheckResult = DCommon.ExpectType<typeof result, boolean, "strict">;
16
+
17
+ // La forme curifiée fixe les deux bornes dans le pipe.
18
+ const piped = DCommon.pipe(
19
+ time,
20
+ DChrono.betweenThanOrEqualTime(greater, less),
21
+ );
22
+ type _CheckPiped = DCommon.ExpectType<typeof piped, boolean, "strict">;
23
+
24
+ // Les trois bornes peuvent être des dates ou durées sérialisées selon le domaine.
25
+ const serializedResult = DChrono.betweenThanOrEqualTime("time2000+", "time2000+", "time3000+");
26
+ type _CheckSerialized = DCommon.ExpectType<typeof serializedResult, boolean, "strict">;
27
+
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @title DChrono.betweenThanTime
3
+ *
4
+ * Vérifier qu’une durée est strictement comprise entre deux bornes.
5
+ */
6
+ import * as DChrono from "@duplojs/lang/chrono";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+
9
+ const time = DChrono.createTimeOrThrow(2_000);
10
+ const greater = DChrono.createTimeOrThrow(1_000);
11
+ const less = DChrono.createTimeOrThrow(3_000);
12
+ const result = DChrono.betweenThanTime(time, greater, less);
13
+
14
+ // La valeur est acceptée par la relation de bornes.
15
+ type _CheckResult = DCommon.ExpectType<typeof result, boolean, "strict">;
16
+
17
+ // La forme curifiée fixe les deux bornes dans le pipe.
18
+ const piped = DCommon.pipe(
19
+ time,
20
+ DChrono.betweenThanTime(greater, less),
21
+ );
22
+ type _CheckPiped = DCommon.ExpectType<typeof piped, boolean, "strict">;
23
+
24
+ // Les trois bornes peuvent être des dates ou durées sérialisées selon le domaine.
25
+ const serializedResult = DChrono.betweenThanTime("time2000+", "time1000+", "time3000+");
26
+ type _CheckSerialized = DCommon.ExpectType<typeof serializedResult, boolean, "strict">;
27
+