@amcharts/amcharts5 5.2.20 → 5.2.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.internal/charts/hierarchy/Hierarchy.d.ts +7 -1
- package/.internal/charts/hierarchy/Hierarchy.d.ts.map +1 -1
- package/.internal/charts/hierarchy/Hierarchy.js +12 -4
- package/.internal/charts/hierarchy/Hierarchy.js.map +1 -1
- package/.internal/charts/hierarchy/HierarchyDefaultTheme.js.map +1 -1
- package/.internal/charts/percent/PercentDefaultTheme.js +8 -8
- package/.internal/charts/percent/PercentDefaultTheme.js.map +1 -1
- package/.internal/charts/stock/StockChart.js +1 -1
- package/.internal/charts/stock/StockChart.js.map +1 -1
- package/.internal/charts/stock/StockChartDefaultTheme.d.ts.map +1 -1
- package/.internal/charts/stock/StockChartDefaultTheme.js +62 -16
- package/.internal/charts/stock/StockChartDefaultTheme.js.map +1 -1
- package/.internal/charts/stock/drawing/DrawingSeries.d.ts.map +1 -1
- package/.internal/charts/stock/drawing/DrawingSeries.js +5 -2
- package/.internal/charts/stock/drawing/DrawingSeries.js.map +1 -1
- package/.internal/charts/stock/indicators/MedianPrice.d.ts +33 -0
- package/.internal/charts/stock/indicators/MedianPrice.d.ts.map +1 -0
- package/.internal/charts/stock/indicators/MedianPrice.js +104 -0
- package/.internal/charts/stock/indicators/MedianPrice.js.map +1 -0
- package/.internal/charts/stock/indicators/Trix.d.ts +49 -0
- package/.internal/charts/stock/indicators/Trix.d.ts.map +1 -0
- package/.internal/charts/stock/indicators/Trix.js +174 -0
- package/.internal/charts/stock/indicators/Trix.js.map +1 -0
- package/.internal/charts/stock/indicators/TypicalPrice.d.ts +33 -0
- package/.internal/charts/stock/indicators/TypicalPrice.d.ts.map +1 -0
- package/.internal/charts/stock/indicators/TypicalPrice.js +104 -0
- package/.internal/charts/stock/indicators/TypicalPrice.js.map +1 -0
- package/.internal/charts/stock/indicators/ZigZag.d.ts +40 -0
- package/.internal/charts/stock/indicators/ZigZag.d.ts.map +1 -0
- package/.internal/charts/stock/indicators/ZigZag.js +204 -0
- package/.internal/charts/stock/indicators/ZigZag.js.map +1 -0
- package/.internal/charts/stock/toolbar/DropdownList.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/DropdownList.js +2 -12
- package/.internal/charts/stock/toolbar/DropdownList.js.map +1 -1
- package/.internal/charts/stock/toolbar/IndicatorControl.d.ts +1 -1
- package/.internal/charts/stock/toolbar/IndicatorControl.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/IndicatorControl.js +31 -0
- package/.internal/charts/stock/toolbar/IndicatorControl.js.map +1 -1
- package/.internal/charts/stock/toolbar/StockControl.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/StockControl.js +2 -0
- package/.internal/charts/stock/toolbar/StockControl.js.map +1 -1
- package/.internal/charts/stock/toolbar/StockIcons.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/StockIcons.js +1 -0
- package/.internal/charts/stock/toolbar/StockIcons.js.map +1 -1
- package/.internal/charts/xy/XYChart.d.ts.map +1 -1
- package/.internal/charts/xy/XYChart.js +2 -0
- package/.internal/charts/xy/XYChart.js.map +1 -1
- package/.internal/charts/xy/XYChartDefaultTheme.d.ts.map +1 -1
- package/.internal/charts/xy/XYChartDefaultTheme.js +6 -2
- package/.internal/charts/xy/XYChartDefaultTheme.js.map +1 -1
- package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/DateAxis.js +15 -6
- package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
- package/.internal/charts/xy/axes/GaplessDateAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/GaplessDateAxis.js +8 -3
- package/.internal/charts/xy/axes/GaplessDateAxis.js.map +1 -1
- package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/ValueAxis.js +5 -0
- package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
- package/.internal/core/Classes.d.ts +8 -0
- package/.internal/core/Classes.d.ts.map +1 -1
- package/.internal/core/Classes.js.map +1 -1
- package/.internal/core/Root.d.ts.map +1 -1
- package/.internal/core/Root.js +6 -3
- package/.internal/core/Root.js.map +1 -1
- package/.internal/core/util/DateFormatter.d.ts.map +1 -1
- package/.internal/core/util/DateFormatter.js +7 -1
- package/.internal/core/util/DateFormatter.js.map +1 -1
- package/.internal/core/util/Language.d.ts +2 -0
- package/.internal/core/util/Language.d.ts.map +1 -1
- package/.internal/core/util/Language.js.map +1 -1
- package/.internal/core/util/NumberFormatter.d.ts.map +1 -1
- package/.internal/core/util/NumberFormatter.js +10 -3
- package/.internal/core/util/NumberFormatter.js.map +1 -1
- package/.internal/core/util/Time.d.ts +1 -1
- package/.internal/core/util/Time.d.ts.map +1 -1
- package/.internal/core/util/Time.js +19 -10
- package/.internal/core/util/Time.js.map +1 -1
- package/.internal/core/util/Utils.d.ts +1 -0
- package/.internal/core/util/Utils.d.ts.map +1 -1
- package/.internal/core/util/Utils.js +6 -0
- package/.internal/core/util/Utils.js.map +1 -1
- package/CHANGELOG.md +34 -0
- package/examples/javascript/flow-chord/package.json +1 -1
- package/examples/javascript/flow-chord-directed/package.json +1 -1
- package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
- package/examples/javascript/flow-sankey/package.json +1 -1
- package/examples/javascript/gauge/package.json +1 -1
- package/examples/javascript/gauge-bands/package.json +1 -1
- package/examples/javascript/hierarchy-force-directed/package.json +1 -1
- package/examples/javascript/hierarchy-pack/package.json +1 -1
- package/examples/javascript/hierarchy-partition/package.json +1 -1
- package/examples/javascript/hierarchy-sunburst/package.json +1 -1
- package/examples/javascript/hierarchy-tree/package.json +1 -1
- package/examples/javascript/hierarchy-treemap/package.json +1 -1
- package/examples/javascript/jest/package.json +1 -1
- package/examples/javascript/json/package.json +1 -1
- package/examples/javascript/map-animating-along-lines/package.json +1 -1
- package/examples/javascript/map-day-and-night/package.json +1 -1
- package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
- package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
- package/examples/javascript/map-with-bubbles/package.json +1 -1
- package/examples/javascript/map-zoom-to-country/package.json +1 -1
- package/examples/javascript/misc-40-charts/package.json +1 -1
- package/examples/javascript/misc-microchart-grid/package.json +1 -1
- package/examples/javascript/pie-chart/package.json +1 -1
- package/examples/javascript/pie-donut-chart/package.json +1 -1
- package/examples/javascript/pie-variable-radius/package.json +1 -1
- package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
- package/examples/javascript/radar-heat-map/package.json +1 -1
- package/examples/javascript/radar-line/package.json +1 -1
- package/examples/javascript/radar-time-line/package.json +1 -1
- package/examples/javascript/sliced-funnel/package.json +1 -1
- package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
- package/examples/javascript/sliced-pyramid/package.json +1 -1
- package/examples/javascript/stock-chart/package.json +1 -1
- package/examples/javascript/stock-chart-comparing-stocks/index.js +30 -0
- package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
- package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
- package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
- package/examples/javascript/stock-chart-intraday/package.json +1 -1
- package/examples/javascript/stock-chart-live/package.json +1 -1
- package/examples/javascript/stock-chart-volume-separate-panel/package.json +1 -1
- package/examples/javascript/venn-diagram/package.json +1 -1
- package/examples/javascript/wordcloud-with-data/package.json +1 -1
- package/examples/javascript/wordcloud-with-text/package.json +1 -1
- package/examples/javascript/xy-100-percent-stacked-column/index.js +1 -1
- package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
- package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
- package/examples/javascript/xy-bubble/package.json +1 -1
- package/examples/javascript/xy-candlestick/package.json +1 -1
- package/examples/javascript/xy-clustered-column/package.json +1 -1
- package/examples/javascript/xy-column/package.json +1 -1
- package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
- package/examples/javascript/xy-data-grouping/package.json +1 -1
- package/examples/javascript/xy-draggable-range/package.json +1 -1
- package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
- package/examples/javascript/xy-dumbbell plot/package.json +1 -1
- package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
- package/examples/javascript/xy-line/package.json +1 -1
- package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
- package/examples/javascript/xy-live-data/package.json +1 -1
- package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
- package/examples/javascript/xy-ohlc/package.json +1 -1
- package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
- package/examples/javascript/xy-smoothed-line/package.json +1 -1
- package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
- package/examples/javascript/xy-stacked-column/package.json +1 -1
- package/examples/javascript/xy-stacked-step/package.json +1 -1
- package/examples/javascript/xy-stock/index.js +1 -1
- package/examples/javascript/xy-stock/package.json +1 -1
- package/examples/javascript/xy-stock-comparing/index.js +2 -2
- package/examples/javascript/xy-stock-comparing/package.json +1 -1
- package/examples/typescript/flow-chord/package.json +1 -1
- package/examples/typescript/flow-chord-directed/package.json +1 -1
- package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
- package/examples/typescript/flow-sankey/package.json +1 -1
- package/examples/typescript/gauge/package.json +1 -1
- package/examples/typescript/gauge-bands/package.json +1 -1
- package/examples/typescript/hierarchy-force-directed/package.json +1 -1
- package/examples/typescript/hierarchy-pack/package.json +1 -1
- package/examples/typescript/hierarchy-partition/package.json +1 -1
- package/examples/typescript/hierarchy-sunburst/package.json +1 -1
- package/examples/typescript/hierarchy-tree/package.json +1 -1
- package/examples/typescript/hierarchy-treemap/package.json +1 -1
- package/examples/typescript/jest/package.json +1 -1
- package/examples/typescript/json/package.json +1 -1
- package/examples/typescript/map-animating-along-lines/package.json +1 -1
- package/examples/typescript/map-day-and-night/package.json +1 -1
- package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
- package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
- package/examples/typescript/map-with-bubbles/package.json +1 -1
- package/examples/typescript/map-zoom-to-country/package.json +1 -1
- package/examples/typescript/misc-40-charts/package.json +1 -1
- package/examples/typescript/misc-microchart-grid/package.json +1 -1
- package/examples/typescript/pie-chart/package.json +1 -1
- package/examples/typescript/pie-donut-chart/package.json +1 -1
- package/examples/typescript/pie-variable-radius/package.json +1 -1
- package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
- package/examples/typescript/radar-heat-map/package.json +1 -1
- package/examples/typescript/radar-line/package.json +1 -1
- package/examples/typescript/radar-time-line/package.json +1 -1
- package/examples/typescript/sliced-funnel/package.json +1 -1
- package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
- package/examples/typescript/sliced-pyramid/package.json +1 -1
- package/examples/typescript/stock-chart/package.json +1 -1
- package/examples/typescript/stock-chart-comparing-stocks/index.ts +30 -0
- package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
- package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
- package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
- package/examples/typescript/stock-chart-intraday/package.json +1 -1
- package/examples/typescript/stock-chart-live/package.json +1 -1
- package/examples/typescript/stock-chart-volume-separate-panel/package.json +1 -1
- package/examples/typescript/venn-diagram/package.json +1 -1
- package/examples/typescript/wordcloud-with-data/package.json +1 -1
- package/examples/typescript/wordcloud-with-text/package.json +1 -1
- package/examples/typescript/xy-100-percent-stacked-column/index.ts +1 -1
- package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
- package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
- package/examples/typescript/xy-bubble/package.json +1 -1
- package/examples/typescript/xy-candlestick/package.json +1 -1
- package/examples/typescript/xy-clustered-column/package.json +1 -1
- package/examples/typescript/xy-column/package.json +1 -1
- package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
- package/examples/typescript/xy-data-grouping/package.json +1 -1
- package/examples/typescript/xy-draggable-range/package.json +1 -1
- package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
- package/examples/typescript/xy-dumbbell plot/package.json +1 -1
- package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
- package/examples/typescript/xy-line/package.json +1 -1
- package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
- package/examples/typescript/xy-live-data/package.json +1 -1
- package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
- package/examples/typescript/xy-ohlc/package.json +1 -1
- package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
- package/examples/typescript/xy-smoothed-line/package.json +1 -1
- package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
- package/examples/typescript/xy-stacked-column/package.json +1 -1
- package/examples/typescript/xy-stacked-step/package.json +1 -1
- package/examples/typescript/xy-stock/index.ts +1 -1
- package/examples/typescript/xy-stock/package.json +1 -1
- package/examples/typescript/xy-stock-comparing/index.ts +2 -2
- package/examples/typescript/xy-stock-comparing/package.json +1 -1
- package/locales/ar.d.ts +2 -0
- package/locales/ar.d.ts.map +1 -1
- package/locales/ar.js +3 -0
- package/locales/ar.js.map +1 -1
- package/locales/bs_BA.d.ts +2 -0
- package/locales/bs_BA.d.ts.map +1 -1
- package/locales/bs_BA.js +3 -0
- package/locales/bs_BA.js.map +1 -1
- package/locales/ca_ES.d.ts +2 -0
- package/locales/ca_ES.d.ts.map +1 -1
- package/locales/ca_ES.js +3 -0
- package/locales/ca_ES.js.map +1 -1
- package/locales/cs_CZ.d.ts +2 -0
- package/locales/cs_CZ.d.ts.map +1 -1
- package/locales/cs_CZ.js +3 -0
- package/locales/cs_CZ.js.map +1 -1
- package/locales/da_DK.d.ts +2 -0
- package/locales/da_DK.d.ts.map +1 -1
- package/locales/da_DK.js +3 -0
- package/locales/da_DK.js.map +1 -1
- package/locales/de_CH.d.ts +2 -0
- package/locales/de_CH.d.ts.map +1 -1
- package/locales/de_CH.js +3 -0
- package/locales/de_CH.js.map +1 -1
- package/locales/de_DE.d.ts +2 -0
- package/locales/de_DE.d.ts.map +1 -1
- package/locales/de_DE.js +3 -0
- package/locales/de_DE.js.map +1 -1
- package/locales/el_GR.d.ts +2 -0
- package/locales/el_GR.d.ts.map +1 -1
- package/locales/el_GR.js +3 -0
- package/locales/el_GR.js.map +1 -1
- package/locales/en.d.ts +2 -0
- package/locales/en.d.ts.map +1 -1
- package/locales/en.js +3 -0
- package/locales/en.js.map +1 -1
- package/locales/en_CA.d.ts +2 -0
- package/locales/en_CA.d.ts.map +1 -1
- package/locales/en_CA.js +3 -0
- package/locales/en_CA.js.map +1 -1
- package/locales/en_US.d.ts +2 -0
- package/locales/en_US.d.ts.map +1 -1
- package/locales/en_US.js +3 -0
- package/locales/en_US.js.map +1 -1
- package/locales/es_ES.d.ts +2 -0
- package/locales/es_ES.d.ts.map +1 -1
- package/locales/es_ES.js +3 -0
- package/locales/es_ES.js.map +1 -1
- package/locales/et_EE.d.ts +2 -0
- package/locales/et_EE.d.ts.map +1 -1
- package/locales/et_EE.js +3 -0
- package/locales/et_EE.js.map +1 -1
- package/locales/fi_FI.d.ts +2 -0
- package/locales/fi_FI.d.ts.map +1 -1
- package/locales/fi_FI.js +3 -0
- package/locales/fi_FI.js.map +1 -1
- package/locales/fr_FR.d.ts +2 -0
- package/locales/fr_FR.d.ts.map +1 -1
- package/locales/fr_FR.js +3 -0
- package/locales/fr_FR.js.map +1 -1
- package/locales/he_IL.d.ts +2 -0
- package/locales/he_IL.d.ts.map +1 -1
- package/locales/he_IL.js +3 -0
- package/locales/he_IL.js.map +1 -1
- package/locales/hi_IN.d.ts +2 -0
- package/locales/hi_IN.d.ts.map +1 -1
- package/locales/hi_IN.js +3 -0
- package/locales/hi_IN.js.map +1 -1
- package/locales/hr_HR.d.ts +2 -0
- package/locales/hr_HR.d.ts.map +1 -1
- package/locales/hr_HR.js +3 -0
- package/locales/hr_HR.js.map +1 -1
- package/locales/hu_HU.d.ts +2 -0
- package/locales/hu_HU.d.ts.map +1 -1
- package/locales/hu_HU.js +3 -0
- package/locales/hu_HU.js.map +1 -1
- package/locales/id_ID.d.ts +2 -0
- package/locales/id_ID.d.ts.map +1 -1
- package/locales/id_ID.js +3 -0
- package/locales/id_ID.js.map +1 -1
- package/locales/it_IT.d.ts +2 -0
- package/locales/it_IT.d.ts.map +1 -1
- package/locales/it_IT.js +3 -0
- package/locales/it_IT.js.map +1 -1
- package/locales/ja_JP.d.ts +2 -0
- package/locales/ja_JP.d.ts.map +1 -1
- package/locales/ja_JP.js +3 -0
- package/locales/ja_JP.js.map +1 -1
- package/locales/ko_KR.d.ts +2 -0
- package/locales/ko_KR.d.ts.map +1 -1
- package/locales/ko_KR.js +3 -0
- package/locales/ko_KR.js.map +1 -1
- package/locales/lt_LT.d.ts +2 -0
- package/locales/lt_LT.d.ts.map +1 -1
- package/locales/lt_LT.js +3 -0
- package/locales/lt_LT.js.map +1 -1
- package/locales/lv_LV.d.ts +2 -0
- package/locales/lv_LV.d.ts.map +1 -1
- package/locales/lv_LV.js +3 -0
- package/locales/lv_LV.js.map +1 -1
- package/locales/nb_NO.d.ts +2 -0
- package/locales/nb_NO.d.ts.map +1 -1
- package/locales/nb_NO.js +3 -0
- package/locales/nb_NO.js.map +1 -1
- package/locales/nl_NL.d.ts +2 -0
- package/locales/nl_NL.d.ts.map +1 -1
- package/locales/nl_NL.js +3 -0
- package/locales/nl_NL.js.map +1 -1
- package/locales/pl_PL.d.ts +2 -0
- package/locales/pl_PL.d.ts.map +1 -1
- package/locales/pl_PL.js +3 -0
- package/locales/pl_PL.js.map +1 -1
- package/locales/pt_BR.d.ts +2 -0
- package/locales/pt_BR.d.ts.map +1 -1
- package/locales/pt_BR.js +3 -0
- package/locales/pt_BR.js.map +1 -1
- package/locales/pt_PT.d.ts +2 -0
- package/locales/pt_PT.d.ts.map +1 -1
- package/locales/pt_PT.js +3 -0
- package/locales/pt_PT.js.map +1 -1
- package/locales/ro_RO.d.ts +2 -0
- package/locales/ro_RO.d.ts.map +1 -1
- package/locales/ro_RO.js +3 -0
- package/locales/ro_RO.js.map +1 -1
- package/locales/ru_RU.d.ts +2 -0
- package/locales/ru_RU.d.ts.map +1 -1
- package/locales/ru_RU.js +3 -0
- package/locales/ru_RU.js.map +1 -1
- package/locales/sl_SL.d.ts +2 -0
- package/locales/sl_SL.d.ts.map +1 -1
- package/locales/sl_SL.js +3 -0
- package/locales/sl_SL.js.map +1 -1
- package/locales/sr_RS.d.ts +2 -0
- package/locales/sr_RS.d.ts.map +1 -1
- package/locales/sr_RS.js +3 -0
- package/locales/sr_RS.js.map +1 -1
- package/locales/sv_SE.d.ts +2 -0
- package/locales/sv_SE.d.ts.map +1 -1
- package/locales/sv_SE.js +3 -0
- package/locales/sv_SE.js.map +1 -1
- package/locales/th_TH.d.ts +2 -0
- package/locales/th_TH.d.ts.map +1 -1
- package/locales/th_TH.js +3 -0
- package/locales/th_TH.js.map +1 -1
- package/locales/tr_TR.d.ts +2 -0
- package/locales/tr_TR.d.ts.map +1 -1
- package/locales/tr_TR.js +2 -0
- package/locales/tr_TR.js.map +1 -1
- package/locales/uk_UA.d.ts +2 -0
- package/locales/uk_UA.d.ts.map +1 -1
- package/locales/uk_UA.js +3 -0
- package/locales/uk_UA.js.map +1 -1
- package/locales/vi_VN.d.ts +2 -0
- package/locales/vi_VN.d.ts.map +1 -1
- package/locales/vi_VN.js +3 -0
- package/locales/vi_VN.js.map +1 -1
- package/locales/zh_Hans.d.ts +2 -0
- package/locales/zh_Hans.d.ts.map +1 -1
- package/locales/zh_Hans.js +3 -0
- package/locales/zh_Hans.js.map +1 -1
- package/locales/zh_Hant.d.ts +2 -0
- package/locales/zh_Hant.d.ts.map +1 -1
- package/locales/zh_Hant.js +3 -0
- package/locales/zh_Hant.js.map +1 -1
- package/package.json +1 -1
- package/stock.d.ts +5 -0
- package/stock.d.ts.map +1 -1
- package/stock.js +5 -0
- package/stock.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateFormatter.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/DateFormatter.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ILocaleSettings } from \"./Language\"\n\nimport { Entity, IEntitySettings, IEntityPrivate } from \"./Entity\"\nimport { TextFormatter } from \"./TextFormatter\"\n\nimport * as $type from \"./Type\"\nimport * as $utils from \"./Utils\";\n\n/**\n * Interface describing parsed date format definition.\n *\n * @ignore\n */\nexport interface DateFormatInfo {\n\t\"template\": string;\n\t\"parts\": any[];\n}\n\nexport interface IDateFormatterSettings extends IEntitySettings {\n\n\t/**\n\t * Should the first letter of the formatted date be capitalized?\n\t *\n\t * @default true\n\t */\n\tcapitalize?: boolean;\n\n\t/**\n\t * A date format to be used when formatting dates.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/formatters/formatting-dates/} for more info\n\t */\n\tdateFormat?: string | Intl.DateTimeFormatOptions;\n\n\t/**\n\t * An array of data fields that hold date values and should be formatted\n\t * with a [[DateFormatter]].\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/formatters/data-placeholders/#Formatting_placeholders} for more info\n\t */\n\tdateFields?: string[];\n\n\t/**\n\t * Locales to use when formatting using `Intl.DateFormatter`.\n\t */\n\tintlLocales?: string;\n\n}\n\nexport interface IDateFormatterPrivate extends IEntityPrivate {\n}\n\ntype Months = \"January\" | \"February\" | \"March\" | \"April\" | \"May\" | \"June\" | \"July\" | \"August\" | \"September\" | \"October\" | \"November\" | \"December\";\ntype ShortMonths = \"Jan\" | \"Feb\" | \"Mar\" | \"Apr\" | \"May(short)\" | \"Jun\" | \"Jul\" | \"Aug\" | \"Sep\" | \"Oct\" | \"Nov\" | \"Dec\";\ntype Weekdays = \"Sunday\" | \"Monday\" | \"Tuesday\" | \"Wednesday\" | \"Thursday\" | \"Friday\" | \"Saturday\";\ntype ShortWeekdays = \"Sun\" | \"Mon\" | \"Tue\" | \"Wed\" | \"Thu\" | \"Fri\" | \"Sat\";\n\nexport class DateFormatter extends Entity {\n\tdeclare public _settings: IDateFormatterSettings;\n\tdeclare public _privateSettings: IDateFormatterPrivate;\n\n\tprotected _setDefaults() {\n\t\t// Defaults\n\t\tthis._setDefault(\"capitalize\", true);\n\t\tthis._setDefault(\"dateFormat\", \"yyyy-MM-dd\");\n\n\t\tsuper._setDefaults();\n\t}\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\t}\n\n\tpublic format(source: any, format?: string | Intl.DateTimeFormatOptions): string {\n\n\t\t// Locale?\n\t\t// TODO\n\n\t\t// No format passed in or it's empty\n\t\tif (typeof format === \"undefined\" || format === \"\") {\n\t\t\tformat = this.get(\"dateFormat\", \"yyyy-MM-dd\");\n\t\t}\n\n\t\t// Init return value\n\t\tlet formatted;\n\n\t\t// Cast?\n\t\t// TODO: decide if we need to cast\n\t\tlet date: Date = source;\n\n\t\t// Is it a built-in format or Intl.DateTimeFormat\n\t\tif ($type.isObject(format)) {\n\n\t\t\ttry {\n\t\t\t\tconst locales = this.get(\"intlLocales\");\n\t\t\t\tif (locales) {\n\t\t\t\t\treturn new Intl.DateTimeFormat(locales, <Intl.DateTimeFormatOptions>format).format(date);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn new Intl.DateTimeFormat(undefined, <Intl.DateTimeFormatOptions>format).format(date);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcatch (e) {\n\t\t\t\treturn \"Invalid\";\n\t\t\t}\n\n\t\t}\n\n\t\t// get format info (it will also deal with parser caching)\n\t\tlet info = this.parseFormat(format);\n\n\t\t// Should we apply custom time zone?\n\t\tconst timezone = this._root.timezone;\n\t\tif (timezone && !this._root.utc) {\n\t\t\tdate = timezone.convertLocal(date);\n\t\t}\n\n\n\t\t// Check if it's a valid date\n\t\tif (!$type.isNumber(date.getTime())) {\n\t\t\t// TODO translation\n\t\t\t//return this._t(\"Invalid date\");\n\t\t\treturn \"Invalid date\";\n\t\t}\n\n\t\t// Apply format\n\t\tformatted = this.applyFormat(date, info);\n\n\t\t// Capitalize\n\t\tif (this.get(\"capitalize\")) {\n\t\t\tformatted = formatted.replace(\n\t\t\t\t/^.{1}/, formatted.substr(0, 1).toUpperCase()\n\t\t\t);\n\t\t}\n\n\t\t// We're done\n\t\treturn formatted;\n\t}\n\n\t/**\n\t * Applies format to Date.\n\t *\n\t * @param date Date object\n\t * @param info Parsed format information\n\t * @return Formatted date string\n\t */\n\tprotected applyFormat(date: Date, info: DateFormatInfo): string {\n\n\t\t// Init return value\n\t\tlet res = info.template;\n\n\t\t// Get values\n\t\tlet fullYear: number,\n\t\t\tmonth: number,\n\t\t\tweekday: number,\n\t\t\tday: number,\n\t\t\thours: number,\n\t\t\tminutes: number,\n\t\t\tseconds: number,\n\t\t\tmilliseconds: number,\n\t\t\toffset: number = date.getTimezoneOffset(),\n\t\t\ttimestamp: number = date.getTime();\n\t\tif (this._root.utc) {\n\t\t\tfullYear = date.getUTCFullYear();\n\t\t\tmonth = date.getUTCMonth();\n\t\t\tweekday = date.getUTCDay();\n\t\t\tday = date.getUTCDate();\n\t\t\thours = date.getUTCHours();\n\t\t\tminutes = date.getUTCMinutes();\n\t\t\tseconds = date.getUTCSeconds();\n\t\t\tmilliseconds = date.getUTCMilliseconds();\n\t\t}\n\t\telse {\n\t\t\tfullYear = date.getFullYear();\n\t\t\tmonth = date.getMonth();\n\t\t\tweekday = date.getDay();\n\t\t\tday = date.getDate();\n\t\t\thours = date.getHours();\n\t\t\tminutes = date.getMinutes();\n\t\t\tseconds = date.getSeconds();\n\t\t\tmilliseconds = date.getMilliseconds();\n\t\t}\n\n\t\t// Go through each part and format/replace it in template\n\t\tfor (let i = 0, len = info.parts.length; i < len; i++) {\n\t\t\tlet value: string = \"\";\n\t\t\tswitch (info.parts[i]) {\n\n\t\t\t\tcase \"G\":\n\t\t\t\t\tvalue = this._t(\n\t\t\t\t\t\tfullYear < 0\n\t\t\t\t\t\t\t? \"_era_bc\"\n\t\t\t\t\t\t\t: \"_era_ad\"\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"yyyy\":\n\t\t\t\t\tvalue = Math.abs(fullYear).toString();\n\t\t\t\t\tif (fullYear < 0) {\n\t\t\t\t\t\tvalue += this._t(\"_era_bc\");\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"yyy\":\n\t\t\t\tcase \"yy\":\n\t\t\t\tcase \"y\":\n\t\t\t\t\tvalue = Math.abs(fullYear).toString().substr(-info.parts[i].length);\n\t\t\t\t\tif (fullYear < 0) {\n\t\t\t\t\t\tvalue += this._t(\"_era_bc\");\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"YYYY\":\n\t\t\t\tcase \"YYY\":\n\t\t\t\tcase \"YY\":\n\t\t\t\tcase \"Y\":\n\t\t\t\t\tlet week = $utils.getWeek(date);\n\t\t\t\t\tlet year = fullYear;\n\t\t\t\t\tif (week == 1 && (weekday > 4)) {\n\t\t\t\t\t\tyear--;\n\t\t\t\t\t}\n\t\t\t\t\tif (info.parts[i] == \"YYYY\") {\n\t\t\t\t\t\tvalue = Math.abs(year).toString();\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tvalue = Math.abs(year).toString().substr(-info.parts[i].length);\n\t\t\t\t\t}\n\t\t\t\t\tif (year < 0) {\n\t\t\t\t\t\tvalue += this._t(\"_era_bc\");\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"u\":\n\t\t\t\t\t// @todo\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"q\":\n\t\t\t\t\tvalue = \"\" + Math.ceil((date.getMonth() + 1) / 3);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"MMMMM\":\n\t\t\t\t\tvalue = this._t(this._getMonth(month)).substr(0, 1);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"MMMM\":\n\t\t\t\t\tvalue = this._t(this._getMonth(month));\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"MMM\":\n\t\t\t\t\tvalue = this._t(this._getShortMonth(month));\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"MM\":\n\t\t\t\t\tvalue = $utils.padString(month + 1, 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"M\":\n\t\t\t\t\tvalue = (month + 1).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"ww\":\n\t\t\t\t\tvalue = $utils.padString($utils.getWeek(date, this._root.utc), 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"w\":\n\t\t\t\t\tvalue = $utils.getWeek(date, this._root.utc).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"W\":\n\t\t\t\t\tvalue = $utils.getMonthWeek(date, this._root.utc).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"dd\":\n\t\t\t\t\tvalue = $utils.padString(day, 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"d\":\n\t\t\t\t\tvalue = day.toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"DD\":\n\t\t\t\tcase \"DDD\":\n\t\t\t\t\tvalue = $utils.padString($utils.getYearDay(date, this._root.utc).toString(), info.parts[i].length, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"D\":\n\t\t\t\t\tvalue = $utils.getYearDay(date, this._root.utc).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"F\":\n\t\t\t\t\t// @todo\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"g\":\n\t\t\t\t\t// @todo\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"t\":\n\t\t\t\t\tvalue = this._root.language.translateFunc(\"_dateOrd\").call(this, day);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"E\":\n\t\t\t\t\tvalue = (weekday || 7).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"EE\":\n\t\t\t\t\tvalue = $utils.padString((weekday || 7).toString(), 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"EEE\":\n\t\t\t\tcase \"eee\":\n\t\t\t\t\tvalue = this._t(this._getShortWeekday(weekday));\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"EEEE\":\n\t\t\t\tcase \"eeee\":\n\t\t\t\t\tvalue = this._t(this._getWeekday(weekday));\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"EEEEE\":\n\t\t\t\tcase \"eeeee\":\n\t\t\t\t\tvalue = this._t(this._getShortWeekday(weekday)).substr(0, 1);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"e\":\n\t\t\t\tcase \"ee\":\n\t\t\t\t\tvalue = (weekday - (this._root.locale.firstDayOfWeek || 1) + 1).toString();\n\t\t\t\t\tif (info.parts[i] == \"ee\") {\n\t\t\t\t\t\tvalue = $utils.padString(value, 2, \"0\");\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"a\":\n\t\t\t\t\tif (hours >= 12) {\n\t\t\t\t\t\tvalue = this._t(\"PM\");\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tvalue = this._t(\"AM\");\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"aa\":\n\t\t\t\t\tif (hours >= 12) {\n\t\t\t\t\t\tvalue = this._t(\"P.M.\");\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tvalue = this._t(\"A.M.\");\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"aaa\":\n\t\t\t\t\tif (hours >= 12) {\n\t\t\t\t\t\tvalue = this._t(\"P\");\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tvalue = this._t(\"A\");\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"h\":\n\t\t\t\t\tvalue = $utils.get12Hours(hours).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"hh\":\n\t\t\t\t\tvalue = $utils.padString($utils.get12Hours(hours), 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"H\":\n\t\t\t\t\tvalue = hours.toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"HH\":\n\t\t\t\t\tvalue = $utils.padString(hours, 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"K\":\n\t\t\t\t\tvalue = $utils.get12Hours(hours, 0).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"KK\":\n\t\t\t\t\tvalue = $utils.padString($utils.get12Hours(hours, 0), 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"k\":\n\t\t\t\t\tvalue = (hours + 1).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"kk\":\n\t\t\t\t\tvalue = $utils.padString(hours + 1, 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"m\":\n\t\t\t\t\tvalue = minutes.toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"mm\":\n\t\t\t\t\tvalue = $utils.padString(minutes, 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"s\":\n\t\t\t\t\tvalue = seconds.toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"ss\":\n\t\t\t\t\tvalue = $utils.padString(seconds, 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"S\":\n\t\t\t\tcase \"SS\":\n\t\t\t\tcase \"SSS\":\n\t\t\t\t\tvalue = Math.round((milliseconds / 1000) * Math.pow(10, info.parts[i].length)).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"x\":\n\t\t\t\t\tvalue = timestamp.toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"n\":\n\t\t\t\tcase \"nn\":\n\t\t\t\tcase \"nnn\":\n\t\t\t\t\tvalue = $utils.padString(milliseconds, info.parts[i].length, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"z\":\n\t\t\t\t\tvalue = $utils.getTimeZone(date, false, false, this._root.utc);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"zz\":\n\t\t\t\t\tvalue = $utils.getTimeZone(date, true, false, this._root.utc);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"zzz\":\n\t\t\t\t\tvalue = $utils.getTimeZone(date, false, true, this._root.utc);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"zzzz\":\n\t\t\t\t\tvalue = $utils.getTimeZone(date, true, true, this._root.utc);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"Z\":\n\t\t\t\tcase \"ZZ\":\n\t\t\t\t\tlet tz = Math.abs(offset) / 60;\n\t\t\t\t\tlet tzh = Math.floor(tz);\n\t\t\t\t\tlet tzm = tz * 60 - tzh * 60;\n\n\t\t\t\t\tif (this._root.utc) {\n\t\t\t\t\t\ttzh = 0;\n\t\t\t\t\t\ttzm = 0;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (info.parts[i] == \"Z\") {\n\t\t\t\t\t\tvalue = \"GMT\";\n\t\t\t\t\t\tvalue += offset > 0 ? \"-\" : \"+\";\n\t\t\t\t\t\tvalue += $utils.padString(tzh, 2) + \":\" + $utils.padString(tzm, 2);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tvalue = offset > 0 ? \"-\" : \"+\";\n\t\t\t\t\t\tvalue += $utils.padString(tzh, 2) + $utils.padString(tzm, 2);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"i\":\n\t\t\t\t\tvalue = date.toISOString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"I\":\n\t\t\t\t\tvalue = date.toUTCString();\n\t\t\t\t\tbreak;\n\n\t\t\t}\n\t\t\tres = res.replace($type.PLACEHOLDER, value);\n\t\t}\n\n\t\treturn res;\n\t}\n\n\t/**\n\t * Parses format into structured infromation.\n\t *\n\t * @param format Format template\n\t */\n\tprotected parseFormat(format: string): DateFormatInfo {\n\n\t\t// Check cache\n\t\t// TODO: implement caching of the parsed format\n\n\t\t// Init format parse info holder\n\t\tlet info: DateFormatInfo = {\n\t\t\t\"template\": \"\",\n\t\t\t\"parts\": <any>[]\n\t\t};\n\n\t\t// Let TextFormatter split into chunks\n\t\tlet chunks = TextFormatter.chunk(format, true);\n\t\tfor (let i: number = 0; i < chunks.length; i++) {\n\t\t\tlet chunk = chunks[i];\n\n\t\t\tif (chunk.type === \"value\") {\n\n\t\t\t\t// Just \"Date\"?\n\t\t\t\tif (chunk.text.match(/^date$/i)) {\n\t\t\t\t\tlet dateFormat = this.get(\"dateFormat\", \"yyyy-MM-dd\");\n\t\t\t\t\tif (!$type.isString(dateFormat)) {\n\t\t\t\t\t\tdateFormat = \"yyyy-MM-dd\";\n\t\t\t\t\t}\n\t\t\t\t\tchunk.text = dateFormat;\n\t\t\t\t}\n\n\t\t\t\t// Find all possible parts\n\t\t\t\tlet matches = chunk.text.match(/G|yyyy|yyy|yy|y|YYYY|YYY|YY|Y|u|q|MMMMM|MMMM|MMM|MM|M|ww|w|W|dd|d|DDD|DD|D|F|g|EEEEE|EEEE|EEE|EE|E|eeeee|eeee|eee|ee|e|aaa|aa|a|hh|h|HH|H|KK|K|kk|k|mm|m|ss|s|SSS|SS|S|A|zzzz|zzz|zz|z|ZZ|Z|t|x|nnn|nn|n|i|I/g);\n\n\t\t\t\t// Found?\n\t\t\t\tif (matches) {\n\n\t\t\t\t\t// Populate template\n\t\t\t\t\tfor (let x = 0; x < matches.length; x++) {\n\t\t\t\t\t\tinfo.parts.push(matches[x]);\n\t\t\t\t\t\tchunk.text = chunk.text.replace(matches[x], $type.PLACEHOLDER);\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t// Apply to template\n\t\t\tinfo.template += chunk.text;\n\t\t}\n\n\t\t// Save cache\n\t\t// TODO\n\n\t\treturn info;\n\t}\n\n\tprotected _months(): Months[] {\n\t\treturn [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\n\t}\n\n\tprotected _getMonth(index: number): Months {\n\t\treturn this._months()[index];\n\t}\n\n\tprotected _shortMonths(): ShortMonths[] {\n\t\treturn [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May(short)\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\n\t}\n\n\tprotected _getShortMonth(index: number): ShortMonths {\n\t\treturn this._shortMonths()[index];\n\t}\n\n\tprotected _weekdays(): Weekdays[] {\n\t\treturn [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"];\n\t}\n\n\tprotected _getWeekday(index: number): Weekdays {\n\t\treturn this._weekdays()[index];\n\t}\n\n\tprotected _shortWeekdays(): ShortWeekdays[] {\n\t\treturn [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\n\t}\n\n\tprotected _getShortWeekday(index: number): ShortWeekdays {\n\t\treturn this._shortWeekdays()[index];\n\t}\n\n\tpublic parse(source: any, format: string): Date {\n\n\t\t// Is it already a Date\n\t\tif (source instanceof Date) {\n\t\t\treturn source;\n\t\t}\n\n\t\t// Is it a numeric timestamp\n\t\tif ($type.isNumber(source)) {\n\t\t\treturn new Date(source);\n\t\t}\n\n\t\t// No? Let's check if it's string, and try converting to it if nec\n\t\tif (!$type.isString(source)) {\n\t\t\tsource = source.toString();\n\t\t}\n\n\t\t// Init return value\n\t\tlet res: Date;\n\n\t\t// Init RegEx for parsing\n\t\tlet reg: string = \"\";\n\n\t\t// Clean format\n\t\tformat = $utils.cleanFormat(format);\n\n\t\t// Clip format to length of the source string\n\t\tformat = format.substr(0, source.length);\n\n\t\t// Parse format\n\t\tlet info = this.parseFormat(format);\n\n\t\t// Init parsed items holder\n\t\tlet parsedIndexes = {\n\t\t\t\"year\": -1,\n\t\t\t\"year3\": -1,\n\t\t\t\"year2\": -1,\n\t\t\t\"year1\": -1,\n\t\t\t\"month\": -1,\n\t\t\t\"monthShort\": -1,\n\t\t\t\"monthLong\": -1,\n\t\t\t\"weekdayShort\": -1,\n\t\t\t\"weekdayLong\": -1,\n\t\t\t\"day\": -1,\n\t\t\t\"yearDay\": -1,\n\t\t\t\"week\": -1,\n\t\t\t\"hourBase0\": -1,\n\t\t\t\"hour12Base0\": -1,\n\t\t\t\"hourBase1\": -1,\n\t\t\t\"hour12Base1\": -1,\n\t\t\t\"minute\": -1,\n\t\t\t\"second\": -1,\n\t\t\t\"millisecond\": -1,\n\t\t\t\"millisecondDigits\": -1,\n\t\t\t\"am\": -1,\n\t\t\t\"zone\": -1,\n\t\t\t\"timestamp\": -1,\n\t\t\t\"iso\": -1\n\t\t};\n\n\t\t// Init values\n\t\tlet resValues = {\n\t\t\t\"year\": 1970,\n\t\t\t\"month\": 0,\n\t\t\t\"day\": 1,\n\t\t\t\"hour\": 0,\n\t\t\t\"minute\": 0,\n\t\t\t\"second\": 0,\n\t\t\t\"millisecond\": 0,\n\t\t\t\"timestamp\": <any>null,\n\t\t\t\"offset\": 0,\n\t\t\t\"utc\": this._root.utc\n\t\t}\n\n\t\t// Index adjuster\n\t\tlet indexAdjust: number = 0;\n\t\tlet index: number = 0;\n\n\t\t// Iterate through all of the parts\n\t\tfor (let i: number = 0; i < info.parts.length; i++) {\n\n\t\t\t// Set current match index\n\t\t\tindex = i + indexAdjust + 1;\n\n\t\t\tswitch (info.parts[i]) {\n\n\t\t\t\tcase \"yyyy\":\n\t\t\t\tcase \"YYYY\":\n\t\t\t\t\treg += \"([0-9]{4})\";\n\t\t\t\t\tparsedIndexes.year = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"yyy\":\n\t\t\t\tcase \"YYY\":\n\t\t\t\t\treg += \"([0-9]{3})\";\n\t\t\t\t\tparsedIndexes.year3 = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"yy\":\n\t\t\t\tcase \"YY\":\n\t\t\t\t\treg += \"([0-9]{2})\";\n\t\t\t\t\tparsedIndexes.year2 = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"y\":\n\t\t\t\tcase \"Y\":\n\t\t\t\t\treg += \"([0-9]{1})\";\n\t\t\t\t\tparsedIndexes.year1 = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"MMMM\":\n\t\t\t\t\treg += \"(\" + this.getStringList(this._months()).join(\"|\") + \")\";\n\t\t\t\t\tparsedIndexes.monthLong = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"MMM\":\n\t\t\t\t\treg += \"(\" + this.getStringList(this._shortMonths()).join(\"|\") + \")\";\n\t\t\t\t\tparsedIndexes.monthShort = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"MM\":\n\t\t\t\tcase \"M\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.month = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"ww\":\n\t\t\t\tcase \"w\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.week = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"dd\":\n\t\t\t\tcase \"d\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.day = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"DDD\":\n\t\t\t\tcase \"DD\":\n\t\t\t\tcase \"D\":\n\t\t\t\t\treg += \"([0-9]{3}|[0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.yearDay = index;\n\t\t\t\t\tbreak;\n\n\n\t\t\t\tcase \"dddd\":\n\t\t\t\t\treg += \"(\" + this.getStringList(this._weekdays()).join(\"|\") + \")\";\n\t\t\t\t\tparsedIndexes.weekdayLong = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"ddd\":\n\t\t\t\t\treg += \"(\" + this.getStringList(this._shortWeekdays()).join(\"|\") + \")\";\n\t\t\t\t\tparsedIndexes.weekdayShort = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"aaa\":\n\t\t\t\tcase \"aa\":\n\t\t\t\tcase \"a\":\n\t\t\t\t\t// TODO: fix (escape regex)\n\t\t\t\t\treg += \"(\" + this.getStringList([\"AM\", \"PM\", \"A\\.M\\.\", \"P\\.M\\.\", \"A\", \"P\"]).join(\"|\") + \")\";\n\t\t\t\t\tparsedIndexes.am = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"hh\":\n\t\t\t\tcase \"h\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.hour12Base1 = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"HH\":\n\t\t\t\tcase \"H\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.hourBase0 = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"KK\":\n\t\t\t\tcase \"K\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.hour12Base0 = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"kk\":\n\t\t\t\tcase \"k\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.hourBase1 = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"mm\":\n\t\t\t\tcase \"m\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.minute = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"ss\":\n\t\t\t\tcase \"s\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.second = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"SSS\":\n\t\t\t\tcase \"SS\":\n\t\t\t\tcase \"S\":\n\t\t\t\t\treg += \"([0-9]{3}|[0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.millisecond = index;\n\t\t\t\t\tparsedIndexes.millisecondDigits = info.parts[i].length;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"nnn\":\n\t\t\t\tcase \"nn\":\n\t\t\t\tcase \"n\":\n\t\t\t\t\treg += \"([0-9]{3}|[0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.millisecond = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"x\":\n\t\t\t\t\treg += \"([0-9]{1,})\";\n\t\t\t\t\tparsedIndexes.timestamp = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"Z\":\n\t\t\t\t\treg += \"GMT([-+]+[0-9]{2}:[0-9]{2})\";\n\t\t\t\t\tparsedIndexes.zone = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"ZZ\":\n\t\t\t\t\treg += \"([\\\\-+]+[0-9]{2}[0-9]{2})\";\n\t\t\t\t\tparsedIndexes.zone = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"i\":\n\t\t\t\t\treg += \"([0-9]{4})-?([0-9]{2})-?([0-9]{2})T?([0-9]{2}):?([0-9]{2}):?([0-9]{2})\\\\.?([0-9]{0,3})([zZ]|[+\\\\-][0-9]{2}:?[0-9]{2}|$)\";\n\t\t\t\t\tparsedIndexes.iso = index;\n\t\t\t\t\tindexAdjust += 7;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"G\":\n\t\t\t\tcase \"YYYY\":\n\t\t\t\tcase \"YYY\":\n\t\t\t\tcase \"YY\":\n\t\t\t\tcase \"Y\":\n\t\t\t\tcase \"MMMMM\":\n\t\t\t\tcase \"W\":\n\t\t\t\tcase \"EEEEE\":\n\t\t\t\tcase \"EEEE\":\n\t\t\t\tcase \"EEE\":\n\t\t\t\tcase \"EE\":\n\t\t\t\tcase \"E\":\n\t\t\t\tcase \"eeeee\":\n\t\t\t\tcase \"eeee\":\n\t\t\t\tcase \"eee\":\n\t\t\t\tcase \"ee\":\n\t\t\t\tcase \"e\":\n\t\t\t\tcase \"zzzz\":\n\t\t\t\tcase \"zzz\":\n\t\t\t\tcase \"zz\":\n\t\t\t\tcase \"z\":\n\t\t\t\tcase \"t\":\n\t\t\t\t\t// Ignore\n\t\t\t\t\tindexAdjust--;\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\treg += \"[^0-9]*\";\n\t\t}\n\n\t\t// Try matching\n\t\tlet regex = new RegExp(reg);\n\t\tlet matches: RegExpMatchArray = source.match(regex);\n\n\t\tif (matches) {\n\t\t\t// Populate the date object\n\n\t\t\t// Full year\n\t\t\tif (parsedIndexes.year > -1) {\n\t\t\t\tresValues.year = parseInt(matches[parsedIndexes.year]);\n\t\t\t}\n\n\t\t\t// 3-digit year\n\t\t\tif (parsedIndexes.year3 > -1) {\n\t\t\t\tlet val = parseInt(matches[parsedIndexes.year3]);\n\t\t\t\tval += 1000;\n\t\t\t\tresValues.year = val;\n\t\t\t}\n\n\t\t\t// 2-digit year\n\t\t\tif (parsedIndexes.year2 > -1) {\n\t\t\t\tlet val = parseInt(matches[parsedIndexes.year2]);\n\t\t\t\tif (val > 50) {\n\t\t\t\t\tval += 1000;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tval += 2000;\n\t\t\t\t}\n\t\t\t\tresValues.year = val;\n\t\t\t}\n\n\t\t\t// 1-digit year\n\t\t\tif (parsedIndexes.year1 > -1) {\n\t\t\t\tlet val = parseInt(matches[parsedIndexes.year1]);\n\t\t\t\tval = Math.floor((new Date().getFullYear()) / 10) * 10 + val;\n\t\t\t\tresValues.year = val;\n\t\t\t}\n\n\t\t\t// Full month\n\t\t\tif (parsedIndexes.monthLong > -1) {\n\t\t\t\tresValues.month = this.resolveMonth(<any>matches[parsedIndexes.monthLong]);\n\t\t\t}\n\n\t\t\t// Short month\n\t\t\tif (parsedIndexes.monthShort > -1) {\n\t\t\t\tresValues.month = this.resolveShortMonth(<any>matches[parsedIndexes.monthShort]);\n\t\t\t}\n\n\t\t\t// Numeric month\n\t\t\tif (parsedIndexes.month > -1) {\n\t\t\t\tresValues.month = parseInt(matches[parsedIndexes.month]) - 1;\n\t\t\t}\n\n\t\t\t// Weekday\n\t\t\t// @todo\n\n\t\t\t// Week\n\t\t\tif ((parsedIndexes.week > -1) && (parsedIndexes.day === -1)) {\n\t\t\t\t// We parse weeks ONLY if day is not explicitly set\n\t\t\t\t// TODO: this needs work\n\t\t\t\t// (but maybe later - I can hardly imagine anyone passing their dates in weeks)\n\t\t\t\tresValues.month = 0;\n\t\t\t\tresValues.day = $utils.getDayFromWeek(\n\t\t\t\t\tparseInt(matches[parsedIndexes.week]),\n\t\t\t\t\tresValues.year,\n\t\t\t\t\t1,\n\t\t\t\t\tthis._root.utc\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Day\n\t\t\tif (parsedIndexes.day > -1) {\n\t\t\t\tresValues.day = parseInt(matches[parsedIndexes.day]);\n\t\t\t}\n\n\t\t\t// Year day\n\t\t\tif (parsedIndexes.yearDay > -1) {\n\t\t\t\tresValues.month = 0;\n\t\t\t\tresValues.day = parseInt(matches[parsedIndexes.yearDay]);\n\t\t\t}\n\n\t\t\t// 24 Hour (0-23)\n\t\t\tif (parsedIndexes.hourBase0 > -1) {\n\t\t\t\tresValues.hour = parseInt(matches[parsedIndexes.hourBase0]);\n\t\t\t}\n\n\t\t\t// 24 Hour (1-24)\n\t\t\tif (parsedIndexes.hourBase1 > -1) {\n\t\t\t\tresValues.hour = parseInt(matches[parsedIndexes.hourBase1]) - 1;\n\t\t\t}\n\n\t\t\t// 12 Hour (0-11)\n\t\t\tif (parsedIndexes.hour12Base0 > -1) {\n\t\t\t\tlet val = parseInt(matches[parsedIndexes.hour12Base0]);\n\t\t\t\tif (val == 11) {\n\t\t\t\t\tval = 0;\n\t\t\t\t}\n\t\t\t\tif ((parsedIndexes.am > -1) && !this.isAm(matches[parsedIndexes.am])) {\n\t\t\t\t\tval += 12;\n\t\t\t\t}\n\t\t\t\tresValues.hour = val;\n\t\t\t}\n\n\t\t\t// 12 Hour (1-12)\n\t\t\tif (parsedIndexes.hour12Base1 > -1) {\n\t\t\t\tlet val = parseInt(matches[parsedIndexes.hour12Base1]);\n\t\t\t\tif (val == 12) {\n\t\t\t\t\tval = 0;\n\t\t\t\t}\n\t\t\t\tif ((parsedIndexes.am > -1) && !this.isAm(matches[parsedIndexes.am])) {\n\t\t\t\t\tval += 12;\n\t\t\t\t}\n\t\t\t\tresValues.hour = val;\n\t\t\t}\n\n\t\t\t// Minute\n\t\t\tif (parsedIndexes.minute > -1) {\n\t\t\t\tresValues.minute = parseInt(matches[parsedIndexes.minute]);\n\t\t\t}\n\n\t\t\t// Second\n\t\t\tif (parsedIndexes.second > -1) {\n\t\t\t\tresValues.second = parseInt(matches[parsedIndexes.second]);\n\t\t\t}\n\n\t\t\t// Millisecond\n\t\t\tif (parsedIndexes.millisecond > -1) {\n\t\t\t\tlet val = parseInt(matches[parsedIndexes.millisecond]);\n\t\t\t\tif (parsedIndexes.millisecondDigits == 2) {\n\t\t\t\t\tval *= 10;\n\t\t\t\t}\n\t\t\t\telse if (parsedIndexes.millisecondDigits == 1) {\n\t\t\t\t\tval *= 100;\n\t\t\t\t}\n\t\t\t\tresValues.millisecond = val;\n\t\t\t}\n\n\t\t\t// Timestamp\n\t\t\tif (parsedIndexes.timestamp > -1) {\n\t\t\t\tresValues.timestamp = parseInt(matches[parsedIndexes.timestamp]);\n\n\t\t\t\tconst ts = new Date(resValues.timestamp);\n\t\t\t\tresValues.year = ts.getUTCFullYear();\n\t\t\t\tresValues.month = ts.getUTCMonth();\n\t\t\t\tresValues.day = ts.getUTCDate();\n\t\t\t\tresValues.hour = ts.getUTCHours();\n\t\t\t\tresValues.minute = ts.getUTCMinutes();\n\t\t\t\tresValues.second = ts.getUTCSeconds();\n\t\t\t\tresValues.millisecond = ts.getUTCMilliseconds();\n\t\t\t}\n\n\t\t\t// Adjust time zone\n\t\t\tif (parsedIndexes.zone > -1) {\n\t\t\t\tresValues.offset = this.resolveTimezoneOffset(new Date(resValues.year, resValues.month, resValues.day), matches[parsedIndexes.zone]);\n\t\t\t}\n\n\t\t\t// ISO\n\t\t\tif (parsedIndexes.iso > -1) {\n\n\t\t\t\tresValues.year = $type.toNumber(matches[parsedIndexes.iso + 0]);\n\t\t\t\tresValues.month = $type.toNumber(matches[parsedIndexes.iso + 1]) - 1;\n\t\t\t\tresValues.day = $type.toNumber(matches[parsedIndexes.iso + 2]);\n\t\t\t\tresValues.hour = $type.toNumber(matches[parsedIndexes.iso + 3]);\n\t\t\t\tresValues.minute = $type.toNumber(matches[parsedIndexes.iso + 4]);\n\t\t\t\tresValues.second = $type.toNumber(matches[parsedIndexes.iso + 5]);\n\t\t\t\tresValues.millisecond = $type.toNumber(matches[parsedIndexes.iso + 6]);\n\n\t\t\t\tif (matches[parsedIndexes.iso + 7] == \"Z\" || matches[parsedIndexes.iso + 7] == \"z\") {\n\t\t\t\t\tresValues.utc = true;\n\t\t\t\t}\n\t\t\t\telse if (matches[parsedIndexes.iso + 7] != \"\") {\n\t\t\t\t\tresValues.offset = this.resolveTimezoneOffset(new Date(resValues.year, resValues.month, resValues.day), matches[parsedIndexes.iso + 7]);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Create Date object\n\t\t\tif (resValues.utc) {\n\t\t\t\tres = new Date(Date.UTC(\n\t\t\t\t\tresValues.year,\n\t\t\t\t\tresValues.month,\n\t\t\t\t\tresValues.day,\n\t\t\t\t\tresValues.hour,\n\t\t\t\t\tresValues.minute,\n\t\t\t\t\tresValues.second,\n\t\t\t\t\tresValues.millisecond\n\t\t\t\t));\n\t\t\t}\n\t\t\telse {\n\t\t\t\tres = new Date(\n\t\t\t\t\tresValues.year,\n\t\t\t\t\tresValues.month,\n\t\t\t\t\tresValues.day,\n\t\t\t\t\tresValues.hour,\n\t\t\t\t\tresValues.minute + resValues.offset,\n\t\t\t\t\tresValues.second,\n\t\t\t\t\tresValues.millisecond\n\t\t\t\t);\n\t\t\t}\n\n\t\t}\n\t\telse {\n\t\t\t// Didn't match anything\n\t\t\t// Let's try dropping it into Date constructor and hope for the best\n\t\t\tres = new Date(source);\n\t\t}\n\n\t\treturn res;\n\t}\n\n\tprotected resolveTimezoneOffset(date: Date, zone: string): number {\n\t\tlet value = zone.match(/([+\\-]?)([0-9]{2}):?([0-9]{2})/);\n\t\tif (value) {\n\t\t\tlet match = zone.match(/([+\\-]?)([0-9]{2}):?([0-9]{2})/)!;\n\t\t\tlet dir = match[1];\n\t\t\tlet hour = match[2];\n\t\t\tlet minute = match[3];\n\t\t\tlet offset = parseInt(hour) * 60 + parseInt(minute);\n\n\t\t\t// Adjust offset\n\t\t\t// Making it negative does not seem to make sense, but it's right\n\t\t\t// because of how JavaScript calculates GMT offsets\n\t\t\tif (dir == \"+\") {\n\t\t\t\toffset *= -1;\n\t\t\t}\n\n\t\t\t// Check the difference in offset\n\t\t\tlet originalOffset = (date || new Date()).getTimezoneOffset();\n\t\t\tlet diff = offset - originalOffset;\n\t\t\treturn diff;\n\t\t}\n\t\treturn 0;\n\t}\n\n\t/**\n\t * Resolves month name (i.e. \"December\") into a month number (11).\n\t *\n\t * @param value Month name\n\t * @return Month number\n\t */\n\tprotected resolveMonth(value: Months): number {\n\n\t\t// Let's try English first\n\t\tlet month: number = this._months().indexOf(value);\n\t\tif (month > -1) {\n\t\t\treturn month;\n\t\t}\n\n\t\t// Try the translation\n\t\tif (!this._root.language.isDefault()) {\n\t\t\tmonth = this._root.language.translateAll(this._months()).indexOf(value);\n\t\t\tif (month > -1) {\n\t\t\t\treturn month\n\t\t\t}\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\t/**\n\t * Resolves short month name (i.e. \"Dec\") into a month number.\n\t *\n\t * @param value Short month name\n\t * @return Month number\n\t */\n\tprotected resolveShortMonth(value: ShortMonths): number {\n\n\t\t// Let's try English first\n\t\tlet month: number = this._shortMonths().indexOf(value);\n\t\tif (month > -1) {\n\t\t\treturn month;\n\t\t}\n\n\t\t// Maybe long month (workaround for May)\n\t\tmonth = this._months().indexOf(<any>value);\n\t\tif (month > -1) {\n\t\t\treturn month;\n\t\t}\n\n\t\t// Try the translation\n\t\tif (this._root.language && !this._root.language.isDefault()) {\n\t\t\tmonth = this._root.language.translateAll(this._shortMonths()).indexOf(value);\n\t\t\tif (month > -1) {\n\t\t\t\treturn month\n\t\t\t}\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\t/**\n\t * Checks if passed in string represents AM/PM notation in many of its\n\t * versions.\n\t *\n\t * @param value Source string\n\t * @return Is it AM/PM?\n\t */\n\tprotected isAm(value: string): boolean {\n\t\tlet list = this.getStringList([\"AM\", \"A.M.\", \"A\"]);\n\t\treturn list.indexOf(value.toUpperCase()) > -1;\n\t}\n\n\t/**\n\t * Translates list of strings.\n\t *\n\t * @param list Source strings\n\t * @return Translated strings\n\t */\n\tprotected getStringList(list: Array<keyof ILocaleSettings>): Array<string> {\n\t\tlet res: string[] = [];\n\t\tfor (let i: number = 0; i < list.length; i++) {\n\t\t\t// translate?\n\t\t\tif (this._root.language) {\n\t\t\t\tres.push($utils.escapeForRgex(this._t(list[i])));\n\t\t\t}\n\t\t\telse {\n\t\t\t\tres.push($utils.escapeForRgex(list[i]));\n\t\t\t}\n\t\t}\n\t\treturn res;\n\t}\n\n}\n"]}
|
|
1
|
+
{"version":3,"file":"DateFormatter.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/DateFormatter.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAmC,MAAM,UAAU,CAAA;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,OAAO,KAAK,KAAK,MAAM,QAAQ,CAAA;AAC/B,OAAO,KAAK,MAAM,MAAM,SAAS,CAAC;AAmDlC;IAAmC,iCAAM;IAAzC;;IA6kCA,CAAC;;;;;eAzkCA;YACC,WAAW;YACX,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YAE7C,iBAAM,YAAY,WAAE,CAAC;QACtB,CAAC;;;;;;eAED;YACC,iBAAM,cAAc,WAAE,CAAC;QACxB,CAAC;;;;;;eAED,UAAc,MAAW,EAAE,MAA4C;YAEtE,UAAU;YACV,OAAO;YAEP,oCAAoC;YACpC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,EAAE,EAAE;gBACnD,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;aAC9C;YAED,oBAAoB;YACpB,IAAI,SAAS,CAAC;YAEd,QAAQ;YACR,kCAAkC;YAClC,IAAI,IAAI,GAAS,MAAM,CAAC;YAExB,iDAAiD;YACjD,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBAE3B,IAAI;oBACH,IAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;oBACxC,IAAI,OAAO,EAAE;wBACZ,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,EAA8B,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;qBACzF;yBACI;wBACJ,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,EAA8B,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;qBAC3F;iBACD;gBACD,OAAO,CAAC,EAAE;oBACT,OAAO,SAAS,CAAC;iBACjB;aAED;YAED,0DAA0D;YAC1D,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAEpC,oCAAoC;YACpC,IAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;YACrC,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;gBAChC,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;aACnC;YAGD,6BAA6B;YAC7B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE;gBACpC,mBAAmB;gBACnB,iCAAiC;gBACjC,OAAO,cAAc,CAAC;aACtB;YAED,eAAe;YACf,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEzC,aAAa;YACb,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;gBAC3B,SAAS,GAAG,SAAS,CAAC,OAAO,CAC5B,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAC7C,CAAC;aACF;YAED,aAAa;YACb,OAAO,SAAS,CAAC;QAClB,CAAC;;IAED;;;;;;OAMG;;;;;eACH,UAAsB,IAAU,EAAE,IAAoB;YAErD,oBAAoB;YACpB,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;YAExB,aAAa;YACb,IAAI,QAAgB,EACnB,KAAa,EACb,OAAe,EACf,GAAW,EACX,KAAa,EACb,OAAe,EACf,OAAe,EACf,YAAoB,EACpB,SAAS,GAAW,IAAI,CAAC,OAAO,EAAE,CAAC;YACpC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;gBACnB,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;gBACjC,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC3B,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC3B,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBACxB,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC3B,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC/B,OAAO,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC/B,YAAY,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;aACzC;iBACI;gBACJ,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC9B,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACxB,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBACxB,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrB,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACxB,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC5B,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC5B,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;aACtC;YAED,yDAAyD;YACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;gBACtD,IAAI,KAAK,GAAW,EAAE,CAAC;gBACvB,QAAQ,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;oBAEtB,KAAK,GAAG;wBACP,KAAK,GAAG,IAAI,CAAC,EAAE,CACd,QAAQ,GAAG,CAAC;4BACX,CAAC,CAAC,SAAS;4BACX,CAAC,CAAC,SAAS,CACZ,CAAC;wBACF,MAAM;oBAEP,KAAK,MAAM;wBACV,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;wBACtC,IAAI,QAAQ,GAAG,CAAC,EAAE;4BACjB,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;yBAC5B;wBACD,MAAM;oBAEP,KAAK,KAAK,CAAC;oBACX,KAAK,IAAI,CAAC;oBACV,KAAK,GAAG;wBACP,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;wBACpE,IAAI,QAAQ,GAAG,CAAC,EAAE;4BACjB,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;yBAC5B;wBACD,MAAM;oBAEP,KAAK,MAAM,CAAC;oBACZ,KAAK,KAAK,CAAC;oBACX,KAAK,IAAI,CAAC;oBACV,KAAK,GAAG;wBACP,IAAI,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBAChC,IAAI,IAAI,GAAG,QAAQ,CAAC;wBACpB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE;4BAC/B,IAAI,EAAE,CAAC;yBACP;wBACD,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE;4BAC5B,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;yBAClC;6BACI;4BACJ,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;yBAChE;wBACD,IAAI,IAAI,GAAG,CAAC,EAAE;4BACb,KAAK,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;yBAC5B;wBACD,MAAM;oBAEP,KAAK,GAAG;wBACP,QAAQ;wBACR,MAAM;oBAEP,KAAK,GAAG;wBACP,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBAClD,MAAM;oBAEP,KAAK,OAAO;wBACX,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBACpD,MAAM;oBAEP,KAAK,MAAM;wBACV,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;wBACvC,MAAM;oBAEP,KAAK,KAAK;wBACT,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;wBAC5C,MAAM;oBAEP,KAAK,IAAI;wBACR,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;wBAC5C,MAAM;oBAEP,KAAK,GAAG;wBACP,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;wBAC/B,MAAM;oBAEP,KAAK,IAAI;wBACR,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;wBACvE,MAAM;oBAEP,KAAK,GAAG;wBACP,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;wBACxD,MAAM;oBAEP,KAAK,GAAG;wBACP,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;wBAC7D,MAAM;oBAEP,KAAK,IAAI;wBACR,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;wBACtC,MAAM;oBAEP,KAAK,GAAG;wBACP,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;wBACvB,MAAM;oBAEP,KAAK,IAAI,CAAC;oBACV,KAAK,KAAK;wBACT,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;wBACxG,MAAM;oBAEP,KAAK,GAAG;wBACP,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;wBAC3D,MAAM;oBAEP,KAAK,GAAG;wBACP,QAAQ;wBACR,MAAM;oBAEP,KAAK,GAAG;wBACP,QAAQ;wBACR,MAAM;oBAEP,KAAK,GAAG;wBACP,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;wBACtE,MAAM;oBAEP,KAAK,GAAG;wBACP,KAAK,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;wBAClC,MAAM;oBAEP,KAAK,IAAI;wBACR,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;wBAC5D,MAAM;oBAEP,KAAK,KAAK,CAAC;oBACX,KAAK,KAAK;wBACT,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;wBAChD,MAAM;oBAEP,KAAK,MAAM,CAAC;oBACZ,KAAK,MAAM;wBACV,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;wBAC3C,MAAM;oBAEP,KAAK,OAAO,CAAC;oBACb,KAAK,OAAO;wBACX,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBAC7D,MAAM;oBAEP,KAAK,GAAG,CAAC;oBACT,KAAK,IAAI;wBACR,KAAK,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;wBAC3E,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;4BAC1B,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;yBACxC;wBACD,MAAM;oBAEP,KAAK,GAAG;wBACP,IAAI,KAAK,IAAI,EAAE,EAAE;4BAChB,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;yBACtB;6BACI;4BACJ,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;yBACtB;wBACD,MAAM;oBAEP,KAAK,IAAI;wBACR,IAAI,KAAK,IAAI,EAAE,EAAE;4BAChB,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;yBACxB;6BACI;4BACJ,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;yBACxB;wBACD,MAAM;oBAEP,KAAK,KAAK;wBACT,IAAI,KAAK,IAAI,EAAE,EAAE;4BAChB,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;yBACrB;6BACI;4BACJ,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;yBACrB;wBACD,MAAM;oBAEP,KAAK,GAAG;wBACP,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;wBAC5C,MAAM;oBAEP,KAAK,IAAI;wBACR,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;wBAC3D,MAAM;oBAEP,KAAK,GAAG;wBACP,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;wBACzB,MAAM;oBAEP,KAAK,IAAI;wBACR,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;wBACxC,MAAM;oBAEP,KAAK,GAAG;wBACP,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;wBAC/C,MAAM;oBAEP,KAAK,IAAI;wBACR,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;wBAC9D,MAAM;oBAEP,KAAK,GAAG;wBACP,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;wBAC/B,MAAM;oBAEP,KAAK,IAAI;wBACR,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;wBAC5C,MAAM;oBAEP,KAAK,GAAG;wBACP,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;wBAC3B,MAAM;oBAEP,KAAK,IAAI;wBACR,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;wBAC1C,MAAM;oBAEP,KAAK,GAAG;wBACP,KAAK,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;wBAC3B,MAAM;oBAEP,KAAK,IAAI;wBACR,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;wBAC1C,MAAM;oBAEP,KAAK,GAAG,CAAC;oBACT,KAAK,IAAI,CAAC;oBACV,KAAK,KAAK;wBACT,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;wBAC1F,MAAM;oBAEP,KAAK,GAAG;wBACP,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC;wBAC7B,MAAM;oBAEP,KAAK,GAAG,CAAC;oBACT,KAAK,IAAI,CAAC;oBACV,KAAK,KAAK;wBACT,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;wBAClE,MAAM;oBAEP,KAAK,GAAG;wBACP,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC/D,MAAM;oBAEP,KAAK,IAAI;wBACR,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC9D,MAAM;oBAEP,KAAK,KAAK;wBACT,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC9D,MAAM;oBAEP,KAAK,MAAM;wBACV,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAC7D,MAAM;oBAEP,KAAK,GAAG,CAAC;oBACT,KAAK,IAAI;wBACR,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;wBAC5D,IAAI,QAAQ,YAAY,QAAQ,EAAE;4BACjC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;yBACzB;wBACD,IAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBAExF,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;wBAC/B,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;wBACzB,IAAI,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,CAAC;wBAE7B,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;4BACnB,GAAG,GAAG,CAAC,CAAC;4BACR,GAAG,GAAG,CAAC,CAAC;yBACR;wBAED,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE;4BACzB,KAAK,GAAG,KAAK,CAAC;4BACd,KAAK,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;4BAChC,KAAK,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;yBACnE;6BACI;4BACJ,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;4BAC/B,KAAK,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;yBAC7D;wBACD,MAAM;oBAEP,KAAK,GAAG;wBACP,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;wBAC3B,MAAM;oBAEP,KAAK,GAAG;wBACP,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;wBAC3B,MAAM;iBAEP;gBACD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;aAC5C;YAED,OAAO,GAAG,CAAC;QACZ,CAAC;;IAED;;;;OAIG;;;;;eACH,UAAsB,MAAc;YAEnC,cAAc;YACd,+CAA+C;YAE/C,gCAAgC;YAChC,IAAI,IAAI,GAAmB;gBAC1B,UAAU,EAAE,EAAE;gBACd,OAAO,EAAO,EAAE;aAChB,CAAC;YAEF,sCAAsC;YACtC,IAAI,MAAM,GAAG,aAAa,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC/C,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC/C,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAEtB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;oBAE3B,eAAe;oBACf,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;wBAChC,IAAI,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;wBACtD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;4BAChC,UAAU,GAAG,YAAY,CAAC;yBAC1B;wBACD,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;qBACxB;oBAED,0BAA0B;oBAC1B,IAAI,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,+MAA+M,CAAC,CAAC;oBAEhP,SAAS;oBACT,IAAI,OAAO,EAAE;wBAEZ,oBAAoB;wBACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACxC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC5B,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;yBAC/D;qBAED;iBAED;gBAED,oBAAoB;gBACpB,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC;aAC5B;YAED,aAAa;YACb,OAAO;YAEP,OAAO,IAAI,CAAC;QACb,CAAC;;;;;;eAED;YACC,OAAO,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QACnI,CAAC;;;;;;eAED,UAAoB,KAAa;YAChC,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;;;;;;eAED;YACC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACpG,CAAC;;;;;;eAED,UAAyB,KAAa;YACrC,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;;;;;;eAED;YACC,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QACvF,CAAC;;;;;;eAED,UAAsB,KAAa;YAClC,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;;;;;;eAED;YACC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1D,CAAC;;;;;;eAED,UAA2B,KAAa;YACvC,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;;;;;;eAED,UAAa,MAAW,EAAE,MAAc;YAEvC,uBAAuB;YACvB,IAAI,MAAM,YAAY,IAAI,EAAE;gBAC3B,OAAO,MAAM,CAAC;aACd;YAED,4BAA4B;YAC5B,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBAC3B,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;aACxB;YAED,kEAAkE;YAClE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBAC5B,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;aAC3B;YAED,oBAAoB;YACpB,IAAI,GAAS,CAAC;YAEd,yBAAyB;YACzB,IAAI,GAAG,GAAW,EAAE,CAAC;YAErB,eAAe;YACf,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAEpC,6CAA6C;YAC7C,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;YAEzC,eAAe;YACf,IAAI,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAEpC,2BAA2B;YAC3B,IAAI,aAAa,GAAG;gBACnB,MAAM,EAAE,CAAC,CAAC;gBACV,OAAO,EAAE,CAAC,CAAC;gBACX,OAAO,EAAE,CAAC,CAAC;gBACX,OAAO,EAAE,CAAC,CAAC;gBACX,OAAO,EAAE,CAAC,CAAC;gBACX,YAAY,EAAE,CAAC,CAAC;gBAChB,WAAW,EAAE,CAAC,CAAC;gBACf,cAAc,EAAE,CAAC,CAAC;gBAClB,aAAa,EAAE,CAAC,CAAC;gBACjB,KAAK,EAAE,CAAC,CAAC;gBACT,SAAS,EAAE,CAAC,CAAC;gBACb,MAAM,EAAE,CAAC,CAAC;gBACV,WAAW,EAAE,CAAC,CAAC;gBACf,aAAa,EAAE,CAAC,CAAC;gBACjB,WAAW,EAAE,CAAC,CAAC;gBACf,aAAa,EAAE,CAAC,CAAC;gBACjB,QAAQ,EAAE,CAAC,CAAC;gBACZ,QAAQ,EAAE,CAAC,CAAC;gBACZ,aAAa,EAAE,CAAC,CAAC;gBACjB,mBAAmB,EAAE,CAAC,CAAC;gBACvB,IAAI,EAAE,CAAC,CAAC;gBACR,MAAM,EAAE,CAAC,CAAC;gBACV,WAAW,EAAE,CAAC,CAAC;gBACf,KAAK,EAAE,CAAC,CAAC;aACT,CAAC;YAEF,cAAc;YACd,IAAI,SAAS,GAAG;gBACf,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,CAAC;gBACT,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,CAAC;gBACX,aAAa,EAAE,CAAC;gBAChB,WAAW,EAAO,IAAI;gBACtB,QAAQ,EAAE,CAAC;gBACX,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG;aACrB,CAAA;YAED,iBAAiB;YACjB,IAAI,WAAW,GAAW,CAAC,CAAC;YAC5B,IAAI,KAAK,GAAW,CAAC,CAAC;YAEtB,mCAAmC;YACnC,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAEnD,0BAA0B;gBAC1B,KAAK,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC,CAAC;gBAE5B,QAAQ,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;oBAEtB,KAAK,MAAM,CAAC;oBACZ,KAAK,MAAM;wBACV,GAAG,IAAI,YAAY,CAAC;wBACpB,aAAa,CAAC,IAAI,GAAG,KAAK,CAAC;wBAC3B,MAAM;oBAEP,KAAK,KAAK,CAAC;oBACX,KAAK,KAAK;wBACT,GAAG,IAAI,YAAY,CAAC;wBACpB,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;wBAC5B,MAAM;oBAEP,KAAK,IAAI,CAAC;oBACV,KAAK,IAAI;wBACR,GAAG,IAAI,YAAY,CAAC;wBACpB,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;wBAC5B,MAAM;oBAEP,KAAK,GAAG,CAAC;oBACT,KAAK,GAAG;wBACP,GAAG,IAAI,YAAY,CAAC;wBACpB,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;wBAC5B,MAAM;oBAEP,KAAK,MAAM;wBACV,GAAG,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;wBAChE,aAAa,CAAC,SAAS,GAAG,KAAK,CAAC;wBAChC,MAAM;oBAEP,KAAK,KAAK;wBACT,GAAG,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;wBACrE,aAAa,CAAC,UAAU,GAAG,KAAK,CAAC;wBACjC,MAAM;oBAEP,KAAK,IAAI,CAAC;oBACV,KAAK,GAAG;wBACP,GAAG,IAAI,qBAAqB,CAAC;wBAC7B,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;wBAC5B,MAAM;oBAEP,KAAK,IAAI,CAAC;oBACV,KAAK,GAAG;wBACP,GAAG,IAAI,qBAAqB,CAAC;wBAC7B,aAAa,CAAC,IAAI,GAAG,KAAK,CAAC;wBAC3B,MAAM;oBAEP,KAAK,IAAI,CAAC;oBACV,KAAK,GAAG;wBACP,GAAG,IAAI,qBAAqB,CAAC;wBAC7B,aAAa,CAAC,GAAG,GAAG,KAAK,CAAC;wBAC1B,MAAM;oBAEP,KAAK,KAAK,CAAC;oBACX,KAAK,IAAI,CAAC;oBACV,KAAK,GAAG;wBACP,GAAG,IAAI,8BAA8B,CAAC;wBACtC,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;wBAC9B,MAAM;oBAGP,KAAK,MAAM;wBACV,GAAG,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;wBAClE,aAAa,CAAC,WAAW,GAAG,KAAK,CAAC;wBAClC,MAAM;oBAEP,KAAK,KAAK;wBACT,GAAG,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;wBACvE,aAAa,CAAC,YAAY,GAAG,KAAK,CAAC;wBACnC,MAAM;oBAEP,KAAK,KAAK,CAAC;oBACX,KAAK,IAAI,CAAC;oBACV,KAAK,GAAG;wBACP,2BAA2B;wBAC3B,GAAG,IAAI,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;wBAC5F,aAAa,CAAC,EAAE,GAAG,KAAK,CAAC;wBACzB,MAAM;oBAEP,KAAK,IAAI,CAAC;oBACV,KAAK,GAAG;wBACP,GAAG,IAAI,qBAAqB,CAAC;wBAC7B,aAAa,CAAC,WAAW,GAAG,KAAK,CAAC;wBAClC,MAAM;oBAEP,KAAK,IAAI,CAAC;oBACV,KAAK,GAAG;wBACP,GAAG,IAAI,qBAAqB,CAAC;wBAC7B,aAAa,CAAC,SAAS,GAAG,KAAK,CAAC;wBAChC,MAAM;oBAEP,KAAK,IAAI,CAAC;oBACV,KAAK,GAAG;wBACP,GAAG,IAAI,qBAAqB,CAAC;wBAC7B,aAAa,CAAC,WAAW,GAAG,KAAK,CAAC;wBAClC,MAAM;oBAEP,KAAK,IAAI,CAAC;oBACV,KAAK,GAAG;wBACP,GAAG,IAAI,qBAAqB,CAAC;wBAC7B,aAAa,CAAC,SAAS,GAAG,KAAK,CAAC;wBAChC,MAAM;oBAEP,KAAK,IAAI,CAAC;oBACV,KAAK,GAAG;wBACP,GAAG,IAAI,qBAAqB,CAAC;wBAC7B,aAAa,CAAC,MAAM,GAAG,KAAK,CAAC;wBAC7B,MAAM;oBAEP,KAAK,IAAI,CAAC;oBACV,KAAK,GAAG;wBACP,GAAG,IAAI,qBAAqB,CAAC;wBAC7B,aAAa,CAAC,MAAM,GAAG,KAAK,CAAC;wBAC7B,MAAM;oBAEP,KAAK,KAAK,CAAC;oBACX,KAAK,IAAI,CAAC;oBACV,KAAK,GAAG;wBACP,GAAG,IAAI,8BAA8B,CAAC;wBACtC,aAAa,CAAC,WAAW,GAAG,KAAK,CAAC;wBAClC,aAAa,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;wBACvD,MAAM;oBAEP,KAAK,KAAK,CAAC;oBACX,KAAK,IAAI,CAAC;oBACV,KAAK,GAAG;wBACP,GAAG,IAAI,8BAA8B,CAAC;wBACtC,aAAa,CAAC,WAAW,GAAG,KAAK,CAAC;wBAClC,MAAM;oBAEP,KAAK,GAAG;wBACP,GAAG,IAAI,aAAa,CAAC;wBACrB,aAAa,CAAC,SAAS,GAAG,KAAK,CAAC;wBAChC,MAAM;oBAEP,KAAK,GAAG;wBACP,GAAG,IAAI,6BAA6B,CAAC;wBACrC,aAAa,CAAC,IAAI,GAAG,KAAK,CAAC;wBAC3B,MAAM;oBAEP,KAAK,IAAI;wBACR,GAAG,IAAI,2BAA2B,CAAC;wBACnC,aAAa,CAAC,IAAI,GAAG,KAAK,CAAC;wBAC3B,MAAM;oBAEP,KAAK,GAAG;wBACP,GAAG,IAAI,yHAAyH,CAAC;wBACjI,aAAa,CAAC,GAAG,GAAG,KAAK,CAAC;wBAC1B,WAAW,IAAI,CAAC,CAAC;wBACjB,MAAM;oBAEP,KAAK,GAAG,CAAC;oBACT,KAAK,MAAM,CAAC;oBACZ,KAAK,KAAK,CAAC;oBACX,KAAK,IAAI,CAAC;oBACV,KAAK,GAAG,CAAC;oBACT,KAAK,OAAO,CAAC;oBACb,KAAK,GAAG,CAAC;oBACT,KAAK,OAAO,CAAC;oBACb,KAAK,MAAM,CAAC;oBACZ,KAAK,KAAK,CAAC;oBACX,KAAK,IAAI,CAAC;oBACV,KAAK,GAAG,CAAC;oBACT,KAAK,OAAO,CAAC;oBACb,KAAK,MAAM,CAAC;oBACZ,KAAK,KAAK,CAAC;oBACX,KAAK,IAAI,CAAC;oBACV,KAAK,GAAG,CAAC;oBACT,KAAK,MAAM,CAAC;oBACZ,KAAK,KAAK,CAAC;oBACX,KAAK,IAAI,CAAC;oBACV,KAAK,GAAG,CAAC;oBACT,KAAK,GAAG;wBACP,SAAS;wBACT,WAAW,EAAE,CAAC;wBACd,MAAM;iBACP;gBAED,GAAG,IAAI,SAAS,CAAC;aACjB;YAED,eAAe;YACf,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,OAAO,GAAqB,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAEpD,IAAI,OAAO,EAAE;gBACZ,2BAA2B;gBAE3B,YAAY;gBACZ,IAAI,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE;oBAC5B,SAAS,CAAC,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;iBACvD;gBAED,eAAe;gBACf,IAAI,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE;oBAC7B,IAAI,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;oBACjD,GAAG,IAAI,IAAI,CAAC;oBACZ,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC;iBACrB;gBAED,eAAe;gBACf,IAAI,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE;oBAC7B,IAAI,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;oBACjD,IAAI,GAAG,GAAG,EAAE,EAAE;wBACb,GAAG,IAAI,IAAI,CAAC;qBACZ;yBACI;wBACJ,GAAG,IAAI,IAAI,CAAC;qBACZ;oBACD,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC;iBACrB;gBAED,eAAe;gBACf,IAAI,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE;oBAC7B,IAAI,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;oBACjD,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;oBAC7D,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC;iBACrB;gBAED,aAAa;gBACb,IAAI,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE;oBACjC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAM,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;iBAC3E;gBAED,cAAc;gBACd,IAAI,aAAa,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE;oBAClC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAM,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;iBACjF;gBAED,gBAAgB;gBAChB,IAAI,aAAa,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE;oBAC7B,SAAS,CAAC,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;iBAC7D;gBAED,UAAU;gBACV,QAAQ;gBAER,OAAO;gBACP,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE;oBAC5D,mDAAmD;oBACnD,wBAAwB;oBACxB,+EAA+E;oBAC/E,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC;oBACpB,SAAS,CAAC,GAAG,GAAG,MAAM,CAAC,cAAc,CACpC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,EACrC,SAAS,CAAC,IAAI,EACd,CAAC,EACD,IAAI,CAAC,KAAK,CAAC,GAAG,CACd,CAAC;iBACF;gBAED,MAAM;gBACN,IAAI,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE;oBAC3B,SAAS,CAAC,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;iBACrD;gBAED,WAAW;gBACX,IAAI,aAAa,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE;oBAC/B,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC;oBACpB,SAAS,CAAC,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;iBACzD;gBAED,iBAAiB;gBACjB,IAAI,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE;oBACjC,SAAS,CAAC,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;iBAC5D;gBAED,iBAAiB;gBACjB,IAAI,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE;oBACjC,SAAS,CAAC,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC;iBAChE;gBAED,iBAAiB;gBACjB,IAAI,aAAa,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;oBACnC,IAAI,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;oBACvD,IAAI,GAAG,IAAI,EAAE,EAAE;wBACd,GAAG,GAAG,CAAC,CAAC;qBACR;oBACD,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE;wBACrE,GAAG,IAAI,EAAE,CAAC;qBACV;oBACD,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC;iBACrB;gBAED,iBAAiB;gBACjB,IAAI,aAAa,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;oBACnC,IAAI,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;oBACvD,IAAI,GAAG,IAAI,EAAE,EAAE;wBACd,GAAG,GAAG,CAAC,CAAC;qBACR;oBACD,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE;wBACrE,GAAG,IAAI,EAAE,CAAC;qBACV;oBACD,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC;iBACrB;gBAED,SAAS;gBACT,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;oBAC9B,SAAS,CAAC,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;iBAC3D;gBAED,SAAS;gBACT,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;oBAC9B,SAAS,CAAC,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;iBAC3D;gBAED,cAAc;gBACd,IAAI,aAAa,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;oBACnC,IAAI,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;oBACvD,IAAI,aAAa,CAAC,iBAAiB,IAAI,CAAC,EAAE;wBACzC,GAAG,IAAI,EAAE,CAAC;qBACV;yBACI,IAAI,aAAa,CAAC,iBAAiB,IAAI,CAAC,EAAE;wBAC9C,GAAG,IAAI,GAAG,CAAC;qBACX;oBACD,SAAS,CAAC,WAAW,GAAG,GAAG,CAAC;iBAC5B;gBAED,YAAY;gBACZ,IAAI,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE;oBACjC,SAAS,CAAC,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;oBAEjE,IAAM,EAAE,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;oBACzC,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC;oBACrC,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;oBACnC,SAAS,CAAC,GAAG,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC;oBAChC,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;oBAClC,SAAS,CAAC,MAAM,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC;oBACtC,SAAS,CAAC,MAAM,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC;oBACtC,SAAS,CAAC,WAAW,GAAG,EAAE,CAAC,kBAAkB,EAAE,CAAC;iBAChD;gBAED,mBAAmB;gBACnB,IAAI,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE;oBAC5B,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;iBACrI;gBAED,MAAM;gBACN,IAAI,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE;oBAE3B,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;oBAChE,SAAS,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBACrE,SAAS,CAAC,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;oBAC/D,SAAS,CAAC,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;oBAChE,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;oBAClE,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;oBAClE,SAAS,CAAC,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;oBAEvE,IAAI,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,GAAG,EAAE;wBACnF,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC;qBACrB;yBACI,IAAI,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;wBAC9C,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;qBACxI;iBACD;gBAED,qBAAqB;gBACrB,IAAI,SAAS,CAAC,GAAG,EAAE;oBAClB,GAAG,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CACtB,SAAS,CAAC,IAAI,EACd,SAAS,CAAC,KAAK,EACf,SAAS,CAAC,GAAG,EACb,SAAS,CAAC,IAAI,EACd,SAAS,CAAC,MAAM,EAChB,SAAS,CAAC,MAAM,EAChB,SAAS,CAAC,WAAW,CACrB,CAAC,CAAC;iBACH;qBACI;oBACJ,GAAG,GAAG,IAAI,IAAI,CACb,SAAS,CAAC,IAAI,EACd,SAAS,CAAC,KAAK,EACf,SAAS,CAAC,GAAG,EACb,SAAS,CAAC,IAAI,EACd,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,EACnC,SAAS,CAAC,MAAM,EAChB,SAAS,CAAC,WAAW,CACrB,CAAC;iBACF;aAED;iBACI;gBACJ,wBAAwB;gBACxB,oEAAoE;gBACpE,GAAG,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;aACvB;YAED,OAAO,GAAG,CAAC;QACZ,CAAC;;;;;;eAED,UAAgC,IAAU,EAAE,IAAY;YACvD,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACzD,IAAI,KAAK,EAAE;gBACV,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,gCAAgC,CAAE,CAAC;gBAC1D,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACnB,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpB,IAAI,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAEpD,gBAAgB;gBAChB,iEAAiE;gBACjE,mDAAmD;gBACnD,IAAI,GAAG,IAAI,GAAG,EAAE;oBACf,MAAM,IAAI,CAAC,CAAC,CAAC;iBACb;gBAED,iCAAiC;gBACjC,IAAI,cAAc,GAAG,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC;gBAC9D,IAAI,IAAI,GAAG,MAAM,GAAG,cAAc,CAAC;gBACnC,OAAO,IAAI,CAAC;aACZ;YACD,OAAO,CAAC,CAAC;QACV,CAAC;;IAED;;;;;OAKG;;;;;eACH,UAAuB,KAAa;YAEnC,0BAA0B;YAC1B,IAAI,KAAK,GAAW,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAClD,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;gBACf,OAAO,KAAK,CAAC;aACb;YAED,sBAAsB;YACtB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE;gBACrC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACxE,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;oBACf,OAAO,KAAK,CAAA;iBACZ;aACD;YAED,OAAO,CAAC,CAAC;QACV,CAAC;;IAED;;;;;OAKG;;;;;eACH,UAA4B,KAAkB;YAE7C,0BAA0B;YAC1B,IAAI,KAAK,GAAW,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACvD,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;gBACf,OAAO,KAAK,CAAC;aACb;YAED,wCAAwC;YACxC,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,CAAM,KAAK,CAAC,CAAC;YAC3C,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;gBACf,OAAO,KAAK,CAAC;aACb;YAED,sBAAsB;YACtB,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE;gBAC5D,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC7E,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;oBACf,OAAO,KAAK,CAAA;iBACZ;aACD;YAED,OAAO,CAAC,CAAC;QACV,CAAC;;IAED;;;;;;OAMG;;;;;eACH,UAAe,KAAa;YAC3B,IAAI,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;YACnD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/C,CAAC;;IAED;;;;;OAKG;;;;;eACH,UAAwB,IAAkC;YACzD,IAAI,GAAG,GAAa,EAAE,CAAC;YACvB,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC7C,aAAa;gBACb,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;oBACxB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACjD;qBACI;oBACJ,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACxC;aACD;YACD,OAAO,GAAG,CAAC;QACZ,CAAC;;IAEF,oBAAC;AAAD,CAAC,AA7kCD,CAAmC,MAAM,GA6kCxC","sourcesContent":["import type { ILocaleSettings } from \"./Language\"\n\nimport { Entity, IEntitySettings, IEntityPrivate } from \"./Entity\"\nimport { TextFormatter } from \"./TextFormatter\"\nimport { Timezone } from \"./Timezone\"\n\nimport * as $type from \"./Type\"\nimport * as $utils from \"./Utils\";\n\n/**\n * Interface describing parsed date format definition.\n *\n * @ignore\n */\nexport interface DateFormatInfo {\n\t\"template\": string;\n\t\"parts\": any[];\n}\n\nexport interface IDateFormatterSettings extends IEntitySettings {\n\n\t/**\n\t * Should the first letter of the formatted date be capitalized?\n\t *\n\t * @default true\n\t */\n\tcapitalize?: boolean;\n\n\t/**\n\t * A date format to be used when formatting dates.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/formatters/formatting-dates/} for more info\n\t */\n\tdateFormat?: string | Intl.DateTimeFormatOptions;\n\n\t/**\n\t * An array of data fields that hold date values and should be formatted\n\t * with a [[DateFormatter]].\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/formatters/data-placeholders/#Formatting_placeholders} for more info\n\t */\n\tdateFields?: string[];\n\n\t/**\n\t * Locales to use when formatting using `Intl.DateFormatter`.\n\t */\n\tintlLocales?: string;\n\n}\n\nexport interface IDateFormatterPrivate extends IEntityPrivate {\n}\n\ntype Months = \"January\" | \"February\" | \"March\" | \"April\" | \"May\" | \"June\" | \"July\" | \"August\" | \"September\" | \"October\" | \"November\" | \"December\";\ntype ShortMonths = \"Jan\" | \"Feb\" | \"Mar\" | \"Apr\" | \"May(short)\" | \"Jun\" | \"Jul\" | \"Aug\" | \"Sep\" | \"Oct\" | \"Nov\" | \"Dec\";\ntype Weekdays = \"Sunday\" | \"Monday\" | \"Tuesday\" | \"Wednesday\" | \"Thursday\" | \"Friday\" | \"Saturday\";\ntype ShortWeekdays = \"Sun\" | \"Mon\" | \"Tue\" | \"Wed\" | \"Thu\" | \"Fri\" | \"Sat\";\n\nexport class DateFormatter extends Entity {\n\tdeclare public _settings: IDateFormatterSettings;\n\tdeclare public _privateSettings: IDateFormatterPrivate;\n\n\tprotected _setDefaults() {\n\t\t// Defaults\n\t\tthis._setDefault(\"capitalize\", true);\n\t\tthis._setDefault(\"dateFormat\", \"yyyy-MM-dd\");\n\n\t\tsuper._setDefaults();\n\t}\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\t}\n\n\tpublic format(source: any, format?: string | Intl.DateTimeFormatOptions): string {\n\n\t\t// Locale?\n\t\t// TODO\n\n\t\t// No format passed in or it's empty\n\t\tif (typeof format === \"undefined\" || format === \"\") {\n\t\t\tformat = this.get(\"dateFormat\", \"yyyy-MM-dd\");\n\t\t}\n\n\t\t// Init return value\n\t\tlet formatted;\n\n\t\t// Cast?\n\t\t// TODO: decide if we need to cast\n\t\tlet date: Date = source;\n\n\t\t// Is it a built-in format or Intl.DateTimeFormat\n\t\tif ($type.isObject(format)) {\n\n\t\t\ttry {\n\t\t\t\tconst locales = this.get(\"intlLocales\");\n\t\t\t\tif (locales) {\n\t\t\t\t\treturn new Intl.DateTimeFormat(locales, <Intl.DateTimeFormatOptions>format).format(date);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn new Intl.DateTimeFormat(undefined, <Intl.DateTimeFormatOptions>format).format(date);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcatch (e) {\n\t\t\t\treturn \"Invalid\";\n\t\t\t}\n\n\t\t}\n\n\t\t// get format info (it will also deal with parser caching)\n\t\tlet info = this.parseFormat(format);\n\n\t\t// Should we apply custom time zone?\n\t\tconst timezone = this._root.timezone;\n\t\tif (timezone && !this._root.utc) {\n\t\t\tdate = timezone.convertLocal(date);\n\t\t}\n\n\n\t\t// Check if it's a valid date\n\t\tif (!$type.isNumber(date.getTime())) {\n\t\t\t// TODO translation\n\t\t\t//return this._t(\"Invalid date\");\n\t\t\treturn \"Invalid date\";\n\t\t}\n\n\t\t// Apply format\n\t\tformatted = this.applyFormat(date, info);\n\n\t\t// Capitalize\n\t\tif (this.get(\"capitalize\")) {\n\t\t\tformatted = formatted.replace(\n\t\t\t\t/^.{1}/, formatted.substr(0, 1).toUpperCase()\n\t\t\t);\n\t\t}\n\n\t\t// We're done\n\t\treturn formatted;\n\t}\n\n\t/**\n\t * Applies format to Date.\n\t *\n\t * @param date Date object\n\t * @param info Parsed format information\n\t * @return Formatted date string\n\t */\n\tprotected applyFormat(date: Date, info: DateFormatInfo): string {\n\n\t\t// Init return value\n\t\tlet res = info.template;\n\n\t\t// Get values\n\t\tlet fullYear: number,\n\t\t\tmonth: number,\n\t\t\tweekday: number,\n\t\t\tday: number,\n\t\t\thours: number,\n\t\t\tminutes: number,\n\t\t\tseconds: number,\n\t\t\tmilliseconds: number,\n\t\t\ttimestamp: number = date.getTime();\n\t\tif (this._root.utc) {\n\t\t\tfullYear = date.getUTCFullYear();\n\t\t\tmonth = date.getUTCMonth();\n\t\t\tweekday = date.getUTCDay();\n\t\t\tday = date.getUTCDate();\n\t\t\thours = date.getUTCHours();\n\t\t\tminutes = date.getUTCMinutes();\n\t\t\tseconds = date.getUTCSeconds();\n\t\t\tmilliseconds = date.getUTCMilliseconds();\n\t\t}\n\t\telse {\n\t\t\tfullYear = date.getFullYear();\n\t\t\tmonth = date.getMonth();\n\t\t\tweekday = date.getDay();\n\t\t\tday = date.getDate();\n\t\t\thours = date.getHours();\n\t\t\tminutes = date.getMinutes();\n\t\t\tseconds = date.getSeconds();\n\t\t\tmilliseconds = date.getMilliseconds();\n\t\t}\n\n\t\t// Go through each part and format/replace it in template\n\t\tfor (let i = 0, len = info.parts.length; i < len; i++) {\n\t\t\tlet value: string = \"\";\n\t\t\tswitch (info.parts[i]) {\n\n\t\t\t\tcase \"G\":\n\t\t\t\t\tvalue = this._t(\n\t\t\t\t\t\tfullYear < 0\n\t\t\t\t\t\t\t? \"_era_bc\"\n\t\t\t\t\t\t\t: \"_era_ad\"\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"yyyy\":\n\t\t\t\t\tvalue = Math.abs(fullYear).toString();\n\t\t\t\t\tif (fullYear < 0) {\n\t\t\t\t\t\tvalue += this._t(\"_era_bc\");\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"yyy\":\n\t\t\t\tcase \"yy\":\n\t\t\t\tcase \"y\":\n\t\t\t\t\tvalue = Math.abs(fullYear).toString().substr(-info.parts[i].length);\n\t\t\t\t\tif (fullYear < 0) {\n\t\t\t\t\t\tvalue += this._t(\"_era_bc\");\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"YYYY\":\n\t\t\t\tcase \"YYY\":\n\t\t\t\tcase \"YY\":\n\t\t\t\tcase \"Y\":\n\t\t\t\t\tlet week = $utils.getWeek(date);\n\t\t\t\t\tlet year = fullYear;\n\t\t\t\t\tif (week == 1 && (weekday > 4)) {\n\t\t\t\t\t\tyear--;\n\t\t\t\t\t}\n\t\t\t\t\tif (info.parts[i] == \"YYYY\") {\n\t\t\t\t\t\tvalue = Math.abs(year).toString();\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tvalue = Math.abs(year).toString().substr(-info.parts[i].length);\n\t\t\t\t\t}\n\t\t\t\t\tif (year < 0) {\n\t\t\t\t\t\tvalue += this._t(\"_era_bc\");\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"u\":\n\t\t\t\t\t// @todo\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"q\":\n\t\t\t\t\tvalue = \"\" + Math.ceil((date.getMonth() + 1) / 3);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"MMMMM\":\n\t\t\t\t\tvalue = this._t(this._getMonth(month)).substr(0, 1);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"MMMM\":\n\t\t\t\t\tvalue = this._t(this._getMonth(month));\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"MMM\":\n\t\t\t\t\tvalue = this._t(this._getShortMonth(month));\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"MM\":\n\t\t\t\t\tvalue = $utils.padString(month + 1, 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"M\":\n\t\t\t\t\tvalue = (month + 1).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"ww\":\n\t\t\t\t\tvalue = $utils.padString($utils.getWeek(date, this._root.utc), 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"w\":\n\t\t\t\t\tvalue = $utils.getWeek(date, this._root.utc).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"W\":\n\t\t\t\t\tvalue = $utils.getMonthWeek(date, this._root.utc).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"dd\":\n\t\t\t\t\tvalue = $utils.padString(day, 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"d\":\n\t\t\t\t\tvalue = day.toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"DD\":\n\t\t\t\tcase \"DDD\":\n\t\t\t\t\tvalue = $utils.padString($utils.getYearDay(date, this._root.utc).toString(), info.parts[i].length, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"D\":\n\t\t\t\t\tvalue = $utils.getYearDay(date, this._root.utc).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"F\":\n\t\t\t\t\t// @todo\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"g\":\n\t\t\t\t\t// @todo\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"t\":\n\t\t\t\t\tvalue = this._root.language.translateFunc(\"_dateOrd\").call(this, day);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"E\":\n\t\t\t\t\tvalue = (weekday || 7).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"EE\":\n\t\t\t\t\tvalue = $utils.padString((weekday || 7).toString(), 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"EEE\":\n\t\t\t\tcase \"eee\":\n\t\t\t\t\tvalue = this._t(this._getShortWeekday(weekday));\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"EEEE\":\n\t\t\t\tcase \"eeee\":\n\t\t\t\t\tvalue = this._t(this._getWeekday(weekday));\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"EEEEE\":\n\t\t\t\tcase \"eeeee\":\n\t\t\t\t\tvalue = this._t(this._getShortWeekday(weekday)).substr(0, 1);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"e\":\n\t\t\t\tcase \"ee\":\n\t\t\t\t\tvalue = (weekday - (this._root.locale.firstDayOfWeek || 1) + 1).toString();\n\t\t\t\t\tif (info.parts[i] == \"ee\") {\n\t\t\t\t\t\tvalue = $utils.padString(value, 2, \"0\");\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"a\":\n\t\t\t\t\tif (hours >= 12) {\n\t\t\t\t\t\tvalue = this._t(\"PM\");\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tvalue = this._t(\"AM\");\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"aa\":\n\t\t\t\t\tif (hours >= 12) {\n\t\t\t\t\t\tvalue = this._t(\"P.M.\");\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tvalue = this._t(\"A.M.\");\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"aaa\":\n\t\t\t\t\tif (hours >= 12) {\n\t\t\t\t\t\tvalue = this._t(\"P\");\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tvalue = this._t(\"A\");\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"h\":\n\t\t\t\t\tvalue = $utils.get12Hours(hours).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"hh\":\n\t\t\t\t\tvalue = $utils.padString($utils.get12Hours(hours), 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"H\":\n\t\t\t\t\tvalue = hours.toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"HH\":\n\t\t\t\t\tvalue = $utils.padString(hours, 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"K\":\n\t\t\t\t\tvalue = $utils.get12Hours(hours, 0).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"KK\":\n\t\t\t\t\tvalue = $utils.padString($utils.get12Hours(hours, 0), 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"k\":\n\t\t\t\t\tvalue = (hours + 1).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"kk\":\n\t\t\t\t\tvalue = $utils.padString(hours + 1, 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"m\":\n\t\t\t\t\tvalue = minutes.toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"mm\":\n\t\t\t\t\tvalue = $utils.padString(minutes, 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"s\":\n\t\t\t\t\tvalue = seconds.toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"ss\":\n\t\t\t\t\tvalue = $utils.padString(seconds, 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"S\":\n\t\t\t\tcase \"SS\":\n\t\t\t\tcase \"SSS\":\n\t\t\t\t\tvalue = Math.round((milliseconds / 1000) * Math.pow(10, info.parts[i].length)).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"x\":\n\t\t\t\t\tvalue = timestamp.toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"n\":\n\t\t\t\tcase \"nn\":\n\t\t\t\tcase \"nnn\":\n\t\t\t\t\tvalue = $utils.padString(milliseconds, info.parts[i].length, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"z\":\n\t\t\t\t\tvalue = $utils.getTimeZone(date, false, false, this._root.utc);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"zz\":\n\t\t\t\t\tvalue = $utils.getTimeZone(date, true, false, this._root.utc);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"zzz\":\n\t\t\t\t\tvalue = $utils.getTimeZone(date, false, true, this._root.utc);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"zzzz\":\n\t\t\t\t\tvalue = $utils.getTimeZone(date, true, true, this._root.utc);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"Z\":\n\t\t\t\tcase \"ZZ\":\n\t\t\t\t\tlet timezone = this._root.utc ? \"UTC\" : this._root.timezone;\n\t\t\t\t\tif (timezone instanceof Timezone) {\n\t\t\t\t\t\ttimezone = timezone.name;\n\t\t\t\t\t}\n\t\t\t\t\tconst offset = timezone ? $utils.getTimezoneOffset(timezone) : date.getTimezoneOffset();\n\n\t\t\t\t\tlet tz = Math.abs(offset) / 60;\n\t\t\t\t\tlet tzh = Math.floor(tz);\n\t\t\t\t\tlet tzm = tz * 60 - tzh * 60;\n\n\t\t\t\t\tif (this._root.utc) {\n\t\t\t\t\t\ttzh = 0;\n\t\t\t\t\t\ttzm = 0;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (info.parts[i] == \"Z\") {\n\t\t\t\t\t\tvalue = \"GMT\";\n\t\t\t\t\t\tvalue += offset > 0 ? \"-\" : \"+\";\n\t\t\t\t\t\tvalue += $utils.padString(tzh, 2) + \":\" + $utils.padString(tzm, 2);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tvalue = offset > 0 ? \"-\" : \"+\";\n\t\t\t\t\t\tvalue += $utils.padString(tzh, 2) + $utils.padString(tzm, 2);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"i\":\n\t\t\t\t\tvalue = date.toISOString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"I\":\n\t\t\t\t\tvalue = date.toUTCString();\n\t\t\t\t\tbreak;\n\n\t\t\t}\n\t\t\tres = res.replace($type.PLACEHOLDER, value);\n\t\t}\n\n\t\treturn res;\n\t}\n\n\t/**\n\t * Parses format into structured infromation.\n\t *\n\t * @param format Format template\n\t */\n\tprotected parseFormat(format: string): DateFormatInfo {\n\n\t\t// Check cache\n\t\t// TODO: implement caching of the parsed format\n\n\t\t// Init format parse info holder\n\t\tlet info: DateFormatInfo = {\n\t\t\t\"template\": \"\",\n\t\t\t\"parts\": <any>[]\n\t\t};\n\n\t\t// Let TextFormatter split into chunks\n\t\tlet chunks = TextFormatter.chunk(format, true);\n\t\tfor (let i: number = 0; i < chunks.length; i++) {\n\t\t\tlet chunk = chunks[i];\n\n\t\t\tif (chunk.type === \"value\") {\n\n\t\t\t\t// Just \"Date\"?\n\t\t\t\tif (chunk.text.match(/^date$/i)) {\n\t\t\t\t\tlet dateFormat = this.get(\"dateFormat\", \"yyyy-MM-dd\");\n\t\t\t\t\tif (!$type.isString(dateFormat)) {\n\t\t\t\t\t\tdateFormat = \"yyyy-MM-dd\";\n\t\t\t\t\t}\n\t\t\t\t\tchunk.text = dateFormat;\n\t\t\t\t}\n\n\t\t\t\t// Find all possible parts\n\t\t\t\tlet matches = chunk.text.match(/G|yyyy|yyy|yy|y|YYYY|YYY|YY|Y|u|q|MMMMM|MMMM|MMM|MM|M|ww|w|W|dd|d|DDD|DD|D|F|g|EEEEE|EEEE|EEE|EE|E|eeeee|eeee|eee|ee|e|aaa|aa|a|hh|h|HH|H|KK|K|kk|k|mm|m|ss|s|SSS|SS|S|A|zzzz|zzz|zz|z|ZZ|Z|t|x|nnn|nn|n|i|I/g);\n\n\t\t\t\t// Found?\n\t\t\t\tif (matches) {\n\n\t\t\t\t\t// Populate template\n\t\t\t\t\tfor (let x = 0; x < matches.length; x++) {\n\t\t\t\t\t\tinfo.parts.push(matches[x]);\n\t\t\t\t\t\tchunk.text = chunk.text.replace(matches[x], $type.PLACEHOLDER);\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t// Apply to template\n\t\t\tinfo.template += chunk.text;\n\t\t}\n\n\t\t// Save cache\n\t\t// TODO\n\n\t\treturn info;\n\t}\n\n\tprotected _months(): Months[] {\n\t\treturn [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\n\t}\n\n\tprotected _getMonth(index: number): Months {\n\t\treturn this._months()[index];\n\t}\n\n\tprotected _shortMonths(): ShortMonths[] {\n\t\treturn [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May(short)\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\n\t}\n\n\tprotected _getShortMonth(index: number): ShortMonths {\n\t\treturn this._shortMonths()[index];\n\t}\n\n\tprotected _weekdays(): Weekdays[] {\n\t\treturn [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"];\n\t}\n\n\tprotected _getWeekday(index: number): Weekdays {\n\t\treturn this._weekdays()[index];\n\t}\n\n\tprotected _shortWeekdays(): ShortWeekdays[] {\n\t\treturn [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\n\t}\n\n\tprotected _getShortWeekday(index: number): ShortWeekdays {\n\t\treturn this._shortWeekdays()[index];\n\t}\n\n\tpublic parse(source: any, format: string): Date {\n\n\t\t// Is it already a Date\n\t\tif (source instanceof Date) {\n\t\t\treturn source;\n\t\t}\n\n\t\t// Is it a numeric timestamp\n\t\tif ($type.isNumber(source)) {\n\t\t\treturn new Date(source);\n\t\t}\n\n\t\t// No? Let's check if it's string, and try converting to it if nec\n\t\tif (!$type.isString(source)) {\n\t\t\tsource = source.toString();\n\t\t}\n\n\t\t// Init return value\n\t\tlet res: Date;\n\n\t\t// Init RegEx for parsing\n\t\tlet reg: string = \"\";\n\n\t\t// Clean format\n\t\tformat = $utils.cleanFormat(format);\n\n\t\t// Clip format to length of the source string\n\t\tformat = format.substr(0, source.length);\n\n\t\t// Parse format\n\t\tlet info = this.parseFormat(format);\n\n\t\t// Init parsed items holder\n\t\tlet parsedIndexes = {\n\t\t\t\"year\": -1,\n\t\t\t\"year3\": -1,\n\t\t\t\"year2\": -1,\n\t\t\t\"year1\": -1,\n\t\t\t\"month\": -1,\n\t\t\t\"monthShort\": -1,\n\t\t\t\"monthLong\": -1,\n\t\t\t\"weekdayShort\": -1,\n\t\t\t\"weekdayLong\": -1,\n\t\t\t\"day\": -1,\n\t\t\t\"yearDay\": -1,\n\t\t\t\"week\": -1,\n\t\t\t\"hourBase0\": -1,\n\t\t\t\"hour12Base0\": -1,\n\t\t\t\"hourBase1\": -1,\n\t\t\t\"hour12Base1\": -1,\n\t\t\t\"minute\": -1,\n\t\t\t\"second\": -1,\n\t\t\t\"millisecond\": -1,\n\t\t\t\"millisecondDigits\": -1,\n\t\t\t\"am\": -1,\n\t\t\t\"zone\": -1,\n\t\t\t\"timestamp\": -1,\n\t\t\t\"iso\": -1\n\t\t};\n\n\t\t// Init values\n\t\tlet resValues = {\n\t\t\t\"year\": 1970,\n\t\t\t\"month\": 0,\n\t\t\t\"day\": 1,\n\t\t\t\"hour\": 0,\n\t\t\t\"minute\": 0,\n\t\t\t\"second\": 0,\n\t\t\t\"millisecond\": 0,\n\t\t\t\"timestamp\": <any>null,\n\t\t\t\"offset\": 0,\n\t\t\t\"utc\": this._root.utc\n\t\t}\n\n\t\t// Index adjuster\n\t\tlet indexAdjust: number = 0;\n\t\tlet index: number = 0;\n\n\t\t// Iterate through all of the parts\n\t\tfor (let i: number = 0; i < info.parts.length; i++) {\n\n\t\t\t// Set current match index\n\t\t\tindex = i + indexAdjust + 1;\n\n\t\t\tswitch (info.parts[i]) {\n\n\t\t\t\tcase \"yyyy\":\n\t\t\t\tcase \"YYYY\":\n\t\t\t\t\treg += \"([0-9]{4})\";\n\t\t\t\t\tparsedIndexes.year = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"yyy\":\n\t\t\t\tcase \"YYY\":\n\t\t\t\t\treg += \"([0-9]{3})\";\n\t\t\t\t\tparsedIndexes.year3 = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"yy\":\n\t\t\t\tcase \"YY\":\n\t\t\t\t\treg += \"([0-9]{2})\";\n\t\t\t\t\tparsedIndexes.year2 = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"y\":\n\t\t\t\tcase \"Y\":\n\t\t\t\t\treg += \"([0-9]{1})\";\n\t\t\t\t\tparsedIndexes.year1 = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"MMMM\":\n\t\t\t\t\treg += \"(\" + this.getStringList(this._months()).join(\"|\") + \")\";\n\t\t\t\t\tparsedIndexes.monthLong = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"MMM\":\n\t\t\t\t\treg += \"(\" + this.getStringList(this._shortMonths()).join(\"|\") + \")\";\n\t\t\t\t\tparsedIndexes.monthShort = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"MM\":\n\t\t\t\tcase \"M\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.month = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"ww\":\n\t\t\t\tcase \"w\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.week = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"dd\":\n\t\t\t\tcase \"d\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.day = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"DDD\":\n\t\t\t\tcase \"DD\":\n\t\t\t\tcase \"D\":\n\t\t\t\t\treg += \"([0-9]{3}|[0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.yearDay = index;\n\t\t\t\t\tbreak;\n\n\n\t\t\t\tcase \"dddd\":\n\t\t\t\t\treg += \"(\" + this.getStringList(this._weekdays()).join(\"|\") + \")\";\n\t\t\t\t\tparsedIndexes.weekdayLong = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"ddd\":\n\t\t\t\t\treg += \"(\" + this.getStringList(this._shortWeekdays()).join(\"|\") + \")\";\n\t\t\t\t\tparsedIndexes.weekdayShort = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"aaa\":\n\t\t\t\tcase \"aa\":\n\t\t\t\tcase \"a\":\n\t\t\t\t\t// TODO: fix (escape regex)\n\t\t\t\t\treg += \"(\" + this.getStringList([\"AM\", \"PM\", \"A\\.M\\.\", \"P\\.M\\.\", \"A\", \"P\"]).join(\"|\") + \")\";\n\t\t\t\t\tparsedIndexes.am = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"hh\":\n\t\t\t\tcase \"h\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.hour12Base1 = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"HH\":\n\t\t\t\tcase \"H\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.hourBase0 = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"KK\":\n\t\t\t\tcase \"K\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.hour12Base0 = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"kk\":\n\t\t\t\tcase \"k\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.hourBase1 = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"mm\":\n\t\t\t\tcase \"m\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.minute = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"ss\":\n\t\t\t\tcase \"s\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.second = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"SSS\":\n\t\t\t\tcase \"SS\":\n\t\t\t\tcase \"S\":\n\t\t\t\t\treg += \"([0-9]{3}|[0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.millisecond = index;\n\t\t\t\t\tparsedIndexes.millisecondDigits = info.parts[i].length;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"nnn\":\n\t\t\t\tcase \"nn\":\n\t\t\t\tcase \"n\":\n\t\t\t\t\treg += \"([0-9]{3}|[0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.millisecond = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"x\":\n\t\t\t\t\treg += \"([0-9]{1,})\";\n\t\t\t\t\tparsedIndexes.timestamp = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"Z\":\n\t\t\t\t\treg += \"GMT([-+]+[0-9]{2}:[0-9]{2})\";\n\t\t\t\t\tparsedIndexes.zone = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"ZZ\":\n\t\t\t\t\treg += \"([\\\\-+]+[0-9]{2}[0-9]{2})\";\n\t\t\t\t\tparsedIndexes.zone = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"i\":\n\t\t\t\t\treg += \"([0-9]{4})-?([0-9]{2})-?([0-9]{2})T?([0-9]{2}):?([0-9]{2}):?([0-9]{2})\\\\.?([0-9]{0,3})([zZ]|[+\\\\-][0-9]{2}:?[0-9]{2}|$)\";\n\t\t\t\t\tparsedIndexes.iso = index;\n\t\t\t\t\tindexAdjust += 7;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"G\":\n\t\t\t\tcase \"YYYY\":\n\t\t\t\tcase \"YYY\":\n\t\t\t\tcase \"YY\":\n\t\t\t\tcase \"Y\":\n\t\t\t\tcase \"MMMMM\":\n\t\t\t\tcase \"W\":\n\t\t\t\tcase \"EEEEE\":\n\t\t\t\tcase \"EEEE\":\n\t\t\t\tcase \"EEE\":\n\t\t\t\tcase \"EE\":\n\t\t\t\tcase \"E\":\n\t\t\t\tcase \"eeeee\":\n\t\t\t\tcase \"eeee\":\n\t\t\t\tcase \"eee\":\n\t\t\t\tcase \"ee\":\n\t\t\t\tcase \"e\":\n\t\t\t\tcase \"zzzz\":\n\t\t\t\tcase \"zzz\":\n\t\t\t\tcase \"zz\":\n\t\t\t\tcase \"z\":\n\t\t\t\tcase \"t\":\n\t\t\t\t\t// Ignore\n\t\t\t\t\tindexAdjust--;\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\treg += \"[^0-9]*\";\n\t\t}\n\n\t\t// Try matching\n\t\tlet regex = new RegExp(reg);\n\t\tlet matches: RegExpMatchArray = source.match(regex);\n\n\t\tif (matches) {\n\t\t\t// Populate the date object\n\n\t\t\t// Full year\n\t\t\tif (parsedIndexes.year > -1) {\n\t\t\t\tresValues.year = parseInt(matches[parsedIndexes.year]);\n\t\t\t}\n\n\t\t\t// 3-digit year\n\t\t\tif (parsedIndexes.year3 > -1) {\n\t\t\t\tlet val = parseInt(matches[parsedIndexes.year3]);\n\t\t\t\tval += 1000;\n\t\t\t\tresValues.year = val;\n\t\t\t}\n\n\t\t\t// 2-digit year\n\t\t\tif (parsedIndexes.year2 > -1) {\n\t\t\t\tlet val = parseInt(matches[parsedIndexes.year2]);\n\t\t\t\tif (val > 50) {\n\t\t\t\t\tval += 1000;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tval += 2000;\n\t\t\t\t}\n\t\t\t\tresValues.year = val;\n\t\t\t}\n\n\t\t\t// 1-digit year\n\t\t\tif (parsedIndexes.year1 > -1) {\n\t\t\t\tlet val = parseInt(matches[parsedIndexes.year1]);\n\t\t\t\tval = Math.floor((new Date().getFullYear()) / 10) * 10 + val;\n\t\t\t\tresValues.year = val;\n\t\t\t}\n\n\t\t\t// Full month\n\t\t\tif (parsedIndexes.monthLong > -1) {\n\t\t\t\tresValues.month = this.resolveMonth(<any>matches[parsedIndexes.monthLong]);\n\t\t\t}\n\n\t\t\t// Short month\n\t\t\tif (parsedIndexes.monthShort > -1) {\n\t\t\t\tresValues.month = this.resolveShortMonth(<any>matches[parsedIndexes.monthShort]);\n\t\t\t}\n\n\t\t\t// Numeric month\n\t\t\tif (parsedIndexes.month > -1) {\n\t\t\t\tresValues.month = parseInt(matches[parsedIndexes.month]) - 1;\n\t\t\t}\n\n\t\t\t// Weekday\n\t\t\t// @todo\n\n\t\t\t// Week\n\t\t\tif ((parsedIndexes.week > -1) && (parsedIndexes.day === -1)) {\n\t\t\t\t// We parse weeks ONLY if day is not explicitly set\n\t\t\t\t// TODO: this needs work\n\t\t\t\t// (but maybe later - I can hardly imagine anyone passing their dates in weeks)\n\t\t\t\tresValues.month = 0;\n\t\t\t\tresValues.day = $utils.getDayFromWeek(\n\t\t\t\t\tparseInt(matches[parsedIndexes.week]),\n\t\t\t\t\tresValues.year,\n\t\t\t\t\t1,\n\t\t\t\t\tthis._root.utc\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Day\n\t\t\tif (parsedIndexes.day > -1) {\n\t\t\t\tresValues.day = parseInt(matches[parsedIndexes.day]);\n\t\t\t}\n\n\t\t\t// Year day\n\t\t\tif (parsedIndexes.yearDay > -1) {\n\t\t\t\tresValues.month = 0;\n\t\t\t\tresValues.day = parseInt(matches[parsedIndexes.yearDay]);\n\t\t\t}\n\n\t\t\t// 24 Hour (0-23)\n\t\t\tif (parsedIndexes.hourBase0 > -1) {\n\t\t\t\tresValues.hour = parseInt(matches[parsedIndexes.hourBase0]);\n\t\t\t}\n\n\t\t\t// 24 Hour (1-24)\n\t\t\tif (parsedIndexes.hourBase1 > -1) {\n\t\t\t\tresValues.hour = parseInt(matches[parsedIndexes.hourBase1]) - 1;\n\t\t\t}\n\n\t\t\t// 12 Hour (0-11)\n\t\t\tif (parsedIndexes.hour12Base0 > -1) {\n\t\t\t\tlet val = parseInt(matches[parsedIndexes.hour12Base0]);\n\t\t\t\tif (val == 11) {\n\t\t\t\t\tval = 0;\n\t\t\t\t}\n\t\t\t\tif ((parsedIndexes.am > -1) && !this.isAm(matches[parsedIndexes.am])) {\n\t\t\t\t\tval += 12;\n\t\t\t\t}\n\t\t\t\tresValues.hour = val;\n\t\t\t}\n\n\t\t\t// 12 Hour (1-12)\n\t\t\tif (parsedIndexes.hour12Base1 > -1) {\n\t\t\t\tlet val = parseInt(matches[parsedIndexes.hour12Base1]);\n\t\t\t\tif (val == 12) {\n\t\t\t\t\tval = 0;\n\t\t\t\t}\n\t\t\t\tif ((parsedIndexes.am > -1) && !this.isAm(matches[parsedIndexes.am])) {\n\t\t\t\t\tval += 12;\n\t\t\t\t}\n\t\t\t\tresValues.hour = val;\n\t\t\t}\n\n\t\t\t// Minute\n\t\t\tif (parsedIndexes.minute > -1) {\n\t\t\t\tresValues.minute = parseInt(matches[parsedIndexes.minute]);\n\t\t\t}\n\n\t\t\t// Second\n\t\t\tif (parsedIndexes.second > -1) {\n\t\t\t\tresValues.second = parseInt(matches[parsedIndexes.second]);\n\t\t\t}\n\n\t\t\t// Millisecond\n\t\t\tif (parsedIndexes.millisecond > -1) {\n\t\t\t\tlet val = parseInt(matches[parsedIndexes.millisecond]);\n\t\t\t\tif (parsedIndexes.millisecondDigits == 2) {\n\t\t\t\t\tval *= 10;\n\t\t\t\t}\n\t\t\t\telse if (parsedIndexes.millisecondDigits == 1) {\n\t\t\t\t\tval *= 100;\n\t\t\t\t}\n\t\t\t\tresValues.millisecond = val;\n\t\t\t}\n\n\t\t\t// Timestamp\n\t\t\tif (parsedIndexes.timestamp > -1) {\n\t\t\t\tresValues.timestamp = parseInt(matches[parsedIndexes.timestamp]);\n\n\t\t\t\tconst ts = new Date(resValues.timestamp);\n\t\t\t\tresValues.year = ts.getUTCFullYear();\n\t\t\t\tresValues.month = ts.getUTCMonth();\n\t\t\t\tresValues.day = ts.getUTCDate();\n\t\t\t\tresValues.hour = ts.getUTCHours();\n\t\t\t\tresValues.minute = ts.getUTCMinutes();\n\t\t\t\tresValues.second = ts.getUTCSeconds();\n\t\t\t\tresValues.millisecond = ts.getUTCMilliseconds();\n\t\t\t}\n\n\t\t\t// Adjust time zone\n\t\t\tif (parsedIndexes.zone > -1) {\n\t\t\t\tresValues.offset = this.resolveTimezoneOffset(new Date(resValues.year, resValues.month, resValues.day), matches[parsedIndexes.zone]);\n\t\t\t}\n\n\t\t\t// ISO\n\t\t\tif (parsedIndexes.iso > -1) {\n\n\t\t\t\tresValues.year = $type.toNumber(matches[parsedIndexes.iso + 0]);\n\t\t\t\tresValues.month = $type.toNumber(matches[parsedIndexes.iso + 1]) - 1;\n\t\t\t\tresValues.day = $type.toNumber(matches[parsedIndexes.iso + 2]);\n\t\t\t\tresValues.hour = $type.toNumber(matches[parsedIndexes.iso + 3]);\n\t\t\t\tresValues.minute = $type.toNumber(matches[parsedIndexes.iso + 4]);\n\t\t\t\tresValues.second = $type.toNumber(matches[parsedIndexes.iso + 5]);\n\t\t\t\tresValues.millisecond = $type.toNumber(matches[parsedIndexes.iso + 6]);\n\n\t\t\t\tif (matches[parsedIndexes.iso + 7] == \"Z\" || matches[parsedIndexes.iso + 7] == \"z\") {\n\t\t\t\t\tresValues.utc = true;\n\t\t\t\t}\n\t\t\t\telse if (matches[parsedIndexes.iso + 7] != \"\") {\n\t\t\t\t\tresValues.offset = this.resolveTimezoneOffset(new Date(resValues.year, resValues.month, resValues.day), matches[parsedIndexes.iso + 7]);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Create Date object\n\t\t\tif (resValues.utc) {\n\t\t\t\tres = new Date(Date.UTC(\n\t\t\t\t\tresValues.year,\n\t\t\t\t\tresValues.month,\n\t\t\t\t\tresValues.day,\n\t\t\t\t\tresValues.hour,\n\t\t\t\t\tresValues.minute,\n\t\t\t\t\tresValues.second,\n\t\t\t\t\tresValues.millisecond\n\t\t\t\t));\n\t\t\t}\n\t\t\telse {\n\t\t\t\tres = new Date(\n\t\t\t\t\tresValues.year,\n\t\t\t\t\tresValues.month,\n\t\t\t\t\tresValues.day,\n\t\t\t\t\tresValues.hour,\n\t\t\t\t\tresValues.minute + resValues.offset,\n\t\t\t\t\tresValues.second,\n\t\t\t\t\tresValues.millisecond\n\t\t\t\t);\n\t\t\t}\n\n\t\t}\n\t\telse {\n\t\t\t// Didn't match anything\n\t\t\t// Let's try dropping it into Date constructor and hope for the best\n\t\t\tres = new Date(source);\n\t\t}\n\n\t\treturn res;\n\t}\n\n\tprotected resolveTimezoneOffset(date: Date, zone: string): number {\n\t\tlet value = zone.match(/([+\\-]?)([0-9]{2}):?([0-9]{2})/);\n\t\tif (value) {\n\t\t\tlet match = zone.match(/([+\\-]?)([0-9]{2}):?([0-9]{2})/)!;\n\t\t\tlet dir = match[1];\n\t\t\tlet hour = match[2];\n\t\t\tlet minute = match[3];\n\t\t\tlet offset = parseInt(hour) * 60 + parseInt(minute);\n\n\t\t\t// Adjust offset\n\t\t\t// Making it negative does not seem to make sense, but it's right\n\t\t\t// because of how JavaScript calculates GMT offsets\n\t\t\tif (dir == \"+\") {\n\t\t\t\toffset *= -1;\n\t\t\t}\n\n\t\t\t// Check the difference in offset\n\t\t\tlet originalOffset = (date || new Date()).getTimezoneOffset();\n\t\t\tlet diff = offset - originalOffset;\n\t\t\treturn diff;\n\t\t}\n\t\treturn 0;\n\t}\n\n\t/**\n\t * Resolves month name (i.e. \"December\") into a month number (11).\n\t *\n\t * @param value Month name\n\t * @return Month number\n\t */\n\tprotected resolveMonth(value: Months): number {\n\n\t\t// Let's try English first\n\t\tlet month: number = this._months().indexOf(value);\n\t\tif (month > -1) {\n\t\t\treturn month;\n\t\t}\n\n\t\t// Try the translation\n\t\tif (!this._root.language.isDefault()) {\n\t\t\tmonth = this._root.language.translateAll(this._months()).indexOf(value);\n\t\t\tif (month > -1) {\n\t\t\t\treturn month\n\t\t\t}\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\t/**\n\t * Resolves short month name (i.e. \"Dec\") into a month number.\n\t *\n\t * @param value Short month name\n\t * @return Month number\n\t */\n\tprotected resolveShortMonth(value: ShortMonths): number {\n\n\t\t// Let's try English first\n\t\tlet month: number = this._shortMonths().indexOf(value);\n\t\tif (month > -1) {\n\t\t\treturn month;\n\t\t}\n\n\t\t// Maybe long month (workaround for May)\n\t\tmonth = this._months().indexOf(<any>value);\n\t\tif (month > -1) {\n\t\t\treturn month;\n\t\t}\n\n\t\t// Try the translation\n\t\tif (this._root.language && !this._root.language.isDefault()) {\n\t\t\tmonth = this._root.language.translateAll(this._shortMonths()).indexOf(value);\n\t\t\tif (month > -1) {\n\t\t\t\treturn month\n\t\t\t}\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\t/**\n\t * Checks if passed in string represents AM/PM notation in many of its\n\t * versions.\n\t *\n\t * @param value Source string\n\t * @return Is it AM/PM?\n\t */\n\tprotected isAm(value: string): boolean {\n\t\tlet list = this.getStringList([\"AM\", \"A.M.\", \"A\"]);\n\t\treturn list.indexOf(value.toUpperCase()) > -1;\n\t}\n\n\t/**\n\t * Translates list of strings.\n\t *\n\t * @param list Source strings\n\t * @return Translated strings\n\t */\n\tprotected getStringList(list: Array<keyof ILocaleSettings>): Array<string> {\n\t\tlet res: string[] = [];\n\t\tfor (let i: number = 0; i < list.length; i++) {\n\t\t\t// translate?\n\t\t\tif (this._root.language) {\n\t\t\t\tres.push($utils.escapeForRgex(this._t(list[i])));\n\t\t\t}\n\t\t\telse {\n\t\t\t\tres.push($utils.escapeForRgex(list[i]));\n\t\t\t}\n\t\t}\n\t\treturn res;\n\t}\n\n}\n"]}
|
|
@@ -8,6 +8,8 @@ export interface ILocaleSettings {
|
|
|
8
8
|
"firstDayOfWeek"?: number;
|
|
9
9
|
"_decimalSeparator"?: string;
|
|
10
10
|
"_thousandSeparator"?: string;
|
|
11
|
+
"_percentPrefix"?: string | null;
|
|
12
|
+
"_percentSuffix"?: string | null;
|
|
11
13
|
"_big_number_suffix_3"?: string;
|
|
12
14
|
"_big_number_suffix_6"?: string;
|
|
13
15
|
"_big_number_suffix_9"?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Language.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/util/Language.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Language.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/util/Language.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAIlE;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAG3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,6BAA6B,CAAC,EAAE,MAAM,CAAC;IACvC,4BAA4B,CAAC,EAAE,MAAM,CAAC;IAEtC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IAEjC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAG1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,mCAAmC,CAAC,EAAE,MAAM,CAAC;IAC7C,6DAA6D,CAAC,EAAE,MAAM,CAAC;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0BAA0B,CAAC,EAAE,MAAM,CAAC;IAGpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2CAA2C,CAAC,EAAE,MAAM,CAAC;IACrD,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,mCAAmC,CAAC,EAAE,MAAM,CAAC;IAC7C,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,8EAA8E,CAAC,EAAE,MAAM,CAAC;IACxF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,6EAA6E,CAAC,EAAE,MAAM,CAAC;IACvF,6CAA6C,CAAC,EAAE,MAAM,CAAC;IACvD,kDAAkD,CAAC,EAAE,MAAM,CAAC;IAC5D,mDAAmD,CAAC,EAAE,MAAM,CAAC;IAC7D,uEAAuE,CAAC,EAAE,MAAM,CAAC;IACjF,0CAA0C,CAAC,EAAE,MAAM,CAAC;IACpD,gDAAgD,CAAC,EAAE,MAAM,CAAC;IAC1D,gDAAgD,CAAC,EAAE,MAAM,CAAC;IAC1D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,kCAAkC,CAAC,EAAE,MAAM,CAAC;IAC5C,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAEhC,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,WAAW,cAAe,SAAQ,eAAe,EAAE,gBAAgB;CAAI;AAE7E;;;;GAIG;AACH,MAAM,WAAW,OAAQ,SAAQ,OAAO,CAAC,cAAc,CAAC;CAAI;AAE5D,MAAM,WAAW,iBAAkB,SAAQ,eAAe;CACzD;AAED,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IAEvD;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC;CAEvB;AAED,qBAAa,QAAS,SAAQ,MAAM;IACpB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,gBAAgB,EAAE,gBAAgB,CAAC;IAElD,SAAS,CAAC,YAAY;IAKf,SAAS,CAAC,GAAG,SAAS,MAAM,eAAe,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM;IAqC3G,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM;IAI9E,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI;IAK9E,cAAc,CAAC,GAAG,SAAS,MAAM,eAAe,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM;IAKhH,aAAa,CAAC,GAAG,SAAS,MAAM,gBAAgB,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC;IAiBvG,YAAY,CAAC,GAAG,SAAS,MAAM,eAAe,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC;IAUzG;;;;OAIG;IACI,SAAS,IAAI,OAAO;CAI3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Language.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/Language.ts"],"names":[],"mappings":"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","sourcesContent":["import { Entity, IEntitySettings, IEntityPrivate } from \"./Entity\"\nimport * as $array from \"./Array\"\nimport en from \"../../../locales/en\";\n\n/**\n * Defines properties that exist for the locale.\n *\n * @ignore\n */\nexport interface ILocaleSettings {\n\t\"firstDayOfWeek\"?: number,\n\n\t// number formatter related\n\t\"_decimalSeparator\"?: string;\n\t\"_thousandSeparator\"?: string;\n\n\t\"_big_number_suffix_3\"?: string;\n\t\"_big_number_suffix_6\"?: string;\n\t\"_big_number_suffix_9\"?: string;\n\t\"_big_number_suffix_12\"?: string;\n\t\"_big_number_suffix_15\"?: string;\n\t\"_big_number_suffix_18\"?: string;\n\t\"_big_number_suffix_21\"?: string;\n\t\"_big_number_suffix_24\"?: string;\n\n\t\"_small_number_suffix_24\"?: string;\n\t\"_small_number_suffix_21\"?: string;\n\t\"_small_number_suffix_18\"?: string;\n\t\"_small_number_suffix_15\"?: string;\n\t\"_small_number_suffix_12\"?: string;\n\t\"_small_number_suffix_9\"?: string;\n\t\"_small_number_suffix_6\"?: string;\n\t\"_small_number_suffix_3\"?: string;\n\n\t\"_byte_suffix_B\"?: string;\n\t\"_byte_suffix_KB\"?: string;\n\t\"_byte_suffix_MB\"?: string;\n\t\"_byte_suffix_GB\"?: string;\n\t\"_byte_suffix_TB\"?: string;\n\t\"_byte_suffix_PB\"?: string;\n\n\t// Default date formats for various periods\n\t\"_date\"?: string;\n\t\"_date_millisecond\"?: string;\n\t\"_date_millisecond_full\"?: string;\n\t\"_date_second\"?: string;\n\t\"_date_second_full\"?: string;\n\t\"_date_minute\"?: string;\n\t\"_date_minute_full\"?: string;\n\t\"_date_hour\"?: string;\n\t\"_date_hour_full\"?: string;\n\t\"_date_day\"?: string;\n\t\"_date_day_full\"?: string;\n\t\"_date_week\"?: string;\n\t\"_date_week_full\"?: string;\n\t\"_date_month\"?: string;\n\t\"_date_month_full\"?: string;\n\t\"_date_year\"?: string;\n\n\t// Default duration formats for various base units\n\t\"_duration_millisecond\"?: string;\n\t\"_duration_millisecond_second\"?: string;\n\t\"_duration_millisecond_minute\"?: string;\n\t\"_duration_millisecond_hour\"?: string;\n\t\"_duration_millisecond_day\"?: string;\n\t\"_duration_millisecond_week\"?: string;\n\t\"_duration_millisecond_month\"?: string;\n\t\"_duration_millisecond_year\"?: string;\n\n\t\"_duration_second\"?: string;\n\t\"_duration_second_minute\"?: string;\n\t\"_duration_second_hour\"?: string;\n\t\"_duration_second_day\"?: string;\n\t\"_duration_second_week\"?: string;\n\t\"_duration_second_month\"?: string;\n\t\"_duration_second_year\"?: string;\n\n\t\"_duration_minute\"?: string;\n\t\"_duration_minute_hour\"?: string;\n\t\"_duration_minute_day\"?: string;\n\t\"_duration_minute_week\"?: string;\n\t\"_duration_minute_month\"?: string;\n\t\"_duration_minute_year\"?: string;\n\n\t\"_duration_hour\"?: string;\n\t\"_duration_hour_day\"?: string;\n\t\"_duration_hour_week\"?: string;\n\t\"_duration_hour_month\"?: string;\n\t\"_duration_hour_year\"?: string;\n\n\t\"_duration_day\"?: string;\n\t\"_duration_day_week\"?: string;\n\t\"_duration_day_month\"?: string;\n\t\"_duration_day_year\"?: string;\n\n\t\"_duration_week\"?: string;\n\t\"_duration_week_month\"?: string;\n\t\"_duration_week_year\"?: string;\n\n\t\"_duration_month\"?: string;\n\t\"_duration_month_year\"?: string;\n\n\t\"_duration_year\"?: string;\n\n\t// Era\n\t\"_era_ad\"?: string;\n\t\"_era_bc\"?: string;\n\n\t// Period\n\t\"A\"?: string;\n\t\"P\"?: string;\n\t\"AM\"?: string;\n\t\"PM\"?: string;\n\t\"A.M.\"?: string;\n\t\"P.M.\"?: string;\n\n\t// Dates\n\t\"January\"?: string;\n\t\"February\"?: string;\n\t\"March\"?: string;\n\t\"April\"?: string;\n\t\"May\"?: string;\n\t\"June\"?: string;\n\t\"July\"?: string;\n\t\"August\"?: string;\n\t\"September\"?: string;\n\t\"October\"?: string;\n\t\"November\"?: string;\n\t\"December\"?: string;\n\t\"Jan\"?: string;\n\t\"Feb\"?: string;\n\t\"Mar\"?: string;\n\t\"Apr\"?: string;\n\t\"May(short)\"?: string;\n\t\"Jun\"?: string;\n\t\"Jul\"?: string;\n\t\"Aug\"?: string;\n\t\"Sep\"?: string;\n\t\"Oct\"?: string;\n\t\"Nov\"?: string;\n\t\"Dec\"?: string;\n\t\"Sunday\"?: string;\n\t\"Monday\"?: string;\n\t\"Tuesday\"?: string;\n\t\"Wednesday\"?: string;\n\t\"Thursday\"?: string;\n\t\"Friday\"?: string;\n\t\"Saturday\"?: string;\n\t\"Sun\"?: string;\n\t\"Mon\"?: string;\n\t\"Tue\"?: string;\n\t\"Wed\"?: string;\n\t\"Thu\"?: string;\n\t\"Fri\"?: string;\n\t\"Sat\"?: string;\n\n\t// Chart elements\n\t\"Zoom Out\"?: string;\n\t\"Play\"?: string;\n\t\"Stop\"?: string;\n\t\"Legend\"?: string;\n\t\"Press ENTER to toggle\"?: string;\n\t\"Loading\"?: string;\n\t\"%1 shown\"?: string;\n\t\"%1 hidden\"?: string;\n\n\t// Chart types\n\t\"Chart\"?: string;\n\t\"Serial chart\"?: string;\n\t\"X/Y chart\"?: string;\n\t\"Pie chart\"?: string;\n\t\"Sunburst chart\"?: string;\n\t\"Gauge chart\"?: string;\n\t\"Radar chart\"?: string;\n\t\"Sankey diagram\"?: string;\n\t\"Flow diagram\"?: string;\n\t\"Chord diagram\"?: string;\n\t\"TreeMap chart\"?: string;\n\t\"Force directed tree\"?: string;\n\t\"Sliced chart\"?: string;\n\n\t// Series types\n\t\"Series\"?: string;\n\t\"Candlestick Series\"?: string;\n\t\"OHLC Series\"?: string;\n\t\"Column Series\"?: string;\n\t\"Line Series\"?: string;\n\t\"Pie Slice Series\"?: string;\n\t\"Funnel Series\"?: string;\n\t\"Pyramid Series\"?: string;\n\t\"X/Y Series\"?: string;\n\n\t// Map-related\n\t\"Map\"?: string;\n\t\"Press ENTER to zoom in\"?: string;\n\t\"Press ENTER to zoom out\"?: string;\n\t\"Use arrow keys to zoom in and out\"?: string;\n\t\"Use plus and minus keys on your keyboard to zoom in and out\"?: string;\n\t\"Home\"?: string;\n\t\"Zoom level changed to %1\"?: string;\n\n\t// Export-related\n\t\"Export\"?: string;\n\t\"Image\"?: string;\n\t\"Data\"?: string;\n\t\"Print\"?: string;\n\t\"Press ENTER or use arrow keys to navigate\"?: string;\n\t\"Press ENTER to open\"?: string;\n\t\"Press ENTER to print.\"?: string;\n\t\"Press ENTER to export as %1.\"?: string;\n\t\"(Press ESC to close this message)\"?: string;\n\t\"Image Export Complete\"?: string;\n\t\"Export operation took longer than expected. Something might have gone wrong.\"?: string;\n\t\"Saved from\"?: string;\n\t\"PNG\"?: string;\n\t\"JPG\"?: string;\n\t\"GIF\"?: string;\n\t\"SVG\"?: string;\n\t\"PDF\"?: string;\n\t\"JSON\"?: string;\n\t\"CSV\"?: string;\n\t\"XLSX\"?: string;\n\t\"HTML\"?: string;\n\n\t// Scrollbar-related\n\t\"Use TAB to select grip buttons or left and right arrows to change selection\"?: string;\n\t\"Use left and right arrows to move selection\"?: string;\n\t\"Use left and right arrows to move left selection\"?: string;\n\t\"Use left and right arrows to move right selection\"?: string;\n\t\"Use TAB select grip buttons or up and down arrows to change selection\"?: string;\n\t\"Use up and down arrows to move selection\"?: string;\n\t\"Use up and down arrows to move lower selection\"?: string;\n\t\"Use up and down arrows to move upper selection\"?: string;\n\t\"From %1 to %2\"?: string;\n\t\"From %1\"?: string;\n\t\"To %1\"?: string;\n\n\t// Data loader-related\n\t\"No parser available for file: %1\"?: string;\n\t\"Error parsing file: %1\"?: string;\n\t\"Unable to load file: %1\"?: string;\n\t\"Invalid date\"?: string;\n\n\t// Common actions\n\t\"Close\"?: string;\n\t\"Minimize\"?: string;\n\n\t\"Venn Series\"?: string;\n\t\"Venn Diagram\"?: string;\n}\n\n/**\n * Defines functions that exist for the locale.\n *\n * @ignore\n */\nexport interface ILocaleFunctions {\n\t// ordinal function\n\t\"_dateOrd\": (day: number) => string;\n}\n\n/**\n * Defines all of the defaults for locale properties.\n * @ignore\n */\nexport interface ILocaleDefault extends ILocaleSettings, ILocaleFunctions { }\n\n/**\n * Defines locale interface.\n *\n * @ignore\n */\nexport interface ILocale extends Partial<ILocaleDefault> { };\n\nexport interface ILanguageSettings extends IEntitySettings {\n}\n\nexport interface ILanguagePrivate extends IEntityPrivate {\n\n\t/**\n\t * A locale for International English (default).\n\t */\n\tdefaultLocale: ILocale;\n\n}\n\nexport class Language extends Entity {\n\tdeclare public _settings: ILanguageSettings;\n\tdeclare public _privateSettings: ILanguagePrivate;\n\n\tprotected _setDefaults() {\n\t\tthis.setPrivate(\"defaultLocale\", en);\n\t\tsuper._setDefaults();\n\t}\n\n\tpublic translate<Key extends keyof ILocaleSettings>(prompt: Key, locale?: ILocale, ...rest: Array<string>): string {\n\n\t\t// Get langauge\n\t\tif (!locale) {\n\t\t\tlocale = this._root.locale || this.getPrivate(\"defaultLocale\");\n\t\t}\n\n\t\t// Init translation\n\t\tlet translation: string = prompt;\n\t\tlet value = locale[prompt];\n\n\t\t// Try to look for the translation\n\t\tif (value === null) {\n\t\t\ttranslation = \"\";\n\t\t}\n\t\telse if (value != null) {\n\t\t\t// It might be an empty string\n\t\t\tif (value) {\n\t\t\t\ttranslation = <string>value!;\n\t\t\t}\n\t\t}\n\t\telse if (locale !== this.getPrivate(\"defaultLocale\")) {\n\t\t\t// Try to look in default language\n\t\t\treturn this.translate(prompt, this.getPrivate(\"defaultLocale\"), ...rest);\n\t\t}\n\n\t\t// Replace %1, %2, etc params\n\t\tif (rest.length) {\n\t\t\tfor (let len = rest.length, i = 0; i < len; ++i) {\n\t\t\t\ttranslation = translation.split(\"%\" + (i + 1)).join(rest[i]);\n\t\t\t}\n\t\t}\n\n\t\t// Return the translation\n\t\treturn translation;\n\t}\n\n\tpublic translateAny(prompt: string, locale?: ILocale, ...rest: Array<string>): string {\n\t\treturn this.translate(<any>prompt, locale, ...rest);\n\t}\n\n\tpublic setTranslationAny(prompt: string, translation: string, locale?: ILocale): void {\n\t\tconst localeTarget = locale || this._root.locale;\n\t\t(<any>localeTarget)[prompt] = translation;\n\t}\n\n\tpublic translateEmpty<Key extends keyof ILocaleSettings>(prompt: Key, locale?: ILocale, ...rest: Array<string>): string {\n\t\tlet translation = this.translate(prompt, locale, ...rest);\n\t\treturn translation == prompt ? \"\" : translation;\n\t}\n\n\tpublic translateFunc<Key extends keyof ILocaleFunctions>(prompt: Key, locale?: ILocale): ILocaleFunctions[Key] {\n\n\t\tif ((<any>this._root.locale)[prompt]) {\n\t\t\treturn (<any>this._root.locale)[prompt];\n\t\t}\n\n\t\t// Try to look in default language\n\t\tif (locale !== this.getPrivate(\"defaultLocale\")) {\n\t\t\treturn this.translateFunc(prompt, this.getPrivate(\"defaultLocale\"));\n\t\t}\n\n\t\t// Fail - return empty function\n\t\treturn (): string => {\n\t\t\treturn \"\";\n\t\t};\n\t}\n\n\tpublic translateAll<Key extends keyof ILocaleSettings>(list: Array<Key>, locale?: ILocale): Array<string> {\n\t\t// Translate all items in the list\n\t\tif (!this.isDefault()) {\n\t\t\treturn $array.map(list, (x) => this.translate(x, locale));\n\n\t\t} else {\n\t\t\treturn list;\n\t\t}\n\t}\n\n\t/**\n\t * Returns `true` if the currently selected locale is a default locale.\n\t *\n\t * @return `true` if locale is default; `false` if it is not.\n\t */\n\tpublic isDefault(): boolean {\n\t\treturn this.getPrivate(\"defaultLocale\") === this._root.locale;\n\t}\n\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Language.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/Language.ts"],"names":[],"mappings":"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","sourcesContent":["import { Entity, IEntitySettings, IEntityPrivate } from \"./Entity\"\nimport * as $array from \"./Array\"\nimport en from \"../../../locales/en\";\n\n/**\n * Defines properties that exist for the locale.\n *\n * @ignore\n */\nexport interface ILocaleSettings {\n\t\"firstDayOfWeek\"?: number,\n\n\t// number formatter related\n\t\"_decimalSeparator\"?: string;\n\t\"_thousandSeparator\"?: string;\n\n\t\"_percentPrefix\"?: string | null;\n\t\"_percentSuffix\"?: string | null;\n\n\t\"_big_number_suffix_3\"?: string;\n\t\"_big_number_suffix_6\"?: string;\n\t\"_big_number_suffix_9\"?: string;\n\t\"_big_number_suffix_12\"?: string;\n\t\"_big_number_suffix_15\"?: string;\n\t\"_big_number_suffix_18\"?: string;\n\t\"_big_number_suffix_21\"?: string;\n\t\"_big_number_suffix_24\"?: string;\n\n\t\"_small_number_suffix_24\"?: string;\n\t\"_small_number_suffix_21\"?: string;\n\t\"_small_number_suffix_18\"?: string;\n\t\"_small_number_suffix_15\"?: string;\n\t\"_small_number_suffix_12\"?: string;\n\t\"_small_number_suffix_9\"?: string;\n\t\"_small_number_suffix_6\"?: string;\n\t\"_small_number_suffix_3\"?: string;\n\n\t\"_byte_suffix_B\"?: string;\n\t\"_byte_suffix_KB\"?: string;\n\t\"_byte_suffix_MB\"?: string;\n\t\"_byte_suffix_GB\"?: string;\n\t\"_byte_suffix_TB\"?: string;\n\t\"_byte_suffix_PB\"?: string;\n\n\t// Default date formats for various periods\n\t\"_date\"?: string;\n\t\"_date_millisecond\"?: string;\n\t\"_date_millisecond_full\"?: string;\n\t\"_date_second\"?: string;\n\t\"_date_second_full\"?: string;\n\t\"_date_minute\"?: string;\n\t\"_date_minute_full\"?: string;\n\t\"_date_hour\"?: string;\n\t\"_date_hour_full\"?: string;\n\t\"_date_day\"?: string;\n\t\"_date_day_full\"?: string;\n\t\"_date_week\"?: string;\n\t\"_date_week_full\"?: string;\n\t\"_date_month\"?: string;\n\t\"_date_month_full\"?: string;\n\t\"_date_year\"?: string;\n\n\t// Default duration formats for various base units\n\t\"_duration_millisecond\"?: string;\n\t\"_duration_millisecond_second\"?: string;\n\t\"_duration_millisecond_minute\"?: string;\n\t\"_duration_millisecond_hour\"?: string;\n\t\"_duration_millisecond_day\"?: string;\n\t\"_duration_millisecond_week\"?: string;\n\t\"_duration_millisecond_month\"?: string;\n\t\"_duration_millisecond_year\"?: string;\n\n\t\"_duration_second\"?: string;\n\t\"_duration_second_minute\"?: string;\n\t\"_duration_second_hour\"?: string;\n\t\"_duration_second_day\"?: string;\n\t\"_duration_second_week\"?: string;\n\t\"_duration_second_month\"?: string;\n\t\"_duration_second_year\"?: string;\n\n\t\"_duration_minute\"?: string;\n\t\"_duration_minute_hour\"?: string;\n\t\"_duration_minute_day\"?: string;\n\t\"_duration_minute_week\"?: string;\n\t\"_duration_minute_month\"?: string;\n\t\"_duration_minute_year\"?: string;\n\n\t\"_duration_hour\"?: string;\n\t\"_duration_hour_day\"?: string;\n\t\"_duration_hour_week\"?: string;\n\t\"_duration_hour_month\"?: string;\n\t\"_duration_hour_year\"?: string;\n\n\t\"_duration_day\"?: string;\n\t\"_duration_day_week\"?: string;\n\t\"_duration_day_month\"?: string;\n\t\"_duration_day_year\"?: string;\n\n\t\"_duration_week\"?: string;\n\t\"_duration_week_month\"?: string;\n\t\"_duration_week_year\"?: string;\n\n\t\"_duration_month\"?: string;\n\t\"_duration_month_year\"?: string;\n\n\t\"_duration_year\"?: string;\n\n\t// Era\n\t\"_era_ad\"?: string;\n\t\"_era_bc\"?: string;\n\n\t// Period\n\t\"A\"?: string;\n\t\"P\"?: string;\n\t\"AM\"?: string;\n\t\"PM\"?: string;\n\t\"A.M.\"?: string;\n\t\"P.M.\"?: string;\n\n\t// Dates\n\t\"January\"?: string;\n\t\"February\"?: string;\n\t\"March\"?: string;\n\t\"April\"?: string;\n\t\"May\"?: string;\n\t\"June\"?: string;\n\t\"July\"?: string;\n\t\"August\"?: string;\n\t\"September\"?: string;\n\t\"October\"?: string;\n\t\"November\"?: string;\n\t\"December\"?: string;\n\t\"Jan\"?: string;\n\t\"Feb\"?: string;\n\t\"Mar\"?: string;\n\t\"Apr\"?: string;\n\t\"May(short)\"?: string;\n\t\"Jun\"?: string;\n\t\"Jul\"?: string;\n\t\"Aug\"?: string;\n\t\"Sep\"?: string;\n\t\"Oct\"?: string;\n\t\"Nov\"?: string;\n\t\"Dec\"?: string;\n\t\"Sunday\"?: string;\n\t\"Monday\"?: string;\n\t\"Tuesday\"?: string;\n\t\"Wednesday\"?: string;\n\t\"Thursday\"?: string;\n\t\"Friday\"?: string;\n\t\"Saturday\"?: string;\n\t\"Sun\"?: string;\n\t\"Mon\"?: string;\n\t\"Tue\"?: string;\n\t\"Wed\"?: string;\n\t\"Thu\"?: string;\n\t\"Fri\"?: string;\n\t\"Sat\"?: string;\n\n\t// Chart elements\n\t\"Zoom Out\"?: string;\n\t\"Play\"?: string;\n\t\"Stop\"?: string;\n\t\"Legend\"?: string;\n\t\"Press ENTER to toggle\"?: string;\n\t\"Loading\"?: string;\n\t\"%1 shown\"?: string;\n\t\"%1 hidden\"?: string;\n\n\t// Chart types\n\t\"Chart\"?: string;\n\t\"Serial chart\"?: string;\n\t\"X/Y chart\"?: string;\n\t\"Pie chart\"?: string;\n\t\"Sunburst chart\"?: string;\n\t\"Gauge chart\"?: string;\n\t\"Radar chart\"?: string;\n\t\"Sankey diagram\"?: string;\n\t\"Flow diagram\"?: string;\n\t\"Chord diagram\"?: string;\n\t\"TreeMap chart\"?: string;\n\t\"Force directed tree\"?: string;\n\t\"Sliced chart\"?: string;\n\n\t// Series types\n\t\"Series\"?: string;\n\t\"Candlestick Series\"?: string;\n\t\"OHLC Series\"?: string;\n\t\"Column Series\"?: string;\n\t\"Line Series\"?: string;\n\t\"Pie Slice Series\"?: string;\n\t\"Funnel Series\"?: string;\n\t\"Pyramid Series\"?: string;\n\t\"X/Y Series\"?: string;\n\n\t// Map-related\n\t\"Map\"?: string;\n\t\"Press ENTER to zoom in\"?: string;\n\t\"Press ENTER to zoom out\"?: string;\n\t\"Use arrow keys to zoom in and out\"?: string;\n\t\"Use plus and minus keys on your keyboard to zoom in and out\"?: string;\n\t\"Home\"?: string;\n\t\"Zoom level changed to %1\"?: string;\n\n\t// Export-related\n\t\"Export\"?: string;\n\t\"Image\"?: string;\n\t\"Data\"?: string;\n\t\"Print\"?: string;\n\t\"Press ENTER or use arrow keys to navigate\"?: string;\n\t\"Press ENTER to open\"?: string;\n\t\"Press ENTER to print.\"?: string;\n\t\"Press ENTER to export as %1.\"?: string;\n\t\"(Press ESC to close this message)\"?: string;\n\t\"Image Export Complete\"?: string;\n\t\"Export operation took longer than expected. Something might have gone wrong.\"?: string;\n\t\"Saved from\"?: string;\n\t\"PNG\"?: string;\n\t\"JPG\"?: string;\n\t\"GIF\"?: string;\n\t\"SVG\"?: string;\n\t\"PDF\"?: string;\n\t\"JSON\"?: string;\n\t\"CSV\"?: string;\n\t\"XLSX\"?: string;\n\t\"HTML\"?: string;\n\n\t// Scrollbar-related\n\t\"Use TAB to select grip buttons or left and right arrows to change selection\"?: string;\n\t\"Use left and right arrows to move selection\"?: string;\n\t\"Use left and right arrows to move left selection\"?: string;\n\t\"Use left and right arrows to move right selection\"?: string;\n\t\"Use TAB select grip buttons or up and down arrows to change selection\"?: string;\n\t\"Use up and down arrows to move selection\"?: string;\n\t\"Use up and down arrows to move lower selection\"?: string;\n\t\"Use up and down arrows to move upper selection\"?: string;\n\t\"From %1 to %2\"?: string;\n\t\"From %1\"?: string;\n\t\"To %1\"?: string;\n\n\t// Data loader-related\n\t\"No parser available for file: %1\"?: string;\n\t\"Error parsing file: %1\"?: string;\n\t\"Unable to load file: %1\"?: string;\n\t\"Invalid date\"?: string;\n\n\t// Common actions\n\t\"Close\"?: string;\n\t\"Minimize\"?: string;\n\n\t\"Venn Series\"?: string;\n\t\"Venn Diagram\"?: string;\n}\n\n/**\n * Defines functions that exist for the locale.\n *\n * @ignore\n */\nexport interface ILocaleFunctions {\n\t// ordinal function\n\t\"_dateOrd\": (day: number) => string;\n}\n\n/**\n * Defines all of the defaults for locale properties.\n * @ignore\n */\nexport interface ILocaleDefault extends ILocaleSettings, ILocaleFunctions { }\n\n/**\n * Defines locale interface.\n *\n * @ignore\n */\nexport interface ILocale extends Partial<ILocaleDefault> { };\n\nexport interface ILanguageSettings extends IEntitySettings {\n}\n\nexport interface ILanguagePrivate extends IEntityPrivate {\n\n\t/**\n\t * A locale for International English (default).\n\t */\n\tdefaultLocale: ILocale;\n\n}\n\nexport class Language extends Entity {\n\tdeclare public _settings: ILanguageSettings;\n\tdeclare public _privateSettings: ILanguagePrivate;\n\n\tprotected _setDefaults() {\n\t\tthis.setPrivate(\"defaultLocale\", en);\n\t\tsuper._setDefaults();\n\t}\n\n\tpublic translate<Key extends keyof ILocaleSettings>(prompt: Key, locale?: ILocale, ...rest: Array<string>): string {\n\n\t\t// Get langauge\n\t\tif (!locale) {\n\t\t\tlocale = this._root.locale || this.getPrivate(\"defaultLocale\");\n\t\t}\n\n\t\t// Init translation\n\t\tlet translation: string = prompt;\n\t\tlet value = locale[prompt];\n\n\t\t// Try to look for the translation\n\t\tif (value === null) {\n\t\t\ttranslation = \"\";\n\t\t}\n\t\telse if (value != null) {\n\t\t\t// It might be an empty string\n\t\t\tif (value) {\n\t\t\t\ttranslation = <string>value!;\n\t\t\t}\n\t\t}\n\t\telse if (locale !== this.getPrivate(\"defaultLocale\")) {\n\t\t\t// Try to look in default language\n\t\t\treturn this.translate(prompt, this.getPrivate(\"defaultLocale\"), ...rest);\n\t\t}\n\n\t\t// Replace %1, %2, etc params\n\t\tif (rest.length) {\n\t\t\tfor (let len = rest.length, i = 0; i < len; ++i) {\n\t\t\t\ttranslation = translation.split(\"%\" + (i + 1)).join(rest[i]);\n\t\t\t}\n\t\t}\n\n\t\t// Return the translation\n\t\treturn translation;\n\t}\n\n\tpublic translateAny(prompt: string, locale?: ILocale, ...rest: Array<string>): string {\n\t\treturn this.translate(<any>prompt, locale, ...rest);\n\t}\n\n\tpublic setTranslationAny(prompt: string, translation: string, locale?: ILocale): void {\n\t\tconst localeTarget = locale || this._root.locale;\n\t\t(<any>localeTarget)[prompt] = translation;\n\t}\n\n\tpublic translateEmpty<Key extends keyof ILocaleSettings>(prompt: Key, locale?: ILocale, ...rest: Array<string>): string {\n\t\tlet translation = this.translate(prompt, locale, ...rest);\n\t\treturn translation == prompt ? \"\" : translation;\n\t}\n\n\tpublic translateFunc<Key extends keyof ILocaleFunctions>(prompt: Key, locale?: ILocale): ILocaleFunctions[Key] {\n\n\t\tif ((<any>this._root.locale)[prompt]) {\n\t\t\treturn (<any>this._root.locale)[prompt];\n\t\t}\n\n\t\t// Try to look in default language\n\t\tif (locale !== this.getPrivate(\"defaultLocale\")) {\n\t\t\treturn this.translateFunc(prompt, this.getPrivate(\"defaultLocale\"));\n\t\t}\n\n\t\t// Fail - return empty function\n\t\treturn (): string => {\n\t\t\treturn \"\";\n\t\t};\n\t}\n\n\tpublic translateAll<Key extends keyof ILocaleSettings>(list: Array<Key>, locale?: ILocale): Array<string> {\n\t\t// Translate all items in the list\n\t\tif (!this.isDefault()) {\n\t\t\treturn $array.map(list, (x) => this.translate(x, locale));\n\n\t\t} else {\n\t\t\treturn list;\n\t\t}\n\t}\n\n\t/**\n\t * Returns `true` if the currently selected locale is a default locale.\n\t *\n\t * @return `true` if locale is default; `false` if it is not.\n\t */\n\tpublic isDefault(): boolean {\n\t\treturn this.getPrivate(\"defaultLocale\") === this._root.locale;\n\t}\n\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberFormatter.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/util/NumberFormatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAOlE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAyB,SAAQ,eAAe;IAEhE;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC;IAEjD;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,aAAa,EAAE,CAAC;IAEpC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,aAAa,EAAE,CAAC;IAEtC;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;OAIG;IACH,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC;IAE/B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CAErB;AAED,MAAM,WAAW,uBAAwB,SAAQ,cAAc;CAC9D;AAED;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,MAAM;IAC3B,SAAS,EAAE,wBAAwB,CAAC;IACpC,gBAAgB,EAAE,uBAAuB,CAAC;IAEzD,SAAS,CAAC,YAAY;IA4Cf,cAAc;IAIrB;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAgE7G;;;;;;;OAOG;IACH,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG;IAgN9D;;;;;;;OAOG;IACH,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,MAAM;
|
|
1
|
+
{"version":3,"file":"NumberFormatter.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/util/NumberFormatter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAOlE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAyB,SAAQ,eAAe;IAEhE;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC;IAEjD;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,aAAa,EAAE,CAAC;IAEpC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,aAAa,EAAE,CAAC;IAEtC;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;OAIG;IACH,YAAY,CAAC,EAAE,aAAa,EAAE,CAAC;IAE/B;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CAErB;AAED,MAAM,WAAW,uBAAwB,SAAQ,cAAc;CAC9D;AAED;;;;;GAKG;AACH,qBAAa,eAAgB,SAAQ,MAAM;IAC3B,SAAS,EAAE,wBAAwB,CAAC;IACpC,gBAAgB,EAAE,uBAAuB,CAAC;IAEzD,SAAS,CAAC,YAAY;IA4Cf,cAAc;IAIrB;;;;;;OAMG;IACI,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,mBAAmB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAgE7G;;;;;;;OAOG;IACH,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG;IAgN9D;;;;;;;OAOG;IACH,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,MAAM;IA0I1D,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,KAAK,GAAE,OAAe,GAAG,GAAG,EAAE;IA0CpF;;;;;;OAMG;IACI,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAInC;;;;;;OAMG;IACI,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAIrC"}
|
|
@@ -245,7 +245,7 @@ var NumberFormatter = /** @class */ (function (_super) {
|
|
|
245
245
|
if (chunk.type === "value") {
|
|
246
246
|
// Parse format
|
|
247
247
|
// Look for codes
|
|
248
|
-
var matches = chunk.text.match(/[#0.,]+[ ]?[
|
|
248
|
+
var matches = chunk.text.match(/[#0.,]+[ ]?[abespABESP%!]?[abespABESP‰!]?/);
|
|
249
249
|
if (matches) {
|
|
250
250
|
if (matches === null || matches[0] === "") {
|
|
251
251
|
// no codes here - assume string
|
|
@@ -254,10 +254,10 @@ var NumberFormatter = /** @class */ (function (_super) {
|
|
|
254
254
|
}
|
|
255
255
|
else {
|
|
256
256
|
// look for the format modifiers at the end
|
|
257
|
-
var mods = matches[0].match(/[
|
|
257
|
+
var mods = matches[0].match(/[abespABESP%‰!]{2}|[abespABESP%‰]{1}$/);
|
|
258
258
|
if (mods) {
|
|
259
259
|
item.mod = mods[0].toLowerCase();
|
|
260
|
-
item.modSpacing = matches[0].match(/[ ]{1}[
|
|
260
|
+
item.modSpacing = matches[0].match(/[ ]{1}[abespABESP%‰!]{1}$/) ? true : false;
|
|
261
261
|
}
|
|
262
262
|
// break the format up
|
|
263
263
|
var a = matches[0].split(".");
|
|
@@ -355,6 +355,13 @@ var NumberFormatter = /** @class */ (function (_super) {
|
|
|
355
355
|
suffix = " " + suffix;
|
|
356
356
|
}
|
|
357
357
|
}
|
|
358
|
+
else if (mods.indexOf("p") !== -1) {
|
|
359
|
+
var ol = Math.min(value.toString().length + 2, 21);
|
|
360
|
+
//value *= 100;
|
|
361
|
+
value = parseFloat(value.toPrecision(ol));
|
|
362
|
+
prefix = this._root.language.translate("_percentPrefix");
|
|
363
|
+
suffix = this._root.language.translate("_percentSuffix");
|
|
364
|
+
}
|
|
358
365
|
else if (mods.indexOf("%") !== -1) {
|
|
359
366
|
var ol = Math.min(value.toString().length + 2, 21);
|
|
360
367
|
value *= 100;
|