@duplojs/utils 1.4.52 → 1.4.53

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 (72) hide show
  1. package/dist/clean/constraint/base.cjs +5 -2
  2. package/dist/clean/constraint/base.d.ts +3 -0
  3. package/dist/clean/constraint/base.mjs +5 -2
  4. package/dist/clean/constraint/set.cjs +5 -3
  5. package/dist/clean/constraint/set.d.ts +4 -1
  6. package/dist/clean/constraint/set.mjs +5 -3
  7. package/dist/clean/entity.cjs +5 -3
  8. package/dist/clean/entity.d.ts +3 -0
  9. package/dist/clean/entity.mjs +5 -3
  10. package/dist/clean/flag.cjs +5 -2
  11. package/dist/clean/flag.d.ts +3 -0
  12. package/dist/clean/flag.mjs +5 -2
  13. package/dist/clean/newType.cjs +5 -3
  14. package/dist/clean/newType.d.ts +3 -0
  15. package/dist/clean/newType.mjs +5 -3
  16. package/dist/clean/primitive/base.cjs +5 -2
  17. package/dist/clean/primitive/base.mjs +5 -2
  18. package/dist/clean/repository.cjs +5 -2
  19. package/dist/clean/repository.d.ts +3 -0
  20. package/dist/clean/repository.mjs +5 -2
  21. package/dist/clean/useCase.cjs +10 -5
  22. package/dist/clean/useCase.d.ts +14 -7
  23. package/dist/clean/useCase.mjs +10 -5
  24. package/dist/dataParser/baseExtended.cjs +5 -5
  25. package/dist/dataParser/baseExtended.d.ts +3 -3
  26. package/dist/dataParser/baseExtended.mjs +5 -5
  27. package/dist/dataParser/extended/array.cjs +2 -2
  28. package/dist/dataParser/extended/array.mjs +2 -2
  29. package/dist/dataParser/extended/bigint.cjs +2 -2
  30. package/dist/dataParser/extended/bigint.mjs +2 -2
  31. package/dist/dataParser/extended/boolean.cjs +2 -2
  32. package/dist/dataParser/extended/boolean.mjs +2 -2
  33. package/dist/dataParser/extended/date.cjs +2 -2
  34. package/dist/dataParser/extended/date.mjs +2 -2
  35. package/dist/dataParser/extended/empty.cjs +2 -2
  36. package/dist/dataParser/extended/empty.mjs +2 -2
  37. package/dist/dataParser/extended/lazy.cjs +2 -2
  38. package/dist/dataParser/extended/lazy.mjs +2 -2
  39. package/dist/dataParser/extended/literal.cjs +2 -2
  40. package/dist/dataParser/extended/literal.mjs +2 -2
  41. package/dist/dataParser/extended/nil.cjs +2 -2
  42. package/dist/dataParser/extended/nil.mjs +2 -2
  43. package/dist/dataParser/extended/nullable.cjs +2 -2
  44. package/dist/dataParser/extended/nullable.mjs +2 -2
  45. package/dist/dataParser/extended/number.cjs +2 -2
  46. package/dist/dataParser/extended/number.mjs +2 -2
  47. package/dist/dataParser/extended/object.cjs +2 -2
  48. package/dist/dataParser/extended/object.mjs +2 -2
  49. package/dist/dataParser/extended/optional.cjs +2 -2
  50. package/dist/dataParser/extended/optional.mjs +2 -2
  51. package/dist/dataParser/extended/pipe.cjs +2 -2
  52. package/dist/dataParser/extended/pipe.mjs +2 -2
  53. package/dist/dataParser/extended/record.cjs +2 -2
  54. package/dist/dataParser/extended/record.mjs +2 -2
  55. package/dist/dataParser/extended/recover.cjs +2 -2
  56. package/dist/dataParser/extended/recover.mjs +2 -2
  57. package/dist/dataParser/extended/string.cjs +2 -2
  58. package/dist/dataParser/extended/string.mjs +2 -2
  59. package/dist/dataParser/extended/templateLiteral.cjs +2 -2
  60. package/dist/dataParser/extended/templateLiteral.mjs +2 -2
  61. package/dist/dataParser/extended/time.cjs +2 -2
  62. package/dist/dataParser/extended/time.mjs +2 -2
  63. package/dist/dataParser/extended/transform.cjs +2 -2
  64. package/dist/dataParser/extended/transform.mjs +2 -2
  65. package/dist/dataParser/extended/tuple.cjs +2 -2
  66. package/dist/dataParser/extended/tuple.mjs +2 -2
  67. package/dist/dataParser/extended/union.cjs +2 -2
  68. package/dist/dataParser/extended/union.mjs +2 -2
  69. package/dist/dataParser/extended/unknown.cjs +2 -2
  70. package/dist/dataParser/extended/unknown.mjs +2 -2
  71. package/dist/string/types/forbiddenString.d.ts +1 -2
  72. package/package.json +1 -1
@@ -3,7 +3,9 @@
3
3
  var kind = require('../kind.cjs');
4
4
  var kind$1 = require('../../common/kind.cjs');
5
5
  var coalescing = require('../../array/coalescing.cjs');
6
+ var pipe = require('../../common/pipe.cjs');
6
7
  var errorKindNamespace = require('../../common/errorKindNamespace.cjs');
