@amcharts/amcharts5 5.0.18 → 5.1.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.
Files changed (268) hide show
  1. package/.internal/charts/map/MapLineSeries.d.ts +6 -1
  2. package/.internal/charts/map/MapLineSeries.d.ts.map +1 -1
  3. package/.internal/charts/map/MapLineSeries.js +11 -6
  4. package/.internal/charts/map/MapLineSeries.js.map +1 -1
  5. package/.internal/charts/map/MapPointSeries.d.ts +6 -1
  6. package/.internal/charts/map/MapPointSeries.d.ts.map +1 -1
  7. package/.internal/charts/map/MapPointSeries.js +7 -2
  8. package/.internal/charts/map/MapPointSeries.js.map +1 -1
  9. package/.internal/charts/map/MapPolygonSeries.d.ts +6 -1
  10. package/.internal/charts/map/MapPolygonSeries.d.ts.map +1 -1
  11. package/.internal/charts/map/MapPolygonSeries.js +7 -2
  12. package/.internal/charts/map/MapPolygonSeries.js.map +1 -1
  13. package/.internal/charts/percent/PercentSeries.d.ts +2 -0
  14. package/.internal/charts/percent/PercentSeries.d.ts.map +1 -1
  15. package/.internal/charts/percent/PercentSeries.js +21 -0
  16. package/.internal/charts/percent/PercentSeries.js.map +1 -1
  17. package/.internal/charts/xy/XYChart.d.ts +4 -0
  18. package/.internal/charts/xy/XYChart.d.ts.map +1 -1
  19. package/.internal/charts/xy/XYChart.js +3 -0
  20. package/.internal/charts/xy/XYChart.js.map +1 -1
  21. package/.internal/charts/xy/XYChartDefaultTheme.d.ts.map +1 -1
  22. package/.internal/charts/xy/XYChartDefaultTheme.js +15 -1
  23. package/.internal/charts/xy/XYChartDefaultTheme.js.map +1 -1
  24. package/.internal/charts/xy/XYCursor.d.ts +6 -0
  25. package/.internal/charts/xy/XYCursor.d.ts.map +1 -1
  26. package/.internal/charts/xy/XYCursor.js +4 -0
  27. package/.internal/charts/xy/XYCursor.js.map +1 -1
  28. package/.internal/charts/xy/axes/Axis.d.ts +1 -0
  29. package/.internal/charts/xy/axes/Axis.d.ts.map +1 -1
  30. package/.internal/charts/xy/axes/Axis.js +10 -3
  31. package/.internal/charts/xy/axes/Axis.js.map +1 -1
  32. package/.internal/charts/xy/axes/CategoryDateAxis.js +1 -1
  33. package/.internal/charts/xy/axes/CategoryDateAxis.js.map +1 -1
  34. package/.internal/charts/xy/axes/DateAxis.d.ts +3 -0
  35. package/.internal/charts/xy/axes/DateAxis.d.ts.map +1 -1
  36. package/.internal/charts/xy/axes/DateAxis.js +74 -17
  37. package/.internal/charts/xy/axes/DateAxis.js.map +1 -1
  38. package/.internal/charts/xy/axes/GaplessDateAxis.d.ts +48 -0
  39. package/.internal/charts/xy/axes/GaplessDateAxis.d.ts.map +1 -0
  40. package/.internal/charts/xy/axes/GaplessDateAxis.js +309 -0
  41. package/.internal/charts/xy/axes/GaplessDateAxis.js.map +1 -0
  42. package/.internal/charts/xy/axes/ValueAxis.d.ts.map +1 -1
  43. package/.internal/charts/xy/axes/ValueAxis.js +1 -1
  44. package/.internal/charts/xy/axes/ValueAxis.js.map +1 -1
  45. package/.internal/charts/xy/series/LineSeries.d.ts +1 -0
  46. package/.internal/charts/xy/series/LineSeries.d.ts.map +1 -1
  47. package/.internal/charts/xy/series/LineSeries.js +14 -2
  48. package/.internal/charts/xy/series/LineSeries.js.map +1 -1
  49. package/.internal/charts/xy/series/XYSeries.d.ts +4 -0
  50. package/.internal/charts/xy/series/XYSeries.d.ts.map +1 -1
  51. package/.internal/charts/xy/series/XYSeries.js +7 -2
  52. package/.internal/charts/xy/series/XYSeries.js.map +1 -1
  53. package/.internal/core/Classes.d.ts +4 -0
  54. package/.internal/core/Classes.d.ts.map +1 -1
  55. package/.internal/core/Classes.js.map +1 -1
  56. package/.internal/core/Root.d.ts +8 -3
  57. package/.internal/core/Root.d.ts.map +1 -1
  58. package/.internal/core/Root.js +10 -4
  59. package/.internal/core/Root.js.map +1 -1
  60. package/.internal/core/render/Component.d.ts +6 -1
  61. package/.internal/core/render/Component.d.ts.map +1 -1
  62. package/.internal/core/render/Component.js +8 -3
  63. package/.internal/core/render/Component.js.map +1 -1
  64. package/.internal/core/render/Container.d.ts.map +1 -1
  65. package/.internal/core/render/Container.js +1 -9
  66. package/.internal/core/render/Container.js.map +1 -1
  67. package/.internal/core/render/Ellipse.d.ts +28 -0
  68. package/.internal/core/render/Ellipse.d.ts.map +1 -0
  69. package/.internal/core/render/Ellipse.js +51 -0
  70. package/.internal/core/render/Ellipse.js.map +1 -0
  71. package/.internal/core/render/GridLayout.d.ts.map +1 -1
  72. package/.internal/core/render/GridLayout.js +2 -2
  73. package/.internal/core/render/GridLayout.js.map +1 -1
  74. package/.internal/core/render/HorizontalLayout.d.ts.map +1 -1
  75. package/.internal/core/render/HorizontalLayout.js +14 -0
  76. package/.internal/core/render/HorizontalLayout.js.map +1 -1
  77. package/.internal/core/render/Line.js +1 -1
  78. package/.internal/core/render/Line.js.map +1 -1
  79. package/.internal/core/render/Series.d.ts +2 -2
  80. package/.internal/core/render/Series.d.ts.map +1 -1
  81. package/.internal/core/render/Series.js +4 -3
  82. package/.internal/core/render/Series.js.map +1 -1
  83. package/.internal/core/render/Slice.d.ts.map +1 -1
  84. package/.internal/core/render/Slice.js +7 -1
  85. package/.internal/core/render/Slice.js.map +1 -1
  86. package/.internal/core/render/Slider.d.ts +0 -2
  87. package/.internal/core/render/Slider.d.ts.map +1 -1
  88. package/.internal/core/render/Slider.js +0 -2
  89. package/.internal/core/render/Slider.js.map +1 -1
  90. package/.internal/core/render/Sprite.d.ts +11 -2
  91. package/.internal/core/render/Sprite.d.ts.map +1 -1
  92. package/.internal/core/render/Sprite.js +40 -17
  93. package/.internal/core/render/Sprite.js.map +1 -1
  94. package/.internal/core/render/VerticalLayout.d.ts.map +1 -1
  95. package/.internal/core/render/VerticalLayout.js +14 -0
  96. package/.internal/core/render/VerticalLayout.js.map +1 -1
  97. package/.internal/core/render/backend/CanvasRenderer.d.ts +9 -4
  98. package/.internal/core/render/backend/CanvasRenderer.d.ts.map +1 -1
  99. package/.internal/core/render/backend/CanvasRenderer.js +122 -30
  100. package/.internal/core/render/backend/CanvasRenderer.js.map +1 -1
  101. package/.internal/core/render/backend/Renderer.d.ts +2 -0
  102. package/.internal/core/render/backend/Renderer.d.ts.map +1 -1
  103. package/.internal/core/render/backend/Renderer.js.map +1 -1
  104. package/.internal/core/util/Array.d.ts.map +1 -1
  105. package/.internal/core/util/Array.js +13 -23
  106. package/.internal/core/util/Array.js.map +1 -1
  107. package/.internal/core/util/ColorSet.d.ts +0 -1
  108. package/.internal/core/util/ColorSet.d.ts.map +1 -1
  109. package/.internal/core/util/ColorSet.js +1 -12
  110. package/.internal/core/util/ColorSet.js.map +1 -1
  111. package/.internal/core/util/DateFormatter.d.ts.map +1 -1
  112. package/.internal/core/util/DateFormatter.js +4 -7
  113. package/.internal/core/util/DateFormatter.js.map +1 -1
  114. package/.internal/core/util/Entity.d.ts +4 -0
  115. package/.internal/core/util/Entity.d.ts.map +1 -1
  116. package/.internal/core/util/Entity.js +54 -7
  117. package/.internal/core/util/Entity.js.map +1 -1
  118. package/.internal/core/util/Template.js +1 -1
  119. package/.internal/core/util/Template.js.map +1 -1
  120. package/.internal/core/util/TextFormatter.js +2 -2
  121. package/.internal/core/util/TextFormatter.js.map +1 -1
  122. package/.internal/core/util/Time.d.ts +16 -19
  123. package/.internal/core/util/Time.d.ts.map +1 -1
  124. package/.internal/core/util/Time.js +209 -122
  125. package/.internal/core/util/Time.js.map +1 -1
  126. package/.internal/core/util/Timezone.d.ts +28 -0
  127. package/.internal/core/util/Timezone.d.ts.map +1 -0
  128. package/.internal/core/util/Timezone.js +138 -0
  129. package/.internal/core/util/Timezone.js.map +1 -0
  130. package/.internal/core/util/Utils.d.ts +1 -1
  131. package/.internal/core/util/Utils.js +1 -1
  132. package/.internal/core/util/Utils.js.map +1 -1
  133. package/.internal/plugins/exporting/Exporting.d.ts +10 -1
  134. package/.internal/plugins/exporting/Exporting.d.ts.map +1 -1
  135. package/.internal/plugins/exporting/Exporting.js +11 -3
  136. package/.internal/plugins/exporting/Exporting.js.map +1 -1
  137. package/.internal/plugins/sliceGrouper/SliceGrouper.d.ts +76 -0
  138. package/.internal/plugins/sliceGrouper/SliceGrouper.d.ts.map +1 -0
  139. package/.internal/plugins/sliceGrouper/SliceGrouper.js +241 -0
  140. package/.internal/plugins/sliceGrouper/SliceGrouper.js.map +1 -0
  141. package/CHANGELOG.md +61 -0
  142. package/examples/javascript/flow-chord/package.json +1 -1
  143. package/examples/javascript/flow-chord-directed/package.json +1 -1
  144. package/examples/javascript/flow-chord-non-ribbon/package.json +1 -1
  145. package/examples/javascript/flow-sankey/package.json +1 -1
  146. package/examples/javascript/gauge/package.json +1 -1
  147. package/examples/javascript/gauge-bands/package.json +1 -1
  148. package/examples/javascript/hierarchy-force-directed/package.json +1 -1
  149. package/examples/javascript/hierarchy-pack/package.json +1 -1
  150. package/examples/javascript/hierarchy-partition/package.json +1 -1
  151. package/examples/javascript/hierarchy-sunburst/package.json +1 -1
  152. package/examples/javascript/hierarchy-tree/package.json +1 -1
  153. package/examples/javascript/hierarchy-treemap/package.json +1 -1
  154. package/examples/javascript/map-animating-along-lines/package.json +1 -1
  155. package/examples/javascript/map-day-and-night/package.json +1 -1
  156. package/examples/javascript/map-globe-rotate-to-country/package.json +1 -1
  157. package/examples/javascript/map-globe-with-projected-circles/package.json +1 -1
  158. package/examples/javascript/map-with-bubbles/package.json +1 -1
  159. package/examples/javascript/map-zoom-to-country/package.json +1 -1
  160. package/examples/javascript/misc-40-charts/package.json +1 -1
  161. package/examples/javascript/misc-microchart-grid/package.json +1 -1
  162. package/examples/javascript/pie-chart/package.json +1 -1
  163. package/examples/javascript/pie-donut-chart/package.json +1 -1
  164. package/examples/javascript/pie-variable-radius/package.json +1 -1
  165. package/examples/javascript/radar-column-iwatch-style/package.json +1 -1
  166. package/examples/javascript/radar-heat-map/package.json +1 -1
  167. package/examples/javascript/radar-line/package.json +1 -1
  168. package/examples/javascript/radar-time-line/package.json +1 -1
  169. package/examples/javascript/sliced-funnel/package.json +1 -1
  170. package/examples/javascript/sliced-pictorial-stacked/package.json +1 -1
  171. package/examples/javascript/sliced-pyramid/package.json +1 -1
  172. package/examples/javascript/venn-diagram/package.json +1 -1
  173. package/examples/javascript/wordcloud-with-data/package.json +1 -1
  174. package/examples/javascript/wordcloud-with-text/package.json +1 -1
  175. package/examples/javascript/xy-100-percent-stacked-column/package.json +1 -1
  176. package/examples/javascript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  177. package/examples/javascript/xy-bubble/package.json +1 -1
  178. package/examples/javascript/xy-candlestick/package.json +1 -1
  179. package/examples/javascript/xy-clustered-column/package.json +1 -1
  180. package/examples/javascript/xy-column/package.json +1 -1
  181. package/examples/javascript/xy-comparing-series-google-analytics-style/package.json +1 -1
  182. package/examples/javascript/xy-data-grouping/package.json +1 -1
  183. package/examples/javascript/xy-draggable-range/package.json +1 -1
  184. package/examples/javascript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  185. package/examples/javascript/xy-dumbbell plot/package.json +1 -1
  186. package/examples/javascript/xy-evenly-spaced-date-axis/package.json +1 -1
  187. package/examples/javascript/xy-line/package.json +1 -1
  188. package/examples/javascript/xy-line-highlight-on-legend-hover/package.json +1 -1
  189. package/examples/javascript/xy-live-data/package.json +1 -1
  190. package/examples/javascript/xy-multiple-synced-value-axes/package.json +1 -1
  191. package/examples/javascript/xy-ohlc/package.json +1 -1
  192. package/examples/javascript/xy-real-time-data-sorting/package.json +1 -1
  193. package/examples/javascript/xy-smoothed-line/package.json +1 -1
  194. package/examples/javascript/xy-stacked-and-clustered-column/package.json +1 -1
  195. package/examples/javascript/xy-stacked-column/package.json +1 -1
  196. package/examples/javascript/xy-stacked-step/package.json +1 -1
  197. package/examples/javascript/xy-stock/package.json +1 -1
  198. package/examples/javascript/xy-stock-comparing/package.json +1 -1
  199. package/examples/typescript/flow-chord/package.json +1 -1
  200. package/examples/typescript/flow-chord-directed/package.json +1 -1
  201. package/examples/typescript/flow-chord-non-ribbon/package.json +1 -1
  202. package/examples/typescript/flow-sankey/package.json +1 -1
  203. package/examples/typescript/gauge/package.json +1 -1
  204. package/examples/typescript/gauge-bands/package.json +1 -1
  205. package/examples/typescript/hierarchy-force-directed/package.json +1 -1
  206. package/examples/typescript/hierarchy-pack/package.json +1 -1
  207. package/examples/typescript/hierarchy-partition/package.json +1 -1
  208. package/examples/typescript/hierarchy-sunburst/package.json +1 -1
  209. package/examples/typescript/hierarchy-tree/package.json +1 -1
  210. package/examples/typescript/hierarchy-treemap/package.json +1 -1
  211. package/examples/typescript/map-animating-along-lines/package.json +1 -1
  212. package/examples/typescript/map-day-and-night/package.json +1 -1
  213. package/examples/typescript/map-globe-rotate-to-country/package.json +1 -1
  214. package/examples/typescript/map-globe-with-projected-circles/package.json +1 -1
  215. package/examples/typescript/map-with-bubbles/package.json +1 -1
  216. package/examples/typescript/map-zoom-to-country/package.json +1 -1
  217. package/examples/typescript/misc-40-charts/package.json +1 -1
  218. package/examples/typescript/misc-microchart-grid/package.json +1 -1
  219. package/examples/typescript/pie-chart/package.json +1 -1
  220. package/examples/typescript/pie-donut-chart/package.json +1 -1
  221. package/examples/typescript/pie-variable-radius/package.json +1 -1
  222. package/examples/typescript/radar-column-iwatch-style/package.json +1 -1
  223. package/examples/typescript/radar-heat-map/package.json +1 -1
  224. package/examples/typescript/radar-line/package.json +1 -1
  225. package/examples/typescript/radar-time-line/package.json +1 -1
  226. package/examples/typescript/sliced-funnel/package.json +1 -1
  227. package/examples/typescript/sliced-pictorial-stacked/package.json +1 -1
  228. package/examples/typescript/sliced-pyramid/package.json +1 -1
  229. package/examples/typescript/venn-diagram/package.json +1 -1
  230. package/examples/typescript/wordcloud-with-data/package.json +1 -1
  231. package/examples/typescript/wordcloud-with-text/package.json +1 -1
  232. package/examples/typescript/xy-100-percent-stacked-column/package.json +1 -1
  233. package/examples/typescript/xy-animated-bullet-at-the-end-of-the-series/package.json +1 -1
  234. package/examples/typescript/xy-bubble/package.json +1 -1
  235. package/examples/typescript/xy-candlestick/package.json +1 -1
  236. package/examples/typescript/xy-clustered-column/package.json +1 -1
  237. package/examples/typescript/xy-column/package.json +1 -1
  238. package/examples/typescript/xy-comparing-series-google-analytics-style/package.json +1 -1
  239. package/examples/typescript/xy-data-grouping/package.json +1 -1
  240. package/examples/typescript/xy-draggable-range/package.json +1 -1
  241. package/examples/typescript/xy-drawing-series-with-mouse-or-touch/package.json +1 -1
  242. package/examples/typescript/xy-dumbbell plot/package.json +1 -1
  243. package/examples/typescript/xy-evenly-spaced-date-axis/package.json +1 -1
  244. package/examples/typescript/xy-line/package.json +1 -1
  245. package/examples/typescript/xy-line-highlight-on-legend-hover/package.json +1 -1
  246. package/examples/typescript/xy-live-data/package.json +1 -1
  247. package/examples/typescript/xy-multiple-synced-value-axes/package.json +1 -1
  248. package/examples/typescript/xy-ohlc/package.json +1 -1
  249. package/examples/typescript/xy-real-time-data-sorting/package.json +1 -1
  250. package/examples/typescript/xy-smoothed-line/package.json +1 -1
  251. package/examples/typescript/xy-stacked-and-clustered-column/package.json +1 -1
  252. package/examples/typescript/xy-stacked-column/package.json +1 -1
  253. package/examples/typescript/xy-stacked-step/package.json +1 -1
  254. package/examples/typescript/xy-stock/package.json +1 -1
  255. package/examples/typescript/xy-stock-comparing/package.json +1 -1
  256. package/index.d.ts +2 -0
  257. package/index.d.ts.map +1 -1
  258. package/index.js +2 -0
  259. package/index.js.map +1 -1
  260. package/package.json +1 -1
  261. package/plugins/sliceGrouper.d.ts +2 -0
  262. package/plugins/sliceGrouper.d.ts.map +1 -0
  263. package/plugins/sliceGrouper.js +2 -0
  264. package/plugins/sliceGrouper.js.map +1 -0
  265. package/xy.d.ts +1 -0
  266. package/xy.d.ts.map +1 -1
  267. package/xy.js +1 -0
  268. package/xy.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DateFormatter.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/DateFormatter.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ILocaleSettings } from \"./Language\"\n\nimport { Entity, IEntitySettings, IEntityPrivate } from \"./Entity\"\nimport { TextFormatter } from \"./TextFormatter\"\n\nimport * as $type from \"./Type\"\nimport * as $utils from \"./Utils\";\n\n/**\n * Interface describing parsed date format definition.\n *\n * @ignore\n */\nexport interface DateFormatInfo {\n\t\"template\": string;\n\t\"parts\": any[];\n}\n\nexport interface IDateFormatterSettings extends IEntitySettings {\n\n\t/**\n\t * Should the first letter of the formatted date be capitalized?\n\t *\n\t * @default true\n\t */\n\tcapitalize?: boolean;\n\n\t/**\n\t * A date format to be used when formatting dates.\n\t * \n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/formatters/formatting-dates/} for more info\n\t */\n\tdateFormat?: string | Intl.DateTimeFormatOptions;\n\n\t/**\n\t * An array of data fields that hold date values and should be formatted\n\t * with a [[DateFormatter]].\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/formatters/data-placeholders/#Formatting_placeholders} for more info\n\t */\n\tdateFields?: string[];\n\n\t/**\n\t * Locales to use when formatting using `Intl.DateFormatter`.\n\t */\n\tintlLocales?: string;\n\n}\n\nexport interface IDateFormatterPrivate extends IEntityPrivate {\n}\n\ntype Months = \"January\" | \"February\" | \"March\" | \"April\" | \"May\" | \"June\" | \"July\" | \"August\" | \"September\" | \"October\" | \"November\" | \"December\";\ntype ShortMonths = \"Jan\" | \"Feb\" | \"Mar\" | \"Apr\" | \"May(short)\" | \"Jun\" | \"Jul\" | \"Aug\" | \"Sep\" | \"Oct\" | \"Nov\" | \"Dec\";\ntype Weekdays = \"Sunday\" | \"Monday\" | \"Tuesday\" | \"Wednesday\" | \"Thursday\" | \"Friday\" | \"Saturday\";\ntype ShortWeekdays = \"Sun\" | \"Mon\" | \"Tue\" | \"Wed\" | \"Thu\" | \"Fri\" | \"Sat\";\n\nexport class DateFormatter extends Entity {\n\tdeclare public _settings: IDateFormatterSettings;\n\tdeclare public _privateSettings: IDateFormatterPrivate;\n\n\tprotected _setDefaults() {\n\t\t// Defaults\n\t\tthis._setDefault(\"capitalize\", true);\n\t\tthis._setDefault(\"dateFormat\", \"yyyy-MM-dd\");\n\n\t\tsuper._setDefaults();\n\t}\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\t}\n\n\tpublic format(source: any, format?: string | Intl.DateTimeFormatOptions): string {\n\n\t\t// Locale?\n\t\t// TODO\n\n\t\t// No format passed in or it's empty\n\t\tif (typeof format === \"undefined\" || format === \"\") {\n\t\t\tformat = this.get(\"dateFormat\", \"yyyy-MM-dd\");\n\t\t}\n\n\t\t// Init return value\n\t\tlet formatted;\n\n\t\t// Cast?\n\t\t// TODO: decide if we need to cast\n\t\tlet date: Date = source;\n\n\t\t// Is it a built-in format or Intl.DateTimeFormat\n\t\tif ($type.isObject(format)) {\n\n\t\t\ttry {\n\t\t\t\tconst locales = this.get(\"intlLocales\");\n\t\t\t\tif (locales) {\n\t\t\t\t\treturn new Intl.DateTimeFormat(locales, <Intl.DateTimeFormatOptions>format).format(date);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn new Intl.DateTimeFormat(undefined, <Intl.DateTimeFormatOptions>format).format(date);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcatch (e) {\n\t\t\t\treturn \"Invalid\";\n\t\t\t}\n\n\t\t}\n\n\t\t// get format info (it will also deal with parser caching)\n\t\tlet info = this.parseFormat(format);\n\n\t\t// Should we apply custom time zone?\n\t\t// TODO\n\t\t// if (this.timezoneOffset != null) {\n\t\t// \tdate.setMinutes(date.getMinutes() + date.getTimezoneOffset() - this.timezoneOffset);\n\t\t// }\n\t\t// else if (this.timezone != null) {\n\t\t// \tdate = $time.setTimezone(date, this.timezone);\n\t\t// }\n\n\t\t// Check if it's a valid date\n\t\tif (!$type.isNumber(date.getTime())) {\n\t\t\t// TODO translation\n\t\t\t//return this._t(\"Invalid date\");\n\t\t\treturn \"Invalid date\";\n\t\t}\n\n\t\t// Apply format\n\t\tformatted = this.applyFormat(date, info);\n\n\t\t// Capitalize\n\t\tif (this.get(\"capitalize\")) {\n\t\t\tformatted = formatted.replace(\n\t\t\t\t/^.{1}/, formatted.substr(0, 1).toUpperCase()\n\t\t\t);\n\t\t}\n\n\t\t// We're done\n\t\treturn formatted;\n\t}\n\n\t/**\n\t * Applies format to Date.\n\t *\n\t * @param date Date object\n\t * @param info Parsed format information\n\t * @return Formatted date string\n\t */\n\tprotected applyFormat(date: Date, info: DateFormatInfo): string {\n\n\t\t// Init return value\n\t\tlet res = info.template;\n\n\t\t// Get values\n\t\tlet fullYear: number,\n\t\t\tmonth: number,\n\t\t\tweekday: number,\n\t\t\tday: number,\n\t\t\thours: number,\n\t\t\tminutes: number,\n\t\t\tseconds: number,\n\t\t\tmilliseconds: number,\n\t\t\toffset: number = date.getTimezoneOffset(),\n\t\t\ttimestamp: number = date.getTime();\n\t\tif (this._root.utc) {\n\t\t\tfullYear = date.getUTCFullYear();\n\t\t\tmonth = date.getUTCMonth();\n\t\t\tweekday = date.getUTCDay();\n\t\t\tday = date.getUTCDate();\n\t\t\thours = date.getUTCHours();\n\t\t\tminutes = date.getUTCMinutes();\n\t\t\tseconds = date.getUTCSeconds();\n\t\t\tmilliseconds = date.getUTCMilliseconds();\n\t\t}\n\t\telse {\n\t\t\tfullYear = date.getFullYear();\n\t\t\tmonth = date.getMonth();\n\t\t\tweekday = date.getDay();\n\t\t\tday = date.getDate();\n\t\t\thours = date.getHours();\n\t\t\tminutes = date.getMinutes();\n\t\t\tseconds = date.getSeconds();\n\t\t\tmilliseconds = date.getMilliseconds();\n\t\t}\n\n\t\t// Go through each part and format/replace it in template\n\t\tfor (let i = 0, len = info.parts.length; i < len; i++) {\n\t\t\tlet value: string = \"\";\n\t\t\tswitch (info.parts[i]) {\n\n\t\t\t\tcase \"G\":\n\t\t\t\t\tvalue = this._t(\n\t\t\t\t\t\tfullYear < 0\n\t\t\t\t\t\t\t? \"_era_bc\"\n\t\t\t\t\t\t\t: \"_era_ad\"\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"yyyy\":\n\t\t\t\t\tvalue = Math.abs(fullYear).toString();\n\t\t\t\t\tif (fullYear < 0) {\n\t\t\t\t\t\tvalue += this._t(\"_era_bc\");\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"yyy\":\n\t\t\t\tcase \"yy\":\n\t\t\t\tcase \"y\":\n\t\t\t\t\tvalue = Math.abs(fullYear).toString().substr(-info.parts[i].length);\n\t\t\t\t\tif (fullYear < 0) {\n\t\t\t\t\t\tvalue += this._t(\"_era_bc\");\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"YYYY\":\n\t\t\t\tcase \"YYY\":\n\t\t\t\tcase \"YY\":\n\t\t\t\tcase \"Y\":\n\t\t\t\t\tlet week = $utils.getWeek(date);\n\t\t\t\t\tlet year = fullYear;\n\t\t\t\t\tif (week == 1 && (weekday > 4)) {\n\t\t\t\t\t\tyear--;\n\t\t\t\t\t}\n\t\t\t\t\tif (info.parts[i] == \"YYYY\") {\n\t\t\t\t\t\tvalue = Math.abs(year).toString();\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tvalue = Math.abs(year).toString().substr(-info.parts[i].length);\n\t\t\t\t\t}\n\t\t\t\t\tif (year < 0) {\n\t\t\t\t\t\tvalue += this._t(\"_era_bc\");\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"u\":\n\t\t\t\t\t// @todo\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"q\":\n\t\t\t\t\tvalue = \"\" + Math.ceil((date.getMonth() + 1) / 3);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"MMMMM\":\n\t\t\t\t\tvalue = this._t(this._getMonth(month)).substr(0, 1);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"MMMM\":\n\t\t\t\t\tvalue = this._t(this._getMonth(month));\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"MMM\":\n\t\t\t\t\tvalue = this._t(this._getShortMonth(month));\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"MM\":\n\t\t\t\t\tvalue = $utils.padString(month + 1, 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"M\":\n\t\t\t\t\tvalue = (month + 1).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"ww\":\n\t\t\t\t\tvalue = $utils.padString($utils.getWeek(date, this._root.utc), 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"w\":\n\t\t\t\t\tvalue = $utils.getWeek(date, this._root.utc).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"W\":\n\t\t\t\t\tvalue = $utils.getMonthWeek(date, this._root.utc).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"dd\":\n\t\t\t\t\tvalue = $utils.padString(day, 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"d\":\n\t\t\t\t\tvalue = day.toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"DD\":\n\t\t\t\tcase \"DDD\":\n\t\t\t\t\tvalue = $utils.padString($utils.getYearDay(date, this._root.utc).toString(), info.parts[i].length, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"D\":\n\t\t\t\t\tvalue = $utils.getYearDay(date, this._root.utc).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"F\":\n\t\t\t\t\t// @todo\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"g\":\n\t\t\t\t\t// @todo\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"t\":\n\t\t\t\t\tvalue = this._root.language.translateFunc(\"_dateOrd\").call(this, day);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"E\":\n\t\t\t\t\tvalue = (weekday || 7).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"EE\":\n\t\t\t\t\tvalue = $utils.padString((weekday || 7).toString(), 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"EEE\":\n\t\t\t\tcase \"eee\":\n\t\t\t\t\tvalue = this._t(this._getShortWeekday(weekday));\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"EEEE\":\n\t\t\t\tcase \"eeee\":\n\t\t\t\t\tvalue = this._t(this._getShortWeekday(weekday));\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"EEEEE\":\n\t\t\t\tcase \"eeeee\":\n\t\t\t\t\tvalue = this._t(this._getShortWeekday(weekday)).substr(0, 1);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"e\":\n\t\t\t\tcase \"ee\":\n\t\t\t\t\tvalue = (weekday - (this._root.locale.firstDayOfWeek || 1) + 1).toString();\n\t\t\t\t\tif (info.parts[i] == \"ee\") {\n\t\t\t\t\t\tvalue = $utils.padString(value, 2, \"0\");\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"a\":\n\t\t\t\t\tif (hours >= 12) {\n\t\t\t\t\t\tvalue = this._t(\"PM\");\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tvalue = this._t(\"AM\");\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"aa\":\n\t\t\t\t\tif (hours >= 12) {\n\t\t\t\t\t\tvalue = this._t(\"P.M.\");\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tvalue = this._t(\"A.M.\");\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"aaa\":\n\t\t\t\t\tif (hours >= 12) {\n\t\t\t\t\t\tvalue = this._t(\"P\");\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tvalue = this._t(\"A\");\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"h\":\n\t\t\t\t\tvalue = $utils.get12Hours(hours).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"hh\":\n\t\t\t\t\tvalue = $utils.padString($utils.get12Hours(hours), 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"H\":\n\t\t\t\t\tvalue = hours.toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"HH\":\n\t\t\t\t\tvalue = $utils.padString(hours, 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"K\":\n\t\t\t\t\tvalue = $utils.get12Hours(hours, 0).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"KK\":\n\t\t\t\t\tvalue = $utils.padString($utils.get12Hours(hours, 0), 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"k\":\n\t\t\t\t\tvalue = (hours + 1).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"kk\":\n\t\t\t\t\tvalue = $utils.padString(hours + 1, 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"m\":\n\t\t\t\t\tvalue = minutes.toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"mm\":\n\t\t\t\t\tvalue = $utils.padString(minutes, 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"s\":\n\t\t\t\t\tvalue = seconds.toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"ss\":\n\t\t\t\t\tvalue = $utils.padString(seconds, 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"S\":\n\t\t\t\tcase \"SS\":\n\t\t\t\tcase \"SSS\":\n\t\t\t\t\tvalue = Math.round((milliseconds / 1000) * Math.pow(10, info.parts[i].length)).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"x\":\n\t\t\t\t\tvalue = timestamp.toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"n\":\n\t\t\t\tcase \"nn\":\n\t\t\t\tcase \"nnn\":\n\t\t\t\t\tvalue = $utils.padString(milliseconds, info.parts[i].length, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"z\":\n\t\t\t\t\tvalue = $utils.getTimeZone(date, false, false, this._root.utc);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"zz\":\n\t\t\t\t\tvalue = $utils.getTimeZone(date, true, false, this._root.utc);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"zzz\":\n\t\t\t\t\tvalue = $utils.getTimeZone(date, false, true, this._root.utc);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"zzzz\":\n\t\t\t\t\tvalue = $utils.getTimeZone(date, true, true, this._root.utc);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"Z\":\n\t\t\t\tcase \"ZZ\":\n\t\t\t\t\tlet tz = Math.abs(offset) / 60;\n\t\t\t\t\tlet tzh = Math.floor(tz);\n\t\t\t\t\tlet tzm = tz * 60 - tzh * 60;\n\n\t\t\t\t\tif (this._root.utc) {\n\t\t\t\t\t\ttzh = 0;\n\t\t\t\t\t\ttzm = 0;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (info.parts[i] == \"Z\") {\n\t\t\t\t\t\tvalue = \"GMT\";\n\t\t\t\t\t\tvalue += offset > 0 ? \"-\" : \"+\";\n\t\t\t\t\t\tvalue += $utils.padString(tzh, 2) + \":\" + $utils.padString(tzm, 2);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tvalue = offset > 0 ? \"-\" : \"+\";\n\t\t\t\t\t\tvalue += $utils.padString(tzh, 2) + $utils.padString(tzm, 2);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"i\":\n\t\t\t\t\tvalue = date.toISOString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"I\":\n\t\t\t\t\tvalue = date.toUTCString();\n\t\t\t\t\tbreak;\n\n\t\t\t}\n\t\t\tres = res.replace($type.PLACEHOLDER, value);\n\t\t}\n\n\t\treturn res;\n\t}\n\n\t/**\n\t * Parses format into structured infromation.\n\t *\n\t * @param format Format template\n\t */\n\tprotected parseFormat(format: string): DateFormatInfo {\n\n\t\t// Check cache\n\t\t// TODO: implement caching of the parsed format\n\n\t\t// Init format parse info holder\n\t\tlet info: DateFormatInfo = {\n\t\t\t\"template\": \"\",\n\t\t\t\"parts\": <any>[]\n\t\t};\n\n\t\t// Let TextFormatter split into chunks\n\t\tlet chunks = TextFormatter.chunk(format, true);\n\t\tfor (let i: number = 0; i < chunks.length; i++) {\n\t\t\tlet chunk = chunks[i];\n\n\t\t\tif (chunk.type === \"value\") {\n\n\t\t\t\t// Just \"Date\"?\n\t\t\t\tif (chunk.text.match(/^date$/i)) {\n\t\t\t\t\tlet dateFormat = this.get(\"dateFormat\", \"yyyy-MM-dd\");\n\t\t\t\t\tif (!$type.isString(dateFormat)) {\n\t\t\t\t\t\tdateFormat = \"yyyy-MM-dd\";\n\t\t\t\t\t}\n\t\t\t\t\tchunk.text = dateFormat;\n\t\t\t\t}\n\n\t\t\t\t// Find all possible parts\n\t\t\t\tlet matches = chunk.text.match(/G|yyyy|yyy|yy|y|YYYY|YYY|YY|Y|u|q|MMMMM|MMMM|MMM|MM|M|ww|w|W|dd|d|DDD|DD|D|F|g|EEEEE|EEEE|EEE|EE|E|eeeee|eeee|eee|ee|e|aaa|aa|a|hh|h|HH|H|KK|K|kk|k|mm|m|ss|s|SSS|SS|S|A|zzzz|zzz|zz|z|ZZ|Z|t|x|nnn|nn|n|i|I/g);\n\n\t\t\t\t// Found?\n\t\t\t\tif (matches) {\n\n\t\t\t\t\t// Populate template\n\t\t\t\t\tfor (let x = 0; x < matches.length; x++) {\n\t\t\t\t\t\tinfo.parts.push(matches[x]);\n\t\t\t\t\t\tchunk.text = chunk.text.replace(matches[x], $type.PLACEHOLDER);\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t// Apply to template\n\t\t\tinfo.template += chunk.text;\n\t\t}\n\n\t\t// Save cache\n\t\t// TODO\n\n\t\treturn info;\n\t}\n\n\tprotected _months(): Months[] {\n\t\treturn [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\n\t}\n\n\tprotected _getMonth(index: number): Months {\n\t\treturn this._months()[index];\n\t}\n\n\tprotected _shortMonths(): ShortMonths[] {\n\t\treturn [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May(short)\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\n\t}\n\n\tprotected _getShortMonth(index: number): ShortMonths {\n\t\treturn this._shortMonths()[index];\n\t}\n\n\tprotected _weekdays(): Weekdays[] {\n\t\treturn [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"];\n\t}\n\n\tprotected _getWeekday(index: number): Weekdays {\n\t\treturn this._weekdays()[index];\n\t}\n\n\tprotected _shortWeekdays(): ShortWeekdays[] {\n\t\treturn [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\n\t}\n\n\tprotected _getShortWeekday(index: number): ShortWeekdays {\n\t\treturn this._shortWeekdays()[index];\n\t}\n\n\tpublic parse(source: any, format: string): Date {\n\n\t\t// Is it already a Date\n\t\tif (source instanceof Date) {\n\t\t\treturn source;\n\t\t}\n\n\t\t// Is it a numeric timestamp\n\t\tif ($type.isNumber(source)) {\n\t\t\treturn new Date(source);\n\t\t}\n\n\t\t// No? Let's check if it's string, and try converting to it if nec\n\t\tif (!$type.isString(source)) {\n\t\t\tsource = source.toString();\n\t\t}\n\n\t\t// Init return value\n\t\tlet res: Date;\n\n\t\t// Init RegEx for parsing\n\t\tlet reg: string = \"\";\n\n\t\t// Clean format\n\t\tformat = $utils.cleanFormat(format);\n\n\t\t// Clip format to length of the source string\n\t\tformat = format.substr(0, source.length);\n\n\t\t// Parse format\n\t\tlet info = this.parseFormat(format);\n\n\t\t// Init parsed items holder\n\t\tlet parsedIndexes = {\n\t\t\t\"year\": -1,\n\t\t\t\"year3\": -1,\n\t\t\t\"year2\": -1,\n\t\t\t\"year1\": -1,\n\t\t\t\"month\": -1,\n\t\t\t\"monthShort\": -1,\n\t\t\t\"monthLong\": -1,\n\t\t\t\"weekdayShort\": -1,\n\t\t\t\"weekdayLong\": -1,\n\t\t\t\"day\": -1,\n\t\t\t\"yearDay\": -1,\n\t\t\t\"week\": -1,\n\t\t\t\"hourBase0\": -1,\n\t\t\t\"hour12Base0\": -1,\n\t\t\t\"hourBase1\": -1,\n\t\t\t\"hour12Base1\": -1,\n\t\t\t\"minute\": -1,\n\t\t\t\"second\": -1,\n\t\t\t\"millisecond\": -1,\n\t\t\t\"millisecondDigits\": -1,\n\t\t\t\"am\": -1,\n\t\t\t\"zone\": -1,\n\t\t\t\"timestamp\": -1,\n\t\t\t\"iso\": -1\n\t\t};\n\n\t\t// Init values\n\t\tlet resValues = {\n\t\t\t\"year\": 1970,\n\t\t\t\"month\": 0,\n\t\t\t\"day\": 1,\n\t\t\t\"hour\": 0,\n\t\t\t\"minute\": 0,\n\t\t\t\"second\": 0,\n\t\t\t\"millisecond\": 0,\n\t\t\t\"timestamp\": <any>null,\n\t\t\t\"offset\": 0,\n\t\t\t\"utc\": this._root.utc\n\t\t}\n\n\t\t// Index adjuster\n\t\tlet indexAdjust: number = 0;\n\t\tlet index: number = 0;\n\n\t\t// Iterate through all of the parts\n\t\tfor (let i: number = 0; i < info.parts.length; i++) {\n\n\t\t\t// Set current match index\n\t\t\tindex = i + indexAdjust + 1;\n\n\t\t\tswitch (info.parts[i]) {\n\n\t\t\t\tcase \"yyyy\":\n\t\t\t\tcase \"YYYY\":\n\t\t\t\t\treg += \"([0-9]{4})\";\n\t\t\t\t\tparsedIndexes.year = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"yyy\":\n\t\t\t\tcase \"YYY\":\n\t\t\t\t\treg += \"([0-9]{3})\";\n\t\t\t\t\tparsedIndexes.year3 = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"yy\":\n\t\t\t\tcase \"YY\":\n\t\t\t\t\treg += \"([0-9]{2})\";\n\t\t\t\t\tparsedIndexes.year2 = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"y\":\n\t\t\t\tcase \"Y\":\n\t\t\t\t\treg += \"([0-9]{1})\";\n\t\t\t\t\tparsedIndexes.year1 = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"MMMM\":\n\t\t\t\t\treg += \"(\" + this.getStringList(this._months()).join(\"|\") + \")\";\n\t\t\t\t\tparsedIndexes.monthLong = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"MMM\":\n\t\t\t\t\treg += \"(\" + this.getStringList(this._shortMonths()).join(\"|\") + \")\";\n\t\t\t\t\tparsedIndexes.monthShort = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"MM\":\n\t\t\t\tcase \"M\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.month = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"ww\":\n\t\t\t\tcase \"w\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.week = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"dd\":\n\t\t\t\tcase \"d\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.day = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"DDD\":\n\t\t\t\tcase \"DD\":\n\t\t\t\tcase \"D\":\n\t\t\t\t\treg += \"([0-9]{3}|[0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.yearDay = index;\n\t\t\t\t\tbreak;\n\n\n\t\t\t\tcase \"dddd\":\n\t\t\t\t\treg += \"(\" + this.getStringList(this._weekdays()).join(\"|\") + \")\";\n\t\t\t\t\tparsedIndexes.weekdayLong = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"ddd\":\n\t\t\t\t\treg += \"(\" + this.getStringList(this._shortWeekdays()).join(\"|\") + \")\";\n\t\t\t\t\tparsedIndexes.weekdayShort = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"aaa\":\n\t\t\t\tcase \"aa\":\n\t\t\t\tcase \"a\":\n\t\t\t\t\t// TODO: fix (escape regex)\n\t\t\t\t\treg += \"(\" + this.getStringList([\"AM\", \"PM\", \"A\\.M\\.\", \"P\\.M\\.\", \"A\", \"P\"]).join(\"|\") + \")\";\n\t\t\t\t\tparsedIndexes.am = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"hh\":\n\t\t\t\tcase \"h\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.hour12Base1 = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"HH\":\n\t\t\t\tcase \"H\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.hourBase0 = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"KK\":\n\t\t\t\tcase \"K\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.hour12Base0 = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"kk\":\n\t\t\t\tcase \"k\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.hourBase1 = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"mm\":\n\t\t\t\tcase \"m\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.minute = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"ss\":\n\t\t\t\tcase \"s\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.second = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"SSS\":\n\t\t\t\tcase \"SS\":\n\t\t\t\tcase \"S\":\n\t\t\t\t\treg += \"([0-9]{3}|[0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.millisecond = index;\n\t\t\t\t\tparsedIndexes.millisecondDigits = info.parts[i].length;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"nnn\":\n\t\t\t\tcase \"nn\":\n\t\t\t\tcase \"n\":\n\t\t\t\t\treg += \"([0-9]{3}|[0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.millisecond = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"x\":\n\t\t\t\t\treg += \"([0-9]{1,})\";\n\t\t\t\t\tparsedIndexes.timestamp = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"Z\":\n\t\t\t\t\treg += \"GMT([-+]+[0-9]{2}:[0-9]{2})\";\n\t\t\t\t\tparsedIndexes.zone = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"ZZ\":\n\t\t\t\t\treg += \"([\\\\-+]+[0-9]{2}[0-9]{2})\";\n\t\t\t\t\tparsedIndexes.zone = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"i\":\n\t\t\t\t\treg += \"([0-9]{4})-?([0-9]{2})-?([0-9]{2})T?([0-9]{2}):?([0-9]{2}):?([0-9]{2})\\.?([0-9]{0,3})([zZ]|[+\\-][0-9]{2}:?[0-9]{2}|$)\";\n\t\t\t\t\tparsedIndexes.iso = index;\n\t\t\t\t\tindexAdjust += 7;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"G\":\n\t\t\t\tcase \"YYYY\":\n\t\t\t\tcase \"YYY\":\n\t\t\t\tcase \"YY\":\n\t\t\t\tcase \"Y\":\n\t\t\t\tcase \"MMMMM\":\n\t\t\t\tcase \"W\":\n\t\t\t\tcase \"EEEEE\":\n\t\t\t\tcase \"EEEE\":\n\t\t\t\tcase \"EEE\":\n\t\t\t\tcase \"EE\":\n\t\t\t\tcase \"E\":\n\t\t\t\tcase \"eeeee\":\n\t\t\t\tcase \"eeee\":\n\t\t\t\tcase \"eee\":\n\t\t\t\tcase \"ee\":\n\t\t\t\tcase \"e\":\n\t\t\t\tcase \"zzzz\":\n\t\t\t\tcase \"zzz\":\n\t\t\t\tcase \"zz\":\n\t\t\t\tcase \"z\":\n\t\t\t\tcase \"t\":\n\t\t\t\t\t// Ignore\n\t\t\t\t\tindexAdjust--;\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\treg += \"[^0-9]*\";\n\t\t}\n\n\t\t// Try matching\n\t\tlet regex = new RegExp(reg);\n\t\tlet matches: RegExpMatchArray = source.match(regex);\n\n\t\tif (matches) {\n\t\t\t// Populate the date object\n\n\t\t\t// Full year\n\t\t\tif (parsedIndexes.year > -1) {\n\t\t\t\tresValues.year = parseInt(matches[parsedIndexes.year]);\n\t\t\t}\n\n\t\t\t// 3-digit year\n\t\t\tif (parsedIndexes.year3 > -1) {\n\t\t\t\tlet val = parseInt(matches[parsedIndexes.year3]);\n\t\t\t\tval += 1000;\n\t\t\t\tresValues.year = val;\n\t\t\t}\n\n\t\t\t// 2-digit year\n\t\t\tif (parsedIndexes.year2 > -1) {\n\t\t\t\tlet val = parseInt(matches[parsedIndexes.year2]);\n\t\t\t\tif (val > 50) {\n\t\t\t\t\tval += 1000;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tval += 2000;\n\t\t\t\t}\n\t\t\t\tresValues.year = val;\n\t\t\t}\n\n\t\t\t// 1-digit year\n\t\t\tif (parsedIndexes.year1 > -1) {\n\t\t\t\tlet val = parseInt(matches[parsedIndexes.year1]);\n\t\t\t\tval = Math.floor((new Date().getFullYear()) / 10) * 10 + val;\n\t\t\t\tresValues.year = val;\n\t\t\t}\n\n\t\t\t// Full month\n\t\t\tif (parsedIndexes.monthLong > -1) {\n\t\t\t\tresValues.month = this.resolveMonth(<any>matches[parsedIndexes.monthLong]);\n\t\t\t}\n\n\t\t\t// Short month\n\t\t\tif (parsedIndexes.monthShort > -1) {\n\t\t\t\tresValues.month = this.resolveShortMonth(<any>matches[parsedIndexes.monthShort]);\n\t\t\t}\n\n\t\t\t// Numeric month\n\t\t\tif (parsedIndexes.month > -1) {\n\t\t\t\tresValues.month = parseInt(matches[parsedIndexes.month]) - 1;\n\t\t\t}\n\n\t\t\t// Weekday\n\t\t\t// @todo\n\n\t\t\t// Week\n\t\t\tif ((parsedIndexes.week > -1) && (parsedIndexes.day === -1)) {\n\t\t\t\t// We parse weeks ONLY if day is not explicitly set\n\t\t\t\t// TODO: this needs work\n\t\t\t\t// (but maybe later - I can hardly imagine anyone passing their dates in weeks)\n\t\t\t\tresValues.month = 0;\n\t\t\t\tresValues.day = $utils.getDayFromWeek(\n\t\t\t\t\tparseInt(matches[parsedIndexes.week]),\n\t\t\t\t\tresValues.year,\n\t\t\t\t\t1,\n\t\t\t\t\tthis._root.utc\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Day\n\t\t\tif (parsedIndexes.day > -1) {\n\t\t\t\tresValues.day = parseInt(matches[parsedIndexes.day]);\n\t\t\t}\n\n\t\t\t// Year day\n\t\t\tif (parsedIndexes.yearDay > -1) {\n\t\t\t\tresValues.month = 0;\n\t\t\t\tresValues.day = parseInt(matches[parsedIndexes.yearDay]);\n\t\t\t}\n\n\t\t\t// 24 Hour (0-23)\n\t\t\tif (parsedIndexes.hourBase0 > -1) {\n\t\t\t\tresValues.hour = parseInt(matches[parsedIndexes.hourBase0]);\n\t\t\t}\n\n\t\t\t// 24 Hour (1-24)\n\t\t\tif (parsedIndexes.hourBase1 > -1) {\n\t\t\t\tresValues.hour = parseInt(matches[parsedIndexes.hourBase1]) - 1;\n\t\t\t}\n\n\t\t\t// 12 Hour (0-11)\n\t\t\tif (parsedIndexes.hour12Base0 > -1) {\n\t\t\t\tlet val = parseInt(matches[parsedIndexes.hour12Base0]);\n\t\t\t\tif (val == 11) {\n\t\t\t\t\tval = 0;\n\t\t\t\t}\n\t\t\t\tif ((parsedIndexes.am > -1) && !this.isAm(matches[parsedIndexes.am])) {\n\t\t\t\t\tval += 12;\n\t\t\t\t}\n\t\t\t\tresValues.hour = val;\n\t\t\t}\n\n\t\t\t// 12 Hour (1-12)\n\t\t\tif (parsedIndexes.hour12Base1 > -1) {\n\t\t\t\tlet val = parseInt(matches[parsedIndexes.hour12Base1]);\n\t\t\t\tif (val == 12) {\n\t\t\t\t\tval = 0;\n\t\t\t\t}\n\t\t\t\tif ((parsedIndexes.am > -1) && !this.isAm(matches[parsedIndexes.am])) {\n\t\t\t\t\tval += 12;\n\t\t\t\t}\n\t\t\t\tresValues.hour = val;\n\t\t\t}\n\n\t\t\t// Minute\n\t\t\tif (parsedIndexes.minute > -1) {\n\t\t\t\tresValues.minute = parseInt(matches[parsedIndexes.minute]);\n\t\t\t}\n\n\t\t\t// Second\n\t\t\tif (parsedIndexes.second > -1) {\n\t\t\t\tresValues.second = parseInt(matches[parsedIndexes.second]);\n\t\t\t}\n\n\t\t\t// Millisecond\n\t\t\tif (parsedIndexes.millisecond > -1) {\n\t\t\t\tlet val = parseInt(matches[parsedIndexes.millisecond]);\n\t\t\t\tif (parsedIndexes.millisecondDigits == 2) {\n\t\t\t\t\tval *= 10;\n\t\t\t\t}\n\t\t\t\telse if (parsedIndexes.millisecondDigits == 1) {\n\t\t\t\t\tval *= 100;\n\t\t\t\t}\n\t\t\t\tresValues.millisecond = val;\n\t\t\t}\n\n\t\t\t// Timestamp\n\t\t\tif (parsedIndexes.timestamp > -1) {\n\t\t\t\tresValues.timestamp = parseInt(matches[parsedIndexes.timestamp]);\n\n\t\t\t\tconst ts = new Date(resValues.timestamp);\n\t\t\t\tresValues.year = ts.getUTCFullYear();\n\t\t\t\tresValues.month = ts.getUTCMonth();\n\t\t\t\tresValues.day = ts.getUTCDate();\n\t\t\t\tresValues.hour = ts.getUTCHours();\n\t\t\t\tresValues.minute = ts.getUTCMinutes();\n\t\t\t\tresValues.second = ts.getUTCSeconds();\n\t\t\t\tresValues.millisecond = ts.getUTCMilliseconds();\n\t\t\t}\n\n\t\t\t// Adjust time zone\n\t\t\tif (parsedIndexes.zone > -1) {\n\t\t\t\tresValues.offset = this.resolveTimezoneOffset(new Date(resValues.year, resValues.month, resValues.day), matches[parsedIndexes.zone]);\n\t\t\t}\n\n\t\t\t// ISO\n\t\t\tif (parsedIndexes.iso > -1) {\n\n\t\t\t\tresValues.year = $type.toNumber(matches[parsedIndexes.iso + 0]);\n\t\t\t\tresValues.month = $type.toNumber(matches[parsedIndexes.iso + 1]) - 1;\n\t\t\t\tresValues.day = $type.toNumber(matches[parsedIndexes.iso + 2]);\n\t\t\t\tresValues.hour = $type.toNumber(matches[parsedIndexes.iso + 3]);\n\t\t\t\tresValues.minute = $type.toNumber(matches[parsedIndexes.iso + 4]);\n\t\t\t\tresValues.second = $type.toNumber(matches[parsedIndexes.iso + 5]);\n\t\t\t\tresValues.millisecond = $type.toNumber(matches[parsedIndexes.iso + 6]);\n\n\t\t\t\tif (matches[parsedIndexes.iso + 7] == \"Z\" || matches[parsedIndexes.iso + 7] == \"z\") {\n\t\t\t\t\tresValues.utc = true;\n\t\t\t\t}\n\t\t\t\telse if (matches[parsedIndexes.iso + 7] != \"\") {\n\t\t\t\t\tresValues.offset = this.resolveTimezoneOffset(new Date(resValues.year, resValues.month, resValues.day), matches[parsedIndexes.iso + 7]);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Create Date object\n\t\t\tif (resValues.utc) {\n\t\t\t\tres = new Date(Date.UTC(\n\t\t\t\t\tresValues.year,\n\t\t\t\t\tresValues.month,\n\t\t\t\t\tresValues.day,\n\t\t\t\t\tresValues.hour,\n\t\t\t\t\tresValues.minute,\n\t\t\t\t\tresValues.second,\n\t\t\t\t\tresValues.millisecond\n\t\t\t\t));\n\t\t\t}\n\t\t\telse {\n\t\t\t\tres = new Date(\n\t\t\t\t\tresValues.year,\n\t\t\t\t\tresValues.month,\n\t\t\t\t\tresValues.day,\n\t\t\t\t\tresValues.hour,\n\t\t\t\t\tresValues.minute + resValues.offset,\n\t\t\t\t\tresValues.second,\n\t\t\t\t\tresValues.millisecond\n\t\t\t\t);\n\t\t\t}\n\n\t\t}\n\t\telse {\n\t\t\t// Didn't match anything\n\t\t\t// Let's try dropping it into Date constructor and hope for the best\n\t\t\tres = new Date(source);\n\t\t}\n\n\t\treturn res;\n\t}\n\n\tprotected resolveTimezoneOffset(date: Date, zone: string): number {\n\t\tlet value = zone.match(/([+\\-]?)([0-9]{2}):?([0-9]{2})/);\n\t\tif (value) {\n\t\t\tlet match = zone.match(/([+\\-]?)([0-9]{2}):?([0-9]{2})/)!;\n\t\t\tlet dir = match[1];\n\t\t\tlet hour = match[2];\n\t\t\tlet minute = match[3];\n\t\t\tlet offset = parseInt(hour) * 60 + parseInt(minute);\n\n\t\t\t// Adjust offset\n\t\t\t// Making it negative does not seem to make sense, but it's right\n\t\t\t// because of how JavaScript calculates GMT offsets\n\t\t\tif (dir == \"+\") {\n\t\t\t\toffset *= -1;\n\t\t\t}\n\n\t\t\t// Check the difference in offset\n\t\t\tlet originalOffset = (date || new Date()).getTimezoneOffset();\n\t\t\tlet diff = offset - originalOffset;\n\t\t\treturn diff;\n\t\t}\n\t\treturn 0;\n\t}\n\n\t/**\n\t * Resolves month name (i.e. \"December\") into a month number (11).\n\t *\n\t * @param value Month name\n\t * @return Month number\n\t */\n\tprotected resolveMonth(value: Months): number {\n\n\t\t// Let's try English first\n\t\tlet month: number = this._months().indexOf(value);\n\t\tif (month > -1) {\n\t\t\treturn month;\n\t\t}\n\n\t\t// Try the translation\n\t\tif (!this._root.language.isDefault()) {\n\t\t\tmonth = this._root.language.translateAll(this._months()).indexOf(value);\n\t\t\tif (month > -1) {\n\t\t\t\treturn month\n\t\t\t}\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\t/**\n\t * Resolves short month name (i.e. \"Dec\") into a month number.\n\t *\n\t * @param value Short month name\n\t * @return Month number\n\t */\n\tprotected resolveShortMonth(value: ShortMonths): number {\n\n\t\t// Let's try English first\n\t\tlet month: number = this._shortMonths().indexOf(value);\n\t\tif (month > -1) {\n\t\t\treturn month;\n\t\t}\n\n\t\t// Maybe long month (workaround for May)\n\t\tmonth = this._months().indexOf(<any>value);\n\t\tif (month > -1) {\n\t\t\treturn month;\n\t\t}\n\n\t\t// Try the translation\n\t\tif (this._root.language && !this._root.language.isDefault()) {\n\t\t\tmonth = this._root.language.translateAll(this._shortMonths()).indexOf(value);\n\t\t\tif (month > -1) {\n\t\t\t\treturn month\n\t\t\t}\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\t/**\n\t * Checks if passed in string represents AM/PM notation in many of its\n\t * versions.\n\t *\n\t * @param value Source string\n\t * @return Is it AM/PM?\n\t */\n\tprotected isAm(value: string): boolean {\n\t\tlet list = this.getStringList([\"AM\", \"A.M.\", \"A\"]);\n\t\treturn list.indexOf(value.toUpperCase()) > -1;\n\t}\n\n\t/**\n\t * Translates list of strings.\n\t *\n\t * @param list Source strings\n\t * @return Translated strings\n\t */\n\tprotected getStringList(list: Array<keyof ILocaleSettings>): Array<string> {\n\t\tlet res: string[] = [];\n\t\tfor (let i: number = 0; i < list.length; i++) {\n\t\t\t// translate?\n\t\t\tif (this._root.language) {\n\t\t\t\tres.push($utils.escapeForRgex(this._t(list[i])));\n\t\t\t}\n\t\t\telse {\n\t\t\t\tres.push($utils.escapeForRgex(list[i]));\n\t\t\t}\n\t\t}\n\t\treturn res;\n\t}\n\n}\n"]}
1
+ {"version":3,"file":"DateFormatter.js","sourceRoot":"","sources":["../../../../../src/.internal/core/util/DateFormatter.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ILocaleSettings } from \"./Language\"\n\nimport { Entity, IEntitySettings, IEntityPrivate } from \"./Entity\"\nimport { TextFormatter } from \"./TextFormatter\"\n\nimport * as $type from \"./Type\"\nimport * as $utils from \"./Utils\";\n\n/**\n * Interface describing parsed date format definition.\n *\n * @ignore\n */\nexport interface DateFormatInfo {\n\t\"template\": string;\n\t\"parts\": any[];\n}\n\nexport interface IDateFormatterSettings extends IEntitySettings {\n\n\t/**\n\t * Should the first letter of the formatted date be capitalized?\n\t *\n\t * @default true\n\t */\n\tcapitalize?: boolean;\n\n\t/**\n\t * A date format to be used when formatting dates.\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/formatters/formatting-dates/} for more info\n\t */\n\tdateFormat?: string | Intl.DateTimeFormatOptions;\n\n\t/**\n\t * An array of data fields that hold date values and should be formatted\n\t * with a [[DateFormatter]].\n\t *\n\t * @see {@link https://www.amcharts.com/docs/v5/concepts/formatters/data-placeholders/#Formatting_placeholders} for more info\n\t */\n\tdateFields?: string[];\n\n\t/**\n\t * Locales to use when formatting using `Intl.DateFormatter`.\n\t */\n\tintlLocales?: string;\n\n}\n\nexport interface IDateFormatterPrivate extends IEntityPrivate {\n}\n\ntype Months = \"January\" | \"February\" | \"March\" | \"April\" | \"May\" | \"June\" | \"July\" | \"August\" | \"September\" | \"October\" | \"November\" | \"December\";\ntype ShortMonths = \"Jan\" | \"Feb\" | \"Mar\" | \"Apr\" | \"May(short)\" | \"Jun\" | \"Jul\" | \"Aug\" | \"Sep\" | \"Oct\" | \"Nov\" | \"Dec\";\ntype Weekdays = \"Sunday\" | \"Monday\" | \"Tuesday\" | \"Wednesday\" | \"Thursday\" | \"Friday\" | \"Saturday\";\ntype ShortWeekdays = \"Sun\" | \"Mon\" | \"Tue\" | \"Wed\" | \"Thu\" | \"Fri\" | \"Sat\";\n\nexport class DateFormatter extends Entity {\n\tdeclare public _settings: IDateFormatterSettings;\n\tdeclare public _privateSettings: IDateFormatterPrivate;\n\n\tprotected _setDefaults() {\n\t\t// Defaults\n\t\tthis._setDefault(\"capitalize\", true);\n\t\tthis._setDefault(\"dateFormat\", \"yyyy-MM-dd\");\n\n\t\tsuper._setDefaults();\n\t}\n\n\tpublic _beforeChanged() {\n\t\tsuper._beforeChanged();\n\t}\n\n\tpublic format(source: any, format?: string | Intl.DateTimeFormatOptions): string {\n\n\t\t// Locale?\n\t\t// TODO\n\n\t\t// No format passed in or it's empty\n\t\tif (typeof format === \"undefined\" || format === \"\") {\n\t\t\tformat = this.get(\"dateFormat\", \"yyyy-MM-dd\");\n\t\t}\n\n\t\t// Init return value\n\t\tlet formatted;\n\n\t\t// Cast?\n\t\t// TODO: decide if we need to cast\n\t\tlet date: Date = source;\n\n\t\t// Is it a built-in format or Intl.DateTimeFormat\n\t\tif ($type.isObject(format)) {\n\n\t\t\ttry {\n\t\t\t\tconst locales = this.get(\"intlLocales\");\n\t\t\t\tif (locales) {\n\t\t\t\t\treturn new Intl.DateTimeFormat(locales, <Intl.DateTimeFormatOptions>format).format(date);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\treturn new Intl.DateTimeFormat(undefined, <Intl.DateTimeFormatOptions>format).format(date);\n\t\t\t\t}\n\t\t\t}\n\t\t\tcatch (e) {\n\t\t\t\treturn \"Invalid\";\n\t\t\t}\n\n\t\t}\n\n\t\t// get format info (it will also deal with parser caching)\n\t\tlet info = this.parseFormat(format);\n\n\t\t// Should we apply custom time zone?\n\t\tconst timezone = this._root.timezone;\n\t\tif (timezone && !this._root.utc) {\n\t\t\tdate = timezone.convertLocal(date);\n\t\t}\n\n\n\t\t// Check if it's a valid date\n\t\tif (!$type.isNumber(date.getTime())) {\n\t\t\t// TODO translation\n\t\t\t//return this._t(\"Invalid date\");\n\t\t\treturn \"Invalid date\";\n\t\t}\n\n\t\t// Apply format\n\t\tformatted = this.applyFormat(date, info);\n\n\t\t// Capitalize\n\t\tif (this.get(\"capitalize\")) {\n\t\t\tformatted = formatted.replace(\n\t\t\t\t/^.{1}/, formatted.substr(0, 1).toUpperCase()\n\t\t\t);\n\t\t}\n\n\t\t// We're done\n\t\treturn formatted;\n\t}\n\n\t/**\n\t * Applies format to Date.\n\t *\n\t * @param date Date object\n\t * @param info Parsed format information\n\t * @return Formatted date string\n\t */\n\tprotected applyFormat(date: Date, info: DateFormatInfo): string {\n\n\t\t// Init return value\n\t\tlet res = info.template;\n\n\t\t// Get values\n\t\tlet fullYear: number,\n\t\t\tmonth: number,\n\t\t\tweekday: number,\n\t\t\tday: number,\n\t\t\thours: number,\n\t\t\tminutes: number,\n\t\t\tseconds: number,\n\t\t\tmilliseconds: number,\n\t\t\toffset: number = date.getTimezoneOffset(),\n\t\t\ttimestamp: number = date.getTime();\n\t\tif (this._root.utc) {\n\t\t\tfullYear = date.getUTCFullYear();\n\t\t\tmonth = date.getUTCMonth();\n\t\t\tweekday = date.getUTCDay();\n\t\t\tday = date.getUTCDate();\n\t\t\thours = date.getUTCHours();\n\t\t\tminutes = date.getUTCMinutes();\n\t\t\tseconds = date.getUTCSeconds();\n\t\t\tmilliseconds = date.getUTCMilliseconds();\n\t\t}\n\t\telse {\n\t\t\tfullYear = date.getFullYear();\n\t\t\tmonth = date.getMonth();\n\t\t\tweekday = date.getDay();\n\t\t\tday = date.getDate();\n\t\t\thours = date.getHours();\n\t\t\tminutes = date.getMinutes();\n\t\t\tseconds = date.getSeconds();\n\t\t\tmilliseconds = date.getMilliseconds();\n\t\t}\n\n\t\t// Go through each part and format/replace it in template\n\t\tfor (let i = 0, len = info.parts.length; i < len; i++) {\n\t\t\tlet value: string = \"\";\n\t\t\tswitch (info.parts[i]) {\n\n\t\t\t\tcase \"G\":\n\t\t\t\t\tvalue = this._t(\n\t\t\t\t\t\tfullYear < 0\n\t\t\t\t\t\t\t? \"_era_bc\"\n\t\t\t\t\t\t\t: \"_era_ad\"\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"yyyy\":\n\t\t\t\t\tvalue = Math.abs(fullYear).toString();\n\t\t\t\t\tif (fullYear < 0) {\n\t\t\t\t\t\tvalue += this._t(\"_era_bc\");\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"yyy\":\n\t\t\t\tcase \"yy\":\n\t\t\t\tcase \"y\":\n\t\t\t\t\tvalue = Math.abs(fullYear).toString().substr(-info.parts[i].length);\n\t\t\t\t\tif (fullYear < 0) {\n\t\t\t\t\t\tvalue += this._t(\"_era_bc\");\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"YYYY\":\n\t\t\t\tcase \"YYY\":\n\t\t\t\tcase \"YY\":\n\t\t\t\tcase \"Y\":\n\t\t\t\t\tlet week = $utils.getWeek(date);\n\t\t\t\t\tlet year = fullYear;\n\t\t\t\t\tif (week == 1 && (weekday > 4)) {\n\t\t\t\t\t\tyear--;\n\t\t\t\t\t}\n\t\t\t\t\tif (info.parts[i] == \"YYYY\") {\n\t\t\t\t\t\tvalue = Math.abs(year).toString();\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tvalue = Math.abs(year).toString().substr(-info.parts[i].length);\n\t\t\t\t\t}\n\t\t\t\t\tif (year < 0) {\n\t\t\t\t\t\tvalue += this._t(\"_era_bc\");\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"u\":\n\t\t\t\t\t// @todo\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"q\":\n\t\t\t\t\tvalue = \"\" + Math.ceil((date.getMonth() + 1) / 3);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"MMMMM\":\n\t\t\t\t\tvalue = this._t(this._getMonth(month)).substr(0, 1);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"MMMM\":\n\t\t\t\t\tvalue = this._t(this._getMonth(month));\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"MMM\":\n\t\t\t\t\tvalue = this._t(this._getShortMonth(month));\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"MM\":\n\t\t\t\t\tvalue = $utils.padString(month + 1, 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"M\":\n\t\t\t\t\tvalue = (month + 1).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"ww\":\n\t\t\t\t\tvalue = $utils.padString($utils.getWeek(date, this._root.utc), 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"w\":\n\t\t\t\t\tvalue = $utils.getWeek(date, this._root.utc).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"W\":\n\t\t\t\t\tvalue = $utils.getMonthWeek(date, this._root.utc).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"dd\":\n\t\t\t\t\tvalue = $utils.padString(day, 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"d\":\n\t\t\t\t\tvalue = day.toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"DD\":\n\t\t\t\tcase \"DDD\":\n\t\t\t\t\tvalue = $utils.padString($utils.getYearDay(date, this._root.utc).toString(), info.parts[i].length, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"D\":\n\t\t\t\t\tvalue = $utils.getYearDay(date, this._root.utc).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"F\":\n\t\t\t\t\t// @todo\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"g\":\n\t\t\t\t\t// @todo\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"t\":\n\t\t\t\t\tvalue = this._root.language.translateFunc(\"_dateOrd\").call(this, day);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"E\":\n\t\t\t\t\tvalue = (weekday || 7).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"EE\":\n\t\t\t\t\tvalue = $utils.padString((weekday || 7).toString(), 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"EEE\":\n\t\t\t\tcase \"eee\":\n\t\t\t\t\tvalue = this._t(this._getShortWeekday(weekday));\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"EEEE\":\n\t\t\t\tcase \"eeee\":\n\t\t\t\t\tvalue = this._t(this._getShortWeekday(weekday));\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"EEEEE\":\n\t\t\t\tcase \"eeeee\":\n\t\t\t\t\tvalue = this._t(this._getShortWeekday(weekday)).substr(0, 1);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"e\":\n\t\t\t\tcase \"ee\":\n\t\t\t\t\tvalue = (weekday - (this._root.locale.firstDayOfWeek || 1) + 1).toString();\n\t\t\t\t\tif (info.parts[i] == \"ee\") {\n\t\t\t\t\t\tvalue = $utils.padString(value, 2, \"0\");\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"a\":\n\t\t\t\t\tif (hours >= 12) {\n\t\t\t\t\t\tvalue = this._t(\"PM\");\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tvalue = this._t(\"AM\");\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"aa\":\n\t\t\t\t\tif (hours >= 12) {\n\t\t\t\t\t\tvalue = this._t(\"P.M.\");\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tvalue = this._t(\"A.M.\");\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"aaa\":\n\t\t\t\t\tif (hours >= 12) {\n\t\t\t\t\t\tvalue = this._t(\"P\");\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tvalue = this._t(\"A\");\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"h\":\n\t\t\t\t\tvalue = $utils.get12Hours(hours).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"hh\":\n\t\t\t\t\tvalue = $utils.padString($utils.get12Hours(hours), 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"H\":\n\t\t\t\t\tvalue = hours.toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"HH\":\n\t\t\t\t\tvalue = $utils.padString(hours, 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"K\":\n\t\t\t\t\tvalue = $utils.get12Hours(hours, 0).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"KK\":\n\t\t\t\t\tvalue = $utils.padString($utils.get12Hours(hours, 0), 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"k\":\n\t\t\t\t\tvalue = (hours + 1).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"kk\":\n\t\t\t\t\tvalue = $utils.padString(hours + 1, 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"m\":\n\t\t\t\t\tvalue = minutes.toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"mm\":\n\t\t\t\t\tvalue = $utils.padString(minutes, 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"s\":\n\t\t\t\t\tvalue = seconds.toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"ss\":\n\t\t\t\t\tvalue = $utils.padString(seconds, 2, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"S\":\n\t\t\t\tcase \"SS\":\n\t\t\t\tcase \"SSS\":\n\t\t\t\t\tvalue = Math.round((milliseconds / 1000) * Math.pow(10, info.parts[i].length)).toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"x\":\n\t\t\t\t\tvalue = timestamp.toString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"n\":\n\t\t\t\tcase \"nn\":\n\t\t\t\tcase \"nnn\":\n\t\t\t\t\tvalue = $utils.padString(milliseconds, info.parts[i].length, \"0\");\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"z\":\n\t\t\t\t\tvalue = $utils.getTimeZone(date, false, false, this._root.utc);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"zz\":\n\t\t\t\t\tvalue = $utils.getTimeZone(date, true, false, this._root.utc);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"zzz\":\n\t\t\t\t\tvalue = $utils.getTimeZone(date, false, true, this._root.utc);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"zzzz\":\n\t\t\t\t\tvalue = $utils.getTimeZone(date, true, true, this._root.utc);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"Z\":\n\t\t\t\tcase \"ZZ\":\n\t\t\t\t\tlet tz = Math.abs(offset) / 60;\n\t\t\t\t\tlet tzh = Math.floor(tz);\n\t\t\t\t\tlet tzm = tz * 60 - tzh * 60;\n\n\t\t\t\t\tif (this._root.utc) {\n\t\t\t\t\t\ttzh = 0;\n\t\t\t\t\t\ttzm = 0;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (info.parts[i] == \"Z\") {\n\t\t\t\t\t\tvalue = \"GMT\";\n\t\t\t\t\t\tvalue += offset > 0 ? \"-\" : \"+\";\n\t\t\t\t\t\tvalue += $utils.padString(tzh, 2) + \":\" + $utils.padString(tzm, 2);\n\t\t\t\t\t}\n\t\t\t\t\telse {\n\t\t\t\t\t\tvalue = offset > 0 ? \"-\" : \"+\";\n\t\t\t\t\t\tvalue += $utils.padString(tzh, 2) + $utils.padString(tzm, 2);\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"i\":\n\t\t\t\t\tvalue = date.toISOString();\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"I\":\n\t\t\t\t\tvalue = date.toUTCString();\n\t\t\t\t\tbreak;\n\n\t\t\t}\n\t\t\tres = res.replace($type.PLACEHOLDER, value);\n\t\t}\n\n\t\treturn res;\n\t}\n\n\t/**\n\t * Parses format into structured infromation.\n\t *\n\t * @param format Format template\n\t */\n\tprotected parseFormat(format: string): DateFormatInfo {\n\n\t\t// Check cache\n\t\t// TODO: implement caching of the parsed format\n\n\t\t// Init format parse info holder\n\t\tlet info: DateFormatInfo = {\n\t\t\t\"template\": \"\",\n\t\t\t\"parts\": <any>[]\n\t\t};\n\n\t\t// Let TextFormatter split into chunks\n\t\tlet chunks = TextFormatter.chunk(format, true);\n\t\tfor (let i: number = 0; i < chunks.length; i++) {\n\t\t\tlet chunk = chunks[i];\n\n\t\t\tif (chunk.type === \"value\") {\n\n\t\t\t\t// Just \"Date\"?\n\t\t\t\tif (chunk.text.match(/^date$/i)) {\n\t\t\t\t\tlet dateFormat = this.get(\"dateFormat\", \"yyyy-MM-dd\");\n\t\t\t\t\tif (!$type.isString(dateFormat)) {\n\t\t\t\t\t\tdateFormat = \"yyyy-MM-dd\";\n\t\t\t\t\t}\n\t\t\t\t\tchunk.text = dateFormat;\n\t\t\t\t}\n\n\t\t\t\t// Find all possible parts\n\t\t\t\tlet matches = chunk.text.match(/G|yyyy|yyy|yy|y|YYYY|YYY|YY|Y|u|q|MMMMM|MMMM|MMM|MM|M|ww|w|W|dd|d|DDD|DD|D|F|g|EEEEE|EEEE|EEE|EE|E|eeeee|eeee|eee|ee|e|aaa|aa|a|hh|h|HH|H|KK|K|kk|k|mm|m|ss|s|SSS|SS|S|A|zzzz|zzz|zz|z|ZZ|Z|t|x|nnn|nn|n|i|I/g);\n\n\t\t\t\t// Found?\n\t\t\t\tif (matches) {\n\n\t\t\t\t\t// Populate template\n\t\t\t\t\tfor (let x = 0; x < matches.length; x++) {\n\t\t\t\t\t\tinfo.parts.push(matches[x]);\n\t\t\t\t\t\tchunk.text = chunk.text.replace(matches[x], $type.PLACEHOLDER);\n\t\t\t\t\t}\n\n\t\t\t\t}\n\n\t\t\t}\n\n\t\t\t// Apply to template\n\t\t\tinfo.template += chunk.text;\n\t\t}\n\n\t\t// Save cache\n\t\t// TODO\n\n\t\treturn info;\n\t}\n\n\tprotected _months(): Months[] {\n\t\treturn [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\n\t}\n\n\tprotected _getMonth(index: number): Months {\n\t\treturn this._months()[index];\n\t}\n\n\tprotected _shortMonths(): ShortMonths[] {\n\t\treturn [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May(short)\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\n\t}\n\n\tprotected _getShortMonth(index: number): ShortMonths {\n\t\treturn this._shortMonths()[index];\n\t}\n\n\tprotected _weekdays(): Weekdays[] {\n\t\treturn [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"];\n\t}\n\n\tprotected _getWeekday(index: number): Weekdays {\n\t\treturn this._weekdays()[index];\n\t}\n\n\tprotected _shortWeekdays(): ShortWeekdays[] {\n\t\treturn [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\n\t}\n\n\tprotected _getShortWeekday(index: number): ShortWeekdays {\n\t\treturn this._shortWeekdays()[index];\n\t}\n\n\tpublic parse(source: any, format: string): Date {\n\n\t\t// Is it already a Date\n\t\tif (source instanceof Date) {\n\t\t\treturn source;\n\t\t}\n\n\t\t// Is it a numeric timestamp\n\t\tif ($type.isNumber(source)) {\n\t\t\treturn new Date(source);\n\t\t}\n\n\t\t// No? Let's check if it's string, and try converting to it if nec\n\t\tif (!$type.isString(source)) {\n\t\t\tsource = source.toString();\n\t\t}\n\n\t\t// Init return value\n\t\tlet res: Date;\n\n\t\t// Init RegEx for parsing\n\t\tlet reg: string = \"\";\n\n\t\t// Clean format\n\t\tformat = $utils.cleanFormat(format);\n\n\t\t// Clip format to length of the source string\n\t\tformat = format.substr(0, source.length);\n\n\t\t// Parse format\n\t\tlet info = this.parseFormat(format);\n\n\t\t// Init parsed items holder\n\t\tlet parsedIndexes = {\n\t\t\t\"year\": -1,\n\t\t\t\"year3\": -1,\n\t\t\t\"year2\": -1,\n\t\t\t\"year1\": -1,\n\t\t\t\"month\": -1,\n\t\t\t\"monthShort\": -1,\n\t\t\t\"monthLong\": -1,\n\t\t\t\"weekdayShort\": -1,\n\t\t\t\"weekdayLong\": -1,\n\t\t\t\"day\": -1,\n\t\t\t\"yearDay\": -1,\n\t\t\t\"week\": -1,\n\t\t\t\"hourBase0\": -1,\n\t\t\t\"hour12Base0\": -1,\n\t\t\t\"hourBase1\": -1,\n\t\t\t\"hour12Base1\": -1,\n\t\t\t\"minute\": -1,\n\t\t\t\"second\": -1,\n\t\t\t\"millisecond\": -1,\n\t\t\t\"millisecondDigits\": -1,\n\t\t\t\"am\": -1,\n\t\t\t\"zone\": -1,\n\t\t\t\"timestamp\": -1,\n\t\t\t\"iso\": -1\n\t\t};\n\n\t\t// Init values\n\t\tlet resValues = {\n\t\t\t\"year\": 1970,\n\t\t\t\"month\": 0,\n\t\t\t\"day\": 1,\n\t\t\t\"hour\": 0,\n\t\t\t\"minute\": 0,\n\t\t\t\"second\": 0,\n\t\t\t\"millisecond\": 0,\n\t\t\t\"timestamp\": <any>null,\n\t\t\t\"offset\": 0,\n\t\t\t\"utc\": this._root.utc\n\t\t}\n\n\t\t// Index adjuster\n\t\tlet indexAdjust: number = 0;\n\t\tlet index: number = 0;\n\n\t\t// Iterate through all of the parts\n\t\tfor (let i: number = 0; i < info.parts.length; i++) {\n\n\t\t\t// Set current match index\n\t\t\tindex = i + indexAdjust + 1;\n\n\t\t\tswitch (info.parts[i]) {\n\n\t\t\t\tcase \"yyyy\":\n\t\t\t\tcase \"YYYY\":\n\t\t\t\t\treg += \"([0-9]{4})\";\n\t\t\t\t\tparsedIndexes.year = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"yyy\":\n\t\t\t\tcase \"YYY\":\n\t\t\t\t\treg += \"([0-9]{3})\";\n\t\t\t\t\tparsedIndexes.year3 = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"yy\":\n\t\t\t\tcase \"YY\":\n\t\t\t\t\treg += \"([0-9]{2})\";\n\t\t\t\t\tparsedIndexes.year2 = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"y\":\n\t\t\t\tcase \"Y\":\n\t\t\t\t\treg += \"([0-9]{1})\";\n\t\t\t\t\tparsedIndexes.year1 = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"MMMM\":\n\t\t\t\t\treg += \"(\" + this.getStringList(this._months()).join(\"|\") + \")\";\n\t\t\t\t\tparsedIndexes.monthLong = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"MMM\":\n\t\t\t\t\treg += \"(\" + this.getStringList(this._shortMonths()).join(\"|\") + \")\";\n\t\t\t\t\tparsedIndexes.monthShort = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"MM\":\n\t\t\t\tcase \"M\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.month = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"ww\":\n\t\t\t\tcase \"w\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.week = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"dd\":\n\t\t\t\tcase \"d\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.day = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"DDD\":\n\t\t\t\tcase \"DD\":\n\t\t\t\tcase \"D\":\n\t\t\t\t\treg += \"([0-9]{3}|[0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.yearDay = index;\n\t\t\t\t\tbreak;\n\n\n\t\t\t\tcase \"dddd\":\n\t\t\t\t\treg += \"(\" + this.getStringList(this._weekdays()).join(\"|\") + \")\";\n\t\t\t\t\tparsedIndexes.weekdayLong = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"ddd\":\n\t\t\t\t\treg += \"(\" + this.getStringList(this._shortWeekdays()).join(\"|\") + \")\";\n\t\t\t\t\tparsedIndexes.weekdayShort = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"aaa\":\n\t\t\t\tcase \"aa\":\n\t\t\t\tcase \"a\":\n\t\t\t\t\t// TODO: fix (escape regex)\n\t\t\t\t\treg += \"(\" + this.getStringList([\"AM\", \"PM\", \"A\\.M\\.\", \"P\\.M\\.\", \"A\", \"P\"]).join(\"|\") + \")\";\n\t\t\t\t\tparsedIndexes.am = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"hh\":\n\t\t\t\tcase \"h\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.hour12Base1 = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"HH\":\n\t\t\t\tcase \"H\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.hourBase0 = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"KK\":\n\t\t\t\tcase \"K\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.hour12Base0 = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"kk\":\n\t\t\t\tcase \"k\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.hourBase1 = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"mm\":\n\t\t\t\tcase \"m\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.minute = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"ss\":\n\t\t\t\tcase \"s\":\n\t\t\t\t\treg += \"([0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.second = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"SSS\":\n\t\t\t\tcase \"SS\":\n\t\t\t\tcase \"S\":\n\t\t\t\t\treg += \"([0-9]{3}|[0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.millisecond = index;\n\t\t\t\t\tparsedIndexes.millisecondDigits = info.parts[i].length;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"nnn\":\n\t\t\t\tcase \"nn\":\n\t\t\t\tcase \"n\":\n\t\t\t\t\treg += \"([0-9]{3}|[0-9]{2}|[0-9]{1})\";\n\t\t\t\t\tparsedIndexes.millisecond = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"x\":\n\t\t\t\t\treg += \"([0-9]{1,})\";\n\t\t\t\t\tparsedIndexes.timestamp = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"Z\":\n\t\t\t\t\treg += \"GMT([-+]+[0-9]{2}:[0-9]{2})\";\n\t\t\t\t\tparsedIndexes.zone = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"ZZ\":\n\t\t\t\t\treg += \"([\\\\-+]+[0-9]{2}[0-9]{2})\";\n\t\t\t\t\tparsedIndexes.zone = index;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"i\":\n\t\t\t\t\treg += \"([0-9]{4})-?([0-9]{2})-?([0-9]{2})T?([0-9]{2}):?([0-9]{2}):?([0-9]{2})\\.?([0-9]{0,3})([zZ]|[+\\-][0-9]{2}:?[0-9]{2}|$)\";\n\t\t\t\t\tparsedIndexes.iso = index;\n\t\t\t\t\tindexAdjust += 7;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase \"G\":\n\t\t\t\tcase \"YYYY\":\n\t\t\t\tcase \"YYY\":\n\t\t\t\tcase \"YY\":\n\t\t\t\tcase \"Y\":\n\t\t\t\tcase \"MMMMM\":\n\t\t\t\tcase \"W\":\n\t\t\t\tcase \"EEEEE\":\n\t\t\t\tcase \"EEEE\":\n\t\t\t\tcase \"EEE\":\n\t\t\t\tcase \"EE\":\n\t\t\t\tcase \"E\":\n\t\t\t\tcase \"eeeee\":\n\t\t\t\tcase \"eeee\":\n\t\t\t\tcase \"eee\":\n\t\t\t\tcase \"ee\":\n\t\t\t\tcase \"e\":\n\t\t\t\tcase \"zzzz\":\n\t\t\t\tcase \"zzz\":\n\t\t\t\tcase \"zz\":\n\t\t\t\tcase \"z\":\n\t\t\t\tcase \"t\":\n\t\t\t\t\t// Ignore\n\t\t\t\t\tindexAdjust--;\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\treg += \"[^0-9]*\";\n\t\t}\n\n\t\t// Try matching\n\t\tlet regex = new RegExp(reg);\n\t\tlet matches: RegExpMatchArray = source.match(regex);\n\n\t\tif (matches) {\n\t\t\t// Populate the date object\n\n\t\t\t// Full year\n\t\t\tif (parsedIndexes.year > -1) {\n\t\t\t\tresValues.year = parseInt(matches[parsedIndexes.year]);\n\t\t\t}\n\n\t\t\t// 3-digit year\n\t\t\tif (parsedIndexes.year3 > -1) {\n\t\t\t\tlet val = parseInt(matches[parsedIndexes.year3]);\n\t\t\t\tval += 1000;\n\t\t\t\tresValues.year = val;\n\t\t\t}\n\n\t\t\t// 2-digit year\n\t\t\tif (parsedIndexes.year2 > -1) {\n\t\t\t\tlet val = parseInt(matches[parsedIndexes.year2]);\n\t\t\t\tif (val > 50) {\n\t\t\t\t\tval += 1000;\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tval += 2000;\n\t\t\t\t}\n\t\t\t\tresValues.year = val;\n\t\t\t}\n\n\t\t\t// 1-digit year\n\t\t\tif (parsedIndexes.year1 > -1) {\n\t\t\t\tlet val = parseInt(matches[parsedIndexes.year1]);\n\t\t\t\tval = Math.floor((new Date().getFullYear()) / 10) * 10 + val;\n\t\t\t\tresValues.year = val;\n\t\t\t}\n\n\t\t\t// Full month\n\t\t\tif (parsedIndexes.monthLong > -1) {\n\t\t\t\tresValues.month = this.resolveMonth(<any>matches[parsedIndexes.monthLong]);\n\t\t\t}\n\n\t\t\t// Short month\n\t\t\tif (parsedIndexes.monthShort > -1) {\n\t\t\t\tresValues.month = this.resolveShortMonth(<any>matches[parsedIndexes.monthShort]);\n\t\t\t}\n\n\t\t\t// Numeric month\n\t\t\tif (parsedIndexes.month > -1) {\n\t\t\t\tresValues.month = parseInt(matches[parsedIndexes.month]) - 1;\n\t\t\t}\n\n\t\t\t// Weekday\n\t\t\t// @todo\n\n\t\t\t// Week\n\t\t\tif ((parsedIndexes.week > -1) && (parsedIndexes.day === -1)) {\n\t\t\t\t// We parse weeks ONLY if day is not explicitly set\n\t\t\t\t// TODO: this needs work\n\t\t\t\t// (but maybe later - I can hardly imagine anyone passing their dates in weeks)\n\t\t\t\tresValues.month = 0;\n\t\t\t\tresValues.day = $utils.getDayFromWeek(\n\t\t\t\t\tparseInt(matches[parsedIndexes.week]),\n\t\t\t\t\tresValues.year,\n\t\t\t\t\t1,\n\t\t\t\t\tthis._root.utc\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Day\n\t\t\tif (parsedIndexes.day > -1) {\n\t\t\t\tresValues.day = parseInt(matches[parsedIndexes.day]);\n\t\t\t}\n\n\t\t\t// Year day\n\t\t\tif (parsedIndexes.yearDay > -1) {\n\t\t\t\tresValues.month = 0;\n\t\t\t\tresValues.day = parseInt(matches[parsedIndexes.yearDay]);\n\t\t\t}\n\n\t\t\t// 24 Hour (0-23)\n\t\t\tif (parsedIndexes.hourBase0 > -1) {\n\t\t\t\tresValues.hour = parseInt(matches[parsedIndexes.hourBase0]);\n\t\t\t}\n\n\t\t\t// 24 Hour (1-24)\n\t\t\tif (parsedIndexes.hourBase1 > -1) {\n\t\t\t\tresValues.hour = parseInt(matches[parsedIndexes.hourBase1]) - 1;\n\t\t\t}\n\n\t\t\t// 12 Hour (0-11)\n\t\t\tif (parsedIndexes.hour12Base0 > -1) {\n\t\t\t\tlet val = parseInt(matches[parsedIndexes.hour12Base0]);\n\t\t\t\tif (val == 11) {\n\t\t\t\t\tval = 0;\n\t\t\t\t}\n\t\t\t\tif ((parsedIndexes.am > -1) && !this.isAm(matches[parsedIndexes.am])) {\n\t\t\t\t\tval += 12;\n\t\t\t\t}\n\t\t\t\tresValues.hour = val;\n\t\t\t}\n\n\t\t\t// 12 Hour (1-12)\n\t\t\tif (parsedIndexes.hour12Base1 > -1) {\n\t\t\t\tlet val = parseInt(matches[parsedIndexes.hour12Base1]);\n\t\t\t\tif (val == 12) {\n\t\t\t\t\tval = 0;\n\t\t\t\t}\n\t\t\t\tif ((parsedIndexes.am > -1) && !this.isAm(matches[parsedIndexes.am])) {\n\t\t\t\t\tval += 12;\n\t\t\t\t}\n\t\t\t\tresValues.hour = val;\n\t\t\t}\n\n\t\t\t// Minute\n\t\t\tif (parsedIndexes.minute > -1) {\n\t\t\t\tresValues.minute = parseInt(matches[parsedIndexes.minute]);\n\t\t\t}\n\n\t\t\t// Second\n\t\t\tif (parsedIndexes.second > -1) {\n\t\t\t\tresValues.second = parseInt(matches[parsedIndexes.second]);\n\t\t\t}\n\n\t\t\t// Millisecond\n\t\t\tif (parsedIndexes.millisecond > -1) {\n\t\t\t\tlet val = parseInt(matches[parsedIndexes.millisecond]);\n\t\t\t\tif (parsedIndexes.millisecondDigits == 2) {\n\t\t\t\t\tval *= 10;\n\t\t\t\t}\n\t\t\t\telse if (parsedIndexes.millisecondDigits == 1) {\n\t\t\t\t\tval *= 100;\n\t\t\t\t}\n\t\t\t\tresValues.millisecond = val;\n\t\t\t}\n\n\t\t\t// Timestamp\n\t\t\tif (parsedIndexes.timestamp > -1) {\n\t\t\t\tresValues.timestamp = parseInt(matches[parsedIndexes.timestamp]);\n\n\t\t\t\tconst ts = new Date(resValues.timestamp);\n\t\t\t\tresValues.year = ts.getUTCFullYear();\n\t\t\t\tresValues.month = ts.getUTCMonth();\n\t\t\t\tresValues.day = ts.getUTCDate();\n\t\t\t\tresValues.hour = ts.getUTCHours();\n\t\t\t\tresValues.minute = ts.getUTCMinutes();\n\t\t\t\tresValues.second = ts.getUTCSeconds();\n\t\t\t\tresValues.millisecond = ts.getUTCMilliseconds();\n\t\t\t}\n\n\t\t\t// Adjust time zone\n\t\t\tif (parsedIndexes.zone > -1) {\n\t\t\t\tresValues.offset = this.resolveTimezoneOffset(new Date(resValues.year, resValues.month, resValues.day), matches[parsedIndexes.zone]);\n\t\t\t}\n\n\t\t\t// ISO\n\t\t\tif (parsedIndexes.iso > -1) {\n\n\t\t\t\tresValues.year = $type.toNumber(matches[parsedIndexes.iso + 0]);\n\t\t\t\tresValues.month = $type.toNumber(matches[parsedIndexes.iso + 1]) - 1;\n\t\t\t\tresValues.day = $type.toNumber(matches[parsedIndexes.iso + 2]);\n\t\t\t\tresValues.hour = $type.toNumber(matches[parsedIndexes.iso + 3]);\n\t\t\t\tresValues.minute = $type.toNumber(matches[parsedIndexes.iso + 4]);\n\t\t\t\tresValues.second = $type.toNumber(matches[parsedIndexes.iso + 5]);\n\t\t\t\tresValues.millisecond = $type.toNumber(matches[parsedIndexes.iso + 6]);\n\n\t\t\t\tif (matches[parsedIndexes.iso + 7] == \"Z\" || matches[parsedIndexes.iso + 7] == \"z\") {\n\t\t\t\t\tresValues.utc = true;\n\t\t\t\t}\n\t\t\t\telse if (matches[parsedIndexes.iso + 7] != \"\") {\n\t\t\t\t\tresValues.offset = this.resolveTimezoneOffset(new Date(resValues.year, resValues.month, resValues.day), matches[parsedIndexes.iso + 7]);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Create Date object\n\t\t\tif (resValues.utc) {\n\t\t\t\tres = new Date(Date.UTC(\n\t\t\t\t\tresValues.year,\n\t\t\t\t\tresValues.month,\n\t\t\t\t\tresValues.day,\n\t\t\t\t\tresValues.hour,\n\t\t\t\t\tresValues.minute,\n\t\t\t\t\tresValues.second,\n\t\t\t\t\tresValues.millisecond\n\t\t\t\t));\n\t\t\t}\n\t\t\telse {\n\t\t\t\tres = new Date(\n\t\t\t\t\tresValues.year,\n\t\t\t\t\tresValues.month,\n\t\t\t\t\tresValues.day,\n\t\t\t\t\tresValues.hour,\n\t\t\t\t\tresValues.minute + resValues.offset,\n\t\t\t\t\tresValues.second,\n\t\t\t\t\tresValues.millisecond\n\t\t\t\t);\n\t\t\t}\n\n\t\t}\n\t\telse {\n\t\t\t// Didn't match anything\n\t\t\t// Let's try dropping it into Date constructor and hope for the best\n\t\t\tres = new Date(source);\n\t\t}\n\n\t\treturn res;\n\t}\n\n\tprotected resolveTimezoneOffset(date: Date, zone: string): number {\n\t\tlet value = zone.match(/([+\\-]?)([0-9]{2}):?([0-9]{2})/);\n\t\tif (value) {\n\t\t\tlet match = zone.match(/([+\\-]?)([0-9]{2}):?([0-9]{2})/)!;\n\t\t\tlet dir = match[1];\n\t\t\tlet hour = match[2];\n\t\t\tlet minute = match[3];\n\t\t\tlet offset = parseInt(hour) * 60 + parseInt(minute);\n\n\t\t\t// Adjust offset\n\t\t\t// Making it negative does not seem to make sense, but it's right\n\t\t\t// because of how JavaScript calculates GMT offsets\n\t\t\tif (dir == \"+\") {\n\t\t\t\toffset *= -1;\n\t\t\t}\n\n\t\t\t// Check the difference in offset\n\t\t\tlet originalOffset = (date || new Date()).getTimezoneOffset();\n\t\t\tlet diff = offset - originalOffset;\n\t\t\treturn diff;\n\t\t}\n\t\treturn 0;\n\t}\n\n\t/**\n\t * Resolves month name (i.e. \"December\") into a month number (11).\n\t *\n\t * @param value Month name\n\t * @return Month number\n\t */\n\tprotected resolveMonth(value: Months): number {\n\n\t\t// Let's try English first\n\t\tlet month: number = this._months().indexOf(value);\n\t\tif (month > -1) {\n\t\t\treturn month;\n\t\t}\n\n\t\t// Try the translation\n\t\tif (!this._root.language.isDefault()) {\n\t\t\tmonth = this._root.language.translateAll(this._months()).indexOf(value);\n\t\t\tif (month > -1) {\n\t\t\t\treturn month\n\t\t\t}\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\t/**\n\t * Resolves short month name (i.e. \"Dec\") into a month number.\n\t *\n\t * @param value Short month name\n\t * @return Month number\n\t */\n\tprotected resolveShortMonth(value: ShortMonths): number {\n\n\t\t// Let's try English first\n\t\tlet month: number = this._shortMonths().indexOf(value);\n\t\tif (month > -1) {\n\t\t\treturn month;\n\t\t}\n\n\t\t// Maybe long month (workaround for May)\n\t\tmonth = this._months().indexOf(<any>value);\n\t\tif (month > -1) {\n\t\t\treturn month;\n\t\t}\n\n\t\t// Try the translation\n\t\tif (this._root.language && !this._root.language.isDefault()) {\n\t\t\tmonth = this._root.language.translateAll(this._shortMonths()).indexOf(value);\n\t\t\tif (month > -1) {\n\t\t\t\treturn month\n\t\t\t}\n\t\t}\n\n\t\treturn 0;\n\t}\n\n\t/**\n\t * Checks if passed in string represents AM/PM notation in many of its\n\t * versions.\n\t *\n\t * @param value Source string\n\t * @return Is it AM/PM?\n\t */\n\tprotected isAm(value: string): boolean {\n\t\tlet list = this.getStringList([\"AM\", \"A.M.\", \"A\"]);\n\t\treturn list.indexOf(value.toUpperCase()) > -1;\n\t}\n\n\t/**\n\t * Translates list of strings.\n\t *\n\t * @param list Source strings\n\t * @return Translated strings\n\t */\n\tprotected getStringList(list: Array<keyof ILocaleSettings>): Array<string> {\n\t\tlet res: string[] = [];\n\t\tfor (let i: number = 0; i < list.length; i++) {\n\t\t\t// translate?\n\t\t\tif (this._root.language) {\n\t\t\t\tres.push($utils.escapeForRgex(this._t(list[i])));\n\t\t\t}\n\t\t\telse {\n\t\t\t\tres.push($utils.escapeForRgex(list[i]));\n\t\t\t}\n\t\t}\n\t\treturn res;\n\t}\n\n}\n"]}
@@ -21,6 +21,7 @@ export declare type Dirty<A> = {
21
21
  export declare class Adapters<E extends Settings> {
22
22
  private _entity;
23
23
  private _callbacks;
24
+ private _disabled;
24
25
  constructor(entity: E);
25
26
  /**
26
27
  * Add a function (`callback`) that will modify value for setting `key`.
@@ -28,6 +29,9 @@ export declare class Adapters<E extends Settings> {
28
29
  * @see {@link https://www.amcharts.com/docs/v5/concepts/settings/adapters/} for more info
29
30
  */
30
31
  add<Key extends keyof E["_settings"]>(key: Key, callback: <O extends E["_settings"]>(value: O[Key], target?: O, key?: Key) => O[Key]): IDisposer;
32
+ remove<Key extends keyof E["_settings"]>(key: Key): void;
33
+ enable<Key extends keyof E["_settings"]>(key: Key): void;
34
+ disable<Key extends keyof E["_settings"]>(key: Key): void;
31
35
  /**
32
36
  * @ignore
33
37
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Entity.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/util/Entity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAS,MAAM,UAAU,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAY,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,UAAU,EAAkB,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC,OAAO,KAAK,KAAK,MAAM,QAAQ,CAAC;AAIhC;;GAEG;AACH,oBAAY,KAAK,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO;CAAE,CAAC;AAGpD;;;;GAIG;AACH,qBAAa,QAAQ,CAAC,CAAC,SAAS,QAAQ;IACvC,OAAO,CAAC,OAAO,CAAI;IACnB,OAAO,CAAC,UAAU,CAAqH;gBAE3H,MAAM,EAAE,CAAC;IAIrB;;;;OAIG;IACI,GAAG,CAAC,GAAG,SAAS,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS;IAgBvJ;;OAEG;IACI,IAAI,CAAC,GAAG,SAAS,MAAM,CAAC,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC;CAWxG;AAGD,MAAM,WAAW,eAAe;IAE/B;;;;OAIG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAE1B;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAE9B;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAGtB;;OAEG;IACH,sBAAsB,CAAC,EAAC,MAAM,CAAC;IAE/B;;OAEG;IACH,oBAAoB,CAAC,EAAC,KAAK,CAAC,MAAM,CAAC;IAEnC;;;;;;OAMG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAC;CAEf;AAED,MAAM,WAAW,cAAc;CAC9B;AAED,MAAM,WAAW,aAAa;CAC7B;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB,CAAC,GAAG,EAAE,KAAK;IAE3C;;OAEG;IACH,GAAG,EAAE,GAAG,CAAC;IAET;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC;IAEb;;OAEG;IACH,EAAE,EAAE,KAAK,CAAC;IAEV;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC;IAEtB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAChC;;;;;;OAMG;IACH,OAAO,EAAE,EAAE,CAAC;CACZ;AAED;;;;GAIG;AACH,qBAAa,SAAS,CAAC,KAAK;IAC3B,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,GAAG,CAAQ;IACnB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAqD;IACzE,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,KAAK,CAAa;IAEnB,QAAQ,EAAE,OAAO,CAAS;IAC1B,QAAQ,EAAE,OAAO,CAAQ;IAEzB,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAyB;gBAE3E,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAUtH,IAAW,EAAE,UAEZ;IAED,IAAW,IAAI,UAEd;IAED,IAAW,OAAO,YAEjB;IAED,IAAW,OAAO,YAEjB;IAEM,IAAI,IAAI,IAAI;IAcZ,KAAK,IAAI,IAAI;IAKb,IAAI,IAAI,IAAI;IAMnB,IAAW,UAAU,IAAI,IAAI,CAE5B;IAEM,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB5B,WAAW,IAAI,OAAO;IAUtB,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAY/B,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAKjC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,KAAK;CAGhC;AAED,aAAK,QAAQ,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AAQxD;;;;GAIG;AACH,8BAAsB,QAAS,YAAW,SAAS,EAAE,UAAU;IAE9D;;OAEG;IACI,GAAG,EAAE,MAAM,CAAa;IAExB,SAAS,EAAE,EAAE,CAAC;IACd,gBAAgB,EAAE,EAAE,CAAM;IAE1B,cAAc,EAAE;SAAG,CAAC,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,EAAC,CAAC,CAAC,SAAS,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,EAAC;KAAE,CAAM;IACzJ,qBAAqB,EAAE;SAAG,CAAC,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,EAAC,CAAC,CAAC,SAAS,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,EAAC;KAAE,CAAM;IAEhK,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAM;IACtC,oBAAoB,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAM;IAE3D,SAAS,CAAC,kBAAkB,EAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAM;IAC/D,SAAS,CAAC,yBAAyB,EAAE,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAM;IAC7E,SAAS,CAAC,eAAe,EAAE,MAAM,CAAK;IAEtC,OAAO,CAAC,SAAS,CAAkB;IAGnC,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAM;gBAE7C,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC;IAI3C,SAAS,CAAC,WAAW,IAAI,IAAI;IAO7B;;OAEG;aACa,SAAS,IAAI,IAAI;IAE1B,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IA6DlD,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,IAAI;IAC1C,SAAS,CAAC,QAAQ,CAAC,cAAc,IAAI,MAAM,GAAG,IAAI;IAE3C,aAAa,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,GAAG;IAI5D,oBAAoB,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,GAAG;IAIjF;;;;;;;;OAQG;IACI,EAAE,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,SAAS;IAkBhJ;;;;;;;;;OASG;IACI,SAAS,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,SAAS;IAkBrK;;OAEG;IACI,MAAM,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;IAErH;;OAEG;IACI,MAAM,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC;IAgBpF;;;;;;;;;OASG;IACI,GAAG,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;IAC3G,GAAG,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC;IAKjF,SAAS,CAAC,aAAa,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAUhI,SAAS,CAAC,oBAAoB,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAUvI;;OAEG;IACH,OAAO,CAAC,OAAO;IAKf;;OAEG;IACI,MAAM,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK;IAU/G;;OAEG;IACH,OAAO,CAAC,IAAI;IAYZ,SAAS,CAAC,cAAc,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI;IAU7E;;;;;;;OAOG;IACI,GAAG,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK;IAMpH;;;;;OAKG;IACI,MAAM,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI;IAalE;;;;OAIG;IACI,SAAS,IAAI,IAAI;IAMxB;;OAEG;IACI,UAAU,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;IAEvI;;OAEG;IACI,UAAU,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC;IAkBtG;;OAEG;IACH,OAAO,CAAC,cAAc;IAKtB;;OAEG;IACI,aAAa,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK;IAUpI;;OAEG;IACH,OAAO,CAAC,WAAW;IAWnB,SAAS,CAAC,qBAAqB,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI;IAU3F;;OAEG;IACI,UAAU,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK;IAMzI;;OAEG;IACI,aAAa,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI;IAYhF;;;;;;;OAOG;IACI,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAMlD;;;;;;OAMG;IACI,OAAO,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC;IAkC9I;;OAEG;IACI,cAAc,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAE,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC;IAkC1K,SAAS,CAAC,QAAQ;IAElB;;;;OAIG;IACI,UAAU,IAAI,OAAO;IAI5B;;OAEG;IACI,OAAO;CAMd;AAED;;;;GAIG;AACH,qBAAa,MAAO,SAAQ,QAAS,YAAW,SAAS;IACjD,KAAK,EAAE,IAAI,CAAC;IAEZ,QAAQ,EAAC,GAAG,CAAC;IAEL,SAAS,EAAE,eAAe,CAAC;IAC3B,gBAAgB,EAAE,cAAc,CAAC;IACjC,OAAO,EAAE,aAAa,CAAC;IAE/B,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAoB;IACxC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAsB;IAC9C,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAwB;IAErF,SAAS,CAAC,sBAAsB,EAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAM;IAEhE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAM;IACtC,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAM;IAE3D,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IAGhD,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAM;IAGjD,SAAS,CAAC,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAG7C,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC,CAAM;IAGzC,SAAS,CAAC,kBAAkB,EAAE,KAAK,CAAC,SAAS,CAAC,CAAM;IAEpD,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAM;IAG5C,SAAS,CAAC,SAAS,EAAE,OAAO,CAAQ;IAEpC,OAAc,SAAS,EAAE,MAAM,CAAY;IAC3C,OAAc,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAc;IAErD,SAAS,CAAC,mBAAmB,EAAE;SAAG,GAAG,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;KAAE,CAAM;IAE5F;;;;;;;OAOG;gBACS,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAM;IAS/G;;;;;;;;OAQG;IACH,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,OAAO,MAAM,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;IAOxI,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,OAAO,MAAM,EAAE,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,SAAS,GAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAM,GAAG,CAAC;IAMrJ,SAAS,CAAC,SAAS;IA4BnB,SAAS,CAAC,oBAAoB;IAoB9B,SAAS,CAAC,aAAa,IAAI,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAIzE;;OAEG;IACH,IAAW,UAAU,IAAI,KAAK,CAAC,MAAM,CAAC,CAErC;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,MAAM,CAE7B;IAED,SAAS,CAAC,YAAY;IAIf,WAAW,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC;IAMxF,cAAc,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC;IAM3F,WAAW;IAUlB;;OAEG;IACI,OAAO,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO;IAItE;;OAEG;IACI,cAAc,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO;IAI7E,aAAa,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG;IAK3D,oBAAoB,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,GAAG,EAAE,GAAG;IAKhF;;;;;OAKG;IACI,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,CAAC;IAIzC,SAAS,CAAC,qBAAqB,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC;IAYnH,SAAS,CAAC,gBAAgB,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI;IAY/E;;;OAGG;IACH,IAAW,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,SAAS,EAgBpD;IAED,IAAW,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,SAAS,CAEhD;IAED;;OAEG;IACI,SAAS;IAIhB,SAAS,CAAC,eAAe,IAAI,IAAI;IAIjC,SAAS,CAAC,cAAc,IAAI,MAAM,GAAG,IAAI;IAIlC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAChC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAEnE;;;;;;;;;OASG;IACI,GAAG,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;IAC3G,GAAG,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC;IAYjF;;;;;;;OAOG;IACI,GAAG,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK;IAKpH;;OAEG;IACI,MAAM,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK;IAK/G;;;;;;;OAOG;IACI,QAAQ,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK;IAOzH;;;;;OAKG;IACI,MAAM,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG;IAK3D;;OAEG;IACI,UAAU,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK;IAKzI;;OAEG;IACI,aAAa,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK;IAKpI;;OAEG;IACI,aAAa,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,GAAG,EAAE,GAAG;IAKlE,oBAAoB,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC;IAU3H,2BAA2B,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC;IAUhJ,uBAAuB,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG;IAcrE,8BAA8B,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,GAAG,EAAE,GAAG;IAc1F,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAMlD,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAmB3C,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI;IAuBjF;;OAEG;IACH,SAAS,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,SAAS;IAQ5F,aAAa,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,GAAG,IAAI;IAa1D,eAAe,CAAC,MAAM,GAAE,OAAc,GAAG,IAAI;IA8BpD,SAAS,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,SAAS;IAoB7F,SAAS,CAAC,kBAAkB,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,SAAS;IAMvG,SAAS,CAAC,yBAAyB,CAAC,GAAG,SAAS,MAAM,IAAI,CAAC,kBAAkB,CAAC,EAAE,GAAG,EAAE,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,SAAS;IAMrH,SAAS,CAAC,iBAAiB;IAQ3B,SAAS,CAAC,gBAAgB;IAQnB,YAAY,IAAI,OAAO;IA+FvB,QAAQ,IAAI,IAAI;IAEhB,cAAc,IAAI,IAAI;IAkBtB,aAAa,IAAI,IAAI;IAE5B;;OAEG;IACI,WAAW,CAAC,CAAC,SAAS,SAAS,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC;IAKvD,SAAS,CAAC,QAAQ;IAkClB;;;;;;OAMG;IACI,UAAU,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS;IAc3D;;OAEG;IACI,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAW7C;;OAEG;IACI,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAInC;;OAEG;IACI,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAQhC;;OAEG;IACI,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAQnC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;IAIhE;;;;;;OAMG;IACH,IAAW,IAAI,IAAI,IAAI,CAEtB;CAED"}
1
+ {"version":3,"file":"Entity.d.ts","sourceRoot":"","sources":["../../../../../src/.internal/core/util/Entity.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,12 @@ var Adapters = /** @class */ (function () {
27
27
  writable: true,
28
28
  value: {}
29
29
  });
30
+ Object.defineProperty(this, "_disabled", {
31
+ enumerable: true,
32
+ configurable: true,
33
+ writable: true,
34
+ value: {}
35
+ });
30
36
  this._entity = entity;
31
37
  }
32
38
  /**
@@ -39,6 +45,7 @@ var Adapters = /** @class */ (function () {
39
45
  configurable: true,
40
46
  writable: true,
41
47
  value: function (key, callback) {
48
+ var _this = this;
42
49
  var callbacks = this._callbacks[key];
43
50
  if (callbacks === undefined) {
44
51
  callbacks = this._callbacks[key] = [];
@@ -46,10 +53,48 @@ var Adapters = /** @class */ (function () {
46
53
  callbacks.push(callback);
47
54
  this._entity._markDirtyKey(key);
48
55
  return new Disposer(function () {
49
- $array.removeFirst(callbacks, callback);
56
+ if ($array.removeFirst(callbacks, callback)) {
57
+ _this._entity._markDirtyKey(key);
58
+ }
50
59
  });
51
60
  }
52
61
  });
62
+ Object.defineProperty(Adapters.prototype, "remove", {
63
+ enumerable: false,
64
+ configurable: true,
65
+ writable: true,
66
+ value: function (key) {
67
+ var callbacks = this._callbacks[key];
68
+ if (callbacks !== undefined) {
69
+ delete this._callbacks[key];
70
+ if (callbacks.length !== 0) {
71
+ this._entity._markDirtyKey(key);
72
+ }
73
+ }
74
+ }
75
+ });
76
+ Object.defineProperty(Adapters.prototype, "enable", {
77
+ enumerable: false,
78
+ configurable: true,
79
+ writable: true,
80
+ value: function (key) {
81
+ if (this._disabled[key]) {
82
+ delete this._disabled[key];
83
+ this._entity._markDirtyKey(key);
84
+ }
85
+ }
86
+ });
87
+ Object.defineProperty(Adapters.prototype, "disable", {
88
+ enumerable: false,
89
+ configurable: true,
90
+ writable: true,
91
+ value: function (key) {
92
+ if (!this._disabled[key]) {
93
+ this._disabled[key] = true;
94
+ this._entity._markDirtyKey(key);
95
+ }
96
+ }
97
+ });
53
98
  /**
54
99
  * @ignore
55
100
  */
@@ -58,10 +103,12 @@ var Adapters = /** @class */ (function () {
58
103
  configurable: true,
59
104
  writable: true,
60
105
  value: function (key, value) {
61
- var callbacks = this._callbacks[key];
62
- if (callbacks !== undefined) {
63
- for (var i = 0, len = callbacks.length; i < len; ++i) {
64
- value = callbacks[i](value, this._entity, key);
106
+ if (!this._disabled[key]) {
107
+ var callbacks = this._callbacks[key];
108
+ if (callbacks !== undefined) {
109
+ for (var i = 0, len = callbacks.length; i < len; ++i) {
110
+ value = callbacks[i](value, this._entity, key);
111
+ }
65
112
  }
66
113
  }
67
114
  return value;
@@ -823,7 +870,7 @@ var Settings = /** @class */ (function () {
823
870
  value: function (options) {
824
871
  var key = options.key;
825
872
  var to = options.to;
826
- var duration = options.duration;
873
+ var duration = options.duration || 0;
827
874
  var loops = options.loops || 1;
828
875
  var from = (options.from === undefined ? this.get(key) : options.from);
829
876
  var easing = (options.easing === undefined ? $ease.linear : options.easing);
@@ -857,7 +904,7 @@ var Settings = /** @class */ (function () {
857
904
  value: function (options) {
858
905
  var key = options.key;
859
906
  var to = options.to;
860
- var duration = options.duration;
907
+ var duration = options.duration || 0;
861
908
  var loops = options.loops || 1;
862
909
  var from = (options.from === undefined ? this.getPrivate(key) : options.from);
863
910
  var easing = (options.easing === undefined ? $ease.linear : options.easing);