@duplojs/utils 1.3.21 → 1.3.22

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 (53) hide show
  1. package/README.md +21 -1
  2. package/dist/array/index.cjs +3 -0
  3. package/dist/array/index.d.ts +1 -0
  4. package/dist/array/index.mjs +1 -0
  5. package/dist/array/select.cjs +35 -0
  6. package/dist/array/select.d.ts +18 -0
  7. package/dist/array/select.mjs +32 -0
  8. package/dist/clean/constraint/base.d.ts +1 -1
  9. package/dist/clean/constraint/defaultConstraint/number.d.ts +4 -4
  10. package/dist/clean/constraint/defaultConstraint/string.d.ts +3 -3
  11. package/dist/clean/entity.cjs +4 -0
  12. package/dist/clean/entity.d.ts +1 -0
  13. package/dist/clean/entity.mjs +4 -0
  14. package/dist/clean/flag.d.ts +1 -0
  15. package/dist/clean/repository.d.ts +4 -4
  16. package/dist/clean/useCase.cjs +4 -3
  17. package/dist/clean/useCase.d.ts +2 -2
  18. package/dist/clean/useCase.mjs +4 -3
  19. package/dist/common/index.d.ts +1 -1
  20. package/dist/common/{toJson.d.ts → toJSON.d.ts} +1 -1
  21. package/dist/dataParser/extended/object.cjs +16 -4
  22. package/dist/dataParser/extended/object.d.ts +13 -5
  23. package/dist/dataParser/extended/object.mjs +20 -8
  24. package/dist/dataParser/identifier.d.ts +2 -2
  25. package/dist/dataParser/index.cjs +4 -0
  26. package/dist/dataParser/index.mjs +4 -4
  27. package/dist/dataParser/parsers/array/index.d.ts +1 -1
  28. package/dist/dataParser/parsers/object/omit.cjs +5 -1
  29. package/dist/dataParser/parsers/object/omit.d.ts +2 -1
  30. package/dist/dataParser/parsers/object/omit.mjs +5 -2
  31. package/dist/dataParser/parsers/object/partial.cjs +5 -1
  32. package/dist/dataParser/parsers/object/partial.d.ts +1 -0
  33. package/dist/dataParser/parsers/object/partial.mjs +5 -2
  34. package/dist/dataParser/parsers/object/pick.cjs +6 -2
  35. package/dist/dataParser/parsers/object/pick.d.ts +3 -2
  36. package/dist/dataParser/parsers/object/pick.mjs +6 -3
  37. package/dist/dataParser/parsers/object/required.cjs +5 -1
  38. package/dist/dataParser/parsers/object/required.d.ts +1 -0
  39. package/dist/dataParser/parsers/object/required.mjs +5 -2
  40. package/dist/dataParser/parsers/refine.cjs +1 -1
  41. package/dist/dataParser/parsers/refine.d.ts +1 -1
  42. package/dist/dataParser/parsers/refine.mjs +1 -1
  43. package/dist/either/future/create.d.ts +1 -1
  44. package/dist/index.cjs +2 -2
  45. package/dist/index.mjs +1 -1
  46. package/dist/metadata.json +4419 -0
  47. package/dist/string/capitalize.cjs +1 -1
  48. package/dist/string/capitalize.mjs +1 -1
  49. package/dist/string/uncapitalize.cjs +1 -1
  50. package/dist/string/uncapitalize.mjs +1 -1
  51. package/package.json +37 -5
  52. /package/dist/common/{toJson.cjs → toJSON.cjs} +0 -0
  53. /package/dist/common/{toJson.mjs → toJSON.mjs} +0 -0
package/README.md CHANGED
@@ -1,2 +1,22 @@
1
1
  # @duplojs/utils