8
+ var override = require('../../common/override.cjs');
7
9
  var is = require('../../either/left/is.cjs');
8
10
  var unwrap = require('../../common/unwrap.cjs');
9
11
  var create = require('../../either/left/create.cjs');
@@ -62,7 +64,7 @@ function createConstraint(name, primitiveHandler, checker) {
62
64
  }
63
65
  return false;
64
66
  }
65
- return constraintHandlerKind.setTo({
67
+ return pipe.pipe({
66
68
  name,
67
69
  primitiveHandler,
68
70
  checkers,
@@ -71,8 +73,9 @@ function createConstraint(name, primitiveHandler, checker) {
71
73
  createWithUnknown: create$2,
72
74
  createWithUnknownOrThrow: createOrThrow,
73
75
  is: is$1,
74
- });
76
+ }, constraintHandlerKind.setTo, createConstraint.overrideHandler.apply);
75
77
  }
78
+ createConstraint.overrideHandler = override.createOverride("@duplojs/utils/clean/constraint");
76
79
 
77
80
  exports.CreateConstrainedTypeError = CreateConstrainedTypeError;
78
81
  exports.constrainedTypeKind = constrainedTypeKind;
@@ -138,5 +138,8 @@ export declare function createConstraint<GenericName extends string, GenericPrim
138
138
  DDataParser.DataParserChecker<DDataParser.DataParserCheckerDefinition, GenericPrimitiveValue>,
139
139
  ...DDataParser.DataParserChecker<DDataParser.DataParserCheckerDefinition, GenericPrimitiveValue>[]
140
140
  ]) = never>(name: GenericName, primitiveHandler: PrimitiveHandler<GenericPrimitiveValue>, checker: GenericChecker): ConstraintHandler<GenericName, GenericPrimitiveValue, DArray.ArrayCoalescing<GenericChecker>>;
141
+ export declare namespace createConstraint {
142
+ var overrideHandler: import("../..").OverrideHandler<ConstraintHandler<string, EligiblePrimitive, readonly DDataParser.DataParserChecker<DDataParser.DataParserCheckerDefinition, unknown>[]>>;
143
+ }
141
144
  export type GetConstraint<GenericConstrainHandler extends ConstraintHandler, GenericValue extends DDataParser.InputChecker<GenericConstrainHandler["checkers"][number]> = DDataParser.InputChecker<GenericConstrainHandler["checkers"][number]>> = Extract<ConstrainedType<GenericConstrainHandler["name"], GenericValue>, any>;
142
145
  export {};
@@ -1,7 +1,9 @@
1
1
  import { createCleanKind } from '../kind.mjs';
2
2
  import { kindHeritage } from '../../common/kind.mjs';
3
3
  import { coalescing } from '../../array/coalescing.mjs';
4
+ import { pipe } from '../../common/pipe.mjs';
4
5
  import { createErrorKind } from '../../common/errorKindNamespace.mjs';
6
+ import { createOverride } from '../../common/override.mjs';
5
7
  import { isLeft } from '../../either/left/is.mjs';
6
8
  import { unwrap } from '../../common/unwrap.mjs';
7
9
  import { left } from '../../either/left/create.mjs';
@@ -60,7 +62,7 @@ function createConstraint(name, primitiveHandler, checker) {
60
62
  }
61
63
  return false;
62
64
  }
63
- return constraintHandlerKind.setTo({
65
+ return pipe({
64
66
  name,
65
67
  primitiveHandler,
66
68
  checkers,
@@ -69,7 +71,8 @@ function createConstraint(name, primitiveHandler, checker) {
69
71
  createWithUnknown: create,
70
72
  createWithUnknownOrThrow: createOrThrow,
71
73
  is,
72
- });
74
+ }, constraintHandlerKind.setTo, createConstraint.overrideHandler.apply);
73
75
  }
76
+ createConstraint.overrideHandler = createOverride("@duplojs/utils/clean/constraint");
74
77
 
75
78
  export { CreateConstrainedTypeError, constrainedTypeKind, constraintHandlerKind, createConstraint };
@@ -9,12 +9,13 @@ var pipe = require('../../common/pipe.cjs');
9
9
  var map = require('../../array/map.cjs');
10
10
  var entry = require('../../object/entry.cjs');
11
11
  var errorKindNamespace = require('../../common/errorKindNamespace.cjs');
12
+ var fromEntries = require('../../object/fromEntries.cjs');
13
+ var override = require('../../common/override.cjs');
12
14
  var is = require('../../either/left/is.cjs');
13
15
  var unwrap = require('../../common/unwrap.cjs');
14
16
  var create = require('../../either/left/create.cjs');
15
17
  var create$1 = require('../../either/right/create.cjs');
16
18
  var wrapValue = require('../../common/wrapValue.cjs');
17
- var fromEntries = require('../../object/fromEntries.cjs');
18
19
 
19
20
  const constraintsSetHandlerKind = kind.createCleanKind("constraints-set-handler");
20
21
  class CreateConstraintsSetError extends kind$1.kindHeritage("create-constraint-set-error", errorKindNamespace.createErrorKind("create-constraint-set-error"), Error) {
@@ -76,7 +77,7 @@ function createConstraintsSet(primitiveHandler, constraint) {
76
77
  }
77
78
  return true;
78
79
  }
