@duplojs/utils 1.1.13 → 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 (224) 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.d.ts +2 -2
  17. package/dist/common/or.d.ts +9 -9
  18. package/dist/common/types/index.d.ts +1 -0
  19. package/dist/common/types/onlyLiteral.d.ts +18 -0
  20. package/dist/dataParser/base.cjs +55 -29
  21. package/dist/dataParser/base.d.ts +1 -1
  22. package/dist/dataParser/base.mjs +55 -29
  23. package/dist/dataParser/baseExtended.cjs +15 -2
  24. package/dist/dataParser/baseExtended.d.ts +8 -3
  25. package/dist/dataParser/baseExtended.mjs +15 -2
  26. package/dist/dataParser/extended/array.cjs +1 -0
  27. package/dist/dataParser/extended/array.d.ts +11 -5
  28. package/dist/dataParser/extended/array.mjs +1 -0
  29. package/dist/dataParser/extended/bigint.cjs +1 -0
  30. package/dist/dataParser/extended/bigint.d.ts +9 -2
  31. package/dist/dataParser/extended/bigint.mjs +1 -0
  32. package/dist/dataParser/extended/boolean.cjs +1 -0
  33. package/dist/dataParser/extended/boolean.d.ts +13 -2
  34. package/dist/dataParser/extended/boolean.mjs +1 -0
  35. package/dist/dataParser/extended/coerce/bigint.cjs +1 -0
  36. package/dist/dataParser/extended/coerce/bigint.mjs +1 -0
  37. package/dist/dataParser/extended/coerce/boolean.cjs +1 -0
  38. package/dist/dataParser/extended/coerce/boolean.mjs +1 -0
  39. package/dist/dataParser/extended/coerce/empty.cjs +1 -0
  40. package/dist/dataParser/extended/coerce/empty.mjs +1 -0
  41. package/dist/dataParser/extended/coerce/nil.cjs +1 -0
  42. package/dist/dataParser/extended/coerce/nil.mjs +1 -0
  43. package/dist/dataParser/extended/coerce/number.cjs +1 -0
  44. package/dist/dataParser/extended/coerce/number.mjs +1 -0
  45. package/dist/dataParser/extended/coerce/string.cjs +1 -0
  46. package/dist/dataParser/extended/coerce/string.mjs +1 -0
  47. package/dist/dataParser/extended/empty.cjs +1 -0
  48. package/dist/dataParser/extended/empty.d.ts +13 -2
  49. package/dist/dataParser/extended/empty.mjs +1 -0
  50. package/dist/dataParser/extended/index.cjs +2 -0
  51. package/dist/dataParser/extended/index.d.ts +1 -0
  52. package/dist/dataParser/extended/index.mjs +1 -0
  53. package/dist/dataParser/extended/lazy.cjs +1 -0
  54. package/dist/dataParser/extended/lazy.d.ts +13 -3
  55. package/dist/dataParser/extended/lazy.mjs +1 -0
  56. package/dist/dataParser/extended/literal.cjs +1 -0
  57. package/dist/dataParser/extended/literal.d.ts +13 -2
  58. package/dist/dataParser/extended/literal.mjs +1 -0
  59. package/dist/dataParser/extended/nil.cjs +1 -0
  60. package/dist/dataParser/extended/nil.d.ts +13 -2
  61. package/dist/dataParser/extended/nil.mjs +1 -0
  62. package/dist/dataParser/extended/nullable.cjs +1 -0
  63. package/dist/dataParser/extended/nullable.d.ts +14 -4
  64. package/dist/dataParser/extended/nullable.mjs +1 -0
  65. package/dist/dataParser/extended/number.cjs +1 -0
  66. package/dist/dataParser/extended/number.d.ts +9 -2
  67. package/dist/dataParser/extended/number.mjs +1 -0
  68. package/dist/dataParser/extended/object.cjs +1 -0
  69. package/dist/dataParser/extended/object.d.ts +13 -2
  70. package/dist/dataParser/extended/object.mjs +1 -0
  71. package/dist/dataParser/extended/optional.cjs +1 -0
  72. package/dist/dataParser/extended/optional.d.ts +14 -4
  73. package/dist/dataParser/extended/optional.mjs +1 -0
  74. package/dist/dataParser/extended/pipe.cjs +1 -0
  75. package/dist/dataParser/extended/pipe.d.ts +13 -3
  76. package/dist/dataParser/extended/pipe.mjs +1 -0
  77. package/dist/dataParser/extended/record.cjs +3 -2
  78. package/dist/dataParser/extended/record.d.ts +13 -3
  79. package/dist/dataParser/extended/record.mjs +2 -1
  80. package/dist/dataParser/extended/recover.cjs +14 -0
  81. package/dist/dataParser/extended/recover.d.ts +23 -0
  82. package/dist/dataParser/extended/recover.mjs +12 -0
  83. package/dist/dataParser/extended/string.cjs +1 -0
  84. package/dist/dataParser/extended/string.d.ts +9 -2
  85. package/dist/dataParser/extended/string.mjs +1 -0
  86. package/dist/dataParser/extended/templateLiteral.cjs +4 -2
  87. package/dist/dataParser/extended/templateLiteral.d.ts +13 -2
  88. package/dist/dataParser/extended/templateLiteral.mjs +3 -1
  89. package/dist/dataParser/extended/transform.cjs +1 -0
  90. package/dist/dataParser/extended/transform.d.ts +12 -2
  91. package/dist/dataParser/extended/transform.mjs +1 -0
  92. package/dist/dataParser/extended/tuple.cjs +11 -1
  93. package/dist/dataParser/extended/tuple.d.ts +19 -2
  94. package/dist/dataParser/extended/tuple.mjs +11 -1
  95. package/dist/dataParser/extended/union.cjs +1 -0
  96. package/dist/dataParser/extended/union.d.ts +13 -2
  97. package/dist/dataParser/extended/union.mjs +1 -0
  98. package/dist/dataParser/extended/unknown.cjs +1 -0
  99. package/dist/dataParser/extended/unknown.d.ts +13 -2
  100. package/dist/dataParser/extended/unknown.mjs +1 -0
  101. package/dist/dataParser/identifier.cjs +2 -17
  102. package/dist/dataParser/identifier.d.ts +216 -8
  103. package/dist/dataParser/identifier.mjs +2 -17
  104. package/dist/dataParser/index.cjs +29 -18
  105. package/dist/dataParser/index.mjs +18 -14
  106. package/dist/dataParser/parsers/array/checkers/max.cjs +3 -3
  107. package/dist/dataParser/parsers/array/checkers/max.d.ts +2 -2
  108. package/dist/dataParser/parsers/array/checkers/max.mjs +3 -3
  109. package/dist/dataParser/parsers/array/checkers/min.cjs +3 -3
  110. package/dist/dataParser/parsers/array/checkers/min.d.ts +2 -2
  111. package/dist/dataParser/parsers/array/checkers/min.mjs +3 -3
  112. package/dist/dataParser/parsers/array/index.d.ts +14 -7
  113. package/dist/dataParser/parsers/bigint/checkers/max.cjs +3 -3
  114. package/dist/dataParser/parsers/bigint/checkers/max.d.ts +2 -2
  115. package/dist/dataParser/parsers/bigint/checkers/max.mjs +3 -3
  116. package/dist/dataParser/parsers/bigint/checkers/min.cjs +3 -3
  117. package/dist/dataParser/parsers/bigint/checkers/min.d.ts +2 -2
  118. package/dist/dataParser/parsers/bigint/checkers/min.mjs +3 -3
  119. package/dist/dataParser/parsers/bigint/index.d.ts +11 -4
  120. package/dist/dataParser/parsers/boolean.d.ts +16 -4
  121. package/dist/dataParser/parsers/coerce/bigint.cjs +1 -0
  122. package/dist/dataParser/parsers/coerce/bigint.mjs +1 -0
  123. package/dist/dataParser/parsers/coerce/boolean.cjs +1 -0
  124. package/dist/dataParser/parsers/coerce/boolean.mjs +1 -0
  125. package/dist/dataParser/parsers/coerce/empty.cjs +1 -0
  126. package/dist/dataParser/parsers/coerce/empty.mjs +1 -0
  127. package/dist/dataParser/parsers/coerce/nil.cjs +1 -0
  128. package/dist/dataParser/parsers/coerce/nil.mjs +1 -0
  129. package/dist/dataParser/parsers/coerce/number.cjs +1 -0
  130. package/dist/dataParser/parsers/coerce/number.mjs +1 -0
  131. package/dist/dataParser/parsers/coerce/string.cjs +1 -0
  132. package/dist/dataParser/parsers/coerce/string.mjs +1 -0
  133. package/dist/dataParser/parsers/empty.d.ts +16 -4
  134. package/dist/dataParser/parsers/index.d.ts +2 -0
  135. package/dist/dataParser/parsers/lazy.d.ts +16 -4
  136. package/dist/dataParser/parsers/literal.d.ts +16 -4
  137. package/dist/dataParser/parsers/nil.d.ts +16 -4
  138. package/dist/dataParser/parsers/nullable.cjs +3 -2
  139. package/dist/dataParser/parsers/nullable.d.ts +19 -6
  140. package/dist/dataParser/parsers/nullable.mjs +3 -2
  141. package/dist/dataParser/parsers/number/checkers/int.cjs +3 -3
  142. package/dist/dataParser/parsers/number/checkers/int.d.ts +2 -2
  143. package/dist/dataParser/parsers/number/checkers/int.mjs +3 -3
  144. package/dist/dataParser/parsers/number/checkers/max.cjs +3 -3
  145. package/dist/dataParser/parsers/number/checkers/max.d.ts +2 -2
  146. package/dist/dataParser/parsers/number/checkers/max.mjs +3 -3
  147. package/dist/dataParser/parsers/number/checkers/min.cjs +3 -3
  148. package/dist/dataParser/parsers/number/checkers/min.d.ts +2 -2
  149. package/dist/dataParser/parsers/number/checkers/min.mjs +3 -3
  150. package/dist/dataParser/parsers/number/index.d.ts +11 -4
  151. package/dist/dataParser/parsers/object.d.ts +16 -4
  152. package/dist/dataParser/parsers/optional.cjs +3 -2
  153. package/dist/dataParser/parsers/optional.d.ts +19 -6
  154. package/dist/dataParser/parsers/optional.mjs +3 -2
  155. package/dist/dataParser/parsers/pipe.d.ts +16 -4
  156. package/dist/dataParser/parsers/record/findRecordRequiredKey.cjs +50 -0
  157. package/dist/dataParser/parsers/record/findRecordRequiredKey.d.ts +4 -0
  158. package/dist/dataParser/parsers/record/findRecordRequiredKey.mjs +47 -0
  159. package/dist/dataParser/parsers/{record.cjs → record/index.cjs} +21 -3
  160. package/dist/dataParser/parsers/record/index.d.ts +42 -0
  161. package/dist/dataParser/parsers/{record.mjs → record/index.mjs} +21 -4
  162. package/dist/dataParser/parsers/recover.cjs +32 -0
  163. package/dist/dataParser/parsers/recover.d.ts +28 -0
  164. package/dist/dataParser/parsers/recover.mjs +29 -0
  165. package/dist/dataParser/parsers/refine.cjs +18 -0
  166. package/dist/dataParser/parsers/refine.d.ts +17 -0
  167. package/dist/dataParser/parsers/refine.mjs +15 -0
  168. package/dist/dataParser/parsers/string/checkers/email.cjs +3 -3
  169. package/dist/dataParser/parsers/string/checkers/email.d.ts +2 -2
  170. package/dist/dataParser/parsers/string/checkers/email.mjs +3 -3
  171. package/dist/dataParser/parsers/string/checkers/max.cjs +3 -3
  172. package/dist/dataParser/parsers/string/checkers/max.d.ts +2 -2
  173. package/dist/dataParser/parsers/string/checkers/max.mjs +3 -3
  174. package/dist/dataParser/parsers/string/checkers/min.cjs +3 -3
  175. package/dist/dataParser/parsers/string/checkers/min.d.ts +2 -2
  176. package/dist/dataParser/parsers/string/checkers/min.mjs +3 -3
  177. package/dist/dataParser/parsers/string/checkers/regex.cjs +3 -3
  178. package/dist/dataParser/parsers/string/checkers/regex.d.ts +2 -2
  179. package/dist/dataParser/parsers/string/checkers/regex.mjs +3 -3
  180. package/dist/dataParser/parsers/string/checkers/url.cjs +3 -3
  181. package/dist/dataParser/parsers/string/checkers/url.d.ts +2 -2
  182. package/dist/dataParser/parsers/string/checkers/url.mjs +3 -3
  183. package/dist/dataParser/parsers/string/index.d.ts +11 -4
  184. package/dist/dataParser/parsers/templateLiteral/createTemplateLiteralPattern.cjs +75 -0
  185. package/dist/dataParser/parsers/templateLiteral/createTemplateLiteralPattern.d.ts +2 -0
  186. package/dist/dataParser/parsers/templateLiteral/createTemplateLiteralPattern.mjs +73 -0
  187. package/dist/dataParser/parsers/templateLiteral/index.cjs +31 -0
  188. package/dist/dataParser/parsers/templateLiteral/index.d.ts +66 -0
  189. package/dist/dataParser/parsers/templateLiteral/index.mjs +27 -0
  190. package/dist/dataParser/parsers/transform.d.ts +16 -4
  191. package/dist/dataParser/parsers/tuple.d.ts +14 -4
  192. package/dist/dataParser/parsers/union.d.ts +16 -4
  193. package/dist/dataParser/parsers/unknown.d.ts +16 -4
  194. package/dist/dataParser/types/checkers.d.ts +1 -1
  195. package/dist/dataParser/types/dataParsers.d.ts +2 -2
  196. package/dist/either/bool/falsy.cjs +1 -1
  197. package/dist/either/bool/falsy.mjs +1 -1
  198. package/dist/either/bool/truthy.cjs +2 -2
  199. package/dist/either/bool/truthy.mjs +2 -2
  200. package/dist/either/future/create.cjs +1 -1
  201. package/dist/either/future/create.mjs +1 -1
  202. package/dist/either/nullable/empty.cjs +1 -1
  203. package/dist/either/nullable/empty.mjs +1 -1
  204. package/dist/either/nullish/filled.cjs +2 -2
  205. package/dist/either/nullish/filled.mjs +2 -2
  206. package/dist/either/optional/filled.cjs +2 -2
  207. package/dist/either/optional/filled.mjs +2 -2
  208. package/dist/either/right/asyncPipe.cjs +1 -1
  209. package/dist/either/right/asyncPipe.mjs +1 -1
  210. package/dist/either/right/pipe.cjs +1 -1
  211. package/dist/either/right/pipe.mjs +1 -1
  212. package/dist/generator/asyncReduce.cjs +1 -1
  213. package/dist/generator/asyncReduce.d.ts +4 -3
  214. package/dist/generator/asyncReduce.mjs +1 -1
  215. package/dist/generator/reduce.d.ts +6 -7
  216. package/dist/index.cjs +2 -0
  217. package/dist/index.mjs +1 -0
  218. package/dist/string/types/index.d.ts +1 -0
  219. package/dist/string/types/templateLiteralContainLargeType.d.ts +5 -0
  220. package/package.json +3 -3
  221. package/dist/dataParser/parsers/record.d.ts +0 -30
  222. package/dist/dataParser/parsers/templateLiteral.cjs +0 -47
  223. package/dist/dataParser/parsers/templateLiteral.d.ts +0 -49
  224. package/dist/dataParser/parsers/templateLiteral.mjs +0 -44