2
- [![NPM version](https://img.shields.io/npm/v/@duplojs/utils)](https://www.npmjs.com/package/@duplojs/utils)
2
+ [![NPM version](https://img.shields.io/npm/v/@duplojs/utils)](https://www.npmjs.com/package/@duplojs/utils)
3
+
4
+ `@duplojs/utils` is the TypeScript utility toolbox used across the DuploJS ecosystem. It focuses on **strong typing**, **god DX**, and **small composable primitives** that scale from simple helpers to full validation pipelines.
5
+
6
+ ## What’s inside?
7
+
8
+ - **Common functional utilities**: `pipe`/`asyncPipe`, `when`, `memo`, `clone`, `escapeRegExp`, etc.
9
+ - **Typed runtime tagging**: `kind` helpers to discriminate data without polluting public shapes.
10
+ - **Either**: a typed success/error container with mandatory “information” for precise pattern matching.
11
+ - **DataParser**: schema-based validation with checkers, coercion (`DP.coerce.*`), transforms, async support, and a fluent “extended” API (`DPE`).
12
+ - **Clean-domain building blocks**: `newType`, `entity`, constraints, repositories, and use-cases.
13
+ - **Pure helpers by domain**: `array`, `object`, `string`, `number`, `date`, `generator`, `pattern` (match/exhaustive).
14
+
15
+ ## Documentation
16
+ - https://utils.duplojs.dev/v1/en
17
+
18
+ ## Install
19
+
20
+ ```bash
21
+ npm install @duplojs/utils
22
+ ```
@@ -42,6 +42,7 @@ var notIncludes = require('./notIncludes.cjs');
42
42
  var chunk = require('./chunk.cjs');
43
43
  var insert$2 = require('./insert.cjs');
44
44
  var isLastIndex = require('./isLastIndex.cjs');
45
+ var select = require('./select.cjs');
45
46
  var _delete = require('./splice/delete.cjs');
46
47
  var insert = require('./splice/insert.cjs');
47
48
  var replace = require('./splice/replace.cjs');
@@ -101,6 +102,8 @@ exports.notIncludes = notIncludes.notIncludes;
101
102
  exports.chunk = chunk.chunk;
102
103
  exports.insert = insert$2.insert;
103
104
  exports.isLastIndex = isLastIndex.isLastIndex;
105
+ exports.select = select.select;
106
+ exports.selectTools = select.selectTools;
104
107
  exports.spliceDelete = _delete.spliceDelete;
105
108
  exports.spliceInsert = insert.spliceInsert;
106
109
  exports.spliceReplace = replace.spliceReplace;
@@ -45,3 +45,4 @@ export * from "./notIncludes";
45
45
  export * from "./chunk";
46
46
  export * from "./insert";
47
47
  export * from "./isLastIndex";
48
+ export * from "./select";
@@ -40,6 +40,7 @@ export { notIncludes } from './notIncludes.mjs';
40
40
  export { chunk } from './chunk.mjs';
41
41
  export { insert } from './insert.mjs';
42
42
  export { isLastIndex } from './isLastIndex.mjs';
43
+ export { select, selectTools } from './select.mjs';
43
44
  export { spliceDelete } from './splice/delete.mjs';
44
45
  export { spliceInsert } from './splice/insert.mjs';
45
46
  export { spliceReplace } from './splice/replace.mjs';
@@ -0,0 +1,35 @@
1
+ 'use strict';
2
+
3
+ const selectTools = {
4
+ skip() {
5
+ return { "-skip": null };
6
+ },
7
+ select(output) {
8
+ return { "-select": output };
9
+ },
10
+ };
11
+ function select(...args) {
12
+ if (args.length === 1) {
13
+ const [theFunction] = args;
14
+ return (input) => select(input, theFunction);
15
+ }
16
+ const [input, theFunction] = args;
17
+ const outputArray = [];
18
+ for (let index = 0; index < input.length; index++) {
19
+ const element = input[index];
20
+ const result = theFunction({
21
+ element,
22
+ index,
23
+ self: input,
24
+ ...selectTools,
25
+ });
26
+ if ("-skip" in result) {
27
+ continue;
28
+ }
29
+ outputArray.push(result["-select"]);
30
+ }
31
+ return outputArray;
32
+ }
33
+
34
+ exports.select = select;
35
+ exports.selectTools = selectTools;
@@ -0,0 +1,18 @@
1
+ import { type AnyValue } from "../common";
2
+ export interface ArraySelectSelect<GenericOutput extends unknown = unknown> {
3
+ "-select": GenericOutput;
4
+ }
5
+ export interface ArraySelectSkip {
6
+ "-skip": null;
7
+ }
8
+ interface ArraySelectParams<GenericInputArray extends readonly unknown[]> {
9
+ element: GenericInputArray[number];
10
+ index: number;
11
+ self: GenericInputArray;
12
+ skip(): ArraySelectSkip;
13
+ select<GenericOutput extends AnyValue = AnyValue>(output: GenericOutput): ArraySelectSelect<GenericOutput>;
14
+ }
15
+ export declare const selectTools: Pick<ArraySelectParams<any>, "skip" | "select">;
16
+ export declare function select<GenericInput extends readonly unknown[], GenericSelect extends ArraySelectSelect>(theFunction: (params: ArraySelectParams<GenericInput>) => GenericSelect | ArraySelectSkip): (input: GenericInput) => GenericSelect["-select"][];
17
+ export declare function select<GenericInput extends readonly unknown[], GenericSelect extends ArraySelectSelect>(input: GenericInput, theFunction: (params: ArraySelectParams<GenericInput>) => GenericSelect | ArraySelectSkip): GenericSelect["-select"][];
18
+ export {};
@@ -0,0 +1,32 @@
1
+ const selectTools = {
2
+ skip() {
3
+ return { "-skip": null };
4
+ },
5
+ select(output) {
6
+ return { "-select": output };
7
+ },
8
+ };
9
+ function select(...args) {
10
+ if (args.length === 1) {
11
+ const [theFunction] = args;
12
+ return (input) => select(input, theFunction);
13
+ }
14
+ const [input, theFunction] = args;
15
+ const outputArray = [];
16
+ for (let index = 0; index < input.length; index++) {
17
+ const element = input[index];
18
+ const result = theFunction({
19
+ element,
20
+ index,
21
+ self: input,
22
+ ...selectTools,
23
+ });
24
+ if ("-skip" in result) {
25
+ continue;
26
+ }
27
+ outputArray.push(result["-select"]);
28
+ }
29
+ return outputArray;
30
+ }
31
+
32
+ export { select, selectTools };
@@ -32,5 +32,5 @@ export declare function createConstraint<GenericName extends string, GenericPrim
32
32
  DDataParser.DataParserChecker<DDataParser.DataParserCheckerDefinition, GenericPrimitiveValue>,
33
33
  ...DDataParser.DataParserChecker<DDataParser.DataParserCheckerDefinition, GenericPrimitiveValue>[]
34
34
  ]) = never>(name: GenericName, primitiveHandler: PrimitiveHandler<GenericPrimitiveValue>, checker: GenericChecker): ConstraintHandler<GenericName, GenericPrimitiveValue, DArray.ArrayCoalescing<GenericChecker>>;
35
- export type Constraint<GenericConstrainHandler extends ConstraintHandler, GenericValue extends DDataParser.InputChecker<GenericConstrainHandler["checkers"][number]> = DDataParser.InputChecker<GenericConstrainHandler["checkers"][number]>> = Extract<ConstrainedType<GenericConstrainHandler["name"], GenericValue>, any>;
35
+ export type GetConstraint<GenericConstrainHandler extends ConstraintHandler, GenericValue extends DDataParser.InputChecker<GenericConstrainHandler["checkers"][number]> = DDataParser.InputChecker<GenericConstrainHandler["checkers"][number]>> = Extract<ConstrainedType<GenericConstrainHandler["name"], GenericValue>, any>;
36
36
  export {};
@@ -1,8 +1,8 @@
1
- import { type Constraint } from "../base";
1
+ import { type GetConstraint } from "../base";
2
2
  import * as DDataParser from "../../../dataParser";
3
3
  export declare const Int: import("..").ConstraintHandler<"int", number, readonly [DDataParser.DataParserCheckerInt]>;
4
- export type Int = Constraint<typeof Int>;
4
+ export type Int = GetConstraint<typeof Int>;
5
5
  export declare const Positive: import("..").ConstraintHandler<"positive", number, readonly [DDataParser.DataParserCheckerNumberMin]>;
6
- export type Positive = Constraint<typeof Positive>;
6
+ export type Positive = GetConstraint<typeof Positive>;
7
7
  export declare const Negative: import("..").ConstraintHandler<"negative", number, readonly [DDataParser.DataParserCheckerNumberMax]>;
8
- export type Negative = Constraint<typeof Negative>;
8
+ export type Negative = GetConstraint<typeof Negative>;
@@ -1,6 +1,6 @@
1
- import { type Constraint } from "../base";
1
+ import { type GetConstraint } from "../base";
2
2
  import * as DDataParser from "../../../dataParser";
3
3
  export declare const Email: import("..").ConstraintHandler<"email", string, readonly [DDataParser.DataParserCheckerEmail]>;
4
- export type Email = Constraint<typeof Email>;
4
+ export type Email = GetConstraint<typeof Email>;
5
5
  export declare const Url: import("..").ConstraintHandler<"url", string, readonly [DDataParser.DataParserCheckerUrl]>;
6
- export type Url = Constraint<typeof Url>;
6
+ export type Url = GetConstraint<typeof Url>;
@@ -110,6 +110,9 @@ function createEntity(name, getPropertiesDefinition) {
110
110
  }
111
111
  return unwrap.unwrap(result);
112
112
  }
113
+ function is$1(input) {
114
+ return entityKind.has(input) && entityKind.getValue(input) === name;
115
+ }
113
116
  return entityHandlerKind.setTo({
114
117
  name,
115
118
  propertiesDefinition,
@@ -117,6 +120,7 @@ function createEntity(name, getPropertiesDefinition) {
117
120
  new: theNew,
118
121
  map: map$1,
119
122
  mapOrThrow,
123
+ is: is$1,
120
124
  });
121
125
  }
122
126
 
@@ -43,6 +43,7 @@ export interface EntityHandler<GenericName extends string = string, GenericPrope
43
43
  "new"<GenericProperties extends EntityProperties<GenericPropertiesDefinition>>(properties: GenericProperties): Entity<GenericName> & GenericProperties;
44
44
  map(rawProperties: EntityRawProperties<GenericPropertiesDefinition>): (DEither.EitherRight<"createEntity", Entity<GenericName> & EntityProperties<GenericPropertiesDefinition>> | DEither.EitherLeft<"createEntityError", DDataParser.DataParserError>);
45
45
  mapOrThrow(rawProperties: EntityRawProperties<GenericPropertiesDefinition>): Entity<GenericName> & EntityProperties<GenericPropertiesDefinition>;
46
+ is<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, Entity<GenericName>>;
46
47
  }