79
- return constraintsSetHandlerKind.setTo({
80
+ return pipe.pipe({
80
81
  primitiveHandler,
81
82
  constrains: constraints,
82
83
  getConstraint,
@@ -85,8 +86,9 @@ function createConstraintsSet(primitiveHandler, constraint) {
85
86
  createWithUnknown: create$2,
86
87
  createWithUnknownOrThrow: createOrThrow,
87
88
  is: is$1,
88
- });
89
+ }, constraintsSetHandlerKind.setTo, createConstraintsSet.overrideHandler.apply);
89
90
  }
91
+ createConstraintsSet.overrideHandler = override.createOverride("@duplojs/utils/clean/constraints-set");
90
92
 
91
93
  exports.CreateConstraintsSetError = CreateConstraintsSetError;
92
94
  exports.constraintsSetHandlerKind = constraintsSetHandlerKind;
@@ -140,5 +140,8 @@ export declare function createConstraintsSet<GenericPrimitiveValue extends Eligi
140
140
  ConstraintHandler<string, EligiblePrimitive, readonly DDataParser.DataParserChecker<DDataParser.DataParserCheckerDefinition, GenericPrimitiveValue>[]>,
141
141
  ...ConstraintHandler<string, EligiblePrimitive, readonly DDataParser.DataParserChecker<DDataParser.DataParserCheckerDefinition, GenericPrimitiveValue>[]>[]
142
142
  ]) = never>(primitiveHandler: PrimitiveHandler<GenericPrimitiveValue>, constraint: GenericConstrainHandler): ConstraintsSetHandler<GenericPrimitiveValue, DArray.ArrayCoalescing<GenericConstrainHandler>>;
143
- export type GetConstraints<GenericHandler extends ConstraintsSetHandler<string, readonly any[]>> = Extract<GenericHandler extends any ? UnionToIntersection<GenericHandler["constrains"][number] extends infer InferredConstraint ? InferredConstraint extends ConstraintHandler ? GetConstraint<InferredConstraint> : never : never> : never, any>;
143
+ export declare namespace createConstraintsSet {
144
+ var overrideHandler: import("../..").OverrideHandler<ConstraintsSetHandler<EligiblePrimitive, readonly []>>;
145
+ }
146
+ export type GetConstraints<GenericHandler extends ConstraintsSetHandler<EligiblePrimitive, readonly any[]>> = Extract<GenericHandler extends any ? UnionToIntersection<GenericHandler["constrains"][number] extends infer InferredConstraint ? InferredConstraint extends ConstraintHandler ? GetConstraint<InferredConstraint> : never : never> : never, any>;
144
147
  export {};
@@ -7,12 +7,13 @@ import { pipe } from '../../common/pipe.mjs';
7
7
  import { map } from '../../array/map.mjs';
8
8
  import { entry } from '../../object/entry.mjs';
9
9
  import { createErrorKind } from '../../common/errorKindNamespace.mjs';
10
+ import { fromEntries } from '../../object/fromEntries.mjs';
11
+ import { createOverride } from '../../common/override.mjs';
10
12
  import { isLeft } from '../../either/left/is.mjs';
11
13
  import { unwrap } from '../../common/unwrap.mjs';
12
14
  import { left } from '../../either/left/create.mjs';
13
15
  import { right } from '../../either/right/create.mjs';
14
16
  import { wrapValue } from '../../common/wrapValue.mjs';
15
- import { fromEntries } from '../../object/fromEntries.mjs';
16
17
 
17
18
  const constraintsSetHandlerKind = createCleanKind("constraints-set-handler");
18
19
  class CreateConstraintsSetError extends kindHeritage("create-constraint-set-error", createErrorKind("create-constraint-set-error"), Error) {
@@ -74,7 +75,7 @@ function createConstraintsSet(primitiveHandler, constraint) {
74
75
  }
75
76
  return true;
76
77
  }
77
- return constraintsSetHandlerKind.setTo({
78
+ return pipe({
78
79
  primitiveHandler,
79
80
  constrains: constraints,
80
81
  getConstraint,
@@ -83,7 +84,8 @@ function createConstraintsSet(primitiveHandler, constraint) {
83
84
  createWithUnknown: create,
84
85
  createWithUnknownOrThrow: createOrThrow,
85
86
  is,
86
- });
87
+ }, constraintsSetHandlerKind.setTo, createConstraintsSet.overrideHandler.apply);
87
88
  }
89
+ createConstraintsSet.overrideHandler = createOverride("@duplojs/utils/clean/constraints-set");
88
90
 
89
91
  export { CreateConstraintsSetError, constraintsSetHandlerKind, createConstraintsSet };
@@ -31,11 +31,12 @@ var otherwise = require('../pattern/otherwise.cjs');
31
31
  var justReturn = require('../common/justReturn.cjs');
32
32
  var union = require('../dataParser/parsers/union.cjs');
33
33
  var minElements = require('../array/minElements.cjs');
34
+ var index$1 = require('../dataParser/parsers/object/index.cjs');
35
+ var override = require('../common/override.cjs');
34
36
  var is = require('../either/left/is.cjs');
