{"version":3,"sources":["../src/internal/patterns.ts"],"names":[],"mappings":"","file":"patterns.d.ts","sourcesContent":["/*!\r\n   Copyright 2019 Ron Buckton\r\n\r\n   Licensed under the Apache License, Version 2.0 (the \"License\");\r\n   you may not use this file except in compliance with the License.\r\n   You may obtain a copy of the License at\r\n\r\n       http://www.apache.org/licenses/LICENSE-2.0\r\n\r\n   Unless required by applicable law or agreed to in writing, software\r\n   distributed under the License is distributed on an \"AS IS\" BASIS,\r\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n   See the License for the specific language governing permissions and\r\n   limitations under the License.\r\n*/\r\nimport { R } from \"retemplate\";\r\n\r\n/* @internal */ export const SIGN = R`[+-]`;\r\n/* @internal */ export const DECIMAL = R`${SIGN}?\\d+(?:\\.\\d+)?`;\r\n\r\n// 4. Date and Time Representations\r\n\r\n// 4.1.2 Calendar Date\r\n/* @internal */ export const YEAR = R`(?<year>\\d{4})`;\r\n/* @internal */ export const MONTH = R`(?<month>\\d{2})`;\r\n/* @internal */ export const DAY = R`(?<day>\\d{2})`;\r\n\r\n// 4.1.3 Week Date\r\n/* @internal */ export const WEEK_OF_YEAR = R`W(?<weekOfYear>\\d{2})`;\r\n/* @internal */ export const DAY_OF_WEEK = R`(?<dayOfWeek>\\d)`;\r\n\r\n// 4.1.4 Ordinal Date\r\n/* @internal */ export const DAY_OF_YEAR = R`(?<dayOfYear>\\d{3})`;\r\n\r\n// 4.1.2.2 Complete Representations (Calendar Date)\r\n/* @internal */ export const CALENDAR_DATE_EXTENDED = R`${YEAR}-${MONTH}-${DAY}`;\r\n\r\n// 4.1.2.2 Complete Representations (Calendar Date)\r\n// 4.1.3.2 Complete Representations (Week Date)\r\n// 4.1.4.2 Complete Representations (Ordinal Date)\r\n/* @internal */ export const DATE_EXTENDED = R`${YEAR}-(?:${MONTH}-${DAY}|${WEEK_OF_YEAR}-${DAY_OF_WEEK}|${DAY_OF_YEAR})`;\r\n/* @internal */ export const DATE_BASIC = R`${YEAR}(?:${MONTH}${DAY}|${WEEK_OF_YEAR}${DAY_OF_WEEK}|${DAY_OF_YEAR})`;\r\n\r\n// 4.1.2.3 Representations with reduced precision (Calendar Date)\r\n/* @internal */ export const PARTIAL_CALENDAR_DATE_EXTENDED = R`(?:(?:${YEAR}-)?${MONTH}-)?${DAY}`;\r\n/* @internal */ export const PARTIAL_CALENDAR_DATE_BASIC = R`(?:${YEAR}?${MONTH})?${DAY}`;\r\n\r\n// 4.1.2.3 Representations with reduced precision (Week Date)\r\n/* @internal */ export const PARTIAL_WEEK_DATE_EXTENDED = R`(?:(?:${YEAR}-)?${WEEK_OF_YEAR}-)?${DAY_OF_WEEK}`;\r\n/* @internal */ export const PARTIAL_WEEK_DATE_BASIC = R`(?:${YEAR}?${WEEK_OF_YEAR})?${DAY_OF_WEEK}`;\r\n\r\n// 4.1.2.3 Representations with reduced precision (Ordinal Date)\r\n/* @internal */ export const PARTIAL_ORDINAL_DATE_EXTENDED = R`(?:${YEAR}-)?${DAY_OF_YEAR}`;\r\n/* @internal */ export const PARTIAL_ORDINAL_DATE_BASIC = R`${YEAR}?${DAY_OF_YEAR}`;\r\n\r\n// 4.2 Time of Day\r\n/* @internal */ export const HOUR = R`(?<hour>\\d{2})`;\r\n/* @internal */ export const MINUTE = R`(?<minute>\\d{2})`;\r\n/* @internal */ export const SECOND = R`(?<second>\\d{2})(?:\\.(?<millisecond>\\d{1,3})(?<nanosecond>\\d{1,6})?)?`;\r\n\r\n// 4.2.2.2 Complete Representations (Local Time)\r\n/* @internal */ export const TIME_EXTENDED = R`${HOUR}:${MINUTE}:${SECOND}`;\r\n/* @internal */ export const TIME_BASIC = R`${HOUR}${MINUTE}${SECOND}`;\r\n\r\n// 4.2.2.3 Representations with reduced precision (Local Time)\r\n/* @internal */ export const PARTIAL_TIME_EXTENDED = R`${HOUR}(?::${MINUTE}(?::${SECOND})?)?`;\r\n/* @internal */ export const PARTIAL_TIME_BASIC = R`${HOUR}(?:${MINUTE}${SECOND}?)?`;\r\n\r\n// 4.2.5.1 Difference between local time and UTC of day\r\n/* @internal */ export const OFFSET_EXTENDED = R`(?<offset>Z|${SIGN}\\d{2}(?::\\d{2}(?::\\d{2})?)?)`;\r\n/* @internal */ export const OFFSET_BASIC = R`(?<offset>Z|${SIGN}\\d{2}(?:\\d{2}(?:\\d{2})?)?)`;\r\n\r\n// 4.2.4 UTC of day\r\n// 4.2.5.2 Local time and the difference from UTC\r\n/* @internal */ export const OFFSET_TIME_EXTENDED = R`${TIME_EXTENDED}${OFFSET_EXTENDED}`;\r\n/* @internal */ export const OFFSET_TIME_BASIC = R`${TIME_BASIC}${OFFSET_BASIC}`;\r\n/* @internal */ export const PARTIAL_OFFSETTIME_EXTENDED = R`${PARTIAL_TIME_EXTENDED}${OFFSET_EXTENDED}?`;\r\n/* @internal */ export const PARTIAL_OFFSETTIME_BASIC = R`${PARTIAL_TIME_BASIC}${OFFSET_BASIC}?`;\r\n\r\n// 4.3.3 Representations other than complete (Date and time of day)\r\n/* @internal */ export const CALENDAR_DATETIME_EXTENDED = R`${CALENDAR_DATE_EXTENDED}T${TIME_EXTENDED}`;\r\n/* @internal */ export const DATETIME_EXTENDED = R`${DATE_EXTENDED}T${TIME_EXTENDED}`;\r\n/* @internal */ export const DATETIME_BASIC = R`${DATE_BASIC}T${TIME_BASIC}`;\r\n\r\n// 4.3.2 Complete Representations (Date and time of day)\r\n/* @internal */ export const OFFSET_DATETIME_EXTENDED = R`${DATETIME_EXTENDED}${OFFSET_EXTENDED}`;\r\n/* @internal */ export const OFFSET_DATETIME_BASIC = R`${DATETIME_BASIC}${OFFSET_BASIC}`;\r\n\r\n// 4.4.3 Duration\r\n/* @internal */ export const YEARS = R`(?<years>${DECIMAL})Y`;\r\n/* @internal */ export const MONTHS = R`(?<months>${DECIMAL})M`;\r\n/* @internal */ export const DAYS = R`(?<days>${DECIMAL})D`;\r\n/* @internal */ export const HOURS = R`(?<hours>${DECIMAL})H`;\r\n/* @internal */ export const MINUTES = R`(?<minutes>${DECIMAL})M`;\r\n/* @internal */ export const SECONDS = R`(?<seconds>${DECIMAL})S`;\r\n/* @internal */ export const DURATION = R`(?<sign>${SIGN})?P(?!$)${YEARS}?${MONTHS}?${DAYS}?(?:T(?!$)${HOURS}?${MINUTES}?${SECONDS}?)?`;\r\n\r\n// Non-standard\r\n/* @internal */ export const ZONE = R`(?:\\[(?<ianaZone>[\\w_]+(?:\\/[\\w_]+)*)\\])`;\r\n/* @internal */ export const ZONED_DATETIME_EXTENDED = R`${OFFSET_DATETIME_EXTENDED}${ZONE}?`;\r\n/* @internal */ export const ZONED_DATETIME_BASIC = R`${OFFSET_DATETIME_BASIC}${ZONE}?`;\r\n/* @internal */ export const PARTIAL_ZONED_CALENDAR_DATETIME_EXTENDED = R`${PARTIAL_CALENDAR_DATE_EXTENDED}?(?:T${PARTIAL_OFFSETTIME_EXTENDED}${ZONE}?)?`;\r\n/* @internal */ export const PARTIAL_ZONED_CALENDAR_DATETIME_BASIC = R`${PARTIAL_CALENDAR_DATE_BASIC}?(?:T${PARTIAL_OFFSETTIME_BASIC}${ZONE}?)?`;\r\n/* @internal */ export const PARTIAL_ZONED_WEEK_DATETIME_EXTENDED = R`${PARTIAL_WEEK_DATE_EXTENDED}?(?:T${PARTIAL_OFFSETTIME_EXTENDED}${ZONE}?)?`;\r\n/* @internal */ export const PARTIAL_ZONED_WEEK_DATETIME_BASIC = R`${PARTIAL_WEEK_DATE_BASIC}?(?:T${PARTIAL_OFFSETTIME_BASIC}${ZONE}?)?`;\r\n/* @internal */ export const PARTIAL_ZONED_ORDINAL_DATETIME_EXTENDED = R`${PARTIAL_ORDINAL_DATE_EXTENDED}?(?:T${PARTIAL_OFFSETTIME_EXTENDED}${ZONE}?)?`;\r\n/* @internal */ export const PARTIAL_ZONED_ORDINAL_DATETIME_BASIC = R`${PARTIAL_ORDINAL_DATE_BASIC}?(?:T${PARTIAL_OFFSETTIME_BASIC}${ZONE}?)?`;\r\n"],"sourceRoot":".."}