recoder-code
Version:
π AI-powered development platform - Chat with 32+ models, build projects, automate workflows. Free models included!
96 lines β’ 2.83 kB
JavaScript
import buildMatchPatternFn from "../../../_lib/buildMatchPatternFn/index.js";
import buildMatchFn from "../../../_lib/buildMatchFn/index.js";
var matchOrdinalNumberPattern = /^第?\d+(εΉ΄|εεζ|ζ|ι±|ζ₯|ζ|ε|η§)?/i;
var parseOrdinalNumberPattern = /\d+/i;
var matchEraPatterns = {
narrow: /^(B\.?C\.?|A\.?D\.?)/i,
abbreviated: /^(η΄ε
[εεΎ]|θ₯Ώζ¦)/i,
wide: /^(η΄ε
[εεΎ]|θ₯Ώζ¦)/i
};
var parseEraPatterns = {
narrow: [/^B/i, /^A/i],
any: [/^(η΄ε
ε)/i, /^(θ₯Ώζ¦|η΄ε
εΎ)/i]
};
var matchQuarterPatterns = {
narrow: /^[1234]/i,
abbreviated: /^Q[1234]/i,
wide: /^第[1234δΈδΊδΈεοΌοΌοΌοΌ]εεζ/i
};
var parseQuarterPatterns = {
any: [/(1|δΈ|οΌ)/i, /(2|δΊ|οΌ)/i, /(3|δΈ|οΌ)/i, /(4|ε|οΌ)/i]
};
var matchMonthPatterns = {
narrow: /^([123456789]|1[012])/,
abbreviated: /^([123456789]|1[012])ζ/i,
wide: /^([123456789]|1[012])ζ/i
};
var parseMonthPatterns = {
any: [/^1\D/, /^2/, /^3/, /^4/, /^5/, /^6/, /^7/, /^8/, /^9/, /^10/, /^11/, /^12/]
};
var matchDayPatterns = {
narrow: /^[ζ₯ζη«ζ°΄ζ¨ιε]/,
short: /^[ζ₯ζη«ζ°΄ζ¨ιε]/,
abbreviated: /^[ζ₯ζη«ζ°΄ζ¨ιε]/,
wide: /^[ζ₯ζη«ζ°΄ζ¨ιε]ζζ₯/
};
var parseDayPatterns = {
any: [/^ζ₯/, /^ζ/, /^η«/, /^ζ°΄/, /^ζ¨/, /^ι/, /^ε/]
};
var matchDayPeriodPatterns = {
any: /^(AM|PM|εε|εεΎ|ζ£ε|ζ·±ε€|ηε€δΈ|ε€|ζ)/i
};
var parseDayPeriodPatterns = {
any: {
am: /^(A|εε)/i,
pm: /^(P|εεΎ)/i,
midnight: /^ζ·±ε€|ηε€δΈ/i,
noon: /^ζ£ε/i,
morning: /^ζ/i,
afternoon: /^εεΎ/i,
evening: /^ε€/i,
night: /^ζ·±ε€/i
}
};
var match = {
ordinalNumber: buildMatchPatternFn({
matchPattern: matchOrdinalNumberPattern,
parsePattern: parseOrdinalNumberPattern,
valueCallback: function valueCallback(value) {
return parseInt(value, 10);
}
}),
era: buildMatchFn({
matchPatterns: matchEraPatterns,
defaultMatchWidth: 'wide',
parsePatterns: parseEraPatterns,
defaultParseWidth: 'any'
}),
quarter: buildMatchFn({
matchPatterns: matchQuarterPatterns,
defaultMatchWidth: 'wide',
parsePatterns: parseQuarterPatterns,
defaultParseWidth: 'any',
valueCallback: function valueCallback(index) {
return index + 1;
}
}),
month: buildMatchFn({
matchPatterns: matchMonthPatterns,
defaultMatchWidth: 'wide',
parsePatterns: parseMonthPatterns,
defaultParseWidth: 'any'
}),
day: buildMatchFn({
matchPatterns: matchDayPatterns,
defaultMatchWidth: 'wide',
parsePatterns: parseDayPatterns,
defaultParseWidth: 'any'
}),
dayPeriod: buildMatchFn({
matchPatterns: matchDayPeriodPatterns,
defaultMatchWidth: 'any',
parsePatterns: parseDayPeriodPatterns,
defaultParseWidth: 'any'
})
};
export default match;