35
37
  var unwrap = require('../common/unwrap.cjs');
36
38
  var create = require('../either/left/create.cjs');
37
39
  var create$1 = require('../either/right/create.cjs');
38
- var index$1 = require('../dataParser/parsers/object/index.cjs');
39
40
 
40
41
  const entityKind = kind.createCleanKind("entity");
41
42
  const entityHandlerKind = kind.createCleanKind("entity-handler");
@@ -125,7 +126,7 @@ function createEntity(name, getPropertiesDefinition) {
125
126
  }
126
127
  return entityKind.setTo(updatedEntity, name);
127
128
  }
128
- return entityHandlerKind.setTo({
129
+ return pipe.pipe({
129
130
  name,
130
131
  propertiesDefinition,
131
132
  mapDataParser,
@@ -134,8 +135,9 @@ function createEntity(name, getPropertiesDefinition) {
134
135
  mapOrThrow,
135
136
  is: is$1,
136
137
  update,
137
- });
138
+ }, entityHandlerKind.setTo, createEntity.overrideHandler.apply);
138
139
  }
140
+ createEntity.overrideHandler = override.createOverride("@duplojs/utils/clean/entity");
139
141
 
140
142
  exports.CreateEntityError = CreateEntityError;
141
143
  exports.createEntity = createEntity;
@@ -224,5 +224,8 @@ export interface PropertiesDefinitionParams {
224
224
  *
225
225
  */
226
226
  export declare function createEntity<GenericName extends string, const GenericPropertiesDefinition extends EntityPropertiesDefinition>(name: GenericName, getPropertiesDefinition: (params: PropertiesDefinitionParams) => GenericPropertiesDefinition & DObject.ForbiddenKey<GenericPropertiesDefinition, "_entityName" | "_flags">): EntityHandler<GenericName, GenericPropertiesDefinition>;
227
+ export declare namespace createEntity {
228
+ var overrideHandler: import("../common").OverrideHandler<EntityHandler<string, Readonly<Record<string, EntityPropertyDefinition>>>>;
229
+ }
227
230
  export type GetEntity<GenericEntityHandler extends EntityHandler<string, any>> = Extract<ReturnType<GenericEntityHandler["new"]>, any>;
228
231
  export {};
@@ -29,11 +29,12 @@ import { otherwise } from '../pattern/otherwise.mjs';
29
29
  import { justReturn } from '../common/justReturn.mjs';
30
30
  import { union } from '../dataParser/parsers/union.mjs';
31
31
  import { minElements } from '../array/minElements.mjs';
32
+ import { object } from '../dataParser/parsers/object/index.mjs';
33
+ import { createOverride } from '../common/override.mjs';
32
34
  import { isLeft } from '../either/left/is.mjs';
33
35
  import { unwrap } from '../common/unwrap.mjs';
34
36
  import { left } from '../either/left/create.mjs';
35
37
  import { right } from '../either/right/create.mjs';
36
- import { object } from '../dataParser/parsers/object/index.mjs';
37
38
 
38
39
  const entityKind = createCleanKind("entity");
39
40
  const entityHandlerKind = createCleanKind("entity-handler");
@@ -123,7 +124,7 @@ function createEntity(name, getPropertiesDefinition) {
123
124
  }
124
125
  return entityKind.setTo(updatedEntity, name);
125
126
  }
126
- return entityHandlerKind.setTo({
127
+ return pipe({
127
128
  name,
128
129
  propertiesDefinition,
129
130
  mapDataParser,
@@ -132,7 +133,8 @@ function createEntity(name, getPropertiesDefinition) {
132
133
  mapOrThrow,
133
134
  is,
134
135
  update,
135
- });
136
+ }, entityHandlerKind.setTo, createEntity.overrideHandler.apply);
136
137
  }
138
+ createEntity.overrideHandler = createOverride("@duplojs/utils/clean/entity");
137
139
 
138
140
  export { CreateEntityError, createEntity, entityKind };
@@ -1,6 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var kind = require('./kind.cjs');
4
+ var pipe = require('../common/pipe.cjs');
5
+ var override = require('../common/override.cjs');
4
6
 
5
7
  const flagHandlerKind = kind.createCleanKind("flag-handler");
6
8
  const flagKind = kind.createCleanKind("flag");
@@ -8,7 +10,7 @@ const flagKind = kind.createCleanKind("flag");
8
10
  * {@include clean/createFlag/index.md}
9
11
  */
10
12
  function createFlag(name) {
11
- return flagHandlerKind.setTo({
13
+ return pipe.pipe({
12
14
  name,
13
15
  append(entity, value) {
14
16
  const flagValue = flagKind.has(entity)
@@ -26,8 +28,9 @@ function createFlag(name) {
26
28
  return flagKind.has(entity)
27
29
  && name in flagKind.getValue(entity);
28
30
  },
29
- });
31
+ }, flagHandlerKind.setTo, createFlag.overrideHandler.apply);
30
32
  }
33
+ createFlag.overrideHandler = override.createOverride("@duplojs/utils/clean/flag");
31
34
 
32
35
  exports.createFlag = createFlag;
33
36
  exports.flagKind = flagKind;
@@ -110,5 +110,8 @@ export declare function createFlag<GenericEntity extends Entity = never, Generic
110
110
  IsEqual<GenericEntity, never>,
111
111
  IsEqual<GenericName, never>
112
112
  ]> extends true ? never : NoInfer<GenericName>): FlagHandler<GenericEntity, GenericName, GenericValue>;
