@duplojs/lang 0.0.1-beta.1 → 0.0.1-beta.2

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 (268) hide show
  1. package/dist/array/at/default.d.ts +1 -1
  2. package/dist/array/chunk.d.ts +3 -2
  3. package/dist/array/concat.d.ts +1 -1
  4. package/dist/array/copyWithin.d.ts +1 -1
  5. package/dist/array/fill/all.d.ts +1 -1
  6. package/dist/array/fill/default.d.ts +3 -3
  7. package/dist/array/filter.d.ts +1 -1
  8. package/dist/array/findAndReplace.d.ts +1 -1
  9. package/dist/array/findAndSplice/delete.d.ts +1 -1
  10. package/dist/array/findAndSplice/insert.d.ts +1 -1
  11. package/dist/array/insert.d.ts +3 -3
  12. package/dist/array/length.d.ts +1 -1
  13. package/dist/array/lengthEqual.d.ts +1 -1
  14. package/dist/array/map.d.ts +1 -1
  15. package/dist/array/maxElements.d.ts +1 -1
  16. package/dist/array/minElements.d.ts +1 -1
  17. package/dist/array/pop.d.ts +1 -1
  18. package/dist/array/prepend.d.ts +1 -1
  19. package/dist/array/push.d.ts +3 -3
  20. package/dist/array/reverse.d.ts +1 -1
  21. package/dist/array/shift.d.ts +1 -1
  22. package/dist/array/sort.d.ts +1 -1
  23. package/dist/array/splice/delete.d.ts +1 -1
  24. package/dist/array/splice/insert.d.ts +1 -1
  25. package/dist/array/unshift.d.ts +3 -3
  26. package/dist/common/types/index.d.ts +1 -0
  27. package/dist/common/types/splitPromise.d.ts +1 -0
  28. package/dist/dataStructure/common/codec.cjs +5 -4
  29. package/dist/dataStructure/common/codec.d.ts +2 -2
  30. package/dist/dataStructure/common/codec.mjs +5 -4
  31. package/dist/dataStructure/common/error.cjs +34 -16
  32. package/dist/dataStructure/common/error.d.ts +29 -11
  33. package/dist/dataStructure/common/error.mjs +32 -17
  34. package/dist/dataStructure/common/errorInterpreter.cjs +45 -0
  35. package/dist/dataStructure/common/errorInterpreter.d.ts +32 -0
  36. package/dist/dataStructure/common/errorInterpreter.mjs +45 -0
  37. package/dist/dataStructure/common/index.d.ts +1 -0
  38. package/dist/dataStructure/constraint/base.cjs +16 -3
  39. package/dist/dataStructure/constraint/base.d.ts +8 -4
  40. package/dist/dataStructure/constraint/base.mjs +16 -3
  41. package/dist/dataStructure/constraint/defaults/allowedCharacters.cjs +1 -1
  42. package/dist/dataStructure/constraint/defaults/allowedCharacters.mjs +1 -1
  43. package/dist/dataStructure/constraint/defaults/arrayLengthEqual.cjs +1 -1
  44. package/dist/dataStructure/constraint/defaults/arrayLengthEqual.mjs +1 -1
  45. package/dist/dataStructure/constraint/defaults/betweenThan.cjs +1 -1
  46. package/dist/dataStructure/constraint/defaults/betweenThan.mjs +1 -1
  47. package/dist/dataStructure/constraint/defaults/betweenThanOrEqual.cjs +1 -1
  48. package/dist/dataStructure/constraint/defaults/betweenThanOrEqual.mjs +1 -1
  49. package/dist/dataStructure/constraint/defaults/email.cjs +1 -1
  50. package/dist/dataStructure/constraint/defaults/email.mjs +1 -1
  51. package/dist/dataStructure/constraint/defaults/even.cjs +1 -1
  52. package/dist/dataStructure/constraint/defaults/even.mjs +1 -1
  53. package/dist/dataStructure/constraint/defaults/greaterThan.cjs +1 -1
  54. package/dist/dataStructure/constraint/defaults/greaterThan.mjs +1 -1
  55. package/dist/dataStructure/constraint/defaults/greaterThanOrEqual.cjs +1 -1
  56. package/dist/dataStructure/constraint/defaults/greaterThanOrEqual.mjs +1 -1
  57. package/dist/dataStructure/constraint/defaults/index.d.ts +1 -0
  58. package/dist/dataStructure/constraint/defaults/integer.cjs +1 -1
  59. package/dist/dataStructure/constraint/defaults/integer.mjs +1 -1
  60. package/dist/dataStructure/constraint/defaults/lessThan.cjs +1 -1
  61. package/dist/dataStructure/constraint/defaults/lessThan.mjs +1 -1
  62. package/dist/dataStructure/constraint/defaults/lessThanOrEqual.cjs +1 -1
  63. package/dist/dataStructure/constraint/defaults/lessThanOrEqual.mjs +1 -1
  64. package/dist/dataStructure/constraint/defaults/maxCharacters.cjs +1 -1
  65. package/dist/dataStructure/constraint/defaults/maxCharacters.mjs +1 -1
  66. package/dist/dataStructure/constraint/defaults/maxElements.cjs +1 -1
  67. package/dist/dataStructure/constraint/defaults/maxElements.mjs +1 -1
  68. package/dist/dataStructure/constraint/defaults/minCharacters.cjs +1 -1
  69. package/dist/dataStructure/constraint/defaults/minCharacters.mjs +1 -1
  70. package/dist/dataStructure/constraint/defaults/minElements.cjs +1 -1
  71. package/dist/dataStructure/constraint/defaults/minElements.mjs +1 -1
  72. package/dist/dataStructure/constraint/defaults/multipleOf.cjs +1 -1
  73. package/dist/dataStructure/constraint/defaults/multipleOf.mjs +1 -1
  74. package/dist/dataStructure/constraint/defaults/negative.cjs +1 -1
  75. package/dist/dataStructure/constraint/defaults/negative.mjs +1 -1
  76. package/dist/dataStructure/constraint/defaults/notEmpty.cjs +1 -1
  77. package/dist/dataStructure/constraint/defaults/notEmpty.mjs +1 -1
  78. package/dist/dataStructure/constraint/defaults/notZero.cjs +1 -1
  79. package/dist/dataStructure/constraint/defaults/notZero.mjs +1 -1
  80. package/dist/dataStructure/constraint/defaults/odd.cjs +1 -1
  81. package/dist/dataStructure/constraint/defaults/odd.mjs +1 -1
  82. package/dist/dataStructure/constraint/defaults/positive.cjs +1 -1
  83. package/dist/dataStructure/constraint/defaults/positive.mjs +1 -1
  84. package/dist/dataStructure/constraint/defaults/refine.cjs +1 -1
  85. package/dist/dataStructure/constraint/defaults/refine.mjs +1 -1
  86. package/dist/dataStructure/constraint/defaults/safe.cjs +1 -1
  87. package/dist/dataStructure/constraint/defaults/safe.mjs +1 -1
  88. package/dist/dataStructure/constraint/defaults/strictNegative.cjs +1 -1
  89. package/dist/dataStructure/constraint/defaults/strictNegative.mjs +1 -1
  90. package/dist/dataStructure/constraint/defaults/strictPositive.cjs +1 -1
  91. package/dist/dataStructure/constraint/defaults/strictPositive.mjs +1 -1
  92. package/dist/dataStructure/constraint/defaults/stringLengthEqual.cjs +1 -1
  93. package/dist/dataStructure/constraint/defaults/stringLengthEqual.mjs +1 -1
  94. package/dist/dataStructure/constraint/defaults/trimmed.cjs +13 -0
  95. package/dist/dataStructure/constraint/defaults/trimmed.d.ts +10 -0
  96. package/dist/dataStructure/constraint/defaults/trimmed.mjs +12 -0
  97. package/dist/dataStructure/constraint/defaults/url.cjs +1 -1
  98. package/dist/dataStructure/constraint/defaults/url.mjs +1 -1
  99. package/dist/dataStructure/constraint/defaults/uuid.cjs +1 -1
  100. package/dist/dataStructure/constraint/defaults/uuid.mjs +1 -1
  101. package/dist/dataStructure/fundamentalType/base.cjs +3 -3
  102. package/dist/dataStructure/fundamentalType/base.d.ts +4 -5
  103. package/dist/dataStructure/fundamentalType/base.mjs +3 -3
  104. package/dist/dataStructure/fundamentalType/defaults/bigint.cjs +4 -2
  105. package/dist/dataStructure/fundamentalType/defaults/bigint.d.ts +4 -4
  106. package/dist/dataStructure/fundamentalType/defaults/bigint.mjs +5 -2
  107. package/dist/dataStructure/fundamentalType/defaults/boolean.cjs +4 -2
  108. package/dist/dataStructure/fundamentalType/defaults/boolean.d.ts +4 -4
  109. package/dist/dataStructure/fundamentalType/defaults/boolean.mjs +5 -2
  110. package/dist/dataStructure/fundamentalType/defaults/date.cjs +4 -2
  111. package/dist/dataStructure/fundamentalType/defaults/date.d.ts +4 -4
  112. package/dist/dataStructure/fundamentalType/defaults/date.mjs +5 -2
  113. package/dist/dataStructure/fundamentalType/defaults/null.cjs +4 -2
  114. package/dist/dataStructure/fundamentalType/defaults/null.d.ts +4 -4
  115. package/dist/dataStructure/fundamentalType/defaults/null.mjs +5 -2
  116. package/dist/dataStructure/fundamentalType/defaults/number.cjs +4 -2
  117. package/dist/dataStructure/fundamentalType/defaults/number.d.ts +4 -4
  118. package/dist/dataStructure/fundamentalType/defaults/number.mjs +5 -2
  119. package/dist/dataStructure/fundamentalType/defaults/string.cjs +4 -2
  120. package/dist/dataStructure/fundamentalType/defaults/string.d.ts +4 -4
  121. package/dist/dataStructure/fundamentalType/defaults/string.mjs +5 -2
  122. package/dist/dataStructure/fundamentalType/defaults/time.cjs +4 -2
  123. package/dist/dataStructure/fundamentalType/defaults/time.d.ts +4 -4
  124. package/dist/dataStructure/fundamentalType/defaults/time.mjs +5 -2
  125. package/dist/dataStructure/fundamentalType/defaults/undefined.cjs +4 -2
  126. package/dist/dataStructure/fundamentalType/defaults/undefined.d.ts +4 -4
  127. package/dist/dataStructure/fundamentalType/defaults/undefined.mjs +5 -2
  128. package/dist/dataStructure/fundamentalType/identifier.d.ts +2 -2
  129. package/dist/dataStructure/helpers/array.d.ts +1 -1
  130. package/dist/dataStructure/helpers/bigint.d.ts +1 -1
  131. package/dist/dataStructure/helpers/boolean.d.ts +1 -1
  132. package/dist/dataStructure/helpers/date.d.ts +1 -1
  133. package/dist/dataStructure/helpers/index.d.ts +1 -0
  134. package/dist/dataStructure/helpers/lazy.d.ts +1 -1
  135. package/dist/dataStructure/helpers/null.d.ts +1 -1
  136. package/dist/dataStructure/helpers/number.d.ts +1 -1
  137. package/dist/dataStructure/helpers/object.d.ts +1 -1
  138. package/dist/dataStructure/helpers/record.d.ts +1 -1
  139. package/dist/dataStructure/helpers/string.d.ts +1 -1
  140. package/dist/dataStructure/helpers/time.d.ts +1 -1
  141. package/dist/dataStructure/helpers/trimmed.cjs +7 -0
  142. package/dist/dataStructure/helpers/trimmed.d.ts +2 -0
  143. package/dist/dataStructure/helpers/trimmed.mjs +7 -0
  144. package/dist/dataStructure/helpers/undefined.d.ts +1 -1
  145. package/dist/dataStructure/helpers/union.d.ts +1 -1
  146. package/dist/dataStructure/index.cjs +38 -0
  147. package/dist/dataStructure/index.mjs +31 -10
  148. package/dist/dataStructure/structure/base.cjs +15 -5
  149. package/dist/dataStructure/structure/base.d.ts +7 -4
  150. package/dist/dataStructure/structure/base.mjs +15 -5
  151. package/dist/dataStructure/structure/defaults/array.d.ts +1 -1
  152. package/dist/dataStructure/structure/defaults/index.d.ts +1 -0
  153. package/dist/dataStructure/structure/defaults/lazy.cjs +4 -2
  154. package/dist/dataStructure/structure/defaults/lazy.d.ts +1 -1
  155. package/dist/dataStructure/structure/defaults/lazy.mjs +4 -2
  156. package/dist/dataStructure/structure/defaults/nonEncodableString.cjs +17 -0
  157. package/dist/dataStructure/structure/defaults/nonEncodableString.d.ts +10 -0
  158. package/dist/dataStructure/structure/defaults/nonEncodableString.mjs +16 -0
  159. package/dist/dataStructure/structure/defaults/object.d.ts +1 -1
  160. package/dist/dataStructure/structure/defaults/record.d.ts +1 -1
  161. package/dist/dataStructure/structure/defaults/type.cjs +1 -1
  162. package/dist/dataStructure/structure/defaults/type.d.ts +1 -1
  163. package/dist/dataStructure/structure/defaults/type.mjs +2 -2
  164. package/dist/dataStructure/structure/defaults/union.cjs +9 -9
  165. package/dist/dataStructure/structure/defaults/union.d.ts +1 -1
  166. package/dist/dataStructure/structure/defaults/union.mjs +9 -9
  167. package/dist/dataStructure/structure/identifier.d.ts +2 -2
  168. package/dist/dataStructure/structure/types/constraintsValue.d.ts +1 -1
  169. package/dist/dataStructure/structure/types/structures.d.ts +2 -1
  170. package/dist/dataStructure/structure/types/value.d.ts +1 -1
  171. package/dist/dataStructure/type/base.cjs +17 -4
  172. package/dist/dataStructure/type/base.d.ts +7 -3
  173. package/dist/dataStructure/type/base.mjs +17 -4
  174. package/dist/dataStructure/type/defaults/bigintLiteral.cjs +1 -1
  175. package/dist/dataStructure/type/defaults/bigintLiteral.mjs +1 -1
  176. package/dist/dataStructure/type/defaults/booleanLiteral.cjs +1 -1
  177. package/dist/dataStructure/type/defaults/booleanLiteral.mjs +1 -1
  178. package/dist/dataStructure/type/defaults/numberLiteral.cjs +1 -1
  179. package/dist/dataStructure/type/defaults/numberLiteral.mjs +1 -1
  180. package/dist/dataStructure/type/defaults/stringLiteral.cjs +1 -1
  181. package/dist/dataStructure/type/defaults/stringLiteral.mjs +1 -1
  182. package/dist/dataStructure/type/identifier.d.ts +2 -2
  183. package/dist/generator/asyncChunk.d.ts +3 -2
  184. package/dist/generator/chunk.d.ts +3 -2
  185. package/dist/generator/types/flat.d.ts +2 -2
  186. package/dist/invocation/flow/base.d.ts +7 -2
  187. package/dist/invocation/flow/controller/base.d.ts +1 -0
  188. package/dist/invocation/flow/controller/defaults/aborter.cjs +35 -0
  189. package/dist/invocation/flow/controller/defaults/aborter.d.ts +14 -0
  190. package/dist/invocation/flow/controller/defaults/aborter.mjs +33 -0
  191. package/dist/invocation/flow/controller/defaults/filter.cjs +5 -3
  192. package/dist/invocation/flow/controller/defaults/filter.d.ts +1 -1
  193. package/dist/invocation/flow/controller/defaults/filter.mjs +5 -3
  194. package/dist/invocation/flow/controller/defaults/index.d.ts +1 -0
  195. package/dist/invocation/index.cjs +7 -0
  196. package/dist/invocation/index.mjs +5 -1
  197. package/dist/kind/types/getName.d.ts +2 -0
  198. package/dist/kind/types/getNamespaceName.d.ts +3 -0
  199. package/dist/kind/types/index.d.ts +2 -0
  200. package/dist/kind/types/remove.d.ts +2 -2
  201. package/dist/modeling/entity/base.cjs +2 -2
  202. package/dist/modeling/entity/base.d.ts +14 -10
  203. package/dist/modeling/entity/base.mjs +2 -2
  204. package/dist/modeling/entity/index.d.ts +0 -1
  205. package/dist/modeling/index.cjs +17 -6
  206. package/dist/modeling/index.d.ts +1 -0
  207. package/dist/modeling/index.mjs +11 -5
  208. package/dist/modeling/newType/base.cjs +6 -3
  209. package/dist/modeling/newType/base.mjs +6 -3
  210. package/dist/modeling/taggedObject/base.cjs +23 -0
  211. package/dist/modeling/taggedObject/base.d.ts +32 -0
  212. package/dist/modeling/taggedObject/base.mjs +21 -0
  213. package/dist/modeling/taggedObject/helper.cjs +29 -0
  214. package/dist/modeling/taggedObject/helper.d.ts +14 -0
  215. package/dist/modeling/taggedObject/helper.mjs +26 -0
  216. package/dist/modeling/taggedObject/index.d.ts +2 -0
  217. package/dist/number/betweenThan.d.ts +2 -2
  218. package/dist/number/betweenThanOrEqual.d.ts +2 -2
  219. package/dist/number/greaterThan.d.ts +1 -1
  220. package/dist/number/greaterThanOrEqual.d.ts +1 -1
  221. package/dist/number/lessThan.d.ts +1 -1
  222. package/dist/number/lessThanOrEqual.d.ts +1 -1
  223. package/dist/number/sort.d.ts +1 -1
  224. package/dist/pattern/index.cjs +12 -0
  225. package/dist/pattern/index.d.ts +4 -0
  226. package/dist/pattern/index.mjs +9 -1
  227. package/dist/pattern/matchWithEntity.cjs +12 -0
  228. package/dist/pattern/matchWithEntity.d.ts +12 -0
  229. package/dist/pattern/matchWithEntity.mjs +12 -0
  230. package/dist/pattern/matchWithEntityOtherwise.cjs +13 -0
  231. package/dist/pattern/matchWithEntityOtherwise.d.ts +14 -0
  232. package/dist/pattern/matchWithEntityOtherwise.mjs +13 -0
  233. package/dist/pattern/matchWithNumberOtherwise.cjs +2 -6
  234. package/dist/pattern/matchWithNumberOtherwise.mjs +2 -6
  235. package/dist/pattern/matchWithStringOtherwise.cjs +2 -6
  236. package/dist/pattern/matchWithStringOtherwise.d.ts +1 -1
  237. package/dist/pattern/matchWithStringOtherwise.mjs +2 -6
  238. package/dist/pattern/matchWithTaggedObject.cjs +12 -0
  239. package/dist/pattern/matchWithTaggedObject.d.ts +12 -0
  240. package/dist/pattern/matchWithTaggedObject.mjs +12 -0
  241. package/dist/pattern/matchWithTaggedObjectOtherwise.cjs +13 -0
  242. package/dist/pattern/matchWithTaggedObjectOtherwise.d.ts +14 -0
  243. package/dist/pattern/matchWithTaggedObjectOtherwise.mjs +13 -0
  244. package/dist/string/at.d.ts +2 -2
  245. package/dist/string/first.d.ts +1 -1
  246. package/dist/string/index.cjs +3 -0
  247. package/dist/string/index.mjs +3 -1
  248. package/dist/string/last.d.ts +1 -1
  249. package/dist/string/lengthEqual.d.ts +1 -1
  250. package/dist/string/maxCharacters.d.ts +1 -1
  251. package/dist/string/minCharacters.d.ts +1 -1
  252. package/dist/string/padEnd.d.ts +1 -1
  253. package/dist/string/padStart.d.ts +1 -1
  254. package/dist/string/pop.d.ts +1 -1
  255. package/dist/string/shift.d.ts +1 -1
  256. package/dist/string/slice.d.ts +1 -1
  257. package/dist/string/substring.d.ts +1 -1
  258. package/dist/string/trim/default.d.ts +1 -1
  259. package/dist/string/trim/end.d.ts +1 -1
  260. package/dist/string/trim/index.d.ts +1 -0
  261. package/dist/string/trim/is.cjs +6 -0
  262. package/dist/string/trim/is.d.ts +2 -0
  263. package/dist/string/trim/is.mjs +6 -0
  264. package/dist/string/trim/start.d.ts +1 -1
  265. package/package.json +1 -1
  266. package/dist/modeling/entity/entityName.cjs +0 -13
  267. package/dist/modeling/entity/entityName.d.ts +0 -13
  268. package/dist/modeling/entity/entityName.mjs +0 -13
