Skipped 1 file(s) >100MB (GitHub limit): source/__polyfill/04xxx/module_4821.js (118.4 MB)
99 lines
5.1 KiB
JavaScript
99 lines
5.1 KiB
JavaScript
// Module ID: 10654
|
|
// Function ID: 10655
|
|
// Dependencies: [10560, 10561]
|
|
// Exports: parseDuration, parseNumberPattern, parseOrdinalNumberPattern, parseYear
|
|
|
|
// Module 10654
|
|
import repeatedTimeunitPattern from "repeatedTimeunitPattern" /* 10560 */;
|
|
import findMostLikelyADYear from "findMostLikelyADYear" /* 10561 */;
|
|
|
|
const combined = "(" + exports.NUMBER_PATTERN + ")\\s{0,5}(" + repeatedTimeunitPattern.matchAnyPattern(exports.TIME_UNIT_DICTIONARY) + ")\\s{0,5}";
|
|
const regExp = new RegExp(combined, "i");
|
|
|
|
export const parseNumberPattern = function parseNumberPattern(str) {
|
|
str = str.toLowerCase();
|
|
if (undefined !== exports.INTEGER_WORD_DICTIONARY[str]) {
|
|
let num = exports.INTEGER_WORD_DICTIONARY[str];
|
|
} else {
|
|
num = 2;
|
|
if ("paar" !== str) {
|
|
let num3 = 0.5;
|
|
if ("half" !== str) {
|
|
num3 = 0.5;
|
|
if (!str.match(/halve?/)) {
|
|
const _parseFloat = parseFloat;
|
|
num3 = parseFloat(str.replace(",", "."));
|
|
}
|
|
}
|
|
num = num3;
|
|
}
|
|
}
|
|
return num;
|
|
};
|
|
export const parseOrdinalNumberPattern = function parseOrdinalNumberPattern(str) {
|
|
str = str.toLowerCase();
|
|
if (undefined !== exports.ORDINAL_WORD_DICTIONARY[str]) {
|
|
return exports.ORDINAL_WORD_DICTIONARY[str];
|
|
} else {
|
|
const _parseInt = parseInt;
|
|
return parseInt(str.replace(/(?:ste|de)$/i, ""));
|
|
}
|
|
};
|
|
export const parseYear = function parseYear(match) {
|
|
if (obj.test(match)) {
|
|
const _parseInt3 = parseInt;
|
|
return -parseInt(match.replace(/voor Christus/i, ""));
|
|
} else {
|
|
if (obj2.test(match)) {
|
|
const _parseInt2 = parseInt;
|
|
return parseInt(match.replace(/na Christus/i, ""));
|
|
} else {
|
|
const _parseInt = parseInt;
|
|
const parsed = parseInt(match);
|
|
return findMostLikelyADYear.findMostLikelyADYear(parsed);
|
|
}
|
|
obj2 = /na Christus/i;
|
|
}
|
|
obj = /voor Christus/i;
|
|
};
|
|
export const parseDuration = function parseDuration(arg0) {
|
|
let str = arg0;
|
|
const obj = {};
|
|
let match = regExp.exec(arg0);
|
|
while (match) {
|
|
let str2 = match[1];
|
|
let str3 = str2.toLowerCase();
|
|
let tmp2 = exports;
|
|
if (undefined !== exports.INTEGER_WORD_DICTIONARY[str3]) {
|
|
let num = tmp2.INTEGER_WORD_DICTIONARY[str3];
|
|
} else {
|
|
num = 2;
|
|
if ("paar" !== str3) {
|
|
let num2 = 0.5;
|
|
if ("half" !== str3) {
|
|
num2 = 0.5;
|
|
if (!str3.match(/halve?/)) {
|
|
let _parseFloat = parseFloat;
|
|
num2 = parseFloat(str3.replace(",", "."));
|
|
}
|
|
}
|
|
num = num2;
|
|
}
|
|
}
|
|
let str4 = match[2];
|
|
obj[tmp2.TIME_UNIT_DICTIONARY[str4.toLowerCase(str4)]] = num;
|
|
let substr = str.substring(match[0].length);
|
|
match = regExp.exec(substr);
|
|
str = substr;
|
|
}
|
|
return obj;
|
|
};
|
|
export const WEEKDAY_DICTIONARY = { zondag: 0, zon: 0, "zon.": 0, zo: 0, "zo.": 0, maandag: 1, ma: 1, "ma.": 1, dinsdag: 2, din: 2, "din.": 2, di: 2, "di.": 2, woensdag: 3, woe: 3, "woe.": 3, wo: 3, "wo.": 3, donderdag: 4, dond: 4, "dond.": 4, do: 4, "do.": 4, vrijdag: 5, vrij: 5, "vrij.": 5, vr: 5, "vr.": 5, zaterdag: 6, zat: 6, "zat.": 6, za: 6, "za.": 6 };
|
|
export const MONTH_DICTIONARY = { januari: 1, jan: 1, "jan.": 1, februari: 2, feb: 2, "feb.": 2, maart: 3, mar: 3, "mar.": 3, mrt: 3, "mrt.": 3, april: 4, apr: 4, "apr.": 4, mei: 5, juni: 6, jun: 6, "jun.": 6, juli: 7, jul: 7, "jul.": 7, augustus: 8, aug: 8, "aug.": 8, september: 9, sep: 9, "sep.": 9, sept: 9, "sept.": 9, oktober: 10, okt: 10, "okt.": 10, november: 11, nov: 11, "nov.": 11, december: 12, dec: 12, "dec.": 12 };
|
|
export const INTEGER_WORD_DICTIONARY = { een: 1, twee: 2, drie: 3, vier: 4, vijf: 5, zes: 6, zeven: 7, acht: 8, negen: 9, tien: 10, elf: 11, twaalf: 12 };
|
|
export const ORDINAL_WORD_DICTIONARY = { eerste: 1, tweede: 2, derde: 3, vierde: 4, vijfde: 5, zesde: 6, zevende: 7, achtste: 8, negende: 9, tiende: 10, elfde: 11, twaalfde: 12, dertiende: 13, veertiende: 14, vijftiende: 15, zestiende: 16, zeventiende: 17, achttiende: 18, negentiende: 19, twintigste: 20, eenentwintigste: 21, "tweeëntwintigste": 22, drieentwintigste: 23, vierentwintigste: 24, vijfentwintigste: 25, zesentwintigste: 26, zevenentwintigste: 27, achtentwintig: 28, negenentwintig: 29, dertigste: 30, eenendertigste: 31 };
|
|
export const TIME_UNIT_DICTIONARY = { sec: "second", second: "second", seconden: "second", min: "minute", mins: "minute", minute: "minute", minuut: "minute", minuten: "minute", minuutje: "minute", h: "hour", hr: "hour", hrs: "hour", uur: "hour", u: "hour", uren: "hour", dag: "day", dagen: "day", week: "week", weken: "week", maand: "month", maanden: "month", jaar: "year", jr: "year", jaren: "year" };
|
|
export const NUMBER_PATTERN = "(?:" + repeatedTimeunitPattern.matchAnyPattern(exports.INTEGER_WORD_DICTIONARY) + "|[0-9]+|[0-9]+[\\.,][0-9]+|halve?|half|paar)";
|
|
export const ORDINAL_NUMBER_PATTERN = "(?:" + repeatedTimeunitPattern.matchAnyPattern(exports.ORDINAL_WORD_DICTIONARY) + "|[0-9]{1,2}(?:ste|de)?)";
|
|
export const YEAR_PATTERN = "(?:[1-9][0-9]{0,3}\\s*(?:voor Christus|na Christus)|[1-2][0-9]{3}|[5-9][0-9])";
|
|
export const TIME_UNITS_PATTERN = repeatedTimeunitPattern.repeatedTimeunitPattern("(?:(?:binnen|in)\\s*)?", combined);
|