47
48
  declare const CreateEntityError_base: new (params: {
48
49
  "@DuplojsUtilsError/create-entity-error"?: unknown;
@@ -108,6 +108,9 @@ function createEntity(name, getPropertiesDefinition) {
108
108
  }
109
109
  return unwrap(result);
110
110
  }
111
+ function is(input) {
112
+ return entityKind.has(input) && entityKind.getValue(input) === name;
113
+ }
111
114
  return entityHandlerKind.setTo({
112
115
  name,
113
116
  propertiesDefinition,
@@ -115,6 +118,7 @@ function createEntity(name, getPropertiesDefinition) {
115
118
  new: theNew,
116
119
  map: map$1,
117
120
  mapOrThrow,
121
+ is,
118
122
  });
119
123
  }
120
124
 
@@ -13,4 +13,5 @@ export declare function createFlag<GenericEntity extends Entity = never, Generic
13
13
  IsEqual<GenericEntity, never>,
14
14
  IsEqual<GenericName, never>
15
15
  ]> extends true ? never : NoInfer<GenericName>): FlagHandler<GenericEntity, GenericName, GenericValue>;
16
+ export type GetFlag<GenericHandler extends FlagHandler<any, any, any>> = Extract<Flag<GenericHandler["name"], ReturnType<GenericHandler["getValue"]>>, any>;
16
17
  export {};
