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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (853) hide show
  1. package/README.md +73 -2
  2. package/dist/bin/index.d.ts +2 -0
  3. package/dist/bin/index.mjs +7 -0
  4. package/dist/bin/installSkill/index.d.ts +2 -0
  5. package/dist/bin/installSkill/index.mjs +25 -0
  6. package/dist/bin/installSkill/skill.d.ts +28 -0
  7. package/dist/bin/installSkill/skill.mjs +58 -0
  8. package/dist/bin/packagePath.d.ts +2 -0
  9. package/dist/bin/packagePath.mjs +12 -0
  10. package/dist/bin/setup/index.d.ts +12 -0
  11. package/dist/bin/setup/index.mjs +33 -0
  12. package/dist/bin/setup/instructions.d.ts +8 -0
  13. package/dist/bin/setup/instructions.mjs +27 -0
  14. package/dist/index.cjs +1 -0
  15. package/dist/index.d.ts +1 -0
  16. package/dist/index.mjs +0 -0
  17. package/docs/API/10-lang/10-array/10-at.ts +65 -0
  18. package/docs/API/10-lang/10-array/10-chunk.ts +42 -0
  19. package/docs/API/10-lang/10-array/10-coalescing.ts +20 -0
  20. package/docs/API/10-lang/10-array/10-concat.ts +34 -0
  21. package/docs/API/10-lang/10-array/10-copyWithin.ts +34 -0
  22. package/docs/API/10-lang/10-array/10-every.ts +25 -0
  23. package/docs/API/10-lang/10-array/10-fill.ts +34 -0
  24. package/docs/API/10-lang/10-array/10-fillAll.ts +34 -0
  25. package/docs/API/10-lang/10-array/10-filter.ts +43 -0
  26. package/docs/API/10-lang/10-array/10-find.ts +33 -0
  27. package/docs/API/10-lang/10-array/10-findAndReplace.ts +35 -0
  28. package/docs/API/10-lang/10-array/10-findAndSpliceDelete.ts +35 -0
  29. package/docs/API/10-lang/10-array/10-findAndSpliceInsert.ts +35 -0
  30. package/docs/API/10-lang/10-array/10-findAndSpliceReplace.ts +24 -0
  31. package/docs/API/10-lang/10-array/10-findDuplicates.ts +19 -0
  32. package/docs/API/10-lang/10-array/10-findIndex.ts +25 -0
  33. package/docs/API/10-lang/10-array/10-findLast.ts +33 -0
  34. package/docs/API/10-lang/10-array/10-findLastIndex.ts +25 -0
  35. package/docs/API/10-lang/10-array/10-first.ts +21 -0
  36. package/docs/API/10-lang/10-array/10-flat.ts +22 -0
  37. package/docs/API/10-lang/10-array/10-flatMap.ts +24 -0
  38. package/docs/API/10-lang/10-array/10-from.ts +25 -0
  39. package/docs/API/10-lang/10-array/10-group.ts +27 -0
  40. package/docs/API/10-lang/10-array/10-groupOutput.ts +30 -0
  41. package/docs/API/10-lang/10-array/10-includes.ts +24 -0
  42. package/docs/API/10-lang/10-array/10-indexOf.ts +24 -0
  43. package/docs/API/10-lang/10-array/10-insert.ts +34 -0
  44. package/docs/API/10-lang/10-array/10-is.ts +29 -0
  45. package/docs/API/10-lang/10-array/10-isLastIndex.ts +24 -0
  46. package/docs/API/10-lang/10-array/10-last.ts +21 -0
  47. package/docs/API/10-lang/10-array/10-lastIndexOf.ts +24 -0
  48. package/docs/API/10-lang/10-array/10-length.ts +28 -0
  49. package/docs/API/10-lang/10-array/10-lengthEqual.ts +39 -0
  50. package/docs/API/10-lang/10-array/10-map.ts +34 -0
  51. package/docs/API/10-lang/10-array/10-maxElements.ts +44 -0
  52. package/docs/API/10-lang/10-array/10-minElements.ts +44 -0
  53. package/docs/API/10-lang/10-array/10-notIncludes.ts +24 -0
  54. package/docs/API/10-lang/10-array/10-pop.ts +23 -0
  55. package/docs/API/10-lang/10-array/10-prepend.ts +34 -0
  56. package/docs/API/10-lang/10-array/10-push.ts +34 -0
  57. package/docs/API/10-lang/10-array/10-reduce.ts +28 -0
  58. package/docs/API/10-lang/10-array/10-reduceFrom.ts +16 -0
  59. package/docs/API/10-lang/10-array/10-reduceRight.ts +28 -0
  60. package/docs/API/10-lang/10-array/10-reverse.ts +25 -0
  61. package/docs/API/10-lang/10-array/10-select.ts +26 -0
  62. package/docs/API/10-lang/10-array/10-set.ts +24 -0
  63. package/docs/API/10-lang/10-array/10-shift.ts +23 -0
  64. package/docs/API/10-lang/10-array/10-slice.ts +24 -0
  65. package/docs/API/10-lang/10-array/10-some.ts +25 -0
  66. package/docs/API/10-lang/10-array/10-sort.ts +34 -0
  67. package/docs/API/10-lang/10-array/10-spliceDelete.ts +34 -0
  68. package/docs/API/10-lang/10-array/10-spliceInsert.ts +34 -0
  69. package/docs/API/10-lang/10-array/10-spliceReplace.ts +24 -0
  70. package/docs/API/10-lang/10-array/10-unshift.ts +34 -0
  71. package/docs/API/10-lang/10-array/index.llms.md +220 -0
  72. package/docs/API/10-lang/10-array/index.md +3 -0
  73. package/docs/API/10-lang/10-chrono/10-addDays.ts +25 -0
  74. package/docs/API/10-lang/10-chrono/10-addHours.ts +25 -0
  75. package/docs/API/10-lang/10-chrono/10-addMilliseconds.ts +25 -0
  76. package/docs/API/10-lang/10-chrono/10-addMinutes.ts +25 -0
  77. package/docs/API/10-lang/10-chrono/10-addMonths.ts +25 -0
  78. package/docs/API/10-lang/10-chrono/10-addSeconds.ts +25 -0
  79. package/docs/API/10-lang/10-chrono/10-addTime.ts +38 -0
  80. package/docs/API/10-lang/10-chrono/10-addWeeks.ts +25 -0
  81. package/docs/API/10-lang/10-chrono/10-addYears.ts +25 -0
  82. package/docs/API/10-lang/10-chrono/10-applyTimezone.ts +29 -0
  83. package/docs/API/10-lang/10-chrono/10-betweenThanDate.ts +27 -0
  84. package/docs/API/10-lang/10-chrono/10-betweenThanOrEqualDate.ts +27 -0
  85. package/docs/API/10-lang/10-chrono/10-betweenThanOrEqualTime.ts +27 -0
  86. package/docs/API/10-lang/10-chrono/10-betweenThanTime.ts +27 -0
  87. package/docs/API/10-lang/10-chrono/10-closestTo.ts +45 -0
  88. package/docs/API/10-lang/10-chrono/10-computeTime.ts +35 -0
  89. package/docs/API/10-lang/10-chrono/10-createDate.ts +122 -0
  90. package/docs/API/10-lang/10-chrono/10-createDateOrThrow.ts +39 -0
  91. package/docs/API/10-lang/10-chrono/10-createTime.ts +86 -0
  92. package/docs/API/10-lang/10-chrono/10-createTimeOrThrow.ts +28 -0
  93. package/docs/API/10-lang/10-chrono/10-eachDate.ts +67 -0
  94. package/docs/API/10-lang/10-chrono/10-equalDate.ts +26 -0
  95. package/docs/API/10-lang/10-chrono/10-equalTime.ts +26 -0
  96. package/docs/API/10-lang/10-chrono/10-formatDate.ts +43 -0
  97. package/docs/API/10-lang/10-chrono/10-formatTime.ts +37 -0
  98. package/docs/API/10-lang/10-chrono/10-getDayOfMonth.ts +37 -0
  99. package/docs/API/10-lang/10-chrono/10-getDayOfWeek.ts +30 -0
  100. package/docs/API/10-lang/10-chrono/10-getDayOfYear.ts +28 -0
  101. package/docs/API/10-lang/10-chrono/10-getDifference.ts +29 -0
  102. package/docs/API/10-lang/10-chrono/10-getFirstDayOfMonth.ts +24 -0
  103. package/docs/API/10-lang/10-chrono/10-getFirstDayOfWeek.ts +24 -0
  104. package/docs/API/10-lang/10-chrono/10-getHour.ts +28 -0
  105. package/docs/API/10-lang/10-chrono/10-getLastDayOfMonth.ts +24 -0
  106. package/docs/API/10-lang/10-chrono/10-getLastDayOfWeek.ts +24 -0
  107. package/docs/API/10-lang/10-chrono/10-getMilliseconds.ts +24 -0
  108. package/docs/API/10-lang/10-chrono/10-getMinute.ts +27 -0
  109. package/docs/API/10-lang/10-chrono/10-getMonth.ts +27 -0
  110. package/docs/API/10-lang/10-chrono/10-getSecond.ts +27 -0
  111. package/docs/API/10-lang/10-chrono/10-getTimezoneOffset.ts +28 -0
  112. package/docs/API/10-lang/10-chrono/10-getWeekOfYear.ts +27 -0
  113. package/docs/API/10-lang/10-chrono/10-getYear.ts +27 -0
  114. package/docs/API/10-lang/10-chrono/10-greaterThanDate.ts +26 -0
  115. package/docs/API/10-lang/10-chrono/10-greaterThanOrEqualDate.ts +26 -0
  116. package/docs/API/10-lang/10-chrono/10-greaterThanOrEqualTime.ts +26 -0
  117. package/docs/API/10-lang/10-chrono/10-greaterThanTime.ts +26 -0
  118. package/docs/API/10-lang/10-chrono/10-isDate.ts +36 -0
  119. package/docs/API/10-lang/10-chrono/10-isSafeTimeValue.ts +19 -0
  120. package/docs/API/10-lang/10-chrono/10-isSafeTimestamp.ts +19 -0
  121. package/docs/API/10-lang/10-chrono/10-isSerializedTheDate.ts +41 -0
  122. package/docs/API/10-lang/10-chrono/10-isSerializedTheTime.ts +41 -0
  123. package/docs/API/10-lang/10-chrono/10-isTime.ts +36 -0
  124. package/docs/API/10-lang/10-chrono/10-lessThanDate.ts +26 -0
  125. package/docs/API/10-lang/10-chrono/10-lessThanOrEqualDate.ts +26 -0
  126. package/docs/API/10-lang/10-chrono/10-lessThanOrEqualTime.ts +26 -0
  127. package/docs/API/10-lang/10-chrono/10-lessThanTime.ts +26 -0
  128. package/docs/API/10-lang/10-chrono/10-makeSafeTimeValue.ts +19 -0
  129. package/docs/API/10-lang/10-chrono/10-makeSafeTimestamp.ts +19 -0
  130. package/docs/API/10-lang/10-chrono/10-maxDate.ts +19 -0
  131. package/docs/API/10-lang/10-chrono/10-maxTime.ts +19 -0
  132. package/docs/API/10-lang/10-chrono/10-minDate.ts +19 -0
  133. package/docs/API/10-lang/10-chrono/10-minTime.ts +19 -0
  134. package/docs/API/10-lang/10-chrono/10-now.ts +13 -0
  135. package/docs/API/10-lang/10-chrono/10-round.ts +41 -0
  136. package/docs/API/10-lang/10-chrono/10-serialize.ts +23 -0
  137. package/docs/API/10-lang/10-chrono/10-sortDates.ts +30 -0
  138. package/docs/API/10-lang/10-chrono/10-sortTimes.ts +29 -0
  139. package/docs/API/10-lang/10-chrono/10-subtractDays.ts +25 -0
  140. package/docs/API/10-lang/10-chrono/10-subtractHours.ts +25 -0
  141. package/docs/API/10-lang/10-chrono/10-subtractMilliseconds.ts +25 -0
  142. package/docs/API/10-lang/10-chrono/10-subtractMinutes.ts +25 -0
  143. package/docs/API/10-lang/10-chrono/10-subtractMonths.ts +25 -0
  144. package/docs/API/10-lang/10-chrono/10-subtractSeconds.ts +25 -0
  145. package/docs/API/10-lang/10-chrono/10-subtractTime.ts +38 -0
  146. package/docs/API/10-lang/10-chrono/10-subtractWeeks.ts +25 -0
  147. package/docs/API/10-lang/10-chrono/10-subtractYears.ts +25 -0
  148. package/docs/API/10-lang/10-chrono/10-toDateISOString.ts +17 -0
  149. package/docs/API/10-lang/10-chrono/10-toNative.ts +25 -0
  150. package/docs/API/10-lang/10-chrono/10-toTimeValue.ts +17 -0
  151. package/docs/API/10-lang/10-chrono/10-toTimestamp.ts +17 -0
  152. package/docs/API/10-lang/10-chrono/10-today.ts +13 -0
  153. package/docs/API/10-lang/10-chrono/10-tomorrow.ts +13 -0
  154. package/docs/API/10-lang/10-chrono/10-yesterday.ts +13 -0
  155. package/docs/API/10-lang/10-chrono/index.llms.md +332 -0
  156. package/docs/API/10-lang/10-chrono/index.md +3 -0
  157. package/docs/API/10-lang/10-common/10-and.ts +51 -0
  158. package/docs/API/10-lang/10-common/10-asserts.ts +13 -0
  159. package/docs/API/10-lang/10-common/10-asyncInnerPipe.ts +23 -0
  160. package/docs/API/10-lang/10-common/10-asyncLoop.ts +25 -0
  161. package/docs/API/10-lang/10-common/10-asyncPipe.ts +21 -0
  162. package/docs/API/10-lang/10-common/10-callThen.ts +22 -0
  163. package/docs/API/10-lang/10-common/10-cast.ts +16 -0
  164. package/docs/API/10-lang/10-common/10-clone.ts +12 -0
  165. package/docs/API/10-lang/10-common/10-createAsyncRetry.ts +34 -0
  166. package/docs/API/10-lang/10-common/10-createBuilder.ts +19 -0
  167. package/docs/API/10-lang/10-common/10-createEnum.ts +25 -0
  168. package/docs/API/10-lang/10-common/10-createExternalPromise.ts +13 -0
  169. package/docs/API/10-lang/10-common/10-createFormData.ts +16 -0
  170. package/docs/API/10-lang/10-common/10-createInterpolation.ts +12 -0
  171. package/docs/API/10-lang/10-common/10-createQueue.ts +17 -0
  172. package/docs/API/10-lang/10-common/10-createTransformer.ts +16 -0
  173. package/docs/API/10-lang/10-common/10-detachObjectMethod.ts +20 -0
  174. package/docs/API/10-lang/10-common/10-equal.ts +37 -0
  175. package/docs/API/10-lang/10-common/10-escapeRegExp.ts +11 -0
  176. package/docs/API/10-lang/10-common/10-falsy.ts +31 -0
  177. package/docs/API/10-lang/10-common/10-forward.ts +11 -0
  178. package/docs/API/10-lang/10-common/10-forwardAsserts.ts +17 -0
  179. package/docs/API/10-lang/10-common/10-forwardLog.ts +11 -0
  180. package/docs/API/10-lang/10-common/10-infer.ts +16 -0
  181. package/docs/API/10-lang/10-common/10-innerPipe.ts +23 -0
  182. package/docs/API/10-lang/10-common/10-instanceOf.ts +34 -0
  183. package/docs/API/10-lang/10-common/10-isType.ts +35 -0
  184. package/docs/API/10-lang/10-common/10-justExec.ts +28 -0
  185. package/docs/API/10-lang/10-common/10-justReturn.ts +19 -0
  186. package/docs/API/10-lang/10-common/10-loop.ts +20 -0
  187. package/docs/API/10-lang/10-common/10-memo.ts +12 -0
  188. package/docs/API/10-lang/10-common/10-memoObject.ts +11 -0
  189. package/docs/API/10-lang/10-common/10-memoPromise.ts +16 -0
  190. package/docs/API/10-lang/10-common/10-or.ts +43 -0
  191. package/docs/API/10-lang/10-common/10-pipe.ts +21 -0
  192. package/docs/API/10-lang/10-common/10-pipeCall.ts +20 -0
  193. package/docs/API/10-lang/10-common/10-prepareAsyncPipe.ts +20 -0
  194. package/docs/API/10-lang/10-common/10-preparePipe.ts +20 -0
  195. package/docs/API/10-lang/10-common/10-promiseAll.ts +16 -0
  196. package/docs/API/10-lang/10-common/10-promiseObject.ts +22 -0
  197. package/docs/API/10-lang/10-common/10-removeConstraint.ts +13 -0
  198. package/docs/API/10-lang/10-common/10-shameOnYou.ts +20 -0
  199. package/docs/API/10-lang/10-common/10-simpleClone.ts +12 -0
  200. package/docs/API/10-lang/10-common/10-stringToBytes.ts +16 -0
  201. package/docs/API/10-lang/10-common/10-stringToMillisecond.ts +17 -0
  202. package/docs/API/10-lang/10-common/10-tap.ts +28 -0
  203. package/docs/API/10-lang/10-common/10-timeout.ts +11 -0
  204. package/docs/API/10-lang/10-common/10-toCurriedPredicate.ts +28 -0
  205. package/docs/API/10-lang/10-common/10-toJSON.ts +15 -0
  206. package/docs/API/10-lang/10-common/10-toNative.ts +15 -0
  207. package/docs/API/10-lang/10-common/10-toRegExp.ts +17 -0
  208. package/docs/API/10-lang/10-common/10-transformer.ts +21 -0
  209. package/docs/API/10-lang/10-common/10-truthy.ts +31 -0
  210. package/docs/API/10-lang/10-common/10-useAsyncRetry.ts +31 -0
  211. package/docs/API/10-lang/10-common/10-when.ts +27 -0
  212. package/docs/API/10-lang/10-common/10-whenElse.ts +28 -0
  213. package/docs/API/10-lang/10-common/10-whenNot.ts +57 -0
  214. package/docs/API/10-lang/10-common/index.llms.md +232 -0
  215. package/docs/API/10-lang/10-common/index.md +3 -0
  216. package/docs/API/10-lang/10-dataStructure/10-absolutePath.ts +25 -0
  217. package/docs/API/10-lang/10-dataStructure/10-allowedCharacters.ts +25 -0
  218. package/docs/API/10-lang/10-dataStructure/10-array.ts +23 -0
  219. package/docs/API/10-lang/10-dataStructure/10-arrayLengthEqual.ts +25 -0
  220. package/docs/API/10-lang/10-dataStructure/10-betweenThan.ts +25 -0
  221. package/docs/API/10-lang/10-dataStructure/10-betweenThanOrEqual.ts +25 -0
  222. package/docs/API/10-lang/10-dataStructure/10-bigint.ts +22 -0
  223. package/docs/API/10-lang/10-dataStructure/10-boolean.ts +22 -0
  224. package/docs/API/10-lang/10-dataStructure/10-createCodec.ts +45 -0
  225. package/docs/API/10-lang/10-dataStructure/10-createCodecs.ts +134 -0
  226. package/docs/API/10-lang/10-dataStructure/10-createErrorInterpreter.ts +74 -0
  227. package/docs/API/10-lang/10-dataStructure/10-date.ts +23 -0
  228. package/docs/API/10-lang/10-dataStructure/10-email.ts +25 -0
  229. package/docs/API/10-lang/10-dataStructure/10-endsWith.ts +24 -0
  230. package/docs/API/10-lang/10-dataStructure/10-even.ts +25 -0
  231. package/docs/API/10-lang/10-dataStructure/10-extend.ts +27 -0
  232. package/docs/API/10-lang/10-dataStructure/10-greaterThan.ts +25 -0
  233. package/docs/API/10-lang/10-dataStructure/10-greaterThanOrEqual.ts +25 -0
  234. package/docs/API/10-lang/10-dataStructure/10-include.ts +24 -0
  235. package/docs/API/10-lang/10-dataStructure/10-integer.ts +25 -0
  236. package/docs/API/10-lang/10-dataStructure/10-isNullStructure.ts +12 -0
  237. package/docs/API/10-lang/10-dataStructure/10-isNullable.ts +12 -0
  238. package/docs/API/10-lang/10-dataStructure/10-isOptional.ts +12 -0
  239. package/docs/API/10-lang/10-dataStructure/10-isUndefinedStructure.ts +12 -0
  240. package/docs/API/10-lang/10-dataStructure/10-lazy.ts +23 -0
  241. package/docs/API/10-lang/10-dataStructure/10-lessThan.ts +25 -0
  242. package/docs/API/10-lang/10-dataStructure/10-lessThanOrEqual.ts +25 -0
  243. package/docs/API/10-lang/10-dataStructure/10-literal.ts +19 -0
  244. package/docs/API/10-lang/10-dataStructure/10-maxCharacters.ts +25 -0
  245. package/docs/API/10-lang/10-dataStructure/10-maxElements.ts +25 -0
  246. package/docs/API/10-lang/10-dataStructure/10-minCharacters.ts +25 -0
  247. package/docs/API/10-lang/10-dataStructure/10-minElements.ts +25 -0
  248. package/docs/API/10-lang/10-dataStructure/10-multipleOf.ts +25 -0
  249. package/docs/API/10-lang/10-dataStructure/10-negative.ts +25 -0
  250. package/docs/API/10-lang/10-dataStructure/10-notEmpty.ts +25 -0
  251. package/docs/API/10-lang/10-dataStructure/10-notZero.ts +25 -0
  252. package/docs/API/10-lang/10-dataStructure/10-null.ts +22 -0
  253. package/docs/API/10-lang/10-dataStructure/10-nullable.ts +19 -0
  254. package/docs/API/10-lang/10-dataStructure/10-number.ts +22 -0
  255. package/docs/API/10-lang/10-dataStructure/10-numberInString.ts +25 -0
  256. package/docs/API/10-lang/10-dataStructure/10-object.ts +25 -0
  257. package/docs/API/10-lang/10-dataStructure/10-odd.ts +25 -0
  258. package/docs/API/10-lang/10-dataStructure/10-optional.ts +19 -0
  259. package/docs/API/10-lang/10-dataStructure/10-partial.ts +23 -0
  260. package/docs/API/10-lang/10-dataStructure/10-path.ts +25 -0
  261. package/docs/API/10-lang/10-dataStructure/10-positive.ts +25 -0
  262. package/docs/API/10-lang/10-dataStructure/10-record.ts +22 -0
  263. package/docs/API/10-lang/10-dataStructure/10-refine.ts +27 -0
  264. package/docs/API/10-lang/10-dataStructure/10-regex.ts +24 -0
  265. package/docs/API/10-lang/10-dataStructure/10-required.ts +21 -0
  266. package/docs/API/10-lang/10-dataStructure/10-safe.ts +25 -0
  267. package/docs/API/10-lang/10-dataStructure/10-segmentPath.ts +25 -0
  268. package/docs/API/10-lang/10-dataStructure/10-startsWith.ts +24 -0
  269. package/docs/API/10-lang/10-dataStructure/10-strictNegative.ts +25 -0
  270. package/docs/API/10-lang/10-dataStructure/10-strictPositive.ts +25 -0
  271. package/docs/API/10-lang/10-dataStructure/10-string.ts +22 -0
  272. package/docs/API/10-lang/10-dataStructure/10-stringLengthEqual.ts +25 -0
  273. package/docs/API/10-lang/10-dataStructure/10-time.ts +23 -0
  274. package/docs/API/10-lang/10-dataStructure/10-trimmed.ts +25 -0
  275. package/docs/API/10-lang/10-dataStructure/10-typeStructureIdentifier.ts +33 -0
  276. package/docs/API/10-lang/10-dataStructure/10-undefined.ts +22 -0
  277. package/docs/API/10-lang/10-dataStructure/10-union.ts +24 -0
  278. package/docs/API/10-lang/10-dataStructure/10-unwrapLazy.ts +17 -0
  279. package/docs/API/10-lang/10-dataStructure/10-url.ts +25 -0
  280. package/docs/API/10-lang/10-dataStructure/10-uuid.ts +25 -0
  281. package/docs/API/10-lang/10-dataStructure/index.llms.md +264 -0
  282. package/docs/API/10-lang/10-dataStructure/index.md +3 -0
  283. package/docs/API/10-lang/10-either/10-asyncGroup.ts +44 -0
  284. package/docs/API/10-lang/10-either/10-asyncSafeCallback.ts +25 -0
  285. package/docs/API/10-lang/10-either/10-error.ts +12 -0
  286. package/docs/API/10-lang/10-either/10-expect.ts +13 -0
  287. package/docs/API/10-lang/10-either/10-extractErrorInLeft.ts +45 -0
  288. package/docs/API/10-lang/10-either/10-fail.ts +12 -0
  289. package/docs/API/10-lang/10-either/10-forwardAssertsSelection.ts +28 -0
  290. package/docs/API/10-lang/10-either/10-group.ts +58 -0
  291. package/docs/API/10-lang/10-either/10-hasInformation.ts +30 -0
  292. package/docs/API/10-lang/10-either/10-isLeft.ts +25 -0
  293. package/docs/API/10-lang/10-either/10-isRight.ts +25 -0
  294. package/docs/API/10-lang/10-either/10-isSelected.ts +41 -0
  295. package/docs/API/10-lang/10-either/10-keepAsRightByInformation.ts +29 -0
  296. package/docs/API/10-lang/10-either/10-keepAsRightSelection.ts +23 -0
  297. package/docs/API/10-lang/10-either/10-left.ts +13 -0
  298. package/docs/API/10-lang/10-either/10-matchInformation.ts +28 -0
  299. package/docs/API/10-lang/10-either/10-matchInformationCombination.ts +61 -0
  300. package/docs/API/10-lang/10-either/10-matchInformationCombinationOtherwise.ts +62 -0
  301. package/docs/API/10-lang/10-either/10-matchInformationOtherwise.ts +29 -0
  302. package/docs/API/10-lang/10-either/10-none.ts +12 -0
  303. package/docs/API/10-lang/10-either/10-ok.ts +12 -0
  304. package/docs/API/10-lang/10-either/10-result.ts +18 -0
  305. package/docs/API/10-lang/10-either/10-rewriteInformation.ts +24 -0
  306. package/docs/API/10-lang/10-either/10-right.ts +13 -0
  307. package/docs/API/10-lang/10-either/10-rightAsyncPipe.ts +70 -0
  308. package/docs/API/10-lang/10-either/10-rightPipe.ts +72 -0
  309. package/docs/API/10-lang/10-either/10-safeCallback.ts +29 -0
  310. package/docs/API/10-lang/10-either/10-some.ts +12 -0
  311. package/docs/API/10-lang/10-either/10-success.ts +12 -0
  312. package/docs/API/10-lang/10-either/10-toMaybe.ts +53 -0
  313. package/docs/API/10-lang/10-either/10-unwrapByInformation.ts +20 -0
  314. package/docs/API/10-lang/10-either/10-unwrapByInformationOrThrow.ts +19 -0
  315. package/docs/API/10-lang/10-either/10-unwrapLeft.ts +14 -0
  316. package/docs/API/10-lang/10-either/10-unwrapLeftOrThrow.ts +17 -0
  317. package/docs/API/10-lang/10-either/10-unwrapOr.ts +17 -0
  318. package/docs/API/10-lang/10-either/10-unwrapOtherwise.ts +20 -0
  319. package/docs/API/10-lang/10-either/10-unwrapRight.ts +14 -0
  320. package/docs/API/10-lang/10-either/10-unwrapRightOrThrow.ts +17 -0
  321. package/docs/API/10-lang/10-either/10-unwrapSelection.ts +26 -0
  322. package/docs/API/10-lang/10-either/10-unwrapSelectionOrThrow.ts +19 -0
  323. package/docs/API/10-lang/10-either/10-whenHasInformation.ts +36 -0
  324. package/docs/API/10-lang/10-either/10-whenHasInformationOtherwise.ts +29 -0
  325. package/docs/API/10-lang/10-either/10-whenIsLeft.ts +20 -0
  326. package/docs/API/10-lang/10-either/10-whenIsLeftOtherwise.ts +27 -0
  327. package/docs/API/10-lang/10-either/10-whenIsRight.ts +20 -0
  328. package/docs/API/10-lang/10-either/10-whenIsRightOtherwise.ts +26 -0
  329. package/docs/API/10-lang/10-either/10-whenIsSelected.ts +33 -0
  330. package/docs/API/10-lang/10-either/10-whenIsSelectedOtherwise.ts +35 -0
  331. package/docs/API/10-lang/10-either/index.llms.md +196 -0
  332. package/docs/API/10-lang/10-either/index.md +3 -0
  333. package/docs/API/10-lang/10-generator/10-asyncChunk.ts +55 -0
  334. package/docs/API/10-lang/10-generator/10-asyncConcat.ts +43 -0
  335. package/docs/API/10-lang/10-generator/10-asyncFilter.ts +41 -0
  336. package/docs/API/10-lang/10-generator/10-asyncFlat.ts +37 -0
  337. package/docs/API/10-lang/10-generator/10-asyncGroup.ts +65 -0
  338. package/docs/API/10-lang/10-generator/10-asyncLoop.ts +59 -0
  339. package/docs/API/10-lang/10-generator/10-asyncMap.ts +48 -0
  340. package/docs/API/10-lang/10-generator/10-asyncReduce.ts +63 -0
  341. package/docs/API/10-lang/10-generator/10-chunk.ts +44 -0
  342. package/docs/API/10-lang/10-generator/10-concat.ts +37 -0
  343. package/docs/API/10-lang/10-generator/10-createExternalAsyncGenerator.ts +29 -0
  344. package/docs/API/10-lang/10-generator/10-execute.ts +44 -0
  345. package/docs/API/10-lang/10-generator/10-filter.ts +35 -0
  346. package/docs/API/10-lang/10-generator/10-flat.ts +25 -0
  347. package/docs/API/10-lang/10-generator/10-group.ts +44 -0
  348. package/docs/API/10-lang/10-generator/10-groupOutput.ts +48 -0
  349. package/docs/API/10-lang/10-generator/10-loop.ts +55 -0
  350. package/docs/API/10-lang/10-generator/10-map.ts +35 -0
  351. package/docs/API/10-lang/10-generator/10-reduce.ts +51 -0
  352. package/docs/API/10-lang/10-generator/10-reduceFrom.ts +30 -0
  353. package/docs/API/10-lang/10-generator/index.llms.md +84 -0
  354. package/docs/API/10-lang/10-generator/index.md +3 -0
  355. package/docs/API/10-lang/10-number/10-betweenThan.ts +43 -0
  356. package/docs/API/10-lang/10-number/10-betweenThanOrEqual.ts +43 -0
  357. package/docs/API/10-lang/10-number/10-greaterThan.ts +35 -0
  358. package/docs/API/10-lang/10-number/10-greaterThanOrEqual.ts +35 -0
  359. package/docs/API/10-lang/10-number/10-isEven.ts +33 -0
  360. package/docs/API/10-lang/10-number/10-isInteger.ts +33 -0
  361. package/docs/API/10-lang/10-number/10-isMultipleOf.ts +35 -0
  362. package/docs/API/10-lang/10-number/10-isNegative.ts +33 -0
  363. package/docs/API/10-lang/10-number/10-isNotZero.ts +33 -0
  364. package/docs/API/10-lang/10-number/10-isOdd.ts +33 -0
  365. package/docs/API/10-lang/10-number/10-isPositive.ts +33 -0
  366. package/docs/API/10-lang/10-number/10-isSafe.ts +33 -0
  367. package/docs/API/10-lang/10-number/10-isStrictNegative.ts +34 -0
  368. package/docs/API/10-lang/10-number/10-isStrictPositive.ts +33 -0
  369. package/docs/API/10-lang/10-number/10-lessThan.ts +35 -0
  370. package/docs/API/10-lang/10-number/10-lessThanOrEqual.ts +35 -0
  371. package/docs/API/10-lang/10-number/10-max.ts +19 -0
  372. package/docs/API/10-lang/10-number/10-maxOf.ts +19 -0
  373. package/docs/API/10-lang/10-number/10-min.ts +19 -0
  374. package/docs/API/10-lang/10-number/10-minOf.ts +19 -0
  375. package/docs/API/10-lang/10-number/10-sort.ts +19 -0
  376. package/docs/API/10-lang/10-number/10-sum.ts +19 -0
  377. package/docs/API/10-lang/10-number/index.llms.md +92 -0
  378. package/docs/API/10-lang/10-number/index.md +3 -0
  379. package/docs/API/10-lang/10-object/10-assign.ts +41 -0
  380. package/docs/API/10-lang/10-object/10-countKeys.ts +15 -0
  381. package/docs/API/10-lang/10-object/10-deepDiscriminate.ts +63 -0
  382. package/docs/API/10-lang/10-object/10-deepOverride.ts +35 -0
  383. package/docs/API/10-lang/10-object/10-discriminate.ts +55 -0
  384. package/docs/API/10-lang/10-object/10-discriminateEntryKey.ts +43 -0
  385. package/docs/API/10-lang/10-object/10-discriminateEntryValue.ts +44 -0
  386. package/docs/API/10-lang/10-object/10-entries.ts +19 -0
  387. package/docs/API/10-lang/10-object/10-entry.ts +17 -0
  388. package/docs/API/10-lang/10-object/10-fromEntries.ts +23 -0
  389. package/docs/API/10-lang/10-object/10-getDeepProperty.ts +26 -0
  390. package/docs/API/10-lang/10-object/10-getProperty.ts +24 -0
  391. package/docs/API/10-lang/10-object/10-hasKeys.ts +43 -0
  392. package/docs/API/10-lang/10-object/10-isSimple.ts +38 -0
  393. package/docs/API/10-lang/10-object/10-keys.ts +19 -0
  394. package/docs/API/10-lang/10-object/10-omit.ts +39 -0
  395. package/docs/API/10-lang/10-object/10-override.ts +24 -0
  396. package/docs/API/10-lang/10-object/10-pick.ts +41 -0
  397. package/docs/API/10-lang/10-object/10-to.ts +40 -0
  398. package/docs/API/10-lang/10-object/10-transformProperties.ts +43 -0
  399. package/docs/API/10-lang/10-object/10-transformProperty.ts +39 -0
  400. package/docs/API/10-lang/10-object/10-values.ts +19 -0
  401. package/docs/API/10-lang/10-object/index.llms.md +92 -0
  402. package/docs/API/10-lang/10-object/index.md +3 -0
  403. package/docs/API/10-lang/10-path/10-computeRelative.ts +19 -0
  404. package/docs/API/10-lang/10-path/10-concatSegment.ts +28 -0
  405. package/docs/API/10-lang/10-path/10-create.ts +21 -0
  406. package/docs/API/10-lang/10-path/10-createAbsolute.ts +21 -0
  407. package/docs/API/10-lang/10-path/10-createAbsoluteOrThrow.ts +16 -0
  408. package/docs/API/10-lang/10-path/10-createMatcher.ts +50 -0
  409. package/docs/API/10-lang/10-path/10-createOrThrow.ts +16 -0
  410. package/docs/API/10-lang/10-path/10-createSegment.ts +26 -0
  411. package/docs/API/10-lang/10-path/10-createSegmentOrThrow.ts +16 -0
  412. package/docs/API/10-lang/10-path/10-declareAbsolutePath.ts +15 -0
  413. package/docs/API/10-lang/10-path/10-declarePath.ts +15 -0
  414. package/docs/API/10-lang/10-path/10-declareSegment.ts +15 -0
  415. package/docs/API/10-lang/10-path/10-getBaseName.ts +22 -0
  416. package/docs/API/10-lang/10-path/10-getExtensionName.ts +22 -0
  417. package/docs/API/10-lang/10-path/10-getParentFolderPath.ts +25 -0
  418. package/docs/API/10-lang/10-path/10-is.ts +46 -0
  419. package/docs/API/10-lang/10-path/10-isAbsolute.ts +46 -0
  420. package/docs/API/10-lang/10-path/10-isSegment.ts +42 -0
  421. package/docs/API/10-lang/10-path/10-normalize.ts +26 -0
  422. package/docs/API/10-lang/10-path/10-resolveFrom.ts +37 -0
  423. package/docs/API/10-lang/10-path/10-resolveRelative.ts +23 -0
  424. package/docs/API/10-lang/10-path/index.llms.md +88 -0
  425. package/docs/API/10-lang/10-path/index.md +3 -0
  426. package/docs/API/10-lang/10-pattern/10-exhaustive.ts +26 -0
  427. package/docs/API/10-lang/10-pattern/10-isMatch.ts +72 -0
  428. package/docs/API/10-lang/10-pattern/10-match.ts +133 -0
  429. package/docs/API/10-lang/10-pattern/10-matchWithEntity.ts +49 -0
  430. package/docs/API/10-lang/10-pattern/10-matchWithEntityOtherwise.ts +55 -0
  431. package/docs/API/10-lang/10-pattern/10-matchWithError.ts +45 -0
  432. package/docs/API/10-lang/10-pattern/10-matchWithErrorOtherwise.ts +48 -0
  433. package/docs/API/10-lang/10-pattern/10-matchWithFact.ts +49 -0
  434. package/docs/API/10-lang/10-pattern/10-matchWithFactOtherwise.ts +49 -0
  435. package/docs/API/10-lang/10-pattern/10-matchWithNumber.ts +33 -0
  436. package/docs/API/10-lang/10-pattern/10-matchWithNumberOtherwise.ts +37 -0
  437. package/docs/API/10-lang/10-pattern/10-matchWithString.ts +34 -0
  438. package/docs/API/10-lang/10-pattern/10-matchWithStringOtherwise.ts +35 -0
  439. package/docs/API/10-lang/10-pattern/10-matchWithTaggedObject.ts +43 -0
  440. package/docs/API/10-lang/10-pattern/10-matchWithTaggedObjectOtherwise.ts +49 -0
  441. package/docs/API/10-lang/10-pattern/10-otherwise.ts +28 -0
  442. package/docs/API/10-lang/10-pattern/10-union.ts +47 -0
  443. package/docs/API/10-lang/10-pattern/10-when.ts +46 -0
  444. package/docs/API/10-lang/10-pattern/10-whenNot.ts +123 -0
  445. package/docs/API/10-lang/10-pattern/index.llms.md +80 -0
  446. package/docs/API/10-lang/10-pattern/index.md +3 -0
  447. package/docs/API/10-lang/10-printer/10-bold.ts +12 -0
  448. package/docs/API/10-lang/10-printer/10-colorized.ts +18 -0
  449. package/docs/API/10-lang/10-printer/10-colorizedBold.ts +18 -0
  450. package/docs/API/10-lang/10-printer/10-indent.ts +20 -0
  451. package/docs/API/10-lang/10-printer/10-primitives.md +11 -0
  452. package/docs/API/10-lang/10-printer/10-render.ts +29 -0
  453. package/docs/API/10-lang/10-printer/10-renderLine.ts +12 -0
  454. package/docs/API/10-lang/10-printer/10-renderParagraph.ts +16 -0
  455. package/docs/API/10-lang/10-printer/index.llms.md +37 -0
  456. package/docs/API/10-lang/10-printer/index.md +3 -0
  457. package/docs/API/10-lang/10-string/10-at.ts +18 -0
  458. package/docs/API/10-lang/10-string/10-capitalize.ts +18 -0
  459. package/docs/API/10-lang/10-string/10-charAt.ts +18 -0
  460. package/docs/API/10-lang/10-string/10-concat.ts +18 -0
  461. package/docs/API/10-lang/10-string/10-endsWith.ts +33 -0
  462. package/docs/API/10-lang/10-string/10-extract.ts +18 -0
  463. package/docs/API/10-lang/10-string/10-extractAll.ts +18 -0
  464. package/docs/API/10-lang/10-string/10-first.ts +17 -0
  465. package/docs/API/10-lang/10-string/10-includes.ts +33 -0
  466. package/docs/API/10-lang/10-string/10-indexOf.ts +17 -0
  467. package/docs/API/10-lang/10-string/10-isComposedOf.ts +33 -0
  468. package/docs/API/10-lang/10-string/10-isEmail.ts +56 -0
  469. package/docs/API/10-lang/10-string/10-isIn.ts +34 -0
  470. package/docs/API/10-lang/10-string/10-isKeyof.ts +37 -0
  471. package/docs/API/10-lang/10-string/10-isNotEmpty.ts +32 -0
  472. package/docs/API/10-lang/10-string/10-isNumber.ts +32 -0
  473. package/docs/API/10-lang/10-string/10-isTrimmed.ts +33 -0
  474. package/docs/API/10-lang/10-string/10-isUrl.ts +31 -0
  475. package/docs/API/10-lang/10-string/10-isUuid.ts +31 -0
  476. package/docs/API/10-lang/10-string/10-join.ts +18 -0
  477. package/docs/API/10-lang/10-string/10-last.ts +17 -0
  478. package/docs/API/10-lang/10-string/10-lastIndexOf.ts +17 -0
  479. package/docs/API/10-lang/10-string/10-length.ts +18 -0
  480. package/docs/API/10-lang/10-string/10-lengthEqual.ts +33 -0
  481. package/docs/API/10-lang/10-string/10-maxCharacters.ts +33 -0
  482. package/docs/API/10-lang/10-string/10-minCharacters.ts +33 -0
  483. package/docs/API/10-lang/10-string/10-normalize.ts +17 -0
  484. package/docs/API/10-lang/10-string/10-padEnd.ts +17 -0
  485. package/docs/API/10-lang/10-string/10-padStart.ts +17 -0
  486. package/docs/API/10-lang/10-string/10-pop.ts +17 -0
  487. package/docs/API/10-lang/10-string/10-prepend.ts +17 -0
  488. package/docs/API/10-lang/10-string/10-repeat.ts +17 -0
  489. package/docs/API/10-lang/10-string/10-replace.ts +18 -0
  490. package/docs/API/10-lang/10-string/10-replaceAll.ts +17 -0
  491. package/docs/API/10-lang/10-string/10-search.ts +17 -0
  492. package/docs/API/10-lang/10-string/10-shift.ts +17 -0
  493. package/docs/API/10-lang/10-string/10-slice.ts +17 -0
  494. package/docs/API/10-lang/10-string/10-sort.ts +19 -0
  495. package/docs/API/10-lang/10-string/10-sortCompare.ts +17 -0
  496. package/docs/API/10-lang/10-string/10-split.ts +34 -0
  497. package/docs/API/10-lang/10-string/10-startsWith.ts +33 -0
  498. package/docs/API/10-lang/10-string/10-stringify.ts +11 -0
  499. package/docs/API/10-lang/10-string/10-substring.ts +17 -0
  500. package/docs/API/10-lang/10-string/10-test.ts +17 -0
  501. package/docs/API/10-lang/10-string/10-to.ts +11 -0
  502. package/docs/API/10-lang/10-string/10-toLowerCase.ts +17 -0
  503. package/docs/API/10-lang/10-string/10-toUpperCase.ts +17 -0
  504. package/docs/API/10-lang/10-string/10-trim.ts +17 -0
  505. package/docs/API/10-lang/10-string/10-trimEnd.ts +17 -0
  506. package/docs/API/10-lang/10-string/10-trimStart.ts +17 -0
  507. package/docs/API/10-lang/10-string/10-uncapitalize.ts +17 -0
  508. package/docs/API/10-lang/10-string/index.llms.md +208 -0
  509. package/docs/API/10-lang/10-string/index.md +3 -0
  510. package/docs/API/10-lang/10-tuple/10-from.ts +50 -0
  511. package/docs/API/10-lang/10-tuple/10-map.ts +37 -0
  512. package/docs/API/10-lang/10-tuple/index.llms.md +12 -0
  513. package/docs/API/10-lang/10-tuple/index.md +3 -0
  514. package/docs/API/10-lang/index.md +3 -0
  515. package/docs/API/40-json-web-token/10-tokenHandler/10-createTokenHandler.ts +160 -0
  516. package/docs/API/40-json-web-token/10-tokenHandler/index.llms.md +8 -0
  517. package/docs/API/40-json-web-token/10-tokenHandler/index.md +3 -0
  518. package/docs/API/40-json-web-token/20-signer/10-createHS256.ts +24 -0
  519. package/docs/API/40-json-web-token/20-signer/10-createHS512.ts +24 -0
  520. package/docs/API/40-json-web-token/20-signer/10-createRS256.ts +28 -0
  521. package/docs/API/40-json-web-token/20-signer/10-createRS512.ts +28 -0
  522. package/docs/API/40-json-web-token/20-signer/10-factory.ts +29 -0
  523. package/docs/API/40-json-web-token/20-signer/index.llms.md +24 -0
  524. package/docs/API/40-json-web-token/20-signer/index.md +3 -0
  525. package/docs/API/40-json-web-token/30-cipher/10-createRSAOAEP.ts +26 -0
  526. package/docs/API/40-json-web-token/30-cipher/10-createRSAOAEP256.ts +26 -0
  527. package/docs/API/40-json-web-token/30-cipher/10-factory.ts +29 -0
  528. package/docs/API/40-json-web-token/30-cipher/index.llms.md +16 -0
  529. package/docs/API/40-json-web-token/30-cipher/index.md +3 -0
  530. package/docs/API/40-json-web-token/40-utils/10-AES_GCM.decrypt.ts +17 -0
  531. package/docs/API/40-json-web-token/40-utils/10-AES_GCM.encrypt.ts +11 -0
  532. package/docs/API/40-json-web-token/40-utils/10-AES_GCM.generateInitializationVector.ts +9 -0
  533. package/docs/API/40-json-web-token/40-utils/10-HMAC.sign.ts +13 -0
  534. package/docs/API/40-json-web-token/40-utils/10-HMAC.verify.ts +11 -0
  535. package/docs/API/40-json-web-token/40-utils/10-RSA.sign.ts +14 -0
  536. package/docs/API/40-json-web-token/40-utils/10-RSA.verify.ts +13 -0
  537. package/docs/API/40-json-web-token/40-utils/10-RSA_OAEP.decrypt.ts +13 -0
  538. package/docs/API/40-json-web-token/40-utils/10-RSA_OAEP.encrypt.ts +10 -0
  539. package/docs/API/40-json-web-token/40-utils/10-decodeBase64.ts +9 -0
  540. package/docs/API/40-json-web-token/40-utils/10-decodeBase64Url.ts +9 -0
  541. package/docs/API/40-json-web-token/40-utils/10-decodeText.ts +9 -0
  542. package/docs/API/40-json-web-token/40-utils/10-encodeBase64.ts +9 -0
  543. package/docs/API/40-json-web-token/40-utils/10-encodeBase64Url.ts +9 -0
  544. package/docs/API/40-json-web-token/40-utils/10-encodeText.ts +9 -0
  545. package/docs/API/40-json-web-token/40-utils/10-isBase64Url.ts +11 -0
  546. package/docs/API/40-json-web-token/40-utils/10-jsonParse.ts +11 -0
  547. package/docs/API/40-json-web-token/40-utils/10-pemToBinary.ts +11 -0
  548. package/docs/API/40-json-web-token/40-utils/index.llms.md +76 -0
  549. package/docs/API/40-json-web-token/40-utils/index.md +3 -0
  550. package/docs/API/40-json-web-token/index.md +3 -0
  551. package/docs/API/50-form/10-vue/10-construction/10-createForm.ts +48 -0
  552. package/docs/API/50-form/10-vue/10-construction/10-createFormField.ts +66 -0
  553. package/docs/API/50-form/10-vue/10-construction/10-createGridTemplates.ts +39 -0
  554. package/docs/API/50-form/10-vue/10-construction/10-createInput.ts +46 -0
  555. package/docs/API/50-form/10-vue/10-construction/10-createTemplate.ts +36 -0
  556. package/docs/API/50-form/10-vue/10-construction/fixtures/AddressInput.vue +19 -0
  557. package/docs/API/50-form/10-vue/10-construction/index.llms.md +24 -0
  558. package/docs/API/50-form/10-vue/10-construction/index.md +3 -0
  559. package/docs/API/50-form/10-vue/20-layouts/10-useCheckLayout.ts +40 -0
  560. package/docs/API/50-form/10-vue/20-layouts/10-useDisabledLayout.ts +34 -0
  561. package/docs/API/50-form/10-vue/20-layouts/10-useMultiLayout.ts +32 -0
  562. package/docs/API/50-form/10-vue/20-layouts/10-useRepeatLayout.ts +34 -0
  563. package/docs/API/50-form/10-vue/20-layouts/10-useSectionLayout.ts +20 -0
  564. package/docs/API/50-form/10-vue/20-layouts/10-useSlotLayout.ts +37 -0
  565. package/docs/API/50-form/10-vue/20-layouts/10-useStepLayout.ts +31 -0
  566. package/docs/API/50-form/10-vue/20-layouts/10-useUnionLayout.ts +48 -0
  567. package/docs/API/50-form/10-vue/20-layouts/index.llms.md +36 -0
  568. package/docs/API/50-form/10-vue/20-layouts/index.md +3 -0
  569. package/docs/API/50-form/10-vue/30-designSystem/10-useCheckbox.ts +13 -0
  570. package/docs/API/50-form/10-vue/30-designSystem/10-useCheckboxPolicy.ts +18 -0
  571. package/docs/API/50-form/10-vue/30-designSystem/10-useDateInput.ts +20 -0
  572. package/docs/API/50-form/10-vue/30-designSystem/10-useDualRangeInput.ts +27 -0
  573. package/docs/API/50-form/10-vue/30-designSystem/10-useFileInput.ts +23 -0
  574. package/docs/API/50-form/10-vue/30-designSystem/10-useNumberInput.ts +18 -0
  575. package/docs/API/50-form/10-vue/30-designSystem/10-useRadioGroup.ts +31 -0
  576. package/docs/API/50-form/10-vue/30-designSystem/10-useRangeDateInput.ts +23 -0
  577. package/docs/API/50-form/10-vue/30-designSystem/10-useRangeInput.ts +18 -0
  578. package/docs/API/50-form/10-vue/30-designSystem/10-useRangeTimeInput.ts +23 -0
  579. package/docs/API/50-form/10-vue/30-designSystem/10-useSelectInput.ts +31 -0
  580. package/docs/API/50-form/10-vue/30-designSystem/10-useTextInput.ts +14 -0
  581. package/docs/API/50-form/10-vue/30-designSystem/10-useTextareaInput.ts +14 -0
  582. package/docs/API/50-form/10-vue/30-designSystem/10-useTimeInput.ts +20 -0
  583. package/docs/API/50-form/10-vue/30-designSystem/20-components.md +11 -0
  584. package/docs/API/50-form/10-vue/30-designSystem/index.llms.md +65 -0
  585. package/docs/API/50-form/10-vue/30-designSystem/index.md +3 -0
  586. package/docs/API/50-form/10-vue/fixtures/templates.ts +20 -0
  587. package/docs/API/50-form/10-vue/index.md +3 -0
  588. package/docs/API/50-form/index.md +3 -0
  589. package/docs/API/60-playwright/10-construction/10-createComponent.ts +47 -0
  590. package/docs/API/60-playwright/10-construction/10-createComponentInteraction.ts +28 -0
  591. package/docs/API/60-playwright/10-construction/10-createPage.ts +34 -0
  592. package/docs/API/60-playwright/10-construction/10-createStepWrapper.ts +23 -0
  593. package/docs/API/60-playwright/10-construction/10-createWebsite.ts +57 -0
  594. package/docs/API/60-playwright/10-construction/10-initClient.ts +38 -0
  595. package/docs/API/60-playwright/10-construction/index.llms.md +28 -0
  596. package/docs/API/60-playwright/10-construction/index.md +3 -0
  597. package/docs/API/60-playwright/20-actions/10-check.ts +9 -0
  598. package/docs/API/60-playwright/20-actions/10-clear.ts +9 -0
  599. package/docs/API/60-playwright/20-actions/10-click.ts +9 -0
  600. package/docs/API/60-playwright/20-actions/10-dragTo.ts +10 -0
  601. package/docs/API/60-playwright/20-actions/10-extractContent.ts +10 -0
  602. package/docs/API/60-playwright/20-actions/10-fill.ts +9 -0
  603. package/docs/API/60-playwright/20-actions/10-focus.ts +9 -0
  604. package/docs/API/60-playwright/20-actions/10-forceClick.ts +10 -0
  605. package/docs/API/60-playwright/20-actions/10-hover.ts +9 -0
  606. package/docs/API/60-playwright/20-actions/10-press.ts +9 -0
  607. package/docs/API/60-playwright/20-actions/10-selectOption.ts +10 -0
  608. package/docs/API/60-playwright/20-actions/10-type.ts +10 -0
  609. package/docs/API/60-playwright/20-actions/10-uncheck.ts +9 -0
  610. package/docs/API/60-playwright/20-actions/10-withStep.ts +10 -0
  611. package/docs/API/60-playwright/20-actions/index.llms.md +60 -0
  612. package/docs/API/60-playwright/20-actions/index.md +3 -0
  613. package/docs/API/60-playwright/30-assertions/10-toBeBusy.ts +10 -0
  614. package/docs/API/60-playwright/30-assertions/10-toBeChecked.ts +9 -0
  615. package/docs/API/60-playwright/30-assertions/10-toBeDisabled.ts +9 -0
  616. package/docs/API/60-playwright/30-assertions/10-toBeEnabled.ts +9 -0
  617. package/docs/API/60-playwright/30-assertions/10-toBeHidden.ts +9 -0
  618. package/docs/API/60-playwright/30-assertions/10-toBeNotBusy.ts +10 -0
  619. package/docs/API/60-playwright/30-assertions/10-toBeVisible.ts +10 -0
  620. package/docs/API/60-playwright/30-assertions/10-toContainText.ts +9 -0
  621. package/docs/API/60-playwright/30-assertions/10-toHaveAttribute.ts +12 -0
  622. package/docs/API/60-playwright/30-assertions/10-toHaveClass.ts +9 -0
  623. package/docs/API/60-playwright/30-assertions/10-toHaveNoText.ts +10 -0
  624. package/docs/API/60-playwright/30-assertions/10-toHaveQuantity.ts +20 -0
  625. package/docs/API/60-playwright/30-assertions/10-toHaveText.ts +9 -0
  626. package/docs/API/60-playwright/30-assertions/10-toHaveValue.ts +9 -0
  627. package/docs/API/60-playwright/30-assertions/10-withStep.ts +10 -0
  628. package/docs/API/60-playwright/30-assertions/index.llms.md +64 -0
  629. package/docs/API/60-playwright/30-assertions/index.md +3 -0
  630. package/docs/API/60-playwright/fixtures/component.ts +44 -0
  631. package/docs/API/60-playwright/index.md +3 -0
  632. package/docs/API/index.md +3 -0
  633. package/docs/API.llms.md +115 -0
  634. package/docs/concepts/01-fundamental/01-constraint/01-use.ts +22 -0
  635. package/docs/concepts/01-fundamental/01-constraint/10-built-in-constraint.ts +37 -0
  636. package/docs/concepts/01-fundamental/01-constraint/20-manipulation.ts +41 -0
  637. package/docs/concepts/01-fundamental/01-constraint/30-cast.ts +66 -0
  638. package/docs/concepts/01-fundamental/01-constraint/40-custom-constraint.ts +45 -0
  639. package/docs/concepts/01-fundamental/01-constraint/index.md +3 -0
  640. package/docs/concepts/01-fundamental/02-currying/01-use.ts +38 -0
  641. package/docs/concepts/01-fundamental/02-currying/10-built-in-function.ts +190 -0
  642. package/docs/concepts/01-fundamental/02-currying/20-inner-pipe.ts +48 -0
  643. package/docs/concepts/01-fundamental/02-currying/30-async-pipe.ts +51 -0
  644. package/docs/concepts/01-fundamental/02-currying/index.md +3 -0
  645. package/docs/concepts/01-fundamental/03-either/01-use.ts +21 -0
  646. package/docs/concepts/01-fundamental/03-either/10-discrimination.ts +90 -0
  647. package/docs/concepts/01-fundamental/03-either/20-exhaustive-handling.ts +90 -0
  648. package/docs/concepts/01-fundamental/03-either/30-composition.ts +80 -0
  649. package/docs/concepts/01-fundamental/03-either/40-result-adaptation.ts +46 -0
  650. package/docs/concepts/01-fundamental/03-either/50-external-results.ts +72 -0
  651. package/docs/concepts/01-fundamental/03-either/60-contextual-state.ts +40 -0
  652. package/docs/concepts/01-fundamental/03-either/index.md +3 -0
  653. package/docs/concepts/01-fundamental/04-data-structure/01-use.ts +22 -0
  654. package/docs/concepts/01-fundamental/04-data-structure/10-structure.ts +244 -0
  655. package/docs/concepts/01-fundamental/04-data-structure/20-constraint.ts +86 -0
  656. package/docs/concepts/01-fundamental/04-data-structure/30-validation.ts +104 -0
  657. package/docs/concepts/01-fundamental/04-data-structure/40-codecs.ts +162 -0
  658. package/docs/concepts/01-fundamental/04-data-structure/50-recursive.ts +57 -0
  659. package/docs/concepts/01-fundamental/04-data-structure/60-interpret-error.ts +123 -0
  660. package/docs/concepts/01-fundamental/04-data-structure/index.md +3 -0
  661. package/docs/concepts/01-fundamental/05-chrono/01-use.ts +14 -0
  662. package/docs/concepts/01-fundamental/05-chrono/10-creation.ts +85 -0
  663. package/docs/concepts/01-fundamental/05-chrono/20-manipulation.ts +110 -0
  664. package/docs/concepts/01-fundamental/05-chrono/30-serialized.ts +89 -0
  665. package/docs/concepts/01-fundamental/05-chrono/40-timezone.ts +85 -0
  666. package/docs/concepts/01-fundamental/05-chrono/index.md +3 -0
  667. package/docs/concepts/01-fundamental/06-modeling/10-new-type.ts +42 -0
  668. package/docs/concepts/01-fundamental/06-modeling/20-entity.ts +191 -0
  669. package/docs/concepts/01-fundamental/06-modeling/30-tagged-object.ts +204 -0
  670. package/docs/concepts/01-fundamental/06-modeling/40-entity-lifecycle.ts +272 -0
  671. package/docs/concepts/01-fundamental/06-modeling/50-evidence.ts +94 -0
  672. package/docs/concepts/01-fundamental/06-modeling/60-signed-function.ts +26 -0
  673. package/docs/concepts/01-fundamental/06-modeling/index.md +3 -0
  674. package/docs/concepts/01-fundamental/07-discrimination/10-entity.ts +136 -0
  675. package/docs/concepts/01-fundamental/07-discrimination/20-fact.ts +158 -0
  676. package/docs/concepts/01-fundamental/07-discrimination/30-tagged-object.ts +137 -0
  677. package/docs/concepts/01-fundamental/07-discrimination/40-error.ts +73 -0
  678. package/docs/concepts/01-fundamental/07-discrimination/50-literal.ts +106 -0
  679. package/docs/concepts/01-fundamental/07-discrimination/60-shape.ts +160 -0
  680. package/docs/concepts/01-fundamental/07-discrimination/70-predicate.ts +101 -0
  681. package/docs/concepts/01-fundamental/07-discrimination/index.md +3 -0
  682. package/docs/concepts/01-fundamental/08-kind/01-identity.md +7 -0
  683. package/docs/concepts/01-fundamental/08-kind/20-metadata.md +11 -0
  684. package/docs/concepts/01-fundamental/08-kind/30-transport.md +11 -0
  685. package/docs/concepts/01-fundamental/08-kind/index.md +3 -0
  686. package/docs/concepts/01-fundamental/index.md +1 -0
  687. package/docs/concepts/02-server/10-file/10-manipulation.ts +52 -0
  688. package/docs/concepts/02-server/10-file/20-path.ts +72 -0
  689. package/docs/concepts/02-server/10-file/index.md +3 -0
  690. package/docs/concepts/02-server/20-http/10-init.ts +23 -0
  691. package/docs/concepts/02-server/20-http/20-route.ts +182 -0
  692. package/docs/concepts/02-server/20-http/30-routine.ts +188 -0
  693. package/docs/concepts/02-server/20-http/40-jwt.ts +149 -0
  694. package/docs/concepts/02-server/20-http/50-open-api.ts +44 -0
  695. package/docs/concepts/02-server/20-http/index.md +3 -0
  696. package/docs/concepts/02-server/30-environment/10-platform.ts +47 -0
  697. package/docs/concepts/02-server/30-environment/20-variable.ts +47 -0
  698. package/docs/concepts/02-server/30-environment/index.md +3 -0
  699. package/docs/concepts/02-server/40-command/10-use.ts +112 -0
  700. package/docs/concepts/02-server/40-command/20-sub-command.ts +48 -0
  701. package/docs/concepts/02-server/40-command/index.md +3 -0
  702. package/docs/concepts/02-server/index.md +1 -0
  703. package/docs/concepts/03-client/10-http/10-init.ts +52 -0
  704. package/docs/concepts/03-client/10-http/20-request.ts +254 -0
  705. package/docs/concepts/03-client/10-http/30-hook.ts +139 -0
  706. package/docs/concepts/03-client/10-http/index.md +3 -0
  707. package/docs/concepts/03-client/20-form/10-init.ts +98 -0
  708. package/docs/concepts/03-client/20-form/20-input.ts +103 -0
  709. package/docs/concepts/03-client/20-form/30-layout.ts +155 -0
  710. package/docs/concepts/03-client/20-form/40-template.ts +94 -0
  711. package/docs/concepts/03-client/20-form/50-integration.md +11 -0
  712. package/docs/concepts/03-client/20-form/examples/postModeration/ThePage.vue +32 -0
  713. package/docs/concepts/03-client/20-form/examples/postModeration/usePostModeration.ts +80 -0
  714. package/docs/concepts/03-client/20-form/index.md +3 -0
  715. package/docs/concepts/03-client/index.md +1 -0
  716. package/docs/concepts/04-tests/01-unit/10-either.ts +136 -0
  717. package/docs/concepts/04-tests/01-unit/20-server-mocking.ts +53 -0
  718. package/docs/concepts/04-tests/01-unit/index.md +3 -0
  719. package/docs/concepts/04-tests/02-e2e/10-init.ts +80 -0
  720. package/docs/concepts/04-tests/02-e2e/20-architecture.ts +76 -0
  721. package/docs/concepts/04-tests/02-e2e/30-testing.ts +90 -0
  722. package/docs/concepts/04-tests/02-e2e/index.md +3 -0
  723. package/docs/concepts/04-tests/index.md +1 -0
  724. package/docs/concepts/05-type-driven-design/01-architecture/10-boundaries.md +44 -0
  725. package/docs/concepts/05-type-driven-design/01-architecture/index.md +3 -0
  726. package/docs/concepts/05-type-driven-design/02-domains/10-entities.md +50 -0
  727. package/docs/concepts/05-type-driven-design/02-domains/20-aggregates.md +65 -0
  728. package/docs/concepts/05-type-driven-design/02-domains/30-repositories.md +35 -0
  729. package/docs/concepts/05-type-driven-design/02-domains/40-refinements.md +30 -0
  730. package/docs/concepts/05-type-driven-design/02-domains/index.md +3 -0
  731. package/docs/concepts/05-type-driven-design/03-applications/10-use-case.md +62 -0
  732. package/docs/concepts/05-type-driven-design/03-applications/20-ports.md +49 -0
  733. package/docs/concepts/05-type-driven-design/03-applications/index.md +3 -0
  734. package/docs/concepts/05-type-driven-design/04-infrastructure/10-implementation.md +47 -0
  735. package/docs/concepts/05-type-driven-design/04-infrastructure/index.md +3 -0
  736. package/docs/concepts/05-type-driven-design/fixtures/business/applications/index.ts +2 -0
  737. package/docs/concepts/05-type-driven-design/fixtures/business/applications/ports/book.ts +10 -0
  738. package/docs/concepts/05-type-driven-design/fixtures/business/applications/ports/client.ts +10 -0
  739. package/docs/concepts/05-type-driven-design/fixtures/business/applications/ports/email.ts +7 -0
  740. package/docs/concepts/05-type-driven-design/fixtures/business/applications/ports/index.ts +4 -0
  741. package/docs/concepts/05-type-driven-design/fixtures/business/applications/ports/waitingListEntry.ts +17 -0
  742. package/docs/concepts/05-type-driven-design/fixtures/business/applications/useCases/clientGiveBackBook.ts +45 -0
  743. package/docs/concepts/05-type-driven-design/fixtures/business/applications/useCases/clientRentBook.ts +31 -0
  744. package/docs/concepts/05-type-driven-design/fixtures/business/applications/useCases/createBook.ts +32 -0
  745. package/docs/concepts/05-type-driven-design/fixtures/business/applications/useCases/index.ts +4 -0
  746. package/docs/concepts/05-type-driven-design/fixtures/business/applications/useCases/withdrawBook.ts +32 -0
  747. package/docs/concepts/05-type-driven-design/fixtures/business/domains/aggregates/clientGiveBackBook.ts +74 -0
  748. package/docs/concepts/05-type-driven-design/fixtures/business/domains/aggregates/clientRentBook.ts +42 -0
  749. package/docs/concepts/05-type-driven-design/fixtures/business/domains/aggregates/createBook.ts +33 -0
  750. package/docs/concepts/05-type-driven-design/fixtures/business/domains/aggregates/index.ts +4 -0
  751. package/docs/concepts/05-type-driven-design/fixtures/business/domains/aggregates/withdrawBook.ts +37 -0
  752. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/book/facts/create.ts +33 -0
  753. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/book/facts/index.ts +5 -0
  754. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/book/facts/rental.ts +31 -0
  755. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/book/facts/reserve.ts +37 -0
  756. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/book/facts/returnBook.ts +32 -0
  757. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/book/facts/withdraw.ts +21 -0
  758. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/book/index.ts +118 -0
  759. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/client/facts/giveBackBook.ts +35 -0
  760. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/client/facts/index.ts +2 -0
  761. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/client/facts/rentBook.ts +32 -0
  762. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/client/index.ts +59 -0
  763. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/index.ts +3 -0
  764. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/waitingListEntry/facts/cancel.ts +26 -0
  765. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/waitingListEntry/facts/create.ts +33 -0
  766. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/waitingListEntry/facts/index.ts +3 -0
  767. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/waitingListEntry/facts/prepare.ts +23 -0
  768. package/docs/concepts/05-type-driven-design/fixtures/business/domains/entities/waitingListEntry/index.ts +79 -0
  769. package/docs/concepts/05-type-driven-design/fixtures/business/domains/index.ts +4 -0
  770. package/docs/concepts/05-type-driven-design/fixtures/business/domains/refinements/index.ts +1 -0
  771. package/docs/concepts/05-type-driven-design/fixtures/business/domains/refinements/refineLinkBetweenClientAndBorrowedBook.ts +34 -0
  772. package/docs/concepts/05-type-driven-design/fixtures/business/domains/repositories/book.ts +16 -0
  773. package/docs/concepts/05-type-driven-design/fixtures/business/domains/repositories/client.ts +7 -0
  774. package/docs/concepts/05-type-driven-design/fixtures/business/domains/repositories/email.ts +12 -0
  775. package/docs/concepts/05-type-driven-design/fixtures/business/domains/repositories/index.ts +4 -0
  776. package/docs/concepts/05-type-driven-design/fixtures/business/domains/repositories/waitingListEntry.ts +19 -0
  777. package/docs/concepts/05-type-driven-design/fixtures/business/index.ts +2 -0
  778. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/command/clientRentBook.ts +62 -0
  779. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/command/index.ts +11 -0
  780. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/http/checkers/bookExist.ts +19 -0
  781. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/http/checkers/clientExist.ts +19 -0
  782. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/http/checkers/index.ts +2 -0
  783. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/http/main.ts +19 -0
  784. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/http/routes/clientGiveBackBook.ts +46 -0
  785. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/http/routes/clientRentBook.ts +45 -0
  786. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/http/routes/index.ts +2 -0
  787. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/ports/book.ts +25 -0
  788. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/ports/client.ts +7 -0
  789. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/ports/email.ts +10 -0
  790. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/ports/index.ts +4 -0
  791. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/ports/waitingListEntry.ts +17 -0
  792. package/docs/concepts/05-type-driven-design/fixtures/infrastructure/useCases/index.ts +13 -0
  793. package/docs/concepts/05-type-driven-design/index.md +3 -0
  794. package/docs/concepts.llms.md +521 -0
  795. package/instructions/coding-conventions.md +8 -0
  796. package/package.json +99 -3
  797. package/skills/command/SKILL.md +63 -0
  798. package/skills/command/references/examples/cli.ts +22 -0
  799. package/skills/command/references/examples/options-only.ts +27 -0
  800. package/skills/command/references/examples/preview-command.ts +57 -0
  801. package/skills/command/references/execution.md +31 -0
  802. package/skills/command/references/inputs.md +27 -0
  803. package/skills/fundamental/SKILL.md +80 -0
  804. package/skills/fundamental/references/composition.md +35 -0
  805. package/skills/fundamental/references/constraints-and-validation.md +61 -0
  806. package/skills/fundamental/references/examples/async-composition.ts +15 -0
  807. package/skills/fundamental/references/examples/cast.ts +18 -0
  808. package/skills/fundamental/references/examples/composition.ts +40 -0
  809. package/skills/fundamental/references/examples/environment-initialization.ts +19 -0
  810. package/skills/fundamental/references/examples/error-propagation.ts +24 -0
  811. package/skills/fundamental/references/examples/generic-inference.ts +31 -0
  812. package/skills/fundamental/references/examples/guaranteed-array-access.ts +31 -0
  813. package/skills/fundamental/references/examples/independent-inputs.ts +18 -0
  814. package/skills/fundamental/references/examples/infer.ts +21 -0
  815. package/skills/fundamental/references/examples/input-validation.ts +37 -0
  816. package/skills/fundamental/references/examples/safe-declarations.ts +25 -0
  817. package/skills/fundamental/references/results-and-errors.md +59 -0
  818. package/skills/http-client/SKILL.md +50 -0
  819. package/skills/http-client/references/configuration.md +11 -0
  820. package/skills/http-client/references/examples/client-expectations.ts +85 -0
  821. package/skills/http-client/references/examples/client-streams.ts +74 -0
  822. package/skills/http-client/references/examples/external-client.ts +78 -0
  823. package/skills/http-client/references/hooks.md +7 -0
  824. package/skills/http-client/references/responses.md +39 -0
  825. package/skills/http-client/references/streams.md +10 -0
  826. package/skills/http-server/SKILL.md +61 -0
  827. package/skills/http-server/references/examples/authentication.ts +42 -0
  828. package/skills/http-server/references/examples/contracts.ts +19 -0
  829. package/skills/http-server/references/examples/inferred-client.ts +54 -0
  830. package/skills/http-server/references/examples/initialize.ts +29 -0
  831. package/skills/http-server/references/examples/minimal-route.ts +17 -0
  832. package/skills/http-server/references/examples/protected-route.ts +29 -0
  833. package/skills/http-server/references/examples/rename-user-route.ts +52 -0
  834. package/skills/http-server/references/examples/user-checker.ts +26 -0
  835. package/skills/http-server/references/examples/user-route.ts +45 -0
  836. package/skills/http-server/references/initialization.md +33 -0
  837. package/skills/http-server/references/reusable-flows.md +40 -0
  838. package/skills/http-server/references/routes-and-floor.md +46 -0
  839. package/skills/modeling/SKILL.md +76 -0
  840. package/skills/modeling/references/domain.md +33 -0
  841. package/skills/modeling/references/orchestration.md +36 -0
  842. package/skills/server/SKILL.md +55 -0
  843. package/skills/server/references/environment.md +30 -0
  844. package/skills/server/references/examples/environment.ts +41 -0
  845. package/skills/server/references/examples/file-structure.ts +26 -0
  846. package/skills/server/references/examples/files.ts +52 -0
  847. package/skills/server/references/files.md +38 -0
  848. package/skills/server/references/structures.md +15 -0
  849. package/skills/test/SKILL.md +70 -0
  850. package/skills/test/references/examples/results.ts +95 -0
  851. package/skills/test/references/examples/server.ts +59 -0
  852. package/skills/test/references/results.md +21 -0
  853. package/skills/test/references/server.md +17 -0