@@ -1,15 +1,11 @@
1
1
  //#region scripts/pattern/matchWithNumberOtherwise.ts
2
- function execute(input, matcher, otherwise) {
3
- const callback = matcher[input];
4
- return callback === void 0 ? otherwise(input) : callback(input);
5
- }
6
2
  function matchWithNumberOtherwise(...args) {
7
3
  if (args.length === 2) {
8
4
  const [matcher, otherwise] = args;
9
- return (input) => execute(input, matcher, otherwise);
5
+ return (input) => matchWithNumberOtherwise(input, matcher, otherwise);
10
6
  }
11
7
  const [input, matcher, otherwise] = args;
12
- return execute(input, matcher, otherwise);
8
+ return matcher[input] === void 0 ? otherwise(input) : matcher[input](input);
13
9
  }
14
10
  //#endregion
15
11
  export { matchWithNumberOtherwise };
@@ -1,15 +1,11 @@
1
1
  //#region scripts/pattern/matchWithStringOtherwise.ts
2
- function execute(input, matcher, otherwise) {
3
- const callback = matcher[input];
4
- return callback === void 0 ? otherwise(input) : callback(input);
5
- }
6
2
  function matchWithStringOtherwise(...args) {
7
3
  if (args.length === 2) {
8
4
  const [matcher, otherwise] = args;
9
- return (input) => execute(input, matcher, otherwise);
5
+ return (input) => matchWithStringOtherwise(input, matcher, otherwise);
10
6
  }
11
7
  const [input, matcher, otherwise] = args;
12
- return execute(input, matcher, otherwise);
8
+ return matcher[input] === void 0 ? otherwise(input) : matcher[input](input);
13
9
  }
