@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
@@ -1,49 +0,0 @@
1
- import { type Adaptor, type Kind, type NeverCoalescing } from "../../common";
2
- import { type DataParserDefinition, type DataParser, type Output, type Input } from "../base";
3
- import { type MergeDefinition } from "../../dataParser/types";
4
- import { type DataParserCheckerEmail, type DataParserDefinitionString, type DataParserString } from "./string";
5
- import { type DataParserDefinitionNumber, type DataParserNumber } from "./number";
6
- import { type DataParserDefinitionBigInt, type DataParserBigInt } from "./bigint";
7
- import { type DataParserDefinitionLiteral, type DataParserLiteral } from "./literal";
8
- import { type DataParserDefinitionEmpty, type DataParserEmpty } from "./empty";
9
- import { type DataParserDefinitionNil, type DataParserNil } from "./nil";
10
- import { type DataParserDefinitionBoolean, type DataParserBoolean } from "./boolean";
11
- export type DataParsersTemplateLiteral = (string | DataParserString<DataParserDefinitionString & {
12
- readonly checkers: readonly (DataParserCheckerEmail)[];
13
- }> | DataParserNumber<DataParserDefinitionNumber & {
14
- readonly checkers: readonly [];
15
- }> | DataParserBigInt<DataParserDefinitionBigInt & {
16
- readonly checkers: readonly [];
17
- }> | DataParserBoolean<DataParserDefinitionBoolean & {
18
- readonly checkers: readonly [];
19
- }> | DataParserLiteral<DataParserDefinitionLiteral & {
20
- readonly checkers: readonly [];
21
- }> | DataParserEmpty<DataParserDefinitionEmpty & {
22
- readonly checkers: readonly [];
23
- }> | DataParserNil<DataParserDefinitionNil & {
24
- readonly checkers: readonly [];
25
- }> | DataParserTemplateLiteral<DataParserDefinitionTemplateLiteral & {
26
- readonly checkers: readonly [];
27
- }>);
28
- export type TemplateLiteralShape = readonly [DataParsersTemplateLiteral, ...DataParsersTemplateLiteral[]];
29
- type EligibleTemplateLiteral = string | number | bigint | boolean | null | undefined;
30
- export type TemplateLiteralShapeOutput<GenericTemplate extends TemplateLiteralShape, GenericLastResult extends string = ""> = GenericTemplate extends readonly [
31
- infer InferredFirst extends DataParsersTemplateLiteral,
32
- ...infer InferredRest extends DataParsersTemplateLiteral[]
33
- ] ? (`${GenericLastResult}${InferredFirst extends string ? InferredFirst : Adaptor<Output<Exclude<InferredFirst, string>>, EligibleTemplateLiteral>}`) extends infer InferredResult extends string ? InferredRest extends readonly [] ? InferredResult : InferredRest extends TemplateLiteralShape ? TemplateLiteralShapeOutput<InferredRest, InferredResult> : TemplateLiteralShapeOutput<[InferredRest[number]], InferredResult> : never : never;
34
- export type TemplateLiteralShapeInput<GenericTemplate extends TemplateLiteralShape, GenericLastResult extends string = ""> = GenericTemplate extends readonly [
35
- infer InferredFirst extends DataParsersTemplateLiteral,
36
- ...infer InferredRest extends DataParsersTemplateLiteral[]
37
- ] ? (`${GenericLastResult}${InferredFirst extends string ? InferredFirst : Adaptor<Input<Exclude<InferredFirst, string>>, EligibleTemplateLiteral>}`) extends infer InferredResult extends string ? InferredRest extends readonly [] ? InferredResult : InferredRest extends TemplateLiteralShape ? TemplateLiteralShapeInput<InferredRest, InferredResult> : TemplateLiteralShapeInput<[InferredRest[number]], InferredResult> : never : never;
38
- export interface DataParserDefinitionTemplateLiteral extends DataParserDefinition<never> {
39
- readonly template: TemplateLiteralShape;
40
- readonly pattern: RegExp;
41
- }
42
- export declare const templateLiteralKind: import("../../common").KindHandler<import("../../common").KindDefinition<"@DuplojsUtilsDataParser/template-literal", unknown>>;
43
- type _DataParserTemplateLiteral<GenericDefinition extends DataParserDefinitionTemplateLiteral> = (DataParser<GenericDefinition, TemplateLiteralShapeOutput<GenericDefinition["template"]>, TemplateLiteralShapeInput<GenericDefinition["template"]>> & Kind<typeof templateLiteralKind.definition>);
44
- export interface DataParserTemplateLiteral<GenericDefinition extends DataParserDefinitionTemplateLiteral = DataParserDefinitionTemplateLiteral> extends _DataParserTemplateLiteral<GenericDefinition> {
45
- }
46
- export declare function templateLiteral<const GenericTemplate extends TemplateLiteralShape, const GenericDefinition extends Partial<Omit<DataParserDefinitionTemplateLiteral, "template" | "pattern">> = never>(template: GenericTemplate, definition?: GenericDefinition): DataParserTemplateLiteral<MergeDefinition<DataParserDefinitionTemplateLiteral, NeverCoalescing<GenericDefinition, {}> & {
47
- template: GenericTemplate;
48
- }>>;
49
- export {};
@@ -1,44 +0,0 @@
1
- import { escapeRegExp } from '../../common/escapeRegExp.mjs';
2
- import { pipe } from '../../common/pipe.mjs';
3
- import { innerPipe } from '../../common/innerPipe.mjs';
4
- import { when as when$1 } from '../../common/when.mjs';
5
- import { isType } from '../../common/isType.mjs';
6
- import { whenElse } from '../../common/whenElse.mjs';
7
- import { map } from '../../array/map.mjs';
8
- import { join } from '../../array/join.mjs';
9
- import '../../common/globalStore.mjs';
10
- import '../../common/builder.mjs';
11
- import { dataParserInit } from '../base.mjs';
12
- import { SymbolDataParserErrorIssue } from '../error.mjs';
13
- import '../../pattern/result.mjs';
14
- import { exhaustive } from '../../pattern/exhaustive.mjs';
15
- import { when } from '../../pattern/when.mjs';
16
- import { replace } from '../../string/replace.mjs';
17
- import { stringKind } from './string/index.mjs';
18
- import { numberKind } from './number/index.mjs';
19
- import { bigIntKind } from './bigint/index.mjs';
20
- import { literalKind } from './literal.mjs';
21
- import { emptyKind } from './empty.mjs';
22
- import { nilKind } from './nil.mjs';
23
- import { booleanKind } from './boolean.mjs';
24
- import { createDataParserKind } from '../kind.mjs';
25
-
26
- const templateLiteralKind = createDataParserKind("template-literal");
27
- function templateLiteral(template, definition) {
28
- const pattern = pipe(template, map(innerPipe(when(isType("string"), (value) => `(?:${escapeRegExp(value)})`), when(numberKind.has, () => "(:?[0-9]+)"), when(bigIntKind.has, () => "(?:[0-9]+n)"), when(booleanKind.has, () => "(?:true|false)"), when(nilKind.has, () => "(?:null)"), when(emptyKind.has, () => "(?:undefined)"), when(literalKind.has, (dataParser) => pipe(dataParser.definition.value, map(innerPipe(when$1(isType("bigint"), (value) => `${value}n`), String, escapeRegExp)), join("|"), (pattern) => `(?:${pattern})`)), when(stringKind.has, innerPipe(whenElse((dataParser) => !!dataParser.definition.checkers.length, (dataParser) => pipe(dataParser.definition.checkers, map((element) => pipe(element.definition.pattern.source, replace(/^\^/, ""), replace(/\$$/, ""))), join("")), () => "(?:[^]*)"))), when(templateLiteralKind.has, (dataParser) => pipe(dataParser.definition.pattern.source, replace(/^\^/, ""), replace(/\$$/, ""), (pattern) => `(?:${pattern})`)), exhaustive)), join(""), (pattern) => new RegExp(`^${pattern}$`));
29
- return dataParserInit(templateLiteralKind, {
30
- definition: {
31
- errorMessage: definition?.errorMessage,
32
- checkers: definition?.checkers ?? [],
33
- template,
34
- pattern,
35
- },
36
- }, (data, _error, self) => {
37
- if (typeof data === "string" && self.definition.pattern.test(data)) {
38
- return data;
39
- }
40
- return SymbolDataParserErrorIssue;
41
- });
42
- }
43
-
44
- export { templateLiteral, templateLiteralKind };