@duplojs/utils 1.1.12 → 1.1.14

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 (227) hide show
  1. package/dist/array/flat.cjs +1 -13
  2. package/dist/array/flat.d.ts +1 -4
  3. package/dist/array/flat.mjs +1 -13
  4. package/dist/array/index.cjs +2 -0
  5. package/dist/array/index.d.ts +1 -0
  6. package/dist/array/index.mjs +1 -0
  7. package/dist/array/notIncludes.cjs +12 -0
  8. package/dist/array/notIncludes.d.ts +4 -0
  9. package/dist/array/notIncludes.mjs +10 -0
  10. package/dist/array/reduce.d.ts +6 -7
  11. package/dist/array/reduceRight.d.ts +4 -3
  12. package/dist/common/createKindIdentifier.cjs +27 -0
  13. package/dist/common/createKindIdentifier.d.ts +7 -0
  14. package/dist/common/createKindIdentifier.mjs +25 -0
  15. package/dist/common/index.d.ts +1 -0
  16. package/dist/common/kind.cjs +15 -12
  17. package/dist/common/kind.d.ts +2 -2
  18. package/dist/common/kind.mjs +15 -12
  19. package/dist/common/or.d.ts +9 -9
  20. package/dist/common/types/index.d.ts +2 -0
  21. package/dist/common/types/onlyLiteral.d.ts +18 -0
  22. package/dist/common/types/unwrapArray.d.ts +1 -0
  23. package/dist/dataParser/base.cjs +55 -29
  24. package/dist/dataParser/base.d.ts +1 -1
  25. package/dist/dataParser/base.mjs +55 -29
  26. package/dist/dataParser/baseExtended.cjs +15 -2
  27. package/dist/dataParser/baseExtended.d.ts +8 -3
  28. package/dist/dataParser/baseExtended.mjs +15 -2
  29. package/dist/dataParser/extended/array.cjs +1 -0
  30. package/dist/dataParser/extended/array.d.ts +11 -5
  31. package/dist/dataParser/extended/array.mjs +1 -0
  32. package/dist/dataParser/extended/bigint.cjs +1 -0
  33. package/dist/dataParser/extended/bigint.d.ts +9 -2
  34. package/dist/dataParser/extended/bigint.mjs +1 -0
  35. package/dist/dataParser/extended/boolean.cjs +1 -0
  36. package/dist/dataParser/extended/boolean.d.ts +13 -2
  37. package/dist/dataParser/extended/boolean.mjs +1 -0
  38. package/dist/dataParser/extended/coerce/bigint.cjs +1 -0
  39. package/dist/dataParser/extended/coerce/bigint.mjs +1 -0
  40. package/dist/dataParser/extended/coerce/boolean.cjs +1 -0
  41. package/dist/dataParser/extended/coerce/boolean.mjs +1 -0
  42. package/dist/dataParser/extended/coerce/empty.cjs +1 -0
  43. package/dist/dataParser/extended/coerce/empty.mjs +1 -0
  44. package/dist/dataParser/extended/coerce/nil.cjs +1 -0
  45. package/dist/dataParser/extended/coerce/nil.mjs +1 -0
  46. package/dist/dataParser/extended/coerce/number.cjs +1 -0
  47. package/dist/dataParser/extended/coerce/number.mjs +1 -0
  48. package/dist/dataParser/extended/coerce/string.cjs +1 -0
  49. package/dist/dataParser/extended/coerce/string.mjs +1 -0
  50. package/dist/dataParser/extended/empty.cjs +1 -0
  51. package/dist/dataParser/extended/empty.d.ts +13 -2
  52. package/dist/dataParser/extended/empty.mjs +1 -0
  53. package/dist/dataParser/extended/index.cjs +2 -0
  54. package/dist/dataParser/extended/index.d.ts +1 -0
  55. package/dist/dataParser/extended/index.mjs +1 -0
  56. package/dist/dataParser/extended/lazy.cjs +1 -0
  57. package/dist/dataParser/extended/lazy.d.ts +13 -3
  58. package/dist/dataParser/extended/lazy.mjs +1 -0
  59. package/dist/dataParser/extended/literal.cjs +1 -0
  60. package/dist/dataParser/extended/literal.d.ts +13 -2
  61. package/dist/dataParser/extended/literal.mjs +1 -0
  62. package/dist/dataParser/extended/nil.cjs +1 -0
  63. package/dist/dataParser/extended/nil.d.ts +13 -2
  64. package/dist/dataParser/extended/nil.mjs +1 -0
  65. package/dist/dataParser/extended/nullable.cjs +1 -0
  66. package/dist/dataParser/extended/nullable.d.ts +14 -4
  67. package/dist/dataParser/extended/nullable.mjs +1 -0
  68. package/dist/dataParser/extended/number.cjs +1 -0
  69. package/dist/dataParser/extended/number.d.ts +9 -2
  70. package/dist/dataParser/extended/number.mjs +1 -0
  71. package/dist/dataParser/extended/object.cjs +1 -0
  72. package/dist/dataParser/extended/object.d.ts +13 -2
  73. package/dist/dataParser/extended/object.mjs +1 -0
  74. package/dist/dataParser/extended/optional.cjs +1 -0
  75. package/dist/dataParser/extended/optional.d.ts +14 -4
  76. package/dist/dataParser/extended/optional.mjs +1 -0
  77. package/dist/dataParser/extended/pipe.cjs +1 -0
  78. package/dist/dataParser/extended/pipe.d.ts +13 -3
  79. package/dist/dataParser/extended/pipe.mjs +1 -0
  80. package/dist/dataParser/extended/record.cjs +3 -2
  81. package/dist/dataParser/extended/record.d.ts +13 -3
  82. package/dist/dataParser/extended/record.mjs +2 -1
  83. package/dist/dataParser/extended/recover.cjs +14 -0
  84. package/dist/dataParser/extended/recover.d.ts +23 -0
  85. package/dist/dataParser/extended/recover.mjs +12 -0
  86. package/dist/dataParser/extended/string.cjs +1 -0
  87. package/dist/dataParser/extended/string.d.ts +9 -2
  88. package/dist/dataParser/extended/string.mjs +1 -0
  89. package/dist/dataParser/extended/templateLiteral.cjs +4 -2
  90. package/dist/dataParser/extended/templateLiteral.d.ts +13 -2
  91. package/dist/dataParser/extended/templateLiteral.mjs +3 -1
  92. package/dist/dataParser/extended/transform.cjs +1 -0
  93. package/dist/dataParser/extended/transform.d.ts +12 -2
  94. package/dist/dataParser/extended/transform.mjs +1 -0
  95. package/dist/dataParser/extended/tuple.cjs +11 -1
  96. package/dist/dataParser/extended/tuple.d.ts +19 -2
  97. package/dist/dataParser/extended/tuple.mjs +11 -1
  98. package/dist/dataParser/extended/union.cjs +1 -0
  99. package/dist/dataParser/extended/union.d.ts +13 -2
  100. package/dist/dataParser/extended/union.mjs +1 -0
  101. package/dist/dataParser/extended/unknown.cjs +1 -0
  102. package/dist/dataParser/extended/unknown.d.ts +13 -2
  103. package/dist/dataParser/extended/unknown.mjs +1 -0
  104. package/dist/dataParser/identifier.cjs +2 -17
  105. package/dist/dataParser/identifier.d.ts +216 -8
  106. package/dist/dataParser/identifier.mjs +2 -17
  107. package/dist/dataParser/index.cjs +29 -18
  108. package/dist/dataParser/index.mjs +18 -14
  109. package/dist/dataParser/parsers/array/checkers/max.cjs +3 -3
  110. package/dist/dataParser/parsers/array/checkers/max.d.ts +2 -2
  111. package/dist/dataParser/parsers/array/checkers/max.mjs +3 -3
  112. package/dist/dataParser/parsers/array/checkers/min.cjs +3 -3
  113. package/dist/dataParser/parsers/array/checkers/min.d.ts +2 -2
  114. package/dist/dataParser/parsers/array/checkers/min.mjs +3 -3
  115. package/dist/dataParser/parsers/array/index.d.ts +14 -7
  116. package/dist/dataParser/parsers/bigint/checkers/max.cjs +3 -3
  117. package/dist/dataParser/parsers/bigint/checkers/max.d.ts +2 -2
  118. package/dist/dataParser/parsers/bigint/checkers/max.mjs +3 -3
  119. package/dist/dataParser/parsers/bigint/checkers/min.cjs +3 -3
  120. package/dist/dataParser/parsers/bigint/checkers/min.d.ts +2 -2
  121. package/dist/dataParser/parsers/bigint/checkers/min.mjs +3 -3
  122. package/dist/dataParser/parsers/bigint/index.d.ts +11 -4
  123. package/dist/dataParser/parsers/boolean.d.ts +16 -4
  124. package/dist/dataParser/parsers/coerce/bigint.cjs +1 -0
  125. package/dist/dataParser/parsers/coerce/bigint.mjs +1 -0
  126. package/dist/dataParser/parsers/coerce/boolean.cjs +1 -0
  127. package/dist/dataParser/parsers/coerce/boolean.mjs +1 -0
  128. package/dist/dataParser/parsers/coerce/empty.cjs +1 -0
  129. package/dist/dataParser/parsers/coerce/empty.mjs +1 -0
  130. package/dist/dataParser/parsers/coerce/nil.cjs +1 -0
  131. package/dist/dataParser/parsers/coerce/nil.mjs +1 -0
  132. package/dist/dataParser/parsers/coerce/number.cjs +1 -0
  133. package/dist/dataParser/parsers/coerce/number.mjs +1 -0
  134. package/dist/dataParser/parsers/coerce/string.cjs +1 -0
  135. package/dist/dataParser/parsers/coerce/string.mjs +1 -0
  136. package/dist/dataParser/parsers/empty.d.ts +16 -4
  137. package/dist/dataParser/parsers/index.d.ts +2 -0
  138. package/dist/dataParser/parsers/lazy.d.ts +16 -4
  139. package/dist/dataParser/parsers/literal.d.ts +16 -4
  140. package/dist/dataParser/parsers/nil.d.ts +16 -4
  141. package/dist/dataParser/parsers/nullable.cjs +3 -2
  142. package/dist/dataParser/parsers/nullable.d.ts +19 -6
  143. package/dist/dataParser/parsers/nullable.mjs +3 -2
  144. package/dist/dataParser/parsers/number/checkers/int.cjs +3 -3
  145. package/dist/dataParser/parsers/number/checkers/int.d.ts +2 -2
  146. package/dist/dataParser/parsers/number/checkers/int.mjs +3 -3
  147. package/dist/dataParser/parsers/number/checkers/max.cjs +3 -3
  148. package/dist/dataParser/parsers/number/checkers/max.d.ts +2 -2
  149. package/dist/dataParser/parsers/number/checkers/max.mjs +3 -3
  150. package/dist/dataParser/parsers/number/checkers/min.cjs +3 -3
  151. package/dist/dataParser/parsers/number/checkers/min.d.ts +2 -2
  152. package/dist/dataParser/parsers/number/checkers/min.mjs +3 -3
  153. package/dist/dataParser/parsers/number/index.d.ts +11 -4
  154. package/dist/dataParser/parsers/object.d.ts +16 -4
  155. package/dist/dataParser/parsers/optional.cjs +3 -2
  156. package/dist/dataParser/parsers/optional.d.ts +19 -6
  157. package/dist/dataParser/parsers/optional.mjs +3 -2
  158. package/dist/dataParser/parsers/pipe.d.ts +16 -4
  159. package/dist/dataParser/parsers/record/findRecordRequiredKey.cjs +50 -0
  160. package/dist/dataParser/parsers/record/findRecordRequiredKey.d.ts +4 -0
  161. package/dist/dataParser/parsers/record/findRecordRequiredKey.mjs +47 -0
  162. package/dist/dataParser/parsers/{record.cjs → record/index.cjs} +21 -3
  163. package/dist/dataParser/parsers/record/index.d.ts +42 -0
  164. package/dist/dataParser/parsers/{record.mjs → record/index.mjs} +21 -4
  165. package/dist/dataParser/parsers/recover.cjs +32 -0
  166. package/dist/dataParser/parsers/recover.d.ts +28 -0
  167. package/dist/dataParser/parsers/recover.mjs +29 -0
  168. package/dist/dataParser/parsers/refine.cjs +18 -0
  169. package/dist/dataParser/parsers/refine.d.ts +17 -0
  170. package/dist/dataParser/parsers/refine.mjs +15 -0
  171. package/dist/dataParser/parsers/string/checkers/email.cjs +3 -3
  172. package/dist/dataParser/parsers/string/checkers/email.d.ts +2 -2
  173. package/dist/dataParser/parsers/string/checkers/email.mjs +3 -3
  174. package/dist/dataParser/parsers/string/checkers/max.cjs +3 -3
  175. package/dist/dataParser/parsers/string/checkers/max.d.ts +2 -2
  176. package/dist/dataParser/parsers/string/checkers/max.mjs +3 -3
  177. package/dist/dataParser/parsers/string/checkers/min.cjs +3 -3
  178. package/dist/dataParser/parsers/string/checkers/min.d.ts +2 -2
  179. package/dist/dataParser/parsers/string/checkers/min.mjs +3 -3
  180. package/dist/dataParser/parsers/string/checkers/regex.cjs +3 -3
  181. package/dist/dataParser/parsers/string/checkers/regex.d.ts +2 -2
  182. package/dist/dataParser/parsers/string/checkers/regex.mjs +3 -3
  183. package/dist/dataParser/parsers/string/checkers/url.cjs +3 -3
  184. package/dist/dataParser/parsers/string/checkers/url.d.ts +2 -2
  185. package/dist/dataParser/parsers/string/checkers/url.mjs +3 -3
  186. package/dist/dataParser/parsers/string/index.d.ts +11 -4
  187. package/dist/dataParser/parsers/templateLiteral/createTemplateLiteralPattern.cjs +75 -0
  188. package/dist/dataParser/parsers/templateLiteral/createTemplateLiteralPattern.d.ts +2 -0
  189. package/dist/dataParser/parsers/templateLiteral/createTemplateLiteralPattern.mjs +73 -0
  190. package/dist/dataParser/parsers/templateLiteral/index.cjs +31 -0
  191. package/dist/dataParser/parsers/templateLiteral/index.d.ts +66 -0
  192. package/dist/dataParser/parsers/templateLiteral/index.mjs +27 -0
  193. package/dist/dataParser/parsers/transform.d.ts +16 -4
  194. package/dist/dataParser/parsers/tuple.d.ts +14 -4
  195. package/dist/dataParser/parsers/union.d.ts +16 -4
  196. package/dist/dataParser/parsers/unknown.d.ts +16 -4
  197. package/dist/dataParser/types/checkers.d.ts +1 -1
  198. package/dist/dataParser/types/dataParsers.d.ts +2 -2
  199. package/dist/either/bool/falsy.cjs +1 -1
  200. package/dist/either/bool/falsy.mjs +1 -1
  201. package/dist/either/bool/truthy.cjs +2 -2
  202. package/dist/either/bool/truthy.mjs +2 -2
  203. package/dist/either/future/create.cjs +1 -1
  204. package/dist/either/future/create.mjs +1 -1
  205. package/dist/either/nullable/empty.cjs +1 -1
  206. package/dist/either/nullable/empty.mjs +1 -1
  207. package/dist/either/nullish/filled.cjs +2 -2
  208. package/dist/either/nullish/filled.mjs +2 -2
  209. package/dist/either/optional/filled.cjs +2 -2
  210. package/dist/either/optional/filled.mjs +2 -2
  211. package/dist/either/right/asyncPipe.cjs +1 -1
  212. package/dist/either/right/asyncPipe.mjs +1 -1
  213. package/dist/either/right/pipe.cjs +1 -1
  214. package/dist/either/right/pipe.mjs +1 -1
  215. package/dist/generator/asyncReduce.cjs +1 -1
  216. package/dist/generator/asyncReduce.d.ts +4 -3
  217. package/dist/generator/asyncReduce.mjs +1 -1
  218. package/dist/generator/reduce.d.ts +6 -7
  219. package/dist/index.cjs +2 -0
  220. package/dist/index.mjs +1 -0
  221. package/dist/string/types/index.d.ts +1 -0
  222. package/dist/string/types/templateLiteralContainLargeType.d.ts +5 -0
  223. package/package.json +3 -3
  224. package/dist/dataParser/parsers/record.d.ts +0 -30
  225. package/dist/dataParser/parsers/templateLiteral.cjs +0 -47
  226. package/dist/dataParser/parsers/templateLiteral.d.ts +0 -49
  227. package/dist/dataParser/parsers/templateLiteral.mjs +0 -44
