registration

This commit is contained in:
User
2025-02-02 16:08:03 +03:00
parent 7f6495eb4d
commit 78afbaed71
6334 changed files with 196774 additions and 165754 deletions

View File

@@ -1,6 +1,8 @@
import { ValueSetter } from "./Setter.mjs";
"use strict";
exports.Parser = void 0;
var _Setter = require("./Setter.cjs");
export class Parser {
class Parser {
run(dateString, token, match, options) {
const result = this.parse(dateString, token, match, options);
if (!result) {
@@ -8,7 +10,7 @@ export class Parser {
}
return {
setter: new ValueSetter(
setter: new _Setter.ValueSetter(
result.value,
this.validate,
this.set,
@@ -23,3 +25,4 @@ export class Parser {
return true;
}
}
exports.Parser = Parser;

View File

@@ -1,8 +1,6 @@
"use strict";
exports.Parser = void 0;
var _Setter = require("./Setter.js");
import { ValueSetter } from "./Setter.js";
class Parser {
export class Parser {
run(dateString, token, match, options) {
const result = this.parse(dateString, token, match, options);
if (!result) {
@@ -10,7 +8,7 @@ class Parser {
}
return {
setter: new _Setter.ValueSetter(
setter: new ValueSetter(
result.value,
this.validate,
this.set,
@@ -25,4 +23,3 @@ class Parser {
return true;
}
}
exports.Parser = Parser;

View File

@@ -1,17 +1,20 @@
import { transpose } from "../../transpose.mjs";
import { constructFrom } from "../../constructFrom.mjs";
"use strict";
exports.ValueSetter = exports.Setter = exports.DateTimezoneSetter = void 0;
var _index = require("../../constructFrom.cjs");
var _index2 = require("../../transpose.cjs");
const TIMEZONE_UNIT_PRIORITY = 10;
export class Setter {
class Setter {
subPriority = 0;
validate(_utcDate, _options) {
return true;
}
}
exports.Setter = Setter;
export class ValueSetter extends Setter {
class ValueSetter extends Setter {
constructor(
value,
@@ -40,12 +43,24 @@ export class ValueSetter extends Setter {
return this.setValue(date, flags, this.value, options);
}
}
exports.ValueSetter = ValueSetter;
export class DateToSystemTimezoneSetter extends Setter {
class DateTimezoneSetter extends Setter {
priority = TIMEZONE_UNIT_PRIORITY;
subPriority = -1;
constructor(context, reference) {
super();
this.context =
context || ((date) => (0, _index.constructFrom)(reference, date));
}
set(date, flags) {
if (flags.timestampIsSet) return date;
return constructFrom(date, transpose(date, Date));
return (0, _index.constructFrom)(
date,
(0, _index2.transpose)(date, this.context),
);
}
}
exports.DateTimezoneSetter = DateTimezoneSetter;

View File

@@ -1,3 +1,4 @@
import type { ContextFn, DateArg } from "../../types.js";
import type { ParseFlags, ParserOptions } from "./types.js";
export declare abstract class Setter {
abstract priority: number;
@@ -7,7 +8,7 @@ export declare abstract class Setter {
_options?: ParserOptions,
): boolean;
abstract set<DateType extends Date>(
utcDate: DateType,
date: DateType,
flags: ParseFlags,
options: ParserOptions,
): DateType | [DateType, ParseFlags];
@@ -20,12 +21,12 @@ export declare class ValueSetter<Value> extends Setter {
constructor(
value: Value,
validateValue: <DateType extends Date>(
utcDate: DateType,
date: DateType,
value: Value,
options: ParserOptions,
) => boolean,
setValue: <DateType extends Date>(
utcDate: DateType,
date: DateType,
flags: ParseFlags,
value: Value,
options: ParserOptions,
@@ -43,8 +44,13 @@ export declare class ValueSetter<Value> extends Setter {
options: ParserOptions,
): DateType | [DateType, ParseFlags];
}
export declare class DateToSystemTimezoneSetter extends Setter {
export declare class DateTimezoneSetter extends Setter {
priority: number;
subPriority: number;
context: ContextFn<Date>;
constructor(
context: ContextFn<Date> | undefined,
reference: DateArg<Date> & {},
);
set<DateType extends Date>(date: DateType, flags: ParseFlags): DateType;
}

View File

@@ -1,3 +1,4 @@
import type { ContextFn, DateArg } from "../../types.js";
import type { ParseFlags, ParserOptions } from "./types.js";
export declare abstract class Setter {
abstract priority: number;
@@ -7,7 +8,7 @@ export declare abstract class Setter {
_options?: ParserOptions,
): boolean;
abstract set<DateType extends Date>(
utcDate: DateType,
date: DateType,
flags: ParseFlags,
options: ParserOptions,
): DateType | [DateType, ParseFlags];
@@ -20,12 +21,12 @@ export declare class ValueSetter<Value> extends Setter {
constructor(
value: Value,
validateValue: <DateType extends Date>(
utcDate: DateType,
date: DateType,
value: Value,
options: ParserOptions,
) => boolean,
setValue: <DateType extends Date>(
utcDate: DateType,
date: DateType,
flags: ParseFlags,
value: Value,
options: ParserOptions,
@@ -43,8 +44,13 @@ export declare class ValueSetter<Value> extends Setter {
options: ParserOptions,
): DateType | [DateType, ParseFlags];
}
export declare class DateToSystemTimezoneSetter extends Setter {
export declare class DateTimezoneSetter extends Setter {
priority: number;
subPriority: number;
context: ContextFn<Date>;
constructor(
context: ContextFn<Date> | undefined,
reference: DateArg<Date> & {},
);
set<DateType extends Date>(date: DateType, flags: ParseFlags): DateType;
}

View File

@@ -1,23 +1,17 @@
"use strict";
exports.ValueSetter =
exports.Setter =
exports.DateToSystemTimezoneSetter =
void 0;
var _index = require("../../transpose.js");
var _index2 = require("../../constructFrom.js");
import { constructFrom } from "../../constructFrom.js";
import { transpose } from "../../transpose.js";
const TIMEZONE_UNIT_PRIORITY = 10;
class Setter {
export class Setter {
subPriority = 0;
validate(_utcDate, _options) {
return true;
}
}
exports.Setter = Setter;
class ValueSetter extends Setter {
export class ValueSetter extends Setter {
constructor(
value,
@@ -46,14 +40,18 @@ class ValueSetter extends Setter {
return this.setValue(date, flags, this.value, options);
}
}
exports.ValueSetter = ValueSetter;
class DateToSystemTimezoneSetter extends Setter {
export class DateTimezoneSetter extends Setter {
priority = TIMEZONE_UNIT_PRIORITY;
subPriority = -1;
constructor(context, reference) {
super();
this.context = context || ((date) => constructFrom(reference, date));
}
set(date, flags) {
if (flags.timestampIsSet) return date;
return (0, _index2.constructFrom)(date, (0, _index.transpose)(date, Date));
return constructFrom(date, transpose(date, this.context));
}
}
exports.DateToSystemTimezoneSetter = DateToSystemTimezoneSetter;

View File

@@ -1,4 +1,6 @@
export const numericPatterns = {
"use strict";
exports.timezonePatterns = exports.numericPatterns = void 0;
const numericPatterns = (exports.numericPatterns = {
month: /^(1[0-2]|0?\d)/, // 0 to 12
date: /^(3[0-1]|[0-2]?\d)/, // 0 to 31
dayOfYear: /^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/, // 0 to 366
@@ -20,12 +22,12 @@ export const numericPatterns = {
twoDigitsSigned: /^-?\d{1,2}/, // 0 to 99, -0 to -99
threeDigitsSigned: /^-?\d{1,3}/, // 0 to 999, -0 to -999
fourDigitsSigned: /^-?\d{1,4}/, // 0 to 9999, -0 to -9999
};
});
export const timezonePatterns = {
const timezonePatterns = (exports.timezonePatterns = {
basicOptionalMinutes: /^([+-])(\d{2})(\d{2})?|Z/,
basic: /^([+-])(\d{2})(\d{2})|Z/,
basicOptionalSeconds: /^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,
extended: /^([+-])(\d{2}):(\d{2})|Z/,
extendedOptionalSeconds: /^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/,
};
});

View File

@@ -1,6 +1,4 @@
"use strict";
exports.timezonePatterns = exports.numericPatterns = void 0;
const numericPatterns = (exports.numericPatterns = {
export const numericPatterns = {
month: /^(1[0-2]|0?\d)/, // 0 to 12
date: /^(3[0-1]|[0-2]?\d)/, // 0 to 31
dayOfYear: /^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/, // 0 to 366
@@ -22,12 +20,12 @@ const numericPatterns = (exports.numericPatterns = {
twoDigitsSigned: /^-?\d{1,2}/, // 0 to 99, -0 to -99
threeDigitsSigned: /^-?\d{1,3}/, // 0 to 999, -0 to -999
fourDigitsSigned: /^-?\d{1,4}/, // 0 to 9999, -0 to -9999
});
};
const timezonePatterns = (exports.timezonePatterns = {
export const timezonePatterns = {
basicOptionalMinutes: /^([+-])(\d{2})(\d{2})?|Z/,
basic: /^([+-])(\d{2})(\d{2})|Z/,
basicOptionalSeconds: /^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,
extended: /^([+-])(\d{2}):(\d{2})|Z/,
extendedOptionalSeconds: /^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/,
});
};

View File

@@ -0,0 +1,110 @@
"use strict";
exports.parsers = void 0;
var _EraParser = require("./parsers/EraParser.cjs");
var _YearParser = require("./parsers/YearParser.cjs");
var _LocalWeekYearParser = require("./parsers/LocalWeekYearParser.cjs");
var _ISOWeekYearParser = require("./parsers/ISOWeekYearParser.cjs");
var _ExtendedYearParser = require("./parsers/ExtendedYearParser.cjs");
var _QuarterParser = require("./parsers/QuarterParser.cjs");
var _StandAloneQuarterParser = require("./parsers/StandAloneQuarterParser.cjs");
var _MonthParser = require("./parsers/MonthParser.cjs");
var _StandAloneMonthParser = require("./parsers/StandAloneMonthParser.cjs");
var _LocalWeekParser = require("./parsers/LocalWeekParser.cjs");
var _ISOWeekParser = require("./parsers/ISOWeekParser.cjs");
var _DateParser = require("./parsers/DateParser.cjs");
var _DayOfYearParser = require("./parsers/DayOfYearParser.cjs");
var _DayParser = require("./parsers/DayParser.cjs");
var _LocalDayParser = require("./parsers/LocalDayParser.cjs");
var _StandAloneLocalDayParser = require("./parsers/StandAloneLocalDayParser.cjs");
var _ISODayParser = require("./parsers/ISODayParser.cjs");
var _AMPMParser = require("./parsers/AMPMParser.cjs");
var _AMPMMidnightParser = require("./parsers/AMPMMidnightParser.cjs");
var _DayPeriodParser = require("./parsers/DayPeriodParser.cjs");
var _Hour1to12Parser = require("./parsers/Hour1to12Parser.cjs");
var _Hour0to23Parser = require("./parsers/Hour0to23Parser.cjs");
var _Hour0To11Parser = require("./parsers/Hour0To11Parser.cjs");
var _Hour1To24Parser = require("./parsers/Hour1To24Parser.cjs");
var _MinuteParser = require("./parsers/MinuteParser.cjs");
var _SecondParser = require("./parsers/SecondParser.cjs");
var _FractionOfSecondParser = require("./parsers/FractionOfSecondParser.cjs");
var _ISOTimezoneWithZParser = require("./parsers/ISOTimezoneWithZParser.cjs");
var _ISOTimezoneParser = require("./parsers/ISOTimezoneParser.cjs");
var _TimestampSecondsParser = require("./parsers/TimestampSecondsParser.cjs");
var _TimestampMillisecondsParser = require("./parsers/TimestampMillisecondsParser.cjs");
/*
* | | Unit | | Unit |
* |-----|--------------------------------|-----|--------------------------------|
* | a | AM, PM | A* | Milliseconds in day |
* | b | AM, PM, noon, midnight | B | Flexible day period |
* | c | Stand-alone local day of week | C* | Localized hour w/ day period |
* | d | Day of month | D | Day of year |
* | e | Local day of week | E | Day of week |
* | f | | F* | Day of week in month |
* | g* | Modified Julian day | G | Era |
* | h | Hour [1-12] | H | Hour [0-23] |
* | i! | ISO day of week | I! | ISO week of year |
* | j* | Localized hour w/ day period | J* | Localized hour w/o day period |
* | k | Hour [1-24] | K | Hour [0-11] |
* | l* | (deprecated) | L | Stand-alone month |
* | m | Minute | M | Month |
* | n | | N | |
* | o! | Ordinal number modifier | O* | Timezone (GMT) |
* | p | | P | |
* | q | Stand-alone quarter | Q | Quarter |
* | r* | Related Gregorian year | R! | ISO week-numbering year |
* | s | Second | S | Fraction of second |
* | t! | Seconds timestamp | T! | Milliseconds timestamp |
* | u | Extended year | U* | Cyclic year |
* | v* | Timezone (generic non-locat.) | V* | Timezone (location) |
* | w | Local week of year | W* | Week of month |
* | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |
* | y | Year (abs) | Y | Local week-numbering year |
* | z* | Timezone (specific non-locat.) | Z* | Timezone (aliases) |
*
* Letters marked by * are not implemented but reserved by Unicode standard.
*
* Letters marked by ! are non-standard, but implemented by date-fns:
* - `o` modifies the previous token to turn it into an ordinal (see `parse` docs)
* - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,
* i.e. 7 for Sunday, 1 for Monday, etc.
* - `I` is ISO week of year, as opposed to `w` which is local week of year.
* - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.
* `R` is supposed to be used in conjunction with `I` and `i`
* for universal ISO week-numbering date, whereas
* `Y` is supposed to be used in conjunction with `w` and `e`
* for week-numbering date specific to the locale.
*/
const parsers = (exports.parsers = {
G: new _EraParser.EraParser(),
y: new _YearParser.YearParser(),
Y: new _LocalWeekYearParser.LocalWeekYearParser(),
R: new _ISOWeekYearParser.ISOWeekYearParser(),
u: new _ExtendedYearParser.ExtendedYearParser(),
Q: new _QuarterParser.QuarterParser(),
q: new _StandAloneQuarterParser.StandAloneQuarterParser(),
M: new _MonthParser.MonthParser(),
L: new _StandAloneMonthParser.StandAloneMonthParser(),
w: new _LocalWeekParser.LocalWeekParser(),
I: new _ISOWeekParser.ISOWeekParser(),
d: new _DateParser.DateParser(),
D: new _DayOfYearParser.DayOfYearParser(),
E: new _DayParser.DayParser(),
e: new _LocalDayParser.LocalDayParser(),
c: new _StandAloneLocalDayParser.StandAloneLocalDayParser(),
i: new _ISODayParser.ISODayParser(),
a: new _AMPMParser.AMPMParser(),
b: new _AMPMMidnightParser.AMPMMidnightParser(),
B: new _DayPeriodParser.DayPeriodParser(),
h: new _Hour1to12Parser.Hour1to12Parser(),
H: new _Hour0to23Parser.Hour0to23Parser(),
K: new _Hour0To11Parser.Hour0To11Parser(),
k: new _Hour1To24Parser.Hour1To24Parser(),
m: new _MinuteParser.MinuteParser(),
s: new _SecondParser.SecondParser(),
S: new _FractionOfSecondParser.FractionOfSecondParser(),
X: new _ISOTimezoneWithZParser.ISOTimezoneWithZParser(),
x: new _ISOTimezoneParser.ISOTimezoneParser(),
t: new _TimestampSecondsParser.TimestampSecondsParser(),
T: new _TimestampMillisecondsParser.TimestampMillisecondsParser(),
});

View File

@@ -1,36 +1,34 @@
"use strict";
exports.parsers = void 0;
var _EraParser = require("./parsers/EraParser.js");
var _YearParser = require("./parsers/YearParser.js");
var _LocalWeekYearParser = require("./parsers/LocalWeekYearParser.js");
var _ISOWeekYearParser = require("./parsers/ISOWeekYearParser.js");
var _ExtendedYearParser = require("./parsers/ExtendedYearParser.js");
var _QuarterParser = require("./parsers/QuarterParser.js");
var _StandAloneQuarterParser = require("./parsers/StandAloneQuarterParser.js");
var _MonthParser = require("./parsers/MonthParser.js");
var _StandAloneMonthParser = require("./parsers/StandAloneMonthParser.js");
var _LocalWeekParser = require("./parsers/LocalWeekParser.js");
var _ISOWeekParser = require("./parsers/ISOWeekParser.js");
var _DateParser = require("./parsers/DateParser.js");
var _DayOfYearParser = require("./parsers/DayOfYearParser.js");
var _DayParser = require("./parsers/DayParser.js");
var _LocalDayParser = require("./parsers/LocalDayParser.js");
var _StandAloneLocalDayParser = require("./parsers/StandAloneLocalDayParser.js");
var _ISODayParser = require("./parsers/ISODayParser.js");
var _AMPMParser = require("./parsers/AMPMParser.js");
var _AMPMMidnightParser = require("./parsers/AMPMMidnightParser.js");
var _DayPeriodParser = require("./parsers/DayPeriodParser.js");
var _Hour1to12Parser = require("./parsers/Hour1to12Parser.js");
var _Hour0to23Parser = require("./parsers/Hour0to23Parser.js");
var _Hour0To11Parser = require("./parsers/Hour0To11Parser.js");
var _Hour1To24Parser = require("./parsers/Hour1To24Parser.js");
var _MinuteParser = require("./parsers/MinuteParser.js");
var _SecondParser = require("./parsers/SecondParser.js");
var _FractionOfSecondParser = require("./parsers/FractionOfSecondParser.js");
var _ISOTimezoneWithZParser = require("./parsers/ISOTimezoneWithZParser.js");
var _ISOTimezoneParser = require("./parsers/ISOTimezoneParser.js");
var _TimestampSecondsParser = require("./parsers/TimestampSecondsParser.js");
var _TimestampMillisecondsParser = require("./parsers/TimestampMillisecondsParser.js");
import { EraParser } from "./parsers/EraParser.js";
import { YearParser } from "./parsers/YearParser.js";
import { LocalWeekYearParser } from "./parsers/LocalWeekYearParser.js";
import { ISOWeekYearParser } from "./parsers/ISOWeekYearParser.js";
import { ExtendedYearParser } from "./parsers/ExtendedYearParser.js";
import { QuarterParser } from "./parsers/QuarterParser.js";
import { StandAloneQuarterParser } from "./parsers/StandAloneQuarterParser.js";
import { MonthParser } from "./parsers/MonthParser.js";
import { StandAloneMonthParser } from "./parsers/StandAloneMonthParser.js";
import { LocalWeekParser } from "./parsers/LocalWeekParser.js";
import { ISOWeekParser } from "./parsers/ISOWeekParser.js";
import { DateParser } from "./parsers/DateParser.js";
import { DayOfYearParser } from "./parsers/DayOfYearParser.js";
import { DayParser } from "./parsers/DayParser.js";
import { LocalDayParser } from "./parsers/LocalDayParser.js";
import { StandAloneLocalDayParser } from "./parsers/StandAloneLocalDayParser.js";
import { ISODayParser } from "./parsers/ISODayParser.js";
import { AMPMParser } from "./parsers/AMPMParser.js";
import { AMPMMidnightParser } from "./parsers/AMPMMidnightParser.js";
import { DayPeriodParser } from "./parsers/DayPeriodParser.js";
import { Hour1to12Parser } from "./parsers/Hour1to12Parser.js";
import { Hour0to23Parser } from "./parsers/Hour0to23Parser.js";
import { Hour0To11Parser } from "./parsers/Hour0To11Parser.js";
import { Hour1To24Parser } from "./parsers/Hour1To24Parser.js";
import { MinuteParser } from "./parsers/MinuteParser.js";
import { SecondParser } from "./parsers/SecondParser.js";
import { FractionOfSecondParser } from "./parsers/FractionOfSecondParser.js";
import { ISOTimezoneWithZParser } from "./parsers/ISOTimezoneWithZParser.js";
import { ISOTimezoneParser } from "./parsers/ISOTimezoneParser.js";
import { TimestampSecondsParser } from "./parsers/TimestampSecondsParser.js";
import { TimestampMillisecondsParser } from "./parsers/TimestampMillisecondsParser.js";
/*
* | | Unit | | Unit |
@@ -75,37 +73,36 @@ var _TimestampMillisecondsParser = require("./parsers/TimestampMillisecondsParse
* `Y` is supposed to be used in conjunction with `w` and `e`
* for week-numbering date specific to the locale.
*/
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- It's ok, we want any here
const parsers = (exports.parsers = {
G: new _EraParser.EraParser(),
y: new _YearParser.YearParser(),
Y: new _LocalWeekYearParser.LocalWeekYearParser(),
R: new _ISOWeekYearParser.ISOWeekYearParser(),
u: new _ExtendedYearParser.ExtendedYearParser(),
Q: new _QuarterParser.QuarterParser(),
q: new _StandAloneQuarterParser.StandAloneQuarterParser(),
M: new _MonthParser.MonthParser(),
L: new _StandAloneMonthParser.StandAloneMonthParser(),
w: new _LocalWeekParser.LocalWeekParser(),
I: new _ISOWeekParser.ISOWeekParser(),
d: new _DateParser.DateParser(),
D: new _DayOfYearParser.DayOfYearParser(),
E: new _DayParser.DayParser(),
e: new _LocalDayParser.LocalDayParser(),
c: new _StandAloneLocalDayParser.StandAloneLocalDayParser(),
i: new _ISODayParser.ISODayParser(),
a: new _AMPMParser.AMPMParser(),
b: new _AMPMMidnightParser.AMPMMidnightParser(),
B: new _DayPeriodParser.DayPeriodParser(),
h: new _Hour1to12Parser.Hour1to12Parser(),
H: new _Hour0to23Parser.Hour0to23Parser(),
K: new _Hour0To11Parser.Hour0To11Parser(),
k: new _Hour1To24Parser.Hour1To24Parser(),
m: new _MinuteParser.MinuteParser(),
s: new _SecondParser.SecondParser(),
S: new _FractionOfSecondParser.FractionOfSecondParser(),
X: new _ISOTimezoneWithZParser.ISOTimezoneWithZParser(),
x: new _ISOTimezoneParser.ISOTimezoneParser(),
t: new _TimestampSecondsParser.TimestampSecondsParser(),
T: new _TimestampMillisecondsParser.TimestampMillisecondsParser(),
});
export const parsers = {
G: new EraParser(),
y: new YearParser(),
Y: new LocalWeekYearParser(),
R: new ISOWeekYearParser(),
u: new ExtendedYearParser(),
Q: new QuarterParser(),
q: new StandAloneQuarterParser(),
M: new MonthParser(),
L: new StandAloneMonthParser(),
w: new LocalWeekParser(),
I: new ISOWeekParser(),
d: new DateParser(),
D: new DayOfYearParser(),
E: new DayParser(),
e: new LocalDayParser(),
c: new StandAloneLocalDayParser(),
i: new ISODayParser(),
a: new AMPMParser(),
b: new AMPMMidnightParser(),
B: new DayPeriodParser(),
h: new Hour1to12Parser(),
H: new Hour0to23Parser(),
K: new Hour0To11Parser(),
k: new Hour1To24Parser(),
m: new MinuteParser(),
s: new SecondParser(),
S: new FractionOfSecondParser(),
X: new ISOTimezoneWithZParser(),
x: new ISOTimezoneParser(),
t: new TimestampSecondsParser(),
T: new TimestampMillisecondsParser(),
};

View File

@@ -1,109 +0,0 @@
import { EraParser } from "./parsers/EraParser.mjs";
import { YearParser } from "./parsers/YearParser.mjs";
import { LocalWeekYearParser } from "./parsers/LocalWeekYearParser.mjs";
import { ISOWeekYearParser } from "./parsers/ISOWeekYearParser.mjs";
import { ExtendedYearParser } from "./parsers/ExtendedYearParser.mjs";
import { QuarterParser } from "./parsers/QuarterParser.mjs";
import { StandAloneQuarterParser } from "./parsers/StandAloneQuarterParser.mjs";
import { MonthParser } from "./parsers/MonthParser.mjs";
import { StandAloneMonthParser } from "./parsers/StandAloneMonthParser.mjs";
import { LocalWeekParser } from "./parsers/LocalWeekParser.mjs";
import { ISOWeekParser } from "./parsers/ISOWeekParser.mjs";
import { DateParser } from "./parsers/DateParser.mjs";
import { DayOfYearParser } from "./parsers/DayOfYearParser.mjs";
import { DayParser } from "./parsers/DayParser.mjs";
import { LocalDayParser } from "./parsers/LocalDayParser.mjs";
import { StandAloneLocalDayParser } from "./parsers/StandAloneLocalDayParser.mjs";
import { ISODayParser } from "./parsers/ISODayParser.mjs";
import { AMPMParser } from "./parsers/AMPMParser.mjs";
import { AMPMMidnightParser } from "./parsers/AMPMMidnightParser.mjs";
import { DayPeriodParser } from "./parsers/DayPeriodParser.mjs";
import { Hour1to12Parser } from "./parsers/Hour1to12Parser.mjs";
import { Hour0to23Parser } from "./parsers/Hour0to23Parser.mjs";
import { Hour0To11Parser } from "./parsers/Hour0To11Parser.mjs";
import { Hour1To24Parser } from "./parsers/Hour1To24Parser.mjs";
import { MinuteParser } from "./parsers/MinuteParser.mjs";
import { SecondParser } from "./parsers/SecondParser.mjs";
import { FractionOfSecondParser } from "./parsers/FractionOfSecondParser.mjs";
import { ISOTimezoneWithZParser } from "./parsers/ISOTimezoneWithZParser.mjs";
import { ISOTimezoneParser } from "./parsers/ISOTimezoneParser.mjs";
import { TimestampSecondsParser } from "./parsers/TimestampSecondsParser.mjs";
import { TimestampMillisecondsParser } from "./parsers/TimestampMillisecondsParser.mjs";
/*
* | | Unit | | Unit |
* |-----|--------------------------------|-----|--------------------------------|
* | a | AM, PM | A* | Milliseconds in day |
* | b | AM, PM, noon, midnight | B | Flexible day period |
* | c | Stand-alone local day of week | C* | Localized hour w/ day period |
* | d | Day of month | D | Day of year |
* | e | Local day of week | E | Day of week |
* | f | | F* | Day of week in month |
* | g* | Modified Julian day | G | Era |
* | h | Hour [1-12] | H | Hour [0-23] |
* | i! | ISO day of week | I! | ISO week of year |
* | j* | Localized hour w/ day period | J* | Localized hour w/o day period |
* | k | Hour [1-24] | K | Hour [0-11] |
* | l* | (deprecated) | L | Stand-alone month |
* | m | Minute | M | Month |
* | n | | N | |
* | o! | Ordinal number modifier | O* | Timezone (GMT) |
* | p | | P | |
* | q | Stand-alone quarter | Q | Quarter |
* | r* | Related Gregorian year | R! | ISO week-numbering year |
* | s | Second | S | Fraction of second |
* | t! | Seconds timestamp | T! | Milliseconds timestamp |
* | u | Extended year | U* | Cyclic year |
* | v* | Timezone (generic non-locat.) | V* | Timezone (location) |
* | w | Local week of year | W* | Week of month |
* | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |
* | y | Year (abs) | Y | Local week-numbering year |
* | z* | Timezone (specific non-locat.) | Z* | Timezone (aliases) |
*
* Letters marked by * are not implemented but reserved by Unicode standard.
*
* Letters marked by ! are non-standard, but implemented by date-fns:
* - `o` modifies the previous token to turn it into an ordinal (see `parse` docs)
* - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,
* i.e. 7 for Sunday, 1 for Monday, etc.
* - `I` is ISO week of year, as opposed to `w` which is local week of year.
* - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.
* `R` is supposed to be used in conjunction with `I` and `i`
* for universal ISO week-numbering date, whereas
* `Y` is supposed to be used in conjunction with `w` and `e`
* for week-numbering date specific to the locale.
*/
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- It's ok, we want any here
export const parsers = {
G: new EraParser(),
y: new YearParser(),
Y: new LocalWeekYearParser(),
R: new ISOWeekYearParser(),
u: new ExtendedYearParser(),
Q: new QuarterParser(),
q: new StandAloneQuarterParser(),
M: new MonthParser(),
L: new StandAloneMonthParser(),
w: new LocalWeekParser(),
I: new ISOWeekParser(),
d: new DateParser(),
D: new DayOfYearParser(),
E: new DayParser(),
e: new LocalDayParser(),
c: new StandAloneLocalDayParser(),
i: new ISODayParser(),
a: new AMPMParser(),
b: new AMPMMidnightParser(),
B: new DayPeriodParser(),
h: new Hour1to12Parser(),
H: new Hour0to23Parser(),
K: new Hour0To11Parser(),
k: new Hour1To24Parser(),
m: new MinuteParser(),
s: new SecondParser(),
S: new FractionOfSecondParser(),
X: new ISOTimezoneWithZParser(),
x: new ISOTimezoneParser(),
t: new TimestampSecondsParser(),
T: new TimestampMillisecondsParser(),
};

View File

@@ -1,7 +1,10 @@
import { Parser } from "../Parser.mjs";
import { dayPeriodEnumToHours } from "../utils.mjs";
"use strict";
exports.AMPMMidnightParser = void 0;
var _Parser = require("../Parser.cjs");
export class AMPMMidnightParser extends Parser {
var _utils = require("../utils.cjs");
class AMPMMidnightParser extends _Parser.Parser {
priority = 80;
parse(dateString, token, match) {
@@ -45,9 +48,10 @@ export class AMPMMidnightParser extends Parser {
}
set(date, _flags, value) {
date.setHours(dayPeriodEnumToHours(value), 0, 0, 0);
date.setHours((0, _utils.dayPeriodEnumToHours)(value), 0, 0, 0);
return date;
}
incompatibleTokens = ["a", "B", "H", "k", "t", "T"];
}
exports.AMPMMidnightParser = AMPMMidnightParser;

View File

@@ -1,10 +1,8 @@
"use strict";
exports.AMPMMidnightParser = void 0;
var _Parser = require("../Parser.js");
import { Parser } from "../Parser.js";
var _utils = require("../utils.js");
import { dayPeriodEnumToHours } from "../utils.js";
class AMPMMidnightParser extends _Parser.Parser {
export class AMPMMidnightParser extends Parser {
priority = 80;
parse(dateString, token, match) {
@@ -48,10 +46,9 @@ class AMPMMidnightParser extends _Parser.Parser {
}
set(date, _flags, value) {
date.setHours((0, _utils.dayPeriodEnumToHours)(value), 0, 0, 0);
date.setHours(dayPeriodEnumToHours(value), 0, 0, 0);
return date;
}
incompatibleTokens = ["a", "B", "H", "k", "t", "T"];
}
exports.AMPMMidnightParser = AMPMMidnightParser;

View File

@@ -1,7 +1,10 @@
import { Parser } from "../Parser.mjs";
import { dayPeriodEnumToHours } from "../utils.mjs";
"use strict";
exports.AMPMParser = void 0;
var _Parser = require("../Parser.cjs");
export class AMPMParser extends Parser {
var _utils = require("../utils.cjs");
class AMPMParser extends _Parser.Parser {
priority = 80;
parse(dateString, token, match) {
@@ -45,9 +48,10 @@ export class AMPMParser extends Parser {
}
set(date, _flags, value) {
date.setHours(dayPeriodEnumToHours(value), 0, 0, 0);
date.setHours((0, _utils.dayPeriodEnumToHours)(value), 0, 0, 0);
return date;
}
incompatibleTokens = ["b", "B", "H", "k", "t", "T"];
}
exports.AMPMParser = AMPMParser;

View File

@@ -1,10 +1,8 @@
"use strict";
exports.AMPMParser = void 0;
var _Parser = require("../Parser.js");
import { Parser } from "../Parser.js";
var _utils = require("../utils.js");
import { dayPeriodEnumToHours } from "../utils.js";
class AMPMParser extends _Parser.Parser {
export class AMPMParser extends Parser {
priority = 80;
parse(dateString, token, match) {
@@ -48,10 +46,9 @@ class AMPMParser extends _Parser.Parser {
}
set(date, _flags, value) {
date.setHours((0, _utils.dayPeriodEnumToHours)(value), 0, 0, 0);
date.setHours(dayPeriodEnumToHours(value), 0, 0, 0);
return date;
}
incompatibleTokens = ["b", "B", "H", "k", "t", "T"];
}
exports.AMPMParser = AMPMParser;

View File

@@ -1,10 +1,9 @@
import { numericPatterns } from "../constants.mjs";
import { Parser } from "../Parser.mjs";
import {
isLeapYearIndex,
parseNDigits,
parseNumericPattern,
} from "../utils.mjs";
"use strict";
exports.DateParser = void 0;
var _constants = require("../constants.cjs");
var _Parser = require("../Parser.cjs");
var _utils = require("../utils.cjs");
const DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
const DAYS_IN_MONTH_LEAP_YEAR = [
@@ -12,24 +11,27 @@ const DAYS_IN_MONTH_LEAP_YEAR = [
];
// Day of the month
export class DateParser extends Parser {
class DateParser extends _Parser.Parser {
priority = 90;
subPriority = 1;
parse(dateString, token, match) {
switch (token) {
case "d":
return parseNumericPattern(numericPatterns.date, dateString);
return (0, _utils.parseNumericPattern)(
_constants.numericPatterns.date,
dateString,
);
case "do":
return match.ordinalNumber(dateString, { unit: "date" });
default:
return parseNDigits(token.length, dateString);
return (0, _utils.parseNDigits)(token.length, dateString);
}
}
validate(date, value) {
const year = date.getFullYear();
const isLeapYear = isLeapYearIndex(year);
const isLeapYear = (0, _utils.isLeapYearIndex)(year);
const month = date.getMonth();
if (isLeapYear) {
return value >= 1 && value <= DAYS_IN_MONTH_LEAP_YEAR[month];
@@ -59,3 +61,4 @@ export class DateParser extends Parser {
"T",
];
}
exports.DateParser = DateParser;

View File

@@ -1,9 +1,11 @@
"use strict";
exports.DateParser = void 0;
var _constants = require("../constants.js");
var _Parser = require("../Parser.js");
import { numericPatterns } from "../constants.js";
import { Parser } from "../Parser.js";
var _utils = require("../utils.js");
import {
isLeapYearIndex,
parseNDigits,
parseNumericPattern,
} from "../utils.js";
const DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
const DAYS_IN_MONTH_LEAP_YEAR = [
@@ -11,27 +13,24 @@ const DAYS_IN_MONTH_LEAP_YEAR = [
];
// Day of the month
class DateParser extends _Parser.Parser {
export class DateParser extends Parser {
priority = 90;
subPriority = 1;
parse(dateString, token, match) {
switch (token) {
case "d":
return (0, _utils.parseNumericPattern)(
_constants.numericPatterns.date,
dateString,
);
return parseNumericPattern(numericPatterns.date, dateString);
case "do":
return match.ordinalNumber(dateString, { unit: "date" });
default:
return (0, _utils.parseNDigits)(token.length, dateString);
return parseNDigits(token.length, dateString);
}
}
validate(date, value) {
const year = date.getFullYear();
const isLeapYear = (0, _utils.isLeapYearIndex)(year);
const isLeapYear = isLeapYearIndex(year);
const month = date.getMonth();
if (isLeapYear) {
return value >= 1 && value <= DAYS_IN_MONTH_LEAP_YEAR[month];
@@ -61,4 +60,3 @@ class DateParser extends _Parser.Parser {
"T",
];
}
exports.DateParser = DateParser;

View File

@@ -1,12 +1,11 @@
import { numericPatterns } from "../constants.mjs";
import { Parser } from "../Parser.mjs";
import {
isLeapYearIndex,
parseNDigits,
parseNumericPattern,
} from "../utils.mjs";
"use strict";
exports.DayOfYearParser = void 0;
var _constants = require("../constants.cjs");
var _Parser = require("../Parser.cjs");
export class DayOfYearParser extends Parser {
var _utils = require("../utils.cjs");
class DayOfYearParser extends _Parser.Parser {
priority = 90;
subpriority = 1;
@@ -15,17 +14,20 @@ export class DayOfYearParser extends Parser {
switch (token) {
case "D":
case "DD":
return parseNumericPattern(numericPatterns.dayOfYear, dateString);
return (0, _utils.parseNumericPattern)(
_constants.numericPatterns.dayOfYear,
dateString,
);
case "Do":
return match.ordinalNumber(dateString, { unit: "date" });
default:
return parseNDigits(token.length, dateString);
return (0, _utils.parseNDigits)(token.length, dateString);
}
}
validate(date, value) {
const year = date.getFullYear();
const isLeapYear = isLeapYearIndex(year);
const isLeapYear = (0, _utils.isLeapYearIndex)(year);
if (isLeapYear) {
return value >= 1 && value <= 366;
} else {
@@ -57,3 +59,4 @@ export class DayOfYearParser extends Parser {
"T",
];
}
exports.DayOfYearParser = DayOfYearParser;

View File

@@ -1,11 +1,13 @@
"use strict";
exports.DayOfYearParser = void 0;
var _constants = require("../constants.js");
var _Parser = require("../Parser.js");
import { numericPatterns } from "../constants.js";
import { Parser } from "../Parser.js";
var _utils = require("../utils.js");
import {
isLeapYearIndex,
parseNDigits,
parseNumericPattern,
} from "../utils.js";
class DayOfYearParser extends _Parser.Parser {
export class DayOfYearParser extends Parser {
priority = 90;
subpriority = 1;
@@ -14,20 +16,17 @@ class DayOfYearParser extends _Parser.Parser {
switch (token) {
case "D":
case "DD":
return (0, _utils.parseNumericPattern)(
_constants.numericPatterns.dayOfYear,
dateString,
);
return parseNumericPattern(numericPatterns.dayOfYear, dateString);
case "Do":
return match.ordinalNumber(dateString, { unit: "date" });
default:
return (0, _utils.parseNDigits)(token.length, dateString);
return parseNDigits(token.length, dateString);
}
}
validate(date, value) {
const year = date.getFullYear();
const isLeapYear = (0, _utils.isLeapYearIndex)(year);
const isLeapYear = isLeapYearIndex(year);
if (isLeapYear) {
return value >= 1 && value <= 366;
} else {
@@ -59,4 +58,3 @@ class DayOfYearParser extends _Parser.Parser {
"T",
];
}
exports.DayOfYearParser = DayOfYearParser;

View File

@@ -1,8 +1,10 @@
import { setDay } from "../../../setDay.mjs";
import { Parser } from "../Parser.mjs";
"use strict";
exports.DayParser = void 0;
var _index = require("../../../setDay.cjs");
var _Parser = require("../Parser.cjs");
// Day of week
export class DayParser extends Parser {
class DayParser extends _Parser.Parser {
priority = 90;
parse(dateString, token, match) {
@@ -53,10 +55,11 @@ export class DayParser extends Parser {
}
set(date, _flags, value, options) {
date = setDay(date, value, options);
date = (0, _index.setDay)(date, value, options);
date.setHours(0, 0, 0, 0);
return date;
}
incompatibleTokens = ["D", "i", "e", "c", "t", "T"];
}
exports.DayParser = DayParser;

View File

@@ -1,10 +1,8 @@
"use strict";
exports.DayParser = void 0;
var _index = require("../../../setDay.js");
var _Parser = require("../Parser.js");
import { setDay } from "../../../setDay.js";
import { Parser } from "../Parser.js";
// Day of week
class DayParser extends _Parser.Parser {
export class DayParser extends Parser {
priority = 90;
parse(dateString, token, match) {
@@ -55,11 +53,10 @@ class DayParser extends _Parser.Parser {
}
set(date, _flags, value, options) {
date = (0, _index.setDay)(date, value, options);
date = setDay(date, value, options);
date.setHours(0, 0, 0, 0);
return date;
}
incompatibleTokens = ["D", "i", "e", "c", "t", "T"];
}
exports.DayParser = DayParser;

View File

@@ -1,8 +1,11 @@
import { Parser } from "../Parser.mjs";
import { dayPeriodEnumToHours } from "../utils.mjs";
"use strict";
exports.DayPeriodParser = void 0;
var _Parser = require("../Parser.cjs");
var _utils = require("../utils.cjs");
// in the morning, in the afternoon, in the evening, at night
export class DayPeriodParser extends Parser {
class DayPeriodParser extends _Parser.Parser {
priority = 80;
parse(dateString, token, match) {
@@ -46,9 +49,10 @@ export class DayPeriodParser extends Parser {
}
set(date, _flags, value) {
date.setHours(dayPeriodEnumToHours(value), 0, 0, 0);
date.setHours((0, _utils.dayPeriodEnumToHours)(value), 0, 0, 0);
return date;
}
incompatibleTokens = ["a", "b", "t", "T"];
}
exports.DayPeriodParser = DayPeriodParser;

View File

@@ -1,11 +1,9 @@
"use strict";
exports.DayPeriodParser = void 0;
var _Parser = require("../Parser.js");
import { Parser } from "../Parser.js";
var _utils = require("../utils.js");
import { dayPeriodEnumToHours } from "../utils.js";
// in the morning, in the afternoon, in the evening, at night
class DayPeriodParser extends _Parser.Parser {
export class DayPeriodParser extends Parser {
priority = 80;
parse(dateString, token, match) {
@@ -49,10 +47,9 @@ class DayPeriodParser extends _Parser.Parser {
}
set(date, _flags, value) {
date.setHours((0, _utils.dayPeriodEnumToHours)(value), 0, 0, 0);
date.setHours(dayPeriodEnumToHours(value), 0, 0, 0);
return date;
}
incompatibleTokens = ["a", "b", "t", "T"];
}
exports.DayPeriodParser = DayPeriodParser;

View File

@@ -1,6 +1,9 @@
import { Parser } from "../Parser.mjs";
"use strict";
exports.EraParser = void 0;
export class EraParser extends Parser {
var _Parser = require("../Parser.cjs");
class EraParser extends _Parser.Parser {
priority = 140;
parse(dateString, token, match) {
@@ -37,3 +40,4 @@ export class EraParser extends Parser {
incompatibleTokens = ["R", "u", "t", "T"];
}
exports.EraParser = EraParser;

View File

@@ -1,9 +1,6 @@
"use strict";
exports.EraParser = void 0;
import { Parser } from "../Parser.js";
var _Parser = require("../Parser.js");
class EraParser extends _Parser.Parser {
export class EraParser extends Parser {
priority = 140;
parse(dateString, token, match) {
@@ -40,4 +37,3 @@ class EraParser extends _Parser.Parser {
incompatibleTokens = ["R", "u", "t", "T"];
}
exports.EraParser = EraParser;

View File

@@ -0,0 +1,26 @@
"use strict";
exports.ExtendedYearParser = void 0;
var _Parser = require("../Parser.cjs");
var _utils = require("../utils.cjs");
class ExtendedYearParser extends _Parser.Parser {
priority = 130;
parse(dateString, token) {
if (token === "u") {
return (0, _utils.parseNDigitsSigned)(4, dateString);
}
return (0, _utils.parseNDigitsSigned)(token.length, dateString);
}
set(date, _flags, value) {
date.setFullYear(value, 0, 1);
date.setHours(0, 0, 0, 0);
return date;
}
incompatibleTokens = ["G", "y", "Y", "R", "w", "I", "i", "e", "c", "t", "T"];
}
exports.ExtendedYearParser = ExtendedYearParser;

View File

@@ -1,18 +1,16 @@
"use strict";
exports.ExtendedYearParser = void 0;
var _Parser = require("../Parser.js");
import { Parser } from "../Parser.js";
var _utils = require("../utils.js");
import { parseNDigitsSigned } from "../utils.js";
class ExtendedYearParser extends _Parser.Parser {
export class ExtendedYearParser extends Parser {
priority = 130;
parse(dateString, token) {
if (token === "u") {
return (0, _utils.parseNDigitsSigned)(4, dateString);
return parseNDigitsSigned(4, dateString);
}
return (0, _utils.parseNDigitsSigned)(token.length, dateString);
return parseNDigitsSigned(token.length, dateString);
}
set(date, _flags, value) {
@@ -23,4 +21,3 @@ class ExtendedYearParser extends _Parser.Parser {
incompatibleTokens = ["G", "y", "Y", "R", "w", "I", "i", "e", "c", "t", "T"];
}
exports.ExtendedYearParser = ExtendedYearParser;

View File

@@ -1,22 +0,0 @@
import { Parser } from "../Parser.mjs";
import { parseNDigitsSigned } from "../utils.mjs";
export class ExtendedYearParser extends Parser {
priority = 130;
parse(dateString, token) {
if (token === "u") {
return parseNDigitsSigned(4, dateString);
}
return parseNDigitsSigned(token.length, dateString);
}
set(date, _flags, value) {
date.setFullYear(value, 0, 1);
date.setHours(0, 0, 0, 0);
return date;
}
incompatibleTokens = ["G", "y", "Y", "R", "w", "I", "i", "e", "c", "t", "T"];
}

View File

@@ -0,0 +1,26 @@
"use strict";
exports.FractionOfSecondParser = void 0;
var _Parser = require("../Parser.cjs");
var _utils = require("../utils.cjs");
class FractionOfSecondParser extends _Parser.Parser {
priority = 30;
parse(dateString, token) {
const valueCallback = (value) =>
Math.trunc(value * Math.pow(10, -token.length + 3));
return (0, _utils.mapValue)(
(0, _utils.parseNDigits)(token.length, dateString),
valueCallback,
);
}
set(date, _flags, value) {
date.setMilliseconds(value);
return date;
}
incompatibleTokens = ["t", "T"];
}
exports.FractionOfSecondParser = FractionOfSecondParser;

View File

@@ -1,19 +1,14 @@
"use strict";
exports.FractionOfSecondParser = void 0;
var _Parser = require("../Parser.js");
import { Parser } from "../Parser.js";
var _utils = require("../utils.js");
import { mapValue, parseNDigits } from "../utils.js";
class FractionOfSecondParser extends _Parser.Parser {
export class FractionOfSecondParser extends Parser {
priority = 30;
parse(dateString, token) {
const valueCallback = (value) =>
Math.trunc(value * Math.pow(10, -token.length + 3));
return (0, _utils.mapValue)(
(0, _utils.parseNDigits)(token.length, dateString),
valueCallback,
);
return mapValue(parseNDigits(token.length, dateString), valueCallback);
}
set(date, _flags, value) {
@@ -23,4 +18,3 @@ class FractionOfSecondParser extends _Parser.Parser {
incompatibleTokens = ["t", "T"];
}
exports.FractionOfSecondParser = FractionOfSecondParser;

View File

@@ -1,19 +0,0 @@
import { Parser } from "../Parser.mjs";
import { mapValue, parseNDigits } from "../utils.mjs";
export class FractionOfSecondParser extends Parser {
priority = 30;
parse(dateString, token) {
const valueCallback = (value) =>
Math.trunc(value * Math.pow(10, -token.length + 3));
return mapValue(parseNDigits(token.length, dateString), valueCallback);
}
set(date, _flags, value) {
date.setMilliseconds(value);
return date;
}
incompatibleTokens = ["t", "T"];
}

View File

@@ -1,18 +1,24 @@
import { numericPatterns } from "../constants.mjs";
import { Parser } from "../Parser.mjs";
import { parseNDigits, parseNumericPattern } from "../utils.mjs";
"use strict";
exports.Hour0To11Parser = void 0;
var _constants = require("../constants.cjs");
var _Parser = require("../Parser.cjs");
export class Hour0To11Parser extends Parser {
var _utils = require("../utils.cjs");
class Hour0To11Parser extends _Parser.Parser {
priority = 70;
parse(dateString, token, match) {
switch (token) {
case "K":
return parseNumericPattern(numericPatterns.hour11h, dateString);
return (0, _utils.parseNumericPattern)(
_constants.numericPatterns.hour11h,
dateString,
);
case "Ko":
return match.ordinalNumber(dateString, { unit: "hour" });
default:
return parseNDigits(token.length, dateString);
return (0, _utils.parseNDigits)(token.length, dateString);
}
}
@@ -32,3 +38,4 @@ export class Hour0To11Parser extends Parser {
incompatibleTokens = ["h", "H", "k", "t", "T"];
}
exports.Hour0To11Parser = Hour0To11Parser;

View File

@@ -1,24 +1,19 @@
"use strict";
exports.Hour0To11Parser = void 0;
var _constants = require("../constants.js");
var _Parser = require("../Parser.js");
import { numericPatterns } from "../constants.js";
import { Parser } from "../Parser.js";
var _utils = require("../utils.js");
import { parseNDigits, parseNumericPattern } from "../utils.js";
class Hour0To11Parser extends _Parser.Parser {
export class Hour0To11Parser extends Parser {
priority = 70;
parse(dateString, token, match) {
switch (token) {
case "K":
return (0, _utils.parseNumericPattern)(
_constants.numericPatterns.hour11h,
dateString,
);
return parseNumericPattern(numericPatterns.hour11h, dateString);
case "Ko":
return match.ordinalNumber(dateString, { unit: "hour" });
default:
return (0, _utils.parseNDigits)(token.length, dateString);
return parseNDigits(token.length, dateString);
}
}
@@ -38,4 +33,3 @@ class Hour0To11Parser extends _Parser.Parser {
incompatibleTokens = ["h", "H", "k", "t", "T"];
}
exports.Hour0To11Parser = Hour0To11Parser;

View File

@@ -0,0 +1,36 @@
"use strict";
exports.Hour0to23Parser = void 0;
var _constants = require("../constants.cjs");
var _Parser = require("../Parser.cjs");
var _utils = require("../utils.cjs");
class Hour0to23Parser extends _Parser.Parser {
priority = 70;
parse(dateString, token, match) {
switch (token) {
case "H":
return (0, _utils.parseNumericPattern)(
_constants.numericPatterns.hour23h,
dateString,
);
case "Ho":
return match.ordinalNumber(dateString, { unit: "hour" });
default:
return (0, _utils.parseNDigits)(token.length, dateString);
}
}
validate(_date, value) {
return value >= 0 && value <= 23;
}
set(date, _flags, value) {
date.setHours(value, 0, 0, 0);
return date;
}
incompatibleTokens = ["a", "b", "h", "K", "k", "t", "T"];
}
exports.Hour0to23Parser = Hour0to23Parser;

View File

@@ -1,24 +1,19 @@
"use strict";
exports.Hour0to23Parser = void 0;
var _constants = require("../constants.js");
var _Parser = require("../Parser.js");
import { numericPatterns } from "../constants.js";
import { Parser } from "../Parser.js";
var _utils = require("../utils.js");
import { parseNDigits, parseNumericPattern } from "../utils.js";
class Hour0to23Parser extends _Parser.Parser {
export class Hour0to23Parser extends Parser {
priority = 70;
parse(dateString, token, match) {
switch (token) {
case "H":
return (0, _utils.parseNumericPattern)(
_constants.numericPatterns.hour23h,
dateString,
);
return parseNumericPattern(numericPatterns.hour23h, dateString);
case "Ho":
return match.ordinalNumber(dateString, { unit: "hour" });
default:
return (0, _utils.parseNDigits)(token.length, dateString);
return parseNDigits(token.length, dateString);
}
}
@@ -33,4 +28,3 @@ class Hour0to23Parser extends _Parser.Parser {
incompatibleTokens = ["a", "b", "h", "K", "k", "t", "T"];
}
exports.Hour0to23Parser = Hour0to23Parser;

View File

@@ -1,29 +0,0 @@
import { numericPatterns } from "../constants.mjs";
import { Parser } from "../Parser.mjs";
import { parseNDigits, parseNumericPattern } from "../utils.mjs";
export class Hour0to23Parser extends Parser {
priority = 70;
parse(dateString, token, match) {
switch (token) {
case "H":
return parseNumericPattern(numericPatterns.hour23h, dateString);
case "Ho":
return match.ordinalNumber(dateString, { unit: "hour" });
default:
return parseNDigits(token.length, dateString);
}
}
validate(_date, value) {
return value >= 0 && value <= 23;
}
set(date, _flags, value) {
date.setHours(value, 0, 0, 0);
return date;
}
incompatibleTokens = ["a", "b", "h", "K", "k", "t", "T"];
}

View File

@@ -1,18 +1,24 @@
import { numericPatterns } from "../constants.mjs";
import { Parser } from "../Parser.mjs";
import { parseNDigits, parseNumericPattern } from "../utils.mjs";
"use strict";
exports.Hour1To24Parser = void 0;
var _constants = require("../constants.cjs");
var _Parser = require("../Parser.cjs");
export class Hour1To24Parser extends Parser {
var _utils = require("../utils.cjs");
class Hour1To24Parser extends _Parser.Parser {
priority = 70;
parse(dateString, token, match) {
switch (token) {
case "k":
return parseNumericPattern(numericPatterns.hour24h, dateString);
return (0, _utils.parseNumericPattern)(
_constants.numericPatterns.hour24h,
dateString,
);
case "ko":
return match.ordinalNumber(dateString, { unit: "hour" });
default:
return parseNDigits(token.length, dateString);
return (0, _utils.parseNDigits)(token.length, dateString);
}
}
@@ -28,3 +34,4 @@ export class Hour1To24Parser extends Parser {
incompatibleTokens = ["a", "b", "h", "H", "K", "t", "T"];
}
exports.Hour1To24Parser = Hour1To24Parser;

View File

@@ -1,24 +1,19 @@
"use strict";
exports.Hour1To24Parser = void 0;
var _constants = require("../constants.js");
var _Parser = require("../Parser.js");
import { numericPatterns } from "../constants.js";
import { Parser } from "../Parser.js";
var _utils = require("../utils.js");
import { parseNDigits, parseNumericPattern } from "../utils.js";
class Hour1To24Parser extends _Parser.Parser {
export class Hour1To24Parser extends Parser {
priority = 70;
parse(dateString, token, match) {
switch (token) {
case "k":
return (0, _utils.parseNumericPattern)(
_constants.numericPatterns.hour24h,
dateString,
);
return parseNumericPattern(numericPatterns.hour24h, dateString);
case "ko":
return match.ordinalNumber(dateString, { unit: "hour" });
default:
return (0, _utils.parseNDigits)(token.length, dateString);
return parseNDigits(token.length, dateString);
}
}
@@ -34,4 +29,3 @@ class Hour1To24Parser extends _Parser.Parser {
incompatibleTokens = ["a", "b", "h", "H", "K", "t", "T"];
}
exports.Hour1To24Parser = Hour1To24Parser;

View File

@@ -1,18 +1,24 @@
import { numericPatterns } from "../constants.mjs";
import { Parser } from "../Parser.mjs";
import { parseNDigits, parseNumericPattern } from "../utils.mjs";
"use strict";
exports.Hour1to12Parser = void 0;
var _constants = require("../constants.cjs");
var _Parser = require("../Parser.cjs");
export class Hour1to12Parser extends Parser {
var _utils = require("../utils.cjs");
class Hour1to12Parser extends _Parser.Parser {
priority = 70;
parse(dateString, token, match) {
switch (token) {
case "h":
return parseNumericPattern(numericPatterns.hour12h, dateString);
return (0, _utils.parseNumericPattern)(
_constants.numericPatterns.hour12h,
dateString,
);
case "ho":
return match.ordinalNumber(dateString, { unit: "hour" });
default:
return parseNDigits(token.length, dateString);
return (0, _utils.parseNDigits)(token.length, dateString);
}
}
@@ -34,3 +40,4 @@ export class Hour1to12Parser extends Parser {
incompatibleTokens = ["H", "K", "k", "t", "T"];
}
exports.Hour1to12Parser = Hour1to12Parser;

View File

@@ -1,24 +1,19 @@
"use strict";
exports.Hour1to12Parser = void 0;
var _constants = require("../constants.js");
var _Parser = require("../Parser.js");
import { numericPatterns } from "../constants.js";
import { Parser } from "../Parser.js";
var _utils = require("../utils.js");
import { parseNDigits, parseNumericPattern } from "../utils.js";
class Hour1to12Parser extends _Parser.Parser {
export class Hour1to12Parser extends Parser {
priority = 70;
parse(dateString, token, match) {
switch (token) {
case "h":
return (0, _utils.parseNumericPattern)(
_constants.numericPatterns.hour12h,
dateString,
);
return parseNumericPattern(numericPatterns.hour12h, dateString);
case "ho":
return match.ordinalNumber(dateString, { unit: "hour" });
default:
return (0, _utils.parseNDigits)(token.length, dateString);
return parseNDigits(token.length, dateString);
}
}
@@ -40,4 +35,3 @@ class Hour1to12Parser extends _Parser.Parser {
incompatibleTokens = ["H", "K", "k", "t", "T"];
}
exports.Hour1to12Parser = Hour1to12Parser;

View File

@@ -1,9 +1,12 @@
import { setISODay } from "../../../setISODay.mjs";
import { Parser } from "../Parser.mjs";
import { mapValue, parseNDigits } from "../utils.mjs";
"use strict";
exports.ISODayParser = void 0;
var _index = require("../../../setISODay.cjs");
var _Parser = require("../Parser.cjs");
var _utils = require("../utils.cjs");
// ISO day of week
export class ISODayParser extends Parser {
class ISODayParser extends _Parser.Parser {
priority = 90;
parse(dateString, token, match) {
@@ -18,13 +21,13 @@ export class ISODayParser extends Parser {
// 2
case "i":
case "ii": // 02
return parseNDigits(token.length, dateString);
return (0, _utils.parseNDigits)(token.length, dateString);
// 2nd
case "io":
return match.ordinalNumber(dateString, { unit: "day" });
// Tue
case "iii":
return mapValue(
return (0, _utils.mapValue)(
match.day(dateString, {
width: "abbreviated",
context: "formatting",
@@ -41,7 +44,7 @@ export class ISODayParser extends Parser {
);
// T
case "iiiii":
return mapValue(
return (0, _utils.mapValue)(
match.day(dateString, {
width: "narrow",
context: "formatting",
@@ -50,7 +53,7 @@ export class ISODayParser extends Parser {
);
// Tu
case "iiiiii":
return mapValue(
return (0, _utils.mapValue)(
match.day(dateString, {
width: "short",
context: "formatting",
@@ -64,7 +67,7 @@ export class ISODayParser extends Parser {
// Tuesday
case "iiii":
default:
return mapValue(
return (0, _utils.mapValue)(
match.day(dateString, {
width: "wide",
context: "formatting",
@@ -91,7 +94,7 @@ export class ISODayParser extends Parser {
}
set(date, _flags, value) {
date = setISODay(date, value);
date = (0, _index.setISODay)(date, value);
date.setHours(0, 0, 0, 0);
return date;
}
@@ -114,3 +117,4 @@ export class ISODayParser extends Parser {
"T",
];
}
exports.ISODayParser = ISODayParser;

View File

@@ -1,12 +1,10 @@
"use strict";
exports.ISODayParser = void 0;
var _index = require("../../../setISODay.js");
var _Parser = require("../Parser.js");
import { setISODay } from "../../../setISODay.js";
import { Parser } from "../Parser.js";
var _utils = require("../utils.js");
import { mapValue, parseNDigits } from "../utils.js";
// ISO day of week
class ISODayParser extends _Parser.Parser {
export class ISODayParser extends Parser {
priority = 90;
parse(dateString, token, match) {
@@ -21,13 +19,13 @@ class ISODayParser extends _Parser.Parser {
// 2
case "i":
case "ii": // 02
return (0, _utils.parseNDigits)(token.length, dateString);
return parseNDigits(token.length, dateString);
// 2nd
case "io":
return match.ordinalNumber(dateString, { unit: "day" });
// Tue
case "iii":
return (0, _utils.mapValue)(
return mapValue(
match.day(dateString, {
width: "abbreviated",
context: "formatting",
@@ -44,7 +42,7 @@ class ISODayParser extends _Parser.Parser {
);
// T
case "iiiii":
return (0, _utils.mapValue)(
return mapValue(
match.day(dateString, {
width: "narrow",
context: "formatting",
@@ -53,7 +51,7 @@ class ISODayParser extends _Parser.Parser {
);
// Tu
case "iiiiii":
return (0, _utils.mapValue)(
return mapValue(
match.day(dateString, {
width: "short",
context: "formatting",
@@ -67,7 +65,7 @@ class ISODayParser extends _Parser.Parser {
// Tuesday
case "iiii":
default:
return (0, _utils.mapValue)(
return mapValue(
match.day(dateString, {
width: "wide",
context: "formatting",
@@ -94,7 +92,7 @@ class ISODayParser extends _Parser.Parser {
}
set(date, _flags, value) {
date = (0, _index.setISODay)(date, value);
date = setISODay(date, value);
date.setHours(0, 0, 0, 0);
return date;
}
@@ -117,4 +115,3 @@ class ISODayParser extends _Parser.Parser {
"T",
];
}
exports.ISODayParser = ISODayParser;

View File

@@ -0,0 +1,57 @@
"use strict";
exports.ISOTimezoneParser = void 0;
var _index = require("../../../constructFrom.cjs");
var _index2 = require("../../../_lib/getTimezoneOffsetInMilliseconds.cjs");
var _constants = require("../constants.cjs");
var _Parser = require("../Parser.cjs");
var _utils = require("../utils.cjs");
// Timezone (ISO-8601)
class ISOTimezoneParser extends _Parser.Parser {
priority = 10;
parse(dateString, token) {
switch (token) {
case "x":
return (0, _utils.parseTimezonePattern)(
_constants.timezonePatterns.basicOptionalMinutes,
dateString,
);
case "xx":
return (0, _utils.parseTimezonePattern)(
_constants.timezonePatterns.basic,
dateString,
);
case "xxxx":
return (0, _utils.parseTimezonePattern)(
_constants.timezonePatterns.basicOptionalSeconds,
dateString,
);
case "xxxxx":
return (0, _utils.parseTimezonePattern)(
_constants.timezonePatterns.extendedOptionalSeconds,
dateString,
);
case "xxx":
default:
return (0, _utils.parseTimezonePattern)(
_constants.timezonePatterns.extended,
dateString,
);
}
}
set(date, flags, value) {
if (flags.timestampIsSet) return date;
return (0, _index.constructFrom)(
date,
date.getTime() -
(0, _index2.getTimezoneOffsetInMilliseconds)(date) -
value,
);
}
incompatibleTokens = ["t", "T", "X"];
}
exports.ISOTimezoneParser = ISOTimezoneParser;

View File

@@ -1,57 +1,46 @@
"use strict";
exports.ISOTimezoneParser = void 0;
var _index = require("../../../constructFrom.js");
var _index2 = require("../../../_lib/getTimezoneOffsetInMilliseconds.js");
var _constants = require("../constants.js");
var _Parser = require("../Parser.js");
import { constructFrom } from "../../../constructFrom.js";
import { getTimezoneOffsetInMilliseconds } from "../../../_lib/getTimezoneOffsetInMilliseconds.js";
import { timezonePatterns } from "../constants.js";
import { Parser } from "../Parser.js";
var _utils = require("../utils.js");
import { parseTimezonePattern } from "../utils.js";
// Timezone (ISO-8601)
class ISOTimezoneParser extends _Parser.Parser {
export class ISOTimezoneParser extends Parser {
priority = 10;
parse(dateString, token) {
switch (token) {
case "x":
return (0, _utils.parseTimezonePattern)(
_constants.timezonePatterns.basicOptionalMinutes,
return parseTimezonePattern(
timezonePatterns.basicOptionalMinutes,
dateString,
);
case "xx":
return (0, _utils.parseTimezonePattern)(
_constants.timezonePatterns.basic,
dateString,
);
return parseTimezonePattern(timezonePatterns.basic, dateString);
case "xxxx":
return (0, _utils.parseTimezonePattern)(
_constants.timezonePatterns.basicOptionalSeconds,
return parseTimezonePattern(
timezonePatterns.basicOptionalSeconds,
dateString,
);
case "xxxxx":
return (0, _utils.parseTimezonePattern)(
_constants.timezonePatterns.extendedOptionalSeconds,
return parseTimezonePattern(
timezonePatterns.extendedOptionalSeconds,
dateString,
);
case "xxx":
default:
return (0, _utils.parseTimezonePattern)(
_constants.timezonePatterns.extended,
dateString,
);
return parseTimezonePattern(timezonePatterns.extended, dateString);
}
}
set(date, flags, value) {
if (flags.timestampIsSet) return date;
return (0, _index.constructFrom)(
return constructFrom(
date,
date.getTime() -
(0, _index2.getTimezoneOffsetInMilliseconds)(date) -
value,
date.getTime() - getTimezoneOffsetInMilliseconds(date) - value,
);
}
incompatibleTokens = ["t", "T", "X"];
}
exports.ISOTimezoneParser = ISOTimezoneParser;

View File

@@ -1,45 +0,0 @@
import { constructFrom } from "../../../constructFrom.mjs";
import { getTimezoneOffsetInMilliseconds } from "../../../_lib/getTimezoneOffsetInMilliseconds.mjs";
import { timezonePatterns } from "../constants.mjs";
import { Parser } from "../Parser.mjs";
import { parseTimezonePattern } from "../utils.mjs";
// Timezone (ISO-8601)
export class ISOTimezoneParser extends Parser {
priority = 10;
parse(dateString, token) {
switch (token) {
case "x":
return parseTimezonePattern(
timezonePatterns.basicOptionalMinutes,
dateString,
);
case "xx":
return parseTimezonePattern(timezonePatterns.basic, dateString);
case "xxxx":
return parseTimezonePattern(
timezonePatterns.basicOptionalSeconds,
dateString,
);
case "xxxxx":
return parseTimezonePattern(
timezonePatterns.extendedOptionalSeconds,
dateString,
);
case "xxx":
default:
return parseTimezonePattern(timezonePatterns.extended, dateString);
}
}
set(date, flags, value) {
if (flags.timestampIsSet) return date;
return constructFrom(
date,
date.getTime() - getTimezoneOffsetInMilliseconds(date) - value,
);
}
incompatibleTokens = ["t", "T", "X"];
}

View File

@@ -0,0 +1,57 @@
"use strict";
exports.ISOTimezoneWithZParser = void 0;
var _index = require("../../../constructFrom.cjs");
var _index2 = require("../../../_lib/getTimezoneOffsetInMilliseconds.cjs");
var _constants = require("../constants.cjs");
var _Parser = require("../Parser.cjs");
var _utils = require("../utils.cjs");
// Timezone (ISO-8601. +00:00 is `'Z'`)
class ISOTimezoneWithZParser extends _Parser.Parser {
priority = 10;
parse(dateString, token) {
switch (token) {
case "X":
return (0, _utils.parseTimezonePattern)(
_constants.timezonePatterns.basicOptionalMinutes,
dateString,
);
case "XX":
return (0, _utils.parseTimezonePattern)(
_constants.timezonePatterns.basic,
dateString,
);
case "XXXX":
return (0, _utils.parseTimezonePattern)(
_constants.timezonePatterns.basicOptionalSeconds,
dateString,
);
case "XXXXX":
return (0, _utils.parseTimezonePattern)(
_constants.timezonePatterns.extendedOptionalSeconds,
dateString,
);
case "XXX":
default:
return (0, _utils.parseTimezonePattern)(
_constants.timezonePatterns.extended,
dateString,
);
}
}
set(date, flags, value) {
if (flags.timestampIsSet) return date;
return (0, _index.constructFrom)(
date,
date.getTime() -
(0, _index2.getTimezoneOffsetInMilliseconds)(date) -
value,
);
}
incompatibleTokens = ["t", "T", "x"];
}
exports.ISOTimezoneWithZParser = ISOTimezoneWithZParser;

View File

@@ -1,57 +1,46 @@
"use strict";
exports.ISOTimezoneWithZParser = void 0;
var _index = require("../../../constructFrom.js");
var _index2 = require("../../../_lib/getTimezoneOffsetInMilliseconds.js");
var _constants = require("../constants.js");
var _Parser = require("../Parser.js");
import { constructFrom } from "../../../constructFrom.js";
import { getTimezoneOffsetInMilliseconds } from "../../../_lib/getTimezoneOffsetInMilliseconds.js";
import { timezonePatterns } from "../constants.js";
import { Parser } from "../Parser.js";
var _utils = require("../utils.js");
import { parseTimezonePattern } from "../utils.js";
// Timezone (ISO-8601. +00:00 is `'Z'`)
class ISOTimezoneWithZParser extends _Parser.Parser {
export class ISOTimezoneWithZParser extends Parser {
priority = 10;
parse(dateString, token) {
switch (token) {
case "X":
return (0, _utils.parseTimezonePattern)(
_constants.timezonePatterns.basicOptionalMinutes,
return parseTimezonePattern(
timezonePatterns.basicOptionalMinutes,
dateString,
);
case "XX":
return (0, _utils.parseTimezonePattern)(
_constants.timezonePatterns.basic,
dateString,
);
return parseTimezonePattern(timezonePatterns.basic, dateString);
case "XXXX":
return (0, _utils.parseTimezonePattern)(
_constants.timezonePatterns.basicOptionalSeconds,
return parseTimezonePattern(
timezonePatterns.basicOptionalSeconds,
dateString,
);
case "XXXXX":
return (0, _utils.parseTimezonePattern)(
_constants.timezonePatterns.extendedOptionalSeconds,
return parseTimezonePattern(
timezonePatterns.extendedOptionalSeconds,
dateString,
);
case "XXX":
default:
return (0, _utils.parseTimezonePattern)(
_constants.timezonePatterns.extended,
dateString,
);
return parseTimezonePattern(timezonePatterns.extended, dateString);
}
}
set(date, flags, value) {
if (flags.timestampIsSet) return date;
return (0, _index.constructFrom)(
return constructFrom(
date,
date.getTime() -
(0, _index2.getTimezoneOffsetInMilliseconds)(date) -
value,
date.getTime() - getTimezoneOffsetInMilliseconds(date) - value,
);
}
incompatibleTokens = ["t", "T", "x"];
}
exports.ISOTimezoneWithZParser = ISOTimezoneWithZParser;

View File

@@ -1,45 +0,0 @@
import { constructFrom } from "../../../constructFrom.mjs";
import { getTimezoneOffsetInMilliseconds } from "../../../_lib/getTimezoneOffsetInMilliseconds.mjs";
import { timezonePatterns } from "../constants.mjs";
import { Parser } from "../Parser.mjs";
import { parseTimezonePattern } from "../utils.mjs";
// Timezone (ISO-8601. +00:00 is `'Z'`)
export class ISOTimezoneWithZParser extends Parser {
priority = 10;
parse(dateString, token) {
switch (token) {
case "X":
return parseTimezonePattern(
timezonePatterns.basicOptionalMinutes,
dateString,
);
case "XX":
return parseTimezonePattern(timezonePatterns.basic, dateString);
case "XXXX":
return parseTimezonePattern(
timezonePatterns.basicOptionalSeconds,
dateString,
);
case "XXXXX":
return parseTimezonePattern(
timezonePatterns.extendedOptionalSeconds,
dateString,
);
case "XXX":
default:
return parseTimezonePattern(timezonePatterns.extended, dateString);
}
}
set(date, flags, value) {
if (flags.timestampIsSet) return date;
return constructFrom(
date,
date.getTime() - getTimezoneOffsetInMilliseconds(date) - value,
);
}
incompatibleTokens = ["t", "T", "x"];
}

View File

@@ -0,0 +1,53 @@
"use strict";
exports.ISOWeekParser = void 0;
var _index = require("../../../setISOWeek.cjs");
var _index2 = require("../../../startOfISOWeek.cjs");
var _constants = require("../constants.cjs");
var _Parser = require("../Parser.cjs");
var _utils = require("../utils.cjs");
// ISO week of year
class ISOWeekParser extends _Parser.Parser {
priority = 100;
parse(dateString, token, match) {
switch (token) {
case "I":
return (0, _utils.parseNumericPattern)(
_constants.numericPatterns.week,
dateString,
);
case "Io":
return match.ordinalNumber(dateString, { unit: "week" });
default:
return (0, _utils.parseNDigits)(token.length, dateString);
}
}
validate(_date, value) {
return value >= 1 && value <= 53;
}
set(date, _flags, value) {
return (0, _index2.startOfISOWeek)((0, _index.setISOWeek)(date, value));
}
incompatibleTokens = [
"y",
"Y",
"u",
"q",
"Q",
"M",
"L",
"w",
"d",
"D",
"e",
"c",
"t",
"T",
];
}
exports.ISOWeekParser = ISOWeekParser;

View File

@@ -1,27 +1,22 @@
"use strict";
exports.ISOWeekParser = void 0;
var _index = require("../../../setISOWeek.js");
var _index2 = require("../../../startOfISOWeek.js");
var _constants = require("../constants.js");
var _Parser = require("../Parser.js");
import { setISOWeek } from "../../../setISOWeek.js";
import { startOfISOWeek } from "../../../startOfISOWeek.js";
import { numericPatterns } from "../constants.js";
import { Parser } from "../Parser.js";
var _utils = require("../utils.js");
import { parseNDigits, parseNumericPattern } from "../utils.js";
// ISO week of year
class ISOWeekParser extends _Parser.Parser {
export class ISOWeekParser extends Parser {
priority = 100;
parse(dateString, token, match) {
switch (token) {
case "I":
return (0, _utils.parseNumericPattern)(
_constants.numericPatterns.week,
dateString,
);
return parseNumericPattern(numericPatterns.week, dateString);
case "Io":
return match.ordinalNumber(dateString, { unit: "week" });
default:
return (0, _utils.parseNDigits)(token.length, dateString);
return parseNDigits(token.length, dateString);
}
}
@@ -30,7 +25,7 @@ class ISOWeekParser extends _Parser.Parser {
}
set(date, _flags, value) {
return (0, _index2.startOfISOWeek)((0, _index.setISOWeek)(date, value));
return startOfISOWeek(setISOWeek(date, value));
}
incompatibleTokens = [
@@ -50,4 +45,3 @@ class ISOWeekParser extends _Parser.Parser {
"T",
];
}
exports.ISOWeekParser = ISOWeekParser;

View File

@@ -1,46 +0,0 @@
import { setISOWeek } from "../../../setISOWeek.mjs";
import { startOfISOWeek } from "../../../startOfISOWeek.mjs";
import { numericPatterns } from "../constants.mjs";
import { Parser } from "../Parser.mjs";
import { parseNDigits, parseNumericPattern } from "../utils.mjs";
// ISO week of year
export class ISOWeekParser extends Parser {
priority = 100;
parse(dateString, token, match) {
switch (token) {
case "I":
return parseNumericPattern(numericPatterns.week, dateString);
case "Io":
return match.ordinalNumber(dateString, { unit: "week" });
default:
return parseNDigits(token.length, dateString);
}
}
validate(_date, value) {
return value >= 1 && value <= 53;
}
set(date, _flags, value) {
return startOfISOWeek(setISOWeek(date, value));
}
incompatibleTokens = [
"y",
"Y",
"u",
"q",
"Q",
"M",
"L",
"w",
"d",
"D",
"e",
"c",
"t",
"T",
];
}

View File

@@ -0,0 +1,46 @@
"use strict";
exports.ISOWeekYearParser = void 0;
var _index = require("../../../startOfISOWeek.cjs");
var _index2 = require("../../../constructFrom.cjs");
var _Parser = require("../Parser.cjs");
var _utils = require("../utils.cjs");
// ISO week-numbering year
class ISOWeekYearParser extends _Parser.Parser {
priority = 130;
parse(dateString, token) {
if (token === "R") {
return (0, _utils.parseNDigitsSigned)(4, dateString);
}
return (0, _utils.parseNDigitsSigned)(token.length, dateString);
}
set(date, _flags, value) {
const firstWeekOfYear = (0, _index2.constructFrom)(date, 0);
firstWeekOfYear.setFullYear(value, 0, 4);
firstWeekOfYear.setHours(0, 0, 0, 0);
return (0, _index.startOfISOWeek)(firstWeekOfYear);
}
incompatibleTokens = [
"G",
"y",
"Y",
"u",
"Q",
"q",
"M",
"L",
"w",
"d",
"D",
"e",
"c",
"t",
"T",
];
}
exports.ISOWeekYearParser = ISOWeekYearParser;

View File

@@ -1,28 +1,26 @@
"use strict";
exports.ISOWeekYearParser = void 0;
var _index = require("../../../startOfISOWeek.js");
var _index2 = require("../../../constructFrom.js");
var _Parser = require("../Parser.js");
import { startOfISOWeek } from "../../../startOfISOWeek.js";
import { constructFrom } from "../../../constructFrom.js";
import { Parser } from "../Parser.js";
var _utils = require("../utils.js");
import { parseNDigitsSigned } from "../utils.js";
// ISO week-numbering year
class ISOWeekYearParser extends _Parser.Parser {
export class ISOWeekYearParser extends Parser {
priority = 130;
parse(dateString, token) {
if (token === "R") {
return (0, _utils.parseNDigitsSigned)(4, dateString);
return parseNDigitsSigned(4, dateString);
}
return (0, _utils.parseNDigitsSigned)(token.length, dateString);
return parseNDigitsSigned(token.length, dateString);
}
set(date, _flags, value) {
const firstWeekOfYear = (0, _index2.constructFrom)(date, 0);
const firstWeekOfYear = constructFrom(date, 0);
firstWeekOfYear.setFullYear(value, 0, 4);
firstWeekOfYear.setHours(0, 0, 0, 0);
return (0, _index.startOfISOWeek)(firstWeekOfYear);
return startOfISOWeek(firstWeekOfYear);
}
incompatibleTokens = [
@@ -43,4 +41,3 @@ class ISOWeekYearParser extends _Parser.Parser {
"T",
];
}
exports.ISOWeekYearParser = ISOWeekYearParser;

View File

@@ -1,42 +0,0 @@
import { startOfISOWeek } from "../../../startOfISOWeek.mjs";
import { constructFrom } from "../../../constructFrom.mjs";
import { Parser } from "../Parser.mjs";
import { parseNDigitsSigned } from "../utils.mjs";
// ISO week-numbering year
export class ISOWeekYearParser extends Parser {
priority = 130;
parse(dateString, token) {
if (token === "R") {
return parseNDigitsSigned(4, dateString);
}
return parseNDigitsSigned(token.length, dateString);
}
set(date, _flags, value) {
const firstWeekOfYear = constructFrom(date, 0);
firstWeekOfYear.setFullYear(value, 0, 4);
firstWeekOfYear.setHours(0, 0, 0, 0);
return startOfISOWeek(firstWeekOfYear);
}
incompatibleTokens = [
"G",
"y",
"Y",
"u",
"Q",
"q",
"M",
"L",
"w",
"d",
"D",
"e",
"c",
"t",
"T",
];
}

View File

@@ -1,9 +1,12 @@
import { setDay } from "../../../setDay.mjs";
import { Parser } from "../Parser.mjs";
import { mapValue, parseNDigits } from "../utils.mjs";
"use strict";
exports.LocalDayParser = void 0;
var _index = require("../../../setDay.cjs");
var _Parser = require("../Parser.cjs");
var _utils = require("../utils.cjs");
// Local day of week
export class LocalDayParser extends Parser {
class LocalDayParser extends _Parser.Parser {
priority = 90;
parse(dateString, token, match, options) {
const valueCallback = (value) => {
@@ -16,10 +19,13 @@ export class LocalDayParser extends Parser {
// 3
case "e":
case "ee": // 03
return mapValue(parseNDigits(token.length, dateString), valueCallback);
return (0, _utils.mapValue)(
(0, _utils.parseNDigits)(token.length, dateString),
valueCallback,
);
// 3rd
case "eo":
return mapValue(
return (0, _utils.mapValue)(
match.ordinalNumber(dateString, {
unit: "day",
}),
@@ -69,7 +75,7 @@ export class LocalDayParser extends Parser {
}
set(date, _flags, value, options) {
date = setDay(date, value, options);
date = (0, _index.setDay)(date, value, options);
date.setHours(0, 0, 0, 0);
return date;
}
@@ -92,3 +98,4 @@ export class LocalDayParser extends Parser {
"T",
];
}
exports.LocalDayParser = LocalDayParser;

View File

@@ -1,12 +1,10 @@
"use strict";
exports.LocalDayParser = void 0;
var _index = require("../../../setDay.js");
var _Parser = require("../Parser.js");
import { setDay } from "../../../setDay.js";
import { Parser } from "../Parser.js";
var _utils = require("../utils.js");
import { mapValue, parseNDigits } from "../utils.js";
// Local day of week
class LocalDayParser extends _Parser.Parser {
export class LocalDayParser extends Parser {
priority = 90;
parse(dateString, token, match, options) {
const valueCallback = (value) => {
@@ -19,13 +17,10 @@ class LocalDayParser extends _Parser.Parser {
// 3
case "e":
case "ee": // 03
return (0, _utils.mapValue)(
(0, _utils.parseNDigits)(token.length, dateString),
valueCallback,
);
return mapValue(parseNDigits(token.length, dateString), valueCallback);
// 3rd
case "eo":
return (0, _utils.mapValue)(
return mapValue(
match.ordinalNumber(dateString, {
unit: "day",
}),
@@ -75,7 +70,7 @@ class LocalDayParser extends _Parser.Parser {
}
set(date, _flags, value, options) {
date = (0, _index.setDay)(date, value, options);
date = setDay(date, value, options);
date.setHours(0, 0, 0, 0);
return date;
}
@@ -98,4 +93,3 @@ class LocalDayParser extends _Parser.Parser {
"T",
];
}
exports.LocalDayParser = LocalDayParser;

View File

@@ -0,0 +1,55 @@
"use strict";
exports.LocalWeekParser = void 0;
var _index = require("../../../setWeek.cjs");
var _index2 = require("../../../startOfWeek.cjs");
var _constants = require("../constants.cjs");
var _Parser = require("../Parser.cjs");
var _utils = require("../utils.cjs");
// Local week of year
class LocalWeekParser extends _Parser.Parser {
priority = 100;
parse(dateString, token, match) {
switch (token) {
case "w":
return (0, _utils.parseNumericPattern)(
_constants.numericPatterns.week,
dateString,
);
case "wo":
return match.ordinalNumber(dateString, { unit: "week" });
default:
return (0, _utils.parseNDigits)(token.length, dateString);
}
}
validate(_date, value) {
return value >= 1 && value <= 53;
}
set(date, _flags, value, options) {
return (0, _index2.startOfWeek)(
(0, _index.setWeek)(date, value, options),
options,
);
}
incompatibleTokens = [
"y",
"R",
"u",
"q",
"Q",
"M",
"L",
"I",
"d",
"D",
"i",
"t",
"T",
];
}
exports.LocalWeekParser = LocalWeekParser;

View File

@@ -1,27 +1,22 @@
"use strict";
exports.LocalWeekParser = void 0;
var _index = require("../../../setWeek.js");
var _index2 = require("../../../startOfWeek.js");
var _constants = require("../constants.js");
var _Parser = require("../Parser.js");
import { setWeek } from "../../../setWeek.js";
import { startOfWeek } from "../../../startOfWeek.js";
import { numericPatterns } from "../constants.js";
import { Parser } from "../Parser.js";
var _utils = require("../utils.js");
import { parseNDigits, parseNumericPattern } from "../utils.js";
// Local week of year
class LocalWeekParser extends _Parser.Parser {
export class LocalWeekParser extends Parser {
priority = 100;
parse(dateString, token, match) {
switch (token) {
case "w":
return (0, _utils.parseNumericPattern)(
_constants.numericPatterns.week,
dateString,
);
return parseNumericPattern(numericPatterns.week, dateString);
case "wo":
return match.ordinalNumber(dateString, { unit: "week" });
default:
return (0, _utils.parseNDigits)(token.length, dateString);
return parseNDigits(token.length, dateString);
}
}
@@ -30,10 +25,7 @@ class LocalWeekParser extends _Parser.Parser {
}
set(date, _flags, value, options) {
return (0, _index2.startOfWeek)(
(0, _index.setWeek)(date, value, options),
options,
);
return startOfWeek(setWeek(date, value, options), options);
}
incompatibleTokens = [
@@ -52,4 +44,3 @@ class LocalWeekParser extends _Parser.Parser {
"T",
];
}
exports.LocalWeekParser = LocalWeekParser;

View File

@@ -1,45 +0,0 @@
import { setWeek } from "../../../setWeek.mjs";
import { startOfWeek } from "../../../startOfWeek.mjs";
import { numericPatterns } from "../constants.mjs";
import { Parser } from "../Parser.mjs";
import { parseNDigits, parseNumericPattern } from "../utils.mjs";
// Local week of year
export class LocalWeekParser extends Parser {
priority = 100;
parse(dateString, token, match) {
switch (token) {
case "w":
return parseNumericPattern(numericPatterns.week, dateString);
case "wo":
return match.ordinalNumber(dateString, { unit: "week" });
default:
return parseNDigits(token.length, dateString);
}
}
validate(_date, value) {
return value >= 1 && value <= 53;
}
set(date, _flags, value, options) {
return startOfWeek(setWeek(date, value, options), options);
}
incompatibleTokens = [
"y",
"R",
"u",
"q",
"Q",
"M",
"L",
"I",
"d",
"D",
"i",
"t",
"T",
];
}

View File

@@ -1,10 +1,14 @@
import { getWeekYear } from "../../../getWeekYear.mjs";
import { startOfWeek } from "../../../startOfWeek.mjs";
import { Parser } from "../Parser.mjs";
import { mapValue, normalizeTwoDigitYear, parseNDigits } from "../utils.mjs";
"use strict";
exports.LocalWeekYearParser = void 0;
var _index = require("../../../getWeekYear.cjs");
var _index2 = require("../../../startOfWeek.cjs");
var _Parser = require("../Parser.cjs");
var _utils = require("../utils.cjs");
// Local week-numbering year
export class LocalWeekYearParser extends Parser {
class LocalWeekYearParser extends _Parser.Parser {
priority = 130;
parse(dateString, token, match) {
@@ -15,16 +19,22 @@ export class LocalWeekYearParser extends Parser {
switch (token) {
case "Y":
return mapValue(parseNDigits(4, dateString), valueCallback);
return (0, _utils.mapValue)(
(0, _utils.parseNDigits)(4, dateString),
valueCallback,
);
case "Yo":
return mapValue(
return (0, _utils.mapValue)(
match.ordinalNumber(dateString, {
unit: "year",
}),
valueCallback,
);
default:
return mapValue(parseNDigits(token.length, dateString), valueCallback);
return (0, _utils.mapValue)(
(0, _utils.parseNDigits)(token.length, dateString),
valueCallback,
);
}
}
@@ -33,10 +43,10 @@ export class LocalWeekYearParser extends Parser {
}
set(date, flags, value, options) {
const currentYear = getWeekYear(date, options);
const currentYear = (0, _index.getWeekYear)(date, options);
if (value.isTwoDigitYear) {
const normalizedTwoDigitYear = normalizeTwoDigitYear(
const normalizedTwoDigitYear = (0, _utils.normalizeTwoDigitYear)(
value.year,
currentYear,
);
@@ -46,14 +56,14 @@ export class LocalWeekYearParser extends Parser {
options.firstWeekContainsDate,
);
date.setHours(0, 0, 0, 0);
return startOfWeek(date, options);
return (0, _index2.startOfWeek)(date, options);
}
const year =
!("era" in flags) || flags.era === 1 ? value.year : 1 - value.year;
date.setFullYear(year, 0, options.firstWeekContainsDate);
date.setHours(0, 0, 0, 0);
return startOfWeek(date, options);
return (0, _index2.startOfWeek)(date, options);
}
incompatibleTokens = [
@@ -72,3 +82,4 @@ export class LocalWeekYearParser extends Parser {
"T",
];
}
exports.LocalWeekYearParser = LocalWeekYearParser;

View File

@@ -1,14 +1,12 @@
"use strict";
exports.LocalWeekYearParser = void 0;
var _index = require("../../../getWeekYear.js");
import { getWeekYear } from "../../../getWeekYear.js";
var _index2 = require("../../../startOfWeek.js");
var _Parser = require("../Parser.js");
import { startOfWeek } from "../../../startOfWeek.js";
import { Parser } from "../Parser.js";
var _utils = require("../utils.js");
import { mapValue, normalizeTwoDigitYear, parseNDigits } from "../utils.js";
// Local week-numbering year
class LocalWeekYearParser extends _Parser.Parser {
export class LocalWeekYearParser extends Parser {
priority = 130;
parse(dateString, token, match) {
@@ -19,22 +17,16 @@ class LocalWeekYearParser extends _Parser.Parser {
switch (token) {
case "Y":
return (0, _utils.mapValue)(
(0, _utils.parseNDigits)(4, dateString),
valueCallback,
);
return mapValue(parseNDigits(4, dateString), valueCallback);
case "Yo":
return (0, _utils.mapValue)(
return mapValue(
match.ordinalNumber(dateString, {
unit: "year",
}),
valueCallback,
);
default:
return (0, _utils.mapValue)(
(0, _utils.parseNDigits)(token.length, dateString),
valueCallback,
);
return mapValue(parseNDigits(token.length, dateString), valueCallback);
}
}
@@ -43,10 +35,10 @@ class LocalWeekYearParser extends _Parser.Parser {
}
set(date, flags, value, options) {
const currentYear = (0, _index.getWeekYear)(date, options);
const currentYear = getWeekYear(date, options);
if (value.isTwoDigitYear) {
const normalizedTwoDigitYear = (0, _utils.normalizeTwoDigitYear)(
const normalizedTwoDigitYear = normalizeTwoDigitYear(
value.year,
currentYear,
);
@@ -56,14 +48,14 @@ class LocalWeekYearParser extends _Parser.Parser {
options.firstWeekContainsDate,
);
date.setHours(0, 0, 0, 0);
return (0, _index2.startOfWeek)(date, options);
return startOfWeek(date, options);
}
const year =
!("era" in flags) || flags.era === 1 ? value.year : 1 - value.year;
date.setFullYear(year, 0, options.firstWeekContainsDate);
date.setHours(0, 0, 0, 0);
return (0, _index2.startOfWeek)(date, options);
return startOfWeek(date, options);
}
incompatibleTokens = [
@@ -82,4 +74,3 @@ class LocalWeekYearParser extends _Parser.Parser {
"T",
];
}
exports.LocalWeekYearParser = LocalWeekYearParser;

View File

@@ -0,0 +1,36 @@
"use strict";
exports.MinuteParser = void 0;
var _constants = require("../constants.cjs");
var _Parser = require("../Parser.cjs");
var _utils = require("../utils.cjs");
class MinuteParser extends _Parser.Parser {
priority = 60;
parse(dateString, token, match) {
switch (token) {
case "m":
return (0, _utils.parseNumericPattern)(
_constants.numericPatterns.minute,
dateString,
);
case "mo":
return match.ordinalNumber(dateString, { unit: "minute" });
default:
return (0, _utils.parseNDigits)(token.length, dateString);
}
}
validate(_date, value) {
return value >= 0 && value <= 59;
}
set(date, _flags, value) {
date.setMinutes(value, 0, 0);
return date;
}
incompatibleTokens = ["t", "T"];
}
exports.MinuteParser = MinuteParser;

View File

@@ -1,24 +1,19 @@
"use strict";
exports.MinuteParser = void 0;
var _constants = require("../constants.js");
var _Parser = require("../Parser.js");
import { numericPatterns } from "../constants.js";
import { Parser } from "../Parser.js";
var _utils = require("../utils.js");
import { parseNDigits, parseNumericPattern } from "../utils.js";
class MinuteParser extends _Parser.Parser {
export class MinuteParser extends Parser {
priority = 60;
parse(dateString, token, match) {
switch (token) {
case "m":
return (0, _utils.parseNumericPattern)(
_constants.numericPatterns.minute,
dateString,
);
return parseNumericPattern(numericPatterns.minute, dateString);
case "mo":
return match.ordinalNumber(dateString, { unit: "minute" });
default:
return (0, _utils.parseNDigits)(token.length, dateString);
return parseNDigits(token.length, dateString);
}
}
@@ -33,4 +28,3 @@ class MinuteParser extends _Parser.Parser {
incompatibleTokens = ["t", "T"];
}
exports.MinuteParser = MinuteParser;

View File

@@ -1,29 +0,0 @@
import { numericPatterns } from "../constants.mjs";
import { Parser } from "../Parser.mjs";
import { parseNDigits, parseNumericPattern } from "../utils.mjs";
export class MinuteParser extends Parser {
priority = 60;
parse(dateString, token, match) {
switch (token) {
case "m":
return parseNumericPattern(numericPatterns.minute, dateString);
case "mo":
return match.ordinalNumber(dateString, { unit: "minute" });
default:
return parseNDigits(token.length, dateString);
}
}
validate(_date, value) {
return value >= 0 && value <= 59;
}
set(date, _flags, value) {
date.setMinutes(value, 0, 0);
return date;
}
incompatibleTokens = ["t", "T"];
}

View File

@@ -1,8 +1,11 @@
import { numericPatterns } from "../constants.mjs";
import { Parser } from "../Parser.mjs";
import { mapValue, parseNDigits, parseNumericPattern } from "../utils.mjs";
"use strict";
exports.MonthParser = void 0;
var _constants = require("../constants.cjs");
var _Parser = require("../Parser.cjs");
export class MonthParser extends Parser {
var _utils = require("../utils.cjs");
class MonthParser extends _Parser.Parser {
incompatibleTokens = [
"Y",
"R",
@@ -27,16 +30,22 @@ export class MonthParser extends Parser {
switch (token) {
// 1, 2, ..., 12
case "M":
return mapValue(
parseNumericPattern(numericPatterns.month, dateString),
return (0, _utils.mapValue)(
(0, _utils.parseNumericPattern)(
_constants.numericPatterns.month,
dateString,
),
valueCallback,
);
// 01, 02, ..., 12
case "MM":
return mapValue(parseNDigits(2, dateString), valueCallback);
return (0, _utils.mapValue)(
(0, _utils.parseNDigits)(2, dateString),
valueCallback,
);
// 1st, 2nd, ..., 12th
case "Mo":
return mapValue(
return (0, _utils.mapValue)(
match.ordinalNumber(dateString, {
unit: "month",
}),
@@ -82,3 +91,4 @@ export class MonthParser extends Parser {
return date;
}
}
exports.MonthParser = MonthParser;

View File

@@ -1,11 +1,9 @@
"use strict";
exports.MonthParser = void 0;
var _constants = require("../constants.js");
var _Parser = require("../Parser.js");
import { numericPatterns } from "../constants.js";
import { Parser } from "../Parser.js";
var _utils = require("../utils.js");
import { mapValue, parseNDigits, parseNumericPattern } from "../utils.js";
class MonthParser extends _Parser.Parser {
export class MonthParser extends Parser {
incompatibleTokens = [
"Y",
"R",
@@ -30,22 +28,16 @@ class MonthParser extends _Parser.Parser {
switch (token) {
// 1, 2, ..., 12
case "M":
return (0, _utils.mapValue)(
(0, _utils.parseNumericPattern)(
_constants.numericPatterns.month,
dateString,
),
return mapValue(
parseNumericPattern(numericPatterns.month, dateString),
valueCallback,
);
// 01, 02, ..., 12
case "MM":
return (0, _utils.mapValue)(
(0, _utils.parseNDigits)(2, dateString),
valueCallback,
);
return mapValue(parseNDigits(2, dateString), valueCallback);
// 1st, 2nd, ..., 12th
case "Mo":
return (0, _utils.mapValue)(
return mapValue(
match.ordinalNumber(dateString, {
unit: "month",
}),
@@ -91,4 +83,3 @@ class MonthParser extends _Parser.Parser {
return date;
}
}
exports.MonthParser = MonthParser;

View File

@@ -1,7 +1,10 @@
import { Parser } from "../Parser.mjs";
import { parseNDigits } from "../utils.mjs";
"use strict";
exports.QuarterParser = void 0;
var _Parser = require("../Parser.cjs");
export class QuarterParser extends Parser {
var _utils = require("../utils.cjs");
class QuarterParser extends _Parser.Parser {
priority = 120;
parse(dateString, token, match) {
@@ -9,7 +12,7 @@ export class QuarterParser extends Parser {
// 1, 2, 3, 4
case "Q":
case "QQ": // 01, 02, 03, 04
return parseNDigits(token.length, dateString);
return (0, _utils.parseNDigits)(token.length, dateString);
// 1st, 2nd, 3rd, 4th
case "Qo":
return match.ordinalNumber(dateString, { unit: "quarter" });
@@ -79,3 +82,4 @@ export class QuarterParser extends Parser {
"T",
];
}
exports.QuarterParser = QuarterParser;

View File

@@ -1,10 +1,8 @@
"use strict";
exports.QuarterParser = void 0;
var _Parser = require("../Parser.js");
import { Parser } from "../Parser.js";
var _utils = require("../utils.js");
import { parseNDigits } from "../utils.js";
class QuarterParser extends _Parser.Parser {
export class QuarterParser extends Parser {
priority = 120;
parse(dateString, token, match) {
@@ -12,7 +10,7 @@ class QuarterParser extends _Parser.Parser {
// 1, 2, 3, 4
case "Q":
case "QQ": // 01, 02, 03, 04
return (0, _utils.parseNDigits)(token.length, dateString);
return parseNDigits(token.length, dateString);
// 1st, 2nd, 3rd, 4th
case "Qo":
return match.ordinalNumber(dateString, { unit: "quarter" });
@@ -82,4 +80,3 @@ class QuarterParser extends _Parser.Parser {
"T",
];
}
exports.QuarterParser = QuarterParser;

View File

@@ -0,0 +1,36 @@
"use strict";
exports.SecondParser = void 0;
var _constants = require("../constants.cjs");
var _Parser = require("../Parser.cjs");
var _utils = require("../utils.cjs");
class SecondParser extends _Parser.Parser {
priority = 50;
parse(dateString, token, match) {
switch (token) {
case "s":
return (0, _utils.parseNumericPattern)(
_constants.numericPatterns.second,
dateString,
);
case "so":
return match.ordinalNumber(dateString, { unit: "second" });
default:
return (0, _utils.parseNDigits)(token.length, dateString);
}
}
validate(_date, value) {
return value >= 0 && value <= 59;
}
set(date, _flags, value) {
date.setSeconds(value, 0);
return date;
}
incompatibleTokens = ["t", "T"];
}
exports.SecondParser = SecondParser;

View File

@@ -1,24 +1,19 @@
"use strict";
exports.SecondParser = void 0;
var _constants = require("../constants.js");
var _Parser = require("../Parser.js");
import { numericPatterns } from "../constants.js";
import { Parser } from "../Parser.js";
var _utils = require("../utils.js");
import { parseNDigits, parseNumericPattern } from "../utils.js";
class SecondParser extends _Parser.Parser {
export class SecondParser extends Parser {
priority = 50;
parse(dateString, token, match) {
switch (token) {
case "s":
return (0, _utils.parseNumericPattern)(
_constants.numericPatterns.second,
dateString,
);
return parseNumericPattern(numericPatterns.second, dateString);
case "so":
return match.ordinalNumber(dateString, { unit: "second" });
default:
return (0, _utils.parseNDigits)(token.length, dateString);
return parseNDigits(token.length, dateString);
}
}
@@ -33,4 +28,3 @@ class SecondParser extends _Parser.Parser {
incompatibleTokens = ["t", "T"];
}
exports.SecondParser = SecondParser;

View File

@@ -1,29 +0,0 @@
import { numericPatterns } from "../constants.mjs";
import { Parser } from "../Parser.mjs";
import { parseNDigits, parseNumericPattern } from "../utils.mjs";
export class SecondParser extends Parser {
priority = 50;
parse(dateString, token, match) {
switch (token) {
case "s":
return parseNumericPattern(numericPatterns.second, dateString);
case "so":
return match.ordinalNumber(dateString, { unit: "second" });
default:
return parseNDigits(token.length, dateString);
}
}
validate(_date, value) {
return value >= 0 && value <= 59;
}
set(date, _flags, value) {
date.setSeconds(value, 0);
return date;
}
incompatibleTokens = ["t", "T"];
}

View File

@@ -1,9 +1,12 @@
import { setDay } from "../../../setDay.mjs";
import { Parser } from "../Parser.mjs";
import { mapValue, parseNDigits } from "../utils.mjs";
"use strict";
exports.StandAloneLocalDayParser = void 0;
var _index = require("../../../setDay.cjs");
var _Parser = require("../Parser.cjs");
var _utils = require("../utils.cjs");
// Stand-alone local day of week
export class StandAloneLocalDayParser extends Parser {
class StandAloneLocalDayParser extends _Parser.Parser {
priority = 90;
parse(dateString, token, match, options) {
@@ -17,10 +20,13 @@ export class StandAloneLocalDayParser extends Parser {
// 3
case "c":
case "cc": // 03
return mapValue(parseNDigits(token.length, dateString), valueCallback);
return (0, _utils.mapValue)(
(0, _utils.parseNDigits)(token.length, dateString),
valueCallback,
);
// 3rd
case "co":
return mapValue(
return (0, _utils.mapValue)(
match.ordinalNumber(dateString, {
unit: "day",
}),
@@ -70,7 +76,7 @@ export class StandAloneLocalDayParser extends Parser {
}
set(date, _flags, value, options) {
date = setDay(date, value, options);
date = (0, _index.setDay)(date, value, options);
date.setHours(0, 0, 0, 0);
return date;
}
@@ -93,3 +99,4 @@ export class StandAloneLocalDayParser extends Parser {
"T",
];
}
exports.StandAloneLocalDayParser = StandAloneLocalDayParser;

Some files were not shown because too many files have changed in this diff Show More