@duplojs/utils 1.4.57 → 1.4.58
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.
- package/dist/clean/constraint/base.d.ts +6 -4
- package/dist/clean/constraint/defaultConstraint/index.d.ts +1 -0
- package/dist/clean/constraint/defaultConstraint/number.d.ts +6 -6
- package/dist/clean/constraint/defaultConstraint/string.d.ts +4 -4
- package/dist/clean/constraint/defaultConstraint/time.cjs +19 -0
- package/dist/clean/constraint/defaultConstraint/time.d.ts +61 -0
- package/dist/clean/constraint/defaultConstraint/time.mjs +16 -0
- package/dist/clean/constraint/set.d.ts +6 -4
- package/dist/clean/entity.d.ts +2 -1
- package/dist/clean/index.cjs +3 -0
- package/dist/clean/index.mjs +1 -0
- package/dist/clean/newType.d.ts +7 -5
- package/dist/clean/primitive/base.d.ts +25 -34
- package/dist/clean/primitive/operations/date/dateAddTime.d.ts +7 -11
- package/dist/clean/primitive/operations/date/dateGreaterThan.d.ts +9 -7
- package/dist/clean/primitive/operations/date/dateLessThan.d.ts +9 -7
- package/dist/clean/primitive/operations/date/dateMax.d.ts +3 -10
- package/dist/clean/primitive/operations/date/dateMin.d.ts +3 -10
- package/dist/clean/primitive/operations/date/dateSubtractTime.d.ts +7 -11
- package/dist/clean/primitive/operations/equal.cjs +1 -1
- package/dist/clean/primitive/operations/equal.d.ts +3 -3
- package/dist/clean/primitive/operations/equal.mjs +1 -1
- package/dist/clean/primitive/operations/sort.d.ts +8 -10
- package/dist/clean/primitive/operations/time/timeGreaterThan.d.ts +11 -9
- package/dist/clean/primitive/operations/time/timeLessThan.d.ts +11 -9
- package/dist/clean/primitive/operations/time/timeMax.cjs +2 -2
- package/dist/clean/primitive/operations/time/timeMax.d.ts +10 -17
- package/dist/clean/primitive/operations/time/timeMax.mjs +2 -2
- package/dist/clean/primitive/operations/time/timeMin.cjs +3 -3
- package/dist/clean/primitive/operations/time/timeMin.d.ts +10 -17
- package/dist/clean/primitive/operations/time/timeMin.mjs +3 -3
- package/dist/clean/unwrapEntity.cjs +13 -3
- package/dist/clean/unwrapEntity.d.ts +57 -5
- package/dist/clean/unwrapEntity.mjs +13 -3
- package/dist/common/index.d.ts +2 -4
- package/dist/common/kind.d.ts +1 -0
- package/dist/common/transformer.cjs +45 -0
- package/dist/common/transformer.d.ts +61 -0
- package/dist/common/transformer.mjs +40 -0
- package/dist/common/types/DeepReadonly.d.ts +1 -1
- package/dist/common/types/toLargeEnsemble.d.ts +2 -2
- package/dist/dataParser/extended/date.d.ts +9 -4
- package/dist/dataParser/extended/time.d.ts +28 -12
- package/dist/dataParser/identifier.d.ts +20 -8
- package/dist/dataParser/parsers/date.cjs +16 -12
- package/dist/dataParser/parsers/date.d.ts +15 -9
- package/dist/dataParser/parsers/date.mjs +16 -12
- package/dist/dataParser/parsers/time/checkers/max.cjs +3 -0
- package/dist/dataParser/parsers/time/checkers/max.d.ts +28 -0
- package/dist/dataParser/parsers/time/checkers/max.mjs +3 -0
- package/dist/dataParser/parsers/time/checkers/min.cjs +3 -0
- package/dist/dataParser/parsers/time/checkers/min.d.ts +28 -0
- package/dist/dataParser/parsers/time/checkers/min.mjs +3 -0
- package/dist/dataParser/parsers/time/index.cjs +14 -10
- package/dist/dataParser/parsers/time/index.d.ts +15 -9
- package/dist/dataParser/parsers/time/index.mjs +14 -10
- package/dist/date/applyTimezone.cjs +4 -4
- package/dist/date/applyTimezone.d.ts +18 -16
- package/dist/date/applyTimezone.mjs +2 -2
- package/dist/date/closestTo.cjs +6 -2
- package/dist/date/closestTo.d.ts +15 -15
- package/dist/date/closestTo.mjs +6 -2
- package/dist/date/constants.cjs +4 -4
- package/dist/date/constants.d.ts +2 -2
- package/dist/date/constants.mjs +3 -3
- package/dist/date/create.cjs +20 -10
- package/dist/date/create.d.ts +24 -38
- package/dist/date/create.mjs +21 -11
- package/dist/date/createOrThrow.d.ts +18 -20
- package/dist/date/createTime.cjs +16 -7
- package/dist/date/createTime.d.ts +19 -18
- package/dist/date/createTime.mjs +17 -8
- package/dist/date/createTimeOrThrow.d.ts +17 -20
- package/dist/date/each.cjs +6 -4
- package/dist/date/each.d.ts +21 -19
- package/dist/date/each.mjs +6 -4
- package/dist/date/format.d.ts +17 -15
- package/dist/date/formatTime.d.ts +17 -16
- package/dist/date/getTimezoneOffset.cjs +6 -3
- package/dist/date/getTimezoneOffset.d.ts +17 -18
- package/dist/date/getTimezoneOffset.mjs +6 -3
- package/dist/date/getters/getDayOfMonth.cjs +3 -3
- package/dist/date/getters/getDayOfMonth.d.ts +20 -14
- package/dist/date/getters/getDayOfMonth.mjs +3 -3
- package/dist/date/getters/getDayOfWeek.cjs +3 -3
- package/dist/date/getters/getDayOfWeek.d.ts +15 -12
- package/dist/date/getters/getDayOfWeek.mjs +3 -3
- package/dist/date/getters/getDayOfYear.cjs +6 -6
- package/dist/date/getters/getDayOfYear.d.ts +21 -13
- package/dist/date/getters/getDayOfYear.mjs +6 -6
- package/dist/date/getters/getFirstDayOfMonth.cjs +2 -3
- package/dist/date/getters/getFirstDayOfMonth.d.ts +16 -10
- package/dist/date/getters/getFirstDayOfMonth.mjs +2 -3
- package/dist/date/getters/getFirstDayOfWeek.cjs +2 -3
- package/dist/date/getters/getFirstDayOfWeek.d.ts +17 -10
- package/dist/date/getters/getFirstDayOfWeek.mjs +2 -3
- package/dist/date/getters/getHour.cjs +3 -3
- package/dist/date/getters/getHour.d.ts +16 -14
- package/dist/date/getters/getHour.mjs +3 -3
- package/dist/date/getters/getLastDayOfMonth.cjs +2 -3
- package/dist/date/getters/getLastDayOfMonth.d.ts +16 -10
- package/dist/date/getters/getLastDayOfMonth.mjs +2 -3
- package/dist/date/getters/getLastDayOfWeek.cjs +2 -3
- package/dist/date/getters/getLastDayOfWeek.d.ts +17 -10
- package/dist/date/getters/getLastDayOfWeek.mjs +2 -3
- package/dist/date/getters/getMilliseconds.cjs +2 -2
- package/dist/date/getters/getMilliseconds.d.ts +11 -9
- package/dist/date/getters/getMilliseconds.mjs +2 -2
- package/dist/date/getters/getMinute.cjs +3 -3
- package/dist/date/getters/getMinute.d.ts +17 -15
- package/dist/date/getters/getMinute.mjs +3 -3
- package/dist/date/getters/getMonth.cjs +3 -3
- package/dist/date/getters/getMonth.d.ts +20 -15
- package/dist/date/getters/getMonth.mjs +3 -3
- package/dist/date/getters/getSecond.cjs +3 -3
- package/dist/date/getters/getSecond.d.ts +17 -15
- package/dist/date/getters/getSecond.mjs +3 -3
- package/dist/date/getters/getWeekOfYear.cjs +12 -11
- package/dist/date/getters/getWeekOfYear.d.ts +17 -11
- package/dist/date/getters/getWeekOfYear.mjs +12 -11
- package/dist/date/getters/getYear.cjs +3 -3
- package/dist/date/getters/getYear.d.ts +16 -15
- package/dist/date/getters/getYear.mjs +3 -3
- package/dist/date/index.cjs +12 -6
- package/dist/date/index.d.ts +5 -2
- package/dist/date/index.mjs +6 -3
- package/dist/date/is.cjs +3 -8
- package/dist/date/is.d.ts +9 -14
- package/dist/date/is.mjs +3 -8
- package/dist/date/isSafeTimeValue.d.ts +9 -13
- package/dist/date/isSafeTimestamp.d.ts +7 -16
- package/dist/date/isSerializedTheDate.cjs +20 -0
- package/dist/date/isSerializedTheDate.d.ts +31 -0
- package/dist/date/isSerializedTheDate.mjs +18 -0
- package/dist/date/isSerializedTheTime.cjs +20 -0
- package/dist/date/isSerializedTheTime.d.ts +31 -0
- package/dist/date/isSerializedTheTime.mjs +18 -0
- package/dist/date/isTime.cjs +3 -8
- package/dist/date/isTime.d.ts +7 -14
- package/dist/date/isTime.mjs +3 -8
- package/dist/date/kind.cjs +9 -0
- package/dist/date/kind.d.ts +1 -0
- package/dist/date/kind.mjs +7 -0
- package/dist/date/makeSafeTimeValue.d.ts +12 -11
- package/dist/date/makeSafeTimestamp.d.ts +12 -11
- package/dist/date/max.cjs +2 -2
- package/dist/date/max.d.ts +13 -13
- package/dist/date/max.mjs +2 -2
- package/dist/date/maxTime.cjs +2 -2
- package/dist/date/maxTime.d.ts +13 -21
- package/dist/date/maxTime.mjs +2 -2
- package/dist/date/min.cjs +2 -2
- package/dist/date/min.d.ts +13 -13
- package/dist/date/min.mjs +2 -2
- package/dist/date/minTime.cjs +2 -2
- package/dist/date/minTime.d.ts +13 -21
- package/dist/date/minTime.mjs +2 -2
- package/dist/date/now.cjs +3 -1
- package/dist/date/now.d.ts +9 -7
- package/dist/date/now.mjs +3 -1
- package/dist/date/operators/addDays.cjs +3 -5
- package/dist/date/operators/addDays.d.ts +14 -11
- package/dist/date/operators/addDays.mjs +3 -5
- package/dist/date/operators/addHours.cjs +3 -5
- package/dist/date/operators/addHours.d.ts +14 -11
- package/dist/date/operators/addHours.mjs +3 -5
- package/dist/date/operators/addMilliseconds.cjs +3 -5
- package/dist/date/operators/addMilliseconds.d.ts +14 -11
- package/dist/date/operators/addMilliseconds.mjs +3 -5
- package/dist/date/operators/addMinutes.cjs +3 -5
- package/dist/date/operators/addMinutes.d.ts +14 -11
- package/dist/date/operators/addMinutes.mjs +3 -5
- package/dist/date/operators/addMonths.cjs +2 -2
- package/dist/date/operators/addMonths.d.ts +13 -13
- package/dist/date/operators/addMonths.mjs +2 -2
- package/dist/date/operators/addSeconds.cjs +3 -5
- package/dist/date/operators/addSeconds.d.ts +14 -11
- package/dist/date/operators/addSeconds.mjs +3 -5
- package/dist/date/operators/addTime.cjs +13 -6
- package/dist/date/operators/addTime.d.ts +20 -18
- package/dist/date/operators/addTime.mjs +13 -6
- package/dist/date/operators/addWeeks.cjs +6 -5
- package/dist/date/operators/addWeeks.d.ts +14 -11
- package/dist/date/operators/addWeeks.mjs +6 -5
- package/dist/date/operators/addYears.cjs +2 -2
- package/dist/date/operators/addYears.d.ts +13 -13
- package/dist/date/operators/addYears.mjs +2 -2
- package/dist/date/operators/between.d.ts +11 -11
- package/dist/date/operators/betweenThan.d.ts +11 -11
- package/dist/date/operators/betweenThanTime.d.ts +18 -22
- package/dist/date/operators/betweenTime.d.ts +17 -21
- package/dist/date/operators/greater.d.ts +12 -9
- package/dist/date/operators/greaterThan.d.ts +14 -11
- package/dist/date/operators/greaterThanTime.d.ts +17 -21
- package/dist/date/operators/greaterTime.d.ts +16 -20
- package/dist/date/operators/less.d.ts +12 -9
- package/dist/date/operators/lessThan.d.ts +13 -10
- package/dist/date/operators/lessThanTime.d.ts +17 -21
- package/dist/date/operators/lessTime.d.ts +16 -20
- package/dist/date/operators/subtractDays.cjs +3 -5
- package/dist/date/operators/subtractDays.d.ts +14 -11
- package/dist/date/operators/subtractDays.mjs +3 -5
- package/dist/date/operators/subtractHours.cjs +3 -5
- package/dist/date/operators/subtractHours.d.ts +14 -11
- package/dist/date/operators/subtractHours.mjs +3 -5
- package/dist/date/operators/subtractMilliseconds.cjs +3 -5
- package/dist/date/operators/subtractMilliseconds.d.ts +14 -11
- package/dist/date/operators/subtractMilliseconds.mjs +3 -5
- package/dist/date/operators/subtractMinutes.cjs +3 -5
- package/dist/date/operators/subtractMinutes.d.ts +14 -11
- package/dist/date/operators/subtractMinutes.mjs +3 -5
- package/dist/date/operators/subtractMonths.cjs +2 -2
- package/dist/date/operators/subtractMonths.d.ts +17 -11
- package/dist/date/operators/subtractMonths.mjs +2 -2
- package/dist/date/operators/subtractSeconds.cjs +3 -5
- package/dist/date/operators/subtractSeconds.d.ts +14 -11
- package/dist/date/operators/subtractSeconds.mjs +3 -5
- package/dist/date/operators/subtractTime.cjs +13 -6
- package/dist/date/operators/subtractTime.d.ts +20 -18
- package/dist/date/operators/subtractTime.mjs +13 -6
- package/dist/date/operators/subtractWeeks.cjs +3 -5
- package/dist/date/operators/subtractWeeks.d.ts +14 -11
- package/dist/date/operators/subtractWeeks.mjs +3 -5
- package/dist/date/operators/subtractYears.cjs +2 -2
- package/dist/date/operators/subtractYears.d.ts +17 -11
- package/dist/date/operators/subtractYears.mjs +2 -2
- package/dist/date/round.cjs +2 -2
- package/dist/date/round.d.ts +11 -14
- package/dist/date/round.mjs +2 -2
- package/dist/date/serialize.cjs +14 -0
- package/dist/date/serialize.d.ts +41 -0
- package/dist/date/serialize.mjs +12 -0
- package/dist/date/sort.cjs +2 -2
- package/dist/date/sort.d.ts +16 -15
- package/dist/date/sort.mjs +2 -2
- package/dist/date/sortTimes.cjs +2 -2
- package/dist/date/sortTimes.d.ts +15 -21
- package/dist/date/sortTimes.mjs +2 -2
- package/dist/date/theDate.cjs +124 -0
- package/dist/date/theDate.d.ts +114 -0
- package/dist/date/theDate.mjs +122 -0
- package/dist/date/theTime.cjs +36 -0
- package/dist/date/theTime.d.ts +53 -0
- package/dist/date/theTime.mjs +34 -0
- package/dist/date/timezone.cjs +3 -0
- package/dist/date/timezone.d.ts +27 -0
- package/dist/date/timezone.mjs +3 -0
- package/dist/date/toISOString.cjs +5 -2
- package/dist/date/toISOString.d.ts +12 -10
- package/dist/date/toISOString.mjs +5 -2
- package/dist/date/toNative.cjs +4 -0
- package/dist/date/toNative.d.ts +12 -10
- package/dist/date/toNative.mjs +4 -0
- package/dist/date/toTimeValue.cjs +6 -2
- package/dist/date/toTimeValue.d.ts +14 -12
- package/dist/date/toTimeValue.mjs +6 -2
- package/dist/date/toTimestamp.cjs +5 -3
- package/dist/date/toTimestamp.d.ts +11 -9
- package/dist/date/toTimestamp.mjs +6 -4
- package/dist/date/today.cjs +3 -1
- package/dist/date/today.d.ts +14 -7
- package/dist/date/today.mjs +3 -1
- package/dist/date/tomorrow.cjs +2 -1
- package/dist/date/tomorrow.d.ts +12 -7
- package/dist/date/tomorrow.mjs +2 -1
- package/dist/date/types/index.d.ts +2 -2
- package/dist/date/types/serializedTheDate.d.ts +1 -0
- package/dist/date/types/serializedTheTime.d.ts +42 -0
- package/dist/date/types/spoolingDate.d.ts +2 -1
- package/dist/date/yesterday.cjs +2 -1
- package/dist/date/yesterday.d.ts +12 -7
- package/dist/date/yesterday.mjs +2 -1
- package/dist/index.cjs +5 -6
- package/dist/index.mjs +1 -3
- package/dist/metadata.json +73 -46
- package/package.json +1 -1
- package/dist/common/toJSON.cjs +0 -37
- package/dist/common/toJSON.d.ts +0 -44
- package/dist/common/toJSON.mjs +0 -35
- package/dist/common/toString.cjs +0 -10
- package/dist/common/toString.d.ts +0 -17
- package/dist/common/toString.mjs +0 -8
- package/dist/common/toTransform.cjs +0 -37
- package/dist/common/toTransform.d.ts +0 -50
- package/dist/common/toTransform.mjs +0 -35
- package/dist/date/createTheDate.cjs +0 -13
- package/dist/date/createTheDate.d.ts +0 -28
- package/dist/date/createTheDate.mjs +0 -11
- package/dist/date/createTheTime.cjs +0 -13
- package/dist/date/createTheTime.d.ts +0 -25
- package/dist/date/createTheTime.mjs +0 -11
- package/dist/date/types/theDate.d.ts +0 -11
- package/dist/date/types/theTime.d.ts +0 -10
|
@@ -7,7 +7,7 @@ export declare const constrainedTypeKind: import("../..").KindHandler<import("..
|
|
|
7
7
|
export interface ConstrainedType<GenericName extends string, GenericValue extends unknown> extends Kind<typeof constrainedTypeKind.definition, Record<GenericName, unknown>>, WrappedValue<GenericValue> {
|
|
8
8
|
}
|
|
9
9
|
export declare const constraintHandlerKind: import("../..").KindHandler<import("../..").KindDefinition<"@DuplojsUtilsClean/constraint-handler", unknown>>;
|
|
10
|
-
export interface ConstraintHandler<GenericName extends string = string, GenericPrimitiveValue extends EligiblePrimitive = EligiblePrimitive, GenericCheckers extends readonly DDataParser.DataParserChecker[] = readonly DDataParser.DataParserChecker[]> extends Kind<typeof constraintHandlerKind.definition> {
|
|
10
|
+
export interface ConstraintHandler<GenericName extends string = string, GenericPrimitiveValue extends EligiblePrimitive = EligiblePrimitive, GenericCheckers extends readonly DDataParser.DataParserChecker[] = readonly DDataParser.DataParserChecker[], GenericPrimitiveInput extends unknown = unknown> extends Kind<typeof constraintHandlerKind.definition> {
|
|
11
11
|
/**
|
|
12
12
|
* The constraint name used as the internal marker (for example "email").
|
|
13
13
|
*
|
|
@@ -36,6 +36,7 @@ export interface ConstraintHandler<GenericName extends string = string, GenericP
|
|
|
36
36
|
*
|
|
37
37
|
*/
|
|
38
38
|
create<GenericData extends GenericPrimitiveValue>(data: GenericData): (DEither.Right<"createConstrainedType", ConstrainedType<GenericName, GenericData>> | DEither.Left<"createConstrainedTypeError", DDataParser.DataParserError>);
|
|
39
|
+
create(data: GenericPrimitiveInput): (DEither.Right<"createConstrainedType", ConstrainedType<GenericName, GenericPrimitiveValue>> | DEither.Left<"createConstrainedTypeError", DDataParser.DataParserError>);
|
|
39
40
|
create<GenericPrimitive extends Primitive<GenericPrimitiveValue>>(data: GenericPrimitive): (DEither.Right<"createConstrainedType", (GenericPrimitive & ConstrainedType<GenericName, Unwrap<GenericPrimitive>>)> | DEither.Left<"createConstrainedTypeError", DDataParser.DataParserError>);
|
|
40
41
|
/**
|
|
41
42
|
* Creates a constrained value and throws on error.
|
|
@@ -47,6 +48,7 @@ export interface ConstraintHandler<GenericName extends string = string, GenericP
|
|
|
47
48
|
*
|
|
48
49
|
*/
|
|
49
50
|
createOrThrow<GenericData extends GenericPrimitiveValue>(data: GenericData): ConstrainedType<GenericName, GenericData>;
|
|
51
|
+
createOrThrow(data: GenericPrimitiveInput): ConstrainedType<GenericName, GenericPrimitiveValue>;
|
|
50
52
|
createOrThrow<GenericPrimitive extends Primitive<GenericPrimitiveValue>>(data: GenericPrimitive): (GenericPrimitive & ConstrainedType<GenericName, Unwrap<GenericPrimitive>>);
|
|
51
53
|
/**
|
|
52
54
|
* Creates a constrained value from an unknown input and returns an Either.
|
|
@@ -134,12 +136,12 @@ export declare class CreateConstrainedTypeError extends CreateConstrainedTypeErr
|
|
|
134
136
|
* @namespace C
|
|
135
137
|
*
|
|
136
138
|
*/
|
|
137
|
-
export declare function createConstraint<GenericName extends string, GenericPrimitiveValue extends EligiblePrimitive, const GenericChecker extends (DDataParser.DataParserChecker<DDataParser.DataParserCheckerDefinition, GenericPrimitiveValue> | readonly [
|
|
139
|
+
export declare function createConstraint<GenericName extends string, GenericPrimitiveValue extends EligiblePrimitive, GenericPrimitiveInput extends unknown, const GenericChecker extends (DDataParser.DataParserChecker<DDataParser.DataParserCheckerDefinition, GenericPrimitiveValue> | readonly [
|
|
138
140
|
DDataParser.DataParserChecker<DDataParser.DataParserCheckerDefinition, GenericPrimitiveValue>,
|
|
139
141
|
...DDataParser.DataParserChecker<DDataParser.DataParserCheckerDefinition, GenericPrimitiveValue>[]
|
|
140
|
-
]) = never>(name: GenericName, primitiveHandler: PrimitiveHandler<GenericPrimitiveValue>, checker: GenericChecker): ConstraintHandler<GenericName, GenericPrimitiveValue, DArray.ArrayCoalescing<GenericChecker
|
|
142
|
+
]) = never>(name: GenericName, primitiveHandler: PrimitiveHandler<GenericPrimitiveValue, GenericPrimitiveInput>, checker: GenericChecker): ConstraintHandler<GenericName, GenericPrimitiveValue, DArray.ArrayCoalescing<GenericChecker>, GenericPrimitiveInput>;
|
|
141
143
|
export declare namespace createConstraint {
|
|
142
|
-
var overrideHandler: import("../..").OverrideHandler<ConstraintHandler<string, EligiblePrimitive, readonly DDataParser.DataParserChecker<DDataParser.DataParserCheckerDefinition, unknown>[]>>;
|
|
144
|
+
var overrideHandler: import("../..").OverrideHandler<ConstraintHandler<string, EligiblePrimitive, readonly DDataParser.DataParserChecker<DDataParser.DataParserCheckerDefinition, unknown>[], unknown>>;
|
|
143
145
|
}
|
|
144
146
|
export type GetConstraint<GenericConstrainHandler extends ConstraintHandler, GenericValue extends DDataParser.InputChecker<GenericConstrainHandler["checkers"][number]> = DDataParser.InputChecker<GenericConstrainHandler["checkers"][number]>> = Extract<ConstrainedType<GenericConstrainHandler["name"], GenericValue>, any>;
|
|
145
147
|
export {};
|
|
@@ -28,7 +28,7 @@ import { type OnlyLiteralNumber } from "../../../common";
|
|
|
28
28
|
* @namespace C
|
|
29
29
|
*
|
|
30
30
|
*/
|
|
31
|
-
export declare const Int: import("..").ConstraintHandler<"int", number, readonly [DDataParser.DataParserCheckerInt]>;
|
|
31
|
+
export declare const Int: import("..").ConstraintHandler<"int", number, readonly [DDataParser.DataParserCheckerInt], never>;
|
|
32
32
|
export type Int = GetConstraint<typeof Int>;
|
|
33
33
|
/**
|
|
34
34
|
* Constraint handler that validates strictly positive numbers (>= 1).
|
|
@@ -57,7 +57,7 @@ export type Int = GetConstraint<typeof Int>;
|
|
|
57
57
|
* @namespace C
|
|
58
58
|
*
|
|
59
59
|
*/
|
|
60
|
-
export declare const Positive: import("..").ConstraintHandler<"positive", number, readonly [DDataParser.DataParserCheckerNumberMin]>;
|
|
60
|
+
export declare const Positive: import("..").ConstraintHandler<"positive", number, readonly [DDataParser.DataParserCheckerNumberMin], never>;
|
|
61
61
|
export type Positive = GetConstraint<typeof Positive>;
|
|
62
62
|
/**
|
|
63
63
|
* Constraint handler that validates strictly negative numbers (<= -1).
|
|
@@ -86,7 +86,7 @@ export type Positive = GetConstraint<typeof Positive>;
|
|
|
86
86
|
* @namespace C
|
|
87
87
|
*
|
|
88
88
|
*/
|
|
89
|
-
export declare const Negative: import("..").ConstraintHandler<"negative", number, readonly [DDataParser.DataParserCheckerNumberMax]>;
|
|
89
|
+
export declare const Negative: import("..").ConstraintHandler<"negative", number, readonly [DDataParser.DataParserCheckerNumberMax], never>;
|
|
90
90
|
export type Negative = GetConstraint<typeof Negative>;
|
|
91
91
|
/**
|
|
92
92
|
* Constraint factory that validates numbers greater than or equal to a minimum.
|
|
@@ -116,7 +116,7 @@ export type Negative = GetConstraint<typeof Negative>;
|
|
|
116
116
|
* @namespace C
|
|
117
117
|
*
|
|
118
118
|
*/
|
|
119
|
-
export declare function NumberMin<GenericValue extends number>(value: GenericValue & OnlyLiteralNumber<GenericValue>): import("..").ConstraintHandler<`number-min-${GenericValue & OnlyLiteralNumber<GenericValue>}`, number, readonly [DDataParser.DataParserCheckerNumberMin]>;
|
|
119
|
+
export declare function NumberMin<GenericValue extends number>(value: GenericValue & OnlyLiteralNumber<GenericValue>): import("..").ConstraintHandler<`number-min-${GenericValue & OnlyLiteralNumber<GenericValue>}`, number, readonly [DDataParser.DataParserCheckerNumberMin], never>;
|
|
120
120
|
export type NumberMin<GenericValue extends number> = ReturnType<typeof NumberMin<GenericValue>>;
|
|
121
121
|
/**
|
|
122
122
|
* Constraint factory that validates numbers less than or equal to a maximum.
|
|
@@ -146,7 +146,7 @@ export type NumberMin<GenericValue extends number> = ReturnType<typeof NumberMin
|
|
|
146
146
|
* @namespace C
|
|
147
147
|
*
|
|
148
148
|
*/
|
|
149
|
-
export declare function NumberMax<GenericValue extends number>(value: GenericValue & OnlyLiteralNumber<GenericValue>): import("..").ConstraintHandler<`number-max-${GenericValue & OnlyLiteralNumber<GenericValue>}`, number, readonly [DDataParser.DataParserCheckerNumberMax]>;
|
|
149
|
+
export declare function NumberMax<GenericValue extends number>(value: GenericValue & OnlyLiteralNumber<GenericValue>): import("..").ConstraintHandler<`number-max-${GenericValue & OnlyLiteralNumber<GenericValue>}`, number, readonly [DDataParser.DataParserCheckerNumberMax], never>;
|
|
150
150
|
export type NumberMax<GenericValue extends number> = ReturnType<typeof NumberMax<GenericValue>>;
|
|
151
151
|
/**
|
|
152
152
|
* Constraint handler that validates strictly positive integers (>= 1).
|
|
@@ -175,5 +175,5 @@ export type NumberMax<GenericValue extends number> = ReturnType<typeof NumberMax
|
|
|
175
175
|
* @namespace C
|
|
176
176
|
*
|
|
177
177
|
*/
|
|
178
|
-
export declare const PositiveInt: import("..").ConstraintHandler<"positive-int", number, readonly [DDataParser.DataParserCheckerInt, DDataParser.DataParserCheckerNumberMin]>;
|
|
178
|
+
export declare const PositiveInt: import("..").ConstraintHandler<"positive-int", number, readonly [DDataParser.DataParserCheckerInt, DDataParser.DataParserCheckerNumberMin], never>;
|
|
179
179
|
export type PositiveInt = GetConstraint<typeof PositiveInt>;
|
|
@@ -28,7 +28,7 @@ import { type OnlyLiteralNumber } from "../../../common";
|
|
|
28
28
|
* @namespace C
|
|
29
29
|
*
|
|
30
30
|
*/
|
|
31
|
-
export declare const Email: import("..").ConstraintHandler<"email", string, readonly [DDataParser.DataParserCheckerEmail]>;
|
|
31
|
+
export declare const Email: import("..").ConstraintHandler<"email", string, readonly [DDataParser.DataParserCheckerEmail], never>;
|
|
32
32
|
export type Email = GetConstraint<typeof Email>;
|
|
33
33
|
/**
|
|
34
34
|
* Constraint handler that validates a URL string.
|
|
@@ -57,7 +57,7 @@ export type Email = GetConstraint<typeof Email>;
|
|
|
57
57
|
* @namespace C
|
|
58
58
|
*
|
|
59
59
|
*/
|
|
60
|
-
export declare const Url: import("..").ConstraintHandler<"url", string, readonly [DDataParser.DataParserCheckerUrl]>;
|
|
60
|
+
export declare const Url: import("..").ConstraintHandler<"url", string, readonly [DDataParser.DataParserCheckerUrl], never>;
|
|
61
61
|
export type Url = GetConstraint<typeof Url>;
|
|
62
62
|
/**
|
|
63
63
|
* Constraint factory that validates strings with a minimum length.
|
|
@@ -87,7 +87,7 @@ export type Url = GetConstraint<typeof Url>;
|
|
|
87
87
|
* @namespace C
|
|
88
88
|
*
|
|
89
89
|
*/
|
|
90
|
-
export declare function StringMin<GenericValue extends number>(value: GenericValue & OnlyLiteralNumber<GenericValue>): import("..").ConstraintHandler<`string-min-${GenericValue & OnlyLiteralNumber<GenericValue>}`, string, readonly [DDataParser.DataParserCheckerStringMin]>;
|
|
90
|
+
export declare function StringMin<GenericValue extends number>(value: GenericValue & OnlyLiteralNumber<GenericValue>): import("..").ConstraintHandler<`string-min-${GenericValue & OnlyLiteralNumber<GenericValue>}`, string, readonly [DDataParser.DataParserCheckerStringMin], never>;
|
|
91
91
|
export type StringMin<GenericValue extends number> = GetConstraint<ReturnType<typeof StringMin<GenericValue>>>;
|
|
92
92
|
/**
|
|
93
93
|
* Constraint factory that validates strings with a maximum length.
|
|
@@ -117,5 +117,5 @@ export type StringMin<GenericValue extends number> = GetConstraint<ReturnType<ty
|
|
|
117
117
|
* @namespace C
|
|
118
118
|
*
|
|
119
119
|
*/
|
|
120
|
-
export declare function StringMax<GenericValue extends number>(value: GenericValue & OnlyLiteralNumber<GenericValue>): import("..").ConstraintHandler<`string-max-${GenericValue & OnlyLiteralNumber<GenericValue>}`, string, readonly [DDataParser.DataParserCheckerStringMax]>;
|
|
120
|
+
export declare function StringMax<GenericValue extends number>(value: GenericValue & OnlyLiteralNumber<GenericValue>): import("..").ConstraintHandler<`string-max-${GenericValue & OnlyLiteralNumber<GenericValue>}`, string, readonly [DDataParser.DataParserCheckerStringMax], never>;
|
|
121
121
|
export type StringMax<GenericValue extends number> = GetConstraint<ReturnType<typeof StringMax<GenericValue>>>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var base = require('../base.cjs');
|
|
4
|
+
var base$1 = require('../../primitive/base.cjs');
|
|
5
|
+
var min = require('../../../dataParser/parsers/time/checkers/min.cjs');
|
|
6
|
+
var theTime = require('../../../date/theTime.cjs');
|
|
7
|
+
var max = require('../../../dataParser/parsers/time/checkers/max.cjs');
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* {@include clean/PositiveTime/index.md}
|
|
11
|
+
*/
|
|
12
|
+
const PositiveTime = base.createConstraint("positive-time", base$1.Time, min.checkerTimeMin(theTime.TheTime.new(1)));
|
|
13
|
+
/**
|
|
14
|
+
* {@include clean/NegativeTime/index.md}
|
|
15
|
+
*/
|
|
16
|
+
const NegativeTime = base.createConstraint("negative-time", base$1.Time, max.checkerTimeMax(theTime.TheTime.new(-1)));
|
|
17
|
+
|
|
18
|
+
exports.NegativeTime = NegativeTime;
|
|
19
|
+
exports.PositiveTime = PositiveTime;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { type GetConstraint } from "../base";
|
|
2
|
+
import * as DDataParser from "../../../dataParser";
|
|
3
|
+
import { TheTime } from "../../../date";
|
|
4
|
+
/**
|
|
5
|
+
* Constraint handler that validates strictly positive durations (>= 1 millisecond).
|
|
6
|
+
*
|
|
7
|
+
* **Supported call styles:**
|
|
8
|
+
* - Classic: `PositiveTime.create(value)` -> returns Either
|
|
9
|
+
*
|
|
10
|
+
* Use it as a reusable rule to validate time values and to constrain NewTypes to positive durations.
|
|
11
|
+
*
|
|
12
|
+
* ```ts
|
|
13
|
+
* const result = C.PositiveTime.create(D.createTime(1, "second"));
|
|
14
|
+
*
|
|
15
|
+
* if (E.isRight(result)) {
|
|
16
|
+
* // result: E.Right<"createConstrainedType", C.ConstrainedType<"positive-time", D.TheTime>>
|
|
17
|
+
* }
|
|
18
|
+
*
|
|
19
|
+
* const value = C.PositiveTime.createOrThrow(D.createTime(500, "millisecond"));
|
|
20
|
+
* // value: C.ConstrainedType<"positive-time", D.TheTime>
|
|
21
|
+
*
|
|
22
|
+
* C.PositiveTime.is(value); // type guard
|
|
23
|
+
*
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* @see https://utils.duplojs.dev/en/v1/api/clean/constraints
|
|
27
|
+
*
|
|
28
|
+
* @namespace C
|
|
29
|
+
*
|
|
30
|
+
*/
|
|
31
|
+
export declare const PositiveTime: import("..").ConstraintHandler<"positive-time", TheTime, readonly [DDataParser.DataParserCheckerTimeMin], number | TheTime | `time${number}-` | `time${number}+`>;
|
|
32
|
+
export type PositiveTime = GetConstraint<typeof PositiveTime>;
|
|
33
|
+
/**
|
|
34
|
+
* Constraint handler that validates strictly negative durations (<= -1 millisecond).
|
|
35
|
+
*
|
|
36
|
+
* **Supported call styles:**
|
|
37
|
+
* - Classic: `NegativeTime.create(value)` -> returns Either
|
|
38
|
+
*
|
|
39
|
+
* Use it as a reusable rule to validate time values and to constrain NewTypes to negative durations.
|
|
40
|
+
*
|
|
41
|
+
* ```ts
|
|
42
|
+
* const result = C.NegativeTime.create(D.createTime(-1, "second"));
|
|
43
|
+
*
|
|
44
|
+
* if (E.isRight(result)) {
|
|
45
|
+
* // result: E.Right<"createConstrainedType", C.ConstrainedType<"negative-time", D.TheTime>>
|
|
46
|
+
* }
|
|
47
|
+
*
|
|
48
|
+
* const value = C.NegativeTime.createOrThrow(D.createTime(-500, "millisecond"));
|
|
49
|
+
* // value: C.ConstrainedType<"negative-time", D.TheTime>
|
|
50
|
+
*
|
|
51
|
+
* C.NegativeTime.is(value); // type guard
|
|
52
|
+
*
|
|
53
|
+
* ```
|
|
54
|
+
*
|
|
55
|
+
* @see https://utils.duplojs.dev/en/v1/api/clean/constraints
|
|
56
|
+
*
|
|
57
|
+
* @namespace C
|
|
58
|
+
*
|
|
59
|
+
*/
|
|
60
|
+
export declare const NegativeTime: import("..").ConstraintHandler<"negative-time", TheTime, readonly [DDataParser.DataParserCheckerTimeMax], number | TheTime | `time${number}-` | `time${number}+`>;
|
|
61
|
+
export type NegativeTime = GetConstraint<typeof NegativeTime>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { createConstraint } from '../base.mjs';
|
|
2
|
+
import { Time } from '../../primitive/base.mjs';
|
|
3
|
+
import { checkerTimeMin } from '../../../dataParser/parsers/time/checkers/min.mjs';
|
|
4
|
+
import { TheTime } from '../../../date/theTime.mjs';
|
|
5
|
+
import { checkerTimeMax } from '../../../dataParser/parsers/time/checkers/max.mjs';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* {@include clean/PositiveTime/index.md}
|
|
9
|
+
*/
|
|
10
|
+
const PositiveTime = createConstraint("positive-time", Time, checkerTimeMin(TheTime.new(1)));
|
|
11
|
+
/**
|
|
12
|
+
* {@include clean/NegativeTime/index.md}
|
|
13
|
+
*/
|
|
14
|
+
const NegativeTime = createConstraint("negative-time", Time, checkerTimeMax(TheTime.new(-1)));
|
|
15
|
+
|
|
16
|
+
export { NegativeTime, PositiveTime };
|
|
@@ -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, GenericConstraintsHandler extends readonly ConstraintHandler[] = readonly []> extends Kind<typeof constraintsSetHandlerKind.definition> {
|
|
8
|
+
export interface ConstraintsSetHandler<GenericPrimitiveValue extends EligiblePrimitive = EligiblePrimitive, GenericConstraintsHandler extends readonly ConstraintHandler[] = readonly [], GenericPrimitiveInput extends unknown = unknown> 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
|
*
|
|
@@ -29,6 +29,7 @@ export interface ConstraintsSetHandler<GenericPrimitiveValue extends EligiblePri
|
|
|
29
29
|
*
|
|
30
30
|
*/
|
|
31
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(data: GenericPrimitiveInput): (DEither.Right<"createConstraintsSet", (Primitive<GenericPrimitiveValue> & UnionToIntersection<GenericConstraintsHandler[number] extends infer InferredConstraint ? InferredConstraint extends ConstraintHandler ? GetConstraint<InferredConstraint> : never : never>)> | DEither.Left<"createConstraintsSetError", DDataParser.DataParserError>);
|
|
32
33
|
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
34
|
/**
|
|
34
35
|
* Creates a constrained value and throws on error. Works with raw values or primitives.
|
|
@@ -43,6 +44,7 @@ export interface ConstraintsSetHandler<GenericPrimitiveValue extends EligiblePri
|
|
|
43
44
|
*
|
|
44
45
|
*/
|
|
45
46
|
createOrThrow<const GenericInput extends GenericPrimitiveValue>(data: GenericInput): (Primitive<GenericInput> & UnionToIntersection<GenericConstraintsHandler[number] extends infer InferredConstraint ? InferredConstraint extends ConstraintHandler ? GetConstraint<InferredConstraint> : never : never>);
|
|
47
|
+
createOrThrow(data: GenericPrimitiveInput): (Primitive<GenericPrimitiveValue> & UnionToIntersection<GenericConstraintsHandler[number] extends infer InferredConstraint ? InferredConstraint extends ConstraintHandler ? GetConstraint<InferredConstraint> : never : never>);
|
|
46
48
|
createOrThrow<GenericPrimitive extends Primitive<GenericPrimitiveValue>>(data: GenericPrimitive): (GenericPrimitive & UnionToIntersection<GenericConstraintsHandler[number] extends infer InferredConstraint ? InferredConstraint extends ConstraintHandler ? GetConstraint<InferredConstraint> : never : never>);
|
|
47
49
|
/**
|
|
48
50
|
* Creates a constrained value from an unknown input and returns an Either.
|
|
@@ -136,12 +138,12 @@ export declare class CreateConstraintsSetError extends CreateConstraintsSetError
|
|
|
136
138
|
* @namespace C
|
|
137
139
|
*
|
|
138
140
|
*/
|
|
139
|
-
export declare function createConstraintsSet<GenericPrimitiveValue extends EligiblePrimitive, const GenericConstrainHandler extends (ConstraintHandler<string, EligiblePrimitive, readonly DDataParser.DataParserChecker<DDataParser.DataParserCheckerDefinition, GenericPrimitiveValue>[]> | readonly [
|
|
141
|
+
export declare function createConstraintsSet<GenericPrimitiveValue extends EligiblePrimitive, GenericPrimitiveInput extends unknown, const GenericConstrainHandler extends (ConstraintHandler<string, EligiblePrimitive, readonly DDataParser.DataParserChecker<DDataParser.DataParserCheckerDefinition, GenericPrimitiveValue>[]> | readonly [
|
|
140
142
|
ConstraintHandler<string, EligiblePrimitive, readonly DDataParser.DataParserChecker<DDataParser.DataParserCheckerDefinition, GenericPrimitiveValue>[]>,
|
|
141
143
|
...ConstraintHandler<string, EligiblePrimitive, readonly DDataParser.DataParserChecker<DDataParser.DataParserCheckerDefinition, GenericPrimitiveValue>[]>[]
|
|
142
|
-
]) = never>(primitiveHandler: PrimitiveHandler<GenericPrimitiveValue>, constraint: GenericConstrainHandler): ConstraintsSetHandler<GenericPrimitiveValue, DArray.ArrayCoalescing<GenericConstrainHandler
|
|
144
|
+
]) = never>(primitiveHandler: PrimitiveHandler<GenericPrimitiveValue, GenericPrimitiveInput>, constraint: GenericConstrainHandler): ConstraintsSetHandler<GenericPrimitiveValue, DArray.ArrayCoalescing<GenericConstrainHandler>, GenericPrimitiveInput>;
|
|
143
145
|
export declare namespace createConstraintsSet {
|
|
144
|
-
var overrideHandler: import("../..").OverrideHandler<ConstraintsSetHandler<EligiblePrimitive, readonly []>>;
|
|
146
|
+
var overrideHandler: import("../..").OverrideHandler<ConstraintsSetHandler<EligiblePrimitive, readonly [], unknown>>;
|
|
145
147
|
}
|
|
146
148
|
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
149
|
export {};
|
package/dist/clean/entity.d.ts
CHANGED
|
@@ -32,8 +32,9 @@ export type EntityRawProperties<GenericPropertiesDefinition extends EntityProper
|
|
|
32
32
|
...InferredValue[]
|
|
33
33
|
] : readonly InferredValue[] : InferredValue) extends infer InferredValueWithArray ? IsEqual<GenericPropertiesDefinition[Prop]["nullable"], true> extends true ? InferredValueWithArray | null : InferredValueWithArray : never : never : unknown);
|
|
34
34
|
}>;
|
|
35
|
+
type GetInputFromNewTypeHandler<GenericNewTypeHandler extends NewTypeHandler> = GenericNewTypeHandler extends NewTypeHandler<any, infer InferredValue, any, infer InferredInput> ? IsEqual<InferredInput, never> extends true ? InferredValue : InferredInput : never;
|
|
35
36
|
export type PropertiesToMapOfEntity<GenericPropertiesDefinition extends EntityPropertiesDefinition = EntityPropertiesDefinition> = SimplifyTopLevel<{
|
|
36
|
-
readonly [Prop in keyof GenericPropertiesDefinition]: (GenericPropertiesDefinition[Prop] extends EntitySimplePropertyDefinition ?
|
|
37
|
+
readonly [Prop in keyof GenericPropertiesDefinition]: (GenericPropertiesDefinition[Prop] extends EntitySimplePropertyDefinition ? GetInputFromNewTypeHandler<GenericPropertiesDefinition[Prop]> : GenericPropertiesDefinition[Prop] extends EntityUnionPropertyDefinition ? GetInputFromNewTypeHandler<GenericPropertiesDefinition[Prop][number]> : GenericPropertiesDefinition[Prop] extends EntityAdvancedPropertyDefinition ? GetInputFromNewTypeHandler<GenericPropertiesDefinition[Prop]["type"] extends EntityUnionPropertyDefinition ? GenericPropertiesDefinition[Prop]["type"][number] : GenericPropertiesDefinition[Prop]["type"] extends EntitySimplePropertyDefinition ? GenericPropertiesDefinition[Prop]["type"] : never> extends infer InferredValue ? (Or<[
|
|
37
38
|
IsEqual<GenericPropertiesDefinition[Prop]["inArray"], true>,
|
|
38
39
|
IsExtends<GenericPropertiesDefinition[Prop]["inArray"], object>
|
|
39
40
|
]> extends true ? readonly InferredValue[] : InferredValue) extends infer InferredValueWithArray ? IsEqual<GenericPropertiesDefinition[Prop]["nullable"], true> extends true ? InferredValueWithArray | null : InferredValueWithArray : never : never : never);
|
package/dist/clean/index.cjs
CHANGED
|
@@ -11,6 +11,7 @@ var maybe = require('./maybe.cjs');
|
|
|
11
11
|
var base = require('./constraint/base.cjs');
|
|
12
12
|
var number = require('./constraint/defaultConstraint/number.cjs');
|
|
13
13
|
var string = require('./constraint/defaultConstraint/string.cjs');
|
|
14
|
+
var time = require('./constraint/defaultConstraint/time.cjs');
|
|
14
15
|
var set = require('./constraint/set.cjs');
|
|
15
16
|
var base$1 = require('./primitive/base.cjs');
|
|
16
17
|
var equal = require('./primitive/operations/equal.cjs');
|
|
@@ -75,6 +76,8 @@ exports.Email = string.Email;
|
|
|
75
76
|
exports.StringMax = string.StringMax;
|
|
76
77
|
exports.StringMin = string.StringMin;
|
|
77
78
|
exports.Url = string.Url;
|
|
79
|
+
exports.NegativeTime = time.NegativeTime;
|
|
80
|
+
exports.PositiveTime = time.PositiveTime;
|
|
78
81
|
exports.CreateConstraintsSetError = set.CreateConstraintsSetError;
|
|
79
82
|
exports.constraintsSetHandlerKind = set.constraintsSetHandlerKind;
|
|
80
83
|
exports.createConstraintsSet = set.createConstraintsSet;
|
package/dist/clean/index.mjs
CHANGED
|
@@ -9,6 +9,7 @@ export { none, some } from './maybe.mjs';
|
|
|
9
9
|
export { CreateConstrainedTypeError, constrainedTypeKind, constraintHandlerKind, createConstraint } from './constraint/base.mjs';
|
|
10
10
|
export { Int, Negative, NumberMax, NumberMin, Positive, PositiveInt } from './constraint/defaultConstraint/number.mjs';
|
|
11
11
|
export { Email, StringMax, StringMin, Url } from './constraint/defaultConstraint/string.mjs';
|
|
12
|
+
export { NegativeTime, PositiveTime } from './constraint/defaultConstraint/time.mjs';
|
|
12
13
|
export { CreateConstraintsSetError, constraintsSetHandlerKind, createConstraintsSet } from './constraint/set.mjs';
|
|
13
14
|
export { BigInt, Boolean, CreatePrimitiveError, Date, Number, String, Time, createPrimitive, primitiveHandlerKind } from './primitive/base.mjs';
|
|
14
15
|
export { equal } from './primitive/operations/equal.mjs';
|
package/dist/clean/newType.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type Kind, type WrappedValue, type Unwrap, type NeverCoalescing, type DeepReadonly } from "..";
|
|
1
|
+
import { type Kind, type WrappedValue, type Unwrap, type NeverCoalescing, type DeepReadonly, type IsEqual } from "..";
|
|
2
2
|
import { constrainedTypeKind, type ConstraintHandler } from "./constraint";
|
|
3
3
|
import { type Primitive, type EligiblePrimitive } from "./primitive";
|
|
4
4
|
import * as DEither from "../either";
|
|
@@ -10,7 +10,7 @@ type _NewType<GenericName extends string, GenericValue extends unknown, GenericC
|
|
|
10
10
|
export interface NewType<GenericName extends string = string, GenericValue extends unknown = unknown, GenericConstraintsName extends string = never> extends _NewType<GenericName, GenericValue, GenericConstraintsName> {
|
|
11
11
|
}
|
|
12
12
|
export declare const newTypeHandlerKind: import("..").KindHandler<import("..").KindDefinition<"@DuplojsUtilsClean/new-type-handler", unknown>>;
|
|
13
|
-
export interface NewTypeHandler<GenericName extends string = string, GenericValue extends unknown = unknown, GenericConstraintsHandler extends readonly ConstraintHandler[] = readonly []> extends Kind<typeof newTypeHandlerKind.definition> {
|
|
13
|
+
export interface NewTypeHandler<GenericName extends string = string, GenericValue extends unknown = unknown, GenericConstraintsHandler extends readonly ConstraintHandler[] = readonly ConstraintHandler[], GenericInput extends unknown = unknown> extends Kind<typeof newTypeHandlerKind.definition> {
|
|
14
14
|
/**
|
|
15
15
|
* The NewType name used as the brand (for example "userId").
|
|
16
16
|
*
|
|
@@ -20,7 +20,7 @@ export interface NewTypeHandler<GenericName extends string = string, GenericValu
|
|
|
20
20
|
* The DataParser used to validate and transform raw inputs.
|
|
21
21
|
*
|
|
22
22
|
*/
|
|
23
|
-
readonly dataParser: DDataParser.Contract<GenericValue>;
|
|
23
|
+
readonly dataParser: DDataParser.Contract<GenericValue, unknown>;
|
|
24
24
|
/**
|
|
25
25
|
* The list of constraints applied to this NewType.
|
|
26
26
|
*
|
|
@@ -35,6 +35,7 @@ export interface NewTypeHandler<GenericName extends string = string, GenericValu
|
|
|
35
35
|
*
|
|
36
36
|
*/
|
|
37
37
|
create<const GenericInput extends GenericValue>(data: GenericInput): (DEither.Right<"createNewType", NewType<GenericName, GenericInput, GenericConstraintsHandler[number]["name"]>> | DEither.Left<"createNewTypeError", DDataParser.DataParserError>);
|
|
38
|
+
create(data: GenericValue): (DEither.Right<"createNewType", NewType<GenericName, GenericInput, GenericConstraintsHandler[number]["name"]>> | DEither.Left<"createNewTypeError", DDataParser.DataParserError>);
|
|
38
39
|
create<GenericPrimitive extends Primitive<Extract<GenericValue, EligiblePrimitive>>>(data: GenericPrimitive): (DEither.Right<"createNewType", (GenericPrimitive & NewType<GenericName, Unwrap<GenericPrimitive>, GenericConstraintsHandler[number]["name"]>)> | DEither.Left<"createNewTypeError", DDataParser.DataParserError>);
|
|
39
40
|
/**
|
|
40
41
|
* Creates a NewType value and throws on error. Works with raw values or primitives.
|
|
@@ -51,6 +52,7 @@ export interface NewTypeHandler<GenericName extends string = string, GenericValu
|
|
|
51
52
|
*
|
|
52
53
|
*/
|
|
53
54
|
createOrThrow<const GenericData extends GenericValue>(data: GenericData): NewType<GenericName, GenericData, GenericConstraintsHandler[number]["name"]>;
|
|
55
|
+
createOrThrow(data: GenericInput): NewType<GenericName, GenericValue, GenericConstraintsHandler[number]["name"]>;
|
|
54
56
|
createOrThrow<GenericPrimitive extends Primitive<Extract<GenericValue, EligiblePrimitive>>>(data: GenericPrimitive): (GenericPrimitive & NewType<GenericName, Unwrap<GenericPrimitive>, GenericConstraintsHandler[number]["name"]>);
|
|
55
57
|
/**
|
|
56
58
|
* Creates a NewType value from an unknown input and returns an Either.
|
|
@@ -150,9 +152,9 @@ export declare class CreateNewTypeError extends CreateNewTypeError_base {
|
|
|
150
152
|
export declare function createNewType<GenericName extends string, GenericDataParser extends DDataParser.DataParser, const GenericConstraintsHandler extends (ConstraintHandler<string, EligiblePrimitive, readonly DDataParser.DataParserChecker<DDataParser.DataParserCheckerDefinition, DDataParser.Output<GenericDataParser>>[]> | readonly [
|
|
151
153
|
ConstraintHandler<string, EligiblePrimitive, readonly DDataParser.DataParserChecker<DDataParser.DataParserCheckerDefinition, DDataParser.Output<GenericDataParser>>[]>,
|
|
152
154
|
...ConstraintHandler<string, EligiblePrimitive, readonly DDataParser.DataParserChecker<DDataParser.DataParserCheckerDefinition, DDataParser.Output<GenericDataParser>>[]>[]
|
|
153
|
-
]) = never>(name: GenericName, dataParser: GenericDataParser & DataParserContainTransform<GenericDataParser>, constraint?: GenericConstraintsHandler): NewTypeHandler<GenericName, DeepReadonly<DDataParser.Output<GenericDataParser>>, DArray.ArrayCoalescing<NeverCoalescing<GenericConstraintsHandler, readonly []
|
|
155
|
+
]) = never>(name: GenericName, dataParser: GenericDataParser & DataParserContainTransform<GenericDataParser>, constraint?: GenericConstraintsHandler): NewTypeHandler<GenericName, DeepReadonly<DDataParser.Output<GenericDataParser>>, DArray.ArrayCoalescing<NeverCoalescing<GenericConstraintsHandler, readonly []>>, IsEqual<DDataParser.Output<GenericDataParser>, DDataParser.Input<GenericDataParser>> extends true ? never : DDataParser.Input<GenericDataParser>>;
|
|
154
156
|
export declare namespace createNewType {
|
|
155
|
-
var overrideHandler: import("..").OverrideHandler<NewTypeHandler<string, unknown, readonly []>>;
|
|
157
|
+
var overrideHandler: import("..").OverrideHandler<NewTypeHandler<string, unknown, readonly ConstraintHandler<string, EligiblePrimitive, readonly DDataParser.DataParserChecker<DDataParser.DataParserCheckerDefinition, unknown>[], unknown>[], unknown>>;
|
|
156
158
|
}
|
|
157
159
|
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
160
|
export {};
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import { type Kind, type WrappedValue } from "../../common";
|
|
1
|
+
import { type IsEqual, type Kind, type WrappedValue } from "../../common";
|
|
2
2
|
import * as DDataParser from "../../dataParser";
|
|
3
3
|
import * as DEither from "../../either";
|
|
4
|
-
|
|
4
|
+
import type * as DDate from "../../date";
|
|
5
|
+
export type EligiblePrimitive = string | number | boolean | bigint | DDate.TheDate | DDate.TheTime;
|
|
5
6
|
export interface Primitive<GenericValue extends EligiblePrimitive> extends WrappedValue<GenericValue> {
|
|
6
7
|
}
|
|
7
8
|
export declare const primitiveHandlerKind: import("../../common").KindHandler<import("../../common").KindDefinition<"@DuplojsUtilsClean/primitive-handler", unknown>>;
|
|
8
|
-
export interface PrimitiveHandler<GenericValue extends EligiblePrimitive = EligiblePrimitive> extends Kind<typeof primitiveHandlerKind.definition> {
|
|
9
|
-
readonly dataParser: DDataParser.Contract<GenericValue>;
|
|
9
|
+
export interface PrimitiveHandler<GenericValue extends EligiblePrimitive = EligiblePrimitive, GenericInput extends unknown = unknown> extends Kind<typeof primitiveHandlerKind.definition> {
|
|
10
|
+
readonly dataParser: DDataParser.Contract<GenericValue, unknown>;
|
|
10
11
|
/**
|
|
11
12
|
* Creates a primitive value and returns an Either.
|
|
12
13
|
*
|
|
@@ -19,7 +20,8 @@ export interface PrimitiveHandler<GenericValue extends EligiblePrimitive = Eligi
|
|
|
19
20
|
* ```
|
|
20
21
|
*
|
|
21
22
|
*/
|
|
22
|
-
create<GenericData extends GenericValue>(data: GenericData): (DEither.Right<"
|
|
23
|
+
create<GenericData extends GenericValue>(data: GenericData): (DEither.Right<"createPrimitive", Primitive<GenericData>> | DEither.Left<"createPrimitiveError", DDataParser.DataParserError>);
|
|
24
|
+
create(data: GenericInput): (DEither.Right<"createPrimitive", Primitive<GenericValue>> | DEither.Left<"createPrimitiveError", DDataParser.DataParserError>);
|
|
23
25
|
/**
|
|
24
26
|
* Creates a primitive value and throws on error.
|
|
25
27
|
*
|
|
@@ -30,6 +32,7 @@ export interface PrimitiveHandler<GenericValue extends EligiblePrimitive = Eligi
|
|
|
30
32
|
*
|
|
31
33
|
*/
|
|
32
34
|
createOrThrow<GenericData extends GenericValue>(data: GenericData): Primitive<GenericData>;
|
|
35
|
+
createOrThrow(data: GenericInput): Primitive<GenericValue>;
|
|
33
36
|
/**
|
|
34
37
|
* Creates a primitive value from an unknown input and returns an Either.
|
|
35
38
|
*
|
|
@@ -40,7 +43,7 @@ export interface PrimitiveHandler<GenericValue extends EligiblePrimitive = Eligi
|
|
|
40
43
|
* ```
|
|
41
44
|
*
|
|
42
45
|
*/
|
|
43
|
-
createWithUnknown<GenericData extends unknown>(data: GenericData): (DEither.Right<"
|
|
46
|
+
createWithUnknown<GenericData extends unknown>(data: GenericData): (DEither.Right<"createPrimitive", Primitive<GenericValue>> | DEither.Left<"createPrimitiveError", DDataParser.DataParserError>);
|
|
44
47
|
/**
|
|
45
48
|
* Creates a primitive value from an unknown input and throws on error.
|
|
46
49
|
*
|
|
@@ -73,9 +76,9 @@ export declare class CreatePrimitiveError extends CreatePrimitiveError_base {
|
|
|
73
76
|
dataParserError: DDataParser.DataParserError;
|
|
74
77
|
constructor(data: unknown, dataParserError: DDataParser.DataParserError);
|
|
75
78
|
}
|
|
76
|
-
export declare function createPrimitive<GenericDataParser extends DDataParser.Contract<EligiblePrimitive>>(dataParser: GenericDataParser): PrimitiveHandler<DDataParser.Output<GenericDataParser>>;
|
|
79
|
+
export declare function createPrimitive<GenericDataParser extends DDataParser.Contract<EligiblePrimitive, unknown>>(dataParser: GenericDataParser): PrimitiveHandler<DDataParser.Output<GenericDataParser>, IsEqual<DDataParser.Output<GenericDataParser>, DDataParser.Input<GenericDataParser>> extends true ? never : DDataParser.Input<GenericDataParser>>;
|
|
77
80
|
export declare namespace createPrimitive {
|
|
78
|
-
var overrideHandler: import("../../common").OverrideHandler<PrimitiveHandler<EligiblePrimitive>>;
|
|
81
|
+
var overrideHandler: import("../../common").OverrideHandler<PrimitiveHandler<EligiblePrimitive, unknown>>;
|
|
79
82
|
}
|
|
80
83
|
/**
|
|
81
84
|
* Business primitive for string values.
|
|
@@ -108,7 +111,7 @@ export declare namespace createPrimitive {
|
|
|
108
111
|
* @namespace C
|
|
109
112
|
*
|
|
110
113
|
*/
|
|
111
|
-
export declare const String: PrimitiveHandler<string>;
|
|
114
|
+
export declare const String: PrimitiveHandler<string, never>;
|
|
112
115
|
export type String = ReturnType<typeof String["createWithUnknownOrThrow"]>;
|
|
113
116
|
/**
|
|
114
117
|
* Business primitive for number values.
|
|
@@ -141,7 +144,7 @@ export type String = ReturnType<typeof String["createWithUnknownOrThrow"]>;
|
|
|
141
144
|
* @namespace C
|
|
142
145
|
*
|
|
143
146
|
*/
|
|
144
|
-
export declare const Number: PrimitiveHandler<number>;
|
|
147
|
+
export declare const Number: PrimitiveHandler<number, never>;
|
|
145
148
|
export type Number = ReturnType<typeof Number["createWithUnknownOrThrow"]>;
|
|
146
149
|
/**
|
|
147
150
|
* Business primitive for bigint values.
|
|
@@ -174,7 +177,7 @@ export type Number = ReturnType<typeof Number["createWithUnknownOrThrow"]>;
|
|
|
174
177
|
* @namespace C
|
|
175
178
|
*
|
|
176
179
|
*/
|
|
177
|
-
export declare const BigInt: PrimitiveHandler<bigint>;
|
|
180
|
+
export declare const BigInt: PrimitiveHandler<bigint, never>;
|
|
178
181
|
export type BigInt = ReturnType<typeof BigInt["createWithUnknownOrThrow"]>;
|
|
179
182
|
/**
|
|
180
183
|
* Business primitive for boolean values.
|
|
@@ -207,34 +210,28 @@ export type BigInt = ReturnType<typeof BigInt["createWithUnknownOrThrow"]>;
|
|
|
207
210
|
* @namespace C
|
|
208
211
|
*
|
|
209
212
|
*/
|
|
210
|
-
export declare const Boolean: PrimitiveHandler<boolean>;
|
|
213
|
+
export declare const Boolean: PrimitiveHandler<boolean, never>;
|
|
211
214
|
export type Boolean = ReturnType<typeof Boolean["createWithUnknownOrThrow"]>;
|
|
212
215
|
/**
|
|
213
|
-
* Business primitive for date values (TheDate).
|
|
216
|
+
* Business primitive for date values (`TheDate`).
|
|
214
217
|
*
|
|
215
218
|
* **Supported call styles:**
|
|
216
|
-
* - Classic: `Date.create(value)`
|
|
219
|
+
* - Classic: `Date.create(value)` → `Either`
|
|
217
220
|
*
|
|
218
|
-
* Use it to
|
|
219
|
-
*
|
|
220
|
-
* Business primitives are an alternative to raw TypeScript strings and numbers.
|
|
221
|
-
* Instead of manipulating bare values, each primitive is wrapped in a container.
|
|
222
|
-
* Result: safer, more explicit data, better aligned with the domain.
|
|
221
|
+
* Use it to keep domain values wrapped instead of passing raw dates through business logic.
|
|
223
222
|
*
|
|
224
223
|
* ```ts
|
|
225
224
|
* const date = D.create("2024-01-01");
|
|
226
|
-
*
|
|
227
225
|
* const result = C.Date.create(date);
|
|
228
226
|
*
|
|
229
227
|
* if (E.isRight(result)) {
|
|
230
|
-
*
|
|
228
|
+
* // result: E.Right<"createNewType", C.Primitive<D.TheDate>>
|
|
231
229
|
* }
|
|
232
230
|
*
|
|
233
231
|
* const value = C.Date.createOrThrow(date);
|
|
234
232
|
* // value: C.Primitive<D.TheDate>
|
|
235
233
|
*
|
|
236
234
|
* C.Date.is(value); // type guard
|
|
237
|
-
*
|
|
238
235
|
* ```
|
|
239
236
|
*
|
|
240
237
|
* @see https://utils.duplojs.dev/en/v1/api/clean/primitives
|
|
@@ -242,23 +239,18 @@ export type Boolean = ReturnType<typeof Boolean["createWithUnknownOrThrow"]>;
|
|
|
242
239
|
* @namespace C
|
|
243
240
|
*
|
|
244
241
|
*/
|
|
245
|
-
export declare const Date: PrimitiveHandler
|
|
242
|
+
export declare const Date: PrimitiveHandler<DDate.TheDate, DDate.TheDate | `date${number}-` | `date${number}+` | globalThis.Date>;
|
|
246
243
|
export type Date = ReturnType<typeof Date["createWithUnknownOrThrow"]>;
|
|
247
244
|
/**
|
|
248
|
-
* Business primitive for
|
|
245
|
+
* Business primitive for duration values (`TheTime`).
|
|
249
246
|
*
|
|
250
247
|
* **Supported call styles:**
|
|
251
|
-
* - Classic: `Time.create(value)`
|
|
248
|
+
* - Classic: `Time.create(value)` → `Either`
|
|
252
249
|
*
|
|
253
|
-
* Use it to
|
|
254
|
-
*
|
|
255
|
-
* Business primitives are an alternative to raw TypeScript strings and numbers.
|
|
256
|
-
* Instead of manipulating bare values, each primitive is wrapped in a container.
|
|
257
|
-
* Result: safer, more explicit data, better aligned with the domain.
|
|
250
|
+
* Use it to keep normalized time values wrapped in the domain layer.
|
|
258
251
|
*
|
|
259
252
|
* ```ts
|
|
260
|
-
* const theTime = D.
|
|
261
|
-
*
|
|
253
|
+
* const theTime = D.createTime(1, "hour");
|
|
262
254
|
* const result = C.Time.create(theTime);
|
|
263
255
|
*
|
|
264
256
|
* if (E.isRight(result)) {
|
|
@@ -269,7 +261,6 @@ export type Date = ReturnType<typeof Date["createWithUnknownOrThrow"]>;
|
|
|
269
261
|
* // value: C.Primitive<D.TheTime>
|
|
270
262
|
*
|
|
271
263
|
* C.Time.is(value); // type guard
|
|
272
|
-
*
|
|
273
264
|
* ```
|
|
274
265
|
*
|
|
275
266
|
* @see https://utils.duplojs.dev/en/v1/api/clean/primitives
|
|
@@ -277,7 +268,7 @@ export type Date = ReturnType<typeof Date["createWithUnknownOrThrow"]>;
|
|
|
277
268
|
* @namespace C
|
|
278
269
|
*
|
|
279
270
|
*/
|
|
280
|
-
export declare const Time: PrimitiveHandler
|
|
271
|
+
export declare const Time: PrimitiveHandler<DDate.TheTime, number | DDate.TheTime | `time${number}-` | `time${number}+`>;
|
|
281
272
|
export type Time = ReturnType<typeof Time["createWithUnknownOrThrow"]>;
|
|
282
273
|
export type Primitives = (String | Number | BigInt | Boolean | Date | Time);
|
|
283
274
|
export type PrimitiveHandlers = (typeof String | typeof Number | typeof BigInt | typeof Boolean | typeof Date | typeof Time);
|
|
@@ -1,33 +1,29 @@
|
|
|
1
1
|
import { type Date, type Time } from "../../base";
|
|
2
2
|
import { type TheTime } from "../../../../date";
|
|
3
3
|
/**
|
|
4
|
-
* Adds a
|
|
4
|
+
* Adds a duration to a wrapped `Date` and returns a wrapped `Date`.
|
|
5
5
|
*
|
|
6
6
|
* **Supported call styles:**
|
|
7
|
-
* - Classic: `dateAddTime(date, time)`
|
|
8
|
-
* - Curried: `dateAddTime(time)`
|
|
7
|
+
* - Classic: `dateAddTime(date, time)` → `Date`
|
|
8
|
+
* - Curried: `dateAddTime(time)` → function waiting for the date
|
|
9
9
|
*
|
|
10
|
-
*
|
|
10
|
+
* `time` accepts wrapped `Time` or raw `TheTime`.
|
|
11
11
|
*
|
|
12
12
|
* ```ts
|
|
13
13
|
* const date = C.Date.createOrThrow(D.create("2024-01-01"));
|
|
14
|
-
* const oneHour = C.Time.createOrThrow(D.
|
|
14
|
+
* const oneHour = C.Time.createOrThrow(D.createTime(1, "hour"));
|
|
15
15
|
*
|
|
16
16
|
* const later = C.dateAddTime(date, oneHour);
|
|
17
17
|
* // later: C.Date
|
|
18
18
|
*
|
|
19
19
|
* const curried = pipe(
|
|
20
20
|
* date,
|
|
21
|
-
* C.dateAddTime(D.
|
|
21
|
+
* C.dateAddTime(D.createTime(1, "minute")),
|
|
22
22
|
* );
|
|
23
23
|
* // curried: C.Date
|
|
24
24
|
*
|
|
25
|
-
* const mixed = C.dateAddTime(
|
|
26
|
-
* C.Date.createOrThrow(D.create("2024-01-02")),
|
|
27
|
-
* D.createTheTime(500),
|
|
28
|
-
* );
|
|
25
|
+
* const mixed = C.dateAddTime(date, D.createTime(500, "millisecond"));
|
|
29
26
|
* // mixed: C.Date
|
|
30
|
-
*
|
|
31
27
|
* ```
|
|
32
28
|
*
|
|
33
29
|
* @see https://utils.duplojs.dev/en/v1/api/clean/primitives/operators/dateAddTime
|
|
@@ -1,22 +1,24 @@
|
|
|
1
1
|
import { type Date } from "../../base";
|
|
2
2
|
import { type TheDate } from "../../../../date";
|
|
3
3
|
/**
|
|
4
|
-
* Checks whether a Date is after a threshold.
|
|
4
|
+
* Checks whether a wrapped `Date` is strictly after a threshold.
|
|
5
5
|
*
|
|
6
6
|
* **Supported call styles:**
|
|
7
|
-
* - Classic: `dateGreaterThan(date, threshold)`
|
|
8
|
-
* - Curried: `dateGreaterThan(threshold)`
|
|
7
|
+
* - Classic: `dateGreaterThan(date, threshold)` → `boolean`
|
|
8
|
+
* - Curried: `dateGreaterThan(threshold)` → function waiting for the date
|
|
9
9
|
*
|
|
10
|
-
*
|
|
10
|
+
* `threshold` accepts wrapped `Date` or raw `TheDate`.
|
|
11
11
|
*
|
|
12
12
|
* ```ts
|
|
13
13
|
* const date = C.Date.createOrThrow(D.create("2024-03-01"));
|
|
14
14
|
* const threshold = D.create("2024-02-29");
|
|
15
15
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
* }
|
|
16
|
+
* const result = C.dateGreaterThan(date, threshold);
|
|
17
|
+
* // result: true
|
|
19
18
|
*
|
|
19
|
+
* pipe(
|
|
20
|
+
* date,
|
|
21
|
+
* C.dateGreaterThan(threshold),
|
|
20
22
|
* ```
|
|
21
23
|
*
|
|
22
24
|
* @see https://utils.duplojs.dev/en/v1/api/clean/primitives/operators/dateGreaterThan
|