@duplojs/utils 1.1.15 → 1.2.16
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/reduce.cjs +25 -0
- package/dist/array/reduce.mjs +25 -0
- package/dist/array/reduceRight.cjs +25 -0
- package/dist/array/reduceRight.mjs +25 -0
- package/dist/array/types/extractTuple.d.ts +1 -1
- package/dist/common/asyncInnerPipe.d.ts +16 -11
- package/dist/common/asyncPipe.d.ts +16 -11
- package/dist/common/builder.cjs +5 -11
- package/dist/common/builder.d.ts +7 -7
- package/dist/common/builder.mjs +4 -10
- package/dist/common/createKindIdentifier.cjs +23 -0
- package/dist/common/createKindIdentifier.mjs +23 -0
- package/dist/common/equal.d.ts +4 -4
- package/dist/common/errorKindNamespace.cjs +9 -0
- package/dist/common/errorKindNamespace.d.ts +1 -0
- package/dist/common/errorKindNamespace.mjs +7 -0
- package/dist/common/forwardLog.cjs +8 -0
- package/dist/common/forwardLog.d.ts +1 -0
- package/dist/common/forwardLog.mjs +6 -0
- package/dist/common/index.d.ts +3 -0
- package/dist/common/innerPipe.d.ts +16 -11
- package/dist/common/instanceOf.cjs +25 -0
- package/dist/common/instanceOf.mjs +25 -0
- package/dist/common/kind.d.ts +1 -0
- package/dist/common/override.cjs +61 -0
- package/dist/common/override.d.ts +18 -0
- package/dist/common/override.mjs +59 -0
- package/dist/common/pipe.d.ts +16 -11
- package/dist/common/stringToBytes.cjs +4 -9
- package/dist/common/stringToBytes.d.ts +4 -4
- package/dist/common/stringToBytes.mjs +4 -9
- package/dist/common/stringToMillisecond.cjs +4 -9
- package/dist/common/stringToMillisecond.d.ts +4 -4
- package/dist/common/stringToMillisecond.mjs +4 -9
- package/dist/common/types/objectEntry.d.ts +1 -1
- package/dist/dataParser/base.cjs +27 -2
- package/dist/dataParser/base.d.ts +3 -0
- package/dist/dataParser/base.mjs +27 -2
- package/dist/dataParser/baseExtended.cjs +65 -5
- package/dist/dataParser/baseExtended.d.ts +3 -0
- package/dist/dataParser/baseExtended.mjs +65 -5
- package/dist/dataParser/extended/array.cjs +50 -4
- package/dist/dataParser/extended/array.d.ts +3 -0
- package/dist/dataParser/extended/array.mjs +50 -4
- package/dist/dataParser/extended/bigint.cjs +50 -4
- package/dist/dataParser/extended/bigint.d.ts +3 -0
- package/dist/dataParser/extended/bigint.mjs +50 -4
- package/dist/dataParser/extended/boolean.cjs +50 -4
- package/dist/dataParser/extended/boolean.d.ts +3 -0
- package/dist/dataParser/extended/boolean.mjs +50 -4
- package/dist/dataParser/extended/coerce/bigint.cjs +21 -4
- package/dist/dataParser/extended/coerce/bigint.mjs +21 -4
- package/dist/dataParser/extended/coerce/boolean.cjs +21 -4
- package/dist/dataParser/extended/coerce/boolean.mjs +21 -4
- package/dist/dataParser/extended/coerce/date.cjs +33 -0
- package/dist/dataParser/extended/coerce/date.d.ts +7 -0
- package/dist/dataParser/extended/coerce/date.mjs +31 -0
- package/dist/dataParser/extended/coerce/empty.cjs +21 -4
- package/dist/dataParser/extended/coerce/empty.mjs +21 -4
- package/dist/dataParser/extended/coerce/index.cjs +2 -0
- package/dist/dataParser/extended/coerce/index.d.ts +1 -0
- package/dist/dataParser/extended/coerce/index.mjs +1 -0
- package/dist/dataParser/extended/coerce/nil.cjs +21 -4
- package/dist/dataParser/extended/coerce/nil.mjs +21 -4
- package/dist/dataParser/extended/coerce/number.cjs +21 -4
- package/dist/dataParser/extended/coerce/number.mjs +21 -4
- package/dist/dataParser/extended/coerce/string.cjs +21 -4
- package/dist/dataParser/extended/coerce/string.mjs +21 -4
- package/dist/dataParser/extended/date.cjs +60 -0
- package/dist/dataParser/extended/date.d.ts +23 -0
- package/dist/dataParser/extended/date.mjs +58 -0
- package/dist/dataParser/extended/empty.cjs +50 -4
- package/dist/dataParser/extended/empty.d.ts +3 -0
- package/dist/dataParser/extended/empty.mjs +50 -4
- package/dist/dataParser/extended/index.cjs +15 -0
- package/dist/dataParser/extended/index.d.ts +3 -0
- package/dist/dataParser/extended/index.mjs +2 -0
- package/dist/dataParser/extended/lazy.cjs +50 -4
- package/dist/dataParser/extended/lazy.d.ts +5 -2
- package/dist/dataParser/extended/lazy.mjs +50 -4
- package/dist/dataParser/extended/literal.cjs +50 -4
- package/dist/dataParser/extended/literal.d.ts +3 -0
- package/dist/dataParser/extended/literal.mjs +50 -4
- package/dist/dataParser/extended/nil.cjs +50 -4
- package/dist/dataParser/extended/nil.d.ts +3 -0
- package/dist/dataParser/extended/nil.mjs +50 -4
- package/dist/dataParser/extended/nullable.cjs +50 -4
- package/dist/dataParser/extended/nullable.d.ts +3 -0
- package/dist/dataParser/extended/nullable.mjs +50 -4
- package/dist/dataParser/extended/number.cjs +50 -4
- package/dist/dataParser/extended/number.d.ts +3 -0
- package/dist/dataParser/extended/number.mjs +50 -4
- package/dist/dataParser/extended/object.cjs +65 -5
- package/dist/dataParser/extended/object.d.ts +5 -0
- package/dist/dataParser/extended/object.mjs +65 -5
- package/dist/dataParser/extended/optional.cjs +50 -4
- package/dist/dataParser/extended/optional.d.ts +3 -0
- package/dist/dataParser/extended/optional.mjs +50 -4
- package/dist/dataParser/extended/pipe.cjs +50 -4
- package/dist/dataParser/extended/pipe.d.ts +3 -0
- package/dist/dataParser/extended/pipe.mjs +50 -4
- package/dist/dataParser/extended/record.cjs +50 -4
- package/dist/dataParser/extended/record.d.ts +3 -0
- package/dist/dataParser/extended/record.mjs +50 -4
- package/dist/dataParser/extended/recover.cjs +50 -4
- package/dist/dataParser/extended/recover.d.ts +3 -0
- package/dist/dataParser/extended/recover.mjs +50 -4
- package/dist/dataParser/extended/string.cjs +51 -5
- package/dist/dataParser/extended/string.d.ts +3 -0
- package/dist/dataParser/extended/string.mjs +51 -5
- package/dist/dataParser/extended/templateLiteral.cjs +50 -4
- package/dist/dataParser/extended/templateLiteral.d.ts +3 -0
- package/dist/dataParser/extended/templateLiteral.mjs +50 -4
- package/dist/dataParser/extended/transform.cjs +50 -4
- package/dist/dataParser/extended/transform.d.ts +3 -0
- package/dist/dataParser/extended/transform.mjs +50 -4
- package/dist/dataParser/extended/tuple.cjs +52 -6
- package/dist/dataParser/extended/tuple.d.ts +3 -0
- package/dist/dataParser/extended/tuple.mjs +52 -6
- package/dist/dataParser/extended/union.cjs +50 -4
- package/dist/dataParser/extended/union.d.ts +3 -0
- package/dist/dataParser/extended/union.mjs +50 -4
- package/dist/dataParser/extended/unknown.cjs +50 -4
- package/dist/dataParser/extended/unknown.d.ts +3 -0
- package/dist/dataParser/extended/unknown.mjs +50 -4
- package/dist/dataParser/identifier.cjs +3 -0
- package/dist/dataParser/identifier.d.ts +52 -10
- package/dist/dataParser/identifier.mjs +3 -0
- package/dist/dataParser/index.cjs +25 -18
- package/dist/dataParser/index.mjs +4 -1
- package/dist/dataParser/kind.cjs +25 -0
- package/dist/dataParser/kind.mjs +25 -0
- package/dist/dataParser/parsers/array/index.cjs +36 -1
- package/dist/dataParser/parsers/array/index.d.ts +3 -0
- package/dist/dataParser/parsers/array/index.mjs +32 -1
- package/dist/dataParser/parsers/bigint/index.cjs +36 -1
- package/dist/dataParser/parsers/bigint/index.d.ts +3 -0
- package/dist/dataParser/parsers/bigint/index.mjs +32 -1
- package/dist/dataParser/parsers/boolean.cjs +30 -1
- package/dist/dataParser/parsers/boolean.d.ts +3 -0
- package/dist/dataParser/parsers/boolean.mjs +30 -1
- package/dist/dataParser/parsers/coerce/bigint.cjs +21 -4
- package/dist/dataParser/parsers/coerce/bigint.mjs +21 -4
- package/dist/dataParser/parsers/coerce/boolean.cjs +21 -4
- package/dist/dataParser/parsers/coerce/boolean.mjs +21 -4
- package/dist/dataParser/parsers/coerce/date.cjs +33 -0
- package/dist/dataParser/parsers/coerce/date.d.ts +6 -0
- package/dist/dataParser/parsers/coerce/date.mjs +31 -0
- package/dist/dataParser/parsers/coerce/empty.cjs +21 -4
- package/dist/dataParser/parsers/coerce/empty.mjs +21 -4
- package/dist/dataParser/parsers/coerce/index.cjs +2 -0
- package/dist/dataParser/parsers/coerce/index.d.ts +1 -0
- package/dist/dataParser/parsers/coerce/index.mjs +1 -0
- package/dist/dataParser/parsers/coerce/nil.cjs +21 -4
- package/dist/dataParser/parsers/coerce/nil.mjs +21 -4
- package/dist/dataParser/parsers/coerce/number.cjs +21 -4
- package/dist/dataParser/parsers/coerce/number.mjs +21 -4
- package/dist/dataParser/parsers/coerce/string.cjs +21 -4
- package/dist/dataParser/parsers/coerce/string.mjs +21 -4
- package/dist/dataParser/parsers/date.cjs +79 -0
- package/dist/dataParser/parsers/date.d.ts +28 -0
- package/dist/dataParser/parsers/date.mjs +76 -0
- package/dist/dataParser/parsers/empty.cjs +30 -1
- package/dist/dataParser/parsers/empty.d.ts +3 -0
- package/dist/dataParser/parsers/empty.mjs +30 -1
- package/dist/dataParser/parsers/index.d.ts +1 -0
- package/dist/dataParser/parsers/lazy.cjs +34 -4
- package/dist/dataParser/parsers/lazy.d.ts +7 -4
- package/dist/dataParser/parsers/lazy.mjs +34 -4
- package/dist/dataParser/parsers/literal.cjs +31 -4
- package/dist/dataParser/parsers/literal.d.ts +3 -0
- package/dist/dataParser/parsers/literal.mjs +31 -4
- package/dist/dataParser/parsers/nil.cjs +30 -1
- package/dist/dataParser/parsers/nil.d.ts +3 -0
- package/dist/dataParser/parsers/nil.mjs +30 -1
- package/dist/dataParser/parsers/nullable.cjs +30 -1
- package/dist/dataParser/parsers/nullable.d.ts +3 -0
- package/dist/dataParser/parsers/nullable.mjs +30 -1
- package/dist/dataParser/parsers/number/index.cjs +40 -1
- package/dist/dataParser/parsers/number/index.d.ts +3 -0
- package/dist/dataParser/parsers/number/index.mjs +33 -1
- package/dist/dataParser/parsers/{object.cjs → object/index.cjs} +39 -12
- package/dist/dataParser/parsers/{object.d.ts → object/index.d.ts} +16 -12
- package/dist/dataParser/parsers/{object.mjs → object/index.mjs} +39 -12
- package/dist/dataParser/parsers/object/omit.cjs +42 -0
- package/dist/dataParser/parsers/object/omit.d.ts +6 -0
- package/dist/dataParser/parsers/object/omit.mjs +40 -0
- package/dist/dataParser/parsers/object/pick.cjs +42 -0
- package/dist/dataParser/parsers/object/pick.d.ts +6 -0
- package/dist/dataParser/parsers/object/pick.mjs +40 -0
- package/dist/dataParser/parsers/optional.cjs +30 -1
- package/dist/dataParser/parsers/optional.d.ts +3 -0
- package/dist/dataParser/parsers/optional.mjs +30 -1
- package/dist/dataParser/parsers/pipe.cjs +30 -1
- package/dist/dataParser/parsers/pipe.d.ts +3 -0
- package/dist/dataParser/parsers/pipe.mjs +30 -1
- package/dist/dataParser/parsers/record/findRecordRequiredKey.cjs +26 -0
- package/dist/dataParser/parsers/record/findRecordRequiredKey.mjs +26 -0
- package/dist/dataParser/parsers/record/index.cjs +30 -1
- package/dist/dataParser/parsers/record/index.d.ts +3 -0
- package/dist/dataParser/parsers/record/index.mjs +30 -1
- package/dist/dataParser/parsers/recover.cjs +30 -1
- package/dist/dataParser/parsers/recover.d.ts +3 -0
- package/dist/dataParser/parsers/recover.mjs +30 -1
- package/dist/dataParser/parsers/string/index.cjs +47 -1
- package/dist/dataParser/parsers/string/index.d.ts +3 -0
- package/dist/dataParser/parsers/string/index.mjs +35 -1
- package/dist/dataParser/parsers/templateLiteral/createTemplateLiteralPattern.cjs +26 -0
- package/dist/dataParser/parsers/templateLiteral/createTemplateLiteralPattern.mjs +26 -0
- package/dist/dataParser/parsers/templateLiteral/index.cjs +28 -1
- package/dist/dataParser/parsers/templateLiteral/index.d.ts +3 -0
- package/dist/dataParser/parsers/templateLiteral/index.mjs +28 -1
- package/dist/dataParser/parsers/transform.cjs +30 -1
- package/dist/dataParser/parsers/transform.d.ts +3 -0
- package/dist/dataParser/parsers/transform.mjs +30 -1
- package/dist/dataParser/parsers/tuple.cjs +30 -1
- package/dist/dataParser/parsers/tuple.d.ts +3 -0
- package/dist/dataParser/parsers/tuple.mjs +30 -1
- package/dist/dataParser/parsers/union.cjs +30 -1
- package/dist/dataParser/parsers/union.d.ts +3 -0
- package/dist/dataParser/parsers/union.mjs +30 -1
- package/dist/dataParser/parsers/unknown.cjs +30 -1
- package/dist/dataParser/parsers/unknown.d.ts +3 -0
- package/dist/dataParser/parsers/unknown.mjs +30 -1
- package/dist/dataParser/types/dataParsers.d.ts +2 -2
- package/dist/date/closestTo.cjs +32 -0
- package/dist/date/closestTo.d.ts +7 -0
- package/dist/date/closestTo.mjs +30 -0
- package/dist/date/constants.cjs +29 -0
- package/dist/date/constants.d.ts +13 -0
- package/dist/date/constants.mjs +15 -0
- package/dist/date/create.cjs +75 -0
- package/dist/date/create.d.ts +16 -0
- package/dist/date/create.mjs +73 -0
- package/dist/date/createOrThrow.cjs +52 -0
- package/dist/date/createOrThrow.d.ts +10 -0
- package/dist/date/createOrThrow.mjs +49 -0
- package/dist/date/each.cjs +47 -0
- package/dist/date/each.d.ts +5 -0
- package/dist/date/each.mjs +45 -0
- package/dist/date/getters/getDayOfMonth.cjs +47 -0
- package/dist/date/getters/getDayOfMonth.d.ts +2 -0
- package/dist/date/getters/getDayOfMonth.mjs +45 -0
- package/dist/date/getters/getDayOfWeek.cjs +57 -0
- package/dist/date/getters/getDayOfWeek.d.ts +2 -0
- package/dist/date/getters/getDayOfWeek.mjs +55 -0
- package/dist/date/getters/getDayOfYear.cjs +64 -0
- package/dist/date/getters/getDayOfYear.d.ts +2 -0
- package/dist/date/getters/getDayOfYear.mjs +62 -0
- package/dist/date/getters/getFirstDayOfMonth.cjs +14 -0
- package/dist/date/getters/getFirstDayOfMonth.d.ts +2 -0
- package/dist/date/getters/getFirstDayOfMonth.mjs +12 -0
- package/dist/date/getters/getFirstDayOfWeek.cjs +16 -0
- package/dist/date/getters/getFirstDayOfWeek.d.ts +2 -0
- package/dist/date/getters/getFirstDayOfWeek.mjs +14 -0
- package/dist/date/getters/getHour.cjs +48 -0
- package/dist/date/getters/getHour.d.ts +2 -0
- package/dist/date/getters/getHour.mjs +46 -0
- package/dist/date/getters/getLastDayOfMonth.cjs +14 -0
- package/dist/date/getters/getLastDayOfMonth.d.ts +2 -0
- package/dist/date/getters/getLastDayOfMonth.mjs +12 -0
- package/dist/date/getters/getLastDayOfWeek.cjs +16 -0
- package/dist/date/getters/getLastDayOfWeek.d.ts +2 -0
- package/dist/date/getters/getLastDayOfWeek.mjs +14 -0
- package/dist/date/getters/getMilliseconds.cjs +40 -0
- package/dist/date/getters/getMilliseconds.d.ts +2 -0
- package/dist/date/getters/getMilliseconds.mjs +38 -0
- package/dist/date/getters/getMinute.cjs +47 -0
- package/dist/date/getters/getMinute.d.ts +2 -0
- package/dist/date/getters/getMinute.mjs +45 -0
- package/dist/date/getters/getMonth.cjs +47 -0
- package/dist/date/getters/getMonth.d.ts +2 -0
- package/dist/date/getters/getMonth.mjs +45 -0
- package/dist/date/getters/getSecond.cjs +47 -0
- package/dist/date/getters/getSecond.d.ts +2 -0
- package/dist/date/getters/getSecond.mjs +45 -0
- package/dist/date/getters/getWeekOfYear.cjs +67 -0
- package/dist/date/getters/getWeekOfYear.d.ts +2 -0
- package/dist/date/getters/getWeekOfYear.mjs +65 -0
- package/dist/date/getters/getYear.cjs +47 -0
- package/dist/date/getters/getYear.d.ts +2 -0
- package/dist/date/getters/getYear.mjs +45 -0
- package/dist/date/getters/index.d.ts +15 -0
- package/dist/date/index.cjs +121 -0
- package/dist/date/index.d.ts +18 -0
- package/dist/date/index.mjs +51 -0
- package/dist/date/isSafeTimestamp.cjs +15 -0
- package/dist/date/isSafeTimestamp.d.ts +1 -0
- package/dist/date/isSafeTimestamp.mjs +13 -0
- package/dist/date/now.cjs +8 -0
- package/dist/date/now.d.ts +1 -0
- package/dist/date/now.mjs +6 -0
- package/dist/date/operators/addDays.cjs +20 -0
- package/dist/date/operators/addDays.d.ts +4 -0
- package/dist/date/operators/addDays.mjs +18 -0
- package/dist/date/operators/addHours.cjs +20 -0
- package/dist/date/operators/addHours.d.ts +4 -0
- package/dist/date/operators/addHours.mjs +18 -0
- package/dist/date/operators/addMilliseconds.cjs +19 -0
- package/dist/date/operators/addMilliseconds.d.ts +4 -0
- package/dist/date/operators/addMilliseconds.mjs +17 -0
- package/dist/date/operators/addMinutes.cjs +20 -0
- package/dist/date/operators/addMinutes.d.ts +4 -0
- package/dist/date/operators/addMinutes.mjs +18 -0
- package/dist/date/operators/addMonths.cjs +19 -0
- package/dist/date/operators/addMonths.d.ts +4 -0
- package/dist/date/operators/addMonths.mjs +17 -0
- package/dist/date/operators/addSeconds.cjs +20 -0
- package/dist/date/operators/addSeconds.d.ts +4 -0
- package/dist/date/operators/addSeconds.mjs +18 -0
- package/dist/date/operators/addWeeks.cjs +20 -0
- package/dist/date/operators/addWeeks.d.ts +4 -0
- package/dist/date/operators/addWeeks.mjs +18 -0
- package/dist/date/operators/addYears.cjs +19 -0
- package/dist/date/operators/addYears.d.ts +4 -0
- package/dist/date/operators/addYears.mjs +17 -0
- package/dist/date/operators/between.cjs +17 -0
- package/dist/date/operators/between.d.ts +3 -0
- package/dist/date/operators/between.mjs +15 -0
- package/dist/date/operators/betweenThan.cjs +17 -0
- package/dist/date/operators/betweenThan.d.ts +3 -0
- package/dist/date/operators/betweenThan.mjs +15 -0
- package/dist/date/operators/greater.cjs +16 -0
- package/dist/date/operators/greater.d.ts +3 -0
- package/dist/date/operators/greater.mjs +14 -0
- package/dist/date/operators/greaterThan.cjs +16 -0
- package/dist/date/operators/greaterThan.d.ts +3 -0
- package/dist/date/operators/greaterThan.mjs +14 -0
- package/dist/date/operators/index.d.ts +22 -0
- package/dist/date/operators/less.cjs +16 -0
- package/dist/date/operators/less.d.ts +3 -0
- package/dist/date/operators/less.mjs +14 -0
- package/dist/date/operators/lessThan.cjs +16 -0
- package/dist/date/operators/lessThan.d.ts +3 -0
- package/dist/date/operators/lessThan.mjs +14 -0
- package/dist/date/operators/subtractDays.cjs +20 -0
- package/dist/date/operators/subtractDays.d.ts +4 -0
- package/dist/date/operators/subtractDays.mjs +18 -0
- package/dist/date/operators/subtractHours.cjs +20 -0
- package/dist/date/operators/subtractHours.d.ts +4 -0
- package/dist/date/operators/subtractHours.mjs +18 -0
- package/dist/date/operators/subtractMilliseconds.cjs +19 -0
- package/dist/date/operators/subtractMilliseconds.d.ts +4 -0
- package/dist/date/operators/subtractMilliseconds.mjs +17 -0
- package/dist/date/operators/subtractMinutes.cjs +20 -0
- package/dist/date/operators/subtractMinutes.d.ts +4 -0
- package/dist/date/operators/subtractMinutes.mjs +18 -0
- package/dist/date/operators/subtractMonths.cjs +19 -0
- package/dist/date/operators/subtractMonths.d.ts +4 -0
- package/dist/date/operators/subtractMonths.mjs +17 -0
- package/dist/date/operators/subtractSeconds.cjs +20 -0
- package/dist/date/operators/subtractSeconds.d.ts +4 -0
- package/dist/date/operators/subtractSeconds.mjs +18 -0
- package/dist/date/operators/subtractWeeks.cjs +20 -0
- package/dist/date/operators/subtractWeeks.d.ts +4 -0
- package/dist/date/operators/subtractWeeks.mjs +18 -0
- package/dist/date/operators/subtractYears.cjs +19 -0
- package/dist/date/operators/subtractYears.d.ts +4 -0
- package/dist/date/operators/subtractYears.mjs +17 -0
- package/dist/date/round.cjs +23 -0
- package/dist/date/round.d.ts +3 -0
- package/dist/date/round.mjs +21 -0
- package/dist/date/toISOString.cjs +10 -0
- package/dist/date/toISOString.d.ts +2 -0
- package/dist/date/toISOString.mjs +8 -0
- package/dist/date/toNative.cjs +10 -0
- package/dist/date/toNative.d.ts +2 -0
- package/dist/date/toNative.mjs +8 -0
- package/dist/date/toTimestamp.cjs +58 -0
- package/dist/date/toTimestamp.d.ts +10 -0
- package/dist/date/toTimestamp.mjs +55 -0
- package/dist/date/today.cjs +8 -0
- package/dist/date/today.d.ts +1 -0
- package/dist/date/today.mjs +6 -0
- package/dist/date/tomorrow.cjs +10 -0
- package/dist/date/tomorrow.d.ts +1 -0
- package/dist/date/tomorrow.mjs +8 -0
- package/dist/date/types/index.d.ts +6 -0
- package/dist/date/types/isLeapYear.d.ts +8 -0
- package/dist/date/types/month.d.ts +9 -0
- package/dist/date/types/theDate.d.ts +1 -0
- package/dist/date/types/time.d.ts +5 -0
- package/dist/date/types/timezone.cjs +606 -0
- package/dist/date/types/timezone.d.ts +604 -0
- package/dist/date/types/timezone.mjs +604 -0
- package/dist/date/types/unit.d.ts +1 -0
- package/dist/date/yesterday.cjs +10 -0
- package/dist/date/yesterday.d.ts +1 -0
- package/dist/date/yesterday.mjs +8 -0
- package/dist/either/bool/falsy.cjs +22 -1
- package/dist/either/bool/falsy.mjs +22 -1
- package/dist/either/bool/truthy.cjs +23 -2
- package/dist/either/bool/truthy.mjs +23 -2
- package/dist/either/future/create.cjs +25 -2
- package/dist/either/future/create.mjs +25 -2
- package/dist/either/future/error.cjs +21 -0
- package/dist/either/future/error.mjs +21 -0
- package/dist/either/future/success.cjs +21 -0
- package/dist/either/future/success.mjs +21 -0
- package/dist/either/hasInformation.cjs +6 -1
- package/dist/either/hasInformation.d.ts +1 -0
- package/dist/either/hasInformation.mjs +6 -1
- package/dist/either/kind.cjs +24 -0
- package/dist/either/kind.mjs +24 -0
- package/dist/either/left/when.cjs +25 -0
- package/dist/either/left/when.mjs +25 -0
- package/dist/either/nullable/empty.cjs +22 -1
- package/dist/either/nullable/empty.mjs +22 -1
- package/dist/either/nullable/filled.cjs +23 -2
- package/dist/either/nullable/filled.mjs +23 -2
- package/dist/either/nullish/empty.cjs +22 -1
- package/dist/either/nullish/empty.mjs +22 -1
- package/dist/either/nullish/filled.cjs +23 -2
- package/dist/either/nullish/filled.mjs +23 -2
- package/dist/either/optional/empty.cjs +21 -0
- package/dist/either/optional/empty.mjs +21 -0
- package/dist/either/optional/filled.cjs +23 -2
- package/dist/either/optional/filled.mjs +23 -2
- package/dist/either/right/asyncPipe.cjs +25 -1
- package/dist/either/right/asyncPipe.d.ts +5 -0
- package/dist/either/right/asyncPipe.mjs +25 -1
- package/dist/either/right/pipe.cjs +25 -1
- package/dist/either/right/pipe.d.ts +5 -0
- package/dist/either/right/pipe.mjs +25 -1
- package/dist/either/right/when.cjs +25 -0
- package/dist/either/right/when.mjs +25 -0
- package/dist/either/whenHasInformation.cjs +25 -1
- package/dist/either/whenHasInformation.d.ts +2 -2
- package/dist/either/whenHasInformation.mjs +25 -1
- package/dist/generator/asyncReduce.cjs +25 -0
- package/dist/generator/asyncReduce.mjs +25 -0
- package/dist/generator/reduce.cjs +25 -0
- package/dist/generator/reduce.mjs +25 -0
- package/dist/index.cjs +9 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.mjs +6 -0
- package/dist/number/between.cjs +12 -0
- package/dist/number/between.d.ts +2 -0
- package/dist/number/between.mjs +10 -0
- package/dist/number/betweenThan.cjs +12 -0
- package/dist/number/betweenThan.d.ts +2 -0
- package/dist/number/betweenThan.mjs +10 -0
- package/dist/number/index.cjs +4 -0
- package/dist/number/index.d.ts +3 -0
- package/dist/number/index.mjs +2 -0
- package/dist/number/types/index.d.ts +1 -0
- package/dist/number/types/positiveNumber.d.ts +1 -0
- package/dist/object/deepDiscriminate.cjs +25 -0
- package/dist/object/deepDiscriminate.mjs +25 -0
- package/dist/object/discriminate.cjs +25 -0
- package/dist/object/discriminate.mjs +25 -0
- package/dist/object/entries.cjs +25 -0
- package/dist/object/entries.mjs +25 -0
- package/dist/object/entry.d.ts +2 -2
- package/dist/object/fromEntries.d.ts +5 -3
- package/dist/object/keys.cjs +25 -0
- package/dist/object/keys.mjs +25 -0
- package/dist/object/values.cjs +25 -0
- package/dist/object/values.mjs +25 -0
- package/dist/pattern/exhaustive.cjs +25 -0
- package/dist/pattern/exhaustive.mjs +25 -0
- package/dist/pattern/index.cjs +5 -2
- package/dist/pattern/index.mjs +2 -1
- package/dist/pattern/match/builder.cjs +82 -0
- package/dist/pattern/match/builder.d.ts +30 -0
- package/dist/pattern/match/builder.mjs +79 -0
- package/dist/pattern/match/index.cjs +28 -0
- package/dist/pattern/{match.d.ts → match/index.d.ts} +7 -4
- package/dist/pattern/match/index.mjs +25 -0
- package/dist/pattern/otherwise.cjs +25 -0
- package/dist/pattern/otherwise.mjs +25 -0
- package/dist/pattern/result.cjs +25 -0
- package/dist/pattern/result.mjs +25 -0
- package/dist/pattern/types/complexUnMatchedValue/array.d.ts +1 -1
- package/dist/string/replace.cjs +15 -0
- package/dist/string/replace.d.ts +10 -2
- package/dist/string/replace.mjs +15 -0
- package/package.json +6 -1
- package/dist/pattern/match.cjs +0 -18
- package/dist/pattern/match.mjs +0 -16
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { kindHeritage } from '../common/kind.mjs';
|
|
2
|
+
import '../common/stringToBytes.mjs';
|
|
3
|
+
import '../common/stringToMillisecond.mjs';
|
|
4
|
+
import { unwrap } from '../common/unwrap.mjs';
|
|
5
|
+
import '../common/globalStore.mjs';
|
|
6
|
+
import '../common/builder.mjs';
|
|
7
|
+
import '../either/bool/falsy.mjs';
|
|
8
|
+
import '../either/bool/truthy.mjs';
|
|
9
|
+
import '../either/bool/base.mjs';
|
|
10
|
+
import '../either/left/create.mjs';
|
|
11
|
+
import '../either/left/error.mjs';
|
|
12
|
+
import '../either/left/fail.mjs';
|
|
13
|
+
import { isLeft } from '../either/left/is.mjs';
|
|
14
|
+
import '../either/right/success.mjs';
|
|
15
|
+
import '../either/kind.mjs';
|
|
16
|
+
import '../either/right/create.mjs';
|
|
17
|
+
import '../either/right/ok.mjs';
|
|
18
|
+
import '../either/future/success.mjs';
|
|
19
|
+
import '../either/future/error.mjs';
|
|
20
|
+
import '../either/future/base.mjs';
|
|
21
|
+
import '../either/nullable/empty.mjs';
|
|
22
|
+
import '../either/nullable/filled.mjs';
|
|
23
|
+
import '../either/nullable/base.mjs';
|
|
24
|
+
import '../either/nullish/empty.mjs';
|
|
25
|
+
import '../either/nullish/filled.mjs';
|
|
26
|
+
import '../either/nullish/base.mjs';
|
|
27
|
+
import '../either/optional/empty.mjs';
|
|
28
|
+
import '../either/optional/filled.mjs';
|
|
29
|
+
import '../either/optional/base.mjs';
|
|
30
|
+
import '../common/override.mjs';
|
|
31
|
+
import { createErrorKind } from '../common/errorKindNamespace.mjs';
|
|
32
|
+
import { create } from './create.mjs';
|
|
33
|
+
|
|
34
|
+
class CreateTheDateError extends kindHeritage("create-the-date-error", createErrorKind("create-the-date-error"), Error) {
|
|
35
|
+
input;
|
|
36
|
+
constructor(input) {
|
|
37
|
+
super({}, [`Invalid input: ${input.toString()}`]);
|
|
38
|
+
this.input = input;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
function createOrThrow(input) {
|
|
42
|
+
const result = create(input);
|
|
43
|
+
if (isLeft(result)) {
|
|
44
|
+
throw new CreateTheDateError(input);
|
|
45
|
+
}
|
|
46
|
+
return unwrap(result);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export { CreateTheDateError, createOrThrow };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var loop = require('../generator/loop.cjs');
|
|
4
|
+
var constants = require('./constants.cjs');
|
|
5
|
+
var toTimestamp = require('./toTimestamp.cjs');
|
|
6
|
+
var createOrThrow = require('./createOrThrow.cjs');
|
|
7
|
+
|
|
8
|
+
const stepMapper = {
|
|
9
|
+
millisecond: (timestamp, direction) => timestamp + direction,
|
|
10
|
+
second: (timestamp, direction) => timestamp + (direction * constants.millisecondsInOneSecond),
|
|
11
|
+
minute: (timestamp, direction) => timestamp + (direction * constants.millisecondInOneMinute),
|
|
12
|
+
hour: (timestamp, direction) => timestamp + (direction * constants.millisecondInOneHour),
|
|
13
|
+
day: (timestamp, direction) => timestamp + (direction * constants.millisecondsInOneDay),
|
|
14
|
+
month: (timestamp, direction) => {
|
|
15
|
+
const date = new Date(timestamp);
|
|
16
|
+
date.setUTCMonth(date.getUTCMonth() + direction);
|
|
17
|
+
return date.getTime();
|
|
18
|
+
},
|
|
19
|
+
year: (timestamp, direction) => {
|
|
20
|
+
const date = new Date(timestamp);
|
|
21
|
+
date.setUTCFullYear(date.getUTCFullYear() + direction);
|
|
22
|
+
return date.getTime();
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
function each(range, unit = "day") {
|
|
26
|
+
const startTimestamp = toTimestamp.toTimestamp(range.start);
|
|
27
|
+
const endTimestamp = toTimestamp.toTimestamp(range.end);
|
|
28
|
+
const direction = startTimestamp <= endTimestamp ? 1 : -1;
|
|
29
|
+
const advanceTimestamp = stepMapper[unit];
|
|
30
|
+
return loop.loop(({ exit, next, previousOutput, }) => {
|
|
31
|
+
if (!previousOutput) {
|
|
32
|
+
return next(range.start);
|
|
33
|
+
}
|
|
34
|
+
const currentTimestamp = advanceTimestamp(toTimestamp.toTimestamp(previousOutput), direction);
|
|
35
|
+
const isWithinRange = direction === 1
|
|
36
|
+
? currentTimestamp < endTimestamp
|
|
37
|
+
: currentTimestamp > endTimestamp;
|
|
38
|
+
if (!isWithinRange) {
|
|
39
|
+
return exit(currentTimestamp === endTimestamp
|
|
40
|
+
? createOrThrow.createOrThrow(currentTimestamp)
|
|
41
|
+
: undefined);
|
|
42
|
+
}
|
|
43
|
+
return next(createOrThrow.createOrThrow(currentTimestamp));
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
exports.each = each;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { loop } from '../generator/loop.mjs';
|
|
2
|
+
import { millisecondsInOneDay, millisecondInOneHour, millisecondInOneMinute, millisecondsInOneSecond } from './constants.mjs';
|
|
3
|
+
import { toTimestamp } from './toTimestamp.mjs';
|
|
4
|
+
import { createOrThrow } from './createOrThrow.mjs';
|
|
5
|
+
|
|
6
|
+
const stepMapper = {
|
|
7
|
+
millisecond: (timestamp, direction) => timestamp + direction,
|
|
8
|
+
second: (timestamp, direction) => timestamp + (direction * millisecondsInOneSecond),
|
|
9
|
+
minute: (timestamp, direction) => timestamp + (direction * millisecondInOneMinute),
|
|
10
|
+
hour: (timestamp, direction) => timestamp + (direction * millisecondInOneHour),
|
|
11
|
+
day: (timestamp, direction) => timestamp + (direction * millisecondsInOneDay),
|
|
12
|
+
month: (timestamp, direction) => {
|
|
13
|
+
const date = new Date(timestamp);
|
|
14
|
+
date.setUTCMonth(date.getUTCMonth() + direction);
|
|
15
|
+
return date.getTime();
|
|
16
|
+
},
|
|
17
|
+
year: (timestamp, direction) => {
|
|
18
|
+
const date = new Date(timestamp);
|
|
19
|
+
date.setUTCFullYear(date.getUTCFullYear() + direction);
|
|
20
|
+
return date.getTime();
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
function each(range, unit = "day") {
|
|
24
|
+
const startTimestamp = toTimestamp(range.start);
|
|
25
|
+
const endTimestamp = toTimestamp(range.end);
|
|
26
|
+
const direction = startTimestamp <= endTimestamp ? 1 : -1;
|
|
27
|
+
const advanceTimestamp = stepMapper[unit];
|
|
28
|
+
return loop(({ exit, next, previousOutput, }) => {
|
|
29
|
+
if (!previousOutput) {
|
|
30
|
+
return next(range.start);
|
|
31
|
+
}
|
|
32
|
+
const currentTimestamp = advanceTimestamp(toTimestamp(previousOutput), direction);
|
|
33
|
+
const isWithinRange = direction === 1
|
|
34
|
+
? currentTimestamp < endTimestamp
|
|
35
|
+
: currentTimestamp > endTimestamp;
|
|
36
|
+
if (!isWithinRange) {
|
|
37
|
+
return exit(currentTimestamp === endTimestamp
|
|
38
|
+
? createOrThrow(currentTimestamp)
|
|
39
|
+
: undefined);
|
|
40
|
+
}
|
|
41
|
+
return next(createOrThrow(currentTimestamp));
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export { each };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
require('../types/timezone.cjs');
|
|
4
|
+
require('../../either/bool/falsy.cjs');
|
|
5
|
+
require('../../either/bool/truthy.cjs');
|
|
6
|
+
require('../../either/bool/base.cjs');
|
|
7
|
+
require('../../either/left/create.cjs');
|
|
8
|
+
require('../../either/left/error.cjs');
|
|
9
|
+
require('../../either/left/fail.cjs');
|
|
10
|
+
require('../../either/kind.cjs');
|
|
11
|
+
require('../../common/stringToBytes.cjs');
|
|
12
|
+
require('../../common/stringToMillisecond.cjs');
|
|
13
|
+
require('../../common/globalStore.cjs');
|
|
14
|
+
require('../../common/builder.cjs');
|
|
15
|
+
require('../../common/override.cjs');
|
|
16
|
+
require('../../either/right/success.cjs');
|
|
17
|
+
require('../../either/right/create.cjs');
|
|
18
|
+
require('../../either/right/ok.cjs');
|
|
19
|
+
require('../../either/future/success.cjs');
|
|
20
|
+
require('../../either/future/error.cjs');
|
|
21
|
+
require('../../either/future/base.cjs');
|
|
22
|
+
require('../../either/nullable/empty.cjs');
|
|
23
|
+
require('../../either/nullable/filled.cjs');
|
|
24
|
+
require('../../either/nullable/base.cjs');
|
|
25
|
+
require('../../either/nullish/empty.cjs');
|
|
26
|
+
require('../../either/nullish/filled.cjs');
|
|
27
|
+
require('../../either/nullish/base.cjs');
|
|
28
|
+
require('../../either/optional/empty.cjs');
|
|
29
|
+
require('../../either/optional/filled.cjs');
|
|
30
|
+
require('../../either/optional/base.cjs');
|
|
31
|
+
var toNative = require('../toNative.cjs');
|
|
32
|
+
require('../toTimestamp.cjs');
|
|
33
|
+
require('../createOrThrow.cjs');
|
|
34
|
+
|
|
35
|
+
function getDayOfMonth(input, timezone = "UTC") {
|
|
36
|
+
const nativeDate = toNative.toNative(input);
|
|
37
|
+
if (timezone === "UTC") {
|
|
38
|
+
return nativeDate.getUTCDate();
|
|
39
|
+
}
|
|
40
|
+
const formatter = new Intl.DateTimeFormat("en-US", {
|
|
41
|
+
timeZone: timezone,
|
|
42
|
+
day: "numeric",
|
|
43
|
+
});
|
|
44
|
+
return Number(formatter.format(nativeDate));
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
exports.getDayOfMonth = getDayOfMonth;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import '../types/timezone.mjs';
|
|
2
|
+
import '../../either/bool/falsy.mjs';
|
|
3
|
+
import '../../either/bool/truthy.mjs';
|
|
4
|
+
import '../../either/bool/base.mjs';
|
|
5
|
+
import '../../either/left/create.mjs';
|
|
6
|
+
import '../../either/left/error.mjs';
|
|
7
|
+
import '../../either/left/fail.mjs';
|
|
8
|
+
import '../../either/kind.mjs';
|
|
9
|
+
import '../../common/stringToBytes.mjs';
|
|
10
|
+
import '../../common/stringToMillisecond.mjs';
|
|
11
|
+
import '../../common/globalStore.mjs';
|
|
12
|
+
import '../../common/builder.mjs';
|
|
13
|
+
import '../../common/override.mjs';
|
|
14
|
+
import '../../either/right/success.mjs';
|
|
15
|
+
import '../../either/right/create.mjs';
|
|
16
|
+
import '../../either/right/ok.mjs';
|
|
17
|
+
import '../../either/future/success.mjs';
|
|
18
|
+
import '../../either/future/error.mjs';
|
|
19
|
+
import '../../either/future/base.mjs';
|
|
20
|
+
import '../../either/nullable/empty.mjs';
|
|
21
|
+
import '../../either/nullable/filled.mjs';
|
|
22
|
+
import '../../either/nullable/base.mjs';
|
|
23
|
+
import '../../either/nullish/empty.mjs';
|
|
24
|
+
import '../../either/nullish/filled.mjs';
|
|
25
|
+
import '../../either/nullish/base.mjs';
|
|
26
|
+
import '../../either/optional/empty.mjs';
|
|
27
|
+
import '../../either/optional/filled.mjs';
|
|
28
|
+
import '../../either/optional/base.mjs';
|
|
29
|
+
import { toNative } from '../toNative.mjs';
|
|
30
|
+
import '../toTimestamp.mjs';
|
|
31
|
+
import '../createOrThrow.mjs';
|
|
32
|
+
|
|
33
|
+
function getDayOfMonth(input, timezone = "UTC") {
|
|
34
|
+
const nativeDate = toNative(input);
|
|
35
|
+
if (timezone === "UTC") {
|
|
36
|
+
return nativeDate.getUTCDate();
|
|
37
|
+
}
|
|
38
|
+
const formatter = new Intl.DateTimeFormat("en-US", {
|
|
39
|
+
timeZone: timezone,
|
|
40
|
+
day: "numeric",
|
|
41
|
+
});
|
|
42
|
+
return Number(formatter.format(nativeDate));
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export { getDayOfMonth };
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
require('../types/timezone.cjs');
|
|
4
|
+
require('../../either/bool/falsy.cjs');
|
|
5
|
+
require('../../either/bool/truthy.cjs');
|
|
6
|
+
require('../../either/bool/base.cjs');
|
|
7
|
+
require('../../either/left/create.cjs');
|
|
8
|
+
require('../../either/left/error.cjs');
|
|
9
|
+
require('../../either/left/fail.cjs');
|
|
10
|
+
require('../../either/kind.cjs');
|
|
11
|
+
require('../../common/stringToBytes.cjs');
|
|
12
|
+
require('../../common/stringToMillisecond.cjs');
|
|
13
|
+
require('../../common/globalStore.cjs');
|
|
14
|
+
require('../../common/builder.cjs');
|
|
15
|
+
require('../../common/override.cjs');
|
|
16
|
+
require('../../either/right/success.cjs');
|
|
17
|
+
require('../../either/right/create.cjs');
|
|
18
|
+
require('../../either/right/ok.cjs');
|
|
19
|
+
require('../../either/future/success.cjs');
|
|
20
|
+
require('../../either/future/error.cjs');
|
|
21
|
+
require('../../either/future/base.cjs');
|
|
22
|
+
require('../../either/nullable/empty.cjs');
|
|
23
|
+
require('../../either/nullable/filled.cjs');
|
|
24
|
+
require('../../either/nullable/base.cjs');
|
|
25
|
+
require('../../either/nullish/empty.cjs');
|
|
26
|
+
require('../../either/nullish/filled.cjs');
|
|
27
|
+
require('../../either/nullish/base.cjs');
|
|
28
|
+
require('../../either/optional/empty.cjs');
|
|
29
|
+
require('../../either/optional/filled.cjs');
|
|
30
|
+
require('../../either/optional/base.cjs');
|
|
31
|
+
var toNative = require('../toNative.cjs');
|
|
32
|
+
require('../toTimestamp.cjs');
|
|
33
|
+
require('../createOrThrow.cjs');
|
|
34
|
+
|
|
35
|
+
const weekdayMapper = {
|
|
36
|
+
Sunday: 0,
|
|
37
|
+
Monday: 1,
|
|
38
|
+
Tuesday: 2,
|
|
39
|
+
Wednesday: 3,
|
|
40
|
+
Thursday: 4,
|
|
41
|
+
Friday: 5,
|
|
42
|
+
Saturday: 6,
|
|
43
|
+
};
|
|
44
|
+
function getDayOfWeek(input, timezone = "UTC") {
|
|
45
|
+
const nativeDate = toNative.toNative(input);
|
|
46
|
+
if (timezone === "UTC") {
|
|
47
|
+
return nativeDate.getUTCDay();
|
|
48
|
+
}
|
|
49
|
+
const formatter = new Intl.DateTimeFormat("en-US", {
|
|
50
|
+
timeZone: timezone,
|
|
51
|
+
weekday: "long",
|
|
52
|
+
});
|
|
53
|
+
const weekday = formatter.format(nativeDate);
|
|
54
|
+
return weekdayMapper[weekday];
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
exports.getDayOfWeek = getDayOfWeek;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import '../types/timezone.mjs';
|
|
2
|
+
import '../../either/bool/falsy.mjs';
|
|
3
|
+
import '../../either/bool/truthy.mjs';
|
|
4
|
+
import '../../either/bool/base.mjs';
|
|
5
|
+
import '../../either/left/create.mjs';
|
|
6
|
+
import '../../either/left/error.mjs';
|
|
7
|
+
import '../../either/left/fail.mjs';
|
|
8
|
+
import '../../either/kind.mjs';
|
|
9
|
+
import '../../common/stringToBytes.mjs';
|
|
10
|
+
import '../../common/stringToMillisecond.mjs';
|
|
11
|
+
import '../../common/globalStore.mjs';
|
|
12
|
+
import '../../common/builder.mjs';
|
|
13
|
+
import '../../common/override.mjs';
|
|
14
|
+
import '../../either/right/success.mjs';
|
|
15
|
+
import '../../either/right/create.mjs';
|
|
16
|
+
import '../../either/right/ok.mjs';
|
|
17
|
+
import '../../either/future/success.mjs';
|
|
18
|
+
import '../../either/future/error.mjs';
|
|
19
|
+
import '../../either/future/base.mjs';
|
|
20
|
+
import '../../either/nullable/empty.mjs';
|
|
21
|
+
import '../../either/nullable/filled.mjs';
|
|
22
|
+
import '../../either/nullable/base.mjs';
|
|
23
|
+
import '../../either/nullish/empty.mjs';
|
|
24
|
+
import '../../either/nullish/filled.mjs';
|
|
25
|
+
import '../../either/nullish/base.mjs';
|
|
26
|
+
import '../../either/optional/empty.mjs';
|
|
27
|
+
import '../../either/optional/filled.mjs';
|
|
28
|
+
import '../../either/optional/base.mjs';
|
|
29
|
+
import { toNative } from '../toNative.mjs';
|
|
30
|
+
import '../toTimestamp.mjs';
|
|
31
|
+
import '../createOrThrow.mjs';
|
|
32
|
+
|
|
33
|
+
const weekdayMapper = {
|
|
34
|
+
Sunday: 0,
|
|
35
|
+
Monday: 1,
|
|
36
|
+
Tuesday: 2,
|
|
37
|
+
Wednesday: 3,
|
|
38
|
+
Thursday: 4,
|
|
39
|
+
Friday: 5,
|
|
40
|
+
Saturday: 6,
|
|
41
|
+
};
|
|
42
|
+
function getDayOfWeek(input, timezone = "UTC") {
|
|
43
|
+
const nativeDate = toNative(input);
|
|
44
|
+
if (timezone === "UTC") {
|
|
45
|
+
return nativeDate.getUTCDay();
|
|
46
|
+
}
|
|
47
|
+
const formatter = new Intl.DateTimeFormat("en-US", {
|
|
48
|
+
timeZone: timezone,
|
|
49
|
+
weekday: "long",
|
|
50
|
+
});
|
|
51
|
+
const weekday = formatter.format(nativeDate);
|
|
52
|
+
return weekdayMapper[weekday];
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export { getDayOfWeek };
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
require('../types/timezone.cjs');
|
|
4
|
+
require('../../either/bool/falsy.cjs');
|
|
5
|
+
require('../../either/bool/truthy.cjs');
|
|
6
|
+
require('../../either/bool/base.cjs');
|
|
7
|
+
require('../../either/left/create.cjs');
|
|
8
|
+
require('../../either/left/error.cjs');
|
|
9
|
+
require('../../either/left/fail.cjs');
|
|
10
|
+
require('../../either/kind.cjs');
|
|
11
|
+
require('../../common/stringToBytes.cjs');
|
|
12
|
+
require('../../common/stringToMillisecond.cjs');
|
|
13
|
+
require('../../common/globalStore.cjs');
|
|
14
|
+
require('../../common/builder.cjs');
|
|
15
|
+
require('../../common/override.cjs');
|
|
16
|
+
require('../../either/right/success.cjs');
|
|
17
|
+
require('../../either/right/create.cjs');
|
|
18
|
+
require('../../either/right/ok.cjs');
|
|
19
|
+
require('../../either/future/success.cjs');
|
|
20
|
+
require('../../either/future/error.cjs');
|
|
21
|
+
require('../../either/future/base.cjs');
|
|
22
|
+
require('../../either/nullable/empty.cjs');
|
|
23
|
+
require('../../either/nullable/filled.cjs');
|
|
24
|
+
require('../../either/nullable/base.cjs');
|
|
25
|
+
require('../../either/nullish/empty.cjs');
|
|
26
|
+
require('../../either/nullish/filled.cjs');
|
|
27
|
+
require('../../either/nullish/base.cjs');
|
|
28
|
+
require('../../either/optional/empty.cjs');
|
|
29
|
+
require('../../either/optional/filled.cjs');
|
|
30
|
+
require('../../either/optional/base.cjs');
|
|
31
|
+
var toNative = require('../toNative.cjs');
|
|
32
|
+
require('../toTimestamp.cjs');
|
|
33
|
+
require('../createOrThrow.cjs');
|
|
34
|
+
|
|
35
|
+
function getDayOfYear(input, timezone = "UTC") {
|
|
36
|
+
const nativeDate = toNative.toNative(input);
|
|
37
|
+
let year = 0;
|
|
38
|
+
let month = 0;
|
|
39
|
+
let day = 0;
|
|
40
|
+
if (timezone === "UTC") {
|
|
41
|
+
year = nativeDate.getUTCFullYear();
|
|
42
|
+
month = nativeDate.getUTCMonth();
|
|
43
|
+
day = nativeDate.getUTCDate();
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
const parts = new Intl.DateTimeFormat("en-US", {
|
|
47
|
+
timeZone: timezone,
|
|
48
|
+
day: "numeric",
|
|
49
|
+
year: "numeric",
|
|
50
|
+
month: "numeric",
|
|
51
|
+
}).formatToParts(nativeDate);
|
|
52
|
+
const partsMap = new Map(parts.map((part) => [part.type, part.value]));
|
|
53
|
+
year = Number(partsMap.get("year"));
|
|
54
|
+
month = Number(partsMap.get("month")) - 1;
|
|
55
|
+
day = Number(partsMap.get("day"));
|
|
56
|
+
}
|
|
57
|
+
const yearStart = Date.UTC(year, 0, 1);
|
|
58
|
+
const currentDate = Date.UTC(year, month, day);
|
|
59
|
+
const millisecondsDiff = currentDate - yearStart;
|
|
60
|
+
const dayOfYear = Math.floor(millisecondsDiff / 86400000) + 1;
|
|
61
|
+
return dayOfYear;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
exports.getDayOfYear = getDayOfYear;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import '../types/timezone.mjs';
|
|
2
|
+
import '../../either/bool/falsy.mjs';
|
|
3
|
+
import '../../either/bool/truthy.mjs';
|
|
4
|
+
import '../../either/bool/base.mjs';
|
|
5
|
+
import '../../either/left/create.mjs';
|
|
6
|
+
import '../../either/left/error.mjs';
|
|
7
|
+
import '../../either/left/fail.mjs';
|
|
8
|
+
import '../../either/kind.mjs';
|
|
9
|
+
import '../../common/stringToBytes.mjs';
|
|
10
|
+
import '../../common/stringToMillisecond.mjs';
|
|
11
|
+
import '../../common/globalStore.mjs';
|
|
12
|
+
import '../../common/builder.mjs';
|
|
13
|
+
import '../../common/override.mjs';
|
|
14
|
+
import '../../either/right/success.mjs';
|
|
15
|
+
import '../../either/right/create.mjs';
|
|
16
|
+
import '../../either/right/ok.mjs';
|
|
17
|
+
import '../../either/future/success.mjs';
|
|
18
|
+
import '../../either/future/error.mjs';
|
|
19
|
+
import '../../either/future/base.mjs';
|
|
20
|
+
import '../../either/nullable/empty.mjs';
|
|
21
|
+
import '../../either/nullable/filled.mjs';
|
|
22
|
+
import '../../either/nullable/base.mjs';
|
|
23
|
+
import '../../either/nullish/empty.mjs';
|
|
24
|
+
import '../../either/nullish/filled.mjs';
|
|
25
|
+
import '../../either/nullish/base.mjs';
|
|
26
|
+
import '../../either/optional/empty.mjs';
|
|
27
|
+
import '../../either/optional/filled.mjs';
|
|
28
|
+
import '../../either/optional/base.mjs';
|
|
29
|
+
import { toNative } from '../toNative.mjs';
|
|
30
|
+
import '../toTimestamp.mjs';
|
|
31
|
+
import '../createOrThrow.mjs';
|
|
32
|
+
|
|
33
|
+
function getDayOfYear(input, timezone = "UTC") {
|
|
34
|
+
const nativeDate = toNative(input);
|
|
35
|
+
let year = 0;
|
|
36
|
+
let month = 0;
|
|
37
|
+
let day = 0;
|
|
38
|
+
if (timezone === "UTC") {
|
|
39
|
+
year = nativeDate.getUTCFullYear();
|
|
40
|
+
month = nativeDate.getUTCMonth();
|
|
41
|
+
day = nativeDate.getUTCDate();
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
const parts = new Intl.DateTimeFormat("en-US", {
|
|
45
|
+
timeZone: timezone,
|
|
46
|
+
day: "numeric",
|
|
47
|
+
year: "numeric",
|
|
48
|
+
month: "numeric",
|
|
49
|
+
}).formatToParts(nativeDate);
|
|
50
|
+
const partsMap = new Map(parts.map((part) => [part.type, part.value]));
|
|
51
|
+
year = Number(partsMap.get("year"));
|
|
52
|
+
month = Number(partsMap.get("month")) - 1;
|
|
53
|
+
day = Number(partsMap.get("day"));
|
|
54
|
+
}
|
|
55
|
+
const yearStart = Date.UTC(year, 0, 1);
|
|
56
|
+
const currentDate = Date.UTC(year, month, day);
|
|
57
|
+
const millisecondsDiff = currentDate - yearStart;
|
|
58
|
+
const dayOfYear = Math.floor(millisecondsDiff / 86400000) + 1;
|
|
59
|
+
return dayOfYear;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export { getDayOfYear };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var toNative = require('../toNative.cjs');
|
|
4
|
+
|
|
5
|
+
function getFirstDayOfMonth(input) {
|
|
6
|
+
const nativeDate = toNative.toNative(input);
|
|
7
|
+
nativeDate.setUTCDate(1);
|
|
8
|
+
nativeDate.setUTCHours(0, 0, 0, 0);
|
|
9
|
+
const timestamp = nativeDate.getTime();
|
|
10
|
+
const isNegative = timestamp < 0;
|
|
11
|
+
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
exports.getFirstDayOfMonth = getFirstDayOfMonth;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { toNative } from '../toNative.mjs';
|
|
2
|
+
|
|
3
|
+
function getFirstDayOfMonth(input) {
|
|
4
|
+
const nativeDate = toNative(input);
|
|
5
|
+
nativeDate.setUTCDate(1);
|
|
6
|
+
nativeDate.setUTCHours(0, 0, 0, 0);
|
|
7
|
+
const timestamp = nativeDate.getTime();
|
|
8
|
+
const isNegative = timestamp < 0;
|
|
9
|
+
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export { getFirstDayOfMonth };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var toNative = require('../toNative.cjs');
|
|
4
|
+
|
|
5
|
+
function getFirstDayOfWeek(input) {
|
|
6
|
+
const nativeDate = toNative.toNative(input);
|
|
7
|
+
const dayOfWeek = nativeDate.getUTCDay();
|
|
8
|
+
const daysToMonday = dayOfWeek === 0 ? -6 : 1 - dayOfWeek;
|
|
9
|
+
nativeDate.setUTCHours(0, 0, 0, 0);
|
|
10
|
+
nativeDate.setUTCDate(nativeDate.getUTCDate() + daysToMonday);
|
|
11
|
+
const timestamp = nativeDate.getTime();
|
|
12
|
+
const isNegative = timestamp < 0;
|
|
13
|
+
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
exports.getFirstDayOfWeek = getFirstDayOfWeek;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { toNative } from '../toNative.mjs';
|
|
2
|
+
|
|
3
|
+
function getFirstDayOfWeek(input) {
|
|
4
|
+
const nativeDate = toNative(input);
|
|
5
|
+
const dayOfWeek = nativeDate.getUTCDay();
|
|
6
|
+
const daysToMonday = dayOfWeek === 0 ? -6 : 1 - dayOfWeek;
|
|
7
|
+
nativeDate.setUTCHours(0, 0, 0, 0);
|
|
8
|
+
nativeDate.setUTCDate(nativeDate.getUTCDate() + daysToMonday);
|
|
9
|
+
const timestamp = nativeDate.getTime();
|
|
10
|
+
const isNegative = timestamp < 0;
|
|
11
|
+
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export { getFirstDayOfWeek };
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
require('../types/timezone.cjs');
|
|
4
|
+
require('../../either/bool/falsy.cjs');
|
|
5
|
+
require('../../either/bool/truthy.cjs');
|
|
6
|
+
require('../../either/bool/base.cjs');
|
|
7
|
+
require('../../either/left/create.cjs');
|
|
8
|
+
require('../../either/left/error.cjs');
|
|
9
|
+
require('../../either/left/fail.cjs');
|
|
10
|
+
require('../../either/kind.cjs');
|
|
11
|
+
require('../../common/stringToBytes.cjs');
|
|
12
|
+
require('../../common/stringToMillisecond.cjs');
|
|
13
|
+
require('../../common/globalStore.cjs');
|
|
14
|
+
require('../../common/builder.cjs');
|
|
15
|
+
require('../../common/override.cjs');
|
|
16
|
+
require('../../either/right/success.cjs');
|
|
17
|
+
require('../../either/right/create.cjs');
|
|
18
|
+
require('../../either/right/ok.cjs');
|
|
19
|
+
require('../../either/future/success.cjs');
|
|
20
|
+
require('../../either/future/error.cjs');
|
|
21
|
+
require('../../either/future/base.cjs');
|
|
22
|
+
require('../../either/nullable/empty.cjs');
|
|
23
|
+
require('../../either/nullable/filled.cjs');
|
|
24
|
+
require('../../either/nullable/base.cjs');
|
|
25
|
+
require('../../either/nullish/empty.cjs');
|
|
26
|
+
require('../../either/nullish/filled.cjs');
|
|
27
|
+
require('../../either/nullish/base.cjs');
|
|
28
|
+
require('../../either/optional/empty.cjs');
|
|
29
|
+
require('../../either/optional/filled.cjs');
|
|
30
|
+
require('../../either/optional/base.cjs');
|
|
31
|
+
var toNative = require('../toNative.cjs');
|
|
32
|
+
require('../toTimestamp.cjs');
|
|
33
|
+
require('../createOrThrow.cjs');
|
|
34
|
+
|
|
35
|
+
function getHour(input, timezone = "UTC") {
|
|
36
|
+
const nativeDate = toNative.toNative(input);
|
|
37
|
+
if (timezone === "UTC") {
|
|
38
|
+
return nativeDate.getUTCHours();
|
|
39
|
+
}
|
|
40
|
+
const formatter = new Intl.DateTimeFormat("en-US", {
|
|
41
|
+
timeZone: timezone,
|
|
42
|
+
hour: "numeric",
|
|
43
|
+
hour12: false,
|
|
44
|
+
});
|
|
45
|
+
return Number(formatter.format(nativeDate));
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
exports.getHour = getHour;
|