@@ -7,14 +7,17 @@ var entry = require('../object/entry.cjs');
7
7
  var map = require('../array/map.cjs');
8
8
  require('../common/globalStore.cjs');
9
9
  require('../common/builder.cjs');
10
+ require('./base.cjs');
10
11
  var kind = require('./kind.cjs');
11
12
  require('../pattern/result.cjs');
13
+ var refine = require('./parsers/refine.cjs');
12
14
  var array = require('./extended/array.cjs');
13
15
  var transform = require('./extended/transform.cjs');
14
16
  var union = require('./extended/union.cjs');
15
17
  var nullable = require('./extended/nullable.cjs');
16
18
  var optional = require('./extended/optional.cjs');
17
19
  var pipe$1 = require('./extended/pipe.cjs');
20
+ var recover = require('./extended/recover.cjs');
18
21
 
19
22
  const extendedKind = kind.createDataParserKind("extended");
20
23
  function dataParserExtendedInit(dataParser, rest) {
@@ -47,8 +50,18 @@ function dataParserExtendedInit(dataParser, rest) {
47
50
  or(option, definition) {
48
51
  return union.union([self, option], definition);
49
52
  },
50
- addChecker: (...checkers) => dataParserExtendedInit(dataParser.addChecker(...checkers), rest),
51
- clone: () => dataParserExtendedInit(dataParser.clone(), rest),
53
+ addChecker(...checkers) {
54
+ return dataParserExtendedInit(dataParser.addChecker(...checkers), rest);
55
+ },
56
+ clone() {
57
+ return dataParserExtendedInit(dataParser.clone(), rest);
58
+ },
59
+ refine(theFunction) {
60
+ return dataParserExtendedInit(dataParser.addChecker(refine.checkerRefine(theFunction)), rest);
61
+ },
62
+ recover(recoveredValue, definition) {
63
+ return recover.recover(self, recoveredValue, definition);
64
+ },
52
65
  });