@@ -1,8 +1,8 @@
1
- import { type AnyFunction, type Kind } from "../common";
1
+ import { type SimplifyTopLevel, type AnyFunction, type Kind } from "../common";
2
2
  export declare const repositoryHandlerKind: import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsClean/repository-handler", unknown>>;
3
3
  export interface RepositoryHandler<GenericRepository extends object = object> extends Kind<typeof repositoryHandlerKind.definition> {
4
- createImplementation(implementation: {
5
- [Prop in keyof GenericRepository]: GenericRepository[Prop] extends AnyFunction ? AnyFunction<Parameters<GenericRepository[Prop]>, ReturnType<GenericRepository[Prop]>> : GenericRepository[Prop];
6
- }): GenericRepository;
4
+ createImplementation(implementation: SimplifyTopLevel<{
5
+ [Prop in keyof GenericRepository]: GenericRepository[Prop] extends AnyFunction ? (...args: Parameters<GenericRepository[Prop]>) => ReturnType<GenericRepository[Prop]> : GenericRepository[Prop];
6
+ }>): GenericRepository;
7
7
  }
8
8
  export declare function createRepository<GenericRepository extends object>(): RepositoryHandler<GenericRepository>;
@@ -4,6 +4,7 @@ var kind = require('./kind.cjs');
4
4
  var pipe = require('../common/pipe.cjs');
5
5
  var map = require('../array/map.cjs');
6
6
  var entry = require('../object/entry.cjs');
7
+ var uncapitalize = require('../string/uncapitalize.cjs');
7
8
  var entries = require('../object/entries.cjs');
8
9
  var fromEntries = require('../object/fromEntries.cjs');
9
10
 
@@ -11,13 +12,13 @@ const useCaseHandlerKind = kind.createCleanKind("use-case-handler");
11
12
  function createUseCase(dependencies, getUseCase) {
12
13
  return useCaseHandlerKind.setTo({
13
14
  dependencies,
14
- getUseCase: (repositories) => getUseCase(pipe.pipe(dependencies, entries.entries, map.map(([key, value]) => entry.entry(key, useCaseHandlerKind.has(value)
15
+ getUseCase: (repositories) => getUseCase(pipe.pipe(dependencies, entries.entries, map.map(([key, value]) => entry.entry(uncapitalize.uncapitalize(key), useCaseHandlerKind.has(value)
15
16
  ? value.getUseCase(repositories)
16
- : repositories[key])), fromEntries.fromEntries)),
17
+ : repositories[uncapitalize.uncapitalize(key)])), fromEntries.fromEntries)),
17
18
  });
18
19
  }
19
20
  function useCaseInstances(useCases, repositories) {
20
- return pipe.pipe(useCases, entries.entries, map.map(([key, useCase]) => entry.entry(key, useCase.getUseCase(repositories))), fromEntries.fromEntries);
21
+ return pipe.pipe(useCases, entries.entries, map.map(([key, useCase]) => entry.entry(uncapitalize.uncapitalize(key), useCase.getUseCase(repositories))), fromEntries.fromEntries);
21
22
  }
22
23
 
23
24
  exports.createUseCase = createUseCase;