@@ -15,25 +15,29 @@ export { transform, transformKind } from './parsers/transform.mjs';
15
15
  export { nil, nilKind } from './parsers/nil.mjs';
16
16
  export { boolean, booleanKind } from './parsers/boolean.mjs';
17
17
  export { empty, emptyKind } from './parsers/empty.mjs';
18
- export { templateLiteral, templateLiteralKind } from './parsers/templateLiteral.mjs';
18
+ export { templateLiteral, templateLiteralKind } from './parsers/templateLiteral/index.mjs';
19
19
  export { pipe, pipeKind } from './parsers/pipe.mjs';
20
20
  export { optional, optionalKind } from './parsers/optional.mjs';
21
21
  export { nullable, nullableKind } from './parsers/nullable.mjs';
22
22
  export { lazy, lazyKind } from './parsers/lazy.mjs';
23
23
  export { unknown, unknownKind } from './parsers/unknown.mjs';
24
- export { record, recordKind } from './parsers/record.mjs';
24
+ export { record, recordKind } from './parsers/record/index.mjs';
25
+ export { checkerRefine, dataParserCheckerRefineKind } from './parsers/refine.mjs';
26
+ export { recover, recoverKind } from './parsers/recover.mjs';
25
27
  import * as index from './extended/index.mjs';