113
+ export declare namespace createFlag {
114
+ var overrideHandler: import("../common").OverrideHandler<FlagHandler<Entity<string>, string, never>>;
115
+ }
113
116
  export type GetFlag<GenericHandler extends FlagHandler<any, any, any>> = Extract<Flag<GenericHandler["name"], ReturnType<GenericHandler["getValue"]>>, any>;
114
117
  export {};
@@ -1,4 +1,6 @@
1
1
  import { createCleanKind } from './kind.mjs';
2
+ import { pipe } from '../common/pipe.mjs';
3
+ import { createOverride } from '../common/override.mjs';
2
4
 
3
5
  const flagHandlerKind = createCleanKind("flag-handler");
4
6
  const flagKind = createCleanKind("flag");
@@ -6,7 +8,7 @@ const flagKind = createCleanKind("flag");
6
8
  * {@include clean/createFlag/index.md}
7
9
  */
8
10
  function createFlag(name) {
9
- return flagHandlerKind.setTo({
11
+ return pipe({
10
12
  name,
11
13
  append(entity, value) {
12
14
  const flagValue = flagKind.has(entity)
@@ -24,7 +26,8 @@ function createFlag(name) {
24
26
  return flagKind.has(entity)
25
27
  && name in flagKind.getValue(entity);
26
28
  },
27
- });
29
+ }, flagHandlerKind.setTo, createFlag.overrideHandler.apply);
28
30
  }
31
+ createFlag.overrideHandler = createOverride("@duplojs/utils/clean/flag");
29
32
 
30
33
  export { createFlag, flagKind };
@@ -8,13 +8,14 @@ var pipe = require('../common/pipe.cjs');
8
8
  var map = require('../array/map.cjs');
9
9
  var entry = require('../object/entry.cjs');
10
10
  var errorKindNamespace = require('../common/errorKindNamespace.cjs');
11
+ var fromEntries = require('../object/fromEntries.cjs');
12
+ var override = require('../common/override.cjs');
11
13
  var is = require('../either/left/is.cjs');
12
14
  var unwrap = require('../common/unwrap.cjs');
13
15
  var create = require('../either/left/create.cjs');
14
16
  var base = require('./constraint/base.cjs');
15
17
  var create$1 = require('../either/right/create.cjs');
16
18
  var wrapValue = require('../common/wrapValue.cjs');
17
- var fromEntries = require('../object/fromEntries.cjs');
18
19
 
19
20
  const newTypeKind = kind.createCleanKind("new-type");
20
21
  const newTypeHandlerKind = kind.createCleanKind("new-type-handler");
@@ -80,7 +81,7 @@ function createNewType(name, dataParser, constraint) {
80
81
  }
81
82
  return true;
82
83
  }
83
- return newTypeHandlerKind.setTo({
84
+ return pipe.pipe({
84
85
  name,
85
86
  dataParser: dataParserWithCheckers,
86
87
  constrains: constraints,
@@ -90,8 +91,9 @@ function createNewType(name, dataParser, constraint) {
90
91
  createWithUnknown: create$2,
91
92
  createWithUnknownOrThrow: createOrThrow,
92
93
  is: is$1,
93
- });
94
+ }, newTypeHandlerKind.setTo, createNewType.overrideHandler.apply);
94
95
  }
96
+ createNewType.overrideHandler = override.createOverride("@duplojs/utils/clean/new-type");
95
97
 
96
98
  exports.CreateNewTypeError = CreateNewTypeError;
97
99
  exports.createNewType = createNewType;
@@ -151,5 +151,8 @@ export declare function createNewType<GenericName extends string, GenericDataPar
151
151
  ConstraintHandler<string, EligiblePrimitive, readonly DDataParser.DataParserChecker<DDataParser.DataParserCheckerDefinition, DDataParser.Output<GenericDataParser>>[]>,
152
152
  ...ConstraintHandler<string, EligiblePrimitive, readonly DDataParser.DataParserChecker<DDataParser.DataParserCheckerDefinition, DDataParser.Output<GenericDataParser>>[]>[]
153
153
  ]) = never>(name: GenericName, dataParser: GenericDataParser & DataParserContainTransform<GenericDataParser>, constraint?: GenericConstraintsHandler): NewTypeHandler<GenericName, DeepReadonly<DDataParser.Output<GenericDataParser>>, DArray.ArrayCoalescing<NeverCoalescing<GenericConstraintsHandler, readonly []>>>;
154
+ export declare namespace createNewType {
155
+ var overrideHandler: import("..").OverrideHandler<NewTypeHandler<string, unknown, readonly []>>;
156
+ }
154
157
  export type GetNewType<GenericHandler extends NewTypeHandler<string, unknown, readonly any[]>> = Extract<GenericHandler extends any ? NewType<GenericHandler["name"], DDataParser.Output<GenericHandler["dataParser"]>, GenericHandler["constrains"][number]["name"]> : never, any>;
155
158
  export {};