@@ -2,11 +2,11 @@ import { type ObjectEntry, type Kind, type SimplifyTopLevel, type UnionToInterse
2
2
  import { type RepositoryHandler } from "./repository";
3
3
  export type UseCaseDependencies = Record<string, RepositoryHandler | UseCaseHandler>;
4
4
  export type UseCaseDependenciesValue<GenericDependencies extends UseCaseDependencies> = SimplifyTopLevel<{
5
- [Prop in keyof GenericDependencies]: GenericDependencies[Prop] extends RepositoryHandler ? ReturnType<GenericDependencies[Prop]["createImplementation"]> : GenericDependencies[Prop] extends UseCaseHandler ? ReturnType<GenericDependencies[Prop]["getUseCase"]> : never;
5
+ [Prop in keyof GenericDependencies as (Prop extends string ? Uncapitalize<Prop> : Prop)]: GenericDependencies[Prop] extends RepositoryHandler ? ReturnType<GenericDependencies[Prop]["createImplementation"]> : GenericDependencies[Prop] extends UseCaseHandler ? ReturnType<GenericDependencies[Prop]["getUseCase"]> : never;
6
6
  }>;
7
7
  export type GetAllRepositories<GenericDependenciesValue extends UseCaseDependencies> = GenericDependenciesValue extends any ? ({
8
8
  [Prop in keyof GenericDependenciesValue]: (GenericDependenciesValue[Prop] extends RepositoryHandler ? [
9
- Prop,
9
+ (Prop extends string ? Uncapitalize<Prop> : Prop),
10
10
  ReturnType<GenericDependenciesValue[Prop]["createImplementation"]>
11
11
  ] : GenericDependenciesValue[Prop] extends UseCaseHandler ? GetAllRepositories<GenericDependenciesValue[Prop]["dependencies"]> : never);
12
12
  })[keyof GenericDependenciesValue] : never;
@@ -2,6 +2,7 @@ import { createCleanKind } from './kind.mjs';
2
2
  import { pipe } from '../common/pipe.mjs';
3
3
  import { map } from '../array/map.mjs';
4
4
  import { entry } from '../object/entry.mjs';
5
+ import { uncapitalize } from '../string/uncapitalize.mjs';
5
6
  import { entries } from '../object/entries.mjs';
6
7
  import { fromEntries } from '../object/fromEntries.mjs';
7
8
 
@@ -9,13 +10,13 @@ const useCaseHandlerKind = createCleanKind("use-case-handler");
9
10
  function createUseCase(dependencies, getUseCase) {
10
11
  return useCaseHandlerKind.setTo({
11
12
  dependencies,
12
- getUseCase: (repositories) => getUseCase(pipe(dependencies, entries, map(([key, value]) => entry(key, useCaseHandlerKind.has(value)
13
+ getUseCase: (repositories) => getUseCase(pipe(dependencies, entries, map(([key, value]) => entry(uncapitalize(key), useCaseHandlerKind.has(value)
13
14
  ? value.getUseCase(repositories)
14
- : repositories[key])), fromEntries)),
15
+ : repositories[uncapitalize(key)])), fromEntries)),
15
16
  });
16
17
  }
17
18
  function useCaseInstances(useCases, repositories) {
18
- return pipe(useCases, entries, map(([key, useCase]) => entry(key, useCase.getUseCase(repositories))), fromEntries);
19
+ return pipe(useCases, entries, map(([key, useCase]) => entry(uncapitalize(key), useCase.getUseCase(repositories))), fromEntries);
19
20
  }
20
21
 
21
22
  export { createUseCase, useCaseHandlerKind, useCaseInstances };
@@ -13,7 +13,7 @@ export * from "./simpleClone";
13
13
  export * from "./sleep";
14
14
  export * from "./stringToBytes";
15
15
  export * from "./stringToMillisecond";
16
- export * from "./toJson";
16
+ export * from "./toJSON";
17
17
  export * from "./toTransform";
18
18
  export * from "./toWrappedValue";
19
19
  export * from "./unwrap";
@@ -5,7 +5,7 @@ export type ToJSON<GenericValue extends unknown> = GenericValue extends number |
5
5
  }) ? ReturnType<GenericValue["toJSON"]> : GenericValue extends [infer InferredFirst, ...infer InferredRest] ? [
6
6
  ToJSON<InferredFirst>,
7
7
  ...(ToJSON<InferredRest> extends infer InferredSubRest extends any[] ? IsEqual<InferredSubRest, never[]> extends false ? InferredSubRest : [] : [])
8
- ] : GenericValue extends any[] ? ToJSON<GenericValue[number]>[] : GenericValue extends Record<number, unknown> ? {
8
+ ] : GenericValue extends any[] ? ToJSON<GenericValue[number]>[] : GenericValue extends object ? {
9
9
  [Prop in keyof GenericValue as GenericValue[Prop] extends AnyFunction ? never : Prop]: ToJSON<GenericValue[Prop]>;
10
10
  } : undefined;
11
11
  export declare function toJSON<GenericValue extends unknown>(value: GenericValue): ToJSON<GenericValue>;
@@ -10,10 +10,22 @@ var override = require('../../common/override.cjs');
10
10
 
11
11
  function object(shape, definition) {
12
12
  const self = baseExtended.dataParserExtendedInit(index.object(shape, definition), {
13
- omit: (self, omitObject, definition) => omit.omit(self, omitObject, definition),
14
- pick: (self, pickObject, definition) => pick.pick(self, pickObject, definition),
15
- partial: (self, definition) => partial.partial(self, definition),
16
- required: (self, definition) => required.required(self, definition),
13
+ omit: (self, omitObject, definition) => {
14
+ const newShape = omit.omitShape(self.definition.shape, omitObject);
15
+ return object(newShape, definition);
16
+ },
17
+ pick: (self, pickObject, definition) => {
18
+ const newShape = pick.pickShape(self.definition.shape, pickObject);
19
+ return object(newShape, definition);
20
+ },
21
+ partial: (self, definition) => {
22
+ const newShape = partial.partialShape(self.definition.shape);
23
+ return object(newShape, definition);
24
+ },
25
+ required: (self, definition) => {
26
+ const newShape = required.requiredShape(self.definition.shape);
27
+ return object(newShape, definition);
28
+ },
17
29
  });
18
30
  return object.overrideHandler.apply(self);
19
31
  }
@@ -1,4 +1,4 @@
1
- import { type FixDeepFunctionInfer, type Kind, type NeverCoalescing } from "../../common";
1
+ import { type Adaptor, type FixDeepFunctionInfer, type Kind, type NeverCoalescing, type SimplifyTopLevel } 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";
@@ -16,10 +16,18 @@ export interface DataParserObjectExtended<GenericDefinition extends dataParsers.
16
16
  refine(theFunction: (input: Output<this>) => boolean, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionRefine, "theFunction">>): DataParserObjectExtended<AddCheckersToDefinition<GenericDefinition, [
17
17
  dataParsers.CheckerRefineImplementation<Output<this>>
18
18
  ]>>;