26
28
  export { index as extended };
27
29
  export { identifier } from './identifier.mjs';
28
- export { checkerUrl, dataParserCheckerUrlKind, url } from './parsers/string/checkers/url.mjs';
29
- export { checkerEmail, dataParserCheckerEmailKind, email } from './parsers/string/checkers/email.mjs';
30
- export { checkerStringMax, dataParserCheckerStringMaxKind } from './parsers/string/checkers/max.mjs';
31
- export { checkerStringMin, dataParserCheckerStringMinKind } from './parsers/string/checkers/min.mjs';
32
- export { checkerStringRegex, dataParserCheckerStringRegexKind } from './parsers/string/checkers/regex.mjs';
33
- export { checkerInt, dataParserCheckerIntKind, int } from './parsers/number/checkers/int.mjs';
34
- export { checkerNumberMin, dataParserCheckerNumberMinKind } from './parsers/number/checkers/min.mjs';
35
- export { checkerNumberMax, dataParserCheckerNumberMaxKind } from './parsers/number/checkers/max.mjs';
36
- export { checkerArrayMin, dataParserCheckerArrayMinKind } from './parsers/array/checkers/min.mjs';
37
- export { checkerArrayMax, dataParserCheckerArrayMaxKind } from './parsers/array/checkers/max.mjs';
38
- export { checkerBigIntMin, dataParserCheckerBigIntMinKind } from './parsers/bigint/checkers/min.mjs';
39
- export { checkerBigIntMax, dataParserCheckerBigIntMaxKind } from './parsers/bigint/checkers/max.mjs';
30
+ export { checkerUrl, checkerUrlKind, url } from './parsers/string/checkers/url.mjs';
31
+ export { checkerEmail, checkerEmailKind, email } from './parsers/string/checkers/email.mjs';
32
+ export { checkerStringMax, checkerStringMaxKind } from './parsers/string/checkers/max.mjs';
33
+ export { checkerStringMin, checkerStringMinKind } from './parsers/string/checkers/min.mjs';
34
+ export { checkerStringRegex, checkerStringRegexKind } from './parsers/string/checkers/regex.mjs';
35
+ export { checkerInt, checkerIntKind, int } from './parsers/number/checkers/int.mjs';
36
+ export { checkerNumberMin, checkerNumberMinKind } from './parsers/number/checkers/min.mjs';
37
+ export { checkerNumberMax, checkerNumberMaxKind } from './parsers/number/checkers/max.mjs';
38
+ export { checkerArrayMin, checkerArrayMinKind } from './parsers/array/checkers/min.mjs';
39
+ export { checkerArrayMax, checkerArrayMaxKind } from './parsers/array/checkers/max.mjs';
40
+ export { checkerBigIntMin, checkerBigIntMinKind } from './parsers/bigint/checkers/min.mjs';
41
+ export { checkerBigIntMax, checkerBigIntMaxKind } from './parsers/bigint/checkers/max.mjs';
42
+ export { createTemplateLiteralPattern } from './parsers/templateLiteral/createTemplateLiteralPattern.mjs';
43
+ export { findRecordRequiredKey, findRecordRequiredKeyOnTemplateLiteralPart } from './parsers/record/findRecordRequiredKey.mjs';
@@ -4,9 +4,9 @@ var base = require('../../../base.cjs');
4
4
  var error = require('../../../error.cjs');
5
5
  var kind = require('../../../kind.cjs');
6
6
 