14
10
  //#endregion
15
11
  exports.matchWithStringOtherwise = matchWithStringOtherwise;
@@ -1,6 +1,6 @@
1
1
  import type * as DCommon from '../common';
2
2
  import type * as DObject from '../object';
3
- import type * as DString from '../string/types';
3
+ import type * as DString from '../string';
4
4
  type ComputeMatcher<GenericInput extends string> = {
5
5
  [Prop in GenericInput]?: (value: Prop) => unknown;
6
6
  };
@@ -1,15 +1,11 @@
1
1
  //#region scripts/pattern/matchWithStringOtherwise.ts
2
- function execute(input, matcher, otherwise) {
3
- const callback = matcher[input];
4
- return callback === void 0 ? otherwise(input) : callback(input);
5
- }
6
2
  function matchWithStringOtherwise(...args) {
7
3
  if (args.length === 2) {
8
4
  const [matcher, otherwise] = args;
9
- return (input) => execute(input, matcher, otherwise);
5
+ return (input) => matchWithStringOtherwise(input, matcher, otherwise);
10
6
  }
11
7
  const [input, matcher, otherwise] = args;
12
- return execute(input, matcher, otherwise);
8
+ return matcher[input] === void 0 ? otherwise(input) : matcher[input](input);
13
9
  }