19
- omit<const GenericOmitObject extends Partial<Record<keyof GenericDefinition["shape"], true>>, const GenericSubDefinition extends Partial<Omit<dataParsers.DataParserDefinitionObject, "shape" | "optimizedShape">> = never>(omitObject: GenericOmitObject, definition?: GenericDefinition): ReturnType<typeof dataParsers.omit<dataParsers.DataParserObject<GenericDefinition>, GenericOmitObject, GenericSubDefinition>>;
20
- pick<const GenericPickObject extends Partial<Record<keyof GenericDefinition["shape"], true>>, const GenericSubDefinition extends Partial<Omit<dataParsers.DataParserDefinitionObject, "shape" | "optimizedShape">> = never>(pickObject: GenericPickObject, definition?: GenericDefinition): ReturnType<typeof dataParsers.pick<dataParsers.DataParserObject<GenericDefinition>, GenericPickObject, GenericSubDefinition>>;
21
- partial<const GenericSubDefinition extends Partial<Omit<dataParsers.DataParserDefinitionObject, "shape" | "optimizedShape">> = never>(definition?: GenericDefinition): ReturnType<typeof dataParsers.partial<dataParsers.DataParserObject<GenericDefinition>, GenericSubDefinition>>;
22
- required<const GenericSubDefinition extends Partial<Omit<dataParsers.DataParserDefinitionObject, "shape" | "optimizedShape">> = never>(definition?: GenericDefinition): ReturnType<typeof dataParsers.required<dataParsers.DataParserObject<GenericDefinition>, GenericSubDefinition>>;
19
+ omit<const GenericOmitObject extends Partial<Record<keyof GenericDefinition["shape"], true>>, const GenericSubDefinition extends Partial<Omit<dataParsers.DataParserDefinitionObject, "shape" | "optimizedShape">> = never>(omitObject: GenericOmitObject, definition?: GenericDefinition): DataParserObjectExtended<MergeDefinition<dataParsers.DataParserDefinitionObject, NeverCoalescing<GenericSubDefinition, {}> & {
20
+ readonly shape: SimplifyTopLevel<Omit<GenericDefinition["shape"], keyof GenericOmitObject>>;
21
+ }>>;
22
+ pick<const GenericPickObject extends Partial<Record<keyof GenericDefinition["shape"], true>>, const GenericSubDefinition extends Partial<Omit<dataParsers.DataParserDefinitionObject, "shape" | "optimizedShape">> = never>(pickObject: GenericPickObject, definition?: GenericDefinition): DataParserObjectExtended<MergeDefinition<dataParsers.DataParserDefinitionObject, NeverCoalescing<GenericSubDefinition, {}> & {
23
+ readonly shape: SimplifyTopLevel<Pick<GenericDefinition["shape"], Adaptor<keyof GenericPickObject, keyof GenericDefinition["shape"]>>>;
24
+ }>>;
25
+ partial<const GenericSubDefinition extends Partial<Omit<dataParsers.DataParserDefinitionObject, "shape" | "optimizedShape">> = never>(definition?: GenericDefinition): DataParserObjectExtended<MergeDefinition<dataParsers.DataParserDefinitionObject, NeverCoalescing<GenericSubDefinition, {}> & {
26
+ readonly shape: dataParsers.PartialDataParserObject<GenericDefinition["shape"]>;
27
+ }>>;
28
+ required<const GenericSubDefinition extends Partial<Omit<dataParsers.DataParserDefinitionObject, "shape" | "optimizedShape">> = never>(definition?: GenericDefinition): DataParserObjectExtended<MergeDefinition<dataParsers.DataParserDefinitionObject, NeverCoalescing<GenericSubDefinition, {}> & {
29
+ readonly shape: dataParsers.RequireDataParserObject<GenericDefinition["shape"]>;
30
+ }>>;
23
31
  }
