@duplojs/utils 1.4.57 → 1.4.59
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/array/group.cjs +11 -11
- package/dist/array/group.d.ts +1 -1
- package/dist/array/group.mjs +11 -11
- 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 +3 -4
- package/dist/common/kind.d.ts +1 -0
- package/dist/common/path.cjs +13 -13
- package/dist/common/path.d.ts +17 -11
- package/dist/common/path.mjs +13 -13
- package/dist/common/toRegExp.cjs +19 -0
- package/dist/common/toRegExp.d.ts +31 -0
- package/dist/common/toRegExp.mjs +17 -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/error.cjs +4 -2
- package/dist/dataParser/error.d.ts +4 -2
- package/dist/dataParser/error.mjs +4 -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/generator/asyncGroup.cjs +31 -0
- package/dist/generator/asyncGroup.d.ts +39 -0
- package/dist/generator/asyncGroup.mjs +29 -0
- package/dist/generator/group.cjs +39 -0
- package/dist/generator/group.d.ts +101 -0
- package/dist/generator/group.mjs +36 -0
- package/dist/generator/index.cjs +5 -0
- package/dist/generator/index.d.ts +3 -0
- package/dist/generator/index.mjs +2 -0
- package/dist/index.cjs +7 -6
- package/dist/index.mjs +2 -3
- package/dist/metadata.json +94 -40
- package/dist/object/entries.cjs +7 -2
- package/dist/object/entries.mjs +7 -2
- package/dist/object/keys.cjs +7 -2
- package/dist/object/keys.d.ts +1 -1
- package/dist/object/keys.mjs +7 -2
- 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
|
@@ -23,17 +23,20 @@ export interface DataParserTimeExtended<GenericDefinition extends dataParsers.Da
|
|
|
23
23
|
* Ensures the time is greater than the provided minimum.
|
|
24
24
|
*
|
|
25
25
|
* ```ts
|
|
26
|
-
* const
|
|
26
|
+
* const timeMin = D.createTime(0, "millisecond");
|
|
27
|
+
* const timeMax = D.createTime(100, "millisecond");
|
|
28
|
+
*
|
|
29
|
+
* const parser = DPE.time().min(timeMin);
|
|
27
30
|
* const result = parser.parse("time10+");
|
|
28
31
|
* if (E.isRight(result)) {
|
|
29
32
|
* const value = unwrap(result);
|
|
30
33
|
* // value: TheTime
|
|
31
34
|
* }
|
|
32
35
|
*
|
|
33
|
-
* const withMessage = DPE.time().min(
|
|
36
|
+
* const withMessage = DPE.time().min(timeMin, { errorMessage: "time.too-small" });
|
|
34
37
|
* const messageResult = withMessage.parse("time0+");
|
|
35
38
|
*
|
|
36
|
-
* const chained = DPE.time().min(
|
|
39
|
+
* const chained = DPE.time().min(timeMin).max(timeMax);
|
|
37
40
|
* const chainedResult = chained.parse("time10+");
|
|
38
41
|
* ```
|
|
39
42
|
*
|
|
@@ -52,17 +55,20 @@ export interface DataParserTimeExtended<GenericDefinition extends dataParsers.Da
|
|
|
52
55
|
* Ensures the time is smaller than the provided maximum.
|
|
53
56
|
*
|
|
54
57
|
* ```ts
|
|
55
|
-
* const
|
|
58
|
+
* const timeMax = D.createTime(1, "second");
|
|
59
|
+
* const timeMin = D.createTime(0, "millisecond");
|
|
60
|
+
*
|
|
61
|
+
* const parser = DPE.time().max(timeMax);
|
|
56
62
|
* const result = parser.parse("time10+");
|
|
57
63
|
* if (E.isRight(result)) {
|
|
58
64
|
* const value = unwrap(result);
|
|
59
65
|
* // value: TheTime
|
|
60
66
|
* }
|
|
61
67
|
*
|
|
62
|
-
* const withMessage = DPE.time().max(
|
|
68
|
+
* const withMessage = DPE.time().max(timeMax, { errorMessage: "time.too-large" });
|
|
63
69
|
* const messageResult = withMessage.parse("time100+");
|
|
64
70
|
*
|
|
65
|
-
* const chained = DPE.time().min(
|
|
71
|
+
* const chained = DPE.time().min(timeMin).max(timeMax);
|
|
66
72
|
* const chainedResult = chained.parse("time10+");
|
|
67
73
|
* ```
|
|
68
74
|
*
|
|
@@ -74,15 +80,19 @@ export interface DataParserTimeExtended<GenericDefinition extends dataParsers.Da
|
|
|
74
80
|
max(max: TheTime, definition?: Partial<Omit<dataParsers.DataParserCheckerDefinitionTimeMax, "max">>): DataParserTimeExtended<AddCheckersToDefinition<GenericDefinition, readonly [dataParsers.DataParserCheckerTimeMax]>>;
|
|
75
81
|
}
|
|
76
82
|
/**
|
|
77
|
-
* Creates an extended
|
|
83
|
+
* Creates an extended parser for `TheTime` with chainable time-specific helpers.
|
|
78
84
|
*
|
|
79
|
-
*
|
|
80
|
-
* - Method: `DPE.time(definition?)` -> returns a time parser
|
|
85
|
+
* Signature: `DPE.time(definition?)` → `DataParserTimeExtended`
|
|
81
86
|
*
|
|
82
|
-
*
|
|
87
|
+
* This parser extends the classic time parser behavior and adds fluent methods like `.min(...)` and `.max(...)`.
|
|
83
88
|
*
|
|
84
89
|
* ```ts
|
|
85
|
-
* const
|
|
90
|
+
* const minTime = D.createTime(0, "millisecond");
|
|
91
|
+
* const maxTime = D.createTime(10000, "millisecond");
|
|
92
|
+
*
|
|
93
|
+
* const parser = DPE.time()
|
|
94
|
+
* .min(minTime)
|
|
95
|
+
* .max(maxTime);
|
|
86
96
|
* const result = parser.parse("time10+");
|
|
87
97
|
* if (E.isRight(result)) {
|
|
88
98
|
* const value = unwrap(result);
|
|
@@ -91,11 +101,17 @@ export interface DataParserTimeExtended<GenericDefinition extends dataParsers.Da
|
|
|
91
101
|
*
|
|
92
102
|
* const coerceParser = DPE.coerce.time();
|
|
93
103
|
* const coerceResult = coerceParser.parse("10:20:00");
|
|
104
|
+
* // E.Error<DPE.DataParserError> | E.Success<D.TheTime>
|
|
94
105
|
*
|
|
95
|
-
* const minOnly = DPE.time().min(
|
|
106
|
+
* const minOnly = DPE.time().min(minTime);
|
|
96
107
|
* const minResult = minOnly.parse("time0+");
|
|
108
|
+
* // E.Error<DPE.DataParserError> | E.Success<D.TheTime>
|
|
97
109
|
* ```
|
|
98
110
|
*
|
|
111
|
+
* @remarks
|
|
112
|
+
* - `.min(...)` and `.max(...)` expect `TheTime` values.
|
|
113
|
+
* - `DPE.coerce.time()` enables the same coercion flow as classic parser mode.
|
|
114
|
+
*
|
|
99
115
|
* @see https://utils.duplojs.dev/en/v1/api/dataParser/time
|
|
100
116
|
*
|
|
101
117
|
* @namespace DPE
|
|
@@ -42,11 +42,11 @@ export declare const identifier: {
|
|
|
42
42
|
input: boolean;
|
|
43
43
|
output: boolean;
|
|
44
44
|
}>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
|
|
45
|
-
input: `date${number}-` | `date${number}
|
|
46
|
-
output:
|
|
45
|
+
input: import("../date").TheDate | `date${number}-` | `date${number}+` | Date;
|
|
46
|
+
output: import("../date").TheDate;
|
|
47
47
|
}>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
|
|
48
|
-
input: `time${number}-` | `time${number}+`;
|
|
49
|
-
output:
|
|
48
|
+
input: number | import("../date").TheTime | `time${number}-` | `time${number}+`;
|
|
49
|
+
output: import("../date").TheTime;
|
|
50
50
|
}>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
|
|
51
51
|
input: null;
|
|
52
52
|
output: null;
|
|
@@ -59,6 +59,12 @@ export declare const identifier: {
|
|
|
59
59
|
}>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
|
|
60
60
|
input: unknown[];
|
|
61
61
|
output: unknown[];
|
|
62
|
+
}>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
|
|
63
|
+
input: import("../date").TheDate;
|
|
64
|
+
output: import("../date").TheDate;
|
|
65
|
+
}>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
|
|
66
|
+
input: import("../date").TheTime;
|
|
67
|
+
output: import("../date").TheTime;
|
|
62
68
|
}>>, GenericInput extends unknown, GenericGroupedKind extends import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>>(kind: GenericKindHandler | GenericKindHandler[]): (input: GenericInput) => input is (import("../common").IsEqual<import("../common").IsEqual<false | (GenericInput extends any ? import("../common").IsEqual<GenericInput, DataParser<import("./base").DataParserDefinition<import("./base").DataParserChecker<import("./base").DataParserCheckerDefinition, unknown>>, unknown, unknown>> : never), boolean>, true> extends true ? Extract<DataParser<import("./base").DataParserDefinition<import("./base").DataParserChecker<import("./base").DataParserCheckerDefinition, unknown>>, unknown, unknown>, GenericGroupedKind> | Extract<import("./parsers").DataParserString<import("./parsers").DataParserDefinitionString>, GenericGroupedKind> | Extract<import("./parsers").DataParserObject<import("./parsers").DataParserDefinitionObject>, GenericGroupedKind> | Extract<import("./parsers").DataParserNumber<import("./parsers").DataParserDefinitionNumber>, GenericGroupedKind> | Extract<import("./parsers").DataParserLiteral<import("./parsers").DataParserDefinitionLiteral>, GenericGroupedKind> | Extract<import("./parsers").DataParserUnion<import("./parsers").DataParserDefinitionUnion>, GenericGroupedKind> | Extract<import("./parsers").DataParserArray<import("./parsers").DataParserDefinitionArray>, GenericGroupedKind> | Extract<import("./parsers").DataParserBigInt<import("./parsers").DataParserDefinitionBigInt>, GenericGroupedKind> | Extract<import("./parsers").DataParserTuple<import("./parsers").DataParserDefinitionTuple>, GenericGroupedKind> | Extract<import("./parsers").DataParserTransform<import("./parsers").DataParserDefinitionTransform>, GenericGroupedKind> | Extract<import("./parsers").DataParserBoolean<import("./parsers").DataParserDefinitionBoolean>, GenericGroupedKind> | Extract<import("./parsers").DataParserDate<import("./parsers").DataParserDefinitionDate>, GenericGroupedKind> | Extract<import("./parsers").DataParserTime<import("./parsers").DataParserDefinitionTime>, GenericGroupedKind> | Extract<import("./parsers").DataParserNil<import("./parsers").DataParserDefinitionNil>, GenericGroupedKind> | Extract<import("./parsers").DataParserEmpty<import("./parsers").DataParserDefinitionEmpty>, GenericGroupedKind> | Extract<import("./parsers").DataParserTemplateLiteral<import("./parsers").DataParserDefinitionTemplateLiteral>, GenericGroupedKind> | Extract<import("./parsers").DataParserPipe<import("./parsers").DataParserDefinitionPipe>, GenericGroupedKind> | Extract<import("./parsers").DataParserNullable<import("./parsers").DataParserDefinitionNullable<unknown>>, GenericGroupedKind> | Extract<import("./parsers").DataParserOptional<import("./parsers").DataParserDefinitionOptional<unknown>>, GenericGroupedKind> | Extract<import("./parsers").DataParserLazy<import("./parsers").DataParserDefinitionLazy>, GenericGroupedKind> | Extract<import("./parsers").DataParserUnknown<import("./parsers").DataParserDefinitionUnknown>, GenericGroupedKind> | Extract<import("./parsers").DataParserRecord<import("./parsers").DataParserDefinitionRecord>, GenericGroupedKind> | Extract<import("./parsers").DataParserRecover<import("./parsers").DataParserDefinitionRecover>, GenericGroupedKind> | Extract<import("./baseExtended").DataParserExtended<import("./base").DataParserDefinition<import("./base").DataParserChecker<import("./base").DataParserCheckerDefinition, unknown>>, unknown, unknown>, GenericGroupedKind> | Extract<import("./extended").DataParserStringExtended<import("./parsers").DataParserDefinitionString>, GenericGroupedKind> | Extract<import("./extended").DataParserObjectExtended<import("./parsers").DataParserDefinitionObject>, GenericGroupedKind> | Extract<import("./extended").DataParserNumberExtended<import("./parsers").DataParserDefinitionNumber>, GenericGroupedKind> | Extract<import("./extended").DataParserLiteralExtended<import("./parsers").DataParserDefinitionLiteral>, GenericGroupedKind> | Extract<import("./extended").DataParserUnionExtended<import("./parsers").DataParserDefinitionUnion>, GenericGroupedKind> | Extract<import("./extended").DataParserArrayExtended<import("./parsers").DataParserDefinitionArray>, GenericGroupedKind> | Extract<import("./extended").DataParserBigIntExtended<import("./parsers").DataParserDefinitionBigInt>, GenericGroupedKind> | Extract<import("./extended").DataParserTupleExtended<import("./parsers").DataParserDefinitionTuple>, GenericGroupedKind> | Extract<import("./extended").DataParserTransformExtended<import("./parsers").DataParserDefinitionTransform>, GenericGroupedKind> | Extract<import("./extended").DataParserBooleanExtended<import("./parsers").DataParserDefinitionBoolean>, GenericGroupedKind> | Extract<import("./extended").DataParserDateExtended<import("./parsers").DataParserDefinitionDate>, GenericGroupedKind> | Extract<import("./extended").DataParserTimeExtended<import("./parsers").DataParserDefinitionTime>, GenericGroupedKind> | Extract<import("./extended").DataParserNilExtended<import("./parsers").DataParserDefinitionNil>, GenericGroupedKind> | Extract<import("./extended").DataParserEmptyExtended<import("./parsers").DataParserDefinitionEmpty>, GenericGroupedKind> | Extract<import("./extended").DataParserTemplateLiteralExtended<import("./parsers").DataParserDefinitionTemplateLiteral>, GenericGroupedKind> | Extract<import("./extended").DataParserPipeExtended<import("./parsers").DataParserDefinitionPipe>, GenericGroupedKind> | Extract<import("./extended").DataParserNullableExtended<import("./parsers").DataParserDefinitionNullable<unknown>>, GenericGroupedKind> | Extract<import("./extended").DataParserOptionalExtended<import("./parsers").DataParserDefinitionOptional<unknown>>, GenericGroupedKind> | Extract<import("./extended").DataParserLazyExtended<import("./parsers").DataParserDefinitionLazy>, GenericGroupedKind> | Extract<import("./extended").DataParserUnknownExtended<import("./parsers").DataParserDefinitionUnknown>, GenericGroupedKind> | Extract<import("./extended").DataParserRecordExtended<import("./parsers").DataParserDefinitionRecord>, GenericGroupedKind> | Extract<import("./extended").DataParserRecoverExtended<import("./parsers").DataParserDefinitionRecover>, GenericGroupedKind> : never) | Extract<GenericInput, GenericGroupedKind>;
|
|
63
69
|
<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/bigint", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/extended", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/boolean", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/date", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/time", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/empty", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/nil", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/number", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/string", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/array", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/transform", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/union", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/pipe", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/nullable", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/optional", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/recover", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/lazy", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/literal", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/object", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/record", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/template-literal", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/tuple", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/unknown", unknown>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
|
|
64
70
|
input: string;
|
|
@@ -94,11 +100,11 @@ export declare const identifier: {
|
|
|
94
100
|
input: boolean;
|
|
95
101
|
output: boolean;
|
|
96
102
|
}>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
|
|
97
|
-
input: `date${number}-` | `date${number}
|
|
98
|
-
output:
|
|
103
|
+
input: import("../date").TheDate | `date${number}-` | `date${number}+` | Date;
|
|
104
|
+
output: import("../date").TheDate;
|
|
99
105
|
}>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
|
|
100
|
-
input: `time${number}-` | `time${number}+`;
|
|
101
|
-
output:
|
|
106
|
+
input: number | import("../date").TheTime | `time${number}-` | `time${number}+`;
|
|
107
|
+
output: import("../date").TheTime;
|
|
102
108
|
}>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
|
|
103
109
|
input: null;
|
|
104
110
|
output: null;
|
|
@@ -111,5 +117,11 @@ export declare const identifier: {
|
|
|
111
117
|
}>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
|
|
112
118
|
input: unknown[];
|
|
113
119
|
output: unknown[];
|
|
120
|
+
}>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
|
|
121
|
+
input: import("../date").TheDate;
|
|
122
|
+
output: import("../date").TheDate;
|
|
123
|
+
}>> | import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsDataParser/base", {
|
|
124
|
+
input: import("../date").TheTime;
|
|
125
|
+
output: import("../date").TheTime;
|
|
114
126
|
}>>, GenericInput extends unknown, GenericGroupedKind extends import("../common").UnionToIntersection<GenericKindHandler extends import("../common").KindHandler<import("../common").KindDefinition<string, unknown>> ? import("../common").Kind<GenericKindHandler["definition"], GenericKindHandler["definition"]["value"]> : never>>(input: GenericInput, kind: GenericKindHandler | GenericKindHandler[]): input is (import("../common").IsEqual<import("../common").IsEqual<false | (GenericInput extends any ? import("../common").IsEqual<GenericInput, DataParser<import("./base").DataParserDefinition<import("./base").DataParserChecker<import("./base").DataParserCheckerDefinition, unknown>>, unknown, unknown>> : never), boolean>, true> extends true ? Extract<DataParser<import("./base").DataParserDefinition<import("./base").DataParserChecker<import("./base").DataParserCheckerDefinition, unknown>>, unknown, unknown>, GenericGroupedKind> | Extract<import("./parsers").DataParserString<import("./parsers").DataParserDefinitionString>, GenericGroupedKind> | Extract<import("./parsers").DataParserObject<import("./parsers").DataParserDefinitionObject>, GenericGroupedKind> | Extract<import("./parsers").DataParserNumber<import("./parsers").DataParserDefinitionNumber>, GenericGroupedKind> | Extract<import("./parsers").DataParserLiteral<import("./parsers").DataParserDefinitionLiteral>, GenericGroupedKind> | Extract<import("./parsers").DataParserUnion<import("./parsers").DataParserDefinitionUnion>, GenericGroupedKind> | Extract<import("./parsers").DataParserArray<import("./parsers").DataParserDefinitionArray>, GenericGroupedKind> | Extract<import("./parsers").DataParserBigInt<import("./parsers").DataParserDefinitionBigInt>, GenericGroupedKind> | Extract<import("./parsers").DataParserTuple<import("./parsers").DataParserDefinitionTuple>, GenericGroupedKind> | Extract<import("./parsers").DataParserTransform<import("./parsers").DataParserDefinitionTransform>, GenericGroupedKind> | Extract<import("./parsers").DataParserBoolean<import("./parsers").DataParserDefinitionBoolean>, GenericGroupedKind> | Extract<import("./parsers").DataParserDate<import("./parsers").DataParserDefinitionDate>, GenericGroupedKind> | Extract<import("./parsers").DataParserTime<import("./parsers").DataParserDefinitionTime>, GenericGroupedKind> | Extract<import("./parsers").DataParserNil<import("./parsers").DataParserDefinitionNil>, GenericGroupedKind> | Extract<import("./parsers").DataParserEmpty<import("./parsers").DataParserDefinitionEmpty>, GenericGroupedKind> | Extract<import("./parsers").DataParserTemplateLiteral<import("./parsers").DataParserDefinitionTemplateLiteral>, GenericGroupedKind> | Extract<import("./parsers").DataParserPipe<import("./parsers").DataParserDefinitionPipe>, GenericGroupedKind> | Extract<import("./parsers").DataParserNullable<import("./parsers").DataParserDefinitionNullable<unknown>>, GenericGroupedKind> | Extract<import("./parsers").DataParserOptional<import("./parsers").DataParserDefinitionOptional<unknown>>, GenericGroupedKind> | Extract<import("./parsers").DataParserLazy<import("./parsers").DataParserDefinitionLazy>, GenericGroupedKind> | Extract<import("./parsers").DataParserUnknown<import("./parsers").DataParserDefinitionUnknown>, GenericGroupedKind> | Extract<import("./parsers").DataParserRecord<import("./parsers").DataParserDefinitionRecord>, GenericGroupedKind> | Extract<import("./parsers").DataParserRecover<import("./parsers").DataParserDefinitionRecover>, GenericGroupedKind> | Extract<import("./baseExtended").DataParserExtended<import("./base").DataParserDefinition<import("./base").DataParserChecker<import("./base").DataParserCheckerDefinition, unknown>>, unknown, unknown>, GenericGroupedKind> | Extract<import("./extended").DataParserStringExtended<import("./parsers").DataParserDefinitionString>, GenericGroupedKind> | Extract<import("./extended").DataParserObjectExtended<import("./parsers").DataParserDefinitionObject>, GenericGroupedKind> | Extract<import("./extended").DataParserNumberExtended<import("./parsers").DataParserDefinitionNumber>, GenericGroupedKind> | Extract<import("./extended").DataParserLiteralExtended<import("./parsers").DataParserDefinitionLiteral>, GenericGroupedKind> | Extract<import("./extended").DataParserUnionExtended<import("./parsers").DataParserDefinitionUnion>, GenericGroupedKind> | Extract<import("./extended").DataParserArrayExtended<import("./parsers").DataParserDefinitionArray>, GenericGroupedKind> | Extract<import("./extended").DataParserBigIntExtended<import("./parsers").DataParserDefinitionBigInt>, GenericGroupedKind> | Extract<import("./extended").DataParserTupleExtended<import("./parsers").DataParserDefinitionTuple>, GenericGroupedKind> | Extract<import("./extended").DataParserTransformExtended<import("./parsers").DataParserDefinitionTransform>, GenericGroupedKind> | Extract<import("./extended").DataParserBooleanExtended<import("./parsers").DataParserDefinitionBoolean>, GenericGroupedKind> | Extract<import("./extended").DataParserDateExtended<import("./parsers").DataParserDefinitionDate>, GenericGroupedKind> | Extract<import("./extended").DataParserTimeExtended<import("./parsers").DataParserDefinitionTime>, GenericGroupedKind> | Extract<import("./extended").DataParserNilExtended<import("./parsers").DataParserDefinitionNil>, GenericGroupedKind> | Extract<import("./extended").DataParserEmptyExtended<import("./parsers").DataParserDefinitionEmpty>, GenericGroupedKind> | Extract<import("./extended").DataParserTemplateLiteralExtended<import("./parsers").DataParserDefinitionTemplateLiteral>, GenericGroupedKind> | Extract<import("./extended").DataParserPipeExtended<import("./parsers").DataParserDefinitionPipe>, GenericGroupedKind> | Extract<import("./extended").DataParserNullableExtended<import("./parsers").DataParserDefinitionNullable<unknown>>, GenericGroupedKind> | Extract<import("./extended").DataParserOptionalExtended<import("./parsers").DataParserDefinitionOptional<unknown>>, GenericGroupedKind> | Extract<import("./extended").DataParserLazyExtended<import("./parsers").DataParserDefinitionLazy>, GenericGroupedKind> | Extract<import("./extended").DataParserUnknownExtended<import("./parsers").DataParserDefinitionUnknown>, GenericGroupedKind> | Extract<import("./extended").DataParserRecordExtended<import("./parsers").DataParserDefinitionRecord>, GenericGroupedKind> | Extract<import("./extended").DataParserRecoverExtended<import("./parsers").DataParserDefinitionRecover>, GenericGroupedKind> : never) | Extract<GenericInput, GenericGroupedKind>;
|
|
115
127
|
};
|
|
@@ -4,8 +4,9 @@ var base = require('../base.cjs');
|
|
|
4
4
|
var error = require('../error.cjs');
|
|
5
5
|
var kind = require('../kind.cjs');
|
|
6
6
|
var isSafeTimestamp = require('../../date/isSafeTimestamp.cjs');
|
|
7
|
-
var
|
|
8
|
-
var
|
|
7
|
+
var theDate = require('../../date/theDate.cjs');
|
|
8
|
+
var isSerializedTheDate = require('../../date/isSerializedTheDate.cjs');
|
|
9
|
+
var toTimestamp = require('../../date/toTimestamp.cjs');
|
|
9
10
|
var override = require('../../common/override.cjs');
|
|
10
11
|
|
|
11
12
|
const dateKind = kind.createDataParserKind("date");
|
|
@@ -19,30 +20,33 @@ function date(definition) {
|
|
|
19
20
|
coerce: definition?.coerce ?? false,
|
|
20
21
|
}, (data, _error, self) => {
|
|
21
22
|
if (self.definition.coerce) {
|
|
22
|
-
if (data instanceof Date) {
|
|
23
|
-
const timestamp = data.getTime();
|
|
24
|
-
if (!isSafeTimestamp.isSafeTimestamp(timestamp)) {
|
|
25
|
-
return error.SymbolDataParserErrorIssue;
|
|
26
|
-
}
|
|
27
|
-
return createTheDate.createTheDate(timestamp);
|
|
28
|
-
}
|
|
29
23
|
if (typeof data === "number") {
|
|
30
24
|
if (!isSafeTimestamp.isSafeTimestamp(data)) {
|
|
31
25
|
return error.SymbolDataParserErrorIssue;
|
|
32
26
|
}
|
|
33
|
-
return
|
|
27
|
+
return theDate.TheDate.new(data);
|
|
34
28
|
}
|
|
35
29
|
if (typeof data === "string") {
|
|
36
30
|
const date = new Date(data);
|
|
37
31
|
const timestamp = date.getTime();
|
|
38
32
|
if (isSafeTimestamp.isSafeTimestamp(timestamp)) {
|
|
39
|
-
return
|
|
33
|
+
return theDate.TheDate.new(timestamp);
|
|
40
34
|
}
|
|
41
35
|
}
|
|
42
36
|
}
|
|
43
|
-
if (
|
|
37
|
+
if (data instanceof theDate.TheDate) {
|
|
44
38
|
return data;
|
|
45
39
|
}
|
|
40
|
+
else if (typeof data === "string" && isSerializedTheDate.isSerializedTheDate(data)) {
|
|
41
|
+
return theDate.TheDate.new(toTimestamp.toTimestamp(data));
|
|
42
|
+
}
|
|
43
|
+
else if (data instanceof Date) {
|
|
44
|
+
const timestamp = data.getTime();
|
|
45
|
+
if (!isSafeTimestamp.isSafeTimestamp(timestamp)) {
|
|
46
|
+
return error.SymbolDataParserErrorIssue;
|
|
47
|
+
}
|
|
48
|
+
return theDate.TheDate.new(timestamp);
|
|
49
|
+
}
|
|
46
50
|
return error.SymbolDataParserErrorIssue;
|
|
47
51
|
}, date.overrideHandler);
|
|
48
52
|
return self;
|
|
@@ -3,15 +3,15 @@ import { type DataParserDefinition, type DataParser, type DataParserChecker } fr
|
|
|
3
3
|
import { type AddCheckersToDefinition, type MergeDefinition } from "../../dataParser/types";
|
|
4
4
|
import { type CheckerRefineImplementation } from "./refine";
|
|
5
5
|
import { type GetPropsWithValueExtends } from "../../object";
|
|
6
|
-
import
|
|
6
|
+
import * as DDate from "../../date";
|
|
7
7
|
export interface DataParserDateCheckerCustom {
|
|
8
8
|
}
|
|
9
|
-
export type DataParserDateCheckers = (DataParserDateCheckerCustom[GetPropsWithValueExtends<DataParserDateCheckerCustom, DataParserChecker>] | CheckerRefineImplementation<TheDate>);
|
|
9
|
+
export type DataParserDateCheckers = (DataParserDateCheckerCustom[GetPropsWithValueExtends<DataParserDateCheckerCustom, DataParserChecker>] | CheckerRefineImplementation<DDate.TheDate>);
|
|
10
10
|
export interface DataParserDefinitionDate extends DataParserDefinition<DataParserDateCheckers> {
|
|
11
11
|
readonly coerce: boolean;
|
|
12
12
|
}
|
|
13
13
|
export declare const dateKind: import("../../common").KindHandler<import("../../common").KindDefinition<"@DuplojsUtilsDataParser/date", unknown>>;
|
|
14
|
-
type _DataParserDate<GenericDefinition extends DataParserDefinitionDate> = (DataParser<GenericDefinition, TheDate, TheDate> & Kind<typeof dateKind.definition>);
|
|
14
|
+
type _DataParserDate<GenericDefinition extends DataParserDefinitionDate> = (DataParser<GenericDefinition, DDate.TheDate, DDate.TheDate | Date | DDate.SerializedTheDate> & Kind<typeof dateKind.definition>);
|
|
15
15
|
export interface DataParserDate<GenericDefinition extends DataParserDefinitionDate = DataParserDefinitionDate> extends _DataParserDate<GenericDefinition> {
|
|
16
16
|
addChecker<GenericChecker extends readonly [
|
|
17
17
|
DataParserDateCheckers,
|
|
@@ -22,13 +22,12 @@ export interface DataParserDate<GenericDefinition extends DataParserDefinitionDa
|
|
|
22
22
|
], GenericChecker>): DataParserDate<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
|
-
* Creates a
|
|
25
|
+
* Creates a classic parser for `TheDate` values.
|
|
26
26
|
*
|
|
27
|
-
*
|
|
28
|
-
* - Classic: `DP.date(definition?)` -> returns a date parser
|
|
29
|
-
* - Curried: not available
|
|
27
|
+
* Signature: `DP.date(definition?)` → `DataParserDate`
|
|
30
28
|
*
|
|
31
|
-
*
|
|
29
|
+
* The parser accepts `TheDate`, `SerializedTheDate`, and native `Date`.
|
|
30
|
+
* With `coerce: true`, safe timestamps and parsable date strings are also supported.
|
|
32
31
|
*
|
|
33
32
|
* ```ts
|
|
34
33
|
* const parser = DP.date();
|
|
@@ -39,13 +38,20 @@ export interface DataParserDate<GenericDefinition extends DataParserDefinitionDa
|
|
|
39
38
|
* }
|
|
40
39
|
*
|
|
41
40
|
* const withCheckers = DP.date({
|
|
42
|
-
* checkers: [DP.checkerRefine((value) => value
|
|
41
|
+
* checkers: [DP.checkerRefine((value) => value.getUTCFullYear() >= 2024)],
|
|
43
42
|
* });
|
|
43
|
+
* const checked = withCheckers.parse("date1704067200000+");
|
|
44
|
+
* // checked: E.Error<DP.DataParserError> | E.Success<TheDate>
|
|
44
45
|
*
|
|
45
46
|
* const coerceParser = DP.coerce.date();
|
|
46
47
|
* const coerceResult = coerceParser.parse("2024-01-01T00:00:00.000Z");
|
|
48
|
+
* // coerceResult: E.Error<DP.DataParserError> | E.Success<TheDate>
|
|
47
49
|
* ```
|
|
48
50
|
*
|
|
51
|
+
* @remarks
|
|
52
|
+
* - Parsed output is always `TheDate`.
|
|
53
|
+
* - Use `DP.coerce.date()` when you want coercion enabled by default.
|
|
54
|
+
*
|
|
49
55
|
* @see https://utils.duplojs.dev/en/v1/api/dataParser/date
|
|
50
56
|
*
|
|
51
57
|
* @namespace DP
|
|
@@ -2,8 +2,9 @@ import { dataParserInit } from '../base.mjs';
|
|
|
2
2
|
import { SymbolDataParserErrorIssue } from '../error.mjs';
|
|
3
3
|
import { createDataParserKind } from '../kind.mjs';
|
|
4
4
|
import { isSafeTimestamp } from '../../date/isSafeTimestamp.mjs';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { TheDate } from '../../date/theDate.mjs';
|
|
6
|
+
import { isSerializedTheDate } from '../../date/isSerializedTheDate.mjs';
|
|
7
|
+
import { toTimestamp } from '../../date/toTimestamp.mjs';
|
|
7
8
|
import { createOverride } from '../../common/override.mjs';
|
|
8
9
|
|
|
9
10
|
const dateKind = createDataParserKind("date");
|
|
@@ -17,30 +18,33 @@ function date(definition) {
|
|
|
17
18
|
coerce: definition?.coerce ?? false,
|
|
18
19
|
}, (data, _error, self) => {
|
|
19
20
|
if (self.definition.coerce) {
|
|
20
|
-
if (data instanceof Date) {
|
|
21
|
-
const timestamp = data.getTime();
|
|
22
|
-
if (!isSafeTimestamp(timestamp)) {
|
|
23
|
-
return SymbolDataParserErrorIssue;
|
|
24
|
-
}
|
|
25
|
-
return createTheDate(timestamp);
|
|
26
|
-
}
|
|
27
21
|
if (typeof data === "number") {
|
|
28
22
|
if (!isSafeTimestamp(data)) {
|
|
29
23
|
return SymbolDataParserErrorIssue;
|
|
30
24
|
}
|
|
31
|
-
return
|
|
25
|
+
return TheDate.new(data);
|
|
32
26
|
}
|
|
33
27
|
if (typeof data === "string") {
|
|
34
28
|
const date = new Date(data);
|
|
35
29
|
const timestamp = date.getTime();
|
|
36
30
|
if (isSafeTimestamp(timestamp)) {
|
|
37
|
-
return
|
|
31
|
+
return TheDate.new(timestamp);
|
|
38
32
|
}
|
|
39
33
|
}
|
|
40
34
|
}
|
|
41
|
-
if (
|
|
35
|
+
if (data instanceof TheDate) {
|
|
42
36
|
return data;
|
|
43
37
|
}
|
|
38
|
+
else if (typeof data === "string" && isSerializedTheDate(data)) {
|
|
39
|
+
return TheDate.new(toTimestamp(data));
|
|
40
|
+
}
|
|
41
|
+
else if (data instanceof Date) {
|
|
42
|
+
const timestamp = data.getTime();
|
|
43
|
+
if (!isSafeTimestamp(timestamp)) {
|
|
44
|
+
return SymbolDataParserErrorIssue;
|
|
45
|
+
}
|
|
46
|
+
return TheDate.new(timestamp);
|
|
47
|
+
}
|
|
44
48
|
return SymbolDataParserErrorIssue;
|
|
45
49
|
}, date.overrideHandler);
|
|
46
50
|
return self;
|
|
@@ -6,6 +6,9 @@ var kind = require('../../../kind.cjs');
|
|
|
6
6
|
var lessTime = require('../../../../date/operators/lessTime.cjs');
|
|
7
7
|
|
|
8
8
|
const checkerTimeMaxKind = kind.createDataParserKind("checker-time-max");
|
|
9
|
+
/**
|
|
10
|
+
* {@include dataParser/classic/checkerTimeMax/index.md}
|
|
11
|
+
*/
|
|
9
12
|
function checkerTimeMax(max, definition = {}) {
|
|
10
13
|
return base.dataParserCheckerInit(checkerTimeMaxKind, {
|
|
11
14
|
definition: {
|
|
@@ -8,5 +8,33 @@ export declare const checkerTimeMaxKind: import("../../../../common").KindHandle
|
|
|
8
8
|
type _DataParserCheckerTimeMax = (Kind<typeof checkerTimeMaxKind.definition> & DataParserChecker<DataParserCheckerDefinitionTimeMax, DDate.TheTime>);
|
|
9
9
|
export interface DataParserCheckerTimeMax extends _DataParserCheckerTimeMax {
|
|
10
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Creates a checker that enforces a maximum `TheTime` bound.
|
|
13
|
+
*
|
|
14
|
+
* Signature: `checkerTimeMax(max, definition?)` → `DataParserCheckerTimeMax`
|
|
15
|
+
*
|
|
16
|
+
* The checker passes when parsed value is less than or equal to `max`.
|
|
17
|
+
*
|
|
18
|
+
* ```ts
|
|
19
|
+
* const parser = DP.time({
|
|
20
|
+
* checkers: [DP.checkerTimeMax(D.createTime(2, "minute"))],
|
|
21
|
+
* });
|
|
22
|
+
*
|
|
23
|
+
* const valid = parser.parse("time1500+");
|
|
24
|
+
* // valid: Error<DP.DataParserError> | Success<D.TheTime>
|
|
25
|
+
*
|
|
26
|
+
* const invalid = parser.parse("time2500+");
|
|
27
|
+
* // invalid: Error<DP.DataParserError> | Success<D.TheTime>
|
|
28
|
+
*
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* @remarks
|
|
32
|
+
* - Designed to be used in `DP.time({ checkers: [...] })` or via `.addChecker(...)`.
|
|
33
|
+
*
|
|
34
|
+
* @see https://utils.duplojs.dev/en/v1/api/dataParser/time
|
|
35
|
+
*
|
|
36
|
+
* @namespace DP
|
|
37
|
+
*
|
|
38
|
+
*/
|
|
11
39
|
export declare function checkerTimeMax(max: DDate.TheTime, definition?: Partial<Omit<DataParserCheckerDefinitionTimeMax, "max">>): DataParserCheckerTimeMax;
|
|
12
40
|
export {};
|
|
@@ -4,6 +4,9 @@ import { createDataParserKind } from '../../../kind.mjs';
|
|
|
4
4
|
import { lessTime } from '../../../../date/operators/lessTime.mjs';
|
|
5
5
|
|
|
6
6
|
const checkerTimeMaxKind = createDataParserKind("checker-time-max");
|
|
7
|
+
/**
|
|
8
|
+
* {@include dataParser/classic/checkerTimeMax/index.md}
|
|
9
|
+
*/
|
|
7
10
|
function checkerTimeMax(max, definition = {}) {
|
|
8
11
|
return dataParserCheckerInit(checkerTimeMaxKind, {
|
|
9
12
|
definition: {
|
|
@@ -6,6 +6,9 @@ var kind = require('../../../kind.cjs');
|
|
|
6
6
|
var greaterTime = require('../../../../date/operators/greaterTime.cjs');
|
|
7
7
|
|
|
8
8
|
const checkerTimeMinKind = kind.createDataParserKind("checker-time-min");
|
|
9
|
+
/**
|
|
10
|
+
* {@include dataParser/classic/checkerTimeMin/index.md}
|
|
11
|
+
*/
|
|
9
12
|
function checkerTimeMin(min, definition = {}) {
|
|
10
13
|
return base.dataParserCheckerInit(checkerTimeMinKind, {
|
|
11
14
|
definition: {
|
|
@@ -8,5 +8,33 @@ export declare const checkerTimeMinKind: import("../../../../common").KindHandle
|
|
|
8
8
|
type _DataParserCheckerTimeMin = (Kind<typeof checkerTimeMinKind.definition> & DataParserChecker<DataParserCheckerDefinitionTimeMin, DDate.TheTime>);
|
|
9
9
|
export interface DataParserCheckerTimeMin extends _DataParserCheckerTimeMin {
|
|
10
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* Creates a checker that enforces a minimum `TheTime` bound.
|
|
13
|
+
*
|
|
14
|
+
* Signature: `checkerTimeMin(min, definition?)` → `DataParserCheckerTimeMin`
|
|
15
|
+
*
|
|
16
|
+
* The checker passes when parsed value is greater than or equal to `min`.
|
|
17
|
+
*
|
|
18
|
+
* ```ts
|
|
19
|
+
* const parser = DP.time({
|
|
20
|
+
* checkers: [DP.checkerTimeMin(D.createTime(1, "minute"))],
|
|
21
|
+
* });
|
|
22
|
+
*
|
|
23
|
+
* const valid = parser.parse("time1500+");
|
|
24
|
+
* // valid: Error<DP.DataParserError> | Success<D.TheTime>
|
|
25
|
+
*
|
|
26
|
+
* const invalid = parser.parse("time500+");
|
|
27
|
+
* // invalid:Error<DP.DataParserError> | Success<D.TheTime>
|
|
28
|
+
*
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* @remarks
|
|
32
|
+
* - Designed to be used in `DP.time({ checkers: [...] })` or via `.addChecker(...)`.
|
|
33
|
+
*
|
|
34
|
+
* @see https://utils.duplojs.dev/en/v1/api/dataParser/time
|
|
35
|
+
*
|
|
36
|
+
* @namespace DP
|
|
37
|
+
*
|
|
38
|
+
*/
|
|
11
39
|
export declare function checkerTimeMin(min: DDate.TheTime, definition?: Partial<Omit<DataParserCheckerDefinitionTimeMin, "min">>): DataParserCheckerTimeMin;
|
|
12
40
|
export {};
|
|
@@ -4,6 +4,9 @@ import { createDataParserKind } from '../../../kind.mjs';
|
|
|
4
4
|
import { greaterTime } from '../../../../date/operators/greaterTime.mjs';
|
|
5
5
|
|
|
6
6
|
const checkerTimeMinKind = createDataParserKind("checker-time-min");
|
|
7
|
+
/**
|
|
8
|
+
* {@include dataParser/classic/checkerTimeMin/index.md}
|
|
9
|
+
*/
|
|
7
10
|
function checkerTimeMin(min, definition = {}) {
|
|
8
11
|
return dataParserCheckerInit(checkerTimeMinKind, {
|
|
9
12
|
definition: {
|
|
@@ -3,13 +3,14 @@
|
|
|
3
3
|
var base = require('../../base.cjs');
|
|
4
4
|
var error = require('../../error.cjs');
|
|
5
5
|
var kind = require('../../kind.cjs');
|
|
6
|
-
var isSafeTimeValue = require('../../../date/isSafeTimeValue.cjs');
|
|
7
|
-
var createTheTime = require('../../../date/createTheTime.cjs');
|
|
8
6
|
var constants = require('../../../date/constants.cjs');
|
|
9
7
|
var createTime = require('../../../date/createTime.cjs');
|
|
10
8
|
var is = require('../../../either/left/is.cjs');
|
|
11
9
|
var unwrap = require('../../../common/unwrap.cjs');
|
|
12
|
-
var
|
|
10
|
+
var theTime = require('../../../date/theTime.cjs');
|
|
11
|
+
var isSerializedTheTime = require('../../../date/isSerializedTheTime.cjs');
|
|
12
|
+
var toTimeValue = require('../../../date/toTimeValue.cjs');
|
|
13
|
+
var isSafeTimeValue = require('../../../date/isSafeTimeValue.cjs');
|
|
13
14
|
var override = require('../../../common/override.cjs');
|
|
14
15
|
|
|
15
16
|
const timeKind = kind.createDataParserKind("time");
|
|
@@ -23,12 +24,6 @@ function time(definition) {
|
|
|
23
24
|
coerce: definition?.coerce ?? false,
|
|
24
25
|
}, (data, _error, self) => {
|
|
25
26
|
if (self.definition.coerce) {
|
|
26
|
-
if (typeof data === "number") {
|
|
27
|
-
if (!isSafeTimeValue.isSafeTimeValue(data)) {
|
|
28
|
-
return error.SymbolDataParserErrorIssue;
|
|
29
|
-
}
|
|
30
|
-
return createTheTime.createTheTime(data);
|
|
31
|
-
}
|
|
32
27
|
if (typeof data === "string" && constants.isoTimeRegex.test(data)) {
|
|
33
28
|
const result = createTime.createTime({ value: data });
|
|
34
29
|
if (is.isLeft(result)) {
|
|
@@ -37,9 +32,18 @@ function time(definition) {
|
|
|
37
32
|
return unwrap.unwrap(result);
|
|
38
33
|
}
|
|
39
34
|
}
|
|
40
|
-
if (
|
|
35
|
+
if (data instanceof theTime.TheTime) {
|
|
41
36
|
return data;
|
|
42
37
|
}
|
|
38
|
+
else if (typeof data === "string" && isSerializedTheTime.isSerializedTheTime(data)) {
|
|
39
|
+
return theTime.TheTime.new(toTimeValue.toTimeValue(data));
|
|
40
|
+
}
|
|
41
|
+
else if (typeof data === "number") {
|
|
42
|
+
if (!isSafeTimeValue.isSafeTimeValue(data)) {
|
|
43
|
+
return error.SymbolDataParserErrorIssue;
|
|
44
|
+
}
|
|
45
|
+
return theTime.TheTime.new(data);
|
|
46
|
+
}
|
|
43
47
|
return error.SymbolDataParserErrorIssue;
|
|
44
48
|
}, time.overrideHandler);
|
|
45
49
|
return self;
|
|
@@ -3,17 +3,17 @@ import { type DataParserDefinition, type DataParser, type DataParserChecker } fr
|
|
|
3
3
|
import { type AddCheckersToDefinition, type MergeDefinition } from "../../../dataParser/types";
|
|
4
4
|
import { type CheckerRefineImplementation } from "../refine";
|
|
5
5
|
import { type GetPropsWithValueExtends } from "../../../object";
|
|
6
|
-
import
|
|
6
|
+
import * as DDate from "../../../date";
|
|
7
7
|
import { type DataParserCheckerTimeMax, type DataParserCheckerTimeMin } from "./checkers";
|
|
8
8
|
export * from "./checkers";
|
|
9
9
|
export interface DataParserTimeCheckerCustom {
|
|
10
10
|
}
|
|
11
|
-
export type DataParserTimeCheckers = (DataParserTimeCheckerCustom[GetPropsWithValueExtends<DataParserTimeCheckerCustom, DataParserChecker>] | CheckerRefineImplementation<TheTime> | DataParserCheckerTimeMax | DataParserCheckerTimeMin);
|
|
11
|
+
export type DataParserTimeCheckers = (DataParserTimeCheckerCustom[GetPropsWithValueExtends<DataParserTimeCheckerCustom, DataParserChecker>] | CheckerRefineImplementation<DDate.TheTime> | DataParserCheckerTimeMax | DataParserCheckerTimeMin);
|
|
12
12
|
export interface DataParserDefinitionTime extends DataParserDefinition<DataParserTimeCheckers> {
|
|
13
13
|
readonly coerce: boolean;
|
|
14
14
|
}
|
|
15
15
|
export declare const timeKind: import("../../../common").KindHandler<import("../../../common").KindDefinition<"@DuplojsUtilsDataParser/time", unknown>>;
|
|
16
|
-
type _DataParserTime<GenericDefinition extends DataParserDefinitionTime> = (DataParser<GenericDefinition, TheTime, TheTime> & Kind<typeof timeKind.definition>);
|
|
16
|
+
type _DataParserTime<GenericDefinition extends DataParserDefinitionTime> = (DataParser<GenericDefinition, DDate.TheTime, DDate.TheTime | number | DDate.SerializedTheTime> & Kind<typeof timeKind.definition>);
|
|
17
17
|
export interface DataParserTime<GenericDefinition extends DataParserDefinitionTime = DataParserDefinitionTime> extends _DataParserTime<GenericDefinition> {
|
|
18
18
|
addChecker<GenericChecker extends readonly [
|
|
19
19
|
DataParserTimeCheckers,
|
|
@@ -24,13 +24,12 @@ export interface DataParserTime<GenericDefinition extends DataParserDefinitionTi
|
|
|
24
24
|
], GenericChecker>): DataParserTime<AddCheckersToDefinition<GenericDefinition, GenericChecker>>;
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
|
-
* Creates a
|
|
27
|
+
* Creates a classic parser for `TheTime` values.
|
|
28
28
|
*
|
|
29
|
-
*
|
|
30
|
-
* - Classic: `DP.time(definition?)` -> returns a time parser
|
|
31
|
-
* - Curried: not available
|
|
29
|
+
* Signature: `DP.time(definition?)` → `DataParserTime`
|
|
32
30
|
*
|
|
33
|
-
*
|
|
31
|
+
* The parser accepts `TheTime`, `SerializedTheTime`, and safe numeric time values.
|
|
32
|
+
* With `coerce: true`, ISO-like time strings are also supported.
|
|
34
33
|
*
|
|
35
34
|
* ```ts
|
|
36
35
|
* const parser = DP.time();
|
|
@@ -41,13 +40,20 @@ export interface DataParserTime<GenericDefinition extends DataParserDefinitionTi
|
|
|
41
40
|
* }
|
|
42
41
|
*
|
|
43
42
|
* const withCheckers = DP.time({
|
|
44
|
-
* checkers: [DP.checkerRefine((value) => value !==
|
|
43
|
+
* checkers: [DP.checkerRefine((value) => value.toNative() !== 0)],
|
|
45
44
|
* });
|
|
45
|
+
* const checked = withCheckers.parse("time1000+");
|
|
46
|
+
* // checked: E.Error<DP.DataParserError> | E.Success<TheTime>
|
|
46
47
|
*
|
|
47
48
|
* const coerceParser = DP.coerce.time();
|
|
48
49
|
* const coerceResult = coerceParser.parse("10:20:00");
|
|
50
|
+
* // coerceResult: E.Error<DP.DataParserError> | E.Success<TheTime>
|
|
49
51
|
* ```
|
|
50
52
|
*
|
|
53
|
+
* @remarks
|
|
54
|
+
* - Parsed output is always `TheTime`.
|
|
55
|
+
* - Use `DP.coerce.time()` when you want string coercion enabled by default.
|
|
56
|
+
*
|
|
51
57
|
* @see https://utils.duplojs.dev/en/v1/api/dataParser/time
|
|
52
58
|
*
|
|
53
59
|
* @namespace DP
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { dataParserInit } from '../../base.mjs';
|
|
2
2
|
import { SymbolDataParserErrorIssue } from '../../error.mjs';
|
|
3
3
|
import { createDataParserKind } from '../../kind.mjs';
|
|
4
|
-
import { isSafeTimeValue } from '../../../date/isSafeTimeValue.mjs';
|
|
5
|
-
import { createTheTime } from '../../../date/createTheTime.mjs';
|
|
6
4
|
import { isoTimeRegex } from '../../../date/constants.mjs';
|
|
7
5
|
import { createTime } from '../../../date/createTime.mjs';
|
|
8
6
|
import { isLeft } from '../../../either/left/is.mjs';
|
|
9
7
|
import { unwrap } from '../../../common/unwrap.mjs';
|
|
10
|
-
import {
|
|
8
|
+
import { TheTime } from '../../../date/theTime.mjs';
|
|
9
|
+
import { isSerializedTheTime } from '../../../date/isSerializedTheTime.mjs';
|
|
10
|
+
import { toTimeValue } from '../../../date/toTimeValue.mjs';
|
|
11
|
+
import { isSafeTimeValue } from '../../../date/isSafeTimeValue.mjs';
|
|
11
12
|
import { createOverride } from '../../../common/override.mjs';
|
|
12
13
|
|
|
13
14
|
const timeKind = createDataParserKind("time");
|
|
@@ -21,12 +22,6 @@ function time(definition) {
|
|
|
21
22
|
coerce: definition?.coerce ?? false,
|
|
22
23
|
}, (data, _error, self) => {
|
|
23
24
|
if (self.definition.coerce) {
|
|
24
|
-
if (typeof data === "number") {
|
|
25
|
-
if (!isSafeTimeValue(data)) {
|
|
26
|
-
return SymbolDataParserErrorIssue;
|
|
27
|
-
}
|
|
28
|
-
return createTheTime(data);
|
|
29
|
-
}
|
|
30
25
|
if (typeof data === "string" && isoTimeRegex.test(data)) {
|
|
31
26
|
const result = createTime({ value: data });
|
|
32
27
|
if (isLeft(result)) {
|
|
@@ -35,9 +30,18 @@ function time(definition) {
|
|
|
35
30
|
return unwrap(result);
|
|
36
31
|
}
|
|
37
32
|
}
|
|
38
|
-
if (
|
|
33
|
+
if (data instanceof TheTime) {
|
|
39
34
|
return data;
|
|
40
35
|
}
|
|
36
|
+
else if (typeof data === "string" && isSerializedTheTime(data)) {
|
|
37
|
+
return TheTime.new(toTimeValue(data));
|
|
38
|
+
}
|
|
39
|
+
else if (typeof data === "number") {
|
|
40
|
+
if (!isSafeTimeValue(data)) {
|
|
41
|
+
return SymbolDataParserErrorIssue;
|
|
42
|
+
}
|
|
43
|
+
return TheTime.new(data);
|
|
44
|
+
}
|
|
41
45
|
return SymbolDataParserErrorIssue;
|
|
42
46
|
}, time.overrideHandler);
|
|
43
47
|
return self;
|