@@ -6,13 +6,14 @@ import { pipe } from '../common/pipe.mjs';
6
6
  import { map } from '../array/map.mjs';
7
7
  import { entry } from '../object/entry.mjs';
8
8
  import { createErrorKind } from '../common/errorKindNamespace.mjs';
9
+ import { fromEntries } from '../object/fromEntries.mjs';
10
+ import { createOverride } from '../common/override.mjs';
9
11
  import { isLeft } from '../either/left/is.mjs';
10
12
  import { unwrap } from '../common/unwrap.mjs';
11
13
  import { left } from '../either/left/create.mjs';
12
14
  import { constrainedTypeKind } from './constraint/base.mjs';
13
15
  import { right } from '../either/right/create.mjs';
14
16
  import { wrapValue } from '../common/wrapValue.mjs';
15
- import { fromEntries } from '../object/fromEntries.mjs';
16
17
 
17
18
  const newTypeKind = createCleanKind("new-type");
18
19
  const newTypeHandlerKind = createCleanKind("new-type-handler");
@@ -78,7 +79,7 @@ function createNewType(name, dataParser, constraint) {
78
79
  }
79
80
  return true;
80
81
  }
81
- return newTypeHandlerKind.setTo({
82
+ return pipe({
82
83
  name,
83
84
  dataParser: dataParserWithCheckers,
84
85
  constrains: constraints,
@@ -88,7 +89,8 @@ function createNewType(name, dataParser, constraint) {
88
89
  createWithUnknown: create,
89
90
  createWithUnknownOrThrow: createOrThrow,
90
91
  is,
91
- });
92
+ }, newTypeHandlerKind.setTo, createNewType.overrideHandler.apply);
92
93
  }
94
+ createNewType.overrideHandler = createOverride("@duplojs/utils/clean/new-type");
93
95
 
94
96
  export { CreateNewTypeError, createNewType, newTypeHandlerKind, newTypeKind };
@@ -3,12 +3,14 @@
3
3
  var kind = require('../kind.cjs');
4
4
  var kind$1 = require('../../common/kind.cjs');
5
5
  var index = require('../../dataParser/parsers/string/index.cjs');
6
+ var pipe = require('../../common/pipe.cjs');
6
7
  var index$1 = require('../../dataParser/parsers/number/index.cjs');
7
8
  var index$2 = require('../../dataParser/parsers/bigint/index.cjs');
8
9
  var boolean = require('../../dataParser/parsers/boolean.cjs');
9
10
  var date = require('../../dataParser/parsers/date.cjs');
10
11
  var index$3 = require('../../dataParser/parsers/time/index.cjs');
11
12
  var errorKindNamespace = require('../../common/errorKindNamespace.cjs');
13
+ var override = require('../../common/override.cjs');
12
14
  var unwrap = require('../../common/unwrap.cjs');
13
15
  var is = require('../../either/right/is.cjs');
14
16
  var is$1 = require('../../either/left/is.cjs');
@@ -49,15 +51,16 @@ function createPrimitive(dataParser) {
49
51
  const result = dataParser.parse(unwrap.unwrap(input));
50
52
  return is.isRight(result);
51
53
  }
52
- return primitiveHandlerKind.setTo({
54
+ return pipe.pipe({
53
55
  dataParser,
54
56
  create: create$2,
55
57
  createOrThrow,
56
58
  createWithUnknown: create$2,
57
59
  createWithUnknownOrThrow: createOrThrow,
58
60
  is: is$2,
59
- });
61
+ }, primitiveHandlerKind.setTo, createPrimitive.overrideHandler.apply);
60
62
  }
63
+ createPrimitive.overrideHandler = override.createOverride("@duplojs/utils/clean/primitive");
61
64
  /**
62
65
  * {@include clean/String/index.md}
63
66
  */
@@ -1,12 +1,14 @@
1
1
  import { createCleanKind } from '../kind.mjs';
2
2
  import { kindHeritage } from '../../common/kind.mjs';
3
3
  import { string } from '../../dataParser/parsers/string/index.mjs';
4
+ import { pipe } from '../../common/pipe.mjs';
4
5
  import { number } from '../../dataParser/parsers/number/index.mjs';
5
6
  import { bigint } from '../../dataParser/parsers/bigint/index.mjs';
6
7
  import { boolean } from '../../dataParser/parsers/boolean.mjs';
7
8
  import { date } from '../../dataParser/parsers/date.mjs';
8
9
  import { time } from '../../dataParser/parsers/time/index.mjs';
9
10
  import { createErrorKind } from '../../common/errorKindNamespace.mjs';
11
+ import { createOverride } from '../../common/override.mjs';
10
12
  import { unwrap } from '../../common/unwrap.mjs';
11
13
  import { isRight } from '../../either/right/is.mjs';
12
14
  import { isLeft } from '../../either/left/is.mjs';
@@ -47,15 +49,16 @@ function createPrimitive(dataParser) {
47
49
  const result = dataParser.parse(unwrap(input));
48
50
  return isRight(result);
49
51
  }
50
- return primitiveHandlerKind.setTo({
52
+ return pipe({
51
53
  dataParser,
52
54
  create,
53
55
  createOrThrow,
54
56
  createWithUnknown: create,
55
57
  createWithUnknownOrThrow: createOrThrow,
56
58
  is,
57
- });
59
+ }, primitiveHandlerKind.setTo, createPrimitive.overrideHandler.apply);
58
60
  }