24
32
  export declare function object<const GenericShape extends dataParsers.DataParserObjectShape, const GenericDefinition extends Partial<Omit<dataParsers.DataParserDefinitionObject, "shape">> = never>(shape: GenericShape, definition?: GenericDefinition): DataParserObjectExtended<MergeDefinition<dataParsers.DataParserDefinitionObject, NeverCoalescing<GenericDefinition, {}> & {
25
33
  shape: GenericShape;
@@ -1,17 +1,29 @@
1
1
  import { dataParserExtendedInit } from '../baseExtended.mjs';
2
2
  import { object as object$1 } from '../parsers/object/index.mjs';
3
- import { required } from '../parsers/object/required.mjs';
4
- import { partial } from '../parsers/object/partial.mjs';
5
- import { pick } from '../parsers/object/pick.mjs';
6
- import { omit } from '../parsers/object/omit.mjs';
3
+ import { requiredShape } from '../parsers/object/required.mjs';
4
+ import { partialShape } from '../parsers/object/partial.mjs';
5
+ import { pickShape } from '../parsers/object/pick.mjs';
6
+ import { omitShape } from '../parsers/object/omit.mjs';
7
7
  import { createOverride } from '../../common/override.mjs';
8
8
 
9
9
  function object(shape, definition) {
10
10
  const self = dataParserExtendedInit(object$1(shape, definition), {
11
- omit: (self, omitObject, definition) => omit(self, omitObject, definition),
12
- pick: (self, pickObject, definition) => pick(self, pickObject, definition),
13
- partial: (self, definition) => partial(self, definition),
14
- required: (self, definition) => required(self, definition),
11
+ omit: (self, omitObject, definition) => {
12
+ const newShape = omitShape(self.definition.shape, omitObject);
13
+ return object(newShape, definition);
14
+ },
15
+ pick: (self, pickObject, definition) => {
16
+ const newShape = pickShape(self.definition.shape, pickObject);
17
+ return object(newShape, definition);
18
+ },
19
+ partial: (self, definition) => {
20
+ const newShape = partialShape(self.definition.shape);
21
+ return object(newShape, definition);
22
+ },
23
+ required: (self, definition) => {
24
+ const newShape = requiredShape(self.definition.shape);
25
+ return object(newShape, definition);
26
+ },
15
27
  });
16
28
  return object.overrideHandler.apply(self);
17
29
  }
@@ -8,7 +8,7 @@ import { type DataParser } from "./base";
8
8
  * parsers, the correct type can be retrieved.
9
9
  */
10
10
  export declare const identifier: {
11
- <GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/bigint", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/extended", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/boolean", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/date", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/empty", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/nil", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/number", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/string", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/array", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/transform", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/union", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/pipe", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/nullable", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/optional", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/recover", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/lazy", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/literal", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/object", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/record", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/template-literal", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/tuple", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/unknown", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
11
+ <GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/bigint", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/extended", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/boolean", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/date", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/empty", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/nil", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/number", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/string", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/array", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/transform", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/union", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/pipe", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/nullable", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/optional", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/recover", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/lazy", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/literal", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/object", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/tuple", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/template-literal", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/unknown", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/record", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
12
12
  input: string;
13
13
  output: string;
14
14
  }>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
@@ -57,7 +57,7 @@ export declare const identifier: {
57
57
  input: unknown[];
58
58
  output: unknown[];
59
59
  }>>, GenericInput extends DataParser<import("./base").DataParserDefinition<import("./base").DataParserChecker<import("./base").DataParserCheckerDefinition, unknown>>, unknown, unknown>, GenericResult extends Extract<DataParser<import("./base").DataParserDefinition<import("./base").DataParserChecker<import("./base").DataParserCheckerDefinition, unknown>>, unknown, unknown>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserString<import("./parsers").DataParserDefinitionString>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserObject<import("./parsers").DataParserDefinitionObject>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserNumber<import("./parsers").DataParserDefinitionNumber>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserLiteral<import("./parsers").DataParserDefinitionLiteral>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserUnion<import("./parsers").DataParserDefinitionUnion>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserArray<import("./parsers").DataParserDefinitionArray>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserBigInt<import("./parsers").DataParserDefinitionBigInt>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserTuple<import("./parsers").DataParserDefinitionTuple>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserTransform<import("./parsers").DataParserDefinitionTransform>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserBoolean<import("./parsers").DataParserDefinitionBoolean>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserDate<import("./parsers").DataParserDefinitionDate>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserNil<import("./parsers").DataParserDefinitionNil>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserEmpty<import("./parsers").DataParserDefinitionEmpty>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserTemplateLiteral<import("./parsers").DataParserDefinitionTemplateLiteral>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserPipe<import("./parsers").DataParserDefinitionPipe>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserNullable<import("./parsers").DataParserDefinitionNullable<unknown>>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserOptional<import("./parsers").DataParserDefinitionOptional<unknown>>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserLazy<import("./parsers").DataParserDefinitionLazy>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserUnknown<import("./parsers").DataParserDefinitionUnknown>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserRecord<import("./parsers").DataParserDefinitionRecord>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./parsers").DataParserRecover<import("./parsers").DataParserDefinitionRecover>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./baseExtended").DataParserExtended<import("./base").DataParserDefinition<import("./base").DataParserChecker<import("./base").DataParserCheckerDefinition, unknown>>, unknown, unknown>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserStringExtended<import("./parsers").DataParserDefinitionString>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserObjectExtended<import("./parsers").DataParserDefinitionObject>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserNumberExtended<import("./parsers").DataParserDefinitionNumber>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserLiteralExtended<import("./parsers").DataParserDefinitionLiteral>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserUnionExtended<import("./parsers").DataParserDefinitionUnion>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserArrayExtended<import("./parsers").DataParserDefinitionArray>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserBigIntExtended<import("./parsers").DataParserDefinitionBigInt>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserTupleExtended<import("./parsers").DataParserDefinitionTuple>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserTransformExtended<import("./parsers").DataParserDefinitionTransform>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserBooleanExtended<import("./parsers").DataParserDefinitionBoolean>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserDateExtended<import("./parsers").DataParserDefinitionDate>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserNilExtended<import("./parsers").DataParserDefinitionNil>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserEmptyExtended<import("./parsers").DataParserDefinitionEmpty>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserTemplateLiteralExtended<import("./parsers").DataParserDefinitionTemplateLiteral>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserPipeExtended<import("./parsers").DataParserDefinitionPipe>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserNullableExtended<import("./parsers").DataParserDefinitionNullable<unknown>>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserOptionalExtended<import("./parsers").DataParserDefinitionOptional<unknown>>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserLazyExtended<import("./parsers").DataParserDefinitionLazy>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserUnknownExtended<import("./parsers").DataParserDefinitionUnknown>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserRecordExtended<import("./parsers").DataParserDefinitionRecord>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>> | Extract<import("./extended").DataParserRecoverExtended<import("./parsers").DataParserDefinitionRecover>, import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>>>(kind: GenericKindHandler | GenericKindHandler[]): (input: GenericInput) => import("../either").EitherSuccess<GenericResult> | (GenericInput extends any ? import("../common").IsEqual<GenericKindHandler extends any ? import("../common").IsEqual<false | (import("../common").GetKindHandler<GenericInput> extends infer T ? T extends import("../common").GetKindHandler<GenericInput> ? T extends any ? import("../common").IsEqual<T, GenericKindHandler> : never : never : never), boolean> : never, true> extends true ? import("../either").EitherSuccess<GenericInput> : import("../either").EitherError<GenericInput> : never);
