UNPKG

@anoki/fse-marche-ui

Version:

FSE UI components library

94 lines (93 loc) 3.75 kB
import { isUndefined as s, weeksInWeekYear as m, timeObject as y, isInteger as w, integerBetween as u, daysInYear as k, daysInMonth as N, isLeapYear as h } from "./index.es124.js"; import T from "./index.es131.js"; import { ConflictingSpecificationError as L } from "./index.es130.js"; const W = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334], Y = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335]; function d(e, a) { return new T( "unit out of range", `you specified ${a} (of type ${typeof a}) as a ${e}, which is invalid` ); } function v(e, a, r) { const n = new Date(Date.UTC(e, a - 1, r)); e < 100 && e >= 0 && n.setUTCFullYear(n.getUTCFullYear() - 1900); const t = n.getUTCDay(); return t === 0 ? 7 : t; } function I(e, a, r) { return r + (h(e) ? Y : W)[a - 1]; } function p(e, a) { const r = h(e) ? Y : W, n = r.findIndex((o) => o < a), t = a - r[n]; return { month: n + 1, day: t }; } function g(e, a) { return (e - a + 7) % 7 + 1; } function S(e, a = 4, r = 1) { const { year: n, month: t, day: o } = e, f = I(n, t, o), c = g(v(n, t, o), r); let i = Math.floor((f - c + 14 - a) / 7), l; return i < 1 ? (l = n - 1, i = m(l, a, r)) : i > m(n, a, r) ? (l = n + 1, i = 1) : l = n, { weekYear: l, weekNumber: i, weekday: c, ...y(e) }; } function x(e, a = 4, r = 1) { const { weekYear: n, weekNumber: t, weekday: o } = e, f = g(v(n, 1, a), r), c = k(n); let i = t * 7 + o - f - 7 + a, l; i < 1 ? (l = n - 1, i += k(l)) : i > c ? (l = n + 1, i -= k(n)) : l = n; const { month: O, day: D } = p(l, i); return { year: l, month: O, day: D, ...y(e) }; } function G(e) { const { year: a, month: r, day: n } = e, t = I(a, r, n); return { year: a, ordinal: t, ...y(e) }; } function $(e) { const { year: a, ordinal: r } = e, { month: n, day: t } = p(a, r); return { year: a, month: n, day: t, ...y(e) }; } function F(e, a) { if (!s(e.localWeekday) || !s(e.localWeekNumber) || !s(e.localWeekYear)) { if (!s(e.weekday) || !s(e.weekNumber) || !s(e.weekYear)) throw new L( "Cannot mix locale-based week fields with ISO-based week fields" ); return s(e.localWeekday) || (e.weekday = e.localWeekday), s(e.localWeekNumber) || (e.weekNumber = e.localWeekNumber), s(e.localWeekYear) || (e.weekYear = e.localWeekYear), delete e.localWeekday, delete e.localWeekNumber, delete e.localWeekYear, { minDaysInFirstWeek: a.getMinDaysInFirstWeek(), startOfWeek: a.getStartOfWeek() }; } else return { minDaysInFirstWeek: 4, startOfWeek: 1 }; } function B(e, a = 4, r = 1) { const n = w(e.weekYear), t = u( e.weekNumber, 1, m(e.weekYear, a, r) ), o = u(e.weekday, 1, 7); return n ? t ? o ? !1 : d("weekday", e.weekday) : d("week", e.weekNumber) : d("weekYear", e.weekYear); } function E(e) { const a = w(e.year), r = u(e.ordinal, 1, k(e.year)); return a ? r ? !1 : d("ordinal", e.ordinal) : d("year", e.year); } function H(e) { const a = w(e.year), r = u(e.month, 1, 12), n = u(e.day, 1, N(e.year, e.month)); return a ? r ? n ? !1 : d("day", e.day) : d("month", e.month) : d("year", e.year); } function J(e) { const { hour: a, minute: r, second: n, millisecond: t } = e, o = u(a, 0, 23) || a === 24 && r === 0 && n === 0 && t === 0, f = u(r, 0, 59), c = u(n, 0, 59), i = u(t, 0, 999); return o ? f ? c ? i ? !1 : d("millisecond", t) : d("second", n) : d("minute", r) : d("hour", a); } export { v as dayOfWeek, G as gregorianToOrdinal, S as gregorianToWeek, H as hasInvalidGregorianData, E as hasInvalidOrdinalData, J as hasInvalidTimeData, B as hasInvalidWeekData, g as isoWeekdayToLocal, $ as ordinalToGregorian, F as usesLocalWeekValues, x as weekToGregorian }; //# sourceMappingURL=index.es128.js.map