14
10
  //#endregion
15
11
  export { matchWithStringOtherwise };
@@ -0,0 +1,12 @@
1
+ const require_helper = require("../modeling/taggedObject/helper.cjs");
2
+ //#region scripts/pattern/matchWithTaggedObject.ts
3
+ function matchWithTaggedObject(...args) {
4
+ if (args.length === 1) {
5
+ const [matcher] = args;
6
+ return (input) => matcher[require_helper.getTagValue(input)](input);
7
+ }
8
+ const [input, matcher] = args;
9
+ return matcher[require_helper.getTagValue(input)](input);
10
+ }
11
+ //#endregion
12
+ exports.matchWithTaggedObject = matchWithTaggedObject;
@@ -0,0 +1,12 @@
1
+ import type * as DCommon from '../common';
2
+ import * as DModeling from '../modeling';
3
+ import type * as DObject from '../object';
4
+ import type * as DString from '../string';
5
+ type ComputeMatcher<GenericTaggedObject extends DModeling.ObjectTag> = {
6
+ [TaggedObject in GenericTaggedObject as DModeling.GetTagValue<TaggedObject>]: (value: TaggedObject) => unknown;
7
+ };
8
+ type ForbiddenMoreKey<GenericTaggedObject extends DModeling.ObjectTag, GenericMatcher extends ComputeMatcher<GenericTaggedObject>> = DObject.ForbiddenKey<GenericMatcher, Extract<Exclude<keyof GenericMatcher, DModeling.GetTagValue<GenericTaggedObject>>, string>>;
9
+ type RequireSimpleTag<GenericTaggedObject extends DModeling.ObjectTag> = DString.RequireSimpleLiteral<DModeling.GetTagValue<GenericTaggedObject>>;
10
+ export declare function matchWithTaggedObject<GenericTaggedObject extends DModeling.ObjectTag, GenericMatcher extends ComputeMatcher<GenericTaggedObject>>(matcher: (DCommon.FixDeepFunctionInfer<ComputeMatcher<GenericTaggedObject>, GenericMatcher> & ForbiddenMoreKey<NoInfer<GenericTaggedObject>, GenericMatcher>)): (input: GenericTaggedObject & RequireSimpleTag<GenericTaggedObject>) => ReturnType<Extract<NoInfer<GenericMatcher>[keyof GenericMatcher], DCommon.AnyFunction>>;
11
+ export declare function matchWithTaggedObject<GenericTaggedObject extends DModeling.ObjectTag, GenericMatcher extends ComputeMatcher<GenericTaggedObject>>(input: GenericTaggedObject & RequireSimpleTag<GenericTaggedObject>, matcher: (DCommon.FixDeepFunctionInfer<ComputeMatcher<GenericTaggedObject>, GenericMatcher> & ForbiddenMoreKey<GenericTaggedObject, GenericMatcher>)): ReturnType<Extract<GenericMatcher[keyof GenericMatcher], DCommon.AnyFunction>>;
12
+ export {};
@@ -0,0 +1,12 @@
1
+ import { getTagValue } from "../modeling/taggedObject/helper.mjs";
2
+ //#region scripts/pattern/matchWithTaggedObject.ts
3
+ function matchWithTaggedObject(...args) {
4
+ if (args.length === 1) {
5
+ const [matcher] = args;
6
+ return (input) => matcher[getTagValue(input)](input);
7
+ }
8
+ const [input, matcher] = args;
9
+ return matcher[getTagValue(input)](input);
10
+ }
11
+ //#endregion
12
+ export { matchWithTaggedObject };
@@ -0,0 +1,13 @@
1
+ const require_helper = require("../modeling/taggedObject/helper.cjs");
2
+ //#region scripts/pattern/matchWithTaggedObjectOtherwise.ts
3
+ function matchWithTaggedObjectOtherwise(...args) {
4
+ if (args.length === 2) {
5
+ const [matcher, otherwise] = args;
6
+ return (input) => matchWithTaggedObjectOtherwise(input, matcher, otherwise);
7
+ }
8
+ const [input, matcher, otherwise] = args;
9
+ const tagValue = require_helper.getTagValue(input);
10
+ return matcher[tagValue] === void 0 ? otherwise(input) : matcher[tagValue](input);
11
+ }
12
+ //#endregion
13
+ exports.matchWithTaggedObjectOtherwise = matchWithTaggedObjectOtherwise;
@@ -0,0 +1,14 @@
1
+ import type * as DCommon from '../common';
2
+ import * as DModeling from '../modeling';
3
+ import type * as DObject from '../object';
4
+ import type * as DString from '../string';
5
+ type ComputeMatcher<GenericTaggedObject extends DModeling.ObjectTag> = {
6
+ [TaggedObject in GenericTaggedObject as DModeling.GetTagValue<TaggedObject>]?: (value: TaggedObject) => unknown;
7
+ };
8
+ type ForbiddenMoreKey<GenericTaggedObject extends DModeling.ObjectTag, GenericMatcher extends ComputeMatcher<GenericTaggedObject>> = DObject.ForbiddenKey<GenericMatcher, Extract<Exclude<keyof GenericMatcher, DModeling.GetTagValue<GenericTaggedObject>>, string>>;
9
+ type HandledKeys<GenericMatcher extends object> = Extract<DObject.GetPropsWithValueExtends<GenericMatcher, DCommon.AnyFunction>, string>;
10
+ type UnhandledTaggedObject<GenericTaggedObject extends DModeling.ObjectTag, GenericMatcher extends object> = Exclude<GenericTaggedObject, DModeling.ObjectTag<HandledKeys<GenericMatcher>>>;
11
+ type RequireLiteralTag<GenericTaggedObject extends DModeling.ObjectTag> = DString.RequireSimpleLiteral<DModeling.GetTagValue<GenericTaggedObject>>;
12
+ export declare function matchWithTaggedObjectOtherwise<GenericTaggedObject extends DModeling.ObjectTag, GenericMatcher extends ComputeMatcher<GenericTaggedObject>, GenericOutput>(matcher: (DCommon.FixDeepFunctionInfer<ComputeMatcher<GenericTaggedObject>, GenericMatcher> & ForbiddenMoreKey<NoInfer<GenericTaggedObject>, GenericMatcher>), otherwise: (value: UnhandledTaggedObject<GenericTaggedObject, GenericMatcher>) => GenericOutput): (input: GenericTaggedObject & RequireLiteralTag<GenericTaggedObject>) => (ReturnType<Extract<NoInfer<GenericMatcher>[keyof GenericMatcher], DCommon.AnyFunction>> | GenericOutput);
13
+ export declare function matchWithTaggedObjectOtherwise<GenericTaggedObject extends DModeling.ObjectTag, GenericMatcher extends ComputeMatcher<GenericTaggedObject>, GenericOutput>(input: GenericTaggedObject & RequireLiteralTag<GenericTaggedObject>, matcher: (DCommon.FixDeepFunctionInfer<ComputeMatcher<GenericTaggedObject>, GenericMatcher> & ForbiddenMoreKey<GenericTaggedObject, GenericMatcher>), otherwise: (value: UnhandledTaggedObject<GenericTaggedObject, GenericMatcher>) => GenericOutput): (ReturnType<Extract<GenericMatcher[keyof GenericMatcher], DCommon.AnyFunction>> | GenericOutput);
14
+ export {};
@@ -0,0 +1,13 @@
1
+ import { getTagValue } from "../modeling/taggedObject/helper.mjs";
2
+ //#region scripts/pattern/matchWithTaggedObjectOtherwise.ts
3
+ function matchWithTaggedObjectOtherwise(...args) {
4
+ if (args.length === 2) {
5
+ const [matcher, otherwise] = args;
6
+ return (input) => matchWithTaggedObjectOtherwise(input, matcher, otherwise);
7
+ }
8
+ const [input, matcher, otherwise] = args;
9
+ const tagValue = getTagValue(input);
10
+ return matcher[tagValue] === void 0 ? otherwise(input) : matcher[tagValue](input);
11
+ }
12
+ //#endregion
13
+ export { matchWithTaggedObjectOtherwise };
@@ -1,3 +1,3 @@
1
1
  import { At } from './types';
