@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,16 @@
1
+ /**
2
+ * @title DCommon.createFormData
3
+ *
4
+ * Transformer un objet de valeurs en `FormData` en conservant ses valeurs d’entrée typées.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+
8
+ const values = { name: "Ada" };
9
+ const result = DCommon.createFormData(values);
10
+
11
+ // La FormData conserve l’objet d’entrée dans inputValues.
12
+ type _CheckResult = DCommon.ExpectType<
13
+ typeof result,
14
+ DCommon.TheFormData<typeof values>,
15
+ "strict"
16
+ >;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @title DCommon.createInterpolation
3
+ *
4
+ * Préparer une fonction qui remplace les identifiants entre accolades dans un modèle.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+
8
+ const interpolation = DCommon.createInterpolation("user-{id}", true);
9
+ const result = interpolation({ id: "42" });
10
+
11
+ // Le mode strict reflète la valeur injectée dans le type de sortie.
12
+ type _CheckResult = DCommon.ExpectType<typeof result, "user-42", "strict">;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @title DCommon.createQueue
3
+ *
4
+ * Créer une file d’attente typée avec une capacité optionnelle.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+
8
+ const queue = DCommon.createQueue({ concurrency: 1 });
9
+ const result = queue.add(() => "done");
10
+
11
+ // Chaque tâche est exécutée dans une Promise et ses erreurs sont représentées par un Left.
12
+ type _CheckResult = DCommon.ExpectType<
13
+ typeof result,
14
+ Promise<"done">,
15
+ "two-extends-one"
16
+ >;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @title DCommon.createTransformer
3
+ *
4
+ * Créer une fonction de transformation récursive liée à un nom de méthode.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+
8
+ const toNative = DCommon.createTransformer("toNative");
9
+ const result = toNative({
10
+ toNative() {
11
+ return 42 as const;
12
+ },
13
+ });
14
+
15
+ // Le transformer appelle la méthode ciblée et retourne sa valeur.
16
+ type _CheckResult = DCommon.ExpectType<typeof result, 42, "strict">;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @title DCommon.detachObjectMethod
3
+ *
4
+ * Détacher une méthode d’un objet tout en conservant son contexte d’exécution.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+ import * as DString from "@duplojs/lang/string";
8
+
9
+ const source = {
10
+ value: "value",
11
+ upper() {
12
+ return DString.toUpperCase(this.value);
13
+ },
14
+ };
15
+
16
+ const upper = DCommon.detachObjectMethod(source, "upper");
17
+ const result = upper();
18
+
19
+ // La méthode détachée utilise toujours source comme contexte.
20
+ type _CheckResult = DCommon.ExpectType<typeof result, Uppercase<string>, "strict">;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @title DCommon.equal
3
+ *
4
+ * Créer un prédicat d’égalité pour une valeur ou une liste de valeurs littérales.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+ import * as DString from "@duplojs/lang/string";
8
+
9
+ // Appel classique : comparer immédiatement deux valeurs.
10
+ const result = DCommon.equal("value", "value");
11
+
12
+ // La valeur obtenue est true.
13
+ type _CheckResult = DCommon.ExpectType<typeof result, boolean, "strict">;
14
+
15
+ declare const source: string | number;
16
+
17
+ // Appel curifié : le prédicat est passé directement à DCommon.when.
18
+ const transformed = DCommon.pipe(
19
+ source,
20
+ DCommon.when(
21
+ DCommon.equal("value"),
22
+ DString.toUpperCase,
23
+ ),
24
+ );
25
+
26
+ // La chaîne est transformée si elle vaut "value", sinon la source est conservée.
27
+ type _CheckTransformed = DCommon.ExpectType<
28
+ typeof transformed,
29
+ number | string,
30
+ "strict"
31
+ >;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @title DCommon.escapeRegExp
3
+ *
4
+ * Échapper les caractères spéciaux d’une chaîne avant de l’utiliser dans une expression régulière.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+
8
+ const result = DCommon.escapeRegExp("file.name");
9
+
10
+ // Le point est échappé pour être interprété littéralement.
11
+ type _CheckResult = DCommon.ExpectType<typeof result, string, "strict">;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @title DCommon.falsy
3
+ *
4
+ * Identifier les valeurs falsy JavaScript avec un narrowing TypeScript.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+
8
+ declare const input: string | null;
9
+ const result = DCommon.falsy(input);
10
+
11
+ // Le prédicat produit un booléen et distingue la branche falsy de l’union.
12
+ type _CheckResult = DCommon.ExpectType<typeof result, boolean, "strict">;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @title DCommon.forward
3
+ *
4
+ * Retourner une valeur telle quelle pour la rendre explicite dans une composition.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+
8
+ const result = DCommon.forward("value");
9
+
10
+ // La valeur et son type sont conservés.
11
+ type _CheckResult = DCommon.ExpectType<typeof result, "value", "strict">;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @title DCommon.forwardAsserts
3
+ *
4
+ * Vérifier une valeur et la retourner, ou produire une fonction réutilisable de vérification.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+
8
+ // Appel classique : vérifier et retourner immédiatement la valeur.
9
+ const result = DCommon.forwardAsserts("value", DCommon.isType("string"));
10
+
11
+ type _CheckResult = DCommon.ExpectType<typeof result, string, "strict">;
12
+
13
+ // Appel curifié : préparer une vérification réutilisable.
14
+ const ensureString = DCommon.forwardAsserts(DCommon.isType("string"));
15
+ const checked = ensureString("value");
16
+
17
+ type _CheckChecked = DCommon.ExpectType<typeof checked, string, "strict">;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @title DCommon.forwardLog
3
+ *
4
+ * Afficher une valeur puis la retourner pour observer une composition.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+
8
+ const result = DCommon.forwardLog("value");
9
+
10
+ // La valeur observée est aussi la valeur produite.
11
+ type _CheckResult = DCommon.ExpectType<typeof result, "value", "strict">;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @title DCommon.infer
3
+ *
4
+ * Inférer une contrainte à partir d’une valeur littérale dans une expression typée.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+ import type * as DString from "@duplojs/lang/string";
8
+
9
+ const result: string & DString.MinCharacters<5> = DCommon.infer("value");
10
+
11
+ // La longueur du littéral fournit la contrainte minimale attendue.
12
+ type _CheckResult = DCommon.ExpectType<
13
+ typeof result,
14
+ string & DString.MinCharacters<5>,
15
+ "strict"
16
+ >;
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @title DCommon.innerPipe
3
+ *
4
+ * Composer plusieurs transformations dans une fonction réutilisable.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+ import type * as DNumber from "@duplojs/lang/number";
8
+ import * as DString from "@duplojs/lang/string";
9
+
10
+ const result = DCommon.pipe(
11
+ "value",
12
+ DCommon.innerPipe(
13
+ DString.toUpperCase,
14
+ DString.length,
15
+ ),
16
+ );
17
+
18
+ // La fonction composée retourne une longueur positive.
19
+ type _CheckResult = DCommon.ExpectType<
20
+ typeof result,
21
+ number & DNumber.Positive,
22
+ "strict"
23
+ >;
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @title DCommon.instanceOf
3
+ *
4
+ * Créer un prédicat basé sur un constructeur avec narrowing de l’instance.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+
8
+ declare const input: Date | string;
9
+ const result = DCommon.instanceOf(input, Date);
10
+
11
+ // Le test runtime produit un booléen.
12
+ type _CheckResult = DCommon.ExpectType<typeof result, boolean, "strict">;
13
+
14
+ // La forme curifiée s’utilise directement comme predicate dans DCommon.when.
15
+ const preserved = DCommon.pipe(
16
+ input,
17
+ DCommon.when(
18
+ DCommon.instanceOf(Date),
19
+ DCommon.forward,
20
+ ),
21
+ );
22
+
23
+ type _CheckPreserved = DCommon.ExpectType<typeof preserved, Date | string, "strict">;
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @title DCommon.isType
3
+ *
4
+ * Construire un prédicat de type à partir d’un type runtime.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+ import * as DString from "@duplojs/lang/string";
8
+
9
+ declare const input: string | number;
10
+
11
+ // Appel classique : tester directement le type runtime.
12
+ const result = DCommon.isType(input, "string");
13
+ type _CheckResult = DCommon.ExpectType<typeof result, boolean, "strict">;
14
+
15
+ // Appel curifié : le predicate est passé directement à DCommon.when.
16
+ const transformed = DCommon.pipe(
17
+ input,
18
+ DCommon.when(
19
+ DCommon.isType("string"),
20
+ DString.toUpperCase,
21
+ ),
22
+ );
23
+
24
+ // Seules les chaînes sont transformées.
25
+ type _CheckTransformed = DCommon.ExpectType<
26
+ typeof transformed,
27
+ number | Uppercase<string>,
28
+ "strict"
29
+ >;
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @title DCommon.justExec
3
+ *
4
+ * Encapsuler une logique impérative locale et affecter directement son résultat.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+
8
+ declare const input: number;
9
+
10
+ const result = DCommon.justExec(() => {
11
+ if (input > 10) {
12
+ return "large" as const;
13
+ }
14
+
15
+ if (input > 0) {
16
+ return "positive" as const;
17
+ }
18
+
19
+ return "non-positive" as const;
20
+ });
21
+
22
+ // Le bloc est exécuté immédiatement : son résultat est directement affecté à `result`.
23
+ // Cela évite une variable mutable initialisée à vide puis réassignée dans chaque branche.
24
+ type _CheckResult = DCommon.ExpectType<
25
+ typeof result,
26
+ "large" | "positive" | "non-positive",
27
+ "strict"
28
+ >;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @title DCommon.justReturn
3
+ *
4
+ * Fournir une valeur déjà calculée à une étape de pipe sans écrire de callback.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+
8
+ declare const input: "ready" | "pending";
9
+
10
+ const result = DCommon.pipe(
11
+ input,
12
+ DCommon.when(
13
+ DCommon.equal("ready"),
14
+ DCommon.justReturn("done"),
15
+ ),
16
+ );
17
+
18
+ // `justReturn` remplace une callback comme `() => "done"` dans le `when` curifié.
19
+ type _CheckResult = DCommon.ExpectType<typeof result, "done" | "pending", "strict">;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @title DCommon.loop
3
+ *
4
+ * Contrôler une boucle synchrone avec un compteur et une sortie typée.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+
8
+ const result = DCommon.loop<"done", number>(({ count, previousOutput, next, exit }) => {
9
+ const current = previousOutput ?? 0;
10
+
11
+ if (count === 3) {
12
+ return exit("done");
13
+ }
14
+
15
+ return next(current + 1);
16
+ });
17
+
18
+ // `count` commence à 0 ; `previousOutput` vaut undefined à la première itération.
19
+ // `next` poursuit la boucle avec une nouvelle sortie, tandis que `exit` la termine.
20
+ type _CheckResult = DCommon.ExpectType<typeof result, "done", "strict">;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @title DCommon.memo
3
+ *
4
+ * Évaluer une fonction au premier accès puis mémoriser sa valeur.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+
8
+ const memoized = DCommon.memo(() => "done");
9
+ const result = memoized.value;
10
+
11
+ // Le getter expose la valeur calculée avec son type inféré.
12
+ type _CheckResult = DCommon.ExpectType<typeof result, string, "strict">;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @title DCommon.memoObject
3
+ *
4
+ * Exposer un objet calculé paresseusement tout en mémorisant son contenu.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+
8
+ const result = DCommon.memoObject(() => ({ value: "done" }));
9
+
10
+ // L’objet conserve la forme produite par le getter.
11
+ type _CheckResult = DCommon.ExpectType<typeof result, { value: string }, "strict">;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @title DCommon.memoPromise
3
+ *
4
+ * Mémoriser le résultat d’un calcul synchrone ou asynchrone.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+
8
+ const memoized = DCommon.memoPromise(() => "done");
9
+ const result = memoized.value;
10
+
11
+ // Le premier accès peut fournir la valeur ou la Promise partagée du calcul.
12
+ type _CheckResult = DCommon.ExpectType<
13
+ typeof result,
14
+ string | Promise<string>,
15
+ "strict"
16
+ >;
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @title DCommon.or
3
+ *
4
+ * Combiner plusieurs prédicats en une condition satisfaite par au moins l’un d’eux.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+
8
+ declare const input: string | number;
9
+
10
+ // Appel classique : un seul predicate accepté suffit.
11
+ const result = DCommon.or(input, [
12
+ DCommon.isType("string"),
13
+ DCommon.isType("number"),
14
+ ]);
15
+ type _CheckResult = DCommon.ExpectType<typeof result, boolean, "strict">;
16
+
17
+ // Appel curifié : le predicate composé est passé à DCommon.when.
18
+ const preserved = DCommon.pipe(
19
+ input,
20
+ DCommon.when(
21
+ DCommon.or([
22
+ DCommon.isType("string"),
23
+ DCommon.isType("number"),
24
+ ]),
25
+ DCommon.forward,
26
+ ),
27
+ );
28
+
29
+ type _CheckPreserved = DCommon.ExpectType<typeof preserved, string | number, "strict">;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * @title DCommon.pipe
3
+ *
4
+ * Appliquer une suite de transformations de gauche à droite.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+ import type * as DNumber from "@duplojs/lang/number";
8
+ import * as DString from "@duplojs/lang/string";
9
+
10
+ const result = DCommon.pipe(
11
+ "value",
12
+ DString.toUpperCase,
13
+ DString.length,
14
+ );
15
+
16
+ // Chaque étape reçoit la sortie de la précédente.
17
+ type _CheckResult = DCommon.ExpectType<
18
+ typeof result,
19
+ number & DNumber.Positive,
20
+ "strict"
21
+ >;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @title DCommon.pipeCall
3
+ *
4
+ * Corriger l’inférence d’une fonction sans générique utilisée dans un pipe.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+ import type * as DNumber from "@duplojs/lang/number";
8
+ import * as DString from "@duplojs/lang/string";
9
+
10
+ const result = DCommon.pipe(
11
+ "value",
12
+ DCommon.pipeCall(DString.length),
13
+ );
14
+
15
+ // La fonction unaire est adaptée au pipe et conserve son type de sortie.
16
+ type _CheckResult = DCommon.ExpectType<
17
+ typeof result,
18
+ number & DNumber.Positive,
19
+ "strict"
20
+ >;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @title DCommon.prepareAsyncPipe
3
+ *
4
+ * Préparer une fabrique de pipelines asynchrones partageant une contrainte d’entrée.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+ import * as DString from "@duplojs/lang/string";
8
+
9
+ const toUpperCase = DCommon.prepareAsyncPipe<string>()(
10
+ DString.toUpperCase,
11
+ );
12
+
13
+ const result = toUpperCase("value");
14
+
15
+ // Le pipeline préparé accepte une chaîne et retourne une Promise de chaîne transformée.
16
+ type _CheckResult = DCommon.ExpectType<
17
+ typeof result,
18
+ Promise<Uppercase<string>>,
19
+ "strict"
20
+ >;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @title DCommon.preparePipe
3
+ *
4
+ * Préparer une fabrique de pipelines partageant une contrainte d’entrée.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+ import * as DString from "@duplojs/lang/string";
8
+
9
+ const toUpperCase = DCommon.preparePipe<string>()(
10
+ DString.toUpperCase,
11
+ );
12
+
13
+ const result = toUpperCase("value");
14
+
15
+ // Le pipeline préparé conserve le type de sa transformation.
16
+ type _CheckResult = DCommon.ExpectType<
17
+ typeof result,
18
+ Uppercase<string>,
19
+ "strict"
20
+ >;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @title DCommon.promiseAll
3
+ *
4
+ * Attendre un tuple ou un itérable de promesses en conservant la forme du tuple.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+
8
+ declare const values: readonly [Promise<string>, number];
9
+ const result = DCommon.promiseAll(values);
10
+
11
+ // Le tuple résolu conserve l’ordre et la position de ses types.
12
+ type _CheckResult = DCommon.ExpectType<
13
+ typeof result,
14
+ Promise<[string, number]>,
15
+ "strict"
16
+ >;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @title DCommon.promiseObject
3
+ *
4
+ * Attendre toutes les propriétés promises d’un objet et reconstruire l’objet résolu.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+
8
+ declare const values: {
9
+ name: string;
10
+ count: Promise<number>;
11
+ };
12
+ const result = DCommon.promiseObject(values);
13
+
14
+ // Chaque propriété conserve son nom et reçoit sa valeur résolue.
15
+ type _CheckResult = DCommon.ExpectType<
16
+ typeof result,
17
+ Promise<{
18
+ name: string;
19
+ count: number;
20
+ }>,
21
+ "strict"
22
+ >;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @title DCommon.removeConstraint
3
+ *
4
+ * Retirer les contraintes DuploJS d’un type tout en conservant sa forme de valeur.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+ import type * as DString from "@duplojs/lang/string";
8
+
9
+ declare const constrained: string & DString.NotEmpty;
10
+ const result = DCommon.removeConstraint(constrained);
11
+
12
+ // La valeur reste une chaîne, mais ne porte plus la contrainte NotEmpty.
13
+ type _CheckResult = DCommon.ExpectType<typeof result, string, "strict">;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @title DCommon.shameOnYou
3
+ *
4
+ * Contourner explicitement une contrainte attendue dans un contrat de type.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+ import type * as DString from "@duplojs/lang/string";
8
+
9
+ const acceptLongString = (value: string & DString.MinCharacters<10>) => value;
10
+
11
+ const result = acceptLongString(
12
+ DCommon.shameOnYou("short"),
13
+ );
14
+
15
+ // La valeur brute est acceptée malgré la contrainte, puis présentée au contrat comme contrainte.
16
+ type _CheckResult = DCommon.ExpectType<
17
+ typeof result,
18
+ string & DString.MinCharacters<10>,
19
+ "strict"
20
+ >;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @title DCommon.simpleClone
3
+ *
4
+ * Créer une copie superficielle d’une valeur clonable.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+
8
+ const source = { value: "done" };
9
+ const result = DCommon.simpleClone(source);
10
+
11
+ // La copie conserve le type de la valeur clonée.
12
+ type _CheckResult = DCommon.ExpectType<typeof result, typeof source, "strict">;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @title DCommon.stringToBytes
3
+ *
4
+ * Convertir une quantité en octets écrite avec une unité ou déjà numérique.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+
8
+ const fromString = DCommon.stringToBytes("1.5kb");
9
+ const fromNumber = DCommon.stringToBytes(512);
10
+
11
+ // Les unités acceptées sont `b`, `kb`, `mb`, `gb`, `tb` et `pb`.
12
+ // Les valeurs décimales sont converties en octets puis arrondies à l’entier inférieur.
13
+ type _CheckString = DCommon.ExpectType<typeof fromString, number, "strict">;
14
+ type _CheckNumber = DCommon.ExpectType<typeof fromNumber, number, "strict">;
15
+
16
+ // Une chaîne qui ne respecte pas le format lève InvalidBytesInStringError à l’exécution.
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @title DCommon.stringToMillisecond
3
+ *
4
+ * Additionner des durées écrites avec une unité ou exprimées en millisecondes.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+
8
+ const fromStrings = DCommon.stringToMillisecond("1h", "30m", "2s", "500ms");
9
+ const fromNumber = DCommon.stringToMillisecond(2_500);
10
+
11
+ // Les unités acceptées sont `ms`, `s`, `m`, `h`, `d` et `w`.
12
+ // Le premier paramètre est obligatoire ; les suivants sont additionnés au résultat.
13
+ type _CheckStrings = DCommon.ExpectType<typeof fromStrings, number, "strict">;
14
+ type _CheckNumber = DCommon.ExpectType<typeof fromNumber, number, "strict">;
15
+
16
+ // Les valeurs décimales sont converties puis arrondies à l’entier inférieur.
17
+ // Une chaîne invalide lève InvalidMillisecondInStringError à l’exécution.
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @title DCommon.timeout
3
+ *
4
+ * Créer une promise résolue après un délai en millisecondes.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+
8
+ const result = DCommon.timeout(10);
9
+
10
+ // Le délai est représenté par une Promise sans valeur.
11
+ type _CheckResult = DCommon.ExpectType<typeof result, Promise<void>, "strict">;