@amcharts/amcharts5 5.5.6 → 5.6.0
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.map +1 -1
- package/.internal/charts/hierarchy/Hierarchy.js +3 -1
- package/.internal/charts/hierarchy/Hierarchy.js.map +1 -1
- package/.internal/charts/hierarchy/Treemap.d.ts.map +1 -1
- package/.internal/charts/hierarchy/Treemap.js +4 -1
- package/.internal/charts/hierarchy/Treemap.js.map +1 -1
- package/.internal/charts/map/ClusteredPointSeries.d.ts +44 -0
- package/.internal/charts/map/ClusteredPointSeries.d.ts.map +1 -1
- package/.internal/charts/map/ClusteredPointSeries.js +110 -1
- package/.internal/charts/map/ClusteredPointSeries.js.map +1 -1
- package/.internal/charts/map/MapChartDefaultTheme.d.ts.map +1 -1
- package/.internal/charts/map/MapChartDefaultTheme.js +6 -0
- package/.internal/charts/map/MapChartDefaultTheme.js.map +1 -1
- package/.internal/charts/pie/PieSeries.d.ts.map +1 -1
- package/.internal/charts/pie/PieSeries.js +14 -10
- package/.internal/charts/pie/PieSeries.js.map +1 -1
- package/.internal/charts/stock/StockChart.d.ts.map +1 -1
- package/.internal/charts/stock/StockChart.js +15 -2
- package/.internal/charts/stock/StockChart.js.map +1 -1
- package/.internal/charts/stock/indicators/ChartIndicator.d.ts.map +1 -1
- package/.internal/charts/stock/indicators/ChartIndicator.js +2 -0
- package/.internal/charts/stock/indicators/ChartIndicator.js.map +1 -1
- package/.internal/charts/stock/toolbar/Dropdown.d.ts +1 -1
- package/.internal/charts/stock/toolbar/Dropdown.js +1 -1
- package/.internal/charts/stock/toolbar/Dropdown.js.map +1 -1
- package/.internal/charts/stock/toolbar/DropdownList.d.ts +1 -1
- package/.internal/charts/stock/toolbar/DropdownList.js +1 -1
- package/.internal/charts/stock/toolbar/DropdownList.js.map +1 -1
- package/.internal/charts/stock/toolbar/StockControl.d.ts +1 -1
- package/.internal/charts/stock/toolbar/StockControl.js +1 -1
- package/.internal/charts/stock/toolbar/StockControl.js.map +1 -1
- package/.internal/charts/stock/toolbar/StockToolbar.d.ts +3 -1
- package/.internal/charts/stock/toolbar/StockToolbar.d.ts.map +1 -1
- package/.internal/charts/stock/toolbar/StockToolbar.js +3 -1
- package/.internal/charts/stock/toolbar/StockToolbar.js.map +1 -1
- package/.internal/charts/wordcloud/WordCloud.d.ts +0 -1
- package/.internal/charts/wordcloud/WordCloud.d.ts.map +1 -1
- package/.internal/charts/wordcloud/WordCloud.js +7 -26
- package/.internal/charts/wordcloud/WordCloud.js.map +1 -1
- package/.internal/charts/xy/XYChartDefaultTheme.d.ts.map +1 -1
- package/.internal/charts/xy/XYChartDefaultTheme.js +12 -0
- package/.internal/charts/xy/XYChartDefaultTheme.js.map +1 -1
- package/.internal/charts/xy/axes/Axis.d.ts +5 -1
- package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/Axis.js +79 -5
- package/.internal/charts/xy/axes/Axis.js.map +1 -1
- package/.internal/charts/xy/axes/AxisRenderer.d.ts +17 -0
- package/.internal/charts/xy/axes/AxisRenderer.d.ts.map +1 -1
- package/.internal/charts/xy/axes/AxisRenderer.js.map +1 -1
- package/.internal/charts/xy/axes/CategoryAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/CategoryAxis.js +22 -2
- package/.internal/charts/xy/axes/CategoryAxis.js.map +1 -1
- package/.internal/charts/xy/axes/DateAxis.d.ts +10 -0
- package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/DateAxis.js +100 -1
- package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
- package/.internal/charts/xy/axes/GaplessDateAxis.d.ts +7 -0
- package/.internal/charts/xy/axes/GaplessDateAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/GaplessDateAxis.js +215 -48
- package/.internal/charts/xy/axes/GaplessDateAxis.js.map +1 -1
- package/.internal/charts/xy/axes/ValueAxis.d.ts +4 -0
- package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
- package/.internal/charts/xy/axes/ValueAxis.js +68 -8
- package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
- package/.internal/charts/xy/series/LineSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/LineSeries.js +3 -0
- package/.internal/charts/xy/series/LineSeries.js.map +1 -1
- package/.internal/charts/xy/series/XYSeries.d.ts +3 -0
- package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
- package/.internal/charts/xy/series/XYSeries.js +116 -25
- package/.internal/charts/xy/series/XYSeries.js.map +1 -1
- package/.internal/core/Registry.js +1 -1
- package/.internal/core/Registry.js.map +1 -1
- package/.internal/core/Root.d.ts +7 -0
- package/.internal/core/Root.d.ts.map +1 -1
- package/.internal/core/Root.js +5 -4
- package/.internal/core/Root.js.map +1 -1
- package/.internal/core/render/Bullet.d.ts +24 -0
- package/.internal/core/render/Bullet.d.ts.map +1 -1
- package/.internal/core/render/Bullet.js.map +1 -1
- package/.internal/core/render/Container.d.ts +1 -1
- package/.internal/core/render/Container.d.ts.map +1 -1
- package/.internal/core/render/Container.js +3 -3
- package/.internal/core/render/Container.js.map +1 -1
- package/.internal/core/render/Polygon.d.ts.map +1 -1
- package/.internal/core/render/Polygon.js +4 -0
- package/.internal/core/render/Polygon.js.map +1 -1
- package/.internal/core/render/Series.d.ts +16 -0
- package/.internal/core/render/Series.d.ts.map +1 -1
- package/.internal/core/render/Series.js +52 -27
- package/.internal/core/render/Series.js.map +1 -1
- package/.internal/core/render/backend/CanvasRenderer.js +17 -17
- package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
- package/.internal/core/util/Entity.d.ts +1 -1
- package/.internal/core/util/Entity.d.ts.map +1 -1
- package/.internal/core/util/Entity.js +4 -4
- package/.internal/core/util/Entity.js.map +1 -1
- package/.internal/core/util/Math.d.ts +35 -0
- package/.internal/core/util/Math.d.ts.map +1 -1
- package/.internal/core/util/Math.js +49 -0
- package/.internal/core/util/Math.js.map +1 -1
- package/.internal/core/util/Time.d.ts.map +1 -1
- package/.internal/core/util/Time.js +14 -11
- package/.internal/core/util/Time.js.map +1 -1
- package/.internal/plugins/json/Json.d.ts.map +1 -1
- package/.internal/plugins/json/Json.js +3 -0
- package/.internal/plugins/json/Json.js.map +1 -1
- package/.internal/themes/ResponsiveTheme.d.ts +6 -1
- package/.internal/themes/ResponsiveTheme.d.ts.map +1 -1
- package/.internal/themes/ResponsiveTheme.js +50 -24
- package/.internal/themes/ResponsiveTheme.js.map +1 -1
- package/CHANGELOG.md +35 -1
- package/examples/javascript/flow-arc-horizontal/package.json +1 -1
- package/examples/javascript/flow-arc-vertical/package.json +1 -1
- 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/hierarchy-voronoi-treemap/package.json +1 -1
- package/examples/javascript/jest/package.json +1 -1
- package/examples/javascript/json-pie/package.json +1 -1
- package/examples/javascript/json-xy/index.js +3 -2
- package/examples/javascript/json-xy/package.json +1 -1
- package/examples/javascript/map-animating-along-lines/package.json +1 -1
- package/examples/javascript/map-clustered-points/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/index.js +2 -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/index.js +3 -1
- package/examples/javascript/stock-chart/package.json +1 -1
- package/examples/javascript/stock-chart-comparing-stocks/index.js +3 -1
- package/examples/javascript/stock-chart-comparing-stocks/package.json +1 -1
- package/examples/javascript/stock-chart-data-granularity/index.js +3 -1
- package/examples/javascript/stock-chart-data-granularity/package.json +1 -1
- package/examples/javascript/stock-chart-data-grouping/index.js +6 -2
- package/examples/javascript/stock-chart-data-grouping/package.json +1 -1
- package/examples/javascript/stock-chart-intraday/index.js +3 -1
- package/examples/javascript/stock-chart-intraday/package.json +1 -1
- package/examples/javascript/stock-chart-live/index.js +3 -1
- package/examples/javascript/stock-chart-live/package.json +1 -1
- package/examples/javascript/stock-chart-volume-separate-panel/index.js +6 -2
- 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/package.json +1 -1
- package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/index.js +3 -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/index.js +1 -0
- package/examples/javascript/xy-candlestick/package.json +1 -1
- package/examples/javascript/xy-clustered-column/package.json +1 -1
- package/examples/javascript/xy-column/index.js +3 -1
- package/examples/javascript/xy-column/package.json +1 -1
- package/examples/javascript/xy-comparing-series-google-analytics-style/index.js +3 -1
- package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
- package/examples/javascript/xy-data-grouping/index.js +1 -0
- package/examples/javascript/xy-data-grouping/package.json +1 -1
- package/examples/javascript/xy-draggable-range/index.js +3 -1
- package/examples/javascript/xy-draggable-range/package.json +1 -1
- package/examples/javascript/xy-drawing-series-with-mouse-or-touch/index.js +3 -1
- package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
- package/examples/javascript/xy-dumbbell plot/index.js +2 -1
- package/examples/javascript/xy-dumbbell plot/package.json +1 -1
- package/examples/javascript/xy-evenly-spaced-date-axis/index.js +4 -5
- package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
- package/examples/javascript/xy-line/index.js +1 -0
- package/examples/javascript/xy-line/package.json +1 -1
- package/examples/javascript/xy-line-highlight-on-legend-hover/index.js +3 -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/index.js +4 -2
- package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
- package/examples/javascript/xy-ohlc/index.js +3 -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/index.js +3 -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/index.js +7 -2
- package/examples/javascript/xy-stacked-step/package.json +1 -1
- package/examples/javascript/xy-stock/index.js +4 -1
- package/examples/javascript/xy-stock/package.json +1 -1
- package/examples/javascript/xy-stock-comparing/index.js +3 -1
- package/examples/javascript/xy-stock-comparing/package.json +1 -1
- package/examples/typescript/flow-arc-horizontal/package.json +1 -1
- package/examples/typescript/flow-arc-vertical/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/hierarchy-voronoi-treemap/package.json +1 -1
- package/examples/typescript/jest/package.json +1 -1
- package/examples/typescript/json-pie/package.json +1 -1
- package/examples/typescript/json-xy/index.ts +3 -2
- package/examples/typescript/json-xy/package.json +1 -1
- package/examples/typescript/map-animating-along-lines/package.json +1 -1
- package/examples/typescript/map-clustered-points/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/index.ts +2 -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/index.ts +3 -1
- package/examples/typescript/stock-chart/package.json +1 -1
- package/examples/typescript/stock-chart-comparing-stocks/index.ts +3 -1
- package/examples/typescript/stock-chart-comparing-stocks/package.json +1 -1
- package/examples/typescript/stock-chart-data-granularity/index.ts +3 -1
- package/examples/typescript/stock-chart-data-granularity/package.json +1 -1
- package/examples/typescript/stock-chart-data-grouping/index.ts +6 -2
- package/examples/typescript/stock-chart-data-grouping/package.json +1 -1
- package/examples/typescript/stock-chart-intraday/index.ts +3 -1
- package/examples/typescript/stock-chart-intraday/package.json +1 -1
- package/examples/typescript/stock-chart-live/index.ts +3 -1
- package/examples/typescript/stock-chart-live/package.json +1 -1
- package/examples/typescript/stock-chart-volume-separate-panel/index.ts +6 -2
- 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/package.json +1 -1
- package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/index.ts +3 -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/index.ts +1 -0
- package/examples/typescript/xy-candlestick/package.json +1 -1
- package/examples/typescript/xy-clustered-column/package.json +1 -1
- package/examples/typescript/xy-column/index.ts +3 -1
- package/examples/typescript/xy-column/package.json +1 -1
- package/examples/typescript/xy-comparing-series-google-analytics-style/index.ts +3 -1
- package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
- package/examples/typescript/xy-data-grouping/index.ts +1 -0
- package/examples/typescript/xy-data-grouping/package.json +1 -1
- package/examples/typescript/xy-draggable-range/index.ts +3 -1
- package/examples/typescript/xy-draggable-range/package.json +1 -1
- package/examples/typescript/xy-drawing-series-with-mouse-or-touch/index.ts +3 -1
- package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
- package/examples/typescript/xy-dumbbell plot/index.ts +2 -1
- package/examples/typescript/xy-dumbbell plot/package.json +1 -1
- package/examples/typescript/xy-evenly-spaced-date-axis/index.ts +4 -5
- package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
- package/examples/typescript/xy-line/index.ts +1 -0
- package/examples/typescript/xy-line/package.json +1 -1
- package/examples/typescript/xy-line-highlight-on-legend-hover/index.ts +3 -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/index.ts +4 -2
- package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
- package/examples/typescript/xy-ohlc/index.ts +3 -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/index.ts +3 -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/index.ts +7 -2
- package/examples/typescript/xy-stacked-step/package.json +1 -1
- package/examples/typescript/xy-stock/index.ts +4 -1
- package/examples/typescript/xy-stock/package.json +1 -1
- package/examples/typescript/xy-stock-comparing/index.ts +3 -1
- package/examples/typescript/xy-stock-comparing/package.json +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Math.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/Math.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IPoint } from \"./IPoint\";\nimport { isNumber } from \"./Type\";\nimport type { IBounds } from \"./IBounds\";\n\n/**\n * ============================================================================\n * CONSTANTS\n * ============================================================================\n * @hidden\n */\nexport const PI = Math.PI;\nexport const HALFPI = PI / 2;\nexport const RADIANS = PI / 180;\nexport const DEGREES = 180 / PI;\n\n/**\n * Rounds the numeric value to whole number or specific precision of set.\n *\n * @param value Value\n * @param precision Precision (number of decimal points)\n * @param floor In case value ends with 0.5 and precision is 0, we might need to floor the value instead of ceiling it.\n * @return Rounded value\n */\nexport function round(value: number, precision?: number, floor?: boolean): number {\n\tif (!isNumber(precision) || precision <= 0) {\n\n\t\tlet rounded = Math.round(value);\n\t\tif (floor) {\n\t\t\tif (rounded - value == 0.5) {\n\t\t\t\trounded--;\n\t\t\t}\n\t\t}\n\t\treturn rounded;\n\t}\n\telse {\n\t\tlet d: number = Math.pow(10, precision);\n\t\treturn Math.round(value * d) / d;\n\t}\n}\n\n\n/**\n * Ceils the numeric value to whole number or specific precision of set.\n *\n * @param value Value\n * @param precision Precision (number of decimal points)\n * @return Rounded value\n */\nexport function ceil(value: number, precision: number): number {\n\tif (!isNumber(precision) || precision <= 0) {\n\t\treturn Math.ceil(value);\n\t}\n\telse {\n\t\tlet d: number = Math.pow(10, precision);\n\t\treturn Math.ceil(value * d) / d;\n\t}\n}\n\n\n/**\n * [getCubicControlPointA description]\n *\n * @ignore Exclude from docs\n * @todo Description\n * @param p0 [description]\n * @param p1 [description]\n * @param p2 [description]\n * @param p3 [description]\n * @param tensionX [description]\n * @param tensionY [description]\n * @return [description]\n */\nexport function getCubicControlPointA(p0: IPoint, p1: IPoint, p2: IPoint, tensionX: number, tensionY: number): IPoint {\n\treturn { x: ((-p0.x + p1.x / tensionX + p2.x) * tensionX), y: ((-p0.y + p1.y / tensionY + p2.y) * tensionY) };\n}\n\n/**\n * [getCubicControlPointB description]\n *\n * @ignore Exclude from docs\n * @todo Description\n * @param p0 [description]\n * @param p1 [description]\n * @param p2 [description]\n * @param p3 [description]\n * @param tensionX [description]\n * @param tensionY [description]\n * @return [description]\n */\nexport function getCubicControlPointB(p1: IPoint, p2: IPoint, p3: IPoint, tensionX: number, tensionY: number): IPoint {\n\treturn { x: ((p1.x + p2.x / tensionX - p3.x) * tensionX), y: ((p1.y + p2.y / tensionY - p3.y) * tensionY) };\n}\n\n\nexport function fitToRange(value: number, min: number, max: number): number {\n\treturn Math.min(Math.max(value, min), max);\n}\n\n/**\n * Returns sine of an angle specified in degrees.\n *\n * @param value Value\n * @return Sine\n */\nexport function sin(angle: number): number {\n\treturn Math.sin(RADIANS * angle);\n}\n\n/**\n * Returns tan of an angle specified in degrees.\n *\n * @param value Value\n * @return Sine\n */\nexport function tan(angle: number): number {\n\treturn Math.tan(RADIANS * angle);\n}\n\n/**\n * Returns cosine of an angle specified in degrees.\n *\n * @param value Value\n * @return Cosine\n */\nexport function cos(angle: number): number {\n\treturn Math.cos(RADIANS * angle);\n}\n\n// 0 to 360\nexport function normalizeAngle(value: number): number {\n\tvalue = value % 360;\n\tif (value < 0) {\n\t\tvalue += 360;\n\t}\n\treturn value;\n}\n\n// TODO this doesn't work properly for skewing, and it's probably broken for rotation too\nexport function getArcBounds(cx: number, cy: number, startAngle: number, endAngle: number, radius: number): IBounds {\n\n\tlet minX = Number.MAX_VALUE;\n\tlet minY = Number.MAX_VALUE;\n\tlet maxX = -Number.MAX_VALUE;\n\tlet maxY = -Number.MAX_VALUE;\n\n\tlet bpoints = [];\n\n\tbpoints.push(getArcPoint(radius, startAngle));\n\tbpoints.push(getArcPoint(radius, endAngle));\n\n\tlet fromAngle = Math.min(Math.floor(startAngle / 90) * 90, Math.floor(endAngle / 90) * 90);\n\tlet toAngle = Math.max(Math.ceil(startAngle / 90) * 90, Math.ceil(endAngle / 90) * 90);\n\n\tfor (let angle = fromAngle; angle <= toAngle; angle += 90) {\n\t\tif (angle >= startAngle && angle <= endAngle) {\n\t\t\tbpoints.push(getArcPoint(radius, angle));\n\t\t}\n\t}\n\n\tfor (let i = 0; i < bpoints.length; i++) {\n\t\tlet pt = bpoints[i];\n\t\tif (pt.x < minX) { minX = pt.x; }\n\t\tif (pt.y < minY) { minY = pt.y; }\n\t\tif (pt.x > maxX) { maxX = pt.x; }\n\t\tif (pt.y > maxY) { maxY = pt.y; }\n\t}\n\n\treturn ({ left: cx + minX, top: cy + minY, right: cx + maxX, bottom: cy + maxY });\n}\n\n/**\n * Returns point on arc\n *\n * @param center point\n * @param radius\n * @param arc\n * @return {boolean}\n */\nexport function getArcPoint(radius: number, arc: number) {\n\treturn ({ x: radius * cos(arc), y: radius * sin(arc) });\n}\n\n\nexport function mergeBounds(bounds: IBounds[]): IBounds {\n\tconst len = bounds.length;\n\n\tif (len > 0) {\n\t\tlet bound = bounds[0];\n\t\tlet left = bound.left;\n\t\tlet top = bound.top;\n\t\tlet right = bound.right;\n\t\tlet bottom = bound.bottom;\n\n\t\tif (len > 1) {\n\t\t\tfor (let i = 1; i < len; i++) {\n\t\t\t\tbound = bounds[i];\n\t\t\t\tleft = Math.min(bound.left, left);\n\t\t\t\tright = Math.max(bound.right, right);\n\t\t\t\ttop = Math.min(bound.top, top);\n\t\t\t\tbottom = Math.max(bound.bottom, bottom);\n\t\t\t}\n\t\t}\n\n\t\treturn { left, right, top, bottom };\n\t}\n\treturn { left: 0, right: 0, top: 0, bottom: 0 };\n}\n\n\nexport function fitAngleToRange(value: number, startAngle: number, endAngle: number): number {\n\n\tif (startAngle > endAngle) {\n\t\tlet temp: number = startAngle;\n\t\tstartAngle = endAngle;\n\t\tendAngle = temp;\n\t}\n\n\tvalue = normalizeAngle(value);\n\n\tlet count = (startAngle - normalizeAngle(startAngle)) / 360;\n\n\tif (value < startAngle) {\n\t\tvalue += 360 * (count + 1);\n\t}\n\n\tlet maxEnd: number = startAngle + (endAngle - startAngle) / 2 + 180;\n\tlet maxStart: number = startAngle + (endAngle - startAngle) / 2 - 180;\n\n\tif (value > endAngle) {\n\n\t\tif (value - 360 > startAngle) {\n\t\t\tvalue -= 360;\n\t\t}\n\t\telse {\n\t\t\tif (value < maxEnd) {\n\t\t\t\tvalue = endAngle;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tvalue = startAngle;\n\t\t\t}\n\t\t}\n\t}\n\n\tif (value < startAngle) {\n\t\tif (value > maxStart) {\n\t\t\tvalue = startAngle;\n\t\t}\n\t\telse {\n\t\t\tvalue = endAngle;\n\t\t}\n\t}\n\n\treturn value;\n}\n\nexport function inBounds(point: IPoint, bounds: IBounds) {\n\tif (point.x >= bounds.left && point.y >= bounds.top && point.x <= bounds.right && point.y <= bounds.bottom) {\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nexport function getAngle(point1: IPoint, point2?: IPoint): number {\n\tif (!point2) {\n\t\tpoint2 = { x: point1.x * 2, y: point1.y * 2 };\n\t}\n\tlet diffX: number = point2.x - point1.x;\n\tlet diffY: number = point2.y - point1.y;\n\tlet angle: number = Math.atan2(diffY, diffX) * DEGREES;\n\tif (angle < 0) {\n\t\tangle += 360;\n\t}\n\treturn normalizeAngle(angle);\n}\n\n/**\n * [getPointOnQuadraticCurve description]\n *\n * @ignore Exclude from docs\n * @todo Description\n * @param pointA [description]\n * @param pointB [description]\n * @param controlPoint [description]\n * @param position [description]\n * @return [description]\n */\nexport function getPointOnQuadraticCurve(pointA: IPoint, pointB: IPoint, controlPoint: IPoint, position: number): IPoint {\n\tlet x: number = (1 - position) * (1 - position) * pointA.x + 2 * (1 - position) * position * controlPoint.x + position * position * pointB.x;\n\tlet y: number = (1 - position) * (1 - position) * pointA.y + 2 * (1 - position) * position * controlPoint.y + position * position * pointB.y;\n\treturn { x: x, y: y };\n}\n\nexport function getPointOnLine(pointA: IPoint, pointB: IPoint, position: number): IPoint {\n\treturn { x: pointA.x + (pointB.x - pointA.x) * position, y: pointA.y + (pointB.y - pointA.y) * position };\n}\n\n\n/**\n * Returns the closest value from the array of values to the reference value.\n *\n * @param values Array of values\n * @param value Reference value\n * @return Closes value from the array\n */\nexport function closest(values: number[], referenceValue: number): number {\n\treturn values.reduce(function(prev, curr) {\n\t\treturn (Math.abs(curr - referenceValue) < Math.abs(prev - referenceValue) ? curr : prev);\n\t});\n}\n\nexport function boundsOverlap (bounds1:IBounds, bounds2:IBounds) { \n return !(bounds1.bottom < bounds2.top || bounds2.bottom < bounds1.top || bounds1.right < bounds2.left || bounds2.right < bounds1.left);\n}"]}
|
|
1
|
+
{"version":3,"file":"Math.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/Math.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IPoint } from \"./IPoint\";\nimport { isNumber } from \"./Type\";\nimport type { IBounds } from \"./IBounds\";\n\n/**\n * ============================================================================\n * CONSTANTS\n * ============================================================================\n * @hidden\n */\nexport const PI = Math.PI;\nexport const HALFPI = PI / 2;\nexport const RADIANS = PI / 180;\nexport const DEGREES = 180 / PI;\n\n/**\n * Rounds the numeric value to whole number or specific precision of set.\n *\n * @param value Value\n * @param precision Precision (number of decimal points)\n * @param floor In case value ends with 0.5 and precision is 0, we might need to floor the value instead of ceiling it.\n * @return Rounded value\n */\nexport function round(value: number, precision?: number, floor?: boolean): number {\n\tif (!isNumber(precision) || precision <= 0) {\n\n\t\tlet rounded = Math.round(value);\n\t\tif (floor) {\n\t\t\tif (rounded - value == 0.5) {\n\t\t\t\trounded--;\n\t\t\t}\n\t\t}\n\t\treturn rounded;\n\t}\n\telse {\n\t\tlet d: number = Math.pow(10, precision);\n\t\treturn Math.round(value * d) / d;\n\t}\n}\n\n\n/**\n * Ceils the numeric value to whole number or specific precision of set.\n *\n * @param value Value\n * @param precision Precision (number of decimal points)\n * @return Rounded value\n */\nexport function ceil(value: number, precision: number): number {\n\tif (!isNumber(precision) || precision <= 0) {\n\t\treturn Math.ceil(value);\n\t}\n\telse {\n\t\tlet d: number = Math.pow(10, precision);\n\t\treturn Math.ceil(value * d) / d;\n\t}\n}\n\n\n/**\n * [getCubicControlPointA description]\n *\n * @ignore Exclude from docs\n * @todo Description\n * @param p0 [description]\n * @param p1 [description]\n * @param p2 [description]\n * @param p3 [description]\n * @param tensionX [description]\n * @param tensionY [description]\n * @return [description]\n */\nexport function getCubicControlPointA(p0: IPoint, p1: IPoint, p2: IPoint, tensionX: number, tensionY: number): IPoint {\n\treturn { x: ((-p0.x + p1.x / tensionX + p2.x) * tensionX), y: ((-p0.y + p1.y / tensionY + p2.y) * tensionY) };\n}\n\n/**\n * [getCubicControlPointB description]\n *\n * @ignore Exclude from docs\n * @todo Description\n * @param p0 [description]\n * @param p1 [description]\n * @param p2 [description]\n * @param p3 [description]\n * @param tensionX [description]\n * @param tensionY [description]\n * @return [description]\n */\nexport function getCubicControlPointB(p1: IPoint, p2: IPoint, p3: IPoint, tensionX: number, tensionY: number): IPoint {\n\treturn { x: ((p1.x + p2.x / tensionX - p3.x) * tensionX), y: ((p1.y + p2.y / tensionY - p3.y) * tensionY) };\n}\n\n\nexport function fitToRange(value: number, min: number, max: number): number {\n\treturn Math.min(Math.max(value, min), max);\n}\n\n/**\n * Returns sine of an angle specified in degrees.\n *\n * @param value Value\n * @return Sine\n */\nexport function sin(angle: number): number {\n\treturn Math.sin(RADIANS * angle);\n}\n\n/**\n * Returns tan of an angle specified in degrees.\n *\n * @param value Value\n * @return Sine\n */\nexport function tan(angle: number): number {\n\treturn Math.tan(RADIANS * angle);\n}\n\n/**\n * Returns cosine of an angle specified in degrees.\n *\n * @param value Value\n * @return Cosine\n */\nexport function cos(angle: number): number {\n\treturn Math.cos(RADIANS * angle);\n}\n\n// 0 to 360\nexport function normalizeAngle(value: number): number {\n\tvalue = value % 360;\n\tif (value < 0) {\n\t\tvalue += 360;\n\t}\n\treturn value;\n}\n\n// TODO this doesn't work properly for skewing, and it's probably broken for rotation too\nexport function getArcBounds(cx: number, cy: number, startAngle: number, endAngle: number, radius: number): IBounds {\n\n\tlet minX = Number.MAX_VALUE;\n\tlet minY = Number.MAX_VALUE;\n\tlet maxX = -Number.MAX_VALUE;\n\tlet maxY = -Number.MAX_VALUE;\n\n\tlet bpoints = [];\n\n\tbpoints.push(getArcPoint(radius, startAngle));\n\tbpoints.push(getArcPoint(radius, endAngle));\n\n\tlet fromAngle = Math.min(Math.floor(startAngle / 90) * 90, Math.floor(endAngle / 90) * 90);\n\tlet toAngle = Math.max(Math.ceil(startAngle / 90) * 90, Math.ceil(endAngle / 90) * 90);\n\n\tfor (let angle = fromAngle; angle <= toAngle; angle += 90) {\n\t\tif (angle >= startAngle && angle <= endAngle) {\n\t\t\tbpoints.push(getArcPoint(radius, angle));\n\t\t}\n\t}\n\n\tfor (let i = 0; i < bpoints.length; i++) {\n\t\tlet pt = bpoints[i];\n\t\tif (pt.x < minX) { minX = pt.x; }\n\t\tif (pt.y < minY) { minY = pt.y; }\n\t\tif (pt.x > maxX) { maxX = pt.x; }\n\t\tif (pt.y > maxY) { maxY = pt.y; }\n\t}\n\n\treturn ({ left: cx + minX, top: cy + minY, right: cx + maxX, bottom: cy + maxY });\n}\n\n/**\n * Returns point on arc\n *\n * @param center point\n * @param radius\n * @param arc\n * @return {boolean}\n */\nexport function getArcPoint(radius: number, arc: number) {\n\treturn ({ x: radius * cos(arc), y: radius * sin(arc) });\n}\n\n\nexport function mergeBounds(bounds: IBounds[]): IBounds {\n\tconst len = bounds.length;\n\n\tif (len > 0) {\n\t\tlet bound = bounds[0];\n\t\tlet left = bound.left;\n\t\tlet top = bound.top;\n\t\tlet right = bound.right;\n\t\tlet bottom = bound.bottom;\n\n\t\tif (len > 1) {\n\t\t\tfor (let i = 1; i < len; i++) {\n\t\t\t\tbound = bounds[i];\n\t\t\t\tleft = Math.min(bound.left, left);\n\t\t\t\tright = Math.max(bound.right, right);\n\t\t\t\ttop = Math.min(bound.top, top);\n\t\t\t\tbottom = Math.max(bound.bottom, bottom);\n\t\t\t}\n\t\t}\n\n\t\treturn { left, right, top, bottom };\n\t}\n\treturn { left: 0, right: 0, top: 0, bottom: 0 };\n}\n\n\nexport function fitAngleToRange(value: number, startAngle: number, endAngle: number): number {\n\n\tif (startAngle > endAngle) {\n\t\tlet temp: number = startAngle;\n\t\tstartAngle = endAngle;\n\t\tendAngle = temp;\n\t}\n\n\tvalue = normalizeAngle(value);\n\n\tlet count = (startAngle - normalizeAngle(startAngle)) / 360;\n\n\tif (value < startAngle) {\n\t\tvalue += 360 * (count + 1);\n\t}\n\n\tlet maxEnd: number = startAngle + (endAngle - startAngle) / 2 + 180;\n\tlet maxStart: number = startAngle + (endAngle - startAngle) / 2 - 180;\n\n\tif (value > endAngle) {\n\n\t\tif (value - 360 > startAngle) {\n\t\t\tvalue -= 360;\n\t\t}\n\t\telse {\n\t\t\tif (value < maxEnd) {\n\t\t\t\tvalue = endAngle;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tvalue = startAngle;\n\t\t\t}\n\t\t}\n\t}\n\n\tif (value < startAngle) {\n\t\tif (value > maxStart) {\n\t\t\tvalue = startAngle;\n\t\t}\n\t\telse {\n\t\t\tvalue = endAngle;\n\t\t}\n\t}\n\n\treturn value;\n}\n\nexport function inBounds(point: IPoint, bounds: IBounds) {\n\tif (point.x >= bounds.left && point.y >= bounds.top && point.x <= bounds.right && point.y <= bounds.bottom) {\n\t\treturn true;\n\t}\n\treturn false;\n}\n\nexport function getAngle(point1: IPoint, point2?: IPoint): number {\n\tif (!point2) {\n\t\tpoint2 = { x: point1.x * 2, y: point1.y * 2 };\n\t}\n\tlet diffX: number = point2.x - point1.x;\n\tlet diffY: number = point2.y - point1.y;\n\tlet angle: number = Math.atan2(diffY, diffX) * DEGREES;\n\tif (angle < 0) {\n\t\tangle += 360;\n\t}\n\treturn normalizeAngle(angle);\n}\n\n/**\n * [getPointOnQuadraticCurve description]\n *\n * @ignore Exclude from docs\n * @todo Description\n * @param pointA [description]\n * @param pointB [description]\n * @param controlPoint [description]\n * @param position [description]\n * @return [description]\n */\nexport function getPointOnQuadraticCurve(pointA: IPoint, pointB: IPoint, controlPoint: IPoint, position: number): IPoint {\n\tlet x: number = (1 - position) * (1 - position) * pointA.x + 2 * (1 - position) * position * controlPoint.x + position * position * pointB.x;\n\tlet y: number = (1 - position) * (1 - position) * pointA.y + 2 * (1 - position) * position * controlPoint.y + position * position * pointB.y;\n\treturn { x: x, y: y };\n}\n\nexport function getPointOnLine(pointA: IPoint, pointB: IPoint, position: number): IPoint {\n\treturn { x: pointA.x + (pointB.x - pointA.x) * position, y: pointA.y + (pointB.y - pointA.y) * position };\n}\n\n\n/**\n * Returns the closest value from the array of values to the reference value.\n *\n * @param values Array of values\n * @param value Reference value\n * @return Closes value from the array\n */\nexport function closest(values: number[], referenceValue: number): number {\n\treturn values.reduce(function (prev, curr) {\n\t\treturn (Math.abs(curr - referenceValue) < Math.abs(prev - referenceValue) ? curr : prev);\n\t});\n}\n\n/**\n * Returns true if bounds overlap\n * @param bounds1 IBounds\n * @param bounds2 IBounds\n * @returns boolean\n */\nexport function boundsOverlap(bounds1: IBounds, bounds2: IBounds): boolean {\n\treturn !(bounds1.bottom < bounds2.top || bounds2.bottom < bounds1.top || bounds1.right < bounds2.left || bounds2.right < bounds1.left);\n}\n\n/**\n * Generates points of a spiral\n * @param cx \n * @param cy \n * @param radius \n * @param radiusY \n * @param innerRadius \n * @param step \n * @param radiusStep \n * @param startAngle \n * @param endAngle \n * @returns IPoint[]\n */\nexport function spiralPoints(cx: number, cy: number, radius: number, radiusY: number, innerRadius: number, step: number, radiusStep: number, startAngle: number, endAngle: number): IPoint[] {\n\n\tlet r = innerRadius + 0.01;\n\tlet angle = startAngle * RADIANS;\n\tlet points = [];\n\n\twhile (r < radius + radiusStep) {\n\n\t\tlet stepSize = step;\n\t\tif (stepSize / 2 > r) {\n\t\t\tstepSize = 2 * r;\n\t\t}\n\n\t\tangle += 2 * Math.asin(stepSize / 2 / r);\n\n\t\tif (angle * DEGREES > endAngle + ((radius - innerRadius) / radiusStep) * 360) {\n\t\t\tbreak;\n\t\t}\n\n\t\tlet degrees = angle * DEGREES;\n\n\t\tlet point = { x: cx + r * Math.cos(angle), y: cy + r * radiusY / radius * Math.sin(angle) };\n\t\tpoints.push(point);\n\n\t\tr = innerRadius + degrees / 360 * radiusStep;\n\t}\n\n\tpoints.shift();\n\n\treturn points;\n}\n\n/**\n * Returns true if circles overlap\n * @param circle1\n * @param circle2 \n * @returns boolean\n */\nexport function circlesOverlap(circle1: { x: number, y: number, radius: number }, circle2: { x: number, y: number, radius: number }): boolean {\n\treturn Math.hypot(circle1.x - circle2.x, circle1.y - circle2.y) <= circle1.radius + circle2.radius;\n}"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Time.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/util/Time.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,oBAAY,QAAQ,GAAG,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAExG,MAAM,WAAW,aAAa;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACd;AAGD;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI/C;AAGD;;;;GAIG;AACH,eAAO,IAAI,iBAAiB,EAAE;KAAG,GAAG,IAAI,QAAQ,GAAG,MAAM;CASxD,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAyBhE;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAKlE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,GAAG,SAAS,UAKtE;AAGD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,UAYxI;AAED;;;;GAIG;AACH,wBAAgB,GAAG,IAAI,IAAI,CAE1B;AAED;;;;GAIG;AACH,wBAAgB,OAAO,IAAI,MAAM,CAEhC;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAErC;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAwFzH;AAED;;;;;;;GAOG;AACH,wBAAgB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAgFvG;AAGD;;;;;;;;;;;;GAYG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"Time.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/util/Time.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,oBAAY,QAAQ,GAAG,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;AAExG,MAAM,WAAW,aAAa;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACd;AAGD;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAI/C;AAGD;;;;GAIG;AACH,eAAO,IAAI,iBAAiB,EAAE;KAAG,GAAG,IAAI,QAAQ,GAAG,MAAM;CASxD,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAyBhE;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAKlE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,aAAa,GAAG,SAAS,UAKtE;AAGD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,UAYxI;AAED;;;;GAIG;AACH,wBAAgB,GAAG,IAAI,IAAI,CAE1B;AAED;;;;GAIG;AACH,wBAAgB,OAAO,IAAI,MAAM,CAEhC;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAErC;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,CAwFzH;AAED;;;;;;;GAOG;AACH,wBAAgB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAgFvG;AAGD;;;;;;;;;;;;GAYG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,QAAQ,GAAG,IAAI,CAkQrJ;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,aAAa,CAuBjI;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,UAmBtD"}
|
|
@@ -404,6 +404,7 @@ export function round(date, unit, count, firstDateOfWeek, utc, firstDate, timezo
|
|
|
404
404
|
let second = parsedDate.second;
|
|
405
405
|
let millisecond = parsedDate.millisecond;
|
|
406
406
|
let weekday = parsedDate.weekday;
|
|
407
|
+
let offsetDif = tzoffset - timeZoneOffset;
|
|
407
408
|
switch (unit) {
|
|
408
409
|
case "day":
|
|
409
410
|
if (count > 1 && firstDate) {
|
|
@@ -418,19 +419,19 @@ export function round(date, unit, count, firstDateOfWeek, utc, firstDate, timezo
|
|
|
418
419
|
day = parsedDate.day;
|
|
419
420
|
}
|
|
420
421
|
hour = 0;
|
|
421
|
-
minute =
|
|
422
|
+
minute = offsetDif;
|
|
422
423
|
second = 0;
|
|
423
424
|
millisecond = 0;
|
|
424
425
|
break;
|
|
425
426
|
case "second":
|
|
426
|
-
minute +=
|
|
427
|
+
minute += offsetDif;
|
|
427
428
|
if (count > 1) {
|
|
428
429
|
second = Math.floor(second / count) * count;
|
|
429
430
|
}
|
|
430
431
|
millisecond = 0;
|
|
431
432
|
break;
|
|
432
433
|
case "millisecond":
|
|
433
|
-
minute +=
|
|
434
|
+
minute += offsetDif;
|
|
434
435
|
if (count > 1) {
|
|
435
436
|
millisecond = Math.floor(millisecond / count) * count;
|
|
436
437
|
}
|
|
@@ -439,7 +440,7 @@ export function round(date, unit, count, firstDateOfWeek, utc, firstDate, timezo
|
|
|
439
440
|
if (count > 1) {
|
|
440
441
|
hour = Math.floor(hour / count) * count;
|
|
441
442
|
}
|
|
442
|
-
minute =
|
|
443
|
+
minute = offsetDif;
|
|
443
444
|
second = 0;
|
|
444
445
|
millisecond = 0;
|
|
445
446
|
break;
|
|
@@ -447,7 +448,7 @@ export function round(date, unit, count, firstDateOfWeek, utc, firstDate, timezo
|
|
|
447
448
|
if (count > 1) {
|
|
448
449
|
minute = Math.floor(minute / count) * count;
|
|
449
450
|
}
|
|
450
|
-
minute +=
|
|
451
|
+
minute += offsetDif;
|
|
451
452
|
second = 0;
|
|
452
453
|
millisecond = 0;
|
|
453
454
|
break;
|
|
@@ -457,7 +458,7 @@ export function round(date, unit, count, firstDateOfWeek, utc, firstDate, timezo
|
|
|
457
458
|
}
|
|
458
459
|
day = 1;
|
|
459
460
|
hour = 0;
|
|
460
|
-
minute =
|
|
461
|
+
minute = offsetDif;
|
|
461
462
|
second = 0;
|
|
462
463
|
millisecond = 0;
|
|
463
464
|
break;
|
|
@@ -468,7 +469,7 @@ export function round(date, unit, count, firstDateOfWeek, utc, firstDate, timezo
|
|
|
468
469
|
month = 0;
|
|
469
470
|
day = 1;
|
|
470
471
|
hour = 0;
|
|
471
|
-
minute =
|
|
472
|
+
minute = offsetDif;
|
|
472
473
|
second = 0;
|
|
473
474
|
millisecond = 0;
|
|
474
475
|
break;
|
|
@@ -483,15 +484,17 @@ export function round(date, unit, count, firstDateOfWeek, utc, firstDate, timezo
|
|
|
483
484
|
day = day - (7 + weekday) + firstDateOfWeek;
|
|
484
485
|
}
|
|
485
486
|
hour = 0;
|
|
486
|
-
minute =
|
|
487
|
+
minute = offsetDif;
|
|
487
488
|
second = 0;
|
|
488
489
|
millisecond = 0;
|
|
489
490
|
break;
|
|
490
491
|
}
|
|
491
492
|
date = new Date(year, month, day, hour, minute, second, millisecond);
|
|
492
|
-
let
|
|
493
|
-
|
|
494
|
-
|
|
493
|
+
let newTimeZoneOffset = date.getTimezoneOffset();
|
|
494
|
+
let newTzoffset = timezone.offsetUTC(date);
|
|
495
|
+
let newDiff = newTzoffset - newTimeZoneOffset;
|
|
496
|
+
if (newDiff != offsetDif) {
|
|
497
|
+
date.setTime(date.getTime() + (newDiff - offsetDif) * 60000);
|
|
495
498
|
}
|
|
496
499
|
return date;
|
|
497
500
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Time.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/Time.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * ============================================================================\n * IMPORTS\n * ============================================================================\n * @hidden\n */\nimport * as $type from \"./Type\";\nimport * as $utils from \"./Utils\";\nimport type { Timezone } from \"./Timezone\";\n\nexport type TimeUnit = \"millisecond\" | \"second\" | \"minute\" | \"hour\" | \"day\" | \"week\" | \"month\" | \"year\";\n\nexport interface ITimeInterval {\n\ttimeUnit: TimeUnit;\n\tcount: number;\n}\n\n\n/**\n * Returns a `Promise` which can be used to execute code after number of\n * milliseconds.\n *\n * @param ms Sleep duration in ms\n * @return Promise\n */\nexport function sleep(ms: number): Promise<void> {\n\treturn new Promise((resolve, _reject) => {\n\t\tsetTimeout(resolve, ms);\n\t});\n}\n\n\n/**\n * Maps time period names to their numeric representations in milliseconds.\n *\n * @ignore Exclude from docs\n */\nexport let timeUnitDurations: { [Key in TimeUnit]: number } = {\n\tmillisecond: 1,\n\tsecond: 1000,\n\tminute: 60000,\n\thour: 3600000,\n\tday: 86400000,\n\tweek: 604800000,\n\tmonth: 365.242 / 12 * 86400000,\n\tyear: 31536000000\n};\n\n/**\n * Returns the next time unit that goes after source `unit`.\n *\n * E.g. \"hour\" is the next unit after \"minute\", etc.\n *\n * @ignore Exclude from docs\n * @param unit Source time unit\n * @return Next time unit\n */\nexport function getNextUnit(unit: TimeUnit): TimeUnit | undefined {\n\tswitch (unit) {\n\t\tcase \"year\":\n\t\t\treturn;\n\t\tcase \"month\":\n\t\t\treturn \"year\";\n\n\t\tcase \"week\":\n\t\t\treturn \"month\";\n\n\t\tcase \"day\":\n\t\t\treturn \"month\"; // not a mistake\n\n\t\tcase \"hour\":\n\t\t\treturn \"day\";\n\n\t\tcase \"minute\":\n\t\t\treturn \"hour\";\n\n\t\tcase \"second\":\n\t\t\treturn \"minute\"\n\n\t\tcase \"millisecond\":\n\t\t\treturn \"second\";\n\t}\n}\n\n/**\n * Returns number of milliseconds in the `count` of time `unit`.\n *\n * Available units: \"millisecond\", \"second\", \"minute\", \"hour\", \"day\", \"week\",\n * \"month\", and \"year\".\n *\n * @param unit Time unit\n * @param count Number of units\n * @return Milliseconds\n */\nexport function getDuration(unit: TimeUnit, count?: number): number {\n\tif (count == null) {\n\t\tcount = 1;\n\t}\n\treturn timeUnitDurations[unit] * count;\n}\n\n/**\n * @ignore\n */\nexport function getIntervalDuration(interval: ITimeInterval | undefined) {\n\tif (interval) {\n\t\treturn timeUnitDurations[interval.timeUnit] * interval.count;\n\t}\n\treturn 0;\n}\n\n\nexport function getDateIntervalDuration(interval: ITimeInterval, date: Date, firstDateOfWeek?: number, utc?: boolean, timezone?: Timezone) {\n\tconst unit = interval.timeUnit;\n\tconst count = interval.count;\n\tif (unit == \"hour\" || unit == \"minute\" || unit == \"second\" || unit == \"millisecond\") {\n\t\treturn timeUnitDurations[interval.timeUnit] * interval.count;\n\t}\n\telse {\n\t\tconst firstTime = round(new Date(date.getTime()), unit, count, firstDateOfWeek, utc, undefined, timezone).getTime();\n\t\tlet lastTime = firstTime + count * getDuration(unit) * 1.05;\n\t\tlastTime = round(new Date(lastTime), unit, 1, firstDateOfWeek, utc, undefined, timezone).getTime();\n\t\treturn lastTime - firstTime;\n\t}\n}\n\n/**\n * Returns current `Date` object.\n *\n * @return Current date\n */\nexport function now(): Date {\n\treturn new Date();\n}\n\n/**\n * Returns current timestamp.\n *\n * @return Current timestamp\n */\nexport function getTime(): number {\n\treturn now().getTime();\n}\n\n/**\n * Returns a copy of the `Date` object.\n *\n * @param date Source date\n * @return Copy\n */\nexport function copy(date: Date): Date {\n\treturn new Date(date.getTime()); // todo: check if this is ok. new Date(date) used to strip milliseconds on FF in v3\n}\n\n/**\n * Checks if the `unit` part of two `Date` objects do not match. Two dates\n * represent a \"range\" of time, rather the same time date.\n *\n * @param timeOne timestamp\n * @param timeTwo timestamp\n * @param unit Time unit to check\n * @return Range?\n */\nexport function checkChange(timeOne: number, timeTwo: number, unit: TimeUnit, utc?: boolean, timezone?: Timezone): boolean {\n\t// quick\n\tif ((timeTwo - timeOne) > getDuration(unit, 1.2)) {\n\t\treturn true;\n\t}\n\n\tlet dateOne = new Date(timeOne);\n\tlet dateTwo = new Date(timeTwo);\n\n\tif (timezone) {\n\t\tdateOne = timezone.convertLocal(dateOne);\n\t\tdateTwo = timezone.convertLocal(dateTwo);\n\t}\n\n\tlet timeZoneOffset1 = 0;\n\tlet timeZoneOffset2 = 0;\n\n\tif (!utc && unit != \"millisecond\") {\n\t\ttimeZoneOffset1 = dateOne.getTimezoneOffset();\n\t\tdateOne.setUTCMinutes(dateOne.getUTCMinutes() - timeZoneOffset1);\n\n\t\ttimeZoneOffset2 = dateTwo.getTimezoneOffset();\n\t\tdateTwo.setUTCMinutes(dateTwo.getUTCMinutes() - timeZoneOffset2);\n\t}\n\n\tlet changed = false;\n\tswitch (unit) {\n\t\tcase \"year\":\n\t\t\tif (dateOne.getUTCFullYear() != dateTwo.getUTCFullYear()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase \"month\":\n\t\t\tif (dateOne.getUTCFullYear() != dateTwo.getUTCFullYear()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t\telse if (dateOne.getUTCMonth() != dateTwo.getUTCMonth()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase \"day\":\n\t\t\tif (dateOne.getUTCMonth() != dateTwo.getUTCMonth()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t\telse if (dateOne.getUTCDate() != dateTwo.getUTCDate()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\n\t\t\tbreak;\n\n\t\tcase \"hour\":\n\t\t\tif (dateOne.getUTCHours() != dateTwo.getUTCHours()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase \"minute\":\n\t\t\tif (dateOne.getUTCMinutes() != dateTwo.getUTCMinutes()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\n\t\t\tbreak;\n\n\t\tcase \"second\":\n\t\t\tif (dateOne.getUTCSeconds() != dateTwo.getUTCSeconds()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase \"millisecond\":\n\t\t\tif (dateOne.getTime() != dateTwo.getTime()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t\tbreak;\n\t}\n\n\tif (changed) {\n\t\treturn changed;\n\t}\n\n\tlet nextUnit = getNextUnit(unit);\n\tif (nextUnit) {\n\t\treturn checkChange(timeOne, timeTwo, nextUnit, utc, timezone);\n\t}\n\telse {\n\t\treturn false;\n\t}\n}\n\n/**\n * Adds `count` of time `unit` to the source date. Returns a modified `Date` object.\n *\n * @param date Source date\n * @param unit Time unit\n * @param count Number of units to add\n * @return Modified date\n */\nexport function add(date: Date, unit: TimeUnit, count: number, utc?: boolean, timezone?: Timezone): Date {\n\tlet timeZoneOffset = 0;\n\n\tif (!utc && unit != \"millisecond\") {\n\t\ttimeZoneOffset = date.getTimezoneOffset();\n\n\t\tif (timezone) {\n\t\t\ttimeZoneOffset -= timezone.offsetUTC(date);\n\t\t}\n\n\t\tdate.setUTCMinutes(date.getUTCMinutes() - timeZoneOffset);\n\t}\n\n\n\tswitch (unit) {\n\t\tcase \"day\":\n\t\t\tlet day: number = date.getUTCDate();\n\t\t\tdate.setUTCDate(day + count);\n\t\t\tbreak;\n\n\t\tcase \"second\":\n\t\t\tlet seconds: number = date.getUTCSeconds();\n\t\t\tdate.setUTCSeconds(seconds + count);\n\t\t\tbreak;\n\n\t\tcase \"millisecond\":\n\t\t\tlet milliseconds: number = date.getUTCMilliseconds();\n\t\t\tdate.setUTCMilliseconds(milliseconds + count);\n\t\t\tbreak;\n\n\t\tcase \"hour\":\n\t\t\tlet hours: number = date.getUTCHours();\n\t\t\tdate.setUTCHours(hours + count);\n\t\t\tbreak;\n\n\t\tcase \"minute\":\n\t\t\tlet minutes: number = date.getUTCMinutes();\n\t\t\tdate.setUTCMinutes(minutes + count);\n\t\t\tbreak;\n\n\t\tcase \"year\":\n\t\t\tlet year: number = date.getUTCFullYear();\n\t\t\tdate.setUTCFullYear(year + count);\n\t\t\tbreak;\n\n\t\tcase \"month\":\n\t\t\tlet month: number = date.getUTCMonth();\n\t\t\tdate.setUTCMonth(month + count);\n\t\t\tbreak;\n\n\t\tcase \"week\":\n\t\t\tlet wday: number = date.getUTCDate();\n\t\t\tdate.setUTCDate(wday + count * 7);\n\t\t\tbreak;\n\t}\n\n\n\tif (!utc && unit != \"millisecond\") {\n\t\tdate.setUTCMinutes(date.getUTCMinutes() + timeZoneOffset);\n\t\tif (unit == \"day\" || unit == \"week\" || unit == \"month\" || unit == \"year\") {\n\n\t\t\tlet newTimeZoneOffset = date.getTimezoneOffset();\n\n\t\t\tif (timezone) {\n\t\t\t\tnewTimeZoneOffset += timezone.offsetUTC(date);\n\t\t\t}\n\n\t\t\tif (newTimeZoneOffset != timeZoneOffset) {\n\t\t\t\tlet diff = newTimeZoneOffset - timeZoneOffset;\n\t\t\t\tdate.setUTCMinutes(date.getUTCMinutes() + diff);\n\n\t\t\t\t// solves issues if new time falls back to old time zone\n\t\t\t\tif (date.getTimezoneOffset() != newTimeZoneOffset) {\n\t\t\t\t\tdate.setUTCMinutes(date.getUTCMinutes() - diff);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn date;\n}\n\n\n/**\n * \"Rounds\" the date to specific time unit.\n *\n * @param date Source date\n * @param unit Time unit\n * @param count Number of units to round to\n * @param firstDateOfWeek First day of week\n * @param utc Use UTC timezone\n * @param firstDate First date to round to\n * @param roundMinutes Minutes to round to (some timezones use non-whole hour)\n * @param timezone Use specific named timezone when rounding\n * @return New date\n */\nexport function round(date: Date, unit: TimeUnit, count: number, firstDateOfWeek?: number, utc?: boolean, firstDate?: Date, timezone?: Timezone): Date {\n\tif (!timezone || utc) {\n\n\t\tlet timeZoneOffset = 0;\n\n\t\tif (!utc && unit != \"millisecond\") {\n\t\t\ttimeZoneOffset = date.getTimezoneOffset();\n\t\t\tdate.setUTCMinutes(date.getUTCMinutes() - timeZoneOffset);\n\t\t}\n\n\t\tswitch (unit) {\n\n\t\t\tcase \"day\":\n\t\t\t\tlet day = date.getUTCDate();\n\n\t\t\t\tif (count > 1) {\n\t\t\t\t\t//\tday = Math.floor(day / count) * count;\n\t\t\t\t\tif (firstDate) {\n\t\t\t\t\t\tfirstDate = round(firstDate, \"day\", 1);\n\n\t\t\t\t\t\tlet difference = date.getTime() - firstDate.getTime();\n\t\t\t\t\t\tlet unitCount = Math.floor(difference / getDuration(\"day\") / count);\n\t\t\t\t\t\tlet duration = getDuration(\"day\", unitCount * count);\n\t\t\t\t\t\tdate.setTime(firstDate.getTime() + duration - timeZoneOffset * getDuration(\"minute\"));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tdate.setUTCDate(day);\n\t\t\t\t}\n\t\t\t\tdate.setUTCHours(0, 0, 0, 0);\n\n\t\t\t\tbreak;\n\n\t\t\tcase \"second\":\n\t\t\t\tlet seconds = date.getUTCSeconds();\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tseconds = Math.floor(seconds / count) * count;\n\t\t\t\t}\n\t\t\t\tdate.setUTCSeconds(seconds, 0);\n\t\t\t\tbreak;\n\n\t\t\tcase \"millisecond\":\n\t\t\t\tif (count == 1) {\n\t\t\t\t\treturn date; // much better for perf!\n\t\t\t\t}\n\n\t\t\t\tlet milliseconds = date.getUTCMilliseconds();\n\t\t\t\tmilliseconds = Math.floor(milliseconds / count) * count;\n\t\t\t\tdate.setUTCMilliseconds(milliseconds);\n\t\t\t\tbreak;\n\n\t\t\tcase \"hour\":\n\n\t\t\t\tlet hours = date.getUTCHours();\n\t\t\t\tif (count > 1) {\n\t\t\t\t\thours = Math.floor(hours / count) * count;\n\t\t\t\t}\n\t\t\t\tdate.setUTCHours(hours, 0, 0, 0);\n\n\t\t\t\tbreak;\n\n\t\t\tcase \"minute\":\n\n\t\t\t\tlet minutes = date.getUTCMinutes();\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tminutes = Math.floor(minutes / count) * count;\n\t\t\t\t}\n\n\t\t\t\tdate.setUTCMinutes(minutes, 0, 0);\n\n\t\t\t\tbreak;\n\n\t\t\tcase \"month\":\n\n\t\t\t\tlet month = date.getUTCMonth();\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tmonth = Math.floor(month / count) * count;\n\t\t\t\t}\n\n\t\t\t\tdate.setUTCMonth(month, 1);\n\t\t\t\tdate.setUTCHours(0, 0, 0, 0);\n\n\t\t\t\tbreak;\n\n\t\t\tcase \"year\":\n\n\t\t\t\tlet year = date.getUTCFullYear();\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tyear = Math.floor(year / count) * count;\n\t\t\t\t}\n\t\t\t\tdate.setUTCFullYear(year, 0, 1);\n\t\t\t\tdate.setUTCHours(0, 0, 0, 0);\n\t\t\t\tbreak;\n\n\t\t\tcase \"week\":\n\n\t\t\t\tlet wday = date.getUTCDate();\n\t\t\t\tlet weekDay = date.getUTCDay();\n\n\t\t\t\tif (!$type.isNumber(firstDateOfWeek)) {\n\t\t\t\t\tfirstDateOfWeek = 1;\n\t\t\t\t}\n\n\t\t\t\tif (weekDay >= firstDateOfWeek) {\n\t\t\t\t\twday = wday - weekDay + firstDateOfWeek;\n\t\t\t\t} else {\n\t\t\t\t\twday = wday - (7 + weekDay) + firstDateOfWeek;\n\t\t\t\t}\n\n\t\t\t\tdate.setUTCDate(wday);\n\t\t\t\tdate.setUTCHours(0, 0, 0, 0);\n\n\t\t\t\tbreak;\n\t\t}\n\t\tif (!utc && unit != \"millisecond\") {\n\t\t\tdate.setUTCMinutes(date.getUTCMinutes() + timeZoneOffset);\n\n\t\t\tif (unit == \"day\" || unit == \"week\" || unit == \"month\" || unit == \"year\") {\n\t\t\t\tlet newTimeZoneOffset = date.getTimezoneOffset();\n\t\t\t\tif (newTimeZoneOffset != timeZoneOffset) {\n\t\t\t\t\tlet diff = newTimeZoneOffset - timeZoneOffset;\n\n\t\t\t\t\tdate.setUTCMinutes(date.getUTCMinutes() + diff);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn date;\n\t}\n\telse {\n\t\tif (isNaN(date.getTime())) {\n\t\t\treturn date;\n\t\t}\n\t\tlet tzoffset = timezone.offsetUTC(date);\n\t\tlet timeZoneOffset = date.getTimezoneOffset();\n\t\tlet parsedDate = timezone.parseDate(date);\n\t\tlet year = parsedDate.year;\n\t\tlet month = parsedDate.month;\n\t\tlet day = parsedDate.day;\n\t\tlet hour = parsedDate.hour;\n\t\tlet minute = parsedDate.minute;\n\t\tlet second = parsedDate.second;\n\t\tlet millisecond = parsedDate.millisecond;\n\t\tlet weekday = parsedDate.weekday;\n\n\t\tswitch (unit) {\n\n\t\t\tcase \"day\":\n\t\t\t\tif (count > 1 && firstDate) {\n\t\t\t\t\tfirstDate = round(firstDate, \"day\", 1, firstDateOfWeek, utc, undefined, timezone);\n\t\t\t\t\tlet difference = date.getTime() - firstDate.getTime();\n\t\t\t\t\tlet unitCount = Math.floor(difference / getDuration(\"day\") / count);\n\t\t\t\t\tlet duration = getDuration(\"day\", unitCount * count);\n\t\t\t\t\tdate.setTime(firstDate.getTime() + duration);\n\n\t\t\t\t\tparsedDate = timezone.parseDate(date);\n\n\t\t\t\t\tyear = parsedDate.year;\n\t\t\t\t\tmonth = parsedDate.month;\n\t\t\t\t\tday = parsedDate.day;\n\t\t\t\t}\n\n\t\t\t\thour = 0;\n\t\t\t\tminute = tzoffset - timeZoneOffset;\n\n\t\t\t\tsecond = 0;\n\t\t\t\tmillisecond = 0;\n\n\t\t\t\tbreak;\n\n\t\t\tcase \"second\":\n\t\t\t\tminute += tzoffset - timeZoneOffset;\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tsecond = Math.floor(second / count) * count;\n\t\t\t\t}\n\t\t\t\tmillisecond = 0;\n\t\t\t\tbreak;\n\n\t\t\tcase \"millisecond\":\n\t\t\t\tminute += tzoffset - timeZoneOffset;\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tmillisecond = Math.floor(millisecond / count) * count;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase \"hour\":\n\t\t\t\tif (count > 1) {\n\t\t\t\t\thour = Math.floor(hour / count) * count;\n\t\t\t\t}\n\t\t\t\tminute = tzoffset - timeZoneOffset;\n\t\t\t\tsecond = 0;\n\t\t\t\tmillisecond = 0;\n\t\t\t\tbreak;\n\n\t\t\tcase \"minute\":\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tminute = Math.floor(minute / count) * count;\n\t\t\t\t}\n\t\t\t\tminute += tzoffset - timeZoneOffset;\n\t\t\t\tsecond = 0;\n\t\t\t\tmillisecond = 0;\n\t\t\t\tbreak;\n\n\t\t\tcase \"month\":\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tmonth = Math.floor(month / count) * count;\n\t\t\t\t}\n\t\t\t\tday = 1;\n\t\t\t\thour = 0;\n\t\t\t\tminute = tzoffset - timeZoneOffset;\n\t\t\t\tsecond = 0;\n\t\t\t\tmillisecond = 0;\n\n\t\t\t\tbreak;\n\n\t\t\tcase \"year\":\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tyear = Math.floor(year / count) * count;\n\t\t\t\t}\n\t\t\t\tmonth = 0;\n\t\t\t\tday = 1;\n\t\t\t\thour = 0;\n\t\t\t\tminute = tzoffset - timeZoneOffset;\n\t\t\t\tsecond = 0;\n\t\t\t\tmillisecond = 0;\n\t\t\t\tbreak;\n\n\t\t\tcase \"week\":\n\t\t\t\tif (!$type.isNumber(firstDateOfWeek)) {\n\t\t\t\t\tfirstDateOfWeek = 1;\n\t\t\t\t}\n\n\t\t\t\tif (weekday >= firstDateOfWeek) {\n\t\t\t\t\tday = day - weekday + firstDateOfWeek;\n\t\t\t\t} else {\n\t\t\t\t\tday = day - (7 + weekday) + firstDateOfWeek;\n\t\t\t\t}\n\n\t\t\t\thour = 0;\n\t\t\t\tminute = tzoffset - timeZoneOffset;\n\t\t\t\tsecond = 0;\n\t\t\t\tmillisecond = 0;\n\t\t\t\tbreak;\n\t\t}\n\n\t\tdate = new Date(year, month, day, hour, minute, second, millisecond);\n\n\t\tlet newOffset = date.getTimezoneOffset();\n\t\tif (newOffset != timeZoneOffset) {\n\t\t\tdate.setTime(date.getTime() + (timeZoneOffset - newOffset) * 60000);\n\t\t}\n\n\t\treturn date;\n\t}\n}\n\n/**\n * @ignore\n */\nexport function chooseInterval(index: number, duration: number, gridCount: number, intervals: Array<ITimeInterval>): ITimeInterval {\n\tlet gridInterval: ITimeInterval = intervals[index];\n\tlet intervalDuration = getIntervalDuration(gridInterval);\n\n\tlet lastIndex = intervals.length - 1;\n\tif (index >= lastIndex) {\n\t\treturn { ...intervals[lastIndex] };\n\t}\n\n\tlet count = Math.ceil(duration / intervalDuration);\n\n\tif (duration < intervalDuration && index > 0) {\n\t\treturn { ...intervals[index - 1] };\n\t}\n\tif (count <= gridCount) {\n\t\treturn { ...intervals[index] };\n\t} else {\n\t\tif (index + 1 < intervals.length) {\n\t\t\treturn chooseInterval(index + 1, duration, gridCount, intervals);\n\t\t} else {\n\t\t\treturn { ...intervals[index] };\n\t\t}\n\t}\n}\n\n/**\n * @ignore\n */\nexport function getUnitValue(date: Date, unit: TimeUnit) {\n\tswitch (unit) {\n\t\tcase \"day\":\n\t\t\treturn date.getDate();\n\t\tcase \"second\":\n\t\t\treturn date.getSeconds();\n\t\tcase \"millisecond\":\n\t\t\treturn date.getMilliseconds();\n\t\tcase \"hour\":\n\t\t\treturn date.getHours();\n\t\tcase \"minute\":\n\t\t\treturn date.getMinutes();\n\t\tcase \"month\":\n\t\t\treturn date.getMonth();\n\t\tcase \"year\":\n\t\t\treturn date.getFullYear();\n\t\tcase \"week\":\n\t\t\treturn $utils.getWeek(date);\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Time.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/Time.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * ============================================================================\n * IMPORTS\n * ============================================================================\n * @hidden\n */\nimport * as $type from \"./Type\";\nimport * as $utils from \"./Utils\";\nimport type { Timezone } from \"./Timezone\";\n\nexport type TimeUnit = \"millisecond\" | \"second\" | \"minute\" | \"hour\" | \"day\" | \"week\" | \"month\" | \"year\";\n\nexport interface ITimeInterval {\n\ttimeUnit: TimeUnit;\n\tcount: number;\n}\n\n\n/**\n * Returns a `Promise` which can be used to execute code after number of\n * milliseconds.\n *\n * @param ms Sleep duration in ms\n * @return Promise\n */\nexport function sleep(ms: number): Promise<void> {\n\treturn new Promise((resolve, _reject) => {\n\t\tsetTimeout(resolve, ms);\n\t});\n}\n\n\n/**\n * Maps time period names to their numeric representations in milliseconds.\n *\n * @ignore Exclude from docs\n */\nexport let timeUnitDurations: { [Key in TimeUnit]: number } = {\n\tmillisecond: 1,\n\tsecond: 1000,\n\tminute: 60000,\n\thour: 3600000,\n\tday: 86400000,\n\tweek: 604800000,\n\tmonth: 365.242 / 12 * 86400000,\n\tyear: 31536000000\n};\n\n/**\n * Returns the next time unit that goes after source `unit`.\n *\n * E.g. \"hour\" is the next unit after \"minute\", etc.\n *\n * @ignore Exclude from docs\n * @param unit Source time unit\n * @return Next time unit\n */\nexport function getNextUnit(unit: TimeUnit): TimeUnit | undefined {\n\tswitch (unit) {\n\t\tcase \"year\":\n\t\t\treturn;\n\t\tcase \"month\":\n\t\t\treturn \"year\";\n\n\t\tcase \"week\":\n\t\t\treturn \"month\";\n\n\t\tcase \"day\":\n\t\t\treturn \"month\"; // not a mistake\n\n\t\tcase \"hour\":\n\t\t\treturn \"day\";\n\n\t\tcase \"minute\":\n\t\t\treturn \"hour\";\n\n\t\tcase \"second\":\n\t\t\treturn \"minute\"\n\n\t\tcase \"millisecond\":\n\t\t\treturn \"second\";\n\t}\n}\n\n/**\n * Returns number of milliseconds in the `count` of time `unit`.\n *\n * Available units: \"millisecond\", \"second\", \"minute\", \"hour\", \"day\", \"week\",\n * \"month\", and \"year\".\n *\n * @param unit Time unit\n * @param count Number of units\n * @return Milliseconds\n */\nexport function getDuration(unit: TimeUnit, count?: number): number {\n\tif (count == null) {\n\t\tcount = 1;\n\t}\n\treturn timeUnitDurations[unit] * count;\n}\n\n/**\n * @ignore\n */\nexport function getIntervalDuration(interval: ITimeInterval | undefined) {\n\tif (interval) {\n\t\treturn timeUnitDurations[interval.timeUnit] * interval.count;\n\t}\n\treturn 0;\n}\n\n\nexport function getDateIntervalDuration(interval: ITimeInterval, date: Date, firstDateOfWeek?: number, utc?: boolean, timezone?: Timezone) {\n\tconst unit = interval.timeUnit;\n\tconst count = interval.count;\n\tif (unit == \"hour\" || unit == \"minute\" || unit == \"second\" || unit == \"millisecond\") {\n\t\treturn timeUnitDurations[interval.timeUnit] * interval.count;\n\t}\n\telse {\n\t\tconst firstTime = round(new Date(date.getTime()), unit, count, firstDateOfWeek, utc, undefined, timezone).getTime();\n\t\tlet lastTime = firstTime + count * getDuration(unit) * 1.05;\n\t\tlastTime = round(new Date(lastTime), unit, 1, firstDateOfWeek, utc, undefined, timezone).getTime();\n\t\treturn lastTime - firstTime;\n\t}\n}\n\n/**\n * Returns current `Date` object.\n *\n * @return Current date\n */\nexport function now(): Date {\n\treturn new Date();\n}\n\n/**\n * Returns current timestamp.\n *\n * @return Current timestamp\n */\nexport function getTime(): number {\n\treturn now().getTime();\n}\n\n/**\n * Returns a copy of the `Date` object.\n *\n * @param date Source date\n * @return Copy\n */\nexport function copy(date: Date): Date {\n\treturn new Date(date.getTime()); // todo: check if this is ok. new Date(date) used to strip milliseconds on FF in v3\n}\n\n/**\n * Checks if the `unit` part of two `Date` objects do not match. Two dates\n * represent a \"range\" of time, rather the same time date.\n *\n * @param timeOne timestamp\n * @param timeTwo timestamp\n * @param unit Time unit to check\n * @return Range?\n */\nexport function checkChange(timeOne: number, timeTwo: number, unit: TimeUnit, utc?: boolean, timezone?: Timezone): boolean {\n\t// quick\n\tif ((timeTwo - timeOne) > getDuration(unit, 1.2)) {\n\t\treturn true;\n\t}\n\n\tlet dateOne = new Date(timeOne);\n\tlet dateTwo = new Date(timeTwo);\n\n\tif (timezone) {\n\t\tdateOne = timezone.convertLocal(dateOne);\n\t\tdateTwo = timezone.convertLocal(dateTwo);\n\t}\n\n\tlet timeZoneOffset1 = 0;\n\tlet timeZoneOffset2 = 0;\n\n\tif (!utc && unit != \"millisecond\") {\n\t\ttimeZoneOffset1 = dateOne.getTimezoneOffset();\n\t\tdateOne.setUTCMinutes(dateOne.getUTCMinutes() - timeZoneOffset1);\n\n\t\ttimeZoneOffset2 = dateTwo.getTimezoneOffset();\n\t\tdateTwo.setUTCMinutes(dateTwo.getUTCMinutes() - timeZoneOffset2);\n\t}\n\n\tlet changed = false;\n\tswitch (unit) {\n\t\tcase \"year\":\n\t\t\tif (dateOne.getUTCFullYear() != dateTwo.getUTCFullYear()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t\tbreak;\n\t\tcase \"month\":\n\t\t\tif (dateOne.getUTCFullYear() != dateTwo.getUTCFullYear()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t\telse if (dateOne.getUTCMonth() != dateTwo.getUTCMonth()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase \"day\":\n\t\t\tif (dateOne.getUTCMonth() != dateTwo.getUTCMonth()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t\telse if (dateOne.getUTCDate() != dateTwo.getUTCDate()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\n\t\t\tbreak;\n\n\t\tcase \"hour\":\n\t\t\tif (dateOne.getUTCHours() != dateTwo.getUTCHours()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase \"minute\":\n\t\t\tif (dateOne.getUTCMinutes() != dateTwo.getUTCMinutes()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\n\t\t\tbreak;\n\n\t\tcase \"second\":\n\t\t\tif (dateOne.getUTCSeconds() != dateTwo.getUTCSeconds()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t\tbreak;\n\n\t\tcase \"millisecond\":\n\t\t\tif (dateOne.getTime() != dateTwo.getTime()) {\n\t\t\t\tchanged = true;\n\t\t\t}\n\t\t\tbreak;\n\t}\n\n\tif (changed) {\n\t\treturn changed;\n\t}\n\n\tlet nextUnit = getNextUnit(unit);\n\tif (nextUnit) {\n\t\treturn checkChange(timeOne, timeTwo, nextUnit, utc, timezone);\n\t}\n\telse {\n\t\treturn false;\n\t}\n}\n\n/**\n * Adds `count` of time `unit` to the source date. Returns a modified `Date` object.\n *\n * @param date Source date\n * @param unit Time unit\n * @param count Number of units to add\n * @return Modified date\n */\nexport function add(date: Date, unit: TimeUnit, count: number, utc?: boolean, timezone?: Timezone): Date {\n\tlet timeZoneOffset = 0;\n\n\tif (!utc && unit != \"millisecond\") {\n\t\ttimeZoneOffset = date.getTimezoneOffset();\n\n\t\tif (timezone) {\n\t\t\ttimeZoneOffset -= timezone.offsetUTC(date);\n\t\t}\n\n\t\tdate.setUTCMinutes(date.getUTCMinutes() - timeZoneOffset);\n\t}\n\n\n\tswitch (unit) {\n\t\tcase \"day\":\n\t\t\tlet day: number = date.getUTCDate();\n\t\t\tdate.setUTCDate(day + count);\n\t\t\tbreak;\n\n\t\tcase \"second\":\n\t\t\tlet seconds: number = date.getUTCSeconds();\n\t\t\tdate.setUTCSeconds(seconds + count);\n\t\t\tbreak;\n\n\t\tcase \"millisecond\":\n\t\t\tlet milliseconds: number = date.getUTCMilliseconds();\n\t\t\tdate.setUTCMilliseconds(milliseconds + count);\n\t\t\tbreak;\n\n\t\tcase \"hour\":\n\t\t\tlet hours: number = date.getUTCHours();\n\t\t\tdate.setUTCHours(hours + count);\n\t\t\tbreak;\n\n\t\tcase \"minute\":\n\t\t\tlet minutes: number = date.getUTCMinutes();\n\t\t\tdate.setUTCMinutes(minutes + count);\n\t\t\tbreak;\n\n\t\tcase \"year\":\n\t\t\tlet year: number = date.getUTCFullYear();\n\t\t\tdate.setUTCFullYear(year + count);\n\t\t\tbreak;\n\n\t\tcase \"month\":\n\t\t\tlet month: number = date.getUTCMonth();\n\t\t\tdate.setUTCMonth(month + count);\n\t\t\tbreak;\n\n\t\tcase \"week\":\n\t\t\tlet wday: number = date.getUTCDate();\n\t\t\tdate.setUTCDate(wday + count * 7);\n\t\t\tbreak;\n\t}\n\n\n\tif (!utc && unit != \"millisecond\") {\n\t\tdate.setUTCMinutes(date.getUTCMinutes() + timeZoneOffset);\n\t\tif (unit == \"day\" || unit == \"week\" || unit == \"month\" || unit == \"year\") {\n\n\t\t\tlet newTimeZoneOffset = date.getTimezoneOffset();\n\n\t\t\tif (timezone) {\n\t\t\t\tnewTimeZoneOffset += timezone.offsetUTC(date);\n\t\t\t}\n\n\t\t\tif (newTimeZoneOffset != timeZoneOffset) {\n\t\t\t\tlet diff = newTimeZoneOffset - timeZoneOffset;\n\t\t\t\tdate.setUTCMinutes(date.getUTCMinutes() + diff);\n\n\t\t\t\t// solves issues if new time falls back to old time zone\n\t\t\t\tif (date.getTimezoneOffset() != newTimeZoneOffset) {\n\t\t\t\t\tdate.setUTCMinutes(date.getUTCMinutes() - diff);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn date;\n}\n\n\n/**\n * \"Rounds\" the date to specific time unit.\n *\n * @param date Source date\n * @param unit Time unit\n * @param count Number of units to round to\n * @param firstDateOfWeek First day of week\n * @param utc Use UTC timezone\n * @param firstDate First date to round to\n * @param roundMinutes Minutes to round to (some timezones use non-whole hour)\n * @param timezone Use specific named timezone when rounding\n * @return New date\n */\nexport function round(date: Date, unit: TimeUnit, count: number, firstDateOfWeek?: number, utc?: boolean, firstDate?: Date, timezone?: Timezone): Date {\n\tif (!timezone || utc) {\n\n\t\tlet timeZoneOffset = 0;\n\n\t\tif (!utc && unit != \"millisecond\") {\n\t\t\ttimeZoneOffset = date.getTimezoneOffset();\n\t\t\tdate.setUTCMinutes(date.getUTCMinutes() - timeZoneOffset);\n\t\t}\n\n\t\tswitch (unit) {\n\n\t\t\tcase \"day\":\n\t\t\t\tlet day = date.getUTCDate();\n\n\t\t\t\tif (count > 1) {\n\t\t\t\t\t//\tday = Math.floor(day / count) * count;\n\t\t\t\t\tif (firstDate) {\n\t\t\t\t\t\tfirstDate = round(firstDate, \"day\", 1);\n\n\t\t\t\t\t\tlet difference = date.getTime() - firstDate.getTime();\n\t\t\t\t\t\tlet unitCount = Math.floor(difference / getDuration(\"day\") / count);\n\t\t\t\t\t\tlet duration = getDuration(\"day\", unitCount * count);\n\t\t\t\t\t\tdate.setTime(firstDate.getTime() + duration - timeZoneOffset * getDuration(\"minute\"));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tdate.setUTCDate(day);\n\t\t\t\t}\n\t\t\t\tdate.setUTCHours(0, 0, 0, 0);\n\n\t\t\t\tbreak;\n\n\t\t\tcase \"second\":\n\t\t\t\tlet seconds = date.getUTCSeconds();\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tseconds = Math.floor(seconds / count) * count;\n\t\t\t\t}\n\t\t\t\tdate.setUTCSeconds(seconds, 0);\n\t\t\t\tbreak;\n\n\t\t\tcase \"millisecond\":\n\t\t\t\tif (count == 1) {\n\t\t\t\t\treturn date; // much better for perf!\n\t\t\t\t}\n\n\t\t\t\tlet milliseconds = date.getUTCMilliseconds();\n\t\t\t\tmilliseconds = Math.floor(milliseconds / count) * count;\n\t\t\t\tdate.setUTCMilliseconds(milliseconds);\n\t\t\t\tbreak;\n\n\t\t\tcase \"hour\":\n\n\t\t\t\tlet hours = date.getUTCHours();\n\t\t\t\tif (count > 1) {\n\t\t\t\t\thours = Math.floor(hours / count) * count;\n\t\t\t\t}\n\t\t\t\tdate.setUTCHours(hours, 0, 0, 0);\n\n\t\t\t\tbreak;\n\n\t\t\tcase \"minute\":\n\n\t\t\t\tlet minutes = date.getUTCMinutes();\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tminutes = Math.floor(minutes / count) * count;\n\t\t\t\t}\n\n\t\t\t\tdate.setUTCMinutes(minutes, 0, 0);\n\n\t\t\t\tbreak;\n\n\t\t\tcase \"month\":\n\n\t\t\t\tlet month = date.getUTCMonth();\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tmonth = Math.floor(month / count) * count;\n\t\t\t\t}\n\n\t\t\t\tdate.setUTCMonth(month, 1);\n\t\t\t\tdate.setUTCHours(0, 0, 0, 0);\n\n\t\t\t\tbreak;\n\n\t\t\tcase \"year\":\n\n\t\t\t\tlet year = date.getUTCFullYear();\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tyear = Math.floor(year / count) * count;\n\t\t\t\t}\n\t\t\t\tdate.setUTCFullYear(year, 0, 1);\n\t\t\t\tdate.setUTCHours(0, 0, 0, 0);\n\t\t\t\tbreak;\n\n\t\t\tcase \"week\":\n\n\t\t\t\tlet wday = date.getUTCDate();\n\t\t\t\tlet weekDay = date.getUTCDay();\n\n\t\t\t\tif (!$type.isNumber(firstDateOfWeek)) {\n\t\t\t\t\tfirstDateOfWeek = 1;\n\t\t\t\t}\n\n\t\t\t\tif (weekDay >= firstDateOfWeek) {\n\t\t\t\t\twday = wday - weekDay + firstDateOfWeek;\n\t\t\t\t} else {\n\t\t\t\t\twday = wday - (7 + weekDay) + firstDateOfWeek;\n\t\t\t\t}\n\n\t\t\t\tdate.setUTCDate(wday);\n\t\t\t\tdate.setUTCHours(0, 0, 0, 0);\n\n\t\t\t\tbreak;\n\t\t}\n\t\tif (!utc && unit != \"millisecond\") {\n\t\t\tdate.setUTCMinutes(date.getUTCMinutes() + timeZoneOffset);\n\n\t\t\tif (unit == \"day\" || unit == \"week\" || unit == \"month\" || unit == \"year\") {\n\t\t\t\tlet newTimeZoneOffset = date.getTimezoneOffset();\n\t\t\t\tif (newTimeZoneOffset != timeZoneOffset) {\n\t\t\t\t\tlet diff = newTimeZoneOffset - timeZoneOffset;\n\n\t\t\t\t\tdate.setUTCMinutes(date.getUTCMinutes() + diff);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn date;\n\t}\n\telse {\n\t\tif (isNaN(date.getTime())) {\n\t\t\treturn date;\n\t\t}\n\t\tlet tzoffset = timezone.offsetUTC(date);\n\t\tlet timeZoneOffset = date.getTimezoneOffset();\n\t\tlet parsedDate = timezone.parseDate(date);\n\t\tlet year = parsedDate.year;\n\t\tlet month = parsedDate.month;\n\t\tlet day = parsedDate.day;\n\t\tlet hour = parsedDate.hour;\n\t\tlet minute = parsedDate.minute;\n\t\tlet second = parsedDate.second;\n\t\tlet millisecond = parsedDate.millisecond;\n\t\tlet weekday = parsedDate.weekday;\n\n\t\tlet offsetDif = tzoffset - timeZoneOffset;\n\n\t\tswitch (unit) {\n\n\t\t\tcase \"day\":\n\t\t\t\tif (count > 1 && firstDate) {\n\t\t\t\t\tfirstDate = round(firstDate, \"day\", 1, firstDateOfWeek, utc, undefined, timezone);\n\t\t\t\t\tlet difference = date.getTime() - firstDate.getTime();\n\t\t\t\t\tlet unitCount = Math.floor(difference / getDuration(\"day\") / count);\n\t\t\t\t\tlet duration = getDuration(\"day\", unitCount * count);\n\t\t\t\t\tdate.setTime(firstDate.getTime() + duration);\n\n\t\t\t\t\tparsedDate = timezone.parseDate(date);\n\n\t\t\t\t\tyear = parsedDate.year;\n\t\t\t\t\tmonth = parsedDate.month;\n\t\t\t\t\tday = parsedDate.day;\n\t\t\t\t}\n\n\t\t\t\thour = 0;\n\t\t\t\tminute = offsetDif;\n\n\t\t\t\tsecond = 0;\n\t\t\t\tmillisecond = 0;\n\n\t\t\t\tbreak;\n\n\t\t\tcase \"second\":\n\t\t\t\tminute += offsetDif;\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tsecond = Math.floor(second / count) * count;\n\t\t\t\t}\n\t\t\t\tmillisecond = 0;\n\t\t\t\tbreak;\n\n\t\t\tcase \"millisecond\":\n\t\t\t\tminute += offsetDif;\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tmillisecond = Math.floor(millisecond / count) * count;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase \"hour\":\n\t\t\t\tif (count > 1) {\n\t\t\t\t\thour = Math.floor(hour / count) * count;\n\t\t\t\t}\n\t\t\t\tminute = offsetDif;\n\t\t\t\tsecond = 0;\n\t\t\t\tmillisecond = 0;\n\t\t\t\tbreak;\n\n\t\t\tcase \"minute\":\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tminute = Math.floor(minute / count) * count;\n\t\t\t\t}\n\t\t\t\tminute += offsetDif;\n\t\t\t\tsecond = 0;\n\t\t\t\tmillisecond = 0;\n\t\t\t\tbreak;\n\n\t\t\tcase \"month\":\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tmonth = Math.floor(month / count) * count;\n\t\t\t\t}\n\t\t\t\tday = 1;\n\t\t\t\thour = 0;\n\t\t\t\tminute = offsetDif;\t\t\t\t\n\t\t\t\tsecond = 0;\n\t\t\t\tmillisecond = 0;\n\t\t\t\tbreak;\n\n\t\t\tcase \"year\":\n\t\t\t\tif (count > 1) {\n\t\t\t\t\tyear = Math.floor(year / count) * count;\n\t\t\t\t}\n\t\t\t\tmonth = 0;\n\t\t\t\tday = 1;\n\t\t\t\thour = 0;\n\t\t\t\tminute = offsetDif;\n\t\t\t\tsecond = 0;\n\t\t\t\tmillisecond = 0;\n\t\t\t\tbreak;\n\n\t\t\tcase \"week\":\n\t\t\t\tif (!$type.isNumber(firstDateOfWeek)) {\n\t\t\t\t\tfirstDateOfWeek = 1;\n\t\t\t\t}\n\n\t\t\t\tif (weekday >= firstDateOfWeek) {\n\t\t\t\t\tday = day - weekday + firstDateOfWeek;\n\t\t\t\t} else {\n\t\t\t\t\tday = day - (7 + weekday) + firstDateOfWeek;\n\t\t\t\t}\n\n\t\t\t\thour = 0;\n\t\t\t\tminute = offsetDif;\n\t\t\t\tsecond = 0;\n\t\t\t\tmillisecond = 0;\n\t\t\t\tbreak;\n\t\t}\n\n\t\tdate = new Date(year, month, day, hour, minute, second, millisecond);\n\n\t\tlet newTimeZoneOffset = date.getTimezoneOffset();\n\t\tlet newTzoffset = timezone.offsetUTC(date);\n\t\tlet newDiff = newTzoffset - newTimeZoneOffset;\n\n\t\tif (newDiff != offsetDif) {\n\t\t\tdate.setTime(date.getTime() + (newDiff - offsetDif) * 60000);\n\t\t}\n\n\t\treturn date;\n\t}\n}\n\n/**\n * @ignore\n */\nexport function chooseInterval(index: number, duration: number, gridCount: number, intervals: Array<ITimeInterval>): ITimeInterval {\n\tlet gridInterval: ITimeInterval = intervals[index];\n\tlet intervalDuration = getIntervalDuration(gridInterval);\n\n\tlet lastIndex = intervals.length - 1;\n\tif (index >= lastIndex) {\n\t\treturn { ...intervals[lastIndex] };\n\t}\n\n\tlet count = Math.ceil(duration / intervalDuration);\n\n\tif (duration < intervalDuration && index > 0) {\n\t\treturn { ...intervals[index - 1] };\n\t}\n\tif (count <= gridCount) {\n\t\treturn { ...intervals[index] };\n\t} else {\n\t\tif (index + 1 < intervals.length) {\n\t\t\treturn chooseInterval(index + 1, duration, gridCount, intervals);\n\t\t} else {\n\t\t\treturn { ...intervals[index] };\n\t\t}\n\t}\n}\n\n/**\n * @ignore\n */\nexport function getUnitValue(date: Date, unit: TimeUnit) {\n\tswitch (unit) {\n\t\tcase \"day\":\n\t\t\treturn date.getDate();\n\t\tcase \"second\":\n\t\t\treturn date.getSeconds();\n\t\tcase \"millisecond\":\n\t\t\treturn date.getMilliseconds();\n\t\tcase \"hour\":\n\t\t\treturn date.getHours();\n\t\tcase \"minute\":\n\t\t\treturn date.getMinutes();\n\t\tcase \"month\":\n\t\t\treturn date.getMonth();\n\t\tcase \"year\":\n\t\t\treturn date.getFullYear();\n\t\tcase \"week\":\n\t\t\treturn $utils.getWeek(date);\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Json.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/plugins/json/Json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAkhBxD,MAAM,WAAW,cAAc;IAC9B,MAAM,CAAC,EAAE,SAAS,CAAC;CACnB;AAED;;;;;GAKG;AACH,qBAAa,UAAU;IACtB,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC;IAEtB;;;;;;;OAOG;gBACS,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO;IAQvC;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,OAAO,UAAU,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;IAI1F;;;;;OAKG;IACG,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAE,cAAmB,GAAG,OAAO,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"Json.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/plugins/json/Json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAkhBxD,MAAM,WAAW,cAAc;IAC9B,MAAM,CAAC,EAAE,SAAS,CAAC;CACnB;AAED;;;;;GAKG;AACH,qBAAa,UAAU;IACtB,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC;IAEtB;;;;;;;OAOG;gBACS,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO;IAQvC;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,OAAO,UAAU,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC;IAI1F;;;;;OAKG;IACG,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAE,cAAmB,GAAG,OAAO,CAAC,CAAC,CAAC;IAyBzF;;;;;OAKG;IACG,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,cAAmB,GAAG,OAAO,CAAC,CAAC,CAAC;CAG9F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Json.js","sourceRoot":"","sources":["../../../../../src/.internal/plugins/json/Json.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Root } from \"../../core/Root\";\n\nimport { Entity } from \"../../core/util/Entity\";\nimport { Sprite } from \"../../core/render/Sprite\";\nimport { Container } from \"../../core/render/Container\";\nimport { Color } from \"../../core/util/Color\";\nimport { Percent } from \"../../core/util/Percent\";\nimport { Template } from \"../../core/util/Template\";\n\nimport * as $type from \"../../core/util/Type\";\nimport * as $array from \"../../core/util/Array\";\nimport * as $object from \"../../core/util/Object\";\n\nimport type { IClasses } from \"./Classes\";\nimport classes from \"./Classes\";\n\n\ninterface IRef {\n\t[key: string]: any;\n}\n\n\nfunction isObject(value: any): value is { [key: string]: any } {\n\treturn $type.isObject(value);\n}\n\n\nfunction lookupRef(refs: Array<IRef>, name: string): any {\n\tlet i = refs.length;\n\n\twhile (i--) {\n\t\tconst sub = refs[i];\n\n\t\tif (name in sub) {\n\t\t\treturn sub[name];\n\t\t}\n\t}\n\n\tthrow new Error(\"Could not find ref \" + name);\n}\n\n\ninterface IAdapter<E extends Entity> {\n\tkey: keyof E[\"_settings\"],\n\tcallback: (value: E[\"_settings\"][this[\"key\"]], target: E, key: this[\"key\"]) => E[\"_settings\"][this[\"key\"]],\n}\n\ntype IParsedProperties = Array<(entity: object) => void>;\n\ntype IRefs = { [key: string]: any } | Array<{ [key: string]: any }>;\n\ninterface IChild {\n\tindex: number | undefined,\n\tvalue: Sprite,\n}\n\ninterface IParsedEntity<E extends Entity> {\n\tisValue: false,\n\ttype: string | undefined,\n\tconstruct: typeof Entity | undefined,\n\tsettings: object | undefined,\n\tadapters: Array<IAdapter<E>> | undefined,\n\tchildren: Array<IChild> | undefined,\n\tproperties: IParsedProperties | undefined,\n\tindex: number | undefined,\n\tvalue: object,\n}\n\ntype IParsed<E extends Entity>\n\t= IParsedEntity<E>\n\t| { isValue: true, value: any };\n\n\nfunction parseRef<E extends Entity>(value: string, refs: Array<IRef>): IParsed<E> {\n\tif (value[0] === \"#\" || value[0] === \"@\") {\n\t\tif (value[1] === value[0]) {\n\t\t\t// \"##foo\" or \"@@foo\" gets escaped into the literal strings \"#foo\" or \"@foo\"\n\t\t\treturn {\n\t\t\t\tisValue: true,\n\t\t\t\tvalue: value.slice(1),\n\t\t\t};\n\n\t\t} else {\n\t\t\tconst path = value.split(/\\./g);\n\n\t\t\tlet object = lookupRef(refs, path[0]);\n\n\t\t\tfor (let i = 1; i < path.length; ++i) {\n\t\t\t\tconst subpath = path[i];\n\n\t\t\t\t// Supports `#foo.get(\"bar\")` and `#foo.get('bar')` syntax\n\t\t\t\tconst parsed = /get\\(([\"'])([^\\1]*)\\1\\)/.exec(subpath);\n\n\t\t\t\tif (parsed) {\n\t\t\t\t\tobject = object.get(parsed[2]);\n\n\t\t\t\t} else {\n\t\t\t\t\tobject = object[subpath];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tisValue: true,\n\t\t\t\tvalue: object,\n\t\t\t};\n\t\t}\n\n\t} else {\n\t\treturn {\n\t\t\tisValue: true,\n\t\t\tvalue,\n\t\t};\n\t}\n}\n\n\nfunction mergeObject<E extends Entity>(entity: object, parsed: IParsedEntity<E>): void {\n\tif (parsed.properties) {\n\t\t$array.each(parsed.properties, (fn) => {\n\t\t\tfn(entity);\n\t\t});\n\t}\n}\n\nfunction mergeEntity<E extends Entity>(entity: E, parsed: IParsedEntity<E>): void {\n\tmergeObject(entity, parsed);\n\n\tif (parsed.adapters) {\n\t\t$array.each(parsed.adapters, (adapter) => {\n\t\t\tentity.adapters.add(adapter.key, adapter.callback);\n\t\t});\n\t}\n\n\tif (entity instanceof Container) {\n\t\tif (parsed.children) {\n\t\t\tparsed.children.forEach((child) => {\n\t\t\t\tif (child.index == null) {\n\t\t\t\t\tentity.children.push(child.value);\n\n\t\t\t\t} else {\n\t\t\t\t\tentity.children.insertIndex(child.index, child.value);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n}\n\nfunction mergeExisting<E extends Entity>(entity: E, parsed: IParsedEntity<E>): void {\n\tif (parsed.settings) {\n\t\tentity.setAll(parsed.settings);\n\t}\n\n\tmergeEntity(entity, parsed);\n}\n\n\nfunction constructEntity<E extends Entity>(root: Root, parsed: IParsedEntity<E>): E | object {\n\tif (!parsed.construct) {\n\t\treturn parsed.value;\n\t}\n\n\tconst entity = parsed.construct.new(root, parsed.settings || {}) as E;\n\n\tmergeEntity(entity, parsed);\n\n\treturn entity;\n}\n\n\nclass ParserState {\n\tprotected _caching: { [key: string]: Promise<void> } = {};\n\tprotected _cache: { [key: string]: typeof Entity } = {};\n\tprotected _delayed: Array<() => void> = [];\n\n\n\tafterParse(): void {\n\t\tthis._delayed.forEach((f) => {\n\t\t\tf();\n\t\t});\n\t}\n\n\n\tgetClass(name: string): typeof Entity {\n\t\treturn this._cache[name];\n\t}\n\n\tasync storeClass(name: string): Promise<void> {\n\t\tconst promise = classes[name as keyof IClasses];\n\t\tthis._cache[name] = await promise() as typeof Entity;\n\t}\n\n\tcacheClass(name: string): Promise<void> {\n\t\tlet promise = this._caching[name];\n\n\t\tif (promise == null) {\n\t\t\tpromise = this._caching[name] = this.storeClass(name);\n\t\t}\n\n\t\treturn promise;\n\t}\n\n\n\tasync parseAsyncArray(array: Array<unknown>): Promise<void> {\n\t\tawait Promise.all($array.map(array, (x) => this.parseAsync(x)));\n\t}\n\n\tasync parseAsyncObject(object: object): Promise<void> {\n\t\tawait Promise.all($array.map($object.keys(object), (key) => this.parseAsync(object[key])));\n\t}\n\n\tasync parseAsyncSettings(object: object): Promise<void> {\n\t\tawait Promise.all($array.map($object.keys(object), (key) => this.parseAsyncSetting(key, object[key])));\n\t}\n\n\tasync parseAsyncSetting(key: string, value: unknown): Promise<void> {\n\t\tif (key !== \"geoJSON\") {\n\t\t\tawait this.parseAsync(value);\n\t\t}\n\t}\n\n\tasync parseAsyncRefs(refs: Array<object> | object): Promise<void> {\n\t\tif ($type.isArray(refs)) {\n\t\t\tawait Promise.all($array.map(refs, (x) => this.parseAsyncRefs(x)));\n\n\t\t} else {\n\t\t\tawait this.parseAsyncObject(refs);\n\t\t}\n\t}\n\n\tasync parseAsync(value: unknown): Promise<void> {\n\t\tif ($type.isArray(value)) {\n\t\t\tawait this.parseAsyncArray(value);\n\n\t\t} else if (isObject(value)) {\n\t\t\tif (value.type === \"Color\" || value.type === \"Percent\") {\n\t\t\t\t// Do nothing\n\n\t\t\t} else if (value.type === \"Template\") {\n\t\t\t\tawait Promise.all([\n\t\t\t\t\t(value.refs ? this.parseAsyncRefs(value.refs) : Promise.resolve(undefined)),\n\t\t\t\t\t(value.settings ? this.parseAsyncObject(value.settings) : Promise.resolve(undefined)),\n\t\t\t\t]);\n\n\t\t\t} else if (value.__parse === true) {\n\t\t\t\tawait this.parseAsyncObject(value);\n\n\t\t\t} else if (value.__parse !== false) {\n\t\t\t\tawait Promise.all([\n\t\t\t\t\t(value.type ? this.cacheClass(value.type) : Promise.resolve(undefined)),\n\t\t\t\t\t(value.refs ? this.parseAsyncRefs(value.refs) : Promise.resolve(undefined)),\n\t\t\t\t\t(value.settings ? this.parseAsyncSettings(value.settings) : Promise.resolve(undefined)),\n\t\t\t\t\t(value.properties ? this.parseAsyncObject(value.properties) : Promise.resolve(undefined)),\n\t\t\t\t\t(value.children ? this.parseAsyncArray(value.children) : Promise.resolve(undefined)),\n\t\t\t\t]);\n\t\t\t}\n\t\t}\n\t}\n\n\n\tparseObject(root: Root, object: object, refs: Array<IRef>): object {\n\t\tconst output: { [key: string]: any } = {};\n\n\t\t$array.each($object.keys(object), (key) => {\n\t\t\toutput[key] = this.parse(root, object[key], refs);\n\t\t});\n\n\t\treturn output;\n\t}\n\n\tparseArray(root: Root, value: Array<unknown>, refs: Array<IRef>): Array<unknown> {\n\t\treturn $array.map(value, (value) => this.parse(root, value, refs));\n\t}\n\n\tparseChildren(root: Root, value: Array<{ [key: string]: any } | string>, refs: Array<IRef>): Array<IChild> {\n\t\treturn $array.map(value, (value) => this.parseChild(root, value, refs));\n\t}\n\n\tparseStops(root: Root, value: Array<object>, refs: Array<IRef>): Array<object> {\n\t\treturn $array.map(value, (value) => this.parseObject(root, value, refs));\n\t}\n\n\tparseSetting(root: Root, key: string, value: unknown, refs: Array<IRef>): unknown {\n\t\tif (key === \"layout\") {\n\t\t\tswitch (value) {\n\t\t\tcase \"horizontal\":\n\t\t\t\treturn root.horizontalLayout;\n\t\t\tcase \"vertical\":\n\t\t\t\treturn root.verticalLayout;\n\t\t\tcase \"grid\":\n\t\t\t\treturn root.gridLayout;\n\t\t\t}\n\n\t\t}\n\n\t\tif (key === \"geoJSON\") {\n\t\t\treturn value;\n\t\t}\n\n\t\tif (key === \"stops\") {\n\t\t\treturn this.parseStops(root, value as Array<object>, refs);\n\t\t}\n\n\t\treturn this.parse(root, value, refs);\n\t}\n\n\tparseSettings<E extends Entity>(root: Root, object: object, refs: Array<IRef>): E[\"_settings\"] {\n\t\tconst settings: { [key: string]: any } = {};\n\n\t\t$array.each($object.keys(object), (key) => {\n\t\t\tsettings[key] = this.parseSetting(root, key, object[key], refs);\n\t\t});\n\n\t\treturn settings;\n\t}\n\n\n\tparseProperties(root: Root, object: object, refs: Array<IRef>): IParsedProperties {\n\t\treturn $array.map($object.keys(object), (key) => {\n\t\t\tconst rawValue = object[key];\n\n\t\t\treturn (entity: object) => {\n\t\t\t\tconst run = () => {\n\t\t\t\t\tconst parsed = this.parseValue(root, rawValue, refs);\n\n\t\t\t\t\tconst old = entity[key] as unknown;\n\n\t\t\t\t\tif (old) {\n\t\t\t\t\t\tif (parsed.isValue) {\n\t\t\t\t\t\t\t// Merge Array into List\n\t\t\t\t\t\t\tif ($type.isArray(parsed.value)) {\n\t\t\t\t\t\t\t\t$array.each(parsed.value, (value) => {\n\t\t\t\t\t\t\t\t\t(old as any).push(value);\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t(entity as any)[key] = parsed.value;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else if (parsed.construct) {\n\t\t\t\t\t\t\t(entity as any)[key] = constructEntity(root, parsed);\n\n\t\t\t\t\t\t// Merge into existing Entity or Template\n\t\t\t\t\t\t} else if (old instanceof Entity || old instanceof Template) {\n\t\t\t\t\t\t\tmergeExisting(old as Entity, parsed);\n\n\t\t\t\t\t\t// Merge into existing object\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmergeObject(old as object, parsed);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (parsed.isValue) {\n\t\t\t\t\t\t\t(entity as any)[key] = parsed.value;\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t(entity as any)[key] = constructEntity(root, parsed);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tif (key === \"data\") {\n\t\t\t\t\tthis._delayed.push(run);\n\n\t\t\t\t} else if (key === \"bullets\") {\n\t\t\t\t\tconst old = entity[key] as unknown;\n\n\t\t\t\t\t$type.assert(old != null);\n\t\t\t\t\t$type.assert($type.isArray(rawValue));\n\n\t\t\t\t\t$array.each(rawValue, (value) => {\n\t\t\t\t\t\t(old as any).push((_: unknown, series: unknown) => {\n\t\t\t\t\t\t\tconst newRefs = refs.concat([{ \"@series\": series }]);\n\t\t\t\t\t\t\treturn this.parse(root, value, newRefs);\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\n\t\t\t\t} else {\n\t\t\t\t\trun();\n\t\t\t\t}\n\t\t\t};\n\t\t});\n\t}\n\n\n\tparseRefsObject(root: Root, object: { [key: string]: any }, refs: Array<IRef>): IRef {\n\t\tconst newRefs: IRef = {};\n\n\t\t$array.each($object.keys(object), (key) => {\n\t\t\tnewRefs[\"#\" + key] = this.parse(root, object[key], refs);\n\t\t});\n\n\t\treturn newRefs;\n\t}\n\n\tparseRefs(root: Root, object: IRefs, refs: Array<IRef>): Array<IRef> {\n\t\tif ($type.isArray(object)) {\n\t\t\tconst length = object.length;\n\n\t\t\tfor (let i = 0; i < length; ++i) {\n\t\t\t\trefs = refs.concat([this.parseRefsObject(root, object[i] as any, refs)]);\n\t\t\t}\n\n\t\t} else {\n\t\t\trefs = refs.concat([this.parseRefsObject(root, object, refs)]);\n\t\t}\n\n\t\treturn refs;\n\t}\n\n\n\tparseChild(root: Root, value: { [key: string]: any } | string, refs: Array<IRef>): IChild {\n\t\tif ($type.isString(value)) {\n\t\t\treturn {\n\t\t\t\tindex: undefined,\n\t\t\t\tvalue: parseRef<Sprite>(value, refs).value,\n\t\t\t};\n\n\t\t} else if (value.ref != null) {\n\t\t\tconst index = (value.index == null ? undefined : value.index);\n\n\t\t\treturn {\n\t\t\t\tindex,\n\t\t\t\tvalue: parseRef<Sprite>(value.ref, refs).value,\n\t\t\t};\n\n\t\t} else {\n\t\t\tconst parsed = this.parseEntity<Sprite>(root, value, refs);\n\n\t\t\treturn {\n\t\t\t\tindex: parsed.index,\n\t\t\t\tvalue: constructEntity(root, parsed) as Sprite,\n\t\t\t};\n\t\t}\n\t}\n\n\tparseEntity<E extends Entity>(root: Root, value: { [key: string]: any }, refs: Array<IRef>): IParsedEntity<E> {\n\t\tif (value.refs) {\n\t\t\trefs = this.parseRefs(root, value.refs, refs);\n\t\t}\n\n\t\tconst construct = (value.type ? this.getClass(value.type) : undefined);\n\t\tconst settings = (value.settings ? this.parseSettings(root, value.settings, refs) : undefined);\n\t\tconst properties = (value.properties ? this.parseProperties(root, value.properties, refs) : undefined);\n\t\tconst children = (value.children ? this.parseChildren(root, value.children, refs) : undefined);\n\n\t\tconst index = (value.index == null ? undefined : value.index);\n\n\t\treturn {\n\t\t\tisValue: false,\n\t\t\ttype: value.type,\n\t\t\tconstruct,\n\t\t\tsettings,\n\t\t\tadapters: value.adapters,\n\t\t\tchildren,\n\t\t\tproperties,\n\t\t\tindex,\n\t\t\tvalue,\n\t\t};\n\t}\n\n\tparseValue<E extends Entity>(root: Root, value: any, refs: Array<IRef>): IParsed<E> {\n\t\tif (value instanceof Entity) {\n\t\t\treturn { isValue: true, value: value };\n\n\t\t} else if ($type.isArray(value)) {\n\t\t\treturn {\n\t\t\t\tisValue: true,\n\t\t\t\tvalue: this.parseArray(root, value, refs),\n\t\t\t};\n\n\t\t} else if (isObject(value)) {\n\t\t\tif (value.type === \"Color\") {\n\t\t\t\treturn {\n\t\t\t\t\tisValue: true,\n\t\t\t\t\tvalue: Color.fromAny(value.value),\n\t\t\t\t};\n\n\t\t\t} else if (value.type === \"Percent\") {\n\t\t\t\treturn {\n\t\t\t\t\tisValue: true,\n\t\t\t\t\tvalue: new Percent(value.value),\n\t\t\t\t};\n\n\t\t\t} else if (value.type === \"Template\") {\n\t\t\t\tif (value.refs) {\n\t\t\t\t\trefs = this.parseRefs(root, value.refs, refs);\n\t\t\t\t}\n\n\t\t\t\tconst settings = (value.settings ? this.parseSettings(root, value.settings, refs) : {});\n\n\t\t\t\treturn {\n\t\t\t\t\tisValue: true,\n\t\t\t\t\tvalue: Template.new(settings),\n\t\t\t\t};\n\n\t\t\t} else if (value.__parse === true) {\n\t\t\t\treturn {\n\t\t\t\t\tisValue: true,\n\t\t\t\t\tvalue: this.parseObject(root, value, refs),\n\t\t\t\t};\n\n\t\t\t} else if (value.__parse === false) {\n\t\t\t\treturn {\n\t\t\t\t\tisValue: true,\n\t\t\t\t\tvalue,\n\t\t\t\t};\n\n\t\t\t} else {\n\t\t\t\treturn this.parseEntity(root, value, refs);\n\t\t\t}\n\n\t\t} else if ($type.isString(value)) {\n\t\t\treturn parseRef(value, refs);\n\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tisValue: true,\n\t\t\t\tvalue,\n\t\t\t};\n\t\t}\n\t}\n\n\tparse<E extends Entity>(root: Root, value: unknown, refs: Array<IRef>): E | object {\n\t\tconst parsed = this.parseValue<E>(root, value, refs);\n\n\t\tif (parsed.isValue) {\n\t\t\treturn parsed.value;\n\n\t\t} else {\n\t\t\treturn constructEntity<E>(root, parsed);\n\t\t}\n\t}\n}\n\nexport interface IParseSettings {\n\tparent?: Container;\n}\n\n/**\n * A parser for JSON based chart configs.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/serializing/} for more info\n * @since 5.3.0\n */\nexport class JsonParser {\n\tprotected _root: Root;\n\n\t/**\n\t * IMPORTANT! Do not instantiate this class via `new Class()` syntax.\n\t *\n\t * Use static method `Class.new()` instead.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/getting-started/#New_element_syntax} for more info\n\t * @ignore\n\t */\n\tconstructor(root: Root, isReal: boolean) {\n\t\tif (!isReal) {\n\t\t\tthrow new Error(\"You cannot use `new Class()`, instead use `Class.new()`\");\n\t\t}\n\n\t\tthis._root = root;\n\t}\n\n\t/**\n\t * Use this method to create an instance of this class.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/getting-started/#New_element_syntax} for more info\n\t * @param root Root element\n\t * @return Instantiated object\n\t */\n\tstatic new<C extends typeof JsonParser, T extends InstanceType<C>>(this: C, root: Root): T {\n\t\treturn (new this(root, true)) as T;\n\t}\n\n\t/**\n\t * Parses and creates chart objects from simple objects.\n\t *\n\t * @param object Serialized data\n\t * @return A promise of a target object\n\t */\n\tasync parse<E extends Entity>(object: unknown, settings: IParseSettings = {}): Promise<E> {\n\t\tconst state = new ParserState();\n\n\t\tawait state.parseAsync(object);\n\n\t\tconst output = state.parse(this._root, object, []) as E;\n\n\t\tif (settings.parent) {\n\t\t\tif (output instanceof Sprite) {\n\t\t\t\tsettings.parent.children.push(output);\n\n\t\t\t} else {\n\t\t\t\tthrow new Error(\"When using the parent setting, the entity must be a Sprite\");\n\t\t\t}\n\t\t}\n\n\t\tstate.afterParse();\n\n\t\treturn output;\n\t}\n\n\t/**\n\t * Parses and creates chart objects from JSON string.\n\t *\n\t * @param string JSON string\n\t * @return A promise of a target object\n\t */\n\tasync parseString<E extends Entity>(string: string, settings: IParseSettings = {}): Promise<E> {\n\t\treturn await this.parse(JSON.parse(string), settings);\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Json.js","sourceRoot":"","sources":["../../../../../src/.internal/plugins/json/Json.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,KAAK,KAAK,MAAM,sBAAsB,CAAC;AAC9C,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAC;AAGlD,OAAO,OAAO,MAAM,WAAW,CAAC;AAQhC,SAAS,QAAQ,CAAC,KAAU;IAC3B,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAGD,SAAS,SAAS,CAAC,IAAiB,EAAE,IAAY;IACjD,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;IAEpB,OAAO,CAAC,EAAE,EAAE;QACX,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpB,IAAI,IAAI,IAAI,GAAG,EAAE;YAChB,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC;SACjB;KACD;IAED,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC;AAC/C,CAAC;AAkCD,SAAS,QAAQ,CAAmB,KAAa,EAAE,IAAiB;IACnE,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;QACzC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE;YAC1B,4EAA4E;YAC5E,OAAO;gBACN,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;aACrB,CAAC;SAEF;aAAM;YACN,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAEhC,IAAI,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAEtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;gBACrC,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAExB,0DAA0D;gBAC1D,MAAM,MAAM,GAAG,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAEvD,IAAI,MAAM,EAAE;oBACX,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;iBAE/B;qBAAM;oBACN,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;iBACzB;aACD;YAED,OAAO;gBACN,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,MAAM;aACb,CAAC;SACF;KAED;SAAM;QACN,OAAO;YACN,OAAO,EAAE,IAAI;YACb,KAAK;SACL,CAAC;KACF;AACF,CAAC;AAGD,SAAS,WAAW,CAAmB,MAAc,EAAE,MAAwB;IAC9E,IAAI,MAAM,CAAC,UAAU,EAAE;QACtB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE;YACrC,EAAE,CAAC,MAAM,CAAC,CAAC;QACZ,CAAC,CAAC,CAAC;KACH;AACF,CAAC;AAED,SAAS,WAAW,CAAmB,MAAS,EAAE,MAAwB;IACzE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE5B,IAAI,MAAM,CAAC,QAAQ,EAAE;QACpB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;YACxC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;KACH;IAED,IAAI,MAAM,YAAY,SAAS,EAAE;QAChC,IAAI,MAAM,CAAC,QAAQ,EAAE;YACpB,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjC,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE;oBACxB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;iBAElC;qBAAM;oBACN,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;iBACtD;YACF,CAAC,CAAC,CAAC;SACH;KACD;AACF,CAAC;AAED,SAAS,aAAa,CAAmB,MAAS,EAAE,MAAwB;IAC3E,IAAI,MAAM,CAAC,QAAQ,EAAE;QACpB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;KAC/B;IAED,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC7B,CAAC;AAGD,SAAS,eAAe,CAAmB,IAAU,EAAE,MAAwB;IAC9E,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;QACtB,OAAO,MAAM,CAAC,KAAK,CAAC;KACpB;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAM,CAAC;IAEtE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE5B,OAAO,MAAM,CAAC;AACf,CAAC;AAGD,MAAM,WAAW;IAAjB;QACC;;;;mBAAuD,EAAE;WAAC;QAC1D;;;;mBAAqD,EAAE;WAAC;QACxD;;;;mBAAwC,EAAE;WAAC;IAwW5C,CAAC;IArWA,UAAU;QACT,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAC3B,CAAC,EAAE,CAAC;QACL,CAAC,CAAC,CAAC;IACJ,CAAC;IAGD,QAAQ,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEK,UAAU,CAAC,IAAY;;YAC5B,MAAM,OAAO,GAAG,OAAO,CAAC,IAAsB,CAAC,CAAC;YAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAG,MAAM,OAAO,EAAmB,CAAA,CAAC;QACtD,CAAC;KAAA;IAED,UAAU,CAAC,IAAY;QACtB,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAElC,IAAI,OAAO,IAAI,IAAI,EAAE;YACpB,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SACtD;QAED,OAAO,OAAO,CAAC;IAChB,CAAC;IAGK,eAAe,CAAC,KAAqB;;YAC1C,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC;KAAA;IAEK,gBAAgB,CAAC,MAAc;;YACpC,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5F,CAAC;KAAA;IAEK,kBAAkB,CAAC,MAAc;;YACtC,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxG,CAAC;KAAA;IAEK,iBAAiB,CAAC,GAAW,EAAE,KAAc;;YAClD,IAAI,GAAG,KAAK,SAAS,EAAE;gBACtB,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aAC7B;QACF,CAAC;KAAA;IAEK,cAAc,CAAC,IAA4B;;YAChD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACxB,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAEnE;iBAAM;gBACN,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;aAClC;QACF,CAAC;KAAA;IAEK,UAAU,CAAC,KAAc;;YAC9B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACzB,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;aAElC;iBAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;gBAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;oBACvD,aAAa;iBAEb;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;oBACrC,MAAM,OAAO,CAAC,GAAG,CAAC;wBACjB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;wBAC3E,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;qBACrF,CAAC,CAAC;iBAEH;qBAAM,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE;oBAClC,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;iBAEnC;qBAAM,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,EAAE;oBACnC,MAAM,OAAO,CAAC,GAAG,CAAC;wBACjB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;wBACvE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;wBAC3E,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;wBACvF,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;wBACzF,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;qBACpF,CAAC,CAAC;iBACH;aACD;QACF,CAAC;KAAA;IAGD,WAAW,CAAC,IAAU,EAAE,MAAc,EAAE,IAAiB;QACxD,MAAM,MAAM,GAA2B,EAAE,CAAC;QAE1C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;YACzC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IACf,CAAC;IAED,UAAU,CAAC,IAAU,EAAE,KAAqB,EAAE,IAAiB;QAC9D,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,aAAa,CAAC,IAAU,EAAE,KAA6C,EAAE,IAAiB;QACzF,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,UAAU,CAAC,IAAU,EAAE,KAAoB,EAAE,IAAiB;QAC7D,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,YAAY,CAAC,IAAU,EAAE,GAAW,EAAE,KAAc,EAAE,IAAiB;QACtE,IAAI,GAAG,KAAK,QAAQ,EAAE;YACrB,QAAQ,KAAK,EAAE;gBACf,KAAK,YAAY;oBAChB,OAAO,IAAI,CAAC,gBAAgB,CAAC;gBAC9B,KAAK,UAAU;oBACd,OAAO,IAAI,CAAC,cAAc,CAAC;gBAC5B,KAAK,MAAM;oBACV,OAAO,IAAI,CAAC,UAAU,CAAC;aACvB;SAED;QAED,IAAI,GAAG,KAAK,SAAS,EAAE;YACtB,OAAO,KAAK,CAAC;SACb;QAED,IAAI,GAAG,KAAK,OAAO,EAAE;YACpB,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAsB,EAAE,IAAI,CAAC,CAAC;SAC3D;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,aAAa,CAAmB,IAAU,EAAE,MAAc,EAAE,IAAiB;QAC5E,MAAM,QAAQ,GAA2B,EAAE,CAAC;QAE5C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;YACzC,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IACjB,CAAC;IAGD,eAAe,CAAC,IAAU,EAAE,MAAc,EAAE,IAAiB;QAC5D,OAAO,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;YAC/C,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAE7B,OAAO,CAAC,MAAc,EAAE,EAAE;gBACzB,MAAM,GAAG,GAAG,GAAG,EAAE;oBAChB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;oBAErD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAY,CAAC;oBAEnC,IAAI,GAAG,EAAE;wBACR,IAAI,MAAM,CAAC,OAAO,EAAE;4BACnB,wBAAwB;4BACxB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gCAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;oCAClC,GAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gCAC1B,CAAC,CAAC,CAAC;6BAEH;iCAAM;gCACL,MAAc,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;6BACpC;yBAED;6BAAM,IAAI,MAAM,CAAC,SAAS,EAAE;4BAC3B,MAAc,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;4BAEtD,yCAAyC;yBACxC;6BAAM,IAAI,GAAG,YAAY,MAAM,IAAI,GAAG,YAAY,QAAQ,EAAE;4BAC5D,aAAa,CAAC,GAAa,EAAE,MAAM,CAAC,CAAC;4BAEtC,6BAA6B;yBAC5B;6BAAM;4BACN,WAAW,CAAC,GAAa,EAAE,MAAM,CAAC,CAAC;yBACnC;qBAED;yBAAM;wBACN,IAAI,MAAM,CAAC,OAAO,EAAE;4BAClB,MAAc,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;yBAEpC;6BAAM;4BACL,MAAc,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;yBACrD;qBACD;gBACF,CAAC,CAAC;gBAEF,IAAI,GAAG,KAAK,MAAM,EAAE;oBACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;iBAExB;qBAAM,IAAI,GAAG,KAAK,SAAS,EAAE;oBAC7B,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAY,CAAC;oBAEnC,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC;oBAC1B,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAEtC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;wBAC9B,GAAW,CAAC,IAAI,CAAC,CAAC,CAAU,EAAE,MAAe,EAAE,EAAE;4BACjD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;4BACrD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;wBACzC,CAAC,CAAC,CAAC;oBACJ,CAAC,CAAC,CAAC;iBAEH;qBAAM;oBACN,GAAG,EAAE,CAAC;iBACN;YACF,CAAC,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IAGD,eAAe,CAAC,IAAU,EAAE,MAA8B,EAAE,IAAiB;QAC5E,MAAM,OAAO,GAAS,EAAE,CAAC;QAEzB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;YACzC,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,SAAS,CAAC,IAAU,EAAE,MAAa,EAAE,IAAiB;QACrD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,EAAE;gBAChC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;aACzE;SAED;aAAM;YACN,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;SAC/D;QAED,OAAO,IAAI,CAAC;IACb,CAAC;IAGD,UAAU,CAAC,IAAU,EAAE,KAAsC,EAAE,IAAiB;QAC/E,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YAC1B,OAAO;gBACN,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,QAAQ,CAAS,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK;aAC1C,CAAC;SAEF;aAAM,IAAI,KAAK,CAAC,GAAG,IAAI,IAAI,EAAE;YAC7B,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAE9D,OAAO;gBACN,KAAK;gBACL,KAAK,EAAE,QAAQ,CAAS,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,KAAK;aAC9C,CAAC;SAEF;aAAM;YACN,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAS,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAE3D,OAAO;gBACN,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,KAAK,EAAE,eAAe,CAAC,IAAI,EAAE,MAAM,CAAW;aAC9C,CAAC;SACF;IACF,CAAC;IAED,WAAW,CAAmB,IAAU,EAAE,KAA6B,EAAE,IAAiB;QACzF,IAAI,KAAK,CAAC,IAAI,EAAE;YACf,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SAC9C;QAED,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC/F,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACvG,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAE/F,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAE9D,OAAO;YACN,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,SAAS;YACT,QAAQ;YACR,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ;YACR,UAAU;YACV,KAAK;YACL,KAAK;SACL,CAAC;IACH,CAAC;IAED,UAAU,CAAmB,IAAU,EAAE,KAAU,EAAE,IAAiB;QACrE,IAAI,KAAK,YAAY,MAAM,EAAE;YAC5B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SAEvC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAChC,OAAO;gBACN,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC;aACzC,CAAC;SAEF;aAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;gBAC3B,OAAO;oBACN,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;iBACjC,CAAC;aAEF;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;gBACpC,OAAO;oBACN,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;iBAC/B,CAAC;aAEF;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;gBACrC,IAAI,KAAK,CAAC,IAAI,EAAE;oBACf,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;iBAC9C;gBAED,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAExF,OAAO;oBACN,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;iBAC7B,CAAC;aAEF;iBAAM,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE;gBAClC,OAAO;oBACN,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC;iBAC1C,CAAC;aAEF;iBAAM,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,EAAE;gBACnC,OAAO;oBACN,OAAO,EAAE,IAAI;oBACb,KAAK;iBACL,CAAC;aAEF;iBAAM;gBACN,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;aAC3C;SAED;aAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;YACjC,OAAO,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;SAE7B;aAAM;YACN,OAAO;gBACN,OAAO,EAAE,IAAI;gBACb,KAAK;aACL,CAAC;SACF;IACF,CAAC;IAED,KAAK,CAAmB,IAAU,EAAE,KAAc,EAAE,IAAiB;QACpE,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAI,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAErD,IAAI,MAAM,CAAC,OAAO,EAAE;YACnB,OAAO,MAAM,CAAC,KAAK,CAAC;SAEpB;aAAM;YACN,OAAO,eAAe,CAAI,IAAI,EAAE,MAAM,CAAC,CAAC;SACxC;IACF,CAAC;CACD;AAMD;;;;;GAKG;AACH,MAAM,OAAO,UAAU;IAGtB;;;;;;;OAOG;IACH,YAAY,IAAU,EAAE,MAAe;QAVvC;;;;;WAAsB;QAWrB,IAAI,CAAC,MAAM,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;SAC3E;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,CAAkE,IAAU;QACrF,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAM,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACG,KAAK,CAAmB,MAAe,EAAE,WAA2B,EAAE;;YAC3E,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC;YAEhC,MAAM,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAE/B,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAM,CAAC;YAExD,IAAI,QAAQ,CAAC,MAAM,EAAE;gBACpB,IAAI,MAAM,YAAY,MAAM,EAAE;oBAC7B,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBAEtC;qBAAM;oBACN,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;iBAC9E;aAED;iBACI,IAAI,MAAM,YAAY,MAAM,EAAE;gBAClC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;aAC1B;YAED,KAAK,CAAC,UAAU,EAAE,CAAC;YAEnB,OAAO,MAAM,CAAC;QACf,CAAC;KAAA;IAED;;;;;OAKG;IACG,WAAW,CAAmB,MAAc,EAAE,WAA2B,EAAE;;YAChF,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;QACvD,CAAC;KAAA;CACD","sourcesContent":["import type { Root } from \"../../core/Root\";\n\nimport { Entity } from \"../../core/util/Entity\";\nimport { Sprite } from \"../../core/render/Sprite\";\nimport { Container } from \"../../core/render/Container\";\nimport { Color } from \"../../core/util/Color\";\nimport { Percent } from \"../../core/util/Percent\";\nimport { Template } from \"../../core/util/Template\";\n\nimport * as $type from \"../../core/util/Type\";\nimport * as $array from \"../../core/util/Array\";\nimport * as $object from \"../../core/util/Object\";\n\nimport type { IClasses } from \"./Classes\";\nimport classes from \"./Classes\";\n\n\ninterface IRef {\n\t[key: string]: any;\n}\n\n\nfunction isObject(value: any): value is { [key: string]: any } {\n\treturn $type.isObject(value);\n}\n\n\nfunction lookupRef(refs: Array<IRef>, name: string): any {\n\tlet i = refs.length;\n\n\twhile (i--) {\n\t\tconst sub = refs[i];\n\n\t\tif (name in sub) {\n\t\t\treturn sub[name];\n\t\t}\n\t}\n\n\tthrow new Error(\"Could not find ref \" + name);\n}\n\n\ninterface IAdapter<E extends Entity> {\n\tkey: keyof E[\"_settings\"],\n\tcallback: (value: E[\"_settings\"][this[\"key\"]], target: E, key: this[\"key\"]) => E[\"_settings\"][this[\"key\"]],\n}\n\ntype IParsedProperties = Array<(entity: object) => void>;\n\ntype IRefs = { [key: string]: any } | Array<{ [key: string]: any }>;\n\ninterface IChild {\n\tindex: number | undefined,\n\tvalue: Sprite,\n}\n\ninterface IParsedEntity<E extends Entity> {\n\tisValue: false,\n\ttype: string | undefined,\n\tconstruct: typeof Entity | undefined,\n\tsettings: object | undefined,\n\tadapters: Array<IAdapter<E>> | undefined,\n\tchildren: Array<IChild> | undefined,\n\tproperties: IParsedProperties | undefined,\n\tindex: number | undefined,\n\tvalue: object,\n}\n\ntype IParsed<E extends Entity>\n\t= IParsedEntity<E>\n\t| { isValue: true, value: any };\n\n\nfunction parseRef<E extends Entity>(value: string, refs: Array<IRef>): IParsed<E> {\n\tif (value[0] === \"#\" || value[0] === \"@\") {\n\t\tif (value[1] === value[0]) {\n\t\t\t// \"##foo\" or \"@@foo\" gets escaped into the literal strings \"#foo\" or \"@foo\"\n\t\t\treturn {\n\t\t\t\tisValue: true,\n\t\t\t\tvalue: value.slice(1),\n\t\t\t};\n\n\t\t} else {\n\t\t\tconst path = value.split(/\\./g);\n\n\t\t\tlet object = lookupRef(refs, path[0]);\n\n\t\t\tfor (let i = 1; i < path.length; ++i) {\n\t\t\t\tconst subpath = path[i];\n\n\t\t\t\t// Supports `#foo.get(\"bar\")` and `#foo.get('bar')` syntax\n\t\t\t\tconst parsed = /get\\(([\"'])([^\\1]*)\\1\\)/.exec(subpath);\n\n\t\t\t\tif (parsed) {\n\t\t\t\t\tobject = object.get(parsed[2]);\n\n\t\t\t\t} else {\n\t\t\t\t\tobject = object[subpath];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tisValue: true,\n\t\t\t\tvalue: object,\n\t\t\t};\n\t\t}\n\n\t} else {\n\t\treturn {\n\t\t\tisValue: true,\n\t\t\tvalue,\n\t\t};\n\t}\n}\n\n\nfunction mergeObject<E extends Entity>(entity: object, parsed: IParsedEntity<E>): void {\n\tif (parsed.properties) {\n\t\t$array.each(parsed.properties, (fn) => {\n\t\t\tfn(entity);\n\t\t});\n\t}\n}\n\nfunction mergeEntity<E extends Entity>(entity: E, parsed: IParsedEntity<E>): void {\n\tmergeObject(entity, parsed);\n\n\tif (parsed.adapters) {\n\t\t$array.each(parsed.adapters, (adapter) => {\n\t\t\tentity.adapters.add(adapter.key, adapter.callback);\n\t\t});\n\t}\n\n\tif (entity instanceof Container) {\n\t\tif (parsed.children) {\n\t\t\tparsed.children.forEach((child) => {\n\t\t\t\tif (child.index == null) {\n\t\t\t\t\tentity.children.push(child.value);\n\n\t\t\t\t} else {\n\t\t\t\t\tentity.children.insertIndex(child.index, child.value);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n}\n\nfunction mergeExisting<E extends Entity>(entity: E, parsed: IParsedEntity<E>): void {\n\tif (parsed.settings) {\n\t\tentity.setAll(parsed.settings);\n\t}\n\n\tmergeEntity(entity, parsed);\n}\n\n\nfunction constructEntity<E extends Entity>(root: Root, parsed: IParsedEntity<E>): E | object {\n\tif (!parsed.construct) {\n\t\treturn parsed.value;\n\t}\n\n\tconst entity = parsed.construct.new(root, parsed.settings || {}) as E;\n\n\tmergeEntity(entity, parsed);\n\n\treturn entity;\n}\n\n\nclass ParserState {\n\tprotected _caching: { [key: string]: Promise<void> } = {};\n\tprotected _cache: { [key: string]: typeof Entity } = {};\n\tprotected _delayed: Array<() => void> = [];\n\n\n\tafterParse(): void {\n\t\tthis._delayed.forEach((f) => {\n\t\t\tf();\n\t\t});\n\t}\n\n\n\tgetClass(name: string): typeof Entity {\n\t\treturn this._cache[name];\n\t}\n\n\tasync storeClass(name: string): Promise<void> {\n\t\tconst promise = classes[name as keyof IClasses];\n\t\tthis._cache[name] = await promise() as typeof Entity;\n\t}\n\n\tcacheClass(name: string): Promise<void> {\n\t\tlet promise = this._caching[name];\n\n\t\tif (promise == null) {\n\t\t\tpromise = this._caching[name] = this.storeClass(name);\n\t\t}\n\n\t\treturn promise;\n\t}\n\n\n\tasync parseAsyncArray(array: Array<unknown>): Promise<void> {\n\t\tawait Promise.all($array.map(array, (x) => this.parseAsync(x)));\n\t}\n\n\tasync parseAsyncObject(object: object): Promise<void> {\n\t\tawait Promise.all($array.map($object.keys(object), (key) => this.parseAsync(object[key])));\n\t}\n\n\tasync parseAsyncSettings(object: object): Promise<void> {\n\t\tawait Promise.all($array.map($object.keys(object), (key) => this.parseAsyncSetting(key, object[key])));\n\t}\n\n\tasync parseAsyncSetting(key: string, value: unknown): Promise<void> {\n\t\tif (key !== \"geoJSON\") {\n\t\t\tawait this.parseAsync(value);\n\t\t}\n\t}\n\n\tasync parseAsyncRefs(refs: Array<object> | object): Promise<void> {\n\t\tif ($type.isArray(refs)) {\n\t\t\tawait Promise.all($array.map(refs, (x) => this.parseAsyncRefs(x)));\n\n\t\t} else {\n\t\t\tawait this.parseAsyncObject(refs);\n\t\t}\n\t}\n\n\tasync parseAsync(value: unknown): Promise<void> {\n\t\tif ($type.isArray(value)) {\n\t\t\tawait this.parseAsyncArray(value);\n\n\t\t} else if (isObject(value)) {\n\t\t\tif (value.type === \"Color\" || value.type === \"Percent\") {\n\t\t\t\t// Do nothing\n\n\t\t\t} else if (value.type === \"Template\") {\n\t\t\t\tawait Promise.all([\n\t\t\t\t\t(value.refs ? this.parseAsyncRefs(value.refs) : Promise.resolve(undefined)),\n\t\t\t\t\t(value.settings ? this.parseAsyncObject(value.settings) : Promise.resolve(undefined)),\n\t\t\t\t]);\n\n\t\t\t} else if (value.__parse === true) {\n\t\t\t\tawait this.parseAsyncObject(value);\n\n\t\t\t} else if (value.__parse !== false) {\n\t\t\t\tawait Promise.all([\n\t\t\t\t\t(value.type ? this.cacheClass(value.type) : Promise.resolve(undefined)),\n\t\t\t\t\t(value.refs ? this.parseAsyncRefs(value.refs) : Promise.resolve(undefined)),\n\t\t\t\t\t(value.settings ? this.parseAsyncSettings(value.settings) : Promise.resolve(undefined)),\n\t\t\t\t\t(value.properties ? this.parseAsyncObject(value.properties) : Promise.resolve(undefined)),\n\t\t\t\t\t(value.children ? this.parseAsyncArray(value.children) : Promise.resolve(undefined)),\n\t\t\t\t]);\n\t\t\t}\n\t\t}\n\t}\n\n\n\tparseObject(root: Root, object: object, refs: Array<IRef>): object {\n\t\tconst output: { [key: string]: any } = {};\n\n\t\t$array.each($object.keys(object), (key) => {\n\t\t\toutput[key] = this.parse(root, object[key], refs);\n\t\t});\n\n\t\treturn output;\n\t}\n\n\tparseArray(root: Root, value: Array<unknown>, refs: Array<IRef>): Array<unknown> {\n\t\treturn $array.map(value, (value) => this.parse(root, value, refs));\n\t}\n\n\tparseChildren(root: Root, value: Array<{ [key: string]: any } | string>, refs: Array<IRef>): Array<IChild> {\n\t\treturn $array.map(value, (value) => this.parseChild(root, value, refs));\n\t}\n\n\tparseStops(root: Root, value: Array<object>, refs: Array<IRef>): Array<object> {\n\t\treturn $array.map(value, (value) => this.parseObject(root, value, refs));\n\t}\n\n\tparseSetting(root: Root, key: string, value: unknown, refs: Array<IRef>): unknown {\n\t\tif (key === \"layout\") {\n\t\t\tswitch (value) {\n\t\t\tcase \"horizontal\":\n\t\t\t\treturn root.horizontalLayout;\n\t\t\tcase \"vertical\":\n\t\t\t\treturn root.verticalLayout;\n\t\t\tcase \"grid\":\n\t\t\t\treturn root.gridLayout;\n\t\t\t}\n\n\t\t}\n\n\t\tif (key === \"geoJSON\") {\n\t\t\treturn value;\n\t\t}\n\n\t\tif (key === \"stops\") {\n\t\t\treturn this.parseStops(root, value as Array<object>, refs);\n\t\t}\n\n\t\treturn this.parse(root, value, refs);\n\t}\n\n\tparseSettings<E extends Entity>(root: Root, object: object, refs: Array<IRef>): E[\"_settings\"] {\n\t\tconst settings: { [key: string]: any } = {};\n\n\t\t$array.each($object.keys(object), (key) => {\n\t\t\tsettings[key] = this.parseSetting(root, key, object[key], refs);\n\t\t});\n\n\t\treturn settings;\n\t}\n\n\n\tparseProperties(root: Root, object: object, refs: Array<IRef>): IParsedProperties {\n\t\treturn $array.map($object.keys(object), (key) => {\n\t\t\tconst rawValue = object[key];\n\n\t\t\treturn (entity: object) => {\n\t\t\t\tconst run = () => {\n\t\t\t\t\tconst parsed = this.parseValue(root, rawValue, refs);\n\n\t\t\t\t\tconst old = entity[key] as unknown;\n\n\t\t\t\t\tif (old) {\n\t\t\t\t\t\tif (parsed.isValue) {\n\t\t\t\t\t\t\t// Merge Array into List\n\t\t\t\t\t\t\tif ($type.isArray(parsed.value)) {\n\t\t\t\t\t\t\t\t$array.each(parsed.value, (value) => {\n\t\t\t\t\t\t\t\t\t(old as any).push(value);\n\t\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t(entity as any)[key] = parsed.value;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else if (parsed.construct) {\n\t\t\t\t\t\t\t(entity as any)[key] = constructEntity(root, parsed);\n\n\t\t\t\t\t\t// Merge into existing Entity or Template\n\t\t\t\t\t\t} else if (old instanceof Entity || old instanceof Template) {\n\t\t\t\t\t\t\tmergeExisting(old as Entity, parsed);\n\n\t\t\t\t\t\t// Merge into existing object\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmergeObject(old as object, parsed);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (parsed.isValue) {\n\t\t\t\t\t\t\t(entity as any)[key] = parsed.value;\n\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t(entity as any)[key] = constructEntity(root, parsed);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\n\t\t\t\tif (key === \"data\") {\n\t\t\t\t\tthis._delayed.push(run);\n\n\t\t\t\t} else if (key === \"bullets\") {\n\t\t\t\t\tconst old = entity[key] as unknown;\n\n\t\t\t\t\t$type.assert(old != null);\n\t\t\t\t\t$type.assert($type.isArray(rawValue));\n\n\t\t\t\t\t$array.each(rawValue, (value) => {\n\t\t\t\t\t\t(old as any).push((_: unknown, series: unknown) => {\n\t\t\t\t\t\t\tconst newRefs = refs.concat([{ \"@series\": series }]);\n\t\t\t\t\t\t\treturn this.parse(root, value, newRefs);\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\n\t\t\t\t} else {\n\t\t\t\t\trun();\n\t\t\t\t}\n\t\t\t};\n\t\t});\n\t}\n\n\n\tparseRefsObject(root: Root, object: { [key: string]: any }, refs: Array<IRef>): IRef {\n\t\tconst newRefs: IRef = {};\n\n\t\t$array.each($object.keys(object), (key) => {\n\t\t\tnewRefs[\"#\" + key] = this.parse(root, object[key], refs);\n\t\t});\n\n\t\treturn newRefs;\n\t}\n\n\tparseRefs(root: Root, object: IRefs, refs: Array<IRef>): Array<IRef> {\n\t\tif ($type.isArray(object)) {\n\t\t\tconst length = object.length;\n\n\t\t\tfor (let i = 0; i < length; ++i) {\n\t\t\t\trefs = refs.concat([this.parseRefsObject(root, object[i] as any, refs)]);\n\t\t\t}\n\n\t\t} else {\n\t\t\trefs = refs.concat([this.parseRefsObject(root, object, refs)]);\n\t\t}\n\n\t\treturn refs;\n\t}\n\n\n\tparseChild(root: Root, value: { [key: string]: any } | string, refs: Array<IRef>): IChild {\n\t\tif ($type.isString(value)) {\n\t\t\treturn {\n\t\t\t\tindex: undefined,\n\t\t\t\tvalue: parseRef<Sprite>(value, refs).value,\n\t\t\t};\n\n\t\t} else if (value.ref != null) {\n\t\t\tconst index = (value.index == null ? undefined : value.index);\n\n\t\t\treturn {\n\t\t\t\tindex,\n\t\t\t\tvalue: parseRef<Sprite>(value.ref, refs).value,\n\t\t\t};\n\n\t\t} else {\n\t\t\tconst parsed = this.parseEntity<Sprite>(root, value, refs);\n\n\t\t\treturn {\n\t\t\t\tindex: parsed.index,\n\t\t\t\tvalue: constructEntity(root, parsed) as Sprite,\n\t\t\t};\n\t\t}\n\t}\n\n\tparseEntity<E extends Entity>(root: Root, value: { [key: string]: any }, refs: Array<IRef>): IParsedEntity<E> {\n\t\tif (value.refs) {\n\t\t\trefs = this.parseRefs(root, value.refs, refs);\n\t\t}\n\n\t\tconst construct = (value.type ? this.getClass(value.type) : undefined);\n\t\tconst settings = (value.settings ? this.parseSettings(root, value.settings, refs) : undefined);\n\t\tconst properties = (value.properties ? this.parseProperties(root, value.properties, refs) : undefined);\n\t\tconst children = (value.children ? this.parseChildren(root, value.children, refs) : undefined);\n\n\t\tconst index = (value.index == null ? undefined : value.index);\n\n\t\treturn {\n\t\t\tisValue: false,\n\t\t\ttype: value.type,\n\t\t\tconstruct,\n\t\t\tsettings,\n\t\t\tadapters: value.adapters,\n\t\t\tchildren,\n\t\t\tproperties,\n\t\t\tindex,\n\t\t\tvalue,\n\t\t};\n\t}\n\n\tparseValue<E extends Entity>(root: Root, value: any, refs: Array<IRef>): IParsed<E> {\n\t\tif (value instanceof Entity) {\n\t\t\treturn { isValue: true, value: value };\n\n\t\t} else if ($type.isArray(value)) {\n\t\t\treturn {\n\t\t\t\tisValue: true,\n\t\t\t\tvalue: this.parseArray(root, value, refs),\n\t\t\t};\n\n\t\t} else if (isObject(value)) {\n\t\t\tif (value.type === \"Color\") {\n\t\t\t\treturn {\n\t\t\t\t\tisValue: true,\n\t\t\t\t\tvalue: Color.fromAny(value.value),\n\t\t\t\t};\n\n\t\t\t} else if (value.type === \"Percent\") {\n\t\t\t\treturn {\n\t\t\t\t\tisValue: true,\n\t\t\t\t\tvalue: new Percent(value.value),\n\t\t\t\t};\n\n\t\t\t} else if (value.type === \"Template\") {\n\t\t\t\tif (value.refs) {\n\t\t\t\t\trefs = this.parseRefs(root, value.refs, refs);\n\t\t\t\t}\n\n\t\t\t\tconst settings = (value.settings ? this.parseSettings(root, value.settings, refs) : {});\n\n\t\t\t\treturn {\n\t\t\t\t\tisValue: true,\n\t\t\t\t\tvalue: Template.new(settings),\n\t\t\t\t};\n\n\t\t\t} else if (value.__parse === true) {\n\t\t\t\treturn {\n\t\t\t\t\tisValue: true,\n\t\t\t\t\tvalue: this.parseObject(root, value, refs),\n\t\t\t\t};\n\n\t\t\t} else if (value.__parse === false) {\n\t\t\t\treturn {\n\t\t\t\t\tisValue: true,\n\t\t\t\t\tvalue,\n\t\t\t\t};\n\n\t\t\t} else {\n\t\t\t\treturn this.parseEntity(root, value, refs);\n\t\t\t}\n\n\t\t} else if ($type.isString(value)) {\n\t\t\treturn parseRef(value, refs);\n\n\t\t} else {\n\t\t\treturn {\n\t\t\t\tisValue: true,\n\t\t\t\tvalue,\n\t\t\t};\n\t\t}\n\t}\n\n\tparse<E extends Entity>(root: Root, value: unknown, refs: Array<IRef>): E | object {\n\t\tconst parsed = this.parseValue<E>(root, value, refs);\n\n\t\tif (parsed.isValue) {\n\t\t\treturn parsed.value;\n\n\t\t} else {\n\t\t\treturn constructEntity<E>(root, parsed);\n\t\t}\n\t}\n}\n\nexport interface IParseSettings {\n\tparent?: Container;\n}\n\n/**\n * A parser for JSON based chart configs.\n *\n * @see {@link https://www.amcharts.com/docs/v5/concepts/serializing/} for more info\n * @since 5.3.0\n */\nexport class JsonParser {\n\tprotected _root: Root;\n\n\t/**\n\t * IMPORTANT! Do not instantiate this class via `new Class()` syntax.\n\t *\n\t * Use static method `Class.new()` instead.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/getting-started/#New_element_syntax} for more info\n\t * @ignore\n\t */\n\tconstructor(root: Root, isReal: boolean) {\n\t\tif (!isReal) {\n\t\t\tthrow new Error(\"You cannot use `new Class()`, instead use `Class.new()`\");\n\t\t}\n\n\t\tthis._root = root;\n\t}\n\n\t/**\n\t * Use this method to create an instance of this class.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/getting-started/#New_element_syntax} for more info\n\t * @param root Root element\n\t * @return Instantiated object\n\t */\n\tstatic new<C extends typeof JsonParser, T extends InstanceType<C>>(this: C, root: Root): T {\n\t\treturn (new this(root, true)) as T;\n\t}\n\n\t/**\n\t * Parses and creates chart objects from simple objects.\n\t *\n\t * @param object Serialized data\n\t * @return A promise of a target object\n\t */\n\tasync parse<E extends Entity>(object: unknown, settings: IParseSettings = {}): Promise<E> {\n\t\tconst state = new ParserState();\n\n\t\tawait state.parseAsync(object);\n\n\t\tconst output = state.parse(this._root, object, []) as E;\n\n\t\tif (settings.parent) {\n\t\t\tif (output instanceof Sprite) {\n\t\t\t\tsettings.parent.children.push(output);\n\n\t\t\t} else {\n\t\t\t\tthrow new Error(\"When using the parent setting, the entity must be a Sprite\");\n\t\t\t}\n\n\t\t}\n\t\telse if (output instanceof Entity) {\n\t\t\toutput._applyThemes(true);\n\t\t}\n\n\t\tstate.afterParse();\n\n\t\treturn output;\n\t}\n\n\t/**\n\t * Parses and creates chart objects from JSON string.\n\t *\n\t * @param string JSON string\n\t * @return A promise of a target object\n\t */\n\tasync parseString<E extends Entity>(string: string, settings: IParseSettings = {}): Promise<E> {\n\t\treturn await this.parse(JSON.parse(string), settings);\n\t}\n}\n"]}
|
|
@@ -91,6 +91,8 @@ export declare class ResponsiveTheme extends Theme {
|
|
|
91
91
|
static maybeL(width: number, height: number): boolean;
|
|
92
92
|
static maybeXL(width: number, height: number): boolean;
|
|
93
93
|
static maybeXXL(width: number, height: number): boolean;
|
|
94
|
+
private _dp?;
|
|
95
|
+
constructor(root: Root, isReal: boolean);
|
|
94
96
|
/**
|
|
95
97
|
* Currently added rules.
|
|
96
98
|
*/
|
|
@@ -113,8 +115,11 @@ export declare class ResponsiveTheme extends Theme {
|
|
|
113
115
|
* @param rule Responsive rule
|
|
114
116
|
*/
|
|
115
117
|
removeRule(rule: IResponsiveRule): void;
|
|
118
|
+
dispose(): void;
|
|
116
119
|
protected _isUsed(): boolean;
|
|
117
|
-
protected
|
|
120
|
+
protected _maybeApplyRules(): void;
|
|
121
|
+
protected _maybeApplyRule(rule: IResponsiveRule): void;
|
|
122
|
+
protected _maybeUnapplyRule(rule: IResponsiveRule): void;
|
|
118
123
|
/**
|
|
119
124
|
* Adds default rules for various chart types and most standard scenarios.
|
|
120
125
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponsiveTheme.d.ts","sourceRoot":"","sources":["../../../../src/.internal/themes/ResponsiveTheme.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ResponsiveTheme.d.ts","sourceRoot":"","sources":["../../../../src/.internal/themes/ResponsiveTheme.ts"],"names":[],"mappings":"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"}
|