2
- export declare function at<GenericString extends string, GenericIndex extends number>(index: GenericIndex): (string: GenericString) => At<GenericString, GenericIndex>;
3
- export declare function at<GenericString extends string, GenericIndex extends number>(string: GenericString, index: GenericIndex): At<GenericString, GenericIndex>;
2
+ export declare function at<GenericString extends string, GenericIndex extends number>(index: GenericIndex): (string: GenericString) => GenericString extends string ? At<GenericString, GenericIndex> : never;
3
+ export declare function at<GenericString extends string, GenericIndex extends number>(string: GenericString, index: GenericIndex): GenericString extends string ? At<GenericString, GenericIndex> : never;
@@ -1,2 +1,2 @@
1
1
  import { First } from './types';
2
- export declare function first<GenericString extends string>(string: GenericString): First<GenericString>;
2
+ export declare function first<GenericString extends string>(string: GenericString): GenericString extends unknown ? First<GenericString> : never;
@@ -48,6 +48,7 @@ const require_toUpperCase = require("./toUpperCase.cjs");
48
48
  const require_default = require("./trim/default.cjs");
49
49
  const require_end = require("./trim/end.cjs");
50
50
  const require_start = require("./trim/start.cjs");
51
+ const require_is = require("./trim/is.cjs");
51
52
  const require_uncapitalize = require("./uncapitalize.cjs");
52
53
  //#region scripts/string/index.ts