7
- const dataParserCheckerArrayMaxKind = kind.createDataParserKind("checker-array-max");
7
+ const checkerArrayMaxKind = kind.createDataParserKind("checker-array-max");
8
8
  function checkerArrayMax(max, definition = {}) {
9
- return base.dataParserCheckerInit(dataParserCheckerArrayMaxKind, {
9
+ return base.dataParserCheckerInit(checkerArrayMaxKind, {
10
10
  definition: {
11
11
  ...definition,
12
12
  max,
@@ -20,4 +20,4 @@ function checkerArrayMax(max, definition = {}) {
20
20
  }
21
21
 
22
22
  exports.checkerArrayMax = checkerArrayMax;
23
- exports.dataParserCheckerArrayMaxKind = dataParserCheckerArrayMaxKind;
23
+ exports.checkerArrayMaxKind = checkerArrayMaxKind;
@@ -3,8 +3,8 @@ import { type DataParserCheckerDefinition, type DataParserChecker } from "../../
3
3
  export interface DataParserCheckerDefinitionArrayMax extends DataParserCheckerDefinition {
4
4
  max: number;
5
5
  }
6
- export declare const dataParserCheckerArrayMaxKind: import("../../../../common").KindHandler<import("../../../../common").KindDefinition<"@DuplojsUtilsDataParser/checker-array-max", unknown>>;
7
- type _DataParserCheckerArrayMax = (Kind<typeof dataParserCheckerArrayMaxKind.definition> & DataParserChecker<DataParserCheckerDefinitionArrayMax, unknown[]>);
6
+ export declare const checkerArrayMaxKind: import("../../../../common").KindHandler<import("../../../../common").KindDefinition<"@DuplojsUtilsDataParser/checker-array-max", unknown>>;
7
+ type _DataParserCheckerArrayMax = (Kind<typeof checkerArrayMaxKind.definition> & DataParserChecker<DataParserCheckerDefinitionArrayMax, unknown[]>);
8
8
  export interface DataParserCheckerArrayMax extends _DataParserCheckerArrayMax {
9
9
  }
10
10
  export declare function checkerArrayMax(max: number, definition?: Partial<Omit<DataParserCheckerDefinitionArrayMax, "max">>): DataParserCheckerArrayMax;
@@ -2,9 +2,9 @@ import { dataParserCheckerInit } from '../../../base.mjs';
2
2
  import { SymbolDataParserErrorIssue } from '../../../error.mjs';
3
3
  import { createDataParserKind } from '../../../kind.mjs';
4
4
 
5
- const dataParserCheckerArrayMaxKind = createDataParserKind("checker-array-max");
5
+ const checkerArrayMaxKind = createDataParserKind("checker-array-max");
6
6
  function checkerArrayMax(max, definition = {}) {
7
- return dataParserCheckerInit(dataParserCheckerArrayMaxKind, {
7
+ return dataParserCheckerInit(checkerArrayMaxKind, {
8
8
  definition: {
9
9
  ...definition,
10
10
  max,
@@ -17,4 +17,4 @@ function checkerArrayMax(max, definition = {}) {
17
17
  });
18
18
  }
19
19
 
20
- export { checkerArrayMax, dataParserCheckerArrayMaxKind };
20
+ export { checkerArrayMax, checkerArrayMaxKind };
@@ -4,9 +4,9 @@ var base = require('../../../base.cjs');
4
4
  var error = require('../../../error.cjs');
5
5
  var kind = require('../../../kind.cjs');
6
6
 
7
- const dataParserCheckerArrayMinKind = kind.createDataParserKind("checker-array-min");
7
+ const checkerArrayMinKind = kind.createDataParserKind("checker-array-min");
8
8
  function checkerArrayMin(min, definition = {}) {
9
- return base.dataParserCheckerInit(dataParserCheckerArrayMinKind, {
9
+ return base.dataParserCheckerInit(checkerArrayMinKind, {
10
10
  definition: {
11
11
  ...definition,
12
12
  min,
@@ -20,4 +20,4 @@ function checkerArrayMin(min, definition = {}) {
20
20
  }
21
21
 
22
22
  exports.checkerArrayMin = checkerArrayMin;
23
- exports.dataParserCheckerArrayMinKind = dataParserCheckerArrayMinKind;
23
+ exports.checkerArrayMinKind = checkerArrayMinKind;
@@ -3,8 +3,8 @@ import { type DataParserCheckerDefinition, type DataParserChecker } from "../../
3
3
  export interface DataParserCheckerDefinitionArrayMin extends DataParserCheckerDefinition {
4
4
  min: number;
5
5
  }
6
- export declare const dataParserCheckerArrayMinKind: import("../../../../common").KindHandler<import("../../../../common").KindDefinition<"@DuplojsUtilsDataParser/checker-array-min", unknown>>;
7
- type _DataParserCheckerArrayMin = (Kind<typeof dataParserCheckerArrayMinKind.definition> & DataParserChecker<DataParserCheckerDefinitionArrayMin, unknown[]>);
6
+ export declare const checkerArrayMinKind: import("../../../../common").KindHandler<import("../../../../common").KindDefinition<"@DuplojsUtilsDataParser/checker-array-min", unknown>>;
7
+ type _DataParserCheckerArrayMin = (Kind<typeof checkerArrayMinKind.definition> & DataParserChecker<DataParserCheckerDefinitionArrayMin, unknown[]>);
8
8
  export interface DataParserCheckerArrayMin extends _DataParserCheckerArrayMin {
9
9
  }
10
10
  export declare function checkerArrayMin(min: number, definition?: Partial<Omit<DataParserCheckerDefinitionArrayMin, "min">>): DataParserCheckerArrayMin;
@@ -2,9 +2,9 @@ import { dataParserCheckerInit } from '../../../base.mjs';
2
2
  import { SymbolDataParserErrorIssue } from '../../../error.mjs';
3
3
  import { createDataParserKind } from '../../../kind.mjs';
4
4
 
5
- const dataParserCheckerArrayMinKind = createDataParserKind("checker-array-min");
5
+ const checkerArrayMinKind = createDataParserKind("checker-array-min");
6
6
  function checkerArrayMin(min, definition = {}) {
7
- return dataParserCheckerInit(dataParserCheckerArrayMinKind, {
7
+ return dataParserCheckerInit(checkerArrayMinKind, {
8
8
  definition: {
9
9
  ...definition,
10
10
  min,
@@ -17,4 +17,4 @@ function checkerArrayMin(min, definition = {}) {
17
17
  });
18
18
  }
19
19
 
20
- export { checkerArrayMin, dataParserCheckerArrayMinKind };
20
+ export { checkerArrayMin, checkerArrayMinKind };
@@ -1,19 +1,26 @@
1
- import { type NeverCoalescing, type Kind } from "../../../common";
2
- import { type DataParserDefinition, type DataParser, type Output, type Input } from "../../base";
1
+ import { type NeverCoalescing, type Kind, type FixDeepFunctionInfer } from "../../../common";
2
+ import { type DataParserDefinition, type DataParser, type Output, type Input, type DataParserChecker } from "../../base";
3
3
  import { type AddCheckersToDefinition, type MergeDefinition } from "../../../dataParser/types";
4
4
  import { type DataParserCheckerArrayMin, type DataParserCheckerArrayMax } from "./checkers";
5
+ import { type CheckerRefineImplementation } from "../refine";
6
+ import { type GetPropsWithValueExtends } from "../../../object";
5
7
  export * from "./checkers";
6
- export type DataParserArrayCheckers = (DataParserCheckerArrayMin | DataParserCheckerArrayMax);
7
- export interface DataParserDefinitionArray extends DataParserDefinition<DataParserArrayCheckers> {
8
+ export interface DataParserArrayCheckerCustom<GenericInput extends unknown[] = unknown[]> {
9
+ }
10
+ export type DataParserArrayCheckers<GenericInput extends unknown[] = unknown[]> = (DataParserArrayCheckerCustom<GenericInput>[GetPropsWithValueExtends<DataParserArrayCheckerCustom<GenericInput>, DataParserChecker>] | DataParserCheckerArrayMin | DataParserCheckerArrayMax | CheckerRefineImplementation<GenericInput>);
11
+ export interface DataParserDefinitionArray extends DataParserDefinition {
8
12
  readonly element: DataParser;
9
13
  }
10
14
  export declare const arrayKind: import("../../../common").KindHandler<import("../../../common").KindDefinition<"@DuplojsUtilsDataParser/array", unknown>>;
11
15
  type _DataParserArray<GenericDefinition extends DataParserDefinitionArray> = (DataParser<GenericDefinition, Output<GenericDefinition["element"]>[], Input<GenericDefinition["element"]>[]> & Kind<typeof arrayKind.definition>);
12
16
  export interface DataParserArray<GenericDefinition extends DataParserDefinitionArray = DataParserDefinitionArray> extends _DataParserArray<GenericDefinition> {
13
17
  addChecker<GenericChecker extends readonly [
14
- DataParserArrayCheckers,
15
- ...DataParserArrayCheckers[]
16
- ]>(...args: GenericChecker): DataParserArray<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
18
+ DataParserArrayCheckers<Output<this>>,
19
+ ...DataParserArrayCheckers<Output<this>>[]
20
+ ]>(...args: FixDeepFunctionInfer<readonly [
21
+ DataParserArrayCheckers<Output<this>>,
22
+ ...DataParserArrayCheckers<Output<this>>[]
23
+ ], GenericChecker>): DataParserArray<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
17
24
  }
18
25
  export declare function array<GenericElement extends DataParser, const GenericDefinition extends Partial<Omit<DataParserDefinitionArray, "element">> = never>(element: GenericElement, definition?: GenericDefinition): DataParserArray<MergeDefinition<DataParserDefinitionArray, NeverCoalescing<GenericDefinition, {}> & {
19
26
  element: GenericElement;
@@ -4,9 +4,9 @@ var base = require('../../../base.cjs');
4
4
  var error = require('../../../error.cjs');
5
5
  var kind = require('../../../kind.cjs');
6
6
 
7
- const dataParserCheckerBigIntMaxKind = kind.createDataParserKind("checker-bigint-max");
7
+ const checkerBigIntMaxKind = kind.createDataParserKind("checker-bigint-max");
8
8
  function checkerBigIntMax(max, definition = {}) {
9
- return base.dataParserCheckerInit(dataParserCheckerBigIntMaxKind, {
9
+ return base.dataParserCheckerInit(checkerBigIntMaxKind, {
10
10
  definition: {
11
11
  ...definition,
12
12
  max,
@@ -20,4 +20,4 @@ function checkerBigIntMax(max, definition = {}) {
20
20
  }
21
21
 
22
22
  exports.checkerBigIntMax = checkerBigIntMax;
23
- exports.dataParserCheckerBigIntMaxKind = dataParserCheckerBigIntMaxKind;
23
+ exports.checkerBigIntMaxKind = checkerBigIntMaxKind;
@@ -3,8 +3,8 @@ import { type DataParserCheckerDefinition, type DataParserChecker } from "../../
3
3
  export interface DataParserCheckerDefinitionBigIntMax extends DataParserCheckerDefinition {
4
4
  max: bigint;
5
5
  }
6
- export declare const dataParserCheckerBigIntMaxKind: import("../../../../common").KindHandler<import("../../../../common").KindDefinition<"@DuplojsUtilsDataParser/checker-bigint-max", unknown>>;
7
- type _DataParserCheckerBigIntMax = (Kind<typeof dataParserCheckerBigIntMaxKind.definition> & DataParserChecker<DataParserCheckerDefinitionBigIntMax, bigint>);
6
+ export declare const checkerBigIntMaxKind: import("../../../../common").KindHandler<import("../../../../common").KindDefinition<"@DuplojsUtilsDataParser/checker-bigint-max", unknown>>;
7
+ type _DataParserCheckerBigIntMax = (Kind<typeof checkerBigIntMaxKind.definition> & DataParserChecker<DataParserCheckerDefinitionBigIntMax, bigint>);
8
8
  export interface DataParserCheckerBigIntMax extends _DataParserCheckerBigIntMax {
9
9
  }
10
10
  export declare function checkerBigIntMax(max: bigint, definition?: Partial<Omit<DataParserCheckerDefinitionBigIntMax, "max">>): DataParserCheckerBigIntMax;
@@ -2,9 +2,9 @@ import { dataParserCheckerInit } from '../../../base.mjs';
2
2
  import { SymbolDataParserErrorIssue } from '../../../error.mjs';
3
3
  import { createDataParserKind } from '../../../kind.mjs';
4
4
 
5
- const dataParserCheckerBigIntMaxKind = createDataParserKind("checker-bigint-max");
5
+ const checkerBigIntMaxKind = createDataParserKind("checker-bigint-max");
6
6
  function checkerBigIntMax(max, definition = {}) {
7
- return dataParserCheckerInit(dataParserCheckerBigIntMaxKind, {
7
+ return dataParserCheckerInit(checkerBigIntMaxKind, {
8
8
  definition: {
9
9
  ...definition,
10
10
  max,
@@ -17,4 +17,4 @@ function checkerBigIntMax(max, definition = {}) {
17
17
  });
18
18
  }
19
19
 
20
- export { checkerBigIntMax, dataParserCheckerBigIntMaxKind };
20
+ export { checkerBigIntMax, checkerBigIntMaxKind };
@@ -4,9 +4,9 @@ var base = require('../../../base.cjs');
4
4
  var error = require('../../../error.cjs');
5
5
  var kind = require('../../../kind.cjs');
6
6
 
7
- const dataParserCheckerBigIntMinKind = kind.createDataParserKind("checker-bigint-min");
7
+ const checkerBigIntMinKind = kind.createDataParserKind("checker-bigint-min");
8
8
  function checkerBigIntMin(min, definition = {}) {
9
- return base.dataParserCheckerInit(dataParserCheckerBigIntMinKind, {
9
+ return base.dataParserCheckerInit(checkerBigIntMinKind, {
10
10
  definition: {
11
11
  ...definition,
12
12
  min,
@@ -20,4 +20,4 @@ function checkerBigIntMin(min, definition = {}) {
20
20
  }
21
21
 
22
22
  exports.checkerBigIntMin = checkerBigIntMin;
23
- exports.dataParserCheckerBigIntMinKind = dataParserCheckerBigIntMinKind;
23
+ exports.checkerBigIntMinKind = checkerBigIntMinKind;
@@ -3,8 +3,8 @@ import { type DataParserCheckerDefinition, type DataParserChecker } from "../../
3
3
  export interface DataParserCheckerDefinitionBigIntMin extends DataParserCheckerDefinition {
4
4
  min: bigint;
5
5
  }
6
- export declare const dataParserCheckerBigIntMinKind: import("../../../../common").KindHandler<import("../../../../common").KindDefinition<"@DuplojsUtilsDataParser/checker-bigint-min", unknown>>;
7
- type _DataParserCheckerBigIntMin = (Kind<typeof dataParserCheckerBigIntMinKind.definition> & DataParserChecker<DataParserCheckerDefinitionBigIntMin, bigint>);
6
+ export declare const checkerBigIntMinKind: import("../../../../common").KindHandler<import("../../../../common").KindDefinition<"@DuplojsUtilsDataParser/checker-bigint-min", unknown>>;
7
+ type _DataParserCheckerBigIntMin = (Kind<typeof checkerBigIntMinKind.definition> & DataParserChecker<DataParserCheckerDefinitionBigIntMin, bigint>);
8
8
  export interface DataParserCheckerBigIntMin extends _DataParserCheckerBigIntMin {
9
9
  }
10
10
  export declare function checkerBigIntMin(min: bigint, definition?: Partial<Omit<DataParserCheckerDefinitionBigIntMin, "min">>): DataParserCheckerBigIntMin;
@@ -2,9 +2,9 @@ import { dataParserCheckerInit } from '../../../base.mjs';
2
2
  import { SymbolDataParserErrorIssue } from '../../../error.mjs';
3
3
  import { createDataParserKind } from '../../../kind.mjs';
4
4
 
5
- const dataParserCheckerBigIntMinKind = createDataParserKind("checker-bigint-min");
5
+ const checkerBigIntMinKind = createDataParserKind("checker-bigint-min");
6
6
  function checkerBigIntMin(min, definition = {}) {
7
- return dataParserCheckerInit(dataParserCheckerBigIntMinKind, {
7
+ return dataParserCheckerInit(checkerBigIntMinKind, {
8
8
  definition: {
9
9
  ...definition,
10
10
  min,
@@ -17,4 +17,4 @@ function checkerBigIntMin(min, definition = {}) {
17
17
  });
18
18
  }
19
19
 
20
- export { checkerBigIntMin, dataParserCheckerBigIntMinKind };
20
+ export { checkerBigIntMin, checkerBigIntMinKind };
@@ -1,9 +1,13 @@
1
- import { type NeverCoalescing, type Kind } from "../../../common";
2
- import { type DataParserDefinition, type DataParser } from "../../base";
1
+ import { type NeverCoalescing, type Kind, type FixDeepFunctionInfer } from "../../../common";
2
+ import { type DataParserDefinition, type DataParser, type DataParserChecker } from "../../base";
3
3
  import { type AddCheckersToDefinition, type MergeDefinition } from "../../../dataParser/types";
4
4
  import { type DataParserCheckerBigIntMin, type DataParserCheckerBigIntMax } from "./checkers";
5
+ import { type CheckerRefineImplementation } from "../refine";
6
+ import { type GetPropsWithValueExtends } from "../../../object";
5
7
  export * from "./checkers";
6
- export type DataParserBigIntCheckers = (DataParserCheckerBigIntMin | DataParserCheckerBigIntMax);
8
+ export interface DataParserBigIntCheckerCustom {
9
+ }
10
+ export type DataParserBigIntCheckers = (DataParserBigIntCheckerCustom[GetPropsWithValueExtends<DataParserBigIntCheckerCustom, DataParserChecker>] | DataParserCheckerBigIntMin | DataParserCheckerBigIntMax | CheckerRefineImplementation<bigint>);
7
11
  export interface DataParserDefinitionBigInt extends DataParserDefinition<DataParserBigIntCheckers> {
8
12
  readonly coerce: boolean;
9
13
  }
@@ -13,6 +17,9 @@ export interface DataParserBigInt<GenericDefinition extends DataParserDefinition
13
17
  addChecker<GenericChecker extends readonly [
14
18
  DataParserBigIntCheckers,
15
19
  ...DataParserBigIntCheckers[]
16
- ]>(...args: GenericChecker): DataParserBigInt<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
20
+ ]>(...args: FixDeepFunctionInfer<readonly [
21
+ DataParserBigIntCheckers,
22
+ ...DataParserBigIntCheckers[]
23
+ ], GenericChecker>): DataParserBigInt<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
17
24
  }
18
25
  export declare function bigint<const GenericDefinition extends Partial<DataParserDefinitionBigInt> = never>(definition?: GenericDefinition): DataParserBigInt<MergeDefinition<DataParserDefinitionBigInt, NeverCoalescing<GenericDefinition, {}>>>;
@@ -1,12 +1,24 @@
1
- import { type NeverCoalescing, type Kind } from "../../common";
2
- import { type DataParserDefinition, type DataParser } from "../base";
3
- import { type MergeDefinition } from "../../dataParser/types";
4
- export interface DataParserDefinitionBoolean extends DataParserDefinition<never> {
1
+ import { type NeverCoalescing, type Kind, type FixDeepFunctionInfer } from "../../common";
2
+ import { type DataParserDefinition, type DataParser, type DataParserChecker } from "../base";
3
+ import { type AddCheckersToDefinition, type MergeDefinition } from "../../dataParser/types";
4
+ import { type CheckerRefineImplementation } from "./refine";
5
+ import { type GetPropsWithValueExtends } from "../../object";
6
+ export interface DataParserBooleanCheckerCustom {
7
+ }
8
+ export type DataParserBooleanCheckers = (DataParserBooleanCheckerCustom[GetPropsWithValueExtends<DataParserBooleanCheckerCustom, DataParserChecker>] | CheckerRefineImplementation<boolean>);
9
+ export interface DataParserDefinitionBoolean extends DataParserDefinition<DataParserBooleanCheckers> {
5
10
  readonly coerce: boolean;
6
11
  }
7
12
  export declare const booleanKind: import("../../common").KindHandler<import("../../common").KindDefinition<"@DuplojsUtilsDataParser/boolean", unknown>>;
8
13
  type _DataParserBoolean<GenericDefinition extends DataParserDefinitionBoolean> = (DataParser<GenericDefinition, boolean, boolean> & Kind<typeof booleanKind.definition>);
9
14
  export interface DataParserBoolean<GenericDefinition extends DataParserDefinitionBoolean = DataParserDefinitionBoolean> extends _DataParserBoolean<GenericDefinition> {
15
+ addChecker<GenericChecker extends readonly [
16
+ DataParserBooleanCheckers,
17
+ ...DataParserBooleanCheckers[]
18
+ ]>(...args: FixDeepFunctionInfer<readonly [
19
+ DataParserBooleanCheckers,
20
+ ...DataParserBooleanCheckers[]
21
+ ], GenericChecker>): DataParserBoolean<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
10
22
  }
11
23
  export declare function boolean<const GenericDefinition extends Partial<DataParserDefinitionBoolean> = never>(definition?: GenericDefinition): DataParserBoolean<MergeDefinition<DataParserDefinitionBoolean, NeverCoalescing<GenericDefinition, {}>>>;
12
24
  export {};
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ require('../../base.cjs');
3
4
  require('../../../common/globalStore.cjs');
4
5
  require('../../../common/builder.cjs');
5
6
  var index = require('../bigint/index.cjs');
@@ -1,3 +1,4 @@
1
+ import '../../base.mjs';
1
2
  import '../../../common/globalStore.mjs';
2
3
  import '../../../common/builder.mjs';
3
4
  import { bigint as bigint$1 } from '../bigint/index.mjs';
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ require('../../base.cjs');
3
4
  require('../../../common/globalStore.cjs');
4
5
  require('../../../common/builder.cjs');
5
6
  var boolean$1 = require('../boolean.cjs');
@@ -1,3 +1,4 @@
1
+ import '../../base.mjs';
1
2
  import '../../../common/globalStore.mjs';
2
3
  import '../../../common/builder.mjs';
3
4
  import { boolean as boolean$1 } from '../boolean.mjs';
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ require('../../base.cjs');
3
4
  require('../../../common/globalStore.cjs');
4
5
  require('../../../common/builder.cjs');
5
6
  var empty$1 = require('../empty.cjs');
@@ -1,3 +1,4 @@
1
+ import '../../base.mjs';
1
2
  import '../../../common/globalStore.mjs';
2
3
  import '../../../common/builder.mjs';
3
4
  import { empty as empty$1 } from '../empty.mjs';
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ require('../../base.cjs');
3
4
  require('../../../common/globalStore.cjs');
4
5
  require('../../../common/builder.cjs');
5
6
  var nil$1 = require('../nil.cjs');
@@ -1,3 +1,4 @@
1
+ import '../../base.mjs';
1
2
  import '../../../common/globalStore.mjs';
2
3
  import '../../../common/builder.mjs';
3
4
  import { nil as nil$1 } from '../nil.mjs';
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ require('../../base.cjs');
3
4
  require('../../../common/globalStore.cjs');
4
5
  require('../../../common/builder.cjs');
5
6
  var index = require('../number/index.cjs');
@@ -1,3 +1,4 @@
1
+ import '../../base.mjs';
1
2
  import '../../../common/globalStore.mjs';
2
3
  import '../../../common/builder.mjs';
3
4
  import { number as number$1 } from '../number/index.mjs';
@@ -3,6 +3,7 @@
3
3
  var index = require('../string/index.cjs');
4
4
  require('../../../common/globalStore.cjs');
5
5
  require('../../../common/builder.cjs');
6
+ require('../../base.cjs');
6
7
  require('../../../pattern/result.cjs');
7
8
 
8
9
  function string(definition) {
@@ -1,6 +1,7 @@
1
1
  import { string as string$1 } from '../string/index.mjs';
2
2
  import '../../../common/globalStore.mjs';
3
3
  import '../../../common/builder.mjs';
4
+ import '../../base.mjs';
4
5
  import '../../../pattern/result.mjs';
5
6
 
6
7
  function string(definition) {
@@ -1,12 +1,24 @@
1
- import { type NeverCoalescing, type Kind } from "../../common";
2
- import { type DataParserDefinition, type DataParser } from "../base";
3
- import { type MergeDefinition } from "../../dataParser/types";
4
- export interface DataParserDefinitionEmpty extends DataParserDefinition<never> {
1
+ import { type NeverCoalescing, type Kind, type FixDeepFunctionInfer } from "../../common";
2
+ import { type DataParserDefinition, type DataParser, type DataParserChecker } from "../base";
3
+ import { type AddCheckersToDefinition, type MergeDefinition } from "../../dataParser/types";
4
+ import { type CheckerRefineImplementation } from "./refine";
5
+ import { type GetPropsWithValueExtends } from "../../object";
6
+ export interface DataParserEmptyCheckerCustom {
7
+ }
8
+ export type DataParserEmptyCheckers = (DataParserEmptyCheckerCustom[GetPropsWithValueExtends<DataParserEmptyCheckerCustom, DataParserChecker>] | CheckerRefineImplementation<undefined>);
9
+ export interface DataParserDefinitionEmpty extends DataParserDefinition<DataParserEmptyCheckers> {
5
10
  readonly coerce: boolean;
6
11
  }
7
12
  export declare const emptyKind: import("../../common").KindHandler<import("../../common").KindDefinition<"@DuplojsUtilsDataParser/empty", unknown>>;
8
13
  type _DataParserEmpty<GenericDefinition extends DataParserDefinitionEmpty> = (DataParser<GenericDefinition, undefined, undefined> & Kind<typeof emptyKind.definition>);
9
14
  export interface DataParserEmpty<GenericDefinition extends DataParserDefinitionEmpty = DataParserDefinitionEmpty> extends _DataParserEmpty<GenericDefinition> {
15
+ addChecker<GenericChecker extends readonly [
16
+ DataParserEmptyCheckers,
17
+ ...DataParserEmptyCheckers[]
18
+ ]>(...args: FixDeepFunctionInfer<readonly [
19
+ DataParserEmptyCheckers,
20
+ ...DataParserEmptyCheckers[]
21
+ ], GenericChecker>): DataParserEmpty<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
10
22
  }
11
23
  export declare function empty<const GenericDefinition extends Partial<DataParserDefinitionEmpty> = never>(definition?: GenericDefinition): DataParserEmpty<MergeDefinition<DataParserDefinitionEmpty, NeverCoalescing<GenericDefinition, {}>>>;
12
24
  export {};
@@ -18,3 +18,5 @@ export * from "./nullable";
18
18
  export * from "./lazy";
19
19
  export * from "./unknown";
20
20
  export * from "./record";
21
+ export * from "./refine";
22
+ export * from "./recover";
@@ -1,12 +1,24 @@
1
- import { type NeverCoalescing, type Kind } from "../../common";
2
- import { type DataParserDefinition, type DataParser, type Output, type Input } from "../base";
3
- import { type MergeDefinition } from "../../dataParser/types";
4
- export interface DataParserDefinitionLazy extends DataParserDefinition<never> {
1
+ import { type NeverCoalescing, type Kind, type FixDeepFunctionInfer } from "../../common";
2
+ import { type DataParserDefinition, type DataParser, type Output, type Input, type DataParserChecker } from "../base";
3
+ import { type AddCheckersToDefinition, type MergeDefinition } from "../../dataParser/types";
4
+ import { type CheckerRefineImplementation } from "./refine";
5
+ import { type GetPropsWithValueExtends } from "../../object";
6
+ export interface DataParserLazyCheckerCustom<GenericInput extends unknown = unknown> {
7
+ }
8
+ export type DataParserLazyCheckers<GenericInput extends unknown = unknown> = (DataParserLazyCheckerCustom<GenericInput>[GetPropsWithValueExtends<DataParserLazyCheckerCustom<GenericInput>, DataParserChecker>] | CheckerRefineImplementation<GenericInput>);
9
+ export interface DataParserDefinitionLazy extends DataParserDefinition<DataParserLazyCheckers> {
5
10
  getter(): DataParser;
6
11
  }
7
12
  export declare const lazyKind: import("../../common").KindHandler<import("../../common").KindDefinition<"@DuplojsUtilsDataParser/lazy", unknown>>;
8
13
  type _DataParserLazy<GenericDefinition extends DataParserDefinitionLazy> = (DataParser<GenericDefinition, Output<ReturnType<GenericDefinition["getter"]>>, Input<ReturnType<GenericDefinition["getter"]>>> & Kind<typeof lazyKind.definition>);
9
14
  export interface DataParserLazy<GenericDefinition extends DataParserDefinitionLazy = DataParserDefinitionLazy> extends _DataParserLazy<GenericDefinition> {
15
+ addChecker<GenericChecker extends readonly [
16
+ DataParserLazyCheckers<Output<this>>,
17
+ ...DataParserLazyCheckers<Output<this>>[]
18
+ ]>(...args: FixDeepFunctionInfer<readonly [
19
+ DataParserLazyCheckers<Output<this>>,
20
+ ...DataParserLazyCheckers<Output<this>>[]
21
+ ], GenericChecker>): DataParserLazy<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
10
22
  }
11
23
  export declare function lazy<GenericDataParser extends DataParser, const GenericDefinition extends Partial<DataParserDefinitionLazy> = never>(getter: () => GenericDataParser, definition?: GenericDefinition): DataParserLazy<MergeDefinition<DataParserDefinitionLazy, NeverCoalescing<GenericDefinition, {}> & {
12
24
  getter(): GenericDataParser;
@@ -1,13 +1,25 @@
1
- import { type NeverCoalescing, type Kind } from "../../common";
2
- import { type DataParserDefinition, type DataParser } from "../base";
3
- import { type MergeDefinition } from "../../dataParser/types";
1
+ import { type NeverCoalescing, type Kind, type FixDeepFunctionInfer } from "../../common";
2
+ import { type DataParserDefinition, type DataParser, type Output, type DataParserChecker } from "../base";
3
+ import { type AddCheckersToDefinition, type MergeDefinition } from "../../dataParser/types";
4
+ import { type CheckerRefineImplementation } from "./refine";
5
+ import { type GetPropsWithValueExtends } from "../../object";
4
6
  export type LiteralValue = string | number | bigint | undefined | null | boolean;
5
- export interface DataParserDefinitionLiteral extends DataParserDefinition<never> {
7
+ export interface DataParserLiteralCheckerCustom<GenericInput extends LiteralValue = LiteralValue> {
8
+ }
9
+ export type DataParserLiteralCheckers<GenericInput extends LiteralValue = LiteralValue> = (DataParserLiteralCheckerCustom<GenericInput>[GetPropsWithValueExtends<DataParserLiteralCheckerCustom<GenericInput>, DataParserChecker>] | CheckerRefineImplementation<GenericInput>);
10
+ export interface DataParserDefinitionLiteral extends DataParserDefinition<DataParserLiteralCheckers> {
6
11
  readonly value: LiteralValue[];
7
12
  }
8
13
  export declare const literalKind: import("../../common").KindHandler<import("../../common").KindDefinition<"@DuplojsUtilsDataParser/literal", unknown>>;
9
14
  type _DataParserLiteral<GenericDefinition extends DataParserDefinitionLiteral> = (DataParser<GenericDefinition, GenericDefinition["value"][number], GenericDefinition["value"][number]> & Kind<typeof literalKind.definition>);
10
15
  export interface DataParserLiteral<GenericDefinition extends DataParserDefinitionLiteral = DataParserDefinitionLiteral> extends _DataParserLiteral<GenericDefinition> {
16
+ addChecker<GenericChecker extends readonly [
17
+ DataParserLiteralCheckers<Output<this>>,
18
+ ...DataParserLiteralCheckers<Output<this>>[]
19
+ ]>(...args: FixDeepFunctionInfer<readonly [
20
+ DataParserLiteralCheckers<Output<this>>,
21
+ ...DataParserLiteralCheckers<Output<this>>[]
22
+ ], GenericChecker>): DataParserLiteral<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
11
23
  }
12
24
  export declare function literal<const GenericValue extends LiteralValue, const GenericDefinition extends Partial<Omit<DataParserDefinitionLiteral, "value">> = never>(value: GenericValue | GenericValue[], definition?: GenericDefinition): DataParserLiteral<MergeDefinition<DataParserDefinitionLiteral, NeverCoalescing<GenericDefinition, {}> & {
13
25
  value: GenericValue[];
@@ -1,12 +1,24 @@
1
- import { type NeverCoalescing, type Kind } from "../../common";
2
- import { type DataParserDefinition, type DataParser } from "../base";
3
- import { type MergeDefinition } from "../../dataParser/types";
4
- export interface DataParserDefinitionNil extends DataParserDefinition<never> {
1
+ import { type NeverCoalescing, type Kind, type FixDeepFunctionInfer } from "../../common";
2
+ import { type DataParserDefinition, type DataParser, type DataParserChecker } from "../base";
3
+ import { type AddCheckersToDefinition, type MergeDefinition } from "../../dataParser/types";
4
+ import { type CheckerRefineImplementation } from "./refine";
5
+ import { type GetPropsWithValueExtends } from "../../object";
6
+ export interface DataParserNilCheckerCustom {
7
+ }
8
+ export type DataParserNilCheckers = (DataParserNilCheckerCustom[GetPropsWithValueExtends<DataParserNilCheckerCustom, DataParserChecker>] | CheckerRefineImplementation<null>);
9
+ export interface DataParserDefinitionNil extends DataParserDefinition<DataParserNilCheckers> {
5
10
  readonly coerce: boolean;
6
11
  }
7
12
  export declare const nilKind: import("../../common").KindHandler<import("../../common").KindDefinition<"@DuplojsUtilsDataParser/nil", unknown>>;
8
13
  type _DataParserNil<GenericDefinition extends DataParserDefinitionNil> = (DataParser<GenericDefinition, null, null> & Kind<typeof nilKind.definition>);
9
14
  export interface DataParserNil<GenericDefinition extends DataParserDefinitionNil = DataParserDefinitionNil> extends _DataParserNil<GenericDefinition> {
15
+ addChecker<GenericChecker extends readonly [
16
+ DataParserNilCheckers,
17
+ ...DataParserNilCheckers[]
18
+ ]>(...args: FixDeepFunctionInfer<readonly [
19
+ DataParserNilCheckers,
20
+ ...DataParserNilCheckers[]
21
+ ], GenericChecker>): DataParserNil<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
10
22
  }
11
23
  export declare function nil<const GenericDefinition extends Partial<DataParserDefinitionNil> = never>(definition?: GenericDefinition): DataParserNil<MergeDefinition<DataParserDefinitionNil, NeverCoalescing<GenericDefinition, {}>>>;
12
24
  export {};
@@ -10,17 +10,18 @@ function nullable(inner, definition) {
10
10
  errorMessage: definition?.errorMessage,
11
11
  checkers: definition?.checkers ?? [],
12
12
  inner,
13
+ coalescingValue: definition?.coalescingValue ?? null,
13
14
  },
14
15
  }, {
15
16
  sync: (data, error, self) => {
16
17
  if (data === null) {
17
- return data;
18
+ return self.definition.coalescingValue;
18
19
  }
19
20
  return self.definition.inner.exec(data, error);
20
21
  },
21
22
  async: async (data, error, self) => {
22
23
  if (data === null) {
23
- return data;
24
+ return self.definition.coalescingValue;
24
25
  }
25
26
  return self.definition.inner.asyncExec(data, error);
26
27
  },