61
+ createPrimitive.overrideHandler = createOverride("@duplojs/utils/clean/primitive");
59
62
  /**
60
63
  * {@include clean/String/index.md}
61
64
  */
@@ -1,18 +1,21 @@
1
1
  'use strict';
2
2
 
3
3
  var kind = require('./kind.cjs');
4
+ var pipe = require('../common/pipe.cjs');
5
+ var override = require('../common/override.cjs');
4
6
 
5
7
  const repositoryHandlerKind = kind.createCleanKind("repository-handler");
6
8
  /**
7
9
  * {@include clean/createRepository/index.md}
8
10
  */
9
11
  function createRepository() {
10
- return repositoryHandlerKind.setTo({
12
+ return pipe.pipe({
11
13
  createImplementation(implementation) {
12
14
  return implementation;
13
15
  },
14
- });
16
+ }, repositoryHandlerKind.setTo, createRepository.overrideHandler.apply);
15
17
  }
18
+ createRepository.overrideHandler = override.createOverride("@duplojs/utils/clean/repository");
16
19
 
17
20
  exports.createRepository = createRepository;
18
21
  exports.repositoryHandlerKind = repositoryHandlerKind;
@@ -93,3 +93,6 @@ export interface RepositoryHandler<GenericRepository extends object = object> ex
93
93
  *
94
94
  */
95
95
  export declare function createRepository<GenericRepository extends object>(): RepositoryHandler<GenericRepository>;
96
+ export declare namespace createRepository {
97
+ var overrideHandler: import("../common").OverrideHandler<RepositoryHandler<object>>;
98
+ }
@@ -1,15 +1,18 @@
1
1
  import { createCleanKind } from './kind.mjs';
2
+ import { pipe } from '../common/pipe.mjs';
3
+ import { createOverride } from '../common/override.mjs';
2
4
 
3
5
  const repositoryHandlerKind = createCleanKind("repository-handler");
4
6
  /**
5
7
  * {@include clean/createRepository/index.md}
6
8
  */
7
9
  function createRepository() {
8
- return repositoryHandlerKind.setTo({
10
+ return pipe({
9
11
  createImplementation(implementation) {
10
12
  return implementation;
11
13
  },
12
- });
14
+ }, repositoryHandlerKind.setTo, createRepository.overrideHandler.apply);
13
15
  }
16
+ createRepository.overrideHandler = createOverride("@duplojs/utils/clean/repository");
14
17
 
15
18
  export { createRepository, repositoryHandlerKind };
@@ -7,19 +7,24 @@ var entry = require('../object/entry.cjs');
7
7
  var uncapitalize = require('../string/uncapitalize.cjs');
8
8
  var entries = require('../object/entries.cjs');
9
9
  var fromEntries = require('../object/fromEntries.cjs');
10
+ var override = require('../common/override.cjs');
10
11
 
11
12
  const useCaseHandlerKind = kind.createCleanKind("use-case-handler");
12
13
  /**
13
14
  * {@include clean/createUseCase/index.md}
14
15
  */
15
16
  function createUseCase(dependencies, getUseCase) {
16
- return useCaseHandlerKind.setTo({
17
+ return pipe.pipe({
17
18
  dependencies,
18
- getUseCase: (repositories) => getUseCase(pipe.pipe(dependencies, entries.entries, map.map(([key, value]) => entry.entry(uncapitalize.uncapitalize(key), useCaseHandlerKind.has(value)
19
- ? value.getUseCase(repositories)
20
- : repositories[uncapitalize.uncapitalize(key)])), fromEntries.fromEntries)),
21
- });
19
+ getUseCase: (injectedDependencies) => getUseCase(pipe.pipe(dependencies, entries.entries, map.map(([key, value]) => {
20
+ const formattedKey = uncapitalize.uncapitalize(key);
21
+ return entry.entry(formattedKey, useCaseHandlerKind.has(value) && !injectedDependencies[formattedKey]
22
+ ? value.getUseCase(injectedDependencies)
23
+ : injectedDependencies[formattedKey]);
24
+ }), fromEntries.fromEntries)),
25
+ }, useCaseHandlerKind.setTo, createUseCase.overrideHandler.apply);
22
26
  }
27
+ createUseCase.overrideHandler = override.createOverride("@duplojs/utils/clean/use-case");
23
28
  /**
24
29
  * {@include clean/useCaseInstances/index.md}
25
30
  */
@@ -1,12 +1,12 @@
1
- import { type ObjectEntry, type Kind, type SimplifyTopLevel, type UnionToIntersection } from "../common";
1
+ import { type ObjectEntry, type Kind, type SimplifyTopLevel, type UnionToIntersection, type Adaptor } from "../common";
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 as (Prop extends string ? Uncapitalize<Prop> : Prop)]: GenericDependencies[Prop] extends RepositoryHandler ? ReturnType<GenericDependencies[Prop]["createImplementation"]> : GenericDependencies[Prop] extends UseCaseHandler ? ReturnType<GenericDependencies[Prop]["getUseCase"]> : never;
5
+ [Prop in keyof GenericDependencies as Uncapitalize<Adaptor<Prop, string>>]: 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 extends string ? Uncapitalize<Prop> : Prop),
9
+ Uncapitalize<Adaptor<Prop, string>>,
10
10
  ReturnType<GenericDependenciesValue[Prop]["createImplementation"]>