53
54
  var string_exports = /* @__PURE__ */ require_runtime.__exportAll({
@@ -68,6 +69,7 @@ var string_exports = /* @__PURE__ */ require_runtime.__exportAll({
68
69
  isIn: () => require_isIn.isIn,
69
70
  isKeyof: () => require_isKeyof.isKeyof,
70
71
  isNotEmpty: () => require_isNotEmpty.isNotEmpty,
72
+ isTrimmed: () => require_is.isTrimmed,
71
73
  isUrl: () => require_isUrl.isUrl,
72
74
  isUuid: () => require_isUuid.isUuid,
73
75
  join: () => require_join.join,
@@ -122,6 +124,7 @@ exports.isEmail = require_isEmail.isEmail;
122
124
  exports.isIn = require_isIn.isIn;
123
125
  exports.isKeyof = require_isKeyof.isKeyof;
124
126
  exports.isNotEmpty = require_isNotEmpty.isNotEmpty;
127
+ exports.isTrimmed = require_is.isTrimmed;
125
128
  exports.isUrl = require_isUrl.isUrl;
126
129
  exports.isUuid = require_isUuid.isUuid;
127
130
  exports.join = require_join.join;
@@ -48,6 +48,7 @@ import { toUpperCase } from "./toUpperCase.mjs";
48
48
  import { trim } from "./trim/default.mjs";
49
49
  import { trimEnd } from "./trim/end.mjs";
50
50
  import { trimStart } from "./trim/start.mjs";
51
+ import { isTrimmed } from "./trim/is.mjs";
51
52
  import { uncapitalize } from "./uncapitalize.mjs";
52
53
  //#region scripts/string/index.ts
53
54
  var string_exports = /* @__PURE__ */ __exportAll({
@@ -68,6 +69,7 @@ var string_exports = /* @__PURE__ */ __exportAll({
68
69
  isIn: () => isIn,
69
70
  isKeyof: () => isKeyof,
70
71
  isNotEmpty: () => isNotEmpty,
72
+ isTrimmed: () => isTrimmed,
71
73
  isUrl: () => isUrl,
72
74
  isUuid: () => isUuid,
73
75
  join: () => join,
@@ -105,4 +107,4 @@ var string_exports = /* @__PURE__ */ __exportAll({
105
107
  uuidRegex: () => uuidRegex
106
108
  });
107
109
  //#endregion
108
- export { at, capitalize, charAt, concat, emailRegex, endsWith, extract, extractAll, first, includes, indexOf, infer, isComposedOf, isEmail, isIn, isKeyof, isNotEmpty, isUrl, isUuid, join, last, lastIndexOf, length, lengthEqual, maxCharacters, minCharacters, normalize, padEnd, padStart, pop, prepend, repeat, replace, replaceAll, search, shift, slice, sort, sortCompare, split, startsWith, string_exports, stringify, substring, test, to, toLowerCase, toUpperCase, trim, trimEnd, trimStart, uncapitalize, uuidRegex };
110
+ export { at, capitalize, charAt, concat, emailRegex, endsWith, extract, extractAll, first, includes, indexOf, infer, isComposedOf, isEmail, isIn, isKeyof, isNotEmpty, isTrimmed, isUrl, isUuid, join, last, lastIndexOf, length, lengthEqual, maxCharacters, minCharacters, normalize, padEnd, padStart, pop, prepend, repeat, replace, replaceAll, search, shift, slice, sort, sortCompare, split, startsWith, string_exports, stringify, substring, test, to, toLowerCase, toUpperCase, trim, trimEnd, trimStart, uncapitalize, uuidRegex };
@@ -1,2 +1,2 @@
1
1
  import { Last } from './types';
2
- export declare function last<GenericString extends string>(string: GenericString): Last<GenericString>;
2
+ export declare function last<GenericString extends string>(string: GenericString): GenericString extends unknown ? Last<GenericString> : never;
@@ -6,7 +6,7 @@ type RequireMinCharactersConstraint<GenericString extends string, GenericLength
6
6
  type RequireMaxCharactersConstraint<GenericString extends string, GenericLength extends number> = ExtractMaxCharacters<GenericString, unknown> extends MaxCharacters<infer InferredMax> ? DNumber.IsGreaterOrEqual<InferredMax, GenericLength> extends true ? unknown : DCommon.ComputedTypeError<`Cannot apply LengthEqual<${GenericLength}> on MaxCharacters<${InferredMax}>.`> : unknown;
7
7
  type RequireApplyLengthEqual<GenericString extends string, GenericLength extends number> = (DNumber.ForbiddenNegative<GenericLength> & DNumber.RequireSimpleLiteral<GenericLength> & RequireLengthEqualConstraint<GenericString, GenericLength> & RequireMinCharactersConstraint<GenericString, GenericLength> & RequireMaxCharactersConstraint<GenericString, GenericLength>);
8
8
  type RequireApplyLengthEqualBoolean<GenericString extends string, GenericLength extends number> = DCommon.IsEqual<GenericLength, number> extends true ? unknown : RequireApplyLengthEqual<GenericString, GenericLength>;
9
- type LengthEqualOutput<GenericString extends string, GenericLength extends number> = GenericString extends unknown ? IsImpossibleToApplyLengthEqual<GenericString, LengthEqual<GenericLength>> extends true ? never : ComputeLengthEqualCompatibility<GenericString, LengthEqual<GenericLength>, DCommon.CompatibilityConstraintResult<false, number, number>> extends infer InferredResult ? InferredResult extends DCommon.CompatibilityConstraintResult<true> ? GenericString : GenericString & LengthEqual<GenericLength> : never : never;
9
+ type LengthEqualOutput<GenericString extends string, GenericLength extends number> = GenericString extends unknown ? IsImpossibleToApplyLengthEqual<GenericString, LengthEqual<GenericLength>> extends true ? never : ComputeLengthEqualCompatibility<GenericString, LengthEqual<GenericLength>, DCommon.CompatibilityConstraintResult<false, number, number>> extends infer InferredResult ? DCommon.ContainExtends<InferredResult, DCommon.CompatibilityConstraintResult<true>> extends true ? GenericString : GenericString & LengthEqual<GenericLength> : never : never;
10
10
  export declare function lengthEqual<GenericString extends string, const GenericLength extends number>(length: GenericLength & RequireApplyLengthEqual<GenericString, GenericLength>): (string: GenericString) => string is LengthEqualOutput<GenericString, GenericLength>;
11
11
  export declare function lengthEqual<GenericString extends string, const GenericLength extends number>(length: GenericLength & RequireApplyLengthEqualBoolean<GenericString, GenericLength>): (string: GenericString) => boolean;
12
12
  export declare function lengthEqual<GenericString extends string, const GenericLength extends number>(string: GenericString, length: GenericLength & RequireApplyLengthEqual<GenericString, GenericLength>): string is LengthEqualOutput<GenericString, GenericLength>;
@@ -5,7 +5,7 @@ type RequireLengthEqualConstraint<GenericString extends string, GenericMax exten
5
5
  type RequireMinCharactersConstraint<GenericString extends string, GenericMax extends number> = ExtractMinCharacters<GenericString, unknown> extends MinCharacters<infer InferredMin> ? DNumber.IsGreaterOrEqual<GenericMax, InferredMin> extends true ? unknown : DCommon.ComputedTypeError<`Cannot apply MaxCharacters<${GenericMax}> on MinCharacters<${InferredMin}>.`> : unknown;
6
6
  type RequireApplyMaxCharacters<GenericString extends string, GenericMax extends number> = (DNumber.ForbiddenNegative<GenericMax> & DNumber.RequireSimpleLiteral<GenericMax> & RequireLengthEqualConstraint<GenericString, GenericMax> & RequireMinCharactersConstraint<GenericString, GenericMax>);
7
7
  type RequireApplyMaxCharactersBoolean<GenericString extends string, GenericMax extends number> = DCommon.IsEqual<GenericMax, number> extends true ? unknown : RequireApplyMaxCharacters<GenericString, GenericMax>;
8
- type MaxCharactersOutput<GenericString extends string, GenericMax extends number> = GenericString extends unknown ? IsImpossibleToApplyMaxCharacters<GenericString, MaxCharacters<GenericMax>> extends true ? never : ComputeMaxCharactersCompatibility<GenericString, MaxCharacters<GenericMax>, DCommon.CompatibilityConstraintResult<false, number, number>> extends infer InferredResult ? InferredResult extends DCommon.CompatibilityConstraintResult<true> ? GenericString : GenericString & MaxCharacters<GenericMax> : never : never;
8
+ type MaxCharactersOutput<GenericString extends string, GenericMax extends number> = GenericString extends unknown ? IsImpossibleToApplyMaxCharacters<GenericString, MaxCharacters<GenericMax>> extends true ? never : ComputeMaxCharactersCompatibility<GenericString, MaxCharacters<GenericMax>, DCommon.CompatibilityConstraintResult<false, number, number>> extends infer InferredResult ? DCommon.ContainExtends<InferredResult, DCommon.CompatibilityConstraintResult<true>> extends true ? GenericString : GenericString & MaxCharacters<GenericMax> : never : never;
9
9
  export declare function maxCharacters<GenericString extends string, const GenericMax extends number>(max: GenericMax & RequireApplyMaxCharacters<GenericString, GenericMax>): (string: GenericString) => string is MaxCharactersOutput<GenericString, GenericMax>;
10
10
  export declare function maxCharacters<GenericString extends string, const GenericMax extends number>(max: GenericMax & RequireApplyMaxCharactersBoolean<GenericString, GenericMax>): (string: GenericString) => boolean;
11
11
  export declare function maxCharacters<GenericString extends string, const GenericMax extends number>(string: GenericString, max: GenericMax & RequireApplyMaxCharacters<GenericString, GenericMax>): string is MaxCharactersOutput<GenericString, GenericMax>;
@@ -5,7 +5,7 @@ type RequireLengthEqualConstraint<GenericString extends string, GenericMin exten
5
5
  type RequireMaxCharactersConstraint<GenericString extends string, GenericMin extends number> = ExtractMaxCharacters<GenericString, unknown> extends MaxCharacters<infer InferredMax> ? DNumber.IsGreaterOrEqual<InferredMax, GenericMin> extends true ? unknown : DCommon.ComputedTypeError<`Cannot apply MinCharacters<${GenericMin}> on MaxCharacters<${InferredMax}>.`> : unknown;
6
6
  type RequireApplyMinCharacters<GenericString extends string, GenericMin extends number> = (DNumber.ForbiddenNegative<GenericMin> & DNumber.RequireSimpleLiteral<GenericMin> & RequireLengthEqualConstraint<GenericString, GenericMin> & RequireMaxCharactersConstraint<GenericString, GenericMin>);
7
7
  type RequireApplyMinCharactersBoolean<GenericString extends string, GenericMin extends number> = DCommon.IsEqual<GenericMin, number> extends true ? unknown : RequireApplyMinCharacters<GenericString, GenericMin>;
8
- type MinCharactersOutput<GenericString extends string, GenericMin extends number> = GenericString extends unknown ? IsImpossibleToApplyMinCharacters<GenericString, MinCharacters<GenericMin>> extends true ? never : ComputeMinCharactersCompatibility<GenericString, MinCharacters<GenericMin>, DCommon.CompatibilityConstraintResult<false, number, number>> extends infer InferredResult ? InferredResult extends DCommon.CompatibilityConstraintResult<true> ? GenericString : GenericString & MinCharacters<GenericMin> : never : never;
8
+ type MinCharactersOutput<GenericString extends string, GenericMin extends number> = GenericString extends unknown ? IsImpossibleToApplyMinCharacters<GenericString, MinCharacters<GenericMin>> extends true ? never : ComputeMinCharactersCompatibility<GenericString, MinCharacters<GenericMin>, DCommon.CompatibilityConstraintResult<false, number, number>> extends infer InferredResult ? DCommon.ContainExtends<InferredResult, DCommon.CompatibilityConstraintResult<true>> extends true ? GenericString : GenericString & MinCharacters<GenericMin> : never : never;
9
9
  export declare function minCharacters<GenericString extends string, const GenericMin extends number>(min: GenericMin & RequireApplyMinCharacters<GenericString, GenericMin>): (string: GenericString) => string is MinCharactersOutput<GenericString, GenericMin>;
10
10
  export declare function minCharacters<GenericString extends string, const GenericMin extends number>(min: GenericMin & RequireApplyMinCharactersBoolean<GenericString, GenericMin>): (string: GenericString) => boolean;
11
11
  export declare function minCharacters<GenericString extends string, const GenericMin extends number>(string: GenericString, min: GenericMin & RequireApplyMinCharacters<GenericString, GenericMin>): string is MinCharactersOutput<GenericString, GenericMin>;
@@ -1,6 +1,6 @@
1
1
  import { ReapplyCompatiblesConstraints } from './constraints';
2
2
  import type * as DNumber from '../number';
3
- type PadEndOutput<GenericString extends string> = ReapplyCompatiblesConstraints<GenericString, string, "minCharacters">;
3
+ type PadEndOutput<GenericString extends string> = GenericString extends unknown ? ReapplyCompatiblesConstraints<GenericString, string, "minCharacters"> : never;
4
4
  export declare function padEnd<GenericString extends string, GenericTargetLength extends number>(targetLength: GenericTargetLength & DNumber.RequirePositiveInteger<GenericTargetLength>, padString: string): (string: GenericString) => PadEndOutput<GenericString>;
5
5
  export declare function padEnd<GenericString extends string, GenericTargetLength extends number>(string: GenericString, targetLength: GenericTargetLength & DNumber.RequirePositiveInteger<GenericTargetLength>, padString: string): PadEndOutput<GenericString>;
6
6
  export {};
@@ -1,6 +1,6 @@
1
1
  import { ReapplyCompatiblesConstraints } from './constraints';
2
2
  import type * as DNumber from '../number';
3
- type PadStartOutput<GenericString extends string> = ReapplyCompatiblesConstraints<GenericString, string, "minCharacters">;
3
+ type PadStartOutput<GenericString extends string> = GenericString extends unknown ? ReapplyCompatiblesConstraints<GenericString, string, "minCharacters"> : never;
4
4
  export declare function padStart<GenericString extends string, GenericTargetLength extends number>(targetLength: GenericTargetLength & DNumber.RequirePositiveInteger<GenericTargetLength>, padString: string): (string: GenericString) => PadStartOutput<GenericString>;
5
5
  export declare function padStart<GenericString extends string, GenericTargetLength extends number>(string: GenericString, targetLength: GenericTargetLength & DNumber.RequirePositiveInteger<GenericTargetLength>, padString: string): PadStartOutput<GenericString>;
6
6
  export {};
@@ -1,4 +1,4 @@
1
1
  import { ReapplyCompatiblesConstraints } from './constraints';
2
- type PopOutput<GenericString extends string> = ReapplyCompatiblesConstraints<GenericString, string, "maxCharacters">;
2
+ type PopOutput<GenericString extends string> = GenericString extends unknown ? ReapplyCompatiblesConstraints<GenericString, string, "maxCharacters"> : never;
3
3
  export declare function pop<GenericString extends string>(string: GenericString): PopOutput<GenericString>;
4
4
  export {};
@@ -1,4 +1,4 @@
1
1
  import { ReapplyCompatiblesConstraints } from './constraints';
2
- type ShiftOutput<GenericString extends string> = ReapplyCompatiblesConstraints<GenericString, string, "maxCharacters">;
2
+ type ShiftOutput<GenericString extends string> = GenericString extends unknown ? ReapplyCompatiblesConstraints<GenericString, string, "maxCharacters"> : never;
3
3
  export declare function shift<GenericString extends string>(string: GenericString): ShiftOutput<GenericString>;
4
4
  export {};
@@ -1,5 +1,5 @@
1
1
  import { ReapplyAllowedCharacters, ReapplyCompatiblesConstraints } from './constraints';
2
- type SliceOutput<GenericString extends string> = ReapplyAllowedCharacters<GenericString, ReapplyCompatiblesConstraints<GenericString, string, "maxCharacters">>;
2
+ type SliceOutput<GenericString extends string> = GenericString extends unknown ? ReapplyAllowedCharacters<GenericString, ReapplyCompatiblesConstraints<GenericString, string, "maxCharacters">> : never;
3
3
  export declare function slice<GenericString extends string>(start: number, end: number): (string: GenericString) => SliceOutput<GenericString>;
4
4
  export declare function slice<GenericString extends string>(string: GenericString, start: number, end: number): SliceOutput<GenericString>;
5
5
  export {};
@@ -1,5 +1,5 @@
1
1
  import { ReapplyAllowedCharacters, ReapplyCompatiblesConstraints } from './constraints';
2
- type SubstringOutput<GenericString extends string> = ReapplyAllowedCharacters<GenericString, ReapplyCompatiblesConstraints<GenericString, string, "maxCharacters">>;
2
+ type SubstringOutput<GenericString extends string> = GenericString extends unknown ? ReapplyAllowedCharacters<GenericString, ReapplyCompatiblesConstraints<GenericString, string, "maxCharacters">> : never;
3
3
  export declare function substring<GenericString extends string>(start: number, end?: number): (string: GenericString) => SubstringOutput<GenericString>;
4
4
  export declare function substring<GenericString extends string>(string: GenericString, start: number, end?: number): SubstringOutput<GenericString>;
5
5
  export {};
@@ -1,4 +1,4 @@
1
1
  import { ReapplyCompatiblesConstraints, Trimmed } from '../constraints';
2
- type TrimOutput<GenericString extends string> = ReapplyCompatiblesConstraints<GenericString, string & Trimmed, "maxCharacters">;
2
+ type TrimOutput<GenericString extends string> = GenericString extends unknown ? ReapplyCompatiblesConstraints<GenericString, string & Trimmed, "maxCharacters"> : never;
3
3
  export declare function trim<GenericString extends string>(string: GenericString): TrimOutput<GenericString>;
4
4
  export {};
@@ -1,4 +1,4 @@
1
1
  import { ReapplyCompatiblesConstraints } from '../constraints';
2
- type TrimEndOutput<GenericString extends string> = ReapplyCompatiblesConstraints<GenericString, string, "maxCharacters">;
2
+ type TrimEndOutput<GenericString extends string> = GenericString extends unknown ? ReapplyCompatiblesConstraints<GenericString, string, "maxCharacters"> : never;
3
3
  export declare function trimEnd<GenericString extends string>(string: GenericString): TrimEndOutput<GenericString>;
4
4
  export {};
@@ -1,3 +1,4 @@
1
1
  export * from './default';
2
2
  export * from './end';
3
3
  export * from './start';
4
+ export * from './is';
@@ -0,0 +1,6 @@
1
+ //#region scripts/string/trim/is.ts
2
+ function isTrimmed(input) {
3
+ return input.trim() === input;
4
+ }
5
+ //#endregion
6
+ exports.isTrimmed = isTrimmed;
@@ -0,0 +1,2 @@
1
+ import { Trimmed } from '../constraints';
2
+ export declare function isTrimmed<GenericString extends string>(input: GenericString): input is GenericString & Trimmed;
@@ -0,0 +1,6 @@
1
+ //#region scripts/string/trim/is.ts
2
+ function isTrimmed(input) {
3
+ return input.trim() === input;
4
+ }
5
+ //#endregion
6
+ export { isTrimmed };
@@ -1,4 +1,4 @@
1
1
  import { ReapplyCompatiblesConstraints } from '../constraints';
2
- type TrimStartOutput<GenericString extends string> = ReapplyCompatiblesConstraints<GenericString, string, "maxCharacters">;
2
+ type TrimStartOutput<GenericString extends string> = GenericString extends unknown ? ReapplyCompatiblesConstraints<GenericString, string, "maxCharacters"> : never;
3
3
  export declare function trimStart<GenericString extends string>(string: GenericString): TrimStartOutput<GenericString>;
4
4
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duplojs/lang",
3
- "version": "0.0.1-beta.1",
3
+ "version": "0.0.1-beta.2",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "author": {
@@ -1,13 +0,0 @@
1
- const require_resultSymbol = require("../../dataStructure/common/resultSymbol.cjs");
2
- const require_base = require("../../dataStructure/structure/base.cjs");
3
- //#region scripts/modeling/entity/entityName.ts
4
- const entityNameStructureKind = require("../kind.cjs").createKind("entity-name-structure");
5
- const EntityNameStructure = require_base.createStructure(entityNameStructureKind, ({ init }) => (name) => init({ constraints: [] }, {
6
- executeCheck: (self, data, errorHandler) => data === name ? require_resultSymbol.SuccessSymbol : errorHandler?.().addIssue(self, data) ?? require_resultSymbol.ErrorSymbol,
7
- executeEncode: (self, codecContext, data, errorHandler) => data === name ? data : errorHandler?.().addIssue(self, data) ?? require_resultSymbol.ErrorSymbol,
8
- executeDecode: (self, codecContext, data, errorHandler) => data === name ? data : errorHandler?.().addIssue(self, data) ?? require_resultSymbol.ErrorSymbol,
9
- isAsynchronous: () => false
10
- }, { name }));
11
- //#endregion
12
- exports.EntityNameStructure = EntityNameStructure;
13
- exports.entityNameStructureKind = entityNameStructureKind;
@@ -1,13 +0,0 @@
1
- import type * as DKind from '../../kind';
2
- import type * as DCommon from '../../common';
3
- import * as DDataStructure from '../../dataStructure';
4
- declare module '../../dataStructure' {
5
- interface StructuresStore {
6
- entityName: EntityNameStructure;
7
- }
8
- }
9
- export declare const entityNameStructureKind: DKind.Handler<DKind.Definition<"@DuplojsLangModeling/entity-name-structure", unknown>>;
10
- export interface EntityNameStructure extends DCommon.UnionToIntersection<DDataStructure.Structure<unknown> & DKind.Kind<typeof entityNameStructureKind>> {
11
- readonly name: string;
12
- }
13
- export declare const EntityNameStructure: (name: string) => EntityNameStructure;
@@ -1,13 +0,0 @@
1
- import { ErrorSymbol, SuccessSymbol } from "../../dataStructure/common/resultSymbol.mjs";
2
- import { createStructure } from "../../dataStructure/structure/base.mjs";
3
- import { createKind } from "../kind.mjs";
4
- //#region scripts/modeling/entity/entityName.ts
5
- const entityNameStructureKind = createKind("entity-name-structure");
6
- const EntityNameStructure = createStructure(entityNameStructureKind, ({ init }) => (name) => init({ constraints: [] }, {
7
- executeCheck: (self, data, errorHandler) => data === name ? SuccessSymbol : errorHandler?.().addIssue(self, data) ?? ErrorSymbol,
8
- executeEncode: (self, codecContext, data, errorHandler) => data === name ? data : errorHandler?.().addIssue(self, data) ?? ErrorSymbol,
9
- executeDecode: (self, codecContext, data, errorHandler) => data === name ? data : errorHandler?.().addIssue(self, data) ?? ErrorSymbol,
10
- isAsynchronous: () => false
11
- }, { name }));
12
- //#endregion
13
- export { EntityNameStructure, entityNameStructureKind };