UNPKG

date-fns

Version:

Modern JavaScript date utility library

568 lines (553 loc) 15.9 kB
(() => { var _window$dateFns;function _typeof(o) {"@babel/helpers - typeof";return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {return typeof o;} : function (o) {return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;}, _typeof(o);}function ownKeys(e, r) {var t = Object.keys(e);if (Object.getOwnPropertySymbols) {var o = Object.getOwnPropertySymbols(e);r && (o = o.filter(function (r) {return Object.getOwnPropertyDescriptor(e, r).enumerable;})), t.push.apply(t, o);}return t;}function _objectSpread(e) {for (var r = 1; r < arguments.length; r++) {var t = null != arguments[r] ? arguments[r] : {};r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {_defineProperty(e, r, t[r]);}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));});}return e;}function _defineProperty(e, r, t) {return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e;}function _toPropertyKey(t) {var i = _toPrimitive(t, "string");return "symbol" == _typeof(i) ? i : i + "";}function _toPrimitive(t, r) {if ("object" != _typeof(t) || !t) return t;var e = t[Symbol.toPrimitive];if (void 0 !== e) {var i = e.call(t, r || "default");if ("object" != _typeof(i)) return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return ("string" === r ? String : Number)(t);} //#region dist/date-fns/locale/zh-TW/_lib/formatDistance.js var formatDistanceLocale = { lessThanXSeconds: { one: "少於 1 秒", other: "少於 {{count}} 秒" }, xSeconds: { one: "1 秒", other: "{{count}} 秒" }, halfAMinute: "半分鐘", lessThanXMinutes: { one: "少於 1 分鐘", other: "少於 {{count}} 分鐘" }, xMinutes: { one: "1 分鐘", other: "{{count}} 分鐘" }, xHours: { one: "1 小時", other: "{{count}} 小時" }, aboutXHours: { one: "大約 1 小時", other: "大約 {{count}} 小時" }, xDays: { one: "1 天", other: "{{count}} 天" }, aboutXWeeks: { one: "大約 1 個星期", other: "大約 {{count}} 個星期" }, xWeeks: { one: "1 個星期", other: "{{count}} 個星期" }, aboutXMonths: { one: "大約 1 個月", other: "大約 {{count}} 個月" }, xMonths: { one: "1 個月", other: "{{count}} 個月" }, aboutXYears: { one: "大約 1 年", other: "大約 {{count}} 年" }, xYears: { one: "1 年", other: "{{count}} 年" }, overXYears: { one: "超過 1 年", other: "超過 {{count}} 年" }, almostXYears: { one: "將近 1 年", other: "將近 {{count}} 年" } }; var formatDistance = function formatDistance(token, count, options) { var result; var tokenValue = formatDistanceLocale[token]; if (typeof tokenValue === "string") result = tokenValue;else if (count === 1) result = tokenValue.one;else result = tokenValue.other.replace("{{count}}", String(count)); if (options !== null && options !== void 0 && options.addSuffix) if (options.comparison && options.comparison > 0) return result + "內";else return result + "前"; return result; }; //#endregion //#region dist/date-fns/locale/_lib/buildFormatLongFn.js function buildFormatLongFn(args) { return function () {var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var width = options.width ? String(options.width) : args.defaultWidth; return args.formats[width] || args.formats[args.defaultWidth]; }; } var formatLong = { date: buildFormatLongFn({ formats: { full: "y'年'M'月'd'日' EEEE", long: "y'年'M'月'd'日'", medium: "yyyy-MM-dd", short: "yy-MM-dd" }, defaultWidth: "full" }), time: buildFormatLongFn({ formats: { full: "zzzz a h:mm:ss", long: "z a h:mm:ss", medium: "a h:mm:ss", short: "a h:mm" }, defaultWidth: "full" }), dateTime: buildFormatLongFn({ formats: { full: "{{date}} {{time}}", long: "{{date}} {{time}}", medium: "{{date}} {{time}}", short: "{{date}} {{time}}" }, defaultWidth: "full" }) }; //#endregion //#region dist/date-fns/locale/zh-TW/_lib/formatRelative.js var formatRelativeLocale = { lastWeek: "'上個'eeee p", yesterday: "'昨天' p", today: "'今天' p", tomorrow: "'明天' p", nextWeek: "'下個'eeee p", other: "P" }; var formatRelative = function formatRelative(token, _date, _baseDate, _options) {return formatRelativeLocale[token];}; //#endregion //#region dist/date-fns/locale/_lib/buildLocalizeFn.js /** * The localize function argument callback which allows to convert raw value to * the actual type. * * @param value - The value to convert * * @returns The converted value */ /** * The map of localized values for each width. */ /** * The index type of the locale unit value. It types conversion of units of * values that don't start at 0 (i.e. quarters). */ /** * Converts the unit value to the tuple of values. */ /** * The tuple of localized era values. The first element represents BC, * the second element represents AD. */ /** * The tuple of localized quarter values. The first element represents Q1. */ /** * The tuple of localized day values. The first element represents Sunday. */ /** * The tuple of localized month values. The first element represents January. */ function buildLocalizeFn(args) { return function (value, options) { var context = options !== null && options !== void 0 && options.context ? String(options.context) : "standalone"; var valuesArray; if (context === "formatting" && args.formattingValues) { var defaultWidth = args.defaultFormattingWidth || args.defaultWidth; var width = options !== null && options !== void 0 && options.width ? String(options.width) : defaultWidth; valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth]; } else { var _defaultWidth = args.defaultWidth; var _width = options !== null && options !== void 0 && options.width ? String(options.width) : args.defaultWidth; valuesArray = args.values[_width] || args.values[_defaultWidth]; } var index = args.argumentCallback ? args.argumentCallback(value) : value; return valuesArray[index]; }; } //#endregion //#region dist/date-fns/locale/zh-TW/_lib/localize.js var eraValues = { narrow: ["前", "公元"], abbreviated: ["前", "公元"], wide: ["公元前", "公元"] }; var quarterValues = { narrow: [ "1", "2", "3", "4"], abbreviated: [ "第一刻", "第二刻", "第三刻", "第四刻"], wide: [ "第一刻鐘", "第二刻鐘", "第三刻鐘", "第四刻鐘"] }; var monthValues = { narrow: [ "一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二"], abbreviated: [ "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], wide: [ "一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"] }; var dayValues = { narrow: [ "日", "一", "二", "三", "四", "五", "六"], short: [ "日", "一", "二", "三", "四", "五", "六"], abbreviated: [ "週日", "週一", "週二", "週三", "週四", "週五", "週六"], wide: [ "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"] }; var dayPeriodValues = { narrow: { am: "上", pm: "下", midnight: "凌晨", noon: "午", morning: "早", afternoon: "下午", evening: "晚", night: "夜" }, abbreviated: { am: "上午", pm: "下午", midnight: "凌晨", noon: "中午", morning: "早晨", afternoon: "中午", evening: "晚上", night: "夜間" }, wide: { am: "上午", pm: "下午", midnight: "凌晨", noon: "中午", morning: "早晨", afternoon: "中午", evening: "晚上", night: "夜間" } }; var formattingDayPeriodValues = { narrow: { am: "上", pm: "下", midnight: "凌晨", noon: "午", morning: "早", afternoon: "下午", evening: "晚", night: "夜" }, abbreviated: { am: "上午", pm: "下午", midnight: "凌晨", noon: "中午", morning: "早晨", afternoon: "中午", evening: "晚上", night: "夜間" }, wide: { am: "上午", pm: "下午", midnight: "凌晨", noon: "中午", morning: "早晨", afternoon: "中午", evening: "晚上", night: "夜間" } }; var ordinalNumber = function ordinalNumber(dirtyNumber, options) { var number = Number(dirtyNumber); switch (options === null || options === void 0 ? void 0 : options.unit) { case "date":return number + "日"; case "hour":return number + "時"; case "minute":return number + "分"; case "second":return number + "秒"; default:return "第 " + number; } }; var localize = { ordinalNumber: ordinalNumber, era: buildLocalizeFn({ values: eraValues, defaultWidth: "wide" }), quarter: buildLocalizeFn({ values: quarterValues, defaultWidth: "wide", argumentCallback: function argumentCallback(quarter) {return quarter - 1;} }), month: buildLocalizeFn({ values: monthValues, defaultWidth: "wide" }), day: buildLocalizeFn({ values: dayValues, defaultWidth: "wide" }), dayPeriod: buildLocalizeFn({ values: dayPeriodValues, defaultWidth: "wide", formattingValues: formattingDayPeriodValues, defaultFormattingWidth: "wide" }) }; //#endregion //#region dist/date-fns/locale/_lib/buildMatchFn.js function buildMatchFn(args) { return function (string) {var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var width = options.width; var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth]; var matchResult = string.match(matchPattern); if (!matchResult) return null; var matchedString = matchResult[0]; var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth]; var key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, function (pattern) {return pattern.test(matchedString);}) : findKey(parsePatterns, function (pattern) {return pattern.test(matchedString);}); var value; value = args.valueCallback ? args.valueCallback(key) : key; value = options.valueCallback ? options.valueCallback(value) : value; var rest = string.slice(matchedString.length); return { value: value, rest: rest }; }; } function findKey(object, predicate) { for (var key in object) if (Object.prototype.hasOwnProperty.call(object, key) && predicate(object[key])) return key; } function findIndex(array, predicate) { for (var key = 0; key < array.length; key++) if (predicate(array[key])) return key; } //#endregion //#region dist/date-fns/locale/_lib/buildMatchPatternFn.js function buildMatchPatternFn(args) { return function (string) {var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var matchResult = string.match(args.matchPattern); if (!matchResult) return null; var matchedString = matchResult[0]; var parseResult = string.match(args.parsePattern); if (!parseResult) return null; var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0]; value = options.valueCallback ? options.valueCallback(value) : value; var rest = string.slice(matchedString.length); return { value: value, rest: rest }; }; } //#endregion //#region dist/date-fns/locale/zh-TW.js /** * @category Locales * @summary Chinese Traditional locale. * @language Chinese Traditional * @iso-639-2 zho * @author tonypai [@tpai](https://github.com/tpai) * @author Jack Hsu [@jackhsu978](https://github.com/jackhsu978) * @author Terrence Lam [@skyuplam](https://github.com/skyuplam) */ var zhTW = { code: "zh-TW", formatDistance: formatDistance, formatLong: formatLong, formatRelative: formatRelative, localize: localize, match: { ordinalNumber: buildMatchPatternFn({ matchPattern: /^(第\s*)?\d+(日|時|分|秒)?/i, parsePattern: /\d+/i, valueCallback: function valueCallback(value) {return parseInt(value, 10);} }), era: buildMatchFn({ matchPatterns: { narrow: /^(前)/i, abbreviated: /^(前)/i, wide: /^(公元前|公元)/i }, defaultMatchWidth: "wide", parsePatterns: { any: [/^(前)/i, /^(公元)/i] }, defaultParseWidth: "any" }), quarter: buildMatchFn({ matchPatterns: { narrow: /^[1234]/i, abbreviated: /^第[一二三四]刻/i, wide: /^第[一二三四]刻鐘/i }, defaultMatchWidth: "wide", parsePatterns: { any: [ /(1|一)/i, /(2|二)/i, /(3|三)/i, /(4|四)/i] }, defaultParseWidth: "any", valueCallback: function valueCallback(index) {return index + 1;} }), month: buildMatchFn({ matchPatterns: { narrow: /^(一|二|三|四|五|六|七|八|九|十[二一]?)/i, abbreviated: /^(一|二|三|四|五|六|七|八|九|十[二一]?|\d|1[0-2])月/i, wide: /^(一|二|三|四|五|六|七|八|九|十[二一]?)月/i }, defaultMatchWidth: "wide", parsePatterns: { narrow: [ /^一/i, /^二/i, /^三/i, /^四/i, /^五/i, /^六/i, /^七/i, /^八/i, /^九/i, /^十(?!(一|二))/i, /^十一/i, /^十二/i], any: [ /^(一|1(?!\d))/i, /^(二|2)/i, /^(三|3)/i, /^(四|4)/i, /^(五|5)/i, /^(六|6)/i, /^(七|7)/i, /^(八|8)/i, /^(九|9)/i, /^(十(?!(一|二))|10)/i, /^(十一|11)/i, /^(十二|12)/i] }, defaultParseWidth: "any" }), day: buildMatchFn({ matchPatterns: { narrow: /^[一二三四五六日]/i, short: /^[一二三四五六日]/i, abbreviated: /^週[一二三四五六日]/i, wide: /^星期[一二三四五六日]/i }, defaultMatchWidth: "wide", parsePatterns: { any: [ /日/i, /一/i, /二/i, /三/i, /四/i, /五/i, /六/i] }, defaultParseWidth: "any" }), dayPeriod: buildMatchFn({ matchPatterns: { any: /^(上午?|下午?|午夜|[中正]午|早上?|下午|晚上?|凌晨)/i }, defaultMatchWidth: "any", parsePatterns: { any: { am: /^上午?/i, pm: /^下午?/i, midnight: /^午夜/i, noon: /^[中正]午/i, morning: /^早上/i, afternoon: /^下午/i, evening: /^晚上?/i, night: /^凌晨/i } }, defaultParseWidth: "any" }) }, options: { weekStartsOn: 1, firstWeekContainsDate: 4 } }; //#endregion //#region dist/date-fns/_entries/locale/zh-TW/cdn.js window.dateFns = _objectSpread(_objectSpread({}, window.dateFns), {}, { locale: _objectSpread(_objectSpread({}, (_window$dateFns = window.dateFns) === null || _window$dateFns === void 0 ? void 0 : _window$dateFns.locale), {}, { zhTW: zhTW }) }); //#endregion console.log("date-fns CDN files have moved to @date-fns/cdn. Please update your URLs. See: https://date-fns.org/docs/CDN"); })();