60
- <GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/bigint", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/extended", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/boolean", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/date", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/empty", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/nil", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/number", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/string", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/array", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/transform", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/union", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/pipe", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/nullable", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/optional", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/recover", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/lazy", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/literal", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/object", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/record", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/template-literal", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/tuple", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/unknown", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
60
+ <GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/bigint", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/extended", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/boolean", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/date", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/empty", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/nil", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/number", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/string", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/array", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/transform", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/union", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/pipe", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/nullable", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/optional", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/recover", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/lazy", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/literal", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/object", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/tuple", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/template-literal", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/unknown", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/record", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
61
61
  input: string;
62
62
  output: string;
63
63
  }>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
@@ -87,9 +87,13 @@ exports.checkerStringRegexKind = regex.checkerStringRegexKind;
87
87
  exports.string = index$2.string;
88
88
  exports.stringKind = index$2.stringKind;
89
89
  exports.omit = omit.omit;
90
+ exports.omitShape = omit.omitShape;
90
91
  exports.pick = pick.pick;
92
+ exports.pickShape = pick.pickShape;
91
93
  exports.partial = partial.partial;
94
+ exports.partialShape = partial.partialShape;
92
95
  exports.required = required.required;
96
+ exports.requiredShape = required.requiredShape;
93
97
  exports.object = index$3.object;
94
98
  exports.objectKind = index$3.objectKind;
95
99
  exports.checkerInt = int.checkerInt;
@@ -12,10 +12,10 @@ export { checkerStringMax, checkerStringMaxKind } from './parsers/string/checker
12
12
  export { checkerStringMin, checkerStringMinKind } from './parsers/string/checkers/min.mjs';
13
13
  export { checkerStringRegex, checkerStringRegexKind } from './parsers/string/checkers/regex.mjs';
14
14
  export { string, stringKind } from './parsers/string/index.mjs';
15
- export { omit } from './parsers/object/omit.mjs';
16
- export { pick } from './parsers/object/pick.mjs';
17
- export { partial } from './parsers/object/partial.mjs';
18
- export { required } from './parsers/object/required.mjs';
15
+ export { omit, omitShape } from './parsers/object/omit.mjs';
16
+ export { pick, pickShape } from './parsers/object/pick.mjs';
17
+ export { partial, partialShape } from './parsers/object/partial.mjs';
18
+ export { required, requiredShape } from './parsers/object/required.mjs';
19
19
  export { object, objectKind } from './parsers/object/index.mjs';
20
20
  export { checkerInt, checkerIntKind, int } from './parsers/number/checkers/int.mjs';
21
21
  export { checkerNumberMin, checkerNumberMinKind } from './parsers/number/checkers/min.mjs';
@@ -8,7 +8,7 @@ export * from "./checkers";
8
8
  export interface DataParserArrayCheckerCustom<GenericInput extends unknown[] = unknown[]> {
9
9
  }
10
10
  export type DataParserArrayCheckers<GenericInput extends unknown[] = unknown[]> = (DataParserArrayCheckerCustom<GenericInput>[GetPropsWithValueExtends<DataParserArrayCheckerCustom<GenericInput>, DataParserChecker>] | DataParserCheckerArrayMin | DataParserCheckerArrayMax | CheckerRefineImplementation<GenericInput>);
11
- export interface DataParserDefinitionArray extends DataParserDefinition {
11
+ export interface DataParserDefinitionArray extends DataParserDefinition<DataParserArrayCheckers> {
12
12
  readonly element: DataParser;
13
13
  }
14
14
  export declare const arrayKind: import("../../../common").KindHandler<import("../../../common").KindDefinition<"@DuplojsUtilsDataParser/array", unknown>>;
@@ -7,9 +7,13 @@ var isKeyof = require('../../../string/isKeyof.cjs');
7
7
  var entries = require('../../../object/entries.cjs');
8
8
  var fromEntries = require('../../../object/fromEntries.cjs');
9
9
 
10
+ function omitShape(shape, omitObject) {
11
+ return pipe.pipe(shape, entries.entries, filter.filter(([key]) => !isKeyof.isKeyof(key, omitObject)), fromEntries.fromEntries);
12
+ }
10
13
  function omit(dataParser, omitObject, definition) {
11
- const newShape = pipe.pipe(dataParser.definition.shape, entries.entries, filter.filter(([key]) => !isKeyof.isKeyof(key, omitObject)), fromEntries.fromEntries);
14
+ const newShape = omitShape(dataParser.definition.shape, omitObject);
12
15
  return index.object(newShape, definition);
13
16
  }
14
17
 
15
18
  exports.omit = omit;
19
+ exports.omitShape = omitShape;