@@ -0,0 +1,80 @@
1
+ ## DPattern
2
+
3
+ Sélectionner et traiter les variantes d’une union par identité, valeur littérale, motif structurel ou predicate, avec couverture exhaustive ou branche de repli.
4
+
5
+ ### [DPattern.exhaustive](10-exhaustive.ts)
6
+
7
+ Terminer un traitement exhaustif en extrayant les valeurs des PatternResult.
8
+
9
+ ### [DPattern.isMatch](10-isMatch.ts)
10
+
11
+ Vérifier un motif sur une valeur et affiner le type de la partie correspondante.
12
+
13
+ ### [DPattern.match](10-match.ts)
14
+
15
+ Traiter une valeur selon un motif et conserver les cas qui ne correspondent pas.
16
+
17
+ ### [DPattern.matchWithEntity](10-matchWithEntity.ts)
18
+
19
+ Router une union d’entités DuploJS vers un callback pour chaque nom d’entité.
20
+
21
+ ### [DPattern.matchWithEntityOtherwise](10-matchWithEntityOtherwise.ts)
22
+
23
+ Router les entités sélectionnées et conserver dans le type du fallback les entités restantes.
24
+
25
+ ### [DPattern.matchWithError](10-matchWithError.ts)
26
+
27
+ Traiter chaque variante d’une union d’erreurs DuploJS selon son identifiant typé.
28
+
29
+ ### [DPattern.matchWithErrorOtherwise](10-matchWithErrorOtherwise.ts)
30
+
31
+ Traiter certains identifiants d’erreur et transmettre au fallback l’union d’erreurs non couverte.
32
+
33
+ ### [DPattern.matchWithFact](10-matchWithFact.ts)
34
+
35
+ Router des facts par nom et exposer leur valeur ainsi que leur payload typé.
36
+
37
+ ### [DPattern.matchWithFactOtherwise](10-matchWithFactOtherwise.ts)
38
+
39
+ Router les facts choisis et traiter les autres noms avec un callback recevant le fact restant.
40
+
41
+ ### [DPattern.matchWithNumber](10-matchWithNumber.ts)
42
+
43
+ Associer chaque nombre littéral possible à un callback spécialisé pour cette valeur.
44
+
45
+ ### [DPattern.matchWithNumberOtherwise](10-matchWithNumberOtherwise.ts)
46
+
47
+ Traiter certains nombres littéraux et recevoir les autres valeurs dans un fallback.
48
+
49
+ ### [DPattern.matchWithString](10-matchWithString.ts)
50
+
51
+ Associer chaque chaîne littérale possible à un callback dont le paramètre est cette valeur exacte.
52
+
53
+ ### [DPattern.matchWithStringOtherwise](10-matchWithStringOtherwise.ts)
54
+
55
+ Traiter certains littéraux de chaîne et transmettre au fallback l’union non couverte.
56
+
57
+ ### [DPattern.matchWithTaggedObject](10-matchWithTaggedObject.ts)
58
+
59
+ Router une union d’objets marqués vers un callback par valeur de tag.
60
+
61
+ ### [DPattern.matchWithTaggedObjectOtherwise](10-matchWithTaggedObjectOtherwise.ts)
62
+
63
+ Router les tags explicitement traités et transmettre les variantes restantes au fallback.
64
+
65
+ ### [DPattern.otherwise](10-otherwise.ts)
66
+
67
+ Traiter la valeur non reconnue restante ou déballer un résultat déjà traité.
68
+
69
+ ### [DPattern.union](10-union.ts)
70
+
71
+ Combiner plusieurs motifs en un seul motif correspondant à l’un d’eux.
72
+
73
+ ### [DPattern.when](10-when.ts)
74
+
75
+ Exécuter un traitement lorsque le predicate correspond, en laissant la branche sinon inchangée.
76
+
77
+ ### [DPattern.whenNot](10-whenNot.ts)
78
+
79
+ Exécuter un traitement pour les valeurs refusées par le predicate et laisser les autres non traitées.
80
+
@@ -0,0 +1,3 @@
1
+ ## DPattern
2
+
3
+ Sélectionner et traiter les variantes d’une union par identité, valeur littérale, motif structurel ou predicate, avec couverture exhaustive ou branche de repli.
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @title DPrinter.bold
3
+ *
4
+ * Encadrer une chaîne par les codes ANSI de mise en gras.
5
+ */
6
+ import * as DPrinter from "@duplojs/lang/printer";
7
+ import type * as DCommon from "@duplojs/lang/common";
8
+
9
+ const emphasized = DPrinter.bold("Attention");
10
+
11
+ // La valeur obtenue est "\x1B[1mAttention\x1B[0m".
12
+ type _CheckEmphasized = DCommon.ExpectType<typeof emphasized, string, "strict">;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @title DPrinter.colorized
3
+ *
4
+ * Encadrer une chaîne par les codes ANSI d’une couleur sélectionnée.
5
+ */
6
+ import * as DPrinter from "@duplojs/lang/printer";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+
9
+ // Appel direct : la valeur obtenue est "\x1B[32mEnregistré\x1B[0m".
10
+ const saved = DPrinter.colorized("Enregistré", "green");
11
+ type _CheckSaved = DCommon.ExpectType<typeof saved, string, "strict">;
12
+
13
+ // Appel curifié dans un pipe : la valeur obtenue est "\x1B[34mEn attente\x1B[0m".
14
+ const status = DCommon.pipe(
15
+ "En attente",
16
+ DPrinter.colorized("blue"),
17
+ );
18
+ type _CheckStatus = DCommon.ExpectType<typeof status, string, "strict">;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @title DPrinter.colorizedBold
3
+ *
4
+ * Appliquer une couleur ANSI et le style gras à une chaîne.
5
+ */
6
+ import * as DPrinter from "@duplojs/lang/printer";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+
9
+ // Appel direct : la valeur obtenue est "\x1B[1m\x1B[33mÀ vérifier\x1B[0m\x1B[0m".
10
+ const warning = DPrinter.colorizedBold("À vérifier", "yellow");
11
+ type _CheckWarning = DCommon.ExpectType<typeof warning, string, "strict">;
12
+
13
+ // Appel curifié dans un pipe : la valeur obtenue est "\x1B[1m\x1B[36mRésumé\x1B[0m\x1B[0m".
14
+ const heading = DCommon.pipe(
15
+ "Résumé",
16
+ DPrinter.colorizedBold("cyan"),
17
+ );
18
+ type _CheckHeading = DCommon.ExpectType<typeof heading, string, "strict">;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @title DPrinter.indent
3
+ *
4
+ * Produire une chaîne contenant le nombre demandé de tabulations.
5
+ */
6
+ import * as DPrinter from "@duplojs/lang/printer";
7
+ import type * as DCommon from "@duplojs/lang/common";
8
+
9
+ // Deux niveaux produisent "\t\t".
10
+ const nestedIndent = DPrinter.indent(2);
11
+ type _CheckNestedIndent = DCommon.ExpectType<typeof nestedIndent, string, "strict">;
12
+
13
+ // Une profondeur négative produit "".
14
+ const rootIndent = DPrinter.indent(-1);
15
+ type _CheckRootIndent = DCommon.ExpectType<typeof rootIndent, string, "strict">;
16
+
17
+ // Les niveaux non finis sont ignorés ; une fraction positive est tronquée.
18
+ const fractional = DPrinter.indent(2.5);
19
+ // La valeur obtenue est "\t\t".
20
+ type _CheckFractional = DCommon.ExpectType<typeof fractional, string, "strict">;
@@ -0,0 +1,11 @@
1
+ ### Constantes et types de DPrinter
2
+
3
+ Les constantes publiques fournissent les séparateurs textuels usuels, tandis que les types décrivent les couleurs et les valeurs acceptées par les fonctions de rendu.
4
+
5
+ ---
6
+
7
+ Les constantes `back`, `dash` et `tab` valent respectivement `"\n"`, `"-"` et `"\t"`. Elles peuvent servir de séparateurs pour `render` ou pour assembler du texte dans d’autres traitements.
8
+
9
+ `Colors` est l’union des couleurs ANSI disponibles : `"red"`, `"green"`, `"yellow"`, `"blue"`, `"magenta"`, `"cyan"` et `"gray"`. Les fonctions `colorized` et `colorizedBold` utilisent cette union pour sélectionner leur couleur.
10
+
11
+ `RenderInput` décrit les valeurs acceptées par les fonctions de rendu : `string | boolean | null | undefined | readonly RenderInput[]`. Les tableaux peuvent contenir récursivement d’autres tableaux. À l’exécution, les tableaux imbriqués sont parcourus, `true` est rendu sous la forme `"true"`, tandis que `false`, `null` et `undefined` sont ignorés.
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @title DPrinter.render
3
+ *
4
+ * Assembler récursivement des valeurs rendables avec un séparateur choisi.
5
+ */
6
+ import * as DPrinter from "@duplojs/lang/printer";
7
+ import * as DCommon from "@duplojs/lang/common";
8
+
9
+ // Appel direct : les tableaux imbriqués sont aplatis et true est rendu.
10
+ // false, null et undefined sont ignorés.
11
+ const summary = DPrinter.render(
12
+ ["Éléments", [true, "validés"], false, null, undefined],
13
+ " ",
14
+ );
15
+ // La valeur obtenue est "Éléments true validés".
16
+ type _CheckSummary = DCommon.ExpectType<typeof summary, string, "strict">;
17
+
18
+ // Appel curifié dans un pipe : le séparateur est configuré avant de recevoir les valeurs.
19
+ const compact = DCommon.pipe(
20
+ ["nom", ["type", false], "statut"],
21
+ DPrinter.render(" · "),
22
+ );
23
+ // La valeur obtenue est "nom · type · statut".
24
+ type _CheckCompact = DCommon.ExpectType<typeof compact, string, "strict">;
25
+
26
+ // Une chaîne vide est conservée, contrairement à false, null et undefined.
27
+ const emptyField = DPrinter.render(["nom", "", "statut"], "|");
28
+ // La valeur obtenue est "nom||statut" ; un tableau sans élément rendable donnerait "".
29
+ type _CheckEmptyField = DCommon.ExpectType<typeof emptyField, string, "strict">;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @title DPrinter.renderLine
3
+ *
4
+ * Assembler récursivement des valeurs en séparant les éléments par une espace.
5
+ */
6
+ import * as DPrinter from "@duplojs/lang/printer";
7
+ import type * as DCommon from "@duplojs/lang/common";
8
+
9
+ const line = DPrinter.renderLine(["Nom", [true, "Ada"], false]);
10
+
11
+ // La valeur obtenue est "Nom true Ada" ; false ne produit aucun texte.
12
+ type _CheckLine = DCommon.ExpectType<typeof line, string, "strict">;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @title DPrinter.renderParagraph
3
+ *
4
+ * Assembler récursivement des valeurs en séparant les éléments par un saut de ligne.
5
+ */
6
+ import * as DPrinter from "@duplojs/lang/printer";
7
+ import type * as DCommon from "@duplojs/lang/common";
8
+
9
+ const paragraph = DPrinter.renderParagraph([
10
+ "Première ligne",
11
+ ["Deuxième ligne", false],
12
+ "Troisième ligne",
13
+ ]);
14
+
15
+ // La valeur obtenue est "Première ligne\nDeuxième ligne\nTroisième ligne".
16
+ type _CheckParagraph = DCommon.ExpectType<typeof paragraph, string, "strict">;
@@ -0,0 +1,37 @@
1
+ ## DPrinter
2
+
3
+ Fonctions et constantes pour assembler du texte, formater des lignes et paragraphes, ajouter une indentation ou des styles ANSI.
4
+
5
+ ### [Constantes et types de DPrinter](10-primitives.md)
6
+
7
+ Les constantes publiques fournissent les séparateurs textuels usuels, tandis que les types décrivent les couleurs et les valeurs acceptées par les fonctions de rendu.
8
+
9
+
10
+ ### [DPrinter.bold](10-bold.ts)
11
+
12
+ Encadrer une chaîne par les codes ANSI de mise en gras.
13
+
14
+ ### [DPrinter.colorized](10-colorized.ts)
15
+
16
+ Encadrer une chaîne par les codes ANSI d’une couleur sélectionnée.
17
+
18
+ ### [DPrinter.colorizedBold](10-colorizedBold.ts)
19
+
20
+ Appliquer une couleur ANSI et le style gras à une chaîne.
21
+
22
+ ### [DPrinter.indent](10-indent.ts)
23
+
24
+ Produire une chaîne contenant le nombre demandé de tabulations.
25
+
26
+ ### [DPrinter.render](10-render.ts)
27
+
28
+ Assembler récursivement des valeurs rendables avec un séparateur choisi.
29
+
30
+ ### [DPrinter.renderLine](10-renderLine.ts)
31
+
32
+ Assembler récursivement des valeurs en séparant les éléments par une espace.
33
+
34
+ ### [DPrinter.renderParagraph](10-renderParagraph.ts)
35
+
36
+ Assembler récursivement des valeurs en séparant les éléments par un saut de ligne.
37
+
@@ -0,0 +1,3 @@
1
+ ## DPrinter
2
+
3
+ Fonctions et constantes pour assembler du texte, formater des lignes et paragraphes, ajouter une indentation ou des styles ANSI.
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @title DString.at
3
+ *
4
+ * Lire le caractère situé à un index, avec `undefined` lorsque l'index est hors limites.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+ import * as DString from "@duplojs/lang/string";
8
+
9
+ const result = DString.at("hello", 1);
10
+ // La valeur obtenue est "e".
11
+ type _CheckResult = DCommon.ExpectType<typeof result, "e", "strict">;
12
+
13
+ const piped = DCommon.pipe(
14
+ "hello",
15
+ DString.at(1),
16
+ );
17
+ // La forme curifiée s'intègre dans un pipe et conserve le caractère "e".
18
+ type _CheckPiped = DCommon.ExpectType<typeof piped, "e", "strict">;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @title DString.capitalize
3
+ *
4
+ * Mettre en majuscule le premier caractère d'une chaîne.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+ import * as DString from "@duplojs/lang/string";
8
+
9
+ const result = DString.capitalize("duplo");
10
+ // La valeur obtenue est "Duplo".
11
+ type _CheckResult = DCommon.ExpectType<typeof result, "Duplo", "strict">;
12
+
13
+ const piped = DCommon.pipe(
14
+ "duplo",
15
+ DString.capitalize,
16
+ );
17
+ // La fonction unaire peut être passée directement au pipe.
18
+ type _CheckPiped = DCommon.ExpectType<typeof piped, "Duplo", "strict">;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @title DString.charAt
3
+ *
4
+ * Lire le caractère situé à un index positif ou nul.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+ import * as DString from "@duplojs/lang/string";
8
+
9
+ const result = DString.charAt("hello", 1);
10
+ // La valeur obtenue est une chaîne d'au plus un caractère, ici "e".
11
+ type _CheckResult = DCommon.ExpectType<typeof result, string & DString.MaxCharacters<1>, "strict">;
12
+
13
+ const piped = DCommon.pipe(
14
+ "hello",
15
+ DString.charAt(1),
16
+ );
17
+ // La forme curifiée conserve la garantie de longueur maximale.
18
+ type _CheckPiped = DCommon.ExpectType<typeof piped, string & DString.MaxCharacters<1>, "strict">;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @title DString.concat
3
+ *
4
+ * Ajouter une ou plusieurs chaînes à la fin d'une chaîne.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+ import * as DString from "@duplojs/lang/string";
8
+
9
+ const result = DString.concat("hello", " ", "world");
10
+ // La valeur obtenue est "hello world".
11
+ type _CheckResult = DCommon.ExpectType<typeof result, "hello world", "strict">;
12
+
13
+ const piped = DCommon.pipe(
14
+ "hello",
15
+ DString.concat(" "),
16
+ );
17
+ // La forme curifiée fixe l'élément ajouté dans l'étape du pipe.
18
+ type _CheckPiped = DCommon.ExpectType<typeof piped, "hello ", "strict">;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * @title DString.endsWith
3
+ *
4
+ * Tester si une chaîne se termine par une sous-chaîne.
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 = DString.endsWith("user-api", "api");
11
+ // La valeur obtenue est true.
12
+ type _CheckResult = DCommon.ExpectType<typeof result, boolean, "strict">;
13
+
14
+ declare const value: string;
15
+
16
+ if (DString.endsWith(value, "api")) {
17
+ type _CheckIfValue = DCommon.ExpectType<typeof value, `${string}api`, "strict">;
18
+ const length = DString.length(value);
19
+ type _CheckLength = DCommon.ExpectType<typeof length, number & DNumber.Positive, "strict">;
20
+ }
21
+
22
+ const transformed = DCommon.pipe(
23
+ value,
24
+ DCommon.when(
25
+ DString.endsWith("api"),
26
+ (value) => {
27
+ type _CheckValue = DCommon.ExpectType<typeof value, `${string}api`, "strict">;
28
+ return DString.length(value);
29
+ },
30
+ ),
31
+ );
32
+ // La branche vraie peut exploiter la chaîne affinée pour calculer sa longueur.
33
+ type _CheckTransformed = DCommon.ExpectType<typeof transformed, string | (number & DNumber.Positive), "strict">;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @title DString.extract
3
+ *
4
+ * Extraire la première occurrence d'un motif avec ses groupes et sa position.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+ import * as DString from "@duplojs/lang/string";
8
+
9
+ const result = DString.extract("order-42", /(?<kind>order)-(?<id>\d+)/);
10
+ // Le résultat contient la correspondance, les groupes, les groupes nommés, la position et la chaîne source.
11
+ type _CheckResult = DCommon.ExpectType<typeof result, DString.ExtractOutput<"order-42"> | undefined, "strict">;
12
+
13
+ const piped = DCommon.pipe(
14
+ "order-42",
15
+ DString.extract(/\d+/),
16
+ );
17
+ // La forme curifiée recherche le même motif sur la chaîne reçue par le pipe.
18
+ type _CheckPiped = DCommon.ExpectType<typeof piped, DString.ExtractOutput<"order-42"> | undefined, "strict">;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @title DString.extractAll
3
+ *
4
+ * Produire les occurrences d'un motif global sous forme de génératrice.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+ import * as DString from "@duplojs/lang/string";
8
+
9
+ const result = DString.extractAll("order-42/order-43", /order-\d+/g);
10
+ // La génératrice produit un objet d'extraction pour chaque occurrence.
11
+ type _CheckResult = DCommon.ExpectType<typeof result, Generator<DString.ExtractOutput<"order-42/order-43">>, "strict">;
12
+
13
+ const piped = DCommon.pipe(
14
+ "order-42/order-43",
15
+ DString.extractAll(/order-\d+/g),
16
+ );
17
+ // La forme curifiée conserve le type de la chaîne d'origine dans chaque extraction.
18
+ type _CheckPiped = DCommon.ExpectType<typeof piped, Generator<DString.ExtractOutput<"order-42/order-43">>, "strict">;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @title DString.first
3
+ *
4
+ * Lire le premier caractère d'une chaîne.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+ import * as DString from "@duplojs/lang/string";
8
+
9
+ const result = DString.first("hello");
10
+ // La valeur obtenue est "h".
11
+ type _CheckResult = DCommon.ExpectType<typeof result, "h", "strict">;
12
+
13
+ const piped = DCommon.pipe(
14
+ "hello",
15
+ DString.first,
16
+ );
17
+ type _CheckPiped = DCommon.ExpectType<typeof piped, "h", "strict">;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * @title DString.includes
3
+ *
4
+ * Tester si une chaîne contient une sous-chaîne.
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 = DString.includes("hello world", "world");
11
+ // La valeur obtenue est true.
12
+ type _CheckResult = DCommon.ExpectType<typeof result, boolean, "strict">;
13
+
14
+ declare const value: string;
15
+
16
+ if (DString.includes(value, "world")) {
17
+ type _CheckIfValue = DCommon.ExpectType<typeof value, `${string}world${string}`, "strict">;
18
+ const length = DString.length(value);
19
+ type _CheckLength = DCommon.ExpectType<typeof length, number & DNumber.Positive, "strict">;
20
+ }
21
+
22
+ const transformed = DCommon.pipe(
23
+ value,
24
+ DCommon.when(
25
+ DString.includes("world"),
26
+ (value) => {
27
+ type _CheckValue = DCommon.ExpectType<typeof value, `${string}world${string}`, "strict">;
28
+ return DString.length(value);
29
+ },
30
+ ),
31
+ );
32
+ // La branche vraie peut exploiter la chaîne affinée pour calculer sa longueur.
33
+ type _CheckTransformed = DCommon.ExpectType<typeof transformed, string | (number & DNumber.Positive), "strict">;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @title DString.indexOf
3
+ *
4
+ * Retourner la position d'une sous-chaîne, ou `undefined` si elle est absente.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+ import * as DString from "@duplojs/lang/string";
8
+
9
+ const result = DString.indexOf("hello world", "world");
10
+ // La valeur obtenue est 6.
11
+ type _CheckResult = DCommon.ExpectType<typeof result, number | undefined, "strict">;
12
+
13
+ const piped = DCommon.pipe(
14
+ "hello world",
15
+ DString.indexOf("world"),
16
+ );
17
+ type _CheckPiped = DCommon.ExpectType<typeof piped, number | undefined, "strict">;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * @title DString.isComposedOf
3
+ *
4
+ * Vérifier qu'une chaîne ne contient que des caractères appartenant à une ou plusieurs plages.
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 = DString.isComposedOf("abc123", ["a-z", "0-9"]);
11
+ // La valeur obtenue est true.
12
+ type _CheckResult = DCommon.ExpectType<typeof result, boolean, "strict">;
13
+
14
+ declare const value: string;
15
+
16
+ if (DString.isComposedOf(value, "a-z")) {
17
+ type _CheckIfValue = DCommon.ExpectType<typeof value, string & DString.AllowedCharacters<"a-z">, "strict">;
18
+ const length = DString.length(value);
19
+ type _CheckLength = DCommon.ExpectType<typeof length, number & DNumber.Positive, "strict">;
20
+ }
21
+
22
+ const transformed = DCommon.pipe(
23
+ value,
24
+ DCommon.when(
25
+ DString.isComposedOf("a-z"),
26
+ (value) => {
27
+ type _CheckValue = DCommon.ExpectType<typeof value, string & DString.AllowedCharacters<"a-z">, "strict">;
28
+ return DString.length(value);
29
+ },
30
+ ),
31
+ );
32
+ // La branche vraie peut exploiter la chaîne affinée pour calculer sa longueur.
33
+ type _CheckTransformed = DCommon.ExpectType<typeof transformed, string | (number & DNumber.Positive), "strict">;
@@ -0,0 +1,56 @@
1
+ /**
2
+ * @title DString.isEmail
3
+ *
4
+ * Vérifier qu'une chaîne respecte le format d'une adresse e-mail.
5
+ */
6
+ import * as DCommon from "@duplojs/lang/common";
7
+ import type * as DArray from "@duplojs/lang/array";
8
+ import * as DString from "@duplojs/lang/string";
9
+
10
+ declare const value: string;
11
+
12
+ if (DString.isEmail(value)) {
13
+ // Le test établit la contrainte Email dans cette branche.
14
+ type _CheckValue = DCommon.ExpectType<typeof value, string & DString.Email, "strict">;
15
+ }
16
+
17
+ const result = DString.isEmail("contact@duplojs.dev");
18
+ // La valeur obtenue est true.
19
+ type _CheckResult = DCommon.ExpectType<typeof result, boolean, "strict">;
20
+
21
+ // `Email` est établi dans la branche, mais `split` ne peut pas déduire le séparateur
22
+ // depuis cette contrainte : pour une entrée typée `string`, il garantit au moins un fragment.
23
+ const emailParts = DString.split(value, "@");
24
+ type _CheckEmailParts = DCommon.ExpectType<
25
+ typeof emailParts,
26
+ readonly string[] & DArray.MinElements<1>,
27
+ "strict"
28
+ >;
29
+
30
+ if (DString.isEmail(value)) {
31
+ type _CheckEmail = DCommon.ExpectType<typeof value, string & DString.Email, "strict">;
32
+ const parts = DString.split(value, "@");
33
+ type _CheckParts = DCommon.ExpectType<
34
+ typeof parts,
35
+ readonly string[] & DArray.MinElements<2>,
36
+ "strict"
37
+ >;
38
+ }
39
+
40
+ // Le même contrôle s’insère dans un pipe ; la longueur des fragments reste garantie.
41
+ const partCount = DCommon.pipe(
42
+ value,
43
+ DCommon.when(
44
+ DString.isEmail,
45
+ (email) => {
46
+ type _CheckEmail = DCommon.ExpectType<typeof email, string & DString.Email, "strict">;
47
+
48
+ return DString.split(email, "@");
49
+ },
50
+ ),
51
+ );
52
+ type _CheckPartCount = DCommon.ExpectType<
53
+ typeof partCount,
54
+ string | (readonly string[] & DArray.MinElements<2>),
55
+ "strict"
56
+ >;
@@ -0,0 +1,34 @@
1
+ /**
2
+ * @title DString.isIn
3
+ *
4
+ * Vérifier qu'une chaîne appartient à une collection de valeurs autorisées.
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
+ declare const values: readonly ["draft", "published"];
11
+ const result = DString.isIn("draft", values);
12
+ // La valeur obtenue est true.
13
+ type _CheckResult = DCommon.ExpectType<typeof result, boolean, "strict">;
14
+
15
+ declare const value: string;
16
+
17
+ if (DString.isIn(value, values)) {
18
+ type _CheckIfValue = DCommon.ExpectType<typeof value, "draft" | "published", "strict">;
19
+ const length = DString.length(value);
20
+ type _CheckLength = DCommon.ExpectType<typeof length, number & DNumber.Positive, "strict">;
21
+ }
22
+
23
+ const transformed = DCommon.pipe(
24
+ value,
25
+ DCommon.when(
26
+ DString.isIn(values),
27
+ (value) => {
28
+ type _CheckValue = DCommon.ExpectType<typeof value, "draft" | "published", "strict">;
29
+ return DString.length(value);
30
+ },
31
+ ),
32
+ );
33
+ // La branche vraie peut exploiter la valeur réduite à l'union autorisée.
34
+ type _CheckTransformed = DCommon.ExpectType<typeof transformed, string | (number & DNumber.Positive), "strict">;
@@ -0,0 +1,37 @@
1
+ /**
2
+ * @title DString.isKeyof
3
+ *
4
+ * Vérifier qu'une valeur est une clé de l'objet fourni et affiner son type.
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 source = {
11
+ name: "Alice",
12
+ email: "alice@example.com",
13
+ };
14
+ const result = DString.isKeyof("name", source);
15
+ // La valeur obtenue est true.
16
+ type _CheckResult = DCommon.ExpectType<typeof result, boolean, "strict">;
17
+
18
+ declare const key: string;
19
+
20
+ if (DString.isKeyof(key, source)) {
21
+ type _CheckIfKey = DCommon.ExpectType<typeof key, "name" | "email", "strict">;
22
+ const length = DString.length(key);
23
+ type _CheckLength = DCommon.ExpectType<typeof length, number & DNumber.Positive, "strict">;
24
+ }
25
+
26
+ const transformed = DCommon.pipe(
27
+ key,
28
+ DCommon.when(
29
+ DString.isKeyof(source),
30
+ (key) => {
31
+ type _CheckKey = DCommon.ExpectType<typeof key, "name" | "email", "strict">;
32
+ return DString.length(key);
33
+ },
34
+ ),
35
+ );
36
+ // La branche vraie peut exploiter la clé réduite aux propriétés de l'objet.
37
+ type _CheckTransformed = DCommon.ExpectType<typeof transformed, string | (number & DNumber.Positive), "strict">;