11
11
  ] : GenericDependenciesValue[Prop] extends UseCaseHandler ? GetAllRepositories<GenericDependenciesValue[Prop]["dependencies"]> : never);
12
12
  })[keyof GenericDependenciesValue] : never;
@@ -26,9 +26,11 @@ export interface UseCaseHandler<GenericDependencies extends UseCaseDependencies
26
26
  * ```
27
27
  *
28
28
  */
29
- getUseCase(repositories: (GetAllRepositories<GenericDependencies> extends infer InferredEntriesDependenciesValue extends ObjectEntry ? {
30
- [Entry in InferredEntriesDependenciesValue as InferredEntriesDependenciesValue[0]]: InferredEntriesDependenciesValue[1];
31
- } : never)): GenericUseCase;
29
+ getUseCase(repositories: ((GetAllRepositories<GenericDependencies> extends infer InferredEntriesDependenciesValue extends ObjectEntry ? {
30
+ [Entry in InferredEntriesDependenciesValue as Entry[0]]: Entry[1];
31
+ } : never) & ({
32
+ [Prop in keyof GenericDependencies as GenericDependencies[Prop] extends UseCaseHandler ? Uncapitalize<Adaptor<Prop, string>> : never]?: GenericDependencies[Prop] extends UseCaseHandler ? ReturnType<GenericDependencies[Prop]["getUseCase"]> : never;
33
+ }))): GenericUseCase;
32
34
  }
33
35
  /**
34
36
  * Creates a use case handler with explicit dependencies.
@@ -109,6 +111,9 @@ export interface UseCaseHandler<GenericDependencies extends UseCaseDependencies
109
111
  *
110
112
  */
111
113
  export declare function createUseCase<const GenericDependencies extends UseCaseDependencies, GenericUseCase extends (input: any) => any>(dependencies: GenericDependencies, getUseCase: (dependenciesValue: UseCaseDependenciesValue<GenericDependencies>) => GenericUseCase): UseCaseHandler<GenericDependencies, GenericUseCase>;
114
+ export declare namespace createUseCase {
115
+ var overrideHandler: import("../common").OverrideHandler<UseCaseHandler<any, any>>;
116
+ }
112
117
  /**
113
118
  * Instantiates multiple use cases at once.
114
119
  *
@@ -159,5 +164,7 @@ export declare function createUseCase<const GenericDependencies extends UseCaseD
159
164
  *
160
165
  */
161
166
  export declare function useCaseInstances<GenericUseCases extends Record<string, UseCaseHandler>>(useCases: GenericUseCases, repositories: SimplifyTopLevel<UnionToIntersection<{
162
- [Prop in keyof GenericUseCases]: Parameters<GenericUseCases[Prop]["getUseCase"]>[0];
167
+ [Prop in keyof GenericUseCases]: GetAllRepositories<GenericUseCases[Prop]["dependencies"]> extends infer InferredEntriesDependenciesValue extends ObjectEntry ? {
168
+ [Entry in InferredEntriesDependenciesValue as Entry[0]]: Entry[1];
169
+ } : never;
163
170
  }[keyof GenericUseCases]>>): UseCaseDependenciesValue<GenericUseCases>;
@@ -5,19 +5,24 @@ import { entry } from '../object/entry.mjs';
5
5
  import { uncapitalize } from '../string/uncapitalize.mjs';
6
6
  import { entries } from '../object/entries.mjs';
7
7
  import { fromEntries } from '../object/fromEntries.mjs';
8
+ import { createOverride } from '../common/override.mjs';
8
9
 
9
10
  const useCaseHandlerKind = createCleanKind("use-case-handler");
10
11
  /**
11
12
  * {@include clean/createUseCase/index.md}
12
13
  */
13
14
  function createUseCase(dependencies, getUseCase) {
14
- return useCaseHandlerKind.setTo({
15
+ return pipe({
15
16
  dependencies,
16
- getUseCase: (repositories) => getUseCase(pipe(dependencies, entries, map(([key, value]) => entry(uncapitalize(key), useCaseHandlerKind.has(value)
17
- ? value.getUseCase(repositories)
18
- : repositories[uncapitalize(key)])), fromEntries)),
19
- });
17
+ getUseCase: (injectedDependencies) => getUseCase(pipe(dependencies, entries, map(([key, value]) => {
18
+ const formattedKey = uncapitalize(key);
19
+ return entry(formattedKey, useCaseHandlerKind.has(value) && !injectedDependencies[formattedKey]
20
+ ? value.getUseCase(injectedDependencies)
21
+ : injectedDependencies[formattedKey]);
22
+ }), fromEntries)),
23
+ }, useCaseHandlerKind.setTo, createUseCase.overrideHandler.apply);
20
24
  }
25
+ createUseCase.overrideHandler = createOverride("@duplojs/utils/clean/use-case");
21
26
  /**
22
27
  * {@include clean/useCaseInstances/index.md}
23
28
  */