@duplojs/utils 1.3.22 → 1.3.24
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/README.md +1 -1
- package/dist/array/join.d.ts +3 -7
- package/dist/array/types/index.d.ts +1 -0
- package/dist/array/types/joinTuple.d.ts +6 -0
- package/dist/clean/index.d.ts +1 -0
- package/dist/clean/newType.d.ts +2 -1
- package/dist/clean/types/dataParserContainTransform.d.ts +6 -0
- package/dist/clean/types/index.d.ts +1 -0
- package/dist/dataParser/base.d.ts +3 -0
- package/dist/dataParser/baseExtended.d.ts +3 -0
- package/dist/dataParser/extended/array.d.ts +3 -0
- package/dist/dataParser/extended/bigint.d.ts +3 -0
- package/dist/dataParser/extended/boolean.d.ts +3 -0
- package/dist/dataParser/extended/date.d.ts +3 -0
- package/dist/dataParser/extended/empty.d.ts +3 -0
- package/dist/dataParser/extended/lazy.d.ts +3 -0
- package/dist/dataParser/extended/literal.d.ts +3 -0
- package/dist/dataParser/extended/nil.d.ts +3 -0
- package/dist/dataParser/extended/nullable.d.ts +3 -0
- package/dist/dataParser/extended/number.d.ts +3 -0
- package/dist/dataParser/extended/object.d.ts +3 -0
- package/dist/dataParser/extended/optional.d.ts +3 -0
- package/dist/dataParser/extended/pipe.d.ts +3 -0
- package/dist/dataParser/extended/record.d.ts +3 -0
- package/dist/dataParser/extended/recover.d.ts +3 -0
- package/dist/dataParser/extended/string.d.ts +3 -0
- package/dist/dataParser/extended/templateLiteral.d.ts +3 -0
- package/dist/dataParser/extended/transform.d.ts +3 -0
- package/dist/dataParser/extended/tuple.d.ts +3 -0
- package/dist/dataParser/extended/union.d.ts +3 -0
- package/dist/dataParser/extended/unknown.d.ts +3 -0
- package/dist/dataParser/parsers/array/index.d.ts +3 -0
- package/dist/dataParser/parsers/bigint/index.d.ts +3 -0
- package/dist/dataParser/parsers/boolean.d.ts +3 -0
- package/dist/dataParser/parsers/date.d.ts +3 -0
- package/dist/dataParser/parsers/empty.d.ts +3 -0
- package/dist/dataParser/parsers/lazy.d.ts +3 -0
- package/dist/dataParser/parsers/literal.d.ts +3 -0
- package/dist/dataParser/parsers/nil.d.ts +3 -0
- package/dist/dataParser/parsers/nullable.d.ts +3 -0
- package/dist/dataParser/parsers/number/index.d.ts +3 -0
- package/dist/dataParser/parsers/object/index.d.ts +3 -0
- package/dist/dataParser/parsers/optional.d.ts +3 -0
- package/dist/dataParser/parsers/pipe.d.ts +3 -0
- package/dist/dataParser/parsers/record/index.d.ts +3 -0
- package/dist/dataParser/parsers/recover.d.ts +3 -0
- package/dist/dataParser/parsers/string/index.d.ts +3 -0
- package/dist/dataParser/parsers/templateLiteral/index.d.ts +3 -0
- package/dist/dataParser/parsers/transform.d.ts +3 -0
- package/dist/dataParser/parsers/tuple.d.ts +3 -0
- package/dist/dataParser/parsers/union.d.ts +3 -0
- package/dist/dataParser/parsers/unknown.d.ts +3 -0
- package/dist/dataParser/types/contain.d.ts +4 -0
- package/dist/dataParser/types/index.d.ts +1 -0
- package/dist/date/create.d.ts +12 -5
- package/dist/date/operators/addDays.cjs +1 -2
- package/dist/date/operators/addDays.d.ts +2 -3
- package/dist/date/operators/addDays.mjs +1 -2
- package/dist/date/operators/addHours.cjs +1 -2
- package/dist/date/operators/addHours.d.ts +2 -3
- package/dist/date/operators/addHours.mjs +1 -2
- package/dist/date/operators/addMilliseconds.cjs +1 -2
- package/dist/date/operators/addMilliseconds.d.ts +2 -3
- package/dist/date/operators/addMilliseconds.mjs +1 -2
- package/dist/date/operators/addMinutes.cjs +1 -2
- package/dist/date/operators/addMinutes.d.ts +2 -3
- package/dist/date/operators/addMinutes.mjs +1 -2
- package/dist/date/operators/addMonths.cjs +1 -2
- package/dist/date/operators/addMonths.d.ts +2 -3
- package/dist/date/operators/addMonths.mjs +1 -2
- package/dist/date/operators/addSeconds.cjs +1 -2
- package/dist/date/operators/addSeconds.d.ts +2 -3
- package/dist/date/operators/addSeconds.mjs +1 -2
- package/dist/date/operators/addWeeks.cjs +1 -2
- package/dist/date/operators/addWeeks.d.ts +2 -3
- package/dist/date/operators/addWeeks.mjs +1 -2
- package/dist/date/operators/addYears.cjs +1 -2
- package/dist/date/operators/addYears.d.ts +2 -3
- package/dist/date/operators/addYears.mjs +1 -2
- package/dist/date/operators/subtractDays.cjs +1 -2
- package/dist/date/operators/subtractDays.d.ts +2 -3
- package/dist/date/operators/subtractDays.mjs +1 -2
- package/dist/date/operators/subtractHours.cjs +1 -2
- package/dist/date/operators/subtractHours.d.ts +2 -3
- package/dist/date/operators/subtractHours.mjs +1 -2
- package/dist/date/operators/subtractMilliseconds.cjs +1 -2
- package/dist/date/operators/subtractMilliseconds.d.ts +2 -3
- package/dist/date/operators/subtractMilliseconds.mjs +1 -2
- package/dist/date/operators/subtractMinutes.cjs +1 -2
- package/dist/date/operators/subtractMinutes.d.ts +2 -3
- package/dist/date/operators/subtractMinutes.mjs +1 -2
- package/dist/date/operators/subtractMonths.cjs +1 -2
- package/dist/date/operators/subtractMonths.d.ts +2 -3
- package/dist/date/operators/subtractMonths.mjs +1 -2
- package/dist/date/operators/subtractSeconds.cjs +1 -2
- package/dist/date/operators/subtractSeconds.d.ts +2 -3
- package/dist/date/operators/subtractSeconds.mjs +1 -2
- package/dist/date/operators/subtractWeeks.cjs +1 -2
- package/dist/date/operators/subtractWeeks.d.ts +2 -3
- package/dist/date/operators/subtractWeeks.mjs +1 -2
- package/dist/date/operators/subtractYears.cjs +1 -2
- package/dist/date/operators/subtractYears.d.ts +2 -3
- package/dist/date/operators/subtractYears.mjs +1 -2
- package/dist/date/types/index.d.ts +1 -0
- package/dist/date/types/isLeapYear.d.ts +3 -3
- package/dist/date/types/isSafeYear.d.ts +53 -0
- package/dist/metadata.json +27 -1
- package/dist/number/types/absolute.d.ts +5 -0
- package/dist/number/types/forbiddenNegative.d.ts +6 -0
- package/dist/number/types/index.d.ts +3 -1
- package/dist/number/types/isPositive.d.ts +3 -0
- package/package.json +1 -1
- package/dist/number/types/positiveNumber.d.ts +0 -1
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type IsEqual } from "../../common";
|
|
2
|
+
import { type DataParser } from "../base";
|
|
3
|
+
import { type DataParserObject, type DataParserArray, type DataParserRecord, type DataParserTemplateLiteral, type DataParserLazy, type DataParserNullable, type DataParserOptional, type DataParserPipe, type DataParserRecover, type DataParserTransform, type DataParserTuple, type DataParserUnion } from "../parsers";
|
|
4
|
+
export type Contain<GenericDataParser extends DataParser, GenericExpectDataParser extends DataParser> = IsEqual<GenericDataParser, never> extends true ? false : GenericDataParser extends GenericExpectDataParser ? true : GenericDataParser extends DataParserArray ? Contain<GenericDataParser["definition"]["element"], GenericExpectDataParser> : GenericDataParser extends DataParserObject ? Contain<GenericDataParser["definition"]["shape"][keyof GenericDataParser["definition"]["shape"]], GenericExpectDataParser> extends false ? false : true : GenericDataParser extends DataParserRecord ? Contain<GenericDataParser["definition"]["value"], GenericExpectDataParser> : GenericDataParser extends DataParserTemplateLiteral ? Contain<Extract<GenericDataParser["definition"]["template"], DataParser>, GenericExpectDataParser> extends false ? false : true : GenericDataParser extends DataParserLazy ? Contain<GenericDataParser["definition"]["getter"]["value"], GenericExpectDataParser> : GenericDataParser extends DataParserNullable ? Contain<GenericDataParser["definition"]["inner"], GenericExpectDataParser> : GenericDataParser extends DataParserOptional ? Contain<GenericDataParser["definition"]["inner"], GenericExpectDataParser> : GenericDataParser extends DataParserPipe ? Contain<(GenericDataParser["definition"]["input"] | GenericDataParser["definition"]["output"]), GenericExpectDataParser> extends false ? false : true : GenericDataParser extends DataParserRecover ? Contain<GenericDataParser["definition"]["inner"], GenericExpectDataParser> : GenericDataParser extends DataParserTransform ? Contain<GenericDataParser["definition"]["inner"], GenericExpectDataParser> : GenericDataParser extends DataParserTuple ? Contain<GenericDataParser["definition"]["shape"][number], GenericExpectDataParser> extends false ? false : true : GenericDataParser extends DataParserUnion ? Contain<GenericDataParser["definition"]["options"][number], GenericExpectDataParser> extends false ? false : true : false;
|
package/dist/date/create.d.ts
CHANGED
|
@@ -1,8 +1,17 @@
|
|
|
1
|
-
import type { Hour, IsLeapYear, Millisecond, Minute, Second, TheDate } from "./types";
|
|
1
|
+
import type { Hour, IsLeapYear, IsSafeYear, Millisecond, Minute, Second, TheDate } from "./types";
|
|
2
2
|
import { type EitherLeft, type EitherRight } from "../either";
|
|
3
3
|
import { type MonthWithDay } from "./types/month";
|
|
4
|
+
import type * as DString from "../string";
|
|
4
5
|
export type MayBe = EitherRight<"date-created", TheDate> | EitherLeft<"date-created-error", null>;
|
|
5
|
-
|
|
6
|
+
type SafeDate = `${number}-${MonthWithDay}`;
|
|
7
|
+
declare const SymbolForbiddenDate: unique symbol;
|
|
8
|
+
type ForbiddenDate<GenericDate extends SafeDate> = ((DString.Includes<GenericDate, "."> extends true ? {
|
|
9
|
+
[SymbolForbiddenDate]: "Year can't be includes a float number.";
|
|
10
|
+
} : GenericDate) & (GenericDate extends `${infer InferredYear extends number}-02-29` ? IsLeapYear<InferredYear> extends true ? GenericDate : {
|
|
11
|
+
[SymbolForbiddenDate]: "Is not a leap year.";
|
|
12
|
+
} : GenericDate) & (GenericDate extends `${infer InferredYear extends number}-${MonthWithDay}` ? IsSafeYear<InferredYear> extends true ? GenericDate : {
|
|
13
|
+
[SymbolForbiddenDate]: "Support that the years between -271820 and 275759.";
|
|
14
|
+
} : GenericDate));
|
|
6
15
|
interface SafeDateParams {
|
|
7
16
|
hour?: Hour;
|
|
8
17
|
minute?: Minute;
|
|
@@ -10,7 +19,5 @@ interface SafeDateParams {
|
|
|
10
19
|
millisecond?: Millisecond;
|
|
11
20
|
}
|
|
12
21
|
export declare function create<GenericInput extends TheDate | Date | number>(input: GenericInput): MayBe;
|
|
13
|
-
export declare function create<GenericInput extends
|
|
14
|
-
[SymbolErrorIsNotLeapYear]: "Is not a leap year.";
|
|
15
|
-
} : GenericInput), params?: SafeDateParams): TheDate;
|
|
22
|
+
export declare function create<GenericInput extends SafeDate>(input: GenericInput & ForbiddenDate<GenericInput>, params?: SafeDateParams): TheDate;
|
|
16
23
|
export {};
|
|
@@ -9,9 +9,8 @@ function addDays(...args) {
|
|
|
9
9
|
return (input) => addDays(input, day);
|
|
10
10
|
}
|
|
11
11
|
const [input, day] = args;
|
|
12
|
-
const absoluteDay = Math.abs(day);
|
|
13
12
|
const date = toNative.toNative(input);
|
|
14
|
-
date.setTime(date.getTime() + (
|
|
13
|
+
date.setTime(date.getTime() + (day * constants.millisecondsInOneDay));
|
|
15
14
|
const timestamp = date.getTime();
|
|
16
15
|
const isNegative = timestamp < 0;
|
|
17
16
|
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import type { TheDate } from "../types";
|
|
2
|
-
|
|
3
|
-
export declare function addDays<GenericInput extends TheDate, GenericDay extends number>(day:
|
|
4
|
-
export declare function addDays<GenericInput extends TheDate, GenericDay extends number>(input: GenericInput, day: PositiveNumber<GenericDay>): TheDate;
|
|
2
|
+
export declare function addDays<GenericInput extends TheDate, GenericDay extends number>(day: GenericDay): (input: GenericInput) => TheDate;
|
|
3
|
+
export declare function addDays<GenericInput extends TheDate, GenericDay extends number>(input: GenericInput, day: GenericDay): TheDate;
|
|
@@ -7,9 +7,8 @@ function addDays(...args) {
|
|
|
7
7
|
return (input) => addDays(input, day);
|
|
8
8
|
}
|
|
9
9
|
const [input, day] = args;
|
|
10
|
-
const absoluteDay = Math.abs(day);
|
|
11
10
|
const date = toNative(input);
|
|
12
|
-
date.setTime(date.getTime() + (
|
|
11
|
+
date.setTime(date.getTime() + (day * millisecondsInOneDay));
|
|
13
12
|
const timestamp = date.getTime();
|
|
14
13
|
const isNegative = timestamp < 0;
|
|
15
14
|
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
@@ -9,9 +9,8 @@ function addHours(...args) {
|
|
|
9
9
|
return (input) => addHours(input, hour);
|
|
10
10
|
}
|
|
11
11
|
const [input, hour] = args;
|
|
12
|
-
const absoluteHour = Math.abs(hour);
|
|
13
12
|
const date = toNative.toNative(input);
|
|
14
|
-
date.setTime(date.getTime() + (
|
|
13
|
+
date.setTime(date.getTime() + (hour * constants.millisecondInOneHour));
|
|
15
14
|
const timestamp = date.getTime();
|
|
16
15
|
const isNegative = timestamp < 0;
|
|
17
16
|
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import type { TheDate } from "../types";
|
|
2
|
-
|
|
3
|
-
export declare function addHours<GenericInput extends TheDate, GenericHour extends number>(hour:
|
|
4
|
-
export declare function addHours<GenericInput extends TheDate, GenericHour extends number>(input: GenericInput, hour: PositiveNumber<GenericHour>): TheDate;
|
|
2
|
+
export declare function addHours<GenericInput extends TheDate, GenericHour extends number>(hour: GenericHour): (input: GenericInput) => TheDate;
|
|
3
|
+
export declare function addHours<GenericInput extends TheDate, GenericHour extends number>(input: GenericInput, hour: GenericHour): TheDate;
|
|
@@ -7,9 +7,8 @@ function addHours(...args) {
|
|
|
7
7
|
return (input) => addHours(input, hour);
|
|
8
8
|
}
|
|
9
9
|
const [input, hour] = args;
|
|
10
|
-
const absoluteHour = Math.abs(hour);
|
|
11
10
|
const date = toNative(input);
|
|
12
|
-
date.setTime(date.getTime() + (
|
|
11
|
+
date.setTime(date.getTime() + (hour * millisecondInOneHour));
|
|
13
12
|
const timestamp = date.getTime();
|
|
14
13
|
const isNegative = timestamp < 0;
|
|
15
14
|
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
@@ -8,9 +8,8 @@ function addMilliseconds(...args) {
|
|
|
8
8
|
return (input) => addMilliseconds(input, millisecond);
|
|
9
9
|
}
|
|
10
10
|
const [input, millisecond] = args;
|
|
11
|
-
const absoluteMilliseconds = Math.abs(millisecond);
|
|
12
11
|
const date = toNative.toNative(input);
|
|
13
|
-
date.setTime(date.getTime() +
|
|
12
|
+
date.setTime(date.getTime() + millisecond);
|
|
14
13
|
const timestamp = date.getTime();
|
|
15
14
|
const isNegative = timestamp < 0;
|
|
16
15
|
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import type { TheDate } from "../types";
|
|
2
|
-
|
|
3
|
-
export declare function addMilliseconds<GenericInput extends TheDate, GenericMillisecond extends number>(millisecond:
|
|
4
|
-
export declare function addMilliseconds<GenericInput extends TheDate, GenericMillisecond extends number>(input: GenericInput, millisecond: PositiveNumber<GenericMillisecond>): TheDate;
|
|
2
|
+
export declare function addMilliseconds<GenericInput extends TheDate, GenericMillisecond extends number>(millisecond: GenericMillisecond): (input: GenericInput) => TheDate;
|
|
3
|
+
export declare function addMilliseconds<GenericInput extends TheDate, GenericMillisecond extends number>(input: GenericInput, millisecond: GenericMillisecond): TheDate;
|
|
@@ -6,9 +6,8 @@ function addMilliseconds(...args) {
|
|
|
6
6
|
return (input) => addMilliseconds(input, millisecond);
|
|
7
7
|
}
|
|
8
8
|
const [input, millisecond] = args;
|
|
9
|
-
const absoluteMilliseconds = Math.abs(millisecond);
|
|
10
9
|
const date = toNative(input);
|
|
11
|
-
date.setTime(date.getTime() +
|
|
10
|
+
date.setTime(date.getTime() + millisecond);
|
|
12
11
|
const timestamp = date.getTime();
|
|
13
12
|
const isNegative = timestamp < 0;
|
|
14
13
|
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
@@ -9,9 +9,8 @@ function addMinutes(...args) {
|
|
|
9
9
|
return (input) => addMinutes(input, minute);
|
|
10
10
|
}
|
|
11
11
|
const [input, minute] = args;
|
|
12
|
-
const absoluteMinute = Math.abs(minute);
|
|
13
12
|
const date = toNative.toNative(input);
|
|
14
|
-
date.setTime(date.getTime() + (
|
|
13
|
+
date.setTime(date.getTime() + (minute * constants.millisecondInOneMinute));
|
|
15
14
|
const timestamp = date.getTime();
|
|
16
15
|
const isNegative = timestamp < 0;
|
|
17
16
|
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import type { TheDate } from "../types";
|
|
2
|
-
|
|
3
|
-
export declare function addMinutes<GenericInput extends TheDate, GenericMinute extends number>(minute:
|
|
4
|
-
export declare function addMinutes<GenericInput extends TheDate, GenericMinute extends number>(input: GenericInput, minute: PositiveNumber<GenericMinute>): TheDate;
|
|
2
|
+
export declare function addMinutes<GenericInput extends TheDate, GenericMinute extends number>(minute: GenericMinute): (input: GenericInput) => TheDate;
|
|
3
|
+
export declare function addMinutes<GenericInput extends TheDate, GenericMinute extends number>(input: GenericInput, minute: GenericMinute): TheDate;
|
|
@@ -7,9 +7,8 @@ function addMinutes(...args) {
|
|
|
7
7
|
return (input) => addMinutes(input, minute);
|
|
8
8
|
}
|
|
9
9
|
const [input, minute] = args;
|
|
10
|
-
const absoluteMinute = Math.abs(minute);
|
|
11
10
|
const date = toNative(input);
|
|
12
|
-
date.setTime(date.getTime() + (
|
|
11
|
+
date.setTime(date.getTime() + (minute * millisecondInOneMinute));
|
|
13
12
|
const timestamp = date.getTime();
|
|
14
13
|
const isNegative = timestamp < 0;
|
|
15
14
|
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
@@ -8,9 +8,8 @@ function addMonths(...args) {
|
|
|
8
8
|
return (input) => addMonths(input, month);
|
|
9
9
|
}
|
|
10
10
|
const [input, month] = args;
|
|
11
|
-
const absoluteMonth = Math.abs(month);
|
|
12
11
|
const date = toNative.toNative(input);
|
|
13
|
-
date.setUTCMonth(date.getUTCMonth() +
|
|
12
|
+
date.setUTCMonth(date.getUTCMonth() + month);
|
|
14
13
|
const timestamp = date.getTime();
|
|
15
14
|
const isNegative = timestamp < 0;
|
|
16
15
|
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import type { TheDate } from "../types";
|
|
2
|
-
|
|
3
|
-
export declare function addMonths<GenericInput extends TheDate, GenericMonth extends number>(month:
|
|
4
|
-
export declare function addMonths<GenericInput extends TheDate, GenericMonth extends number>(input: GenericInput, month: PositiveNumber<GenericMonth>): TheDate;
|
|
2
|
+
export declare function addMonths<GenericInput extends TheDate, GenericMonth extends number>(month: GenericMonth): (input: GenericInput) => TheDate;
|
|
3
|
+
export declare function addMonths<GenericInput extends TheDate, GenericMonth extends number>(input: GenericInput, month: GenericMonth): TheDate;
|
|
@@ -6,9 +6,8 @@ function addMonths(...args) {
|
|
|
6
6
|
return (input) => addMonths(input, month);
|
|
7
7
|
}
|
|
8
8
|
const [input, month] = args;
|
|
9
|
-
const absoluteMonth = Math.abs(month);
|
|
10
9
|
const date = toNative(input);
|
|
11
|
-
date.setUTCMonth(date.getUTCMonth() +
|
|
10
|
+
date.setUTCMonth(date.getUTCMonth() + month);
|
|
12
11
|
const timestamp = date.getTime();
|
|
13
12
|
const isNegative = timestamp < 0;
|
|
14
13
|
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
@@ -9,9 +9,8 @@ function addSeconds(...args) {
|
|
|
9
9
|
return (input) => addSeconds(input, second);
|
|
10
10
|
}
|
|
11
11
|
const [input, second] = args;
|
|
12
|
-
const absoluteSecond = Math.abs(second);
|
|
13
12
|
const date = toNative.toNative(input);
|
|
14
|
-
date.setTime(date.getTime() + (
|
|
13
|
+
date.setTime(date.getTime() + (second * constants.millisecondsInOneSecond));
|
|
15
14
|
const timestamp = date.getTime();
|
|
16
15
|
const isNegative = timestamp < 0;
|
|
17
16
|
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import type { TheDate } from "../types";
|
|
2
|
-
|
|
3
|
-
export declare function addSeconds<GenericInput extends TheDate, GenericSecond extends number>(second:
|
|
4
|
-
export declare function addSeconds<GenericInput extends TheDate, GenericSecond extends number>(input: GenericInput, second: PositiveNumber<GenericSecond>): TheDate;
|
|
2
|
+
export declare function addSeconds<GenericInput extends TheDate, GenericSecond extends number>(second: GenericSecond): (input: GenericInput) => TheDate;
|
|
3
|
+
export declare function addSeconds<GenericInput extends TheDate, GenericSecond extends number>(input: GenericInput, second: GenericSecond): TheDate;
|
|
@@ -7,9 +7,8 @@ function addSeconds(...args) {
|
|
|
7
7
|
return (input) => addSeconds(input, second);
|
|
8
8
|
}
|
|
9
9
|
const [input, second] = args;
|
|
10
|
-
const absoluteSecond = Math.abs(second);
|
|
11
10
|
const date = toNative(input);
|
|
12
|
-
date.setTime(date.getTime() + (
|
|
11
|
+
date.setTime(date.getTime() + (second * millisecondsInOneSecond));
|
|
13
12
|
const timestamp = date.getTime();
|
|
14
13
|
const isNegative = timestamp < 0;
|
|
15
14
|
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
@@ -9,9 +9,8 @@ function addWeeks(...args) {
|
|
|
9
9
|
return (input) => addWeeks(input, week);
|
|
10
10
|
}
|
|
11
11
|
const [input, week] = args;
|
|
12
|
-
const absoluteWeek = Math.abs(week);
|
|
13
12
|
const date = toNative.toNative(input);
|
|
14
|
-
date.setTime(date.getTime() + (
|
|
13
|
+
date.setTime(date.getTime() + (week * constants.millisecondInOneWeek));
|
|
15
14
|
const timestamp = date.getTime();
|
|
16
15
|
const isNegative = timestamp < 0;
|
|
17
16
|
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import type { TheDate } from "../types";
|
|
2
|
-
|
|
3
|
-
export declare function addWeeks<GenericInput extends TheDate, GenericWeek extends number>(week:
|
|
4
|
-
export declare function addWeeks<GenericInput extends TheDate, GenericWeek extends number>(input: GenericInput, week: PositiveNumber<GenericWeek>): TheDate;
|
|
2
|
+
export declare function addWeeks<GenericInput extends TheDate, GenericWeek extends number>(week: GenericWeek): (input: GenericInput) => TheDate;
|
|
3
|
+
export declare function addWeeks<GenericInput extends TheDate, GenericWeek extends number>(input: GenericInput, week: GenericWeek): TheDate;
|
|
@@ -7,9 +7,8 @@ function addWeeks(...args) {
|
|
|
7
7
|
return (input) => addWeeks(input, week);
|
|
8
8
|
}
|
|
9
9
|
const [input, week] = args;
|
|
10
|
-
const absoluteWeek = Math.abs(week);
|
|
11
10
|
const date = toNative(input);
|
|
12
|
-
date.setTime(date.getTime() + (
|
|
11
|
+
date.setTime(date.getTime() + (week * millisecondInOneWeek));
|
|
13
12
|
const timestamp = date.getTime();
|
|
14
13
|
const isNegative = timestamp < 0;
|
|
15
14
|
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
@@ -8,9 +8,8 @@ function addYears(...args) {
|
|
|
8
8
|
return (input) => addYears(input, year);
|
|
9
9
|
}
|
|
10
10
|
const [input, year] = args;
|
|
11
|
-
const absoluteYear = Math.abs(year);
|
|
12
11
|
const date = toNative.toNative(input);
|
|
13
|
-
date.setUTCFullYear(date.getUTCFullYear() +
|
|
12
|
+
date.setUTCFullYear(date.getUTCFullYear() + year);
|
|
14
13
|
const timestamp = date.getTime();
|
|
15
14
|
const isNegative = timestamp < 0;
|
|
16
15
|
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import type { TheDate } from "../types";
|
|
2
|
-
|
|
3
|
-
export declare function addYears<GenericInput extends TheDate, GenericYear extends number>(year:
|
|
4
|
-
export declare function addYears<GenericInput extends TheDate, GenericYear extends number>(input: GenericInput, year: PositiveNumber<GenericYear>): TheDate;
|
|
2
|
+
export declare function addYears<GenericInput extends TheDate, GenericYear extends number>(year: GenericYear): (input: GenericInput) => TheDate;
|
|
3
|
+
export declare function addYears<GenericInput extends TheDate, GenericYear extends number>(input: GenericInput, year: GenericYear): TheDate;
|
|
@@ -6,9 +6,8 @@ function addYears(...args) {
|
|
|
6
6
|
return (input) => addYears(input, year);
|
|
7
7
|
}
|
|
8
8
|
const [input, year] = args;
|
|
9
|
-
const absoluteYear = Math.abs(year);
|
|
10
9
|
const date = toNative(input);
|
|
11
|
-
date.setUTCFullYear(date.getUTCFullYear() +
|
|
10
|
+
date.setUTCFullYear(date.getUTCFullYear() + year);
|
|
12
11
|
const timestamp = date.getTime();
|
|
13
12
|
const isNegative = timestamp < 0;
|
|
14
13
|
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
@@ -10,8 +10,7 @@ function subtractDays(...args) {
|
|
|
10
10
|
}
|
|
11
11
|
const [input, day] = args;
|
|
12
12
|
const date = toNative.toNative(input);
|
|
13
|
-
|
|
14
|
-
date.setTime(date.getTime() - (absoluteDay * constants.millisecondsInOneDay));
|
|
13
|
+
date.setTime(date.getTime() - (day * constants.millisecondsInOneDay));
|
|
15
14
|
const timestamp = date.getTime();
|
|
16
15
|
const isNegative = timestamp < 0;
|
|
17
16
|
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import type { TheDate } from "../types";
|
|
2
|
-
|
|
3
|
-
export declare function subtractDays<GenericInput extends TheDate, GenericDay extends number>(day:
|
|
4
|
-
export declare function subtractDays<GenericInput extends TheDate, GenericDay extends number>(input: GenericInput, day: PositiveNumber<GenericDay>): TheDate;
|
|
2
|
+
export declare function subtractDays<GenericInput extends TheDate, GenericDay extends number>(day: GenericDay): (input: GenericInput) => TheDate;
|
|
3
|
+
export declare function subtractDays<GenericInput extends TheDate, GenericDay extends number>(input: GenericInput, day: GenericDay): TheDate;
|
|
@@ -8,8 +8,7 @@ function subtractDays(...args) {
|
|
|
8
8
|
}
|
|
9
9
|
const [input, day] = args;
|
|
10
10
|
const date = toNative(input);
|
|
11
|
-
|
|
12
|
-
date.setTime(date.getTime() - (absoluteDay * millisecondsInOneDay));
|
|
11
|
+
date.setTime(date.getTime() - (day * millisecondsInOneDay));
|
|
13
12
|
const timestamp = date.getTime();
|
|
14
13
|
const isNegative = timestamp < 0;
|
|
15
14
|
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
@@ -10,8 +10,7 @@ function subtractHours(...args) {
|
|
|
10
10
|
}
|
|
11
11
|
const [input, hour] = args;
|
|
12
12
|
const date = toNative.toNative(input);
|
|
13
|
-
|
|
14
|
-
date.setTime(date.getTime() - (absoluteHour * constants.millisecondInOneHour));
|
|
13
|
+
date.setTime(date.getTime() - (hour * constants.millisecondInOneHour));
|
|
15
14
|
const timestamp = date.getTime();
|
|
16
15
|
const isNegative = timestamp < 0;
|
|
17
16
|
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import type { TheDate } from "../types";
|
|
2
|
-
|
|
3
|
-
export declare function subtractHours<GenericInput extends TheDate, GenericHour extends number>(hour:
|
|
4
|
-
export declare function subtractHours<GenericInput extends TheDate, GenericHour extends number>(input: GenericInput, hour: PositiveNumber<GenericHour>): TheDate;
|
|
2
|
+
export declare function subtractHours<GenericInput extends TheDate, GenericHour extends number>(hour: GenericHour): (input: GenericInput) => TheDate;
|
|
3
|
+
export declare function subtractHours<GenericInput extends TheDate, GenericHour extends number>(input: GenericInput, hour: GenericHour): TheDate;
|
|
@@ -8,8 +8,7 @@ function subtractHours(...args) {
|
|
|
8
8
|
}
|
|
9
9
|
const [input, hour] = args;
|
|
10
10
|
const date = toNative(input);
|
|
11
|
-
|
|
12
|
-
date.setTime(date.getTime() - (absoluteHour * millisecondInOneHour));
|
|
11
|
+
date.setTime(date.getTime() - (hour * millisecondInOneHour));
|
|
13
12
|
const timestamp = date.getTime();
|
|
14
13
|
const isNegative = timestamp < 0;
|
|
15
14
|
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
@@ -9,8 +9,7 @@ function subtractMilliseconds(...args) {
|
|
|
9
9
|
}
|
|
10
10
|
const [input, millisecond] = args;
|
|
11
11
|
const date = toNative.toNative(input);
|
|
12
|
-
|
|
13
|
-
date.setTime(date.getTime() - absoluteMillisecond);
|
|
12
|
+
date.setTime(date.getTime() - millisecond);
|
|
14
13
|
const timestamp = date.getTime();
|
|
15
14
|
const isNegative = timestamp < 0;
|
|
16
15
|
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import type { TheDate } from "../types";
|
|
2
|
-
|
|
3
|
-
export declare function subtractMilliseconds<GenericInput extends TheDate, GenericMillisecond extends number>(millisecond:
|
|
4
|
-
export declare function subtractMilliseconds<GenericInput extends TheDate, GenericMillisecond extends number>(input: GenericInput, millisecond: PositiveNumber<GenericMillisecond>): TheDate;
|
|
2
|
+
export declare function subtractMilliseconds<GenericInput extends TheDate, GenericMillisecond extends number>(millisecond: GenericMillisecond): (input: GenericInput) => TheDate;
|
|
3
|
+
export declare function subtractMilliseconds<GenericInput extends TheDate, GenericMillisecond extends number>(input: GenericInput, millisecond: GenericMillisecond): TheDate;
|
|
@@ -7,8 +7,7 @@ function subtractMilliseconds(...args) {
|
|
|
7
7
|
}
|
|
8
8
|
const [input, millisecond] = args;
|
|
9
9
|
const date = toNative(input);
|
|
10
|
-
|
|
11
|
-
date.setTime(date.getTime() - absoluteMillisecond);
|
|
10
|
+
date.setTime(date.getTime() - millisecond);
|
|
12
11
|
const timestamp = date.getTime();
|
|
13
12
|
const isNegative = timestamp < 0;
|
|
14
13
|
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
@@ -10,8 +10,7 @@ function subtractMinutes(...args) {
|
|
|
10
10
|
}
|
|
11
11
|
const [input, minute] = args;
|
|
12
12
|
const date = toNative.toNative(input);
|
|
13
|
-
|
|
14
|
-
date.setTime(date.getTime() - (absoluteMinute * constants.millisecondInOneMinute));
|
|
13
|
+
date.setTime(date.getTime() - (minute * constants.millisecondInOneMinute));
|
|
15
14
|
const timestamp = date.getTime();
|
|
16
15
|
const isNegative = timestamp < 0;
|
|
17
16
|
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import type { TheDate } from "../types";
|
|
2
|
-
|
|
3
|
-
export declare function subtractMinutes<GenericInput extends TheDate, GenericMinute extends number>(minute:
|
|
4
|
-
export declare function subtractMinutes<GenericInput extends TheDate, GenericMinute extends number>(input: GenericInput, minute: PositiveNumber<GenericMinute>): TheDate;
|
|
2
|
+
export declare function subtractMinutes<GenericInput extends TheDate, GenericMinute extends number>(minute: GenericMinute): (input: GenericInput) => TheDate;
|
|
3
|
+
export declare function subtractMinutes<GenericInput extends TheDate, GenericMinute extends number>(input: GenericInput, minute: GenericMinute): TheDate;
|
|
@@ -8,8 +8,7 @@ function subtractMinutes(...args) {
|
|
|
8
8
|
}
|
|
9
9
|
const [input, minute] = args;
|
|
10
10
|
const date = toNative(input);
|
|
11
|
-
|
|
12
|
-
date.setTime(date.getTime() - (absoluteMinute * millisecondInOneMinute));
|
|
11
|
+
date.setTime(date.getTime() - (minute * millisecondInOneMinute));
|
|
13
12
|
const timestamp = date.getTime();
|
|
14
13
|
const isNegative = timestamp < 0;
|
|
15
14
|
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
@@ -9,8 +9,7 @@ function subtractMonths(...args) {
|
|
|
9
9
|
}
|
|
10
10
|
const [input, month] = args;
|
|
11
11
|
const date = toNative.toNative(input);
|
|
12
|
-
|
|
13
|
-
date.setUTCMonth(date.getUTCMonth() - absoluteMonth);
|
|
12
|
+
date.setUTCMonth(date.getUTCMonth() - month);
|
|
14
13
|
const timestamp = date.getTime();
|
|
15
14
|
const isNegative = timestamp < 0;
|
|
16
15
|
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import type { TheDate } from "../types";
|
|
2
|
-
|
|
3
|
-
export declare function subtractMonths<GenericInput extends TheDate, GenericMonth extends number>(month:
|
|
4
|
-
export declare function subtractMonths<GenericInput extends TheDate, GenericMonth extends number>(input: GenericInput, month: PositiveNumber<GenericMonth>): TheDate;
|
|
2
|
+
export declare function subtractMonths<GenericInput extends TheDate, GenericMonth extends number>(month: GenericMonth): (input: GenericInput) => TheDate;
|
|
3
|
+
export declare function subtractMonths<GenericInput extends TheDate, GenericMonth extends number>(input: GenericInput, month: GenericMonth): TheDate;
|
|
@@ -7,8 +7,7 @@ function subtractMonths(...args) {
|
|
|
7
7
|
}
|
|
8
8
|
const [input, month] = args;
|
|
9
9
|
const date = toNative(input);
|
|
10
|
-
|
|
11
|
-
date.setUTCMonth(date.getUTCMonth() - absoluteMonth);
|
|
10
|
+
date.setUTCMonth(date.getUTCMonth() - month);
|
|
12
11
|
const timestamp = date.getTime();
|
|
13
12
|
const isNegative = timestamp < 0;
|
|
14
13
|
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
@@ -10,8 +10,7 @@ function subtractSeconds(...args) {
|
|
|
10
10
|
}
|
|
11
11
|
const [input, second] = args;
|
|
12
12
|
const date = toNative.toNative(input);
|
|
13
|
-
|
|
14
|
-
date.setTime(date.getTime() - (absoluteSecond * constants.millisecondsInOneSecond));
|
|
13
|
+
date.setTime(date.getTime() - (second * constants.millisecondsInOneSecond));
|
|
15
14
|
const timestamp = date.getTime();
|
|
16
15
|
const isNegative = timestamp < 0;
|
|
17
16
|
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import type { TheDate } from "../types";
|
|
2
|
-
|
|
3
|
-
export declare function subtractSeconds<GenericInput extends TheDate, GenericSecond extends number>(second:
|
|
4
|
-
export declare function subtractSeconds<GenericInput extends TheDate, GenericSecond extends number>(input: GenericInput, second: PositiveNumber<GenericSecond>): TheDate;
|
|
2
|
+
export declare function subtractSeconds<GenericInput extends TheDate, GenericSecond extends number>(second: GenericSecond): (input: GenericInput) => TheDate;
|
|
3
|
+
export declare function subtractSeconds<GenericInput extends TheDate, GenericSecond extends number>(input: GenericInput, second: GenericSecond): TheDate;
|
|
@@ -8,8 +8,7 @@ function subtractSeconds(...args) {
|
|
|
8
8
|
}
|
|
9
9
|
const [input, second] = args;
|
|
10
10
|
const date = toNative(input);
|
|
11
|
-
|
|
12
|
-
date.setTime(date.getTime() - (absoluteSecond * millisecondsInOneSecond));
|
|
11
|
+
date.setTime(date.getTime() - (second * millisecondsInOneSecond));
|
|
13
12
|
const timestamp = date.getTime();
|
|
14
13
|
const isNegative = timestamp < 0;
|
|
15
14
|
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
@@ -10,8 +10,7 @@ function subtractWeeks(...args) {
|
|
|
10
10
|
}
|
|
11
11
|
const [input, week] = args;
|
|
12
12
|
const date = toNative.toNative(input);
|
|
13
|
-
|
|
14
|
-
date.setTime(date.getTime() - (absoluteWeek * constants.millisecondInOneWeek));
|
|
13
|
+
date.setTime(date.getTime() - (week * constants.millisecondInOneWeek));
|
|
15
14
|
const timestamp = date.getTime();
|
|
16
15
|
const isNegative = timestamp < 0;
|
|
17
16
|
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import type { TheDate } from "../types";
|
|
2
|
-
|
|
3
|
-
export declare function subtractWeeks<GenericInput extends TheDate, GenericWeek extends number>(week:
|
|
4
|
-
export declare function subtractWeeks<GenericInput extends TheDate, GenericWeek extends number>(input: GenericInput, week: PositiveNumber<GenericWeek>): TheDate;
|
|
2
|
+
export declare function subtractWeeks<GenericInput extends TheDate, GenericWeek extends number>(week: GenericWeek): (input: GenericInput) => TheDate;
|
|
3
|
+
export declare function subtractWeeks<GenericInput extends TheDate, GenericWeek extends number>(input: GenericInput, week: GenericWeek): TheDate;
|
|
@@ -8,8 +8,7 @@ function subtractWeeks(...args) {
|
|
|
8
8
|
}
|
|
9
9
|
const [input, week] = args;
|
|
10
10
|
const date = toNative(input);
|
|
11
|
-
|
|
12
|
-
date.setTime(date.getTime() - (absoluteWeek * millisecondInOneWeek));
|
|
11
|
+
date.setTime(date.getTime() - (week * millisecondInOneWeek));
|
|
13
12
|
const timestamp = date.getTime();
|
|
14
13
|
const isNegative = timestamp < 0;
|
|
15
14
|
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
@@ -9,8 +9,7 @@ function subtractYears(...args) {
|
|
|
9
9
|
}
|
|
10
10
|
const [input, year] = args;
|
|
11
11
|
const date = toNative.toNative(input);
|
|
12
|
-
|
|
13
|
-
date.setUTCFullYear(date.getUTCFullYear() - absoluteYear);
|
|
12
|
+
date.setUTCFullYear(date.getUTCFullYear() - year);
|
|
14
13
|
const timestamp = date.getTime();
|
|
15
14
|
const isNegative = timestamp < 0;
|
|
16
15
|
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import type { TheDate } from "../types";
|
|
2
|
-
|
|
3
|
-
export declare function subtractYears<GenericInput extends TheDate, GenericYear extends number>(year:
|
|
4
|
-
export declare function subtractYears<GenericInput extends TheDate, GenericYear extends number>(input: GenericInput, year: PositiveNumber<GenericYear>): TheDate;
|
|
2
|
+
export declare function subtractYears<GenericInput extends TheDate, GenericYear extends number>(year: GenericYear): (input: GenericInput) => TheDate;
|
|
3
|
+
export declare function subtractYears<GenericInput extends TheDate, GenericYear extends number>(input: GenericInput, year: GenericYear): TheDate;
|
|
@@ -7,8 +7,7 @@ function subtractYears(...args) {
|
|
|
7
7
|
}
|
|
8
8
|
const [input, year] = args;
|
|
9
9
|
const date = toNative(input);
|
|
10
|
-
|
|
11
|
-
date.setUTCFullYear(date.getUTCFullYear() - absoluteYear);
|
|
10
|
+
date.setUTCFullYear(date.getUTCFullYear() - year);
|
|
12
11
|
const timestamp = date.getTime();
|
|
13
12
|
const isNegative = timestamp < 0;
|
|
14
13
|
return `date${Math.abs(timestamp)}${isNegative ? "-" : "+"}`;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type * as DString from "../../string";
|
|
2
2
|
type TenEven = "" | "2" | "4" | "6" | "8";
|
|
3
3
|
type OddTen = "1" | "3" | "5" | "7" | "9";
|
|
4
4
|
type MultipleOf4 = `${TenEven}${"0" | "4" | "8"}` | `${OddTen}${"2" | "6"}`;
|
|
5
|
-
type MultipleOf100 = `${Exclude<Digit, "0">}00`;
|
|
5
|
+
type MultipleOf100 = `${Exclude<DString.Digit, "0">}00`;
|
|
6
6
|
type MultipleOf400 = `${Exclude<MultipleOf4, "0">}00`;
|
|
7
|
-
export type IsLeapYear<GenericYear extends
|
|
7
|
+
export type IsLeapYear<GenericYear extends number> = `${GenericYear}` extends infer InferredYear ? InferredYear extends `${number | ""}${MultipleOf4}` ? InferredYear extends `${number | ""}${MultipleOf100}` ? InferredYear extends `${number | ""}${MultipleOf400}` ? true : false : true : false : never;
|
|
8
8
|
export {};
|