53
66
  return self;
54
67
  }
@@ -1,7 +1,7 @@
1
1
  import { type Kind, type NeverCoalescing, type AnyFunction, type SimplifyTopLevel, type AnyValue } from "../common";
2
2
  import { type MergeDefinition } from "./types";
3
3
  import { type Output, type DataParser } from "./base";
4
- import type * as dataParsers from "./parsers";
4
+ import * as dataParsers from "./parsers";
5
5
  import * as dataParsersExtended from "./extended";
6
6
  import { type DataParserError } from "./error";
7
7
  export declare const extendedKind: import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/extended", unknown>>;
@@ -29,15 +29,20 @@ export interface DataParserExtended extends _DataParserExtended {
29
29
  input: GenericThis;
30
30
  output: GenericOutput;
31
31
  }>>;
32
- nullable<GenericThis extends this = this, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionNullable, "inner">> = never>(definition?: GenericDefinition): dataParsersExtended.DataParserNullableExtended<MergeDefinition<dataParsers.DataParserDefinitionNullable, NeverCoalescing<GenericDefinition, {}> & {
32
+ nullable<GenericThis extends this = this, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionNullable<Output<GenericThis> | null>, "inner">> = never>(definition?: GenericDefinition): dataParsersExtended.DataParserNullableExtended<MergeDefinition<dataParsers.DataParserDefinitionNullable, NeverCoalescing<GenericDefinition, {}> & {
33
33
  inner: GenericThis;
34
34
  }>>;
35
- optional<GenericThis extends this = this, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionOptional, "inner">> = never>(definition?: GenericDefinition): dataParsersExtended.DataParserOptionalExtended<MergeDefinition<dataParsers.DataParserDefinitionOptional, NeverCoalescing<GenericDefinition, {}> & {
35
+ optional<GenericThis extends this = this, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionOptional<Output<GenericThis> | undefined>, "inner">> = never>(definition?: GenericDefinition): dataParsersExtended.DataParserOptionalExtended<MergeDefinition<dataParsers.DataParserDefinitionOptional, NeverCoalescing<GenericDefinition, {}> & {
36
36
  inner: GenericThis;
37
37
  }>>;
38
38
  or<GenericThis extends this = this, GenericDataParser extends DataParser = DataParser, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionUnion, "options">> = never>(option: GenericDataParser, definition?: GenericDefinition): dataParsersExtended.DataParserUnionExtended<MergeDefinition<dataParsers.DataParserDefinitionUnion, NeverCoalescing<GenericDefinition, {}> & {
39
39
  options: [GenericThis, GenericDataParser];
40
40
  }>>;
41
+ refine(...args: never): DataParserExtended;
42
+ recover<GenericThis extends this = this, GenericRecoveredValue extends unknown = unknown, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionRecover, "inner" | "recoveredValue">> = never>(recoveredValue: GenericRecoveredValue, definition?: GenericDefinition): dataParsersExtended.DataParserRecoverExtended<MergeDefinition<dataParsers.DataParserDefinitionRecover, NeverCoalescing<GenericDefinition, {}> & {
43
+ inner: GenericThis;
44
+ recoveredValue: GenericRecoveredValue;
45
+ }>>;
41
46
  }
42
47
  export declare function dataParserExtendedInit<GenericDataParser extends DataParser, GenericDataParserExtended extends GenericDataParser & DataParserExtended>(dataParser: NoInfer<GenericDataParser>, rest: NoInfer<{
43
48
  [Prop in Exclude<keyof GenericDataParserExtended, keyof (GenericDataParser & DataParserExtended)>]: GenericDataParserExtended[Prop] extends AnyFunction ? (self: GenericDataParserExtended, ...args: Parameters<GenericDataParserExtended[Prop]>) => ReturnType<GenericDataParserExtended[Prop]> : GenericDataParserExtended[Prop];
@@ -5,14 +5,17 @@ import { entry } from '../object/entry.mjs';
5
5
  import { map } from '../array/map.mjs';
6
6
  import '../common/globalStore.mjs';
7
7
  import '../common/builder.mjs';
8
+ import './base.mjs';
8
9
  import { createDataParserKind } from './kind.mjs';
9
10
  import '../pattern/result.mjs';
11
+ import { checkerRefine } from './parsers/refine.mjs';
10
12
  import { array } from './extended/array.mjs';
11
13
  import { transform } from './extended/transform.mjs';
12
14
  import { union } from './extended/union.mjs';
13
15
  import { nullable } from './extended/nullable.mjs';
14
16
  import { optional } from './extended/optional.mjs';
15
17
  import { pipe as pipe$1 } from './extended/pipe.mjs';
18
+ import { recover } from './extended/recover.mjs';
16
19
 
17
20
  const extendedKind = createDataParserKind("extended");
18
21
  function dataParserExtendedInit(dataParser, rest) {
@@ -45,8 +48,18 @@ function dataParserExtendedInit(dataParser, rest) {
45
48
  or(option, definition) {
46
49
  return union([self, option], definition);
47
50
  },
48
- addChecker: (...checkers) => dataParserExtendedInit(dataParser.addChecker(...checkers), rest),
49
- clone: () => dataParserExtendedInit(dataParser.clone(), rest),
51
+ addChecker(...checkers) {
52
+ return dataParserExtendedInit(dataParser.addChecker(...checkers), rest);
53
+ },
54
+ clone() {
55
+ return dataParserExtendedInit(dataParser.clone(), rest);
56
+ },
57
+ refine(theFunction) {
58
+ return dataParserExtendedInit(dataParser.addChecker(checkerRefine(theFunction)), rest);
59
+ },
60
+ recover(recoveredValue, definition) {
61
+ return recover(self, recoveredValue, definition);
62
+ },
50
63
  });
51
64
  return self;
52
65
  }
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var baseExtended = require('../baseExtended.cjs');
4
+ require('../base.cjs');
4
5
  require('../../common/globalStore.cjs');
5
6
  require('../../common/builder.cjs');
6
7
  var index = require('../parsers/array/index.cjs');
@@ -1,14 +1,20 @@
1
- import { type NeverCoalescing } from "../../common";
1
+ import { type FixDeepFunctionInfer, type NeverCoalescing } from "../../common";
2
2
  import { type DataParserExtended } from "../baseExtended";
3
3
  import { type AddCheckersToDefinition, type MergeDefinition } from "../types";
4
4
  import * as dataParsers from "../parsers";
5
- import { type DataParser } from "../base";
5
+ import { type Output, type DataParser } from "../base";
6
6
  type _DataParserArrayExtended<GenericDefinition extends dataParsers.DataParserDefinitionArray> = (dataParsers.DataParserArray<GenericDefinition> & DataParserExtended);
7
7
  export interface DataParserArrayExtended<GenericDefinition extends dataParsers.DataParserDefinitionArray = dataParsers.DataParserDefinitionArray> extends _DataParserArrayExtended<GenericDefinition> {
8
8
  addChecker<GenericChecker extends readonly [
9
- dataParsers.DataParserArrayCheckers,
10
- ...dataParsers.DataParserArrayCheckers[]
11
- ]>(...args: GenericChecker): DataParserArrayExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
9
+ dataParsers.DataParserArrayCheckers<Output<this>>,
10
+ ...dataParsers.DataParserArrayCheckers<Output<this>>[]
11
+ ]>(...args: FixDeepFunctionInfer<readonly [
12
+ dataParsers.DataParserArrayCheckers<Output<this>>,
13
+ ...dataParsers.DataParserArrayCheckers<Output<this>>[]
14
+ ], GenericChecker>): DataParserArrayExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
15
+ refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserArrayExtended<AddCheckersToDefinition<GenericDefinition, [
16
+ dataParsers.CheckerRefineImplementation<Output<this>>
17
+ ]>>;
12
18
  min(min: number, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionArrayMin, "min">>): DataParserArrayExtended<AddCheckersToDefinition<GenericDefinition, [
13
19
  dataParsers.DataParserCheckerArrayMin
14
20
  ]>>;
@@ -1,4 +1,5 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
+ import '../base.mjs';
2
3
  import '../../common/globalStore.mjs';
3
4
  import '../../common/builder.mjs';
4
5
  import { array as array$1 } from '../parsers/array/index.mjs';
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var baseExtended = require('../baseExtended.cjs');
4
+ require('../base.cjs');
4
5
  require('../../common/globalStore.cjs');
5
6
  require('../../common/builder.cjs');
6
7
  var index = require('../parsers/bigint/index.cjs');
@@ -1,13 +1,20 @@
1
- import { type NeverCoalescing } from "../../common";
1
+ import { type FixDeepFunctionInfer, type NeverCoalescing } from "../../common";
2
2
  import { type DataParserExtended } from "../baseExtended";
3
3
  import { type AddCheckersToDefinition, type MergeDefinition } from "../types";
4
4
  import * as dataParsers from "../parsers";
5
+ import { type Output } from "../base";
5
6
  type _DataParserBigIntExtended<GenericDefinition extends dataParsers.DataParserDefinitionBigInt> = (dataParsers.DataParserBigInt<GenericDefinition> & DataParserExtended);
6
7
  export interface DataParserBigIntExtended<GenericDefinition extends dataParsers.DataParserDefinitionBigInt = dataParsers.DataParserDefinitionBigInt> extends _DataParserBigIntExtended<GenericDefinition> {
7
8
  addChecker<GenericChecker extends readonly [
8
9
  dataParsers.DataParserBigIntCheckers,
9
10
  ...dataParsers.DataParserBigIntCheckers[]
10
- ]>(...args: GenericChecker): DataParserBigIntExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
11
+ ]>(...args: FixDeepFunctionInfer<readonly [
12
+ dataParsers.DataParserBigIntCheckers,
13
+ ...dataParsers.DataParserBigIntCheckers[]
14
+ ], GenericChecker>): DataParserBigIntExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
15
+ refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserBigIntExtended<AddCheckersToDefinition<GenericDefinition, [
16
+ dataParsers.CheckerRefineImplementation<Output<this>>
17
+ ]>>;
11
18
  min(min: bigint, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionBigIntMin, "min">>): DataParserBigIntExtended<AddCheckersToDefinition<GenericDefinition, [
12
19
  dataParsers.DataParserCheckerBigIntMin
13
20
  ]>>;
@@ -1,4 +1,5 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
+ import '../base.mjs';
2
3
  import '../../common/globalStore.mjs';
3
4
  import '../../common/builder.mjs';
4
5
  import { bigint as bigint$1 } from '../parsers/bigint/index.mjs';
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var baseExtended = require('../baseExtended.cjs');
4
+ require('../base.cjs');
4
5
  require('../../common/globalStore.cjs');
5
6
  require('../../common/builder.cjs');
6
7
  var boolean$1 = require('../parsers/boolean.cjs');
@@ -1,9 +1,20 @@
1
- import { type NeverCoalescing } from "../../common";
1
+ import { type FixDeepFunctionInfer, type NeverCoalescing } from "../../common";
2
2
  import { type DataParserExtended } from "../baseExtended";
3
- import { type MergeDefinition } from "../types";
3
+ import { type AddCheckersToDefinition, type MergeDefinition } from "../types";
4
4
  import * as dataParsers from "../parsers";
5
+ import { type Output } from "../base";
5
6
  type _DataParserBooleanExtended<GenericDefinition extends dataParsers.DataParserDefinitionBoolean> = (dataParsers.DataParserBoolean<GenericDefinition> & DataParserExtended);
6
7
  export interface DataParserBooleanExtended<GenericDefinition extends dataParsers.DataParserDefinitionBoolean = dataParsers.DataParserDefinitionBoolean> extends _DataParserBooleanExtended<GenericDefinition> {
8
+ addChecker<GenericChecker extends readonly [
9
+ dataParsers.DataParserBooleanCheckers,
10
+ ...dataParsers.DataParserBooleanCheckers[]
11
+ ]>(...args: FixDeepFunctionInfer<readonly [
12
+ dataParsers.DataParserBooleanCheckers,
13
+ ...dataParsers.DataParserBooleanCheckers[]
14
+ ], GenericChecker>): DataParserBooleanExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
15
+ refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserBooleanExtended<AddCheckersToDefinition<GenericDefinition, [
16
+ dataParsers.CheckerRefineImplementation<Output<this>>
17
+ ]>>;
7
18
  }
8
19
  export declare function boolean<const GenericDefinition extends Partial<dataParsers.DataParserDefinitionBoolean> = never>(definition?: GenericDefinition): DataParserBooleanExtended<MergeDefinition<dataParsers.DataParserDefinitionBoolean, NeverCoalescing<GenericDefinition, {}>>>;
9
20
  export {};
@@ -1,4 +1,5 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
+ import '../base.mjs';
2
3
  import '../../common/globalStore.mjs';
3
4
  import '../../common/builder.mjs';
4
5
  import { boolean as boolean$1 } from '../parsers/boolean.mjs';
@@ -2,6 +2,7 @@
2
2
 
3
3
  require('../../../common/globalStore.cjs');
4
4
  require('../../../common/builder.cjs');
5
+ require('../../base.cjs');
5
6
  require('../../../pattern/result.cjs');
6
7
  var bigint$1 = require('../bigint.cjs');
7
8
 
@@ -1,5 +1,6 @@
1
1
  import '../../../common/globalStore.mjs';
2
2
  import '../../../common/builder.mjs';
3
+ import '../../base.mjs';
3
4
  import '../../../pattern/result.mjs';
4
5
  import { bigint as bigint$1 } from '../bigint.mjs';
5
6
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  require('../../../common/globalStore.cjs');
4
4
  require('../../../common/builder.cjs');
5
+ require('../../base.cjs');
5
6
  require('../../../pattern/result.cjs');
6
7
  var boolean$1 = require('../boolean.cjs');
7
8
 
@@ -1,5 +1,6 @@
1
1
  import '../../../common/globalStore.mjs';
2
2
  import '../../../common/builder.mjs';
3
+ import '../../base.mjs';
3
4
  import '../../../pattern/result.mjs';
4
5
  import { boolean as boolean$1 } from '../boolean.mjs';
5
6
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  require('../../../common/globalStore.cjs');
4
4
  require('../../../common/builder.cjs');
5
+ require('../../base.cjs');
5
6
  require('../../../pattern/result.cjs');
6
7
  var empty$1 = require('../empty.cjs');
7
8
 
@@ -1,5 +1,6 @@
1
1
  import '../../../common/globalStore.mjs';
2
2
  import '../../../common/builder.mjs';
3
+ import '../../base.mjs';
3
4
  import '../../../pattern/result.mjs';
4
5
  import { empty as empty$1 } from '../empty.mjs';
5
6
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  require('../../../common/globalStore.cjs');
4
4
  require('../../../common/builder.cjs');
5
+ require('../../base.cjs');
5
6
  require('../../../pattern/result.cjs');
6
7
  var nil$1 = require('../nil.cjs');
7
8
 
@@ -1,5 +1,6 @@
1
1
  import '../../../common/globalStore.mjs';
2
2
  import '../../../common/builder.mjs';
3
+ import '../../base.mjs';
3
4
  import '../../../pattern/result.mjs';
4
5
  import { nil as nil$1 } from '../nil.mjs';
5
6
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  require('../../../common/globalStore.cjs');
4
4
  require('../../../common/builder.cjs');
5
+ require('../../base.cjs');
5
6
  require('../../../pattern/result.cjs');
6
7
  var number$1 = require('../number.cjs');
7
8
 
@@ -1,5 +1,6 @@
1
1
  import '../../../common/globalStore.mjs';
2
2
  import '../../../common/builder.mjs';
3
+ import '../../base.mjs';
3
4
  import '../../../pattern/result.mjs';
4
5
  import { number as number$1 } from '../number.mjs';
5
6
 
@@ -3,6 +3,7 @@
3
3
  var string$1 = require('../string.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.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,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var baseExtended = require('../baseExtended.cjs');
4
+ require('../base.cjs');
4
5
  require('../../common/globalStore.cjs');
5
6
  require('../../common/builder.cjs');
6
7
  var empty$1 = require('../parsers/empty.cjs');
@@ -1,9 +1,20 @@
1
- import { type NeverCoalescing } from "../../common";
1
+ import { type FixDeepFunctionInfer, type NeverCoalescing } from "../../common";
2
2
  import { type DataParserExtended } from "../baseExtended";
3
- import { type MergeDefinition } from "../types";
3
+ import { type AddCheckersToDefinition, type MergeDefinition } from "../types";
4
4
  import * as dataParsers from "../parsers";
5
+ import { type Output } from "../base";
5
6
  type _DataParserEmptyExtended<GenericDefinition extends dataParsers.DataParserDefinitionEmpty> = (dataParsers.DataParserEmpty<GenericDefinition> & DataParserExtended);
6
7
  export interface DataParserEmptyExtended<GenericDefinition extends dataParsers.DataParserDefinitionEmpty = dataParsers.DataParserDefinitionEmpty> extends _DataParserEmptyExtended<GenericDefinition> {
8
+ addChecker<GenericChecker extends readonly [
9
+ dataParsers.DataParserEmptyCheckers,
10
+ ...dataParsers.DataParserEmptyCheckers[]
11
+ ]>(...args: FixDeepFunctionInfer<readonly [
12
+ dataParsers.DataParserEmptyCheckers,
13
+ ...dataParsers.DataParserEmptyCheckers[]
14
+ ], GenericChecker>): DataParserEmptyExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
15
+ refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserEmptyExtended<AddCheckersToDefinition<GenericDefinition, [
16
+ dataParsers.CheckerRefineImplementation<Output<this>>
17
+ ]>>;
7
18
  }
8
19
  export declare function empty<const GenericDefinition extends Partial<dataParsers.DataParserDefinitionEmpty> = never>(definition?: GenericDefinition): DataParserEmptyExtended<MergeDefinition<dataParsers.DataParserDefinitionEmpty, NeverCoalescing<GenericDefinition, {}>>>;
9
20
  export {};
@@ -1,4 +1,5 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
+ import '../base.mjs';
2
3
  import '../../common/globalStore.mjs';
3
4
  import '../../common/builder.mjs';
4
5
  import { empty as empty$1 } from '../parsers/empty.mjs';
@@ -20,6 +20,7 @@ var record = require('./record.cjs');
20
20
  var templateLiteral = require('./templateLiteral.cjs');
21
21
  var tuple = require('./tuple.cjs');
22
22
  var unknown = require('./unknown.cjs');
23
+ var recover = require('./recover.cjs');
23
24
 
24
25
 
25
26
 
@@ -46,3 +47,4 @@ exports.record = record.record;
46
47
  exports.templateLiteral = templateLiteral.templateLiteral;
47
48
  exports.tuple = tuple.tuple;
48
49
  exports.unknown = unknown.unknown;
50
+ exports.recover = recover.recover;
@@ -20,3 +20,4 @@ export * from "./transform";
20
20
  export * from "./tuple";
21
21
  export * from "./union";
22
22
  export * from "./unknown";
23
+ export * from "./recover";
@@ -19,3 +19,4 @@ export { record } from './record.mjs';
19
19
  export { templateLiteral } from './templateLiteral.mjs';
20
20
  export { tuple } from './tuple.mjs';
21
21
  export { unknown } from './unknown.mjs';
22
+ export { recover } from './recover.mjs';
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var baseExtended = require('../baseExtended.cjs');
4
+ require('../base.cjs');
4
5
  require('../../common/globalStore.cjs');
5
6
  require('../../common/builder.cjs');
6
7
  require('../../pattern/result.cjs');
@@ -1,10 +1,20 @@
1
- import { type NeverCoalescing } from "../../common";
1
+ import { type FixDeepFunctionInfer, type NeverCoalescing } from "../../common";
2
2
  import { type DataParserExtended } from "../baseExtended";
3
- import { type MergeDefinition } from "../types";
3
+ import { type AddCheckersToDefinition, type MergeDefinition } from "../types";
4
4
  import * as dataParsers from "../parsers";
5
- import { type DataParser } from "../base";
5
+ import { type Output, type DataParser } from "../base";
6
6
  type _DataParserLazyExtended<GenericDefinition extends dataParsers.DataParserDefinitionLazy> = (dataParsers.DataParserLazy<GenericDefinition> & DataParserExtended);
7
7
  export interface DataParserLazyExtended<GenericDefinition extends dataParsers.DataParserDefinitionLazy = dataParsers.DataParserDefinitionLazy> extends _DataParserLazyExtended<GenericDefinition> {
8
+ addChecker<GenericChecker extends readonly [
9
+ dataParsers.DataParserLazyCheckers<Output<this>>,
10
+ ...dataParsers.DataParserLazyCheckers<Output<this>>[]
11
+ ]>(...args: FixDeepFunctionInfer<readonly [
12
+ dataParsers.DataParserLazyCheckers<Output<this>>,
13
+ ...dataParsers.DataParserLazyCheckers<Output<this>>[]
14
+ ], GenericChecker>): DataParserLazyExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
15
+ refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserLazyExtended<AddCheckersToDefinition<GenericDefinition, [
16
+ dataParsers.CheckerRefineImplementation<Output<this>>
17
+ ]>>;
8
18
  }
9
19
  export declare function lazy<GenericDataParser extends DataParser, const GenericDefinition extends Partial<dataParsers.DataParserDefinitionLazy> = never>(getter: () => GenericDataParser, definition?: GenericDefinition): DataParserLazyExtended<MergeDefinition<dataParsers.DataParserDefinitionLazy, NeverCoalescing<GenericDefinition, {}> & {
10
20
  getter(): GenericDataParser;
@@ -1,4 +1,5 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
+ import '../base.mjs';
2
3
  import '../../common/globalStore.mjs';
3
4
  import '../../common/builder.mjs';
4
5
  import '../../pattern/result.mjs';
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var baseExtended = require('../baseExtended.cjs');
4
+ require('../base.cjs');
4
5
  require('../../common/globalStore.cjs');
5
6
  require('../../common/builder.cjs');
6
7
  var literal$1 = require('../parsers/literal.cjs');
@@ -1,9 +1,20 @@
1
- import { type NeverCoalescing } from "../../common";
1
+ import { type FixDeepFunctionInfer, type NeverCoalescing } from "../../common";
2
2
  import { type DataParserExtended } from "../baseExtended";
3
- import { type MergeDefinition } from "../types";
3
+ import { type AddCheckersToDefinition, type MergeDefinition } from "../types";
4
4
  import * as dataParsers from "../parsers";
5
+ import { type Output } from "../base";
5
6
  type _DataParserLiteralExtended<GenericDefinition extends dataParsers.DataParserDefinitionLiteral> = (dataParsers.DataParserLiteral<GenericDefinition> & DataParserExtended);
6
7
  export interface DataParserLiteralExtended<GenericDefinition extends dataParsers.DataParserDefinitionLiteral = dataParsers.DataParserDefinitionLiteral> extends _DataParserLiteralExtended<GenericDefinition> {
8
+ addChecker<GenericChecker extends readonly [
9
+ dataParsers.DataParserLiteralCheckers<Output<this>>,
10
+ ...dataParsers.DataParserLiteralCheckers<Output<this>>[]
11
+ ]>(...args: FixDeepFunctionInfer<readonly [
12
+ dataParsers.DataParserLiteralCheckers<Output<this>>,
13
+ ...dataParsers.DataParserLiteralCheckers<Output<this>>[]
14
+ ], GenericChecker>): DataParserLiteralExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
15
+ refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserLiteralExtended<AddCheckersToDefinition<GenericDefinition, [
16
+ dataParsers.CheckerRefineImplementation<Output<this>>
17
+ ]>>;
7
18
  }
8
19
  export declare function literal<const GenericValue extends dataParsers.LiteralValue, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionLiteral, "value">> = never>(value: GenericValue | GenericValue[], definition?: GenericDefinition): DataParserLiteralExtended<MergeDefinition<dataParsers.DataParserDefinitionLiteral, NeverCoalescing<GenericDefinition, {}> & {
9
20
  value: GenericValue[];
@@ -1,4 +1,5 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
+ import '../base.mjs';
2
3
  import '../../common/globalStore.mjs';
3
4
  import '../../common/builder.mjs';
4
5
  import { literal as literal$1 } from '../parsers/literal.mjs';
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var baseExtended = require('../baseExtended.cjs');
4
+ require('../base.cjs');
4
5
  require('../../common/globalStore.cjs');
5
6
  require('../../common/builder.cjs');
6
7
  var nil$1 = require('../parsers/nil.cjs');
@@ -1,9 +1,20 @@
1
- import { type NeverCoalescing } from "../../common";
1
+ import { type FixDeepFunctionInfer, type NeverCoalescing } from "../../common";
2
2
  import { type DataParserExtended } from "../baseExtended";
3
- import { type MergeDefinition } from "../types";
3
+ import { type AddCheckersToDefinition, type MergeDefinition } from "../types";
4
4
  import * as dataParsers from "../parsers";
5
+ import { type Output } from "../base";
5
6
  type _DataParserNilExtended<GenericDefinition extends dataParsers.DataParserDefinitionNil> = (dataParsers.DataParserNil<GenericDefinition> & DataParserExtended);
6
7
  export interface DataParserNilExtended<GenericDefinition extends dataParsers.DataParserDefinitionNil = dataParsers.DataParserDefinitionNil> extends _DataParserNilExtended<GenericDefinition> {
8
+ addChecker<GenericChecker extends readonly [
9
+ dataParsers.DataParserNilCheckers,
10
+ ...dataParsers.DataParserNilCheckers[]
11
+ ]>(...args: FixDeepFunctionInfer<readonly [
12
+ dataParsers.DataParserNilCheckers,
13
+ ...dataParsers.DataParserNilCheckers[]
14
+ ], GenericChecker>): DataParserNilExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
15
+ refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserNilExtended<AddCheckersToDefinition<GenericDefinition, [
16
+ dataParsers.CheckerRefineImplementation<Output<this>>
17
+ ]>>;
7
18
  }
8
19
  export declare function nil<const GenericDefinition extends Partial<dataParsers.DataParserDefinitionNil> = never>(definition?: GenericDefinition): DataParserNilExtended<MergeDefinition<dataParsers.DataParserDefinitionNil, NeverCoalescing<GenericDefinition, {}>>>;
9
20
  export {};
@@ -1,4 +1,5 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
+ import '../base.mjs';
2
3
  import '../../common/globalStore.mjs';
3
4
  import '../../common/builder.mjs';
4
5
  import { nil as nil$1 } from '../parsers/nil.mjs';
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var baseExtended = require('../baseExtended.cjs');
4
+ require('../base.cjs');
4
5
  require('../../common/globalStore.cjs');
5
6
  require('../../common/builder.cjs');
6
7
  require('../../pattern/result.cjs');
@@ -1,12 +1,22 @@
1
- import { type NeverCoalescing } from "../../common";
1
+ import { type FixDeepFunctionInfer, type NeverCoalescing } from "../../common";
2
2
  import { type DataParserExtended } from "../baseExtended";
3
- import { type MergeDefinition } from "../types";
3
+ import { type AddCheckersToDefinition, type MergeDefinition } from "../types";
4
4
  import * as dataParsers from "../parsers";
5
- import { type DataParser } from "../base";
5
+ import { type Output, type DataParser } from "../base";
6
6
  type _DataParserNullableExtended<GenericDefinition extends dataParsers.DataParserDefinitionNullable> = (dataParsers.DataParserNullable<GenericDefinition> & DataParserExtended);
7
7
  export interface DataParserNullableExtended<GenericDefinition extends dataParsers.DataParserDefinitionNullable = dataParsers.DataParserDefinitionNullable> extends _DataParserNullableExtended<GenericDefinition> {
8
+ addChecker<GenericChecker extends readonly [
9
+ dataParsers.DataParserNullableCheckers<Output<this>>,
10
+ ...dataParsers.DataParserNullableCheckers<Output<this>>[]
11
+ ]>(...args: FixDeepFunctionInfer<readonly [
12
+ dataParsers.DataParserNullableCheckers<Output<this>>,
13
+ ...dataParsers.DataParserNullableCheckers<Output<this>>[]
14
+ ], GenericChecker>): DataParserNullableExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
15
+ refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserNullableExtended<AddCheckersToDefinition<GenericDefinition, [
16
+ dataParsers.CheckerRefineImplementation<Output<this>>
17
+ ]>>;
8
18
  }
9
- export declare function nullable<GenericDataParser extends DataParser, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionNullable, "inner">> = never>(inner: GenericDataParser, definition?: GenericDefinition): DataParserNullableExtended<MergeDefinition<dataParsers.DataParserDefinitionNullable, NeverCoalescing<GenericDefinition, {}> & {
19
+ export declare function nullable<GenericDataParser extends DataParser, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionNullable<Output<GenericDataParser> | null>, "inner">> = never>(inner: GenericDataParser, definition?: GenericDefinition): DataParserNullableExtended<MergeDefinition<dataParsers.DataParserDefinitionNullable, NeverCoalescing<GenericDefinition, {}> & {
10
20
  inner: GenericDataParser;
11
21
  }>>;
12
22
  export {};
@@ -1,4 +1,5 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
+ import '../base.mjs';
2
3
  import '../../common/globalStore.mjs';
3
4
  import '../../common/builder.mjs';
4
5
  import '../../pattern/result.mjs';
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var baseExtended = require('../baseExtended.cjs');
4
+ require('../base.cjs');
4
5
  require('../../common/globalStore.cjs');
5
6
  require('../../common/builder.cjs');
6
7
  var index = require('../parsers/number/index.cjs');
@@ -1,13 +1,20 @@
1
- import { type NeverCoalescing } from "../../common";
1
+ import { type FixDeepFunctionInfer, type NeverCoalescing } from "../../common";
2
2
  import { type DataParserExtended } from "../baseExtended";
3
3
  import { type AddCheckersToDefinition, type MergeDefinition } from "../types";
4
4
  import * as dataParsers from "../parsers";
5
+ import { type Output } from "../base";
5
6
  type _DataParserNumberExtended<GenericDefinition extends dataParsers.DataParserDefinitionNumber> = (dataParsers.DataParserNumber<GenericDefinition> & DataParserExtended);
6
7
  export interface DataParserNumberExtended<GenericDefinition extends dataParsers.DataParserDefinitionNumber = dataParsers.DataParserDefinitionNumber> extends _DataParserNumberExtended<GenericDefinition> {
7
8
  addChecker<GenericChecker extends readonly [
8
9
  dataParsers.DataParserNumberCheckers,
9
10
  ...dataParsers.DataParserNumberCheckers[]
10
- ]>(...args: GenericChecker): DataParserNumberExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
11
+ ]>(...args: FixDeepFunctionInfer<readonly [
12
+ dataParsers.DataParserNumberCheckers,
13
+ ...dataParsers.DataParserNumberCheckers[]
14
+ ], GenericChecker>): DataParserNumberExtended<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
15
+ refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserNumberExtended<AddCheckersToDefinition<GenericDefinition, [
16
+ dataParsers.CheckerRefineImplementation<Output<this>>
17
+ ]>>;
11
18
  min(min: number, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionNumberMin, "min">>): DataParserNumberExtended<AddCheckersToDefinition<GenericDefinition, [
12
19
  dataParsers.DataParserCheckerNumberMin
13
20
  ]>>;