UNPKG

date-fns

Version:

Modern JavaScript date utility library

675 lines (656 loc) 21.7 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/ca/_lib/formatDistance.js /** * Davant de les xifres que es diuen amb vocal inicial, 1 i 11, s'apostrofen els articles el i la i la preposició de igual que si estiguessin escrits amb lletres. * l'1 de juliol ('l'u') * l'11 de novembre ('l'onze') * l'11a clàusula del contracte ('l'onzena') * la contractació d'11 jugadors ('d'onze') * l'aval d'11.000 socis ('d'onze mil') * * Reference: https://aplicacions.llengua.gencat.cat/llc/AppJava/index.html?input_cercar=apostrofaci%25F3+davant+xifres&action=Principal&method=detall_completa&numPagina=1&idHit=11236&database=FITXES_PUB&tipusFont=Fitxes%20de%20l%27Optimot&idFont=11236&titol=apostrofaci%F3%20davant%20de%20xifres%20%2F%20apostrofaci%F3%20davant%20de%201%20i%2011&numeroResultat=1&clickLink=detall&tipusCerca=cerca.normes */ var formatDistanceLocale = { lessThanXSeconds: { one: "menys d'un segon", eleven: "menys d'onze segons", other: "menys de {{count}} segons" }, xSeconds: { one: "1 segon", other: "{{count}} segons" }, halfAMinute: "mig minut", lessThanXMinutes: { one: "menys d'un minut", eleven: "menys d'onze minuts", other: "menys de {{count}} minuts" }, xMinutes: { one: "1 minut", other: "{{count}} minuts" }, aboutXHours: { one: "aproximadament una hora", other: "aproximadament {{count}} hores" }, xHours: { one: "1 hora", other: "{{count}} hores" }, xDays: { one: "1 dia", other: "{{count}} dies" }, aboutXWeeks: { one: "aproximadament una setmana", other: "aproximadament {{count}} setmanes" }, xWeeks: { one: "1 setmana", other: "{{count}} setmanes" }, aboutXMonths: { one: "aproximadament un mes", other: "aproximadament {{count}} mesos" }, xMonths: { one: "1 mes", other: "{{count}} mesos" }, aboutXYears: { one: "aproximadament un any", other: "aproximadament {{count}} anys" }, xYears: { one: "1 any", other: "{{count}} anys" }, overXYears: { one: "més d'un any", eleven: "més d'onze anys", other: "més de {{count}} anys" }, almostXYears: { one: "gairebé un any", other: "gairebé {{count}} anys" } }; 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 if (count === 11 && tokenValue.eleven) result = tokenValue.eleven;else result = tokenValue.other.replace("{{count}}", String(count)); if (options !== null && options !== void 0 && options.addSuffix) if (options.comparison && options.comparison > 0) return "en " + result;else return "fa " + 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: "EEEE, d 'de' MMMM y", long: "d 'de' MMMM y", medium: "d MMM y", short: "dd/MM/y" }, defaultWidth: "full" }), time: buildFormatLongFn({ formats: { full: "HH:mm:ss zzzz", long: "HH:mm:ss z", medium: "HH:mm:ss", short: "HH:mm" }, defaultWidth: "full" }), dateTime: buildFormatLongFn({ formats: { full: "{{date}} 'a les' {{time}}", long: "{{date}} 'a les' {{time}}", medium: "{{date}}, {{time}}", short: "{{date}}, {{time}}" }, defaultWidth: "full" }) }; //#endregion //#region dist/date-fns/locale/ca/_lib/formatRelative.js var formatRelativeLocale = { lastWeek: "'el' eeee 'passat a la' LT", yesterday: "'ahir a la' p", today: "'avui a la' p", tomorrow: "'demà a la' p", nextWeek: "eeee 'a la' p", other: "P" }; var formatRelativeLocalePlural = { lastWeek: "'el' eeee 'passat a les' p", yesterday: "'ahir a les' p", today: "'avui a les' p", tomorrow: "'demà a les' p", nextWeek: "eeee 'a les' p", other: "P" }; var formatRelative = function formatRelative(token, date, _baseDate, _options) { if (date.getHours() !== 1) return formatRelativeLocalePlural[token]; 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/ca/_lib/localize.js /** * General information * Reference: https://aplicacions.llengua.gencat.cat * Reference: https://www.uoc.edu/portal/ca/servei-linguistic/convencions/abreviacions/simbols/simbols-habituals.html */ /** * Abans de Crist: https://aplicacions.llengua.gencat.cat/llc/AppJava/index.html?input_cercar=abans+de+crist&action=Principal&method=detall_completa&numPagina=1&idHit=6876&database=FITXES_PUB&tipusFont=Fitxes%20de%20l%27Optimot&idFont=6876&titol=abans%20de%20Crist%20(abreviatura)%20/%20abans%20de%20Crist%20(sigla)&numeroResultat=1&clickLink=detall&tipusCerca=cerca.fitxes * Desprest de Crist: https://aplicacions.llengua.gencat.cat/llc/AppJava/index.html?input_cercar=despr%E9s+de+crist&action=Principal&method=detall_completa&numPagina=1&idHit=6879&database=FITXES_PUB&tipusFont=Fitxes%20de%20l%27Optimot&idFont=6879&titol=despr%E9s%20de%20Crist%20(sigla)%20/%20despr%E9s%20de%20Crist%20(abreviatura)&numeroResultat=1&clickLink=detall&tipusCerca=cerca.fitxes */ var eraValues = { narrow: ["aC", "dC"], abbreviated: ["a. de C.", "d. de C."], wide: ["abans de Crist", "després de Crist"] }; var quarterValues = { narrow: [ "1", "2", "3", "4"], abbreviated: [ "T1", "T2", "T3", "T4"], wide: [ "1r trimestre", "2n trimestre", "3r trimestre", "4t trimestre"] }; /** * Dins d'un text convé fer servir la forma sencera dels mesos, ja que sempre és més clar el mot sencer que l'abreviatura, encara que aquesta sigui força coneguda. * Cal reservar, doncs, les abreviatures per a les llistes o classificacions, els gràfics, les taules o quadres estadístics, els textos publicitaris, etc. * * Reference: https://aplicacions.llengua.gencat.cat/llc/AppJava/index.html?input_cercar=abreviacions+mesos&action=Principal&method=detall_completa&numPagina=1&idHit=8402&database=FITXES_PUB&tipusFont=Fitxes%20de%20l%27Optimot&idFont=8402&titol=abreviatures%20dels%20mesos%20de%20l%27any&numeroResultat=5&clickLink=detall&tipusCerca=cerca.fitxes */ var monthValues = { narrow: [ "GN", "FB", "MÇ", "AB", "MG", "JN", "JL", "AG", "ST", "OC", "NV", "DS"], /** * Les abreviatures dels mesos de l'any es formen seguint una de les normes generals de formació d'abreviatures. * S'escriu la primera síl·laba i les consonants de la síl·laba següent anteriors a la primera vocal. * Els mesos de març, maig i juny no s'abreugen perquè són paraules d'una sola síl·laba. */ abbreviated: [ "gen.", "febr.", "març", "abr.", "maig", "juny", "jul.", "ag.", "set.", "oct.", "nov.", "des."], wide: [ "gener", "febrer", "març", "abril", "maig", "juny", "juliol", "agost", "setembre", "octubre", "novembre", "desembre"] }; /** * Les abreviatures dels dies de la setmana comencen totes amb la lletra d. * Tot seguit porten la consonant següent a la i, excepte en el cas de dimarts, dimecres i diumenge, en què aquesta consonant és la m i, per tant, hi podria haver confusió. * Per evitar-ho, s'ha substituït la m per una t (en el cas de dimarts), una c (en el cas de dimecres) i una g (en el cas de diumenge), respectivament. * * Seguint la norma general d'ús de les abreviatures, les dels dies de la setmana sempre porten punt final. * Igualment, van amb la primera lletra en majúscula quan la paraula sencera també hi aniria. * En canvi, van amb la primera lletra en minúscula quan la inicial de la paraula sencera també hi aniria. * * Reference: https://aplicacions.llengua.gencat.cat/llc/AppJava/index.html?input_cercar=abreviatures+dies&action=Principal&method=detall_completa&numPagina=1&idHit=8387&database=FITXES_PUB&tipusFont=Fitxes%20de%20l%27Optimot&idFont=8387&titol=abreviatures%20dels%20dies%20de%20la%20setmana&numeroResultat=1&clickLink=detall&tipusCerca=cerca.tot */ var dayValues = { narrow: [ "dg.", "dl.", "dt.", "dm.", "dj.", "dv.", "ds."], short: [ "dg.", "dl.", "dt.", "dm.", "dj.", "dv.", "ds."], abbreviated: [ "dg.", "dl.", "dt.", "dm.", "dj.", "dv.", "ds."], wide: [ "diumenge", "dilluns", "dimarts", "dimecres", "dijous", "divendres", "dissabte"] }; /** * Reference: https://aplicacions.llengua.gencat.cat/llc/AppJava/index.html?action=Principal&method=detall&input_cercar=parts+del+dia&numPagina=1&database=FITXES_PUB&idFont=12801&idHit=12801&tipusFont=Fitxes+de+l%27Optimot&numeroResultat=1&databases_avansada=&categories_avansada=&clickLink=detall&titol=Nom+de+les+parts+del+dia&tematica=&tipusCerca=cerca.fitxes */ var dayPeriodValues = { narrow: { am: "am", pm: "pm", midnight: "mitjanit", noon: "migdia", morning: "matí", afternoon: "tarda", evening: "vespre", night: "nit" }, abbreviated: { am: "a.m.", pm: "p.m.", midnight: "mitjanit", noon: "migdia", morning: "matí", afternoon: "tarda", evening: "vespre", night: "nit" }, wide: { am: "ante meridiem", pm: "post meridiem", midnight: "mitjanit", noon: "migdia", morning: "matí", afternoon: "tarda", evening: "vespre", night: "nit" } }; var formattingDayPeriodValues = { narrow: { am: "am", pm: "pm", midnight: "de la mitjanit", noon: "del migdia", morning: "del matí", afternoon: "de la tarda", evening: "del vespre", night: "de la nit" }, abbreviated: { am: "AM", pm: "PM", midnight: "de la mitjanit", noon: "del migdia", morning: "del matí", afternoon: "de la tarda", evening: "del vespre", night: "de la nit" }, wide: { am: "ante meridiem", pm: "post meridiem", midnight: "de la mitjanit", noon: "del migdia", morning: "del matí", afternoon: "de la tarda", evening: "del vespre", night: "de la nit" } }; /** * Quan van en singular, els nombres ordinals es representen, en forma d’abreviatura, amb la xifra seguida de l’última lletra del mot desplegat. * És optatiu posar punt després de la lletra. * * Reference: https://aplicacions.llengua.gencat.cat/llc/AppJava/pdf/abrevia.pdf#page=18 */ var ordinalNumber = function ordinalNumber(dirtyNumber, _options) { var number = Number(dirtyNumber); var rem100 = number % 100; if (rem100 > 20 || rem100 < 10) switch (rem100 % 10) { case 1:return number + "r"; case 2:return number + "n"; case 3:return number + "r"; case 4:return number + "t"; } 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/ca.js /** * @category Locales * @summary Catalan locale. * @language Catalan * @iso-639-2 cat * @author Guillermo Grau [@guigrpa](https://github.com/guigrpa) * @author Alex Vizcaino [@avizcaino](https://github.com/avizcaino) */ var ca = { code: "ca", formatDistance: formatDistance, formatLong: formatLong, formatRelative: formatRelative, localize: localize, match: { ordinalNumber: buildMatchPatternFn({ matchPattern: /^(\d+)(è|r|n|r|t)?/i, parsePattern: /\d+/i, valueCallback: function valueCallback(value) {return parseInt(value, 10);} }), era: buildMatchFn({ matchPatterns: { narrow: /^(aC|dC)/i, abbreviated: /^(a. de C.|d. de C.)/i, wide: /^(abans de Crist|despr[eé]s de Crist)/i }, defaultMatchWidth: "wide", parsePatterns: { narrow: [/^aC/i, /^dC/i], abbreviated: [/^(a. de C.)/i, /^(d. de C.)/i], wide: [/^(abans de Crist)/i, /^(despr[eé]s de Crist)/i] }, defaultParseWidth: "wide" }), quarter: buildMatchFn({ matchPatterns: { narrow: /^[1234]/i, abbreviated: /^T[1234]/i, wide: /^[1234](è|r|n|r|t)? trimestre/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: /^(GN|FB|MÇ|AB|MG|JN|JL|AG|ST|OC|NV|DS)/i, abbreviated: /^(gen.|febr.|març|abr.|maig|juny|jul.|ag.|set.|oct.|nov.|des.)/i, wide: /^(gener|febrer|març|abril|maig|juny|juliol|agost|setembre|octubre|novembre|desembre)/i }, defaultMatchWidth: "wide", parsePatterns: { narrow: [ /^GN/i, /^FB/i, /^MÇ/i, /^AB/i, /^MG/i, /^JN/i, /^JL/i, /^AG/i, /^ST/i, /^OC/i, /^NV/i, /^DS/i], abbreviated: [ /^gen./i, /^febr./i, /^març/i, /^abr./i, /^maig/i, /^juny/i, /^jul./i, /^ag./i, /^set./i, /^oct./i, /^nov./i, /^des./i], wide: [ /^gener/i, /^febrer/i, /^març/i, /^abril/i, /^maig/i, /^juny/i, /^juliol/i, /^agost/i, /^setembre/i, /^octubre/i, /^novembre/i, /^desembre/i] }, defaultParseWidth: "wide" }), day: buildMatchFn({ matchPatterns: { narrow: /^(dg\.|dl\.|dt\.|dm\.|dj\.|dv\.|ds\.)/i, short: /^(dg\.|dl\.|dt\.|dm\.|dj\.|dv\.|ds\.)/i, abbreviated: /^(dg\.|dl\.|dt\.|dm\.|dj\.|dv\.|ds\.)/i, wide: /^(diumenge|dilluns|dimarts|dimecres|dijous|divendres|dissabte)/i }, defaultMatchWidth: "wide", parsePatterns: { narrow: [ /^dg./i, /^dl./i, /^dt./i, /^dm./i, /^dj./i, /^dv./i, /^ds./i], abbreviated: [ /^dg./i, /^dl./i, /^dt./i, /^dm./i, /^dj./i, /^dv./i, /^ds./i], wide: [ /^diumenge/i, /^dilluns/i, /^dimarts/i, /^dimecres/i, /^dijous/i, /^divendres/i, /^disssabte/i] }, defaultParseWidth: "wide" }), dayPeriod: buildMatchFn({ matchPatterns: { narrow: /^(a|p|mn|md|(del|de la) (matí|tarda|vespre|nit))/i, abbreviated: /^([ap]\.?\s?m\.?|mitjanit|migdia|(del|de la) (matí|tarda|vespre|nit))/i, wide: /^(ante meridiem|post meridiem|mitjanit|migdia|(del|de la) (matí|tarda|vespre|nit))/i }, defaultMatchWidth: "wide", parsePatterns: { any: { am: /^a/i, pm: /^p/i, midnight: /^mitjanit/i, noon: /^migdia/i, morning: /matí/i, afternoon: /tarda/i, evening: /vespre/i, night: /nit/i } }, defaultParseWidth: "any" }) }, options: { weekStartsOn: 1, firstWeekContainsDate: 4 } }; //#endregion //#region dist/date-fns/_entries/locale/ca/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), {}, { ca: ca }) }); //#endregion console.log("date-fns CDN files have moved to @date-fns/cdn. Please update your URLs. See: https://date-fns.org/docs/CDN"); })();