@duplojs/utils 1.4.53 → 1.4.55

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.
@@ -30,9 +30,17 @@ function NumberMin(value) {
30
30
  function NumberMax(value) {
31
31
  return base.createConstraint(`number-max-${value}`, base$1.Number, max.checkerNumberMax(value));
32
32
  }
33
+ /**
34
+ * {@include clean/PositiveInt/index.md}
35
+ */
36
+ const PositiveInt = base.createConstraint("positive-int", base$1.Number, [
37
+ int.checkerInt(),
38
+ min.checkerNumberMin(1),
39
+ ]);
33
40
 
34
41
  exports.Int = Int;
35
42
  exports.Negative = Negative;
36
43
  exports.NumberMax = NumberMax;
37
44
  exports.NumberMin = NumberMin;
38
45
  exports.Positive = Positive;
46
+ exports.PositiveInt = PositiveInt;
@@ -148,3 +148,32 @@ export type NumberMin<GenericValue extends number> = ReturnType<typeof NumberMin
148
148
  */
149
149
  export declare function NumberMax<GenericValue extends number>(value: GenericValue & OnlyLiteralNumber<GenericValue>): import("..").ConstraintHandler<`number-max-${GenericValue & OnlyLiteralNumber<GenericValue>}`, number, readonly [DDataParser.DataParserCheckerNumberMax]>;
150
150
  export type NumberMax<GenericValue extends number> = ReturnType<typeof NumberMax<GenericValue>>;
151
+ /**
152
+ * Constraint handler that validates strictly positive integers (>= 1).
153
+ *
154
+ * **Supported call styles:**
155
+ * - Classic: `PositiveInt.create(value)` -> returns Either
156
+ *
157
+ * Use it as a reusable rule to validate inputs and to constrain NewTypes to positive integer numbers.
158
+ *
159
+ * ```ts
160
+ * const result = C.PositiveInt.create(4);
161
+ *
162
+ * if (E.isRight(result)) {
163
+ * // result: E.Right<"createConstrainedType", C.ConstrainedType<"positive-int", 4>>
164
+ * }
165
+ *
166
+ * const value = C.PositiveInt.createOrThrow(10);
167
+ * // value: C.ConstrainedType<"positive-int", 10>
168
+ *
169
+ * C.PositiveInt.is(value); // type guard
170
+ *
171
+ * ```
172
+ *
173
+ * @see https://utils.duplojs.dev/en/v1/api/clean/constraints
174
+ *
175
+ * @namespace C
176
+ *
177
+ */
178
+ export declare const PositiveInt: import("..").ConstraintHandler<"positive-int", number, readonly [DDataParser.DataParserCheckerInt, DDataParser.DataParserCheckerNumberMin]>;
179
+ export type PositiveInt = GetConstraint<typeof PositiveInt>;
@@ -28,5 +28,12 @@ function NumberMin(value) {
28
28
  function NumberMax(value) {
29
29
  return createConstraint(`number-max-${value}`, Number, checkerNumberMax(value));
30
30
  }
31
+ /**
32
+ * {@include clean/PositiveInt/index.md}
33
+ */
34
+ const PositiveInt = createConstraint("positive-int", Number, [
35
+ checkerInt(),
36
+ checkerNumberMin(1),
37
+ ]);
31
38
 
32
- export { Int, Negative, NumberMax, NumberMin, Positive };
39
+ export { Int, Negative, NumberMax, NumberMin, Positive, PositiveInt };
@@ -79,7 +79,7 @@ function createConstraintsSet(primitiveHandler, constraint) {
79
79
  }
80
80
  return pipe.pipe({
81
81
  primitiveHandler,
82
- constrains: constraints,
82
+ constraints,
83
83
  getConstraint,
84
84
  create: create$2,
85
85
  createOrThrow,
@@ -5,7 +5,7 @@ import * as DEither from "../../either";
5
5
  import * as DArray from "../../array";
6
6
  import type * as DDataParser from "../../dataParser";
7
7
  export declare const constraintsSetHandlerKind: import("../..").KindHandler<import("../..").KindDefinition<"@DuplojsUtilsClean/constraints-set-handler", unknown>>;
8
- export interface ConstraintsSetHandler<GenericPrimitiveValue extends EligiblePrimitive = EligiblePrimitive, GenericConstrainsHandler extends readonly ConstraintHandler[] = readonly []> extends Kind<typeof constraintsSetHandlerKind.definition> {
8
+ export interface ConstraintsSetHandler<GenericPrimitiveValue extends EligiblePrimitive = EligiblePrimitive, GenericConstraintsHandler extends readonly ConstraintHandler[] = readonly []> extends Kind<typeof constraintsSetHandlerKind.definition> {
9
9
  /**
10
10
  * The primitive handler used to validate and wrap values (e.g. `C.String`, `C.Number`).
11
11
  *
@@ -15,7 +15,7 @@ export interface ConstraintsSetHandler<GenericPrimitiveValue extends EligiblePri
15
15
  * The list of constraint handlers applied by this set.
16
16
  *
17
17
  */
18
- readonly constrains: GenericConstrainsHandler;
18
+ readonly constraints: GenericConstraintsHandler;
19
19
  /**
20
20
  * Creates a constrained value and returns an Either.
21
21
  *
@@ -28,8 +28,8 @@ export interface ConstraintsSetHandler<GenericPrimitiveValue extends EligiblePri
28
28
  * ```
29
29
  *
30
30
  */
31
- create<const GenericInput extends GenericPrimitiveValue>(data: GenericInput): (DEither.Right<"createConstraintsSet", (Primitive<GenericInput> & UnionToIntersection<GenericConstrainsHandler[number] extends infer InferredConstraint ? InferredConstraint extends ConstraintHandler ? GetConstraint<InferredConstraint> : never : never>)> | DEither.Left<"createConstraintsSetError", DDataParser.DataParserError>);
32
- create<GenericPrimitive extends Primitive<GenericPrimitiveValue>>(data: GenericPrimitive): (DEither.Right<"createConstraintsSet", (GenericPrimitive & UnionToIntersection<GenericConstrainsHandler[number] extends infer InferredConstraint ? InferredConstraint extends ConstraintHandler ? GetConstraint<InferredConstraint> : never : never>)> | DEither.Left<"createConstraintsSetError", DDataParser.DataParserError>);
31
+ create<const GenericInput extends GenericPrimitiveValue>(data: GenericInput): (DEither.Right<"createConstraintsSet", (Primitive<GenericInput> & UnionToIntersection<GenericConstraintsHandler[number] extends infer InferredConstraint ? InferredConstraint extends ConstraintHandler ? GetConstraint<InferredConstraint> : never : never>)> | DEither.Left<"createConstraintsSetError", DDataParser.DataParserError>);
32
+ create<GenericPrimitive extends Primitive<GenericPrimitiveValue>>(data: GenericPrimitive): (DEither.Right<"createConstraintsSet", (GenericPrimitive & UnionToIntersection<GenericConstraintsHandler[number] extends infer InferredConstraint ? InferredConstraint extends ConstraintHandler ? GetConstraint<InferredConstraint> : never : never>)> | DEither.Left<"createConstraintsSetError", DDataParser.DataParserError>);
33
33
  /**
34
34
  * Creates a constrained value and throws on error. Works with raw values or primitives.
35
35
  *
@@ -42,8 +42,8 @@ export interface ConstraintsSetHandler<GenericPrimitiveValue extends EligiblePri
42
42
  * ```
43
43
  *
44
44
  */
45
- createOrThrow<const GenericInput extends GenericPrimitiveValue>(data: GenericInput): (Primitive<GenericInput> & UnionToIntersection<GenericConstrainsHandler[number] extends infer InferredConstraint ? InferredConstraint extends ConstraintHandler ? GetConstraint<InferredConstraint> : never : never>);
46
- createOrThrow<GenericPrimitive extends Primitive<GenericPrimitiveValue>>(data: GenericPrimitive): (GenericPrimitive & UnionToIntersection<GenericConstrainsHandler[number] extends infer InferredConstraint ? InferredConstraint extends ConstraintHandler ? GetConstraint<InferredConstraint> : never : never>);
45
+ createOrThrow<const GenericInput extends GenericPrimitiveValue>(data: GenericInput): (Primitive<GenericInput> & UnionToIntersection<GenericConstraintsHandler[number] extends infer InferredConstraint ? InferredConstraint extends ConstraintHandler ? GetConstraint<InferredConstraint> : never : never>);
46
+ createOrThrow<GenericPrimitive extends Primitive<GenericPrimitiveValue>>(data: GenericPrimitive): (GenericPrimitive & UnionToIntersection<GenericConstraintsHandler[number] extends infer InferredConstraint ? InferredConstraint extends ConstraintHandler ? GetConstraint<InferredConstraint> : never : never>);
47
47
  /**
48
48
  * Creates a constrained value from an unknown input and returns an Either.
49
49
  *
@@ -53,7 +53,7 @@ export interface ConstraintsSetHandler<GenericPrimitiveValue extends EligiblePri
53
53
  * ```
54
54
  *
55
55
  */
56
- createWithUnknown<GenericInput extends unknown>(data: GenericInput): (DEither.Right<"createConstraintsSet", (Primitive<GenericPrimitiveValue> & UnionToIntersection<GenericConstrainsHandler[number] extends infer InferredConstraint ? InferredConstraint extends ConstraintHandler ? GetConstraint<InferredConstraint> : never : never>)> | DEither.Left<"createConstraintsSetError", DDataParser.DataParserError>);
56
+ createWithUnknown<GenericInput extends unknown>(data: GenericInput): (DEither.Right<"createConstraintsSet", (Primitive<GenericPrimitiveValue> & UnionToIntersection<GenericConstraintsHandler[number] extends infer InferredConstraint ? InferredConstraint extends ConstraintHandler ? GetConstraint<InferredConstraint> : never : never>)> | DEither.Left<"createConstraintsSetError", DDataParser.DataParserError>);
57
57
  /**
58
58
  * Creates a constrained value from an unknown input and throws on error.
59
59
  *
@@ -62,7 +62,7 @@ export interface ConstraintsSetHandler<GenericPrimitiveValue extends EligiblePri
62
62
  * ```
63
63
  *
64
64
  */
65
- createWithUnknownOrThrow<GenericInput extends unknown>(data: GenericInput): (Primitive<GenericPrimitiveValue> & UnionToIntersection<GenericConstrainsHandler[number] extends infer InferredConstraint ? InferredConstraint extends ConstraintHandler ? GetConstraint<InferredConstraint> : never : never>);
65
+ createWithUnknownOrThrow<GenericInput extends unknown>(data: GenericInput): (Primitive<GenericPrimitiveValue> & UnionToIntersection<GenericConstraintsHandler[number] extends infer InferredConstraint ? InferredConstraint extends ConstraintHandler ? GetConstraint<InferredConstraint> : never : never>);
66
66
  /**
67
67
  * Checks if a value satisfies all constraints of the set (type guard).
68
68
  *
@@ -71,7 +71,7 @@ export interface ConstraintsSetHandler<GenericPrimitiveValue extends EligiblePri
71
71
  * ```
72
72
  *
73
73
  */
74
- is<GenericInput extends WrappedValue>(input: GenericInput): input is Extract<GenericInput, (Primitive<GenericPrimitiveValue> & UnionToIntersection<GenericConstrainsHandler[number] extends infer InferredConstraint ? InferredConstraint extends ConstraintHandler ? GetConstraint<InferredConstraint> : never : never>)>;
74
+ is<GenericInput extends WrappedValue>(input: GenericInput): input is Extract<GenericInput, (Primitive<GenericPrimitiveValue> & UnionToIntersection<GenericConstraintsHandler[number] extends infer InferredConstraint ? InferredConstraint extends ConstraintHandler ? GetConstraint<InferredConstraint> : never : never>)>;
75
75
  /**
76
76
  * Returns a constraint handler by name from the constraints set.
77
77
  *
@@ -81,7 +81,7 @@ export interface ConstraintsSetHandler<GenericPrimitiveValue extends EligiblePri
81
81
  * ```
82
82
  *
83
83
  */
84
- getConstraint<GenericConstraintName extends GenericConstrainsHandler[number]["name"]>(name: GenericConstraintName): Extract<GenericConstrainsHandler[number], ConstraintHandler<GenericConstraintName>>;
84
+ getConstraint<GenericConstraintName extends GenericConstraintsHandler[number]["name"]>(name: GenericConstraintName): Extract<GenericConstraintsHandler[number], ConstraintHandler<GenericConstraintName>>;
85
85
  }
86
86
  declare const CreateConstraintsSetError_base: new (params: {
87
87
  "@DuplojsUtilsError/create-constraint-set-error"?: unknown;
@@ -143,5 +143,5 @@ export declare function createConstraintsSet<GenericPrimitiveValue extends Eligi
143
143
  export declare namespace createConstraintsSet {
144
144
  var overrideHandler: import("../..").OverrideHandler<ConstraintsSetHandler<EligiblePrimitive, readonly []>>;
145
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>;
146
+ export type GetConstraints<GenericHandler extends ConstraintsSetHandler<EligiblePrimitive, readonly any[]>> = Extract<GenericHandler extends any ? UnionToIntersection<GenericHandler["constraints"][number] extends infer InferredConstraint ? InferredConstraint extends ConstraintHandler ? GetConstraint<InferredConstraint> : never : never> : never, any>;
147
147
  export {};
@@ -77,7 +77,7 @@ function createConstraintsSet(primitiveHandler, constraint) {
77
77
  }
78
78
  return pipe({
79
79
  primitiveHandler,
80
- constrains: constraints,
80
+ constraints,
81
81
  getConstraint,
82
82
  create,
83
83
  createOrThrow,
@@ -57,7 +57,7 @@ function createEntity(name, getPropertiesDefinition) {
57
57
  return entityKind.addTo(properties, name);
58
58
  }
59
59
  function simplePropertyDefinitionToDataParser(simplePropertyDefinition) {
60
- const constraintKindValue = pipe.pipe(simplePropertyDefinition.constrains, map.map(({ name }) => entry.entry(name, null)), fromEntries.fromEntries);
60
+ const constraintKindValue = pipe.pipe(simplePropertyDefinition.constraints, map.map(({ name }) => entry.entry(name, null)), fromEntries.fromEntries);
61
61
  return transform.transform(simplePropertyDefinition.dataParser, (value) => base$1.constrainedTypeKind.setTo(newType.newTypeKind.setTo(wrapValue.wrapValue(value), simplePropertyDefinition.name), constraintKindValue));
62
62
  }
63
63
  function unionPropertyDefinitionToDataParser(unionPropertyDefinition) {
@@ -55,7 +55,7 @@ function createEntity(name, getPropertiesDefinition) {
55
55
  return entityKind.addTo(properties, name);
56
56
  }
57
57
  function simplePropertyDefinitionToDataParser(simplePropertyDefinition) {
58
- const constraintKindValue = pipe(simplePropertyDefinition.constrains, map(({ name }) => entry(name, null)), fromEntries);
58
+ const constraintKindValue = pipe(simplePropertyDefinition.constraints, map(({ name }) => entry(name, null)), fromEntries);
59
59
  return transform(simplePropertyDefinition.dataParser, (value) => constrainedTypeKind.setTo(newTypeKind.setTo(wrapValue(value), simplePropertyDefinition.name), constraintKindValue));
60
60
  }
61
61
  function unionPropertyDefinitionToDataParser(unionPropertyDefinition) {
@@ -7,6 +7,7 @@ var repository = require('./repository.cjs');
7
7
  var useCase = require('./useCase.cjs');
8
8
  var flag = require('./flag.cjs');
9
9
  var unwrapEntity = require('./unwrapEntity.cjs');
10
+ var maybe = require('./maybe.cjs');
10
11
  var base = require('./constraint/base.cjs');
11
12
  var number = require('./constraint/defaultConstraint/number.cjs');
12
13
  var string = require('./constraint/defaultConstraint/string.cjs');
@@ -58,6 +59,8 @@ exports.useCaseInstances = useCase.useCaseInstances;
58
59
  exports.createFlag = flag.createFlag;
59
60
  exports.flagKind = flag.flagKind;
60
61
  exports.unwrapEntity = unwrapEntity.unwrapEntity;
62
+ exports.none = maybe.none;
63
+ exports.some = maybe.some;
61
64
  exports.CreateConstrainedTypeError = base.CreateConstrainedTypeError;
62
65
  exports.constrainedTypeKind = base.constrainedTypeKind;
63
66
  exports.constraintHandlerKind = base.constraintHandlerKind;
@@ -67,6 +70,7 @@ exports.Negative = number.Negative;
67
70
  exports.NumberMax = number.NumberMax;
68
71
  exports.NumberMin = number.NumberMin;
69
72
  exports.Positive = number.Positive;
73
+ exports.PositiveInt = number.PositiveInt;
70
74
  exports.Email = string.Email;
71
75
  exports.StringMax = string.StringMax;
72
76
  exports.StringMin = string.StringMin;
@@ -33,3 +33,4 @@ export * from "./repository";
33
33
  export * from "./useCase";
34
34
  export * from "./flag";
35
35
  export * from "./unwrapEntity";
36
+ export * from "./maybe";
@@ -5,8 +5,9 @@ export { createRepository, repositoryHandlerKind } from './repository.mjs';
5
5
  export { createUseCase, useCaseHandlerKind, useCaseInstances } from './useCase.mjs';
6
6
  export { createFlag, flagKind } from './flag.mjs';
7
7
  export { unwrapEntity } from './unwrapEntity.mjs';
8
+ export { none, some } from './maybe.mjs';
8
9
  export { CreateConstrainedTypeError, constrainedTypeKind, constraintHandlerKind, createConstraint } from './constraint/base.mjs';
9
- export { Int, Negative, NumberMax, NumberMin, Positive } from './constraint/defaultConstraint/number.mjs';
10
+ export { Int, Negative, NumberMax, NumberMin, Positive, PositiveInt } from './constraint/defaultConstraint/number.mjs';
10
11
  export { Email, StringMax, StringMin, Url } from './constraint/defaultConstraint/string.mjs';
11
12
  export { CreateConstraintsSetError, constraintsSetHandlerKind, createConstraintsSet } from './constraint/set.mjs';
12
13
  export { BigInt, Boolean, CreatePrimitiveError, Date, Number, String, Time, primitiveHandlerKind } from './primitive/base.mjs';
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ var entity = require('./entity.cjs');
4
+ var create = require('../either/right/create.cjs');
5
+ var create$1 = require('../either/left/create.cjs');
6
+
7
+ /**
8
+ * {@include clean/some/index.md}
9
+ */
10
+ function some(entity$1) {
11
+ return create.right(`some-${entity.entityKind.getValue(entity$1)}`, entity$1);
12
+ }
13
+ /**
14
+ * {@include clean/none/index.md}
15
+ */
16
+ function none(entityName) {
17
+ return create$1.left(`none-${entityName}`, null);
18
+ }
19
+
20
+ exports.none = none;
21
+ exports.some = some;
@@ -0,0 +1,135 @@
1
+ import * as DEither from "../either";
2
+ import { type Entity, entityKind } from "./entity";
3
+ import { type GetKindValue } from "../common";
4
+ export interface Some<GenericEntity extends Entity = Entity> extends DEither.Right<`some-${GetKindValue<typeof entityKind, GenericEntity>}`, GenericEntity> {
5
+ }
6
+ export interface None<GenericEntityName extends string = string> extends DEither.Left<`none-${GenericEntityName}`, null> {
7
+ }
8
+ /**
9
+ * Union type that represents an optional entity in business flows.
10
+ *
11
+ * **Supported usage style:**
12
+ * - Type contract: `Maybe<Entity>`
13
+ *
14
+ * Use `Maybe` to define a business contract before implementation details. Then produce values with `some(entity)` when data exists, or `none(entityName)` when it does not.
15
+ *
16
+ * ```ts
17
+ * const UserId = C.createNewType("userId", DPE.number());
18
+ * const User = C.createEntity("User", () => ({
19
+ * id: UserId,
20
+ * }));
21
+ *
22
+ * type UserMaybe = C.Maybe<
23
+ * C.GetEntity<typeof User>
24
+ * >;
25
+ *
26
+ * const availableUser = User.new({
27
+ * id: UserId.createOrThrow(1 as number),
28
+ * });
29
+ *
30
+ * const foundUser: UserMaybe = C.some(availableUser);
31
+ * const missingUser: UserMaybe = C.none("User");
32
+ *
33
+ * type checkFound = ExpectType<
34
+ * typeof foundUser,
35
+ * C.Some<typeof availableUser>,
36
+ * "strict"
37
+ * >;
38
+ *
39
+ * type checkMissing = ExpectType<
40
+ * typeof missingUser,
41
+ * C.None<"User">,
42
+ * "strict"
43
+ * >;
44
+ * ```
45
+ *
46
+ * @remarks
47
+ * `Maybe` helps keep use-case signatures explicit: a function can return a typed optional entity without exposing null/undefined at the domain boundary.
48
+ *
49
+ * @see https://utils.duplojs.dev/en/v1/api/clean/maybe
50
+ *
51
+ * @namespace C
52
+ *
53
+ */
54
+ export type Maybe<GenericEntity extends Entity = Entity> = (Some<GenericEntity> | None<GetKindValue<typeof entityKind, GenericEntity>>);
55
+ /**
56
+ * Constructor that creates a `Maybe` success branch from an entity.
57
+ *
58
+ * **Supported call styles:**
59
+ * - Classic: `some(entity)` -> returns `Some<Entity>`
60
+ * - Pipe-compatible: `pipe(entity, some)`
61
+ *
62
+ * Use `some` when the expected entity is available and must satisfy a `Maybe<Entity>` contract.
63
+ *
64
+ * ```ts
65
+ * const UserId = C.createNewType("userId", DPE.number());
66
+ * const User = C.createEntity("User", () => ({
67
+ * id: UserId,
68
+ * }));
69
+ *
70
+ * const firstUser = User.new({
71
+ * id: UserId.createOrThrow(1),
72
+ * });
73
+ * const firstMaybe = C.some(firstUser);
74
+ * // firstMaybe: C.Some<typeof firstUser>
75
+ *
76
+ * const secondUser = User.new({
77
+ * id: UserId.createOrThrow(2),
78
+ * });
79
+ * const secondMaybe = C.some(secondUser);
80
+ * // secondMaybe: C.Some<typeof secondUser>
81
+ *
82
+ * const pipedMaybe = pipe(
83
+ * firstUser,
84
+ * C.some,
85
+ * );
86
+ *
87
+ * type check = ExpectType<
88
+ * typeof pipedMaybe,
89
+ * C.Some<typeof firstUser>,
90
+ * "strict"
91
+ * >;
92
+ *
93
+ * ```
94
+ *
95
+ * @see https://utils.duplojs.dev/en/v1/api/clean/maybe
96
+ *
97
+ * @namespace C
98
+ *
99
+ */
100
+ export declare function some<GenericEntity extends Entity>(entity: GenericEntity): Some<GenericEntity>;
101
+ /**
102
+ * Constructor that creates a `Maybe` empty branch from an entity name.
103
+ *
104
+ * **Supported call styles:**
105
+ * - Classic: `none(entityName)` -> returns `None<entityName>`
106
+ * - Pipe-compatible: `pipe(entityName, none)`
107
+ *
108
+ * Use `none` when an entity is absent but you still want to keep a precise business contract with `Maybe<Entity>`.
109
+ *
110
+ * ```ts
111
+ * const noUser = C.none("User");
112
+ * // noUser: C.None<"User">
113
+ *
114
+ * const noOrder = C.none("Order");
115
+ * // noOrder: C.None<"Order">
116
+ *
117
+ * const pipedNone = pipe(
118
+ * "Invoice",
119
+ * C.none,
120
+ * );
121
+ *
122
+ * type check = ExpectType<
123
+ * typeof pipedNone,
124
+ * C.None<"Invoice">,
125
+ * "strict"
126
+ * >;
127
+ *
128
+ * ```
129
+ *
130
+ * @see https://utils.duplojs.dev/en/v1/api/clean/maybe
131
+ *
132
+ * @namespace C
133
+ *
134
+ */
135
+ export declare function none<GenericEntityName extends string>(entityName: GenericEntityName): None<GenericEntityName>;
@@ -0,0 +1,18 @@
1
+ import { entityKind } from './entity.mjs';
2
+ import { right } from '../either/right/create.mjs';
3
+ import { left } from '../either/left/create.mjs';
4
+
5
+ /**
6
+ * {@include clean/some/index.md}
7
+ */
8
+ function some(entity) {
9
+ return right(`some-${entityKind.getValue(entity)}`, entity);
10
+ }
11
+ /**
12
+ * {@include clean/none/index.md}
13
+ */
14
+ function none(entityName) {
15
+ return left(`none-${entityName}`, null);
16
+ }
17
+
18
+ export { none, some };
@@ -84,7 +84,7 @@ function createNewType(name, dataParser, constraint) {
84
84
  return pipe.pipe({
85
85
  name,
86
86
  dataParser: dataParserWithCheckers,
87
- constrains: constraints,
87
+ constraints,
88
88
  getConstraint,
89
89
  create: create$2,
90
90
  createOrThrow,
@@ -25,7 +25,7 @@ export interface NewTypeHandler<GenericName extends string = string, GenericValu
25
25
  * The list of constraints applied to this NewType.
26
26
  *
27
27
  */
28
- readonly constrains: GenericConstraintsHandler;
28
+ readonly constraints: GenericConstraintsHandler;
29
29
  /**
30
30
  * Creates a NewType value and returns an Either.
31
31
  *
@@ -154,5 +154,5 @@ export declare function createNewType<GenericName extends string, GenericDataPar
154
154
  export declare namespace createNewType {
155
155
  var overrideHandler: import("..").OverrideHandler<NewTypeHandler<string, unknown, readonly []>>;
156
156
  }
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>;
157
+ export type GetNewType<GenericHandler extends NewTypeHandler<string, unknown, readonly any[]>> = Extract<GenericHandler extends any ? NewType<GenericHandler["name"], DDataParser.Output<GenericHandler["dataParser"]>, GenericHandler["constraints"][number]["name"]> : never, any>;
158
158
  export {};
@@ -82,7 +82,7 @@ function createNewType(name, dataParser, constraint) {
82
82
  return pipe({
83
83
  name,
84
84
  dataParser: dataParserWithCheckers,
85
- constrains: constraints,
85
+ constraints,
86
86
  getConstraint,
87
87
  create,
88
88
  createOrThrow,
@@ -239,8 +239,8 @@ export interface DataParser<GenericDefinition extends DataParserDefinition = Dat
239
239
  isAsynchronous(): boolean;
240
240
  }
241
241
  interface DataParserInitExecParams<GenericDataParser extends DataParser> {
242
- sync(...args: [...Parameters<GenericDataParser["exec"]>, self: GenericDataParser]): (GetKindValue<typeof dataParserKind, GenericDataParser>["output"] | SymbolDataParserErrorIssue | SymbolDataParserErrorPromiseIssue);
243
- async(...args: [...Parameters<GenericDataParser["exec"]>, self: GenericDataParser]): Promise<GetKindValue<typeof dataParserKind, GenericDataParser>["output"] | SymbolDataParserErrorIssue | SymbolDataParserErrorPromiseIssue>;
242
+ sync(...args: [...Parameters<GenericDataParser["exec"]>, self: GenericDataParser]): (GetKindValue<typeof dataParserKind, GenericDataParser>["output"] | SymbolDataParserError | SymbolDataParserErrorIssue | SymbolDataParserErrorPromiseIssue);
243
+ async(...args: [...Parameters<GenericDataParser["exec"]>, self: GenericDataParser]): Promise<GetKindValue<typeof dataParserKind, GenericDataParser>["output"] | SymbolDataParserError | SymbolDataParserErrorIssue | SymbolDataParserErrorPromiseIssue>;
244
244
  isAsynchronous(self: GenericDataParser): boolean;
245
245
  }
246
246
  declare const DataParserThrowError_base: new (params: {
@@ -967,6 +967,15 @@
967
967
  {
968
968
  "name": "kind.mjs"
969
969
  },
970
+ {
971
+ "name": "maybe.cjs"
972
+ },
973
+ {
974
+ "name": "maybe.d.ts"
975
+ },
976
+ {
977
+ "name": "maybe.mjs"
978
+ },
970
979
  {
971
980
  "name": "newType.cjs"
972
981
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@duplojs/utils",
3
- "version": "1.4.53",
3
+ "version": "1.4.55",
4
4
  "author": {
5
5
  "name": "mathcovax",
6
6
  "url": "https://github.com/mathcovax"