mis-crystal-design-system 14.0.55-test-v6 → 14.0.56

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 (471) hide show
  1. package/dynamic-form/dynamic-form.component.d.ts +10 -2
  2. package/esm2020/dynamic-form/dynamic-form.component.mjs +471 -213
  3. package/esm2020/table/table.component.mjs +2 -2
  4. package/fesm2015/mis-crystal-design-system-dynamic-form.mjs +524 -212
  5. package/fesm2015/mis-crystal-design-system-dynamic-form.mjs.map +1 -1
  6. package/fesm2015/mis-crystal-design-system-table.mjs +2 -2
  7. package/fesm2015/mis-crystal-design-system-table.mjs.map +1 -1
  8. package/fesm2020/mis-crystal-design-system-dynamic-form.mjs +470 -212
  9. package/fesm2020/mis-crystal-design-system-dynamic-form.mjs.map +1 -1
  10. package/fesm2020/mis-crystal-design-system-table.mjs +2 -2
  11. package/fesm2020/mis-crystal-design-system-table.mjs.map +1 -1
  12. package/package.json +1 -9
  13. package/datepicker/base/bs-datepicker-container.d.ts +0 -44
  14. package/datepicker/bs-datepicker-inline.component.d.ts +0 -64
  15. package/datepicker/bs-datepicker-inline.config.d.ts +0 -6
  16. package/datepicker/bs-datepicker-input.directive.d.ts +0 -33
  17. package/datepicker/bs-datepicker.component.d.ts +0 -126
  18. package/datepicker/bs-datepicker.config.d.ts +0 -143
  19. package/datepicker/bs-datepicker.module.d.ts +0 -29
  20. package/datepicker/bs-daterangepicker-inline.component.d.ts +0 -64
  21. package/datepicker/bs-daterangepicker-inline.config.d.ts +0 -9
  22. package/datepicker/bs-daterangepicker-input.directive.d.ts +0 -33
  23. package/datepicker/bs-daterangepicker.component.d.ts +0 -118
  24. package/datepicker/bs-daterangepicker.config.d.ts +0 -7
  25. package/datepicker/bs-locale.service.d.ts +0 -13
  26. package/datepicker/chronos/create/check-overflow.d.ts +0 -2
  27. package/datepicker/chronos/create/clone.d.ts +0 -1
  28. package/datepicker/chronos/create/date-from-array.d.ts +0 -2
  29. package/datepicker/chronos/create/from-anything.d.ts +0 -4
  30. package/datepicker/chronos/create/from-array.d.ts +0 -2
  31. package/datepicker/chronos/create/from-object.d.ts +0 -2
  32. package/datepicker/chronos/create/from-string-and-array.d.ts +0 -2
  33. package/datepicker/chronos/create/from-string-and-format.d.ts +0 -4
  34. package/datepicker/chronos/create/from-string.d.ts +0 -4
  35. package/datepicker/chronos/create/local.d.ts +0 -3
  36. package/datepicker/chronos/create/parsing-flags.d.ts +0 -2
  37. package/datepicker/chronos/create/parsing.types.d.ts +0 -64
  38. package/datepicker/chronos/create/valid.d.ts +0 -6
  39. package/datepicker/chronos/duration/bubble.d.ts +0 -4
  40. package/datepicker/chronos/duration/constructor.d.ts +0 -21
  41. package/datepicker/chronos/duration/create.d.ts +0 -8
  42. package/datepicker/chronos/duration/humanize.d.ts +0 -5
  43. package/datepicker/chronos/duration/valid.d.ts +0 -2
  44. package/datepicker/chronos/format/format.d.ts +0 -11
  45. package/datepicker/chronos/format.d.ts +0 -5
  46. package/datepicker/chronos/i18n/ar.d.ts +0 -2
  47. package/datepicker/chronos/i18n/bg.d.ts +0 -2
  48. package/datepicker/chronos/i18n/ca.d.ts +0 -2
  49. package/datepicker/chronos/i18n/cs.d.ts +0 -2
  50. package/datepicker/chronos/i18n/da.d.ts +0 -2
  51. package/datepicker/chronos/i18n/de.d.ts +0 -2
  52. package/datepicker/chronos/i18n/en-gb.d.ts +0 -2
  53. package/datepicker/chronos/i18n/es-do.d.ts +0 -2
  54. package/datepicker/chronos/i18n/es-us.d.ts +0 -2
  55. package/datepicker/chronos/i18n/es.d.ts +0 -2
  56. package/datepicker/chronos/i18n/et.d.ts +0 -2
  57. package/datepicker/chronos/i18n/fi.d.ts +0 -2
  58. package/datepicker/chronos/i18n/fr.d.ts +0 -2
  59. package/datepicker/chronos/i18n/gl.d.ts +0 -2
  60. package/datepicker/chronos/i18n/he.d.ts +0 -2
  61. package/datepicker/chronos/i18n/hi.d.ts +0 -2
  62. package/datepicker/chronos/i18n/hr.d.ts +0 -2
  63. package/datepicker/chronos/i18n/hu.d.ts +0 -2
  64. package/datepicker/chronos/i18n/id.d.ts +0 -2
  65. package/datepicker/chronos/i18n/it.d.ts +0 -2
  66. package/datepicker/chronos/i18n/ja.d.ts +0 -2
  67. package/datepicker/chronos/i18n/ka.d.ts +0 -2
  68. package/datepicker/chronos/i18n/kk.d.ts +0 -2
  69. package/datepicker/chronos/i18n/ko.d.ts +0 -2
  70. package/datepicker/chronos/i18n/lt.d.ts +0 -2
  71. package/datepicker/chronos/i18n/lv.d.ts +0 -2
  72. package/datepicker/chronos/i18n/mn.d.ts +0 -2
  73. package/datepicker/chronos/i18n/nb.d.ts +0 -2
  74. package/datepicker/chronos/i18n/nl-be.d.ts +0 -2
  75. package/datepicker/chronos/i18n/nl.d.ts +0 -2
  76. package/datepicker/chronos/i18n/pl.d.ts +0 -2
  77. package/datepicker/chronos/i18n/pt-br.d.ts +0 -2
  78. package/datepicker/chronos/i18n/ro.d.ts +0 -2
  79. package/datepicker/chronos/i18n/ru.d.ts +0 -2
  80. package/datepicker/chronos/i18n/sk.d.ts +0 -2
  81. package/datepicker/chronos/i18n/sl.d.ts +0 -2
  82. package/datepicker/chronos/i18n/sq.d.ts +0 -2
  83. package/datepicker/chronos/i18n/sv.d.ts +0 -2
  84. package/datepicker/chronos/i18n/th-be.d.ts +0 -2
  85. package/datepicker/chronos/i18n/th.d.ts +0 -2
  86. package/datepicker/chronos/i18n/tr.d.ts +0 -2
  87. package/datepicker/chronos/i18n/uk.d.ts +0 -2
  88. package/datepicker/chronos/i18n/vi.d.ts +0 -2
  89. package/datepicker/chronos/i18n/zh-cn.d.ts +0 -2
  90. package/datepicker/chronos/index.d.ts +0 -1
  91. package/datepicker/chronos/locale/calendar.d.ts +0 -8
  92. package/datepicker/chronos/locale/locale.class.d.ts +0 -143
  93. package/datepicker/chronos/locale/locale.defaults.d.ts +0 -11
  94. package/datepicker/chronos/locale/locales.d.ts +0 -7
  95. package/datepicker/chronos/moment/add-subtract.d.ts +0 -5
  96. package/datepicker/chronos/moment/calendar.d.ts +0 -15
  97. package/datepicker/chronos/moment/diff.d.ts +0 -3
  98. package/datepicker/chronos/moment/min-max.d.ts +0 -2
  99. package/datepicker/chronos/parse/regex.d.ts +0 -22
  100. package/datepicker/chronos/parse/token.d.ts +0 -5
  101. package/datepicker/chronos/public_api.d.ts +0 -57
  102. package/datepicker/chronos/test/chain.d.ts +0 -214
  103. package/datepicker/chronos/types.d.ts +0 -36
  104. package/datepicker/chronos/units/aliases.d.ts +0 -7
  105. package/datepicker/chronos/units/constants.d.ts +0 -9
  106. package/datepicker/chronos/units/day-of-month.d.ts +0 -1
  107. package/datepicker/chronos/units/day-of-week.d.ts +0 -20
  108. package/datepicker/chronos/units/day-of-year.d.ts +0 -3
  109. package/datepicker/chronos/units/hour.d.ts +0 -1
  110. package/datepicker/chronos/units/index.d.ts +0 -18
  111. package/datepicker/chronos/units/millisecond.d.ts +0 -1
  112. package/datepicker/chronos/units/minute.d.ts +0 -1
  113. package/datepicker/chronos/units/month.d.ts +0 -2
  114. package/datepicker/chronos/units/offset.d.ts +0 -10
  115. package/datepicker/chronos/units/priorities.d.ts +0 -1
  116. package/datepicker/chronos/units/quarter.d.ts +0 -3
  117. package/datepicker/chronos/units/second.d.ts +0 -1
  118. package/datepicker/chronos/units/timestamp.d.ts +0 -1
  119. package/datepicker/chronos/units/timezone.d.ts +0 -3
  120. package/datepicker/chronos/units/week-calendar-utils.d.ts +0 -9
  121. package/datepicker/chronos/units/week-year.d.ts +0 -8
  122. package/datepicker/chronos/units/week.d.ts +0 -6
  123. package/datepicker/chronos/units/year.d.ts +0 -4
  124. package/datepicker/chronos/utils/abs-ceil.d.ts +0 -1
  125. package/datepicker/chronos/utils/abs-round.d.ts +0 -1
  126. package/datepicker/chronos/utils/compare-arrays.d.ts +0 -1
  127. package/datepicker/chronos/utils/date-compare.d.ts +0 -9
  128. package/datepicker/chronos/utils/date-getters.d.ts +0 -18
  129. package/datepicker/chronos/utils/date-setters.d.ts +0 -12
  130. package/datepicker/chronos/utils/defaults.d.ts +0 -1
  131. package/datepicker/chronos/utils/start-end-of.d.ts +0 -3
  132. package/datepicker/chronos/utils/type-checks.d.ts +0 -12
  133. package/datepicker/chronos/utils/zero-fill.d.ts +0 -1
  134. package/datepicker/chronos/utils.d.ts +0 -2
  135. package/datepicker/component-loader/bs-component-ref.class.d.ts +0 -5
  136. package/datepicker/component-loader/component-loader.class.d.ts +0 -75
  137. package/datepicker/component-loader/component-loader.factory.d.ts +0 -21
  138. package/datepicker/component-loader/content-ref.class.d.ts +0 -7
  139. package/datepicker/component-loader/index.d.ts +0 -1
  140. package/datepicker/component-loader/listen-options.model.d.ts +0 -11
  141. package/datepicker/component-loader/public_api.d.ts +0 -4
  142. package/datepicker/date-formatter.d.ts +0 -3
  143. package/datepicker/datepicker-animations.d.ts +0 -3
  144. package/datepicker/datepicker-inner.component.d.ts +0 -78
  145. package/datepicker/datepicker.component.d.ts +0 -81
  146. package/datepicker/datepicker.config.d.ts +0 -22
  147. package/datepicker/datepicker.module.d.ts +0 -15
  148. package/datepicker/daypicker.component.d.ts +0 -17
  149. package/datepicker/engine/calc-days-calendar.d.ts +0 -2
  150. package/datepicker/engine/flag-days-calendar.d.ts +0 -17
  151. package/datepicker/engine/flag-months-calendar.d.ts +0 -12
  152. package/datepicker/engine/flag-years-calendar.d.ts +0 -12
  153. package/datepicker/engine/format-days-calendar.d.ts +0 -4
  154. package/datepicker/engine/format-months-calendar.d.ts +0 -2
  155. package/datepicker/engine/format-years-calendar.d.ts +0 -4
  156. package/datepicker/engine/view-mode.d.ts +0 -2
  157. package/datepicker/index.d.ts +0 -1
  158. package/datepicker/mini-ngrx/index.d.ts +0 -1
  159. package/datepicker/mini-ngrx/public_api.d.ts +0 -7
  160. package/datepicker/mini-ngrx/state.class.d.ts +0 -8
  161. package/datepicker/mini-ngrx/store.class.d.ts +0 -16
  162. package/datepicker/models/index.d.ts +0 -102
  163. package/datepicker/monthpicker.component.d.ts +0 -14
  164. package/datepicker/positioning/index.d.ts +0 -1
  165. package/datepicker/positioning/models/index.d.ts +0 -41
  166. package/datepicker/positioning/modifiers/arrow.d.ts +0 -2
  167. package/datepicker/positioning/modifiers/flip.d.ts +0 -2
  168. package/datepicker/positioning/modifiers/index.d.ts +0 -5
  169. package/datepicker/positioning/modifiers/initData.d.ts +0 -2
  170. package/datepicker/positioning/modifiers/preventOverflow.d.ts +0 -2
  171. package/datepicker/positioning/modifiers/shift.d.ts +0 -2
  172. package/datepicker/positioning/ng-positioning.d.ts +0 -8
  173. package/datepicker/positioning/positioning.service.d.ts +0 -48
  174. package/datepicker/positioning/public_api.d.ts +0 -2
  175. package/datepicker/positioning/utils/computeAutoPlacement.d.ts +0 -2
  176. package/datepicker/positioning/utils/findCommonOffsetParent.d.ts +0 -1
  177. package/datepicker/positioning/utils/getBordersSize.d.ts +0 -4
  178. package/datepicker/positioning/utils/getBoundaries.d.ts +0 -1
  179. package/datepicker/positioning/utils/getBoundingClientRect.d.ts +0 -2
  180. package/datepicker/positioning/utils/getClientRect.d.ts +0 -5
  181. package/datepicker/positioning/utils/getFixedPositionOffsetParent.d.ts +0 -4
  182. package/datepicker/positioning/utils/getOffsetParent.d.ts +0 -1
  183. package/datepicker/positioning/utils/getOffsetRectRelativeToArbitraryNode.d.ts +0 -2
  184. package/datepicker/positioning/utils/getOffsets.d.ts +0 -2
  185. package/datepicker/positioning/utils/getOppositePlacement.d.ts +0 -4
  186. package/datepicker/positioning/utils/getOppositeVariation.d.ts +0 -4
  187. package/datepicker/positioning/utils/getOuterSizes.d.ts +0 -7
  188. package/datepicker/positioning/utils/getParentNode.d.ts +0 -4
  189. package/datepicker/positioning/utils/getReferenceOffsets.d.ts +0 -2
  190. package/datepicker/positioning/utils/getRoot.d.ts +0 -4
  191. package/datepicker/positioning/utils/getScroll.d.ts +0 -4
  192. package/datepicker/positioning/utils/getScrollParent.d.ts +0 -1
  193. package/datepicker/positioning/utils/getStyleComputedProperty.d.ts +0 -4
  194. package/datepicker/positioning/utils/getTargetOffsets.d.ts +0 -2
  195. package/datepicker/positioning/utils/getViewportOffsetRectRelativeToArtbitraryNode.d.ts +0 -2
  196. package/datepicker/positioning/utils/getWindowSizes.d.ts +0 -4
  197. package/datepicker/positioning/utils/includeScroll.d.ts +0 -2
  198. package/datepicker/positioning/utils/index.d.ts +0 -23
  199. package/datepicker/positioning/utils/isBrowser.d.ts +0 -1
  200. package/datepicker/positioning/utils/isFixed.d.ts +0 -1
  201. package/datepicker/positioning/utils/isIE.d.ts +0 -1
  202. package/datepicker/positioning/utils/isModifierEnabled.d.ts +0 -4
  203. package/datepicker/positioning/utils/isNumeric.d.ts +0 -4
  204. package/datepicker/positioning/utils/isOffsetContainer.d.ts +0 -1
  205. package/datepicker/positioning/utils/setStyles.d.ts +0 -5
  206. package/datepicker/positioning/utils/updateContainerClass.d.ts +0 -6
  207. package/datepicker/public_api.d.ts +0 -25
  208. package/datepicker/reducer/_defaults.d.ts +0 -2
  209. package/datepicker/reducer/bs-datepicker.actions.d.ts +0 -46
  210. package/datepicker/reducer/bs-datepicker.effects.d.ts +0 -41
  211. package/datepicker/reducer/bs-datepicker.reducer.d.ts +0 -3
  212. package/datepicker/reducer/bs-datepicker.state.d.ts +0 -43
  213. package/datepicker/reducer/bs-datepicker.store.d.ts +0 -8
  214. package/datepicker/themes/bs/bs-calendar-layout.component.d.ts +0 -5
  215. package/datepicker/themes/bs/bs-current-date-view.component.d.ts +0 -6
  216. package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts +0 -17
  217. package/datepicker/themes/bs/bs-datepicker-container.component.d.ts +0 -36
  218. package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.d.ts +0 -14
  219. package/datepicker/themes/bs/bs-datepicker-inline-container.component.d.ts +0 -13
  220. package/datepicker/themes/bs/bs-datepicker-navigation-view.component.d.ts +0 -12
  221. package/datepicker/themes/bs/bs-daterangepicker-container.component.d.ts +0 -40
  222. package/datepicker/themes/bs/bs-daterangepicker-inline-container.component.d.ts +0 -13
  223. package/datepicker/themes/bs/bs-days-calendar-view.component.d.ts +0 -26
  224. package/datepicker/themes/bs/bs-months-calendar-view.component.d.ts +0 -16
  225. package/datepicker/themes/bs/bs-timepicker-view.component.d.ts +0 -8
  226. package/datepicker/themes/bs/bs-years-calendar-view.component.d.ts +0 -16
  227. package/datepicker/utils/bs-calendar-utils.d.ts +0 -10
  228. package/datepicker/utils/matrix-utils.d.ts +0 -9
  229. package/datepicker/utils-v2/decorators.d.ts +0 -1
  230. package/datepicker/utils-v2/facade/browser.d.ts +0 -23
  231. package/datepicker/utils-v2/index.d.ts +0 -1
  232. package/datepicker/utils-v2/linked-list.class.d.ts +0 -26
  233. package/datepicker/utils-v2/public_api.d.ts +0 -10
  234. package/datepicker/utils-v2/theme-provider.d.ts +0 -2
  235. package/datepicker/utils-v2/trigger.class.d.ts +0 -6
  236. package/datepicker/utils-v2/triggers.d.ts +0 -18
  237. package/datepicker/utils-v2/utils.class.d.ts +0 -4
  238. package/datepicker/utils-v2/warn-once.d.ts +0 -1
  239. package/datepicker/yearpicker.component.d.ts +0 -14
  240. package/esm2020/datepicker/base/bs-datepicker-container.mjs +0 -47
  241. package/esm2020/datepicker/bs-datepicker-inline.component.mjs +0 -137
  242. package/esm2020/datepicker/bs-datepicker-inline.config.mjs +0 -14
  243. package/esm2020/datepicker/bs-datepicker-input.directive.mjs +0 -160
  244. package/esm2020/datepicker/bs-datepicker.component.mjs +0 -254
  245. package/esm2020/datepicker/bs-datepicker.config.mjs +0 -87
  246. package/esm2020/datepicker/bs-datepicker.module.mjs +0 -126
  247. package/esm2020/datepicker/bs-daterangepicker-inline.component.mjs +0 -134
  248. package/esm2020/datepicker/bs-daterangepicker-inline.config.mjs +0 -21
  249. package/esm2020/datepicker/bs-daterangepicker-input.directive.mjs +0 -192
  250. package/esm2020/datepicker/bs-daterangepicker.component.mjs +0 -240
  251. package/esm2020/datepicker/bs-daterangepicker.config.mjs +0 -19
  252. package/esm2020/datepicker/bs-locale.service.mjs +0 -32
  253. package/esm2020/datepicker/chronos/create/check-overflow.mjs +0 -30
  254. package/esm2020/datepicker/chronos/create/clone.mjs +0 -6
  255. package/esm2020/datepicker/chronos/create/date-from-array.mjs +0 -17
  256. package/esm2020/datepicker/chronos/create/from-anything.mjs +0 -107
  257. package/esm2020/datepicker/chronos/create/from-array.mjs +0 -136
  258. package/esm2020/datepicker/chronos/create/from-object.mjs +0 -17
  259. package/esm2020/datepicker/chronos/create/from-string-and-array.mjs +0 -38
  260. package/esm2020/datepicker/chronos/create/from-string-and-format.mjs +0 -106
  261. package/esm2020/datepicker/chronos/create/from-string.mjs +0 -227
  262. package/esm2020/datepicker/chronos/create/local.mjs +0 -16
  263. package/esm2020/datepicker/chronos/create/parsing-flags.mjs +0 -26
  264. package/esm2020/datepicker/chronos/create/parsing.types.mjs +0 -2
  265. package/esm2020/datepicker/chronos/create/valid.mjs +0 -42
  266. package/esm2020/datepicker/chronos/duration/bubble.mjs +0 -47
  267. package/esm2020/datepicker/chronos/duration/constructor.mjs +0 -130
  268. package/esm2020/datepicker/chronos/duration/create.mjs +0 -113
  269. package/esm2020/datepicker/chronos/duration/humanize.mjs +0 -80
  270. package/esm2020/datepicker/chronos/duration/valid.mjs +0 -43
  271. package/esm2020/datepicker/chronos/format/format.mjs +0 -51
  272. package/esm2020/datepicker/chronos/format.mjs +0 -46
  273. package/esm2020/datepicker/chronos/i18n/ar.mjs +0 -128
  274. package/esm2020/datepicker/chronos/i18n/bg.mjs +0 -94
  275. package/esm2020/datepicker/chronos/i18n/ca.mjs +0 -91
  276. package/esm2020/datepicker/chronos/i18n/cs.mjs +0 -179
  277. package/esm2020/datepicker/chronos/i18n/da.mjs +0 -50
  278. package/esm2020/datepicker/chronos/i18n/de.mjs +0 -72
  279. package/esm2020/datepicker/chronos/i18n/en-gb.mjs +0 -61
  280. package/esm2020/datepicker/chronos/i18n/es-do.mjs +0 -85
  281. package/esm2020/datepicker/chronos/i18n/es-us.mjs +0 -79
  282. package/esm2020/datepicker/chronos/i18n/es.mjs +0 -84
  283. package/esm2020/datepicker/chronos/i18n/et.mjs +0 -73
  284. package/esm2020/datepicker/chronos/i18n/fi.mjs +0 -100
  285. package/esm2020/datepicker/chronos/i18n/fr.mjs +0 -76
  286. package/esm2020/datepicker/chronos/i18n/gl.mjs +0 -84
  287. package/esm2020/datepicker/chronos/i18n/he.mjs +0 -98
  288. package/esm2020/datepicker/chronos/i18n/hi.mjs +0 -124
  289. package/esm2020/datepicker/chronos/i18n/hr.mjs +0 -62
  290. package/esm2020/datepicker/chronos/i18n/hu.mjs +0 -104
  291. package/esm2020/datepicker/chronos/i18n/id.mjs +0 -83
  292. package/esm2020/datepicker/chronos/i18n/it.mjs +0 -65
  293. package/esm2020/datepicker/chronos/i18n/ja.mjs +0 -75
  294. package/esm2020/datepicker/chronos/i18n/ka.mjs +0 -87
  295. package/esm2020/datepicker/chronos/i18n/kk.mjs +0 -76
  296. package/esm2020/datepicker/chronos/i18n/ko.mjs +0 -77
  297. package/esm2020/datepicker/chronos/i18n/lt.mjs +0 -116
  298. package/esm2020/datepicker/chronos/i18n/lv.mjs +0 -56
  299. package/esm2020/datepicker/chronos/i18n/mn.mjs +0 -99
  300. package/esm2020/datepicker/chronos/i18n/nb.mjs +0 -53
  301. package/esm2020/datepicker/chronos/i18n/nl-be.mjs +0 -81
  302. package/esm2020/datepicker/chronos/i18n/nl.mjs +0 -80
  303. package/esm2020/datepicker/chronos/i18n/pl.mjs +0 -126
  304. package/esm2020/datepicker/chronos/i18n/pt-br.mjs +0 -56
  305. package/esm2020/datepicker/chronos/i18n/ro.mjs +0 -66
  306. package/esm2020/datepicker/chronos/i18n/ru.mjs +0 -181
  307. package/esm2020/datepicker/chronos/i18n/sk.mjs +0 -157
  308. package/esm2020/datepicker/chronos/i18n/sl.mjs +0 -184
  309. package/esm2020/datepicker/chronos/i18n/sq.mjs +0 -54
  310. package/esm2020/datepicker/chronos/i18n/sv.mjs +0 -63
  311. package/esm2020/datepicker/chronos/i18n/th-be.mjs +0 -74
  312. package/esm2020/datepicker/chronos/i18n/th.mjs +0 -59
  313. package/esm2020/datepicker/chronos/i18n/tr.mjs +0 -82
  314. package/esm2020/datepicker/chronos/i18n/uk.mjs +0 -147
  315. package/esm2020/datepicker/chronos/i18n/vi.mjs +0 -74
  316. package/esm2020/datepicker/chronos/i18n/zh-cn.mjs +0 -114
  317. package/esm2020/datepicker/chronos/index.mjs +0 -2
  318. package/esm2020/datepicker/chronos/locale/calendar.mjs +0 -9
  319. package/esm2020/datepicker/chronos/locale/locale.class.mjs +0 -532
  320. package/esm2020/datepicker/chronos/locale/locale.defaults.mjs +0 -40
  321. package/esm2020/datepicker/chronos/locale/locales.mjs +0 -229
  322. package/esm2020/datepicker/chronos/moment/add-subtract.mjs +0 -35
  323. package/esm2020/datepicker/chronos/moment/calendar.mjs +0 -41
  324. package/esm2020/datepicker/chronos/moment/diff.mjs +0 -70
  325. package/esm2020/datepicker/chronos/moment/min-max.mjs +0 -38
  326. package/esm2020/datepicker/chronos/parse/regex.mjs +0 -49
  327. package/esm2020/datepicker/chronos/parse/token.mjs +0 -32
  328. package/esm2020/datepicker/chronos/public_api.mjs +0 -56
  329. package/esm2020/datepicker/chronos/test/chain.mjs +0 -711
  330. package/esm2020/datepicker/chronos/types.mjs +0 -2
  331. package/esm2020/datepicker/chronos/units/aliases.mjs +0 -35
  332. package/esm2020/datepicker/chronos/units/constants.mjs +0 -11
  333. package/esm2020/datepicker/chronos/units/day-of-month.mjs +0 -31
  334. package/esm2020/datepicker/chronos/units/day-of-week.mjs +0 -129
  335. package/esm2020/datepicker/chronos/units/day-of-year.mjs +0 -37
  336. package/esm2020/datepicker/chronos/units/hour.mjs +0 -127
  337. package/esm2020/datepicker/chronos/units/index.mjs +0 -19
  338. package/esm2020/datepicker/chronos/units/millisecond.mjs +0 -60
  339. package/esm2020/datepicker/chronos/units/minute.mjs +0 -23
  340. package/esm2020/datepicker/chronos/units/month.mjs +0 -63
  341. package/esm2020/datepicker/chronos/units/offset.mjs +0 -210
  342. package/esm2020/datepicker/chronos/units/priorities.mjs +0 -21
  343. package/esm2020/datepicker/chronos/units/quarter.mjs +0 -39
  344. package/esm2020/datepicker/chronos/units/second.mjs +0 -23
  345. package/esm2020/datepicker/chronos/units/timestamp.mjs +0 -28
  346. package/esm2020/datepicker/chronos/units/timezone.mjs +0 -19
  347. package/esm2020/datepicker/chronos/units/week-calendar-utils.mjs +0 -70
  348. package/esm2020/datepicker/chronos/units/week-year.mjs +0 -101
  349. package/esm2020/datepicker/chronos/units/week.mjs +0 -58
  350. package/esm2020/datepicker/chronos/units/year.mjs +0 -60
  351. package/esm2020/datepicker/chronos/utils/abs-ceil.mjs +0 -4
  352. package/esm2020/datepicker/chronos/utils/abs-round.mjs +0 -4
  353. package/esm2020/datepicker/chronos/utils/compare-arrays.mjs +0 -16
  354. package/esm2020/datepicker/chronos/utils/date-compare.mjs +0 -55
  355. package/esm2020/datepicker/chronos/utils/date-getters.mjs +0 -67
  356. package/esm2020/datepicker/chronos/utils/date-setters.mjs +0 -75
  357. package/esm2020/datepicker/chronos/utils/defaults.mjs +0 -11
  358. package/esm2020/datepicker/chronos/utils/start-end-of.mjs +0 -57
  359. package/esm2020/datepicker/chronos/utils/type-checks.mjs +0 -56
  360. package/esm2020/datepicker/chronos/utils/zero-fill.mjs +0 -10
  361. package/esm2020/datepicker/chronos/utils.mjs +0 -7
  362. package/esm2020/datepicker/component-loader/bs-component-ref.class.mjs +0 -3
  363. package/esm2020/datepicker/component-loader/component-loader.class.mjs +0 -272
  364. package/esm2020/datepicker/component-loader/component-loader.factory.mjs +0 -29
  365. package/esm2020/datepicker/component-loader/content-ref.class.mjs +0 -12
  366. package/esm2020/datepicker/component-loader/index.mjs +0 -2
  367. package/esm2020/datepicker/component-loader/listen-options.model.mjs +0 -2
  368. package/esm2020/datepicker/component-loader/public_api.mjs +0 -5
  369. package/esm2020/datepicker/date-formatter.mjs +0 -7
  370. package/esm2020/datepicker/datepicker-animations.mjs +0 -16
  371. package/esm2020/datepicker/datepicker-inner.component.mjs +0 -323
  372. package/esm2020/datepicker/datepicker.component.mjs +0 -182
  373. package/esm2020/datepicker/datepicker.config.mjs +0 -32
  374. package/esm2020/datepicker/datepicker.module.mjs +0 -49
  375. package/esm2020/datepicker/daypicker.component.mjs +0 -314
  376. package/esm2020/datepicker/engine/calc-days-calendar.mjs +0 -19
  377. package/esm2020/datepicker/engine/flag-days-calendar.mjs +0 -91
  378. package/esm2020/datepicker/engine/flag-months-calendar.mjs +0 -41
  379. package/esm2020/datepicker/engine/flag-years-calendar.mjs +0 -39
  380. package/esm2020/datepicker/engine/format-days-calendar.mjs +0 -29
  381. package/esm2020/datepicker/engine/format-months-calendar.mjs +0 -19
  382. package/esm2020/datepicker/engine/format-years-calendar.mjs +0 -35
  383. package/esm2020/datepicker/engine/view-mode.mjs +0 -4
  384. package/esm2020/datepicker/index.mjs +0 -2
  385. package/esm2020/datepicker/mini-ngrx/index.mjs +0 -2
  386. package/esm2020/datepicker/mini-ngrx/public_api.mjs +0 -3
  387. package/esm2020/datepicker/mini-ngrx/state.class.mjs +0 -16
  388. package/esm2020/datepicker/mini-ngrx/store.class.mjs +0 -43
  389. package/esm2020/datepicker/mis-crystal-design-system-datepicker.mjs +0 -5
  390. package/esm2020/datepicker/models/index.mjs +0 -9
  391. package/esm2020/datepicker/monthpicker.component.mjs +0 -145
  392. package/esm2020/datepicker/positioning/index.mjs +0 -2
  393. package/esm2020/datepicker/positioning/models/index.mjs +0 -2
  394. package/esm2020/datepicker/positioning/modifiers/arrow.mjs +0 -56
  395. package/esm2020/datepicker/positioning/modifiers/flip.mjs +0 -66
  396. package/esm2020/datepicker/positioning/modifiers/index.mjs +0 -6
  397. package/esm2020/datepicker/positioning/modifiers/initData.mjs +0 -42
  398. package/esm2020/datepicker/positioning/modifiers/preventOverflow.mjs +0 -59
  399. package/esm2020/datepicker/positioning/modifiers/shift.mjs +0 -24
  400. package/esm2020/datepicker/positioning/ng-positioning.mjs +0 -30
  401. package/esm2020/datepicker/positioning/positioning.service.mjs +0 -75
  402. package/esm2020/datepicker/positioning/public_api.mjs +0 -3
  403. package/esm2020/datepicker/positioning/utils/computeAutoPlacement.mjs +0 -57
  404. package/esm2020/datepicker/positioning/utils/findCommonOffsetParent.mjs +0 -40
  405. package/esm2020/datepicker/positioning/utils/getBordersSize.mjs +0 -10
  406. package/esm2020/datepicker/positioning/utils/getBoundaries.mjs +0 -56
  407. package/esm2020/datepicker/positioning/utils/getBoundingClientRect.mjs +0 -55
  408. package/esm2020/datepicker/positioning/utils/getClientRect.mjs +0 -8
  409. package/esm2020/datepicker/positioning/utils/getFixedPositionOffsetParent.mjs +0 -17
  410. package/esm2020/datepicker/positioning/utils/getOffsetParent.mjs +0 -32
  411. package/esm2020/datepicker/positioning/utils/getOffsetRectRelativeToArbitraryNode.mjs +0 -51
  412. package/esm2020/datepicker/positioning/utils/getOffsets.mjs +0 -11
  413. package/esm2020/datepicker/positioning/utils/getOppositePlacement.mjs +0 -8
  414. package/esm2020/datepicker/positioning/utils/getOppositeVariation.mjs +0 -13
  415. package/esm2020/datepicker/positioning/utils/getOuterSizes.mjs +0 -14
  416. package/esm2020/datepicker/positioning/utils/getParentNode.mjs +0 -10
  417. package/esm2020/datepicker/positioning/utils/getReferenceOffsets.mjs +0 -13
  418. package/esm2020/datepicker/positioning/utils/getRoot.mjs +0 -10
  419. package/esm2020/datepicker/positioning/utils/getScroll.mjs +0 -14
  420. package/esm2020/datepicker/positioning/utils/getScrollParent.mjs +0 -26
  421. package/esm2020/datepicker/positioning/utils/getStyleComputedProperty.mjs +0 -13
  422. package/esm2020/datepicker/positioning/utils/getTargetOffsets.mjs +0 -30
  423. package/esm2020/datepicker/positioning/utils/getViewportOffsetRectRelativeToArtbitraryNode.mjs +0 -19
  424. package/esm2020/datepicker/positioning/utils/getWindowSizes.mjs +0 -18
  425. package/esm2020/datepicker/positioning/utils/includeScroll.mjs +0 -15
  426. package/esm2020/datepicker/positioning/utils/index.mjs +0 -24
  427. package/esm2020/datepicker/positioning/utils/isBrowser.mjs +0 -2
  428. package/esm2020/datepicker/positioning/utils/isFixed.mjs +0 -16
  429. package/esm2020/datepicker/positioning/utils/isIE.mjs +0 -16
  430. package/esm2020/datepicker/positioning/utils/isModifierEnabled.mjs +0 -10
  431. package/esm2020/datepicker/positioning/utils/isNumeric.mjs +0 -7
  432. package/esm2020/datepicker/positioning/utils/isOffsetContainer.mjs +0 -9
  433. package/esm2020/datepicker/positioning/utils/setStyles.mjs +0 -17
  434. package/esm2020/datepicker/positioning/utils/updateContainerClass.mjs +0 -22
  435. package/esm2020/datepicker/public_api.mjs +0 -25
  436. package/esm2020/datepicker/reducer/_defaults.mjs +0 -5
  437. package/esm2020/datepicker/reducer/bs-datepicker.actions.mjs +0 -136
  438. package/esm2020/datepicker/reducer/bs-datepicker.effects.mjs +0 -169
  439. package/esm2020/datepicker/reducer/bs-datepicker.reducer.mjs +0 -302
  440. package/esm2020/datepicker/reducer/bs-datepicker.state.mjs +0 -12
  441. package/esm2020/datepicker/reducer/bs-datepicker.store.mjs +0 -21
  442. package/esm2020/datepicker/themes/bs/bs-calendar-layout.component.mjs +0 -54
  443. package/esm2020/datepicker/themes/bs/bs-current-date-view.component.mjs +0 -23
  444. package/esm2020/datepicker/themes/bs/bs-custom-dates-view.component.mjs +0 -78
  445. package/esm2020/datepicker/themes/bs/bs-datepicker-container.component.mjs +0 -319
  446. package/esm2020/datepicker/themes/bs/bs-datepicker-day-decorator.directive.mjs +0 -52
  447. package/esm2020/datepicker/themes/bs/bs-datepicker-inline-container.component.mjs +0 -203
  448. package/esm2020/datepicker/themes/bs/bs-datepicker-navigation-view.component.mjs +0 -111
  449. package/esm2020/datepicker/themes/bs/bs-daterangepicker-container.component.mjs +0 -362
  450. package/esm2020/datepicker/themes/bs/bs-daterangepicker-inline-container.component.mjs +0 -203
  451. package/esm2020/datepicker/themes/bs/bs-days-calendar-view.component.mjs +0 -308
  452. package/esm2020/datepicker/themes/bs/bs-months-calendar-view.component.mjs +0 -106
  453. package/esm2020/datepicker/themes/bs/bs-timepicker-view.component.mjs +0 -64
  454. package/esm2020/datepicker/themes/bs/bs-years-calendar-view.component.mjs +0 -107
  455. package/esm2020/datepicker/utils/bs-calendar-utils.mjs +0 -43
  456. package/esm2020/datepicker/utils/matrix-utils.mjs +0 -14
  457. package/esm2020/datepicker/utils-v2/decorators.mjs +0 -25
  458. package/esm2020/datepicker/utils-v2/facade/browser.mjs +0 -24
  459. package/esm2020/datepicker/utils-v2/index.mjs +0 -2
  460. package/esm2020/datepicker/utils-v2/linked-list.class.mjs +0 -240
  461. package/esm2020/datepicker/utils-v2/public_api.mjs +0 -11
  462. package/esm2020/datepicker/utils-v2/theme-provider.mjs +0 -35
  463. package/esm2020/datepicker/utils-v2/trigger.class.mjs +0 -10
  464. package/esm2020/datepicker/utils-v2/triggers.mjs +0 -110
  465. package/esm2020/datepicker/utils-v2/utils.class.mjs +0 -21
  466. package/esm2020/datepicker/utils-v2/warn-once.mjs +0 -12
  467. package/esm2020/datepicker/yearpicker.component.mjs +0 -147
  468. package/fesm2015/mis-crystal-design-system-datepicker.mjs +0 -14950
  469. package/fesm2015/mis-crystal-design-system-datepicker.mjs.map +0 -1
  470. package/fesm2020/mis-crystal-design-system-datepicker.mjs +0 -14572
  471. package/fesm2020/mis-crystal-design-system-datepicker.mjs.map +0 -1
@@ -1,40 +0,0 @@
1
- import { defaultDayOfMonthOrdinalParse, defaultLocaleMonths, defaultLocaleMonthsShort, defaultLocaleWeekdays, defaultLocaleWeekdaysMin, defaultLocaleWeekdaysShort, defaultLongDateFormat, defaultOrdinal } from './locale.class';
2
- import { defaultCalendar } from './calendar';
3
- export const defaultInvalidDate = 'Invalid date';
4
- export const defaultLocaleWeek = {
5
- dow: 0,
6
- doy: 6 // The week that contains Jan 1st is the first week of the year.
7
- };
8
- export const defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i;
9
- export const defaultRelativeTime = {
10
- future: 'in %s',
11
- past: '%s ago',
12
- s: 'a few seconds',
13
- ss: '%d seconds',
14
- m: 'a minute',
15
- mm: '%d minutes',
16
- h: 'an hour',
17
- hh: '%d hours',
18
- d: 'a day',
19
- dd: '%d days',
20
- M: 'a month',
21
- MM: '%d months',
22
- y: 'a year',
23
- yy: '%d years'
24
- };
25
- export const baseConfig = {
26
- calendar: defaultCalendar,
27
- longDateFormat: defaultLongDateFormat,
28
- invalidDate: defaultInvalidDate,
29
- ordinal: defaultOrdinal,
30
- dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,
31
- relativeTime: defaultRelativeTime,
32
- months: defaultLocaleMonths,
33
- monthsShort: defaultLocaleMonthsShort,
34
- week: defaultLocaleWeek,
35
- weekdays: defaultLocaleWeekdays,
36
- weekdaysMin: defaultLocaleWeekdaysMin,
37
- weekdaysShort: defaultLocaleWeekdaysShort,
38
- meridiemParse: defaultLocaleMeridiemParse
39
- };
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLmRlZmF1bHRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9jaHJvbm9zL2xvY2FsZS9sb2NhbGUuZGVmYXVsdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLDZCQUE2QixFQUM3QixtQkFBbUIsRUFDbkIsd0JBQXdCLEVBQ3hCLHFCQUFxQixFQUNyQix3QkFBd0IsRUFDeEIsMEJBQTBCLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUVsRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFFN0MsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsY0FBYyxDQUFDO0FBRWpELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQy9CLEdBQUcsRUFBRSxDQUFDO0lBQ04sR0FBRyxFQUFFLENBQUMsQ0FBQyxnRUFBZ0U7Q0FDeEUsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLGVBQWUsQ0FBQztBQUUxRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBNEI7SUFDMUQsTUFBTSxFQUFHLE9BQU87SUFDaEIsSUFBSSxFQUFLLFFBQVE7SUFDakIsQ0FBQyxFQUFJLGVBQWU7SUFDcEIsRUFBRSxFQUFHLFlBQVk7SUFDakIsQ0FBQyxFQUFJLFVBQVU7SUFDZixFQUFFLEVBQUcsWUFBWTtJQUNqQixDQUFDLEVBQUksU0FBUztJQUNkLEVBQUUsRUFBRyxVQUFVO0lBQ2YsQ0FBQyxFQUFJLE9BQU87SUFDWixFQUFFLEVBQUcsU0FBUztJQUNkLENBQUMsRUFBSSxTQUFTO0lBQ2QsRUFBRSxFQUFHLFdBQVc7SUFDaEIsQ0FBQyxFQUFJLFFBQVE7SUFDYixFQUFFLEVBQUcsVUFBVTtDQUNoQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFlO0lBQ3BDLFFBQVEsRUFBRSxlQUFlO0lBQ3pCLGNBQWMsRUFBRSxxQkFBcUI7SUFDckMsV0FBVyxFQUFFLGtCQUFrQjtJQUMvQixPQUFPLEVBQUUsY0FBYztJQUN2QixzQkFBc0IsRUFBRSw2QkFBNkI7SUFDckQsWUFBWSxFQUFFLG1CQUFtQjtJQUVqQyxNQUFNLEVBQUUsbUJBQW1CO0lBQzNCLFdBQVcsRUFBRSx3QkFBd0I7SUFFckMsSUFBSSxFQUFFLGlCQUFpQjtJQUV2QixRQUFRLEVBQUUscUJBQXFCO0lBQy9CLFdBQVcsRUFBRSx3QkFBd0I7SUFDckMsYUFBYSxFQUFFLDBCQUEwQjtJQUV6QyxhQUFhLEVBQUUsMEJBQTBCO0NBQzFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBkZWZhdWx0RGF5T2ZNb250aE9yZGluYWxQYXJzZSxcbiAgZGVmYXVsdExvY2FsZU1vbnRocyxcbiAgZGVmYXVsdExvY2FsZU1vbnRoc1Nob3J0LFxuICBkZWZhdWx0TG9jYWxlV2Vla2RheXMsXG4gIGRlZmF1bHRMb2NhbGVXZWVrZGF5c01pbixcbiAgZGVmYXVsdExvY2FsZVdlZWtkYXlzU2hvcnQsIGRlZmF1bHRMb25nRGF0ZUZvcm1hdCwgZGVmYXVsdE9yZGluYWwsXG4gIExvY2FsZURhdGFcbn0gZnJvbSAnLi9sb2NhbGUuY2xhc3MnO1xuaW1wb3J0IHsgZGVmYXVsdENhbGVuZGFyIH0gZnJvbSAnLi9jYWxlbmRhcic7XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0SW52YWxpZERhdGUgPSAnSW52YWxpZCBkYXRlJztcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRMb2NhbGVXZWVrID0ge1xuICBkb3c6IDAsIC8vIFN1bmRheSBpcyB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrLlxuICBkb3k6IDYgLy8gVGhlIHdlZWsgdGhhdCBjb250YWlucyBKYW4gMXN0IGlzIHRoZSBmaXJzdCB3ZWVrIG9mIHRoZSB5ZWFyLlxufTtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRMb2NhbGVNZXJpZGllbVBhcnNlID0gL1thcF1cXC4/bT9cXC4/L2k7XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0UmVsYXRpdmVUaW1lOiB7W2tleTogc3RyaW5nXTogc3RyaW5nfSA9IHtcbiAgZnV0dXJlIDogJ2luICVzJyxcbiAgcGFzdCAgIDogJyVzIGFnbycsXG4gIHMgIDogJ2EgZmV3IHNlY29uZHMnLFxuICBzcyA6ICclZCBzZWNvbmRzJyxcbiAgbSAgOiAnYSBtaW51dGUnLFxuICBtbSA6ICclZCBtaW51dGVzJyxcbiAgaCAgOiAnYW4gaG91cicsXG4gIGhoIDogJyVkIGhvdXJzJyxcbiAgZCAgOiAnYSBkYXknLFxuICBkZCA6ICclZCBkYXlzJyxcbiAgTSAgOiAnYSBtb250aCcsXG4gIE1NIDogJyVkIG1vbnRocycsXG4gIHkgIDogJ2EgeWVhcicsXG4gIHl5IDogJyVkIHllYXJzJ1xufTtcblxuZXhwb3J0IGNvbnN0IGJhc2VDb25maWc6IExvY2FsZURhdGEgPSB7XG4gIGNhbGVuZGFyOiBkZWZhdWx0Q2FsZW5kYXIsXG4gIGxvbmdEYXRlRm9ybWF0OiBkZWZhdWx0TG9uZ0RhdGVGb3JtYXQsXG4gIGludmFsaWREYXRlOiBkZWZhdWx0SW52YWxpZERhdGUsXG4gIG9yZGluYWw6IGRlZmF1bHRPcmRpbmFsLFxuICBkYXlPZk1vbnRoT3JkaW5hbFBhcnNlOiBkZWZhdWx0RGF5T2ZNb250aE9yZGluYWxQYXJzZSxcbiAgcmVsYXRpdmVUaW1lOiBkZWZhdWx0UmVsYXRpdmVUaW1lLFxuXG4gIG1vbnRoczogZGVmYXVsdExvY2FsZU1vbnRocyxcbiAgbW9udGhzU2hvcnQ6IGRlZmF1bHRMb2NhbGVNb250aHNTaG9ydCxcblxuICB3ZWVrOiBkZWZhdWx0TG9jYWxlV2VlayxcblxuICB3ZWVrZGF5czogZGVmYXVsdExvY2FsZVdlZWtkYXlzLFxuICB3ZWVrZGF5c01pbjogZGVmYXVsdExvY2FsZVdlZWtkYXlzTWluLFxuICB3ZWVrZGF5c1Nob3J0OiBkZWZhdWx0TG9jYWxlV2Vla2RheXNTaG9ydCxcblxuICBtZXJpZGllbVBhcnNlOiBkZWZhdWx0TG9jYWxlTWVyaWRpZW1QYXJzZVxufTtcbiJdfQ==
@@ -1,229 +0,0 @@
1
- // internal storage for locale config files
2
- import { Locale } from './locale.class';
3
- import { baseConfig } from './locale.defaults';
4
- import { hasOwnProp, isArray, isObject, isString, isUndefined, toInt } from '../utils/type-checks';
5
- import { compareArrays } from '../utils/compare-arrays';
6
- import { initWeek } from '../units/week';
7
- import { initWeekYear } from '../units/week-year';
8
- import { initYear } from '../units/year';
9
- import { initTimezone } from '../units/timezone';
10
- import { initTimestamp } from '../units/timestamp';
11
- import { initSecond } from '../units/second';
12
- import { initQuarter } from '../units/quarter';
13
- import { initOffset } from '../units/offset';
14
- import { initMinute } from '../units/minute';
15
- import { initMillisecond } from '../units/millisecond';
16
- import { initMonth } from '../units/month';
17
- import { initHour } from '../units/hour';
18
- import { initDayOfYear } from '../units/day-of-year';
19
- import { initDayOfWeek } from '../units/day-of-week';
20
- import { initDayOfMonth } from '../units/day-of-month';
21
- const locales = {};
22
- const localeFamilies = {};
23
- let globalLocale;
24
- function normalizeLocale(key) {
25
- return key ? key.toLowerCase().replace('_', '-') : key;
26
- }
27
- // pick the locale from the array
28
- // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each
29
- // substring from most specific to least,
30
- // but move to the next array item if it's a more specific variant than the current root
31
- function chooseLocale(names) {
32
- let next;
33
- let locale;
34
- let i = 0;
35
- while (i < names.length) {
36
- const split = normalizeLocale(names[i]).split('-');
37
- let j = split.length;
38
- next = normalizeLocale(names[i + 1]);
39
- next = next ? next.split('-') : null;
40
- while (j > 0) {
41
- locale = loadLocale(split.slice(0, j).join('-'));
42
- if (locale) {
43
- return locale;
44
- }
45
- if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {
46
- // the next array item is better than a shallower substring of this one
47
- break;
48
- }
49
- j--;
50
- }
51
- i++;
52
- }
53
- return null;
54
- }
55
- export function mergeConfigs(parentConfig, childConfig) {
56
- const res = Object.assign({}, parentConfig);
57
- for (const childProp in childConfig) {
58
- if (!hasOwnProp(childConfig, childProp)) {
59
- continue;
60
- }
61
- if (isObject(parentConfig[childProp]) && isObject(childConfig[childProp])) {
62
- res[childProp] = {};
63
- Object.assign(res[childProp], parentConfig[childProp]);
64
- Object.assign(res[childProp], childConfig[childProp]);
65
- }
66
- else if (childConfig[childProp] != null) {
67
- res[childProp] = childConfig[childProp];
68
- }
69
- else {
70
- delete res[childProp];
71
- }
72
- }
73
- for (const parentProp in parentConfig) {
74
- if (hasOwnProp(parentConfig, parentProp) &&
75
- !hasOwnProp(childConfig, parentProp) &&
76
- isObject(parentConfig[parentProp])) {
77
- // make sure changes to properties don't modify parent config
78
- res[parentProp] = Object.assign({}, res[parentProp]);
79
- }
80
- }
81
- return res;
82
- }
83
- function loadLocale(name) {
84
- // no way!
85
- /* var oldLocale = null;
86
- // TODO: Find a better way to register and load all the locales in Node
87
- if (!locales[name] && (typeof module !== 'undefined') &&
88
- module && module.exports) {
89
- try {
90
- oldLocale = globalLocale._abbr;
91
- var aliasedRequire = require;
92
- aliasedRequire('./locale/' + name);
93
- getSetGlobalLocale(oldLocale);
94
- } catch (e) {}
95
- }*/
96
- if (!locales[name]) {
97
- // tslint:disable-next-line
98
- console.error(`Khronos locale error: please load locale "${name}" before using it`);
99
- // throw new Error(`Khronos locale error: please load locale "${name}" before using it`);
100
- }
101
- return locales[name];
102
- }
103
- // This function will load locale and then set the global locale. If
104
- // no arguments are passed in, it will simply return the current global
105
- // locale key.
106
- export function getSetGlobalLocale(key, values) {
107
- let data;
108
- if (key) {
109
- if (isUndefined(values)) {
110
- data = getLocale(key);
111
- }
112
- else if (isString(key)) {
113
- data = defineLocale(key, values);
114
- }
115
- if (data) {
116
- globalLocale = data;
117
- }
118
- }
119
- return globalLocale && globalLocale._abbr;
120
- }
121
- export function defineLocale(name, config) {
122
- if (config === null) {
123
- // useful for testing
124
- delete locales[name];
125
- globalLocale = getLocale('en');
126
- return null;
127
- }
128
- if (!config) {
129
- return;
130
- }
131
- let parentConfig = baseConfig;
132
- config.abbr = name;
133
- if (config.parentLocale != null) {
134
- if (locales[config.parentLocale] != null) {
135
- parentConfig = locales[config.parentLocale]._config;
136
- }
137
- else {
138
- if (!localeFamilies[config.parentLocale]) {
139
- localeFamilies[config.parentLocale] = [];
140
- }
141
- localeFamilies[config.parentLocale].push({ name, config });
142
- return null;
143
- }
144
- }
145
- locales[name] = new Locale(mergeConfigs(parentConfig, config));
146
- if (localeFamilies[name]) {
147
- localeFamilies[name].forEach(function (x) {
148
- defineLocale(x.name, x.config);
149
- });
150
- }
151
- // backwards compat for now: also set the locale
152
- // make sure we set the locale AFTER all child locales have been
153
- // created, so we won't end up with the child locale set.
154
- getSetGlobalLocale(name);
155
- return locales[name];
156
- }
157
- export function updateLocale(name, config) {
158
- let _config = config;
159
- if (_config != null) {
160
- let parentConfig = baseConfig;
161
- // MERGE
162
- const tmpLocale = loadLocale(name);
163
- if (tmpLocale != null) {
164
- parentConfig = tmpLocale._config;
165
- }
166
- _config = mergeConfigs(parentConfig, _config);
167
- const locale = new Locale(_config);
168
- locale.parentLocale = locales[name];
169
- locales[name] = locale;
170
- // backwards compat for now: also set the locale
171
- getSetGlobalLocale(name);
172
- }
173
- else {
174
- // pass null for config to unupdate, useful for tests
175
- if (locales[name] != null) {
176
- if (locales[name].parentLocale != null) {
177
- locales[name] = locales[name].parentLocale;
178
- }
179
- else if (locales[name] != null) {
180
- delete locales[name];
181
- }
182
- }
183
- }
184
- return locales[name];
185
- }
186
- // returns locale data
187
- export function getLocale(key) {
188
- setDefaultLocale();
189
- if (!key) {
190
- return globalLocale;
191
- }
192
- // let locale;
193
- const _key = isArray(key) ? key : [key];
194
- return chooseLocale(_key);
195
- }
196
- export function listLocales() {
197
- return Object.keys(locales);
198
- }
199
- function setDefaultLocale() {
200
- if (locales[`en`]) {
201
- return undefined;
202
- }
203
- getSetGlobalLocale('en', {
204
- dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
205
- ordinal(num) {
206
- const b = num % 10;
207
- const output = toInt((num % 100) / 10) === 1
208
- ? 'th'
209
- : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';
210
- return num + output;
211
- }
212
- });
213
- initWeek();
214
- initWeekYear();
215
- initYear();
216
- initTimezone();
217
- initTimestamp();
218
- initSecond();
219
- initQuarter();
220
- initOffset();
221
- initMonth();
222
- initMinute();
223
- initMillisecond();
224
- initHour();
225
- initDayOfYear();
226
- initDayOfWeek();
227
- initDayOfMonth();
228
- }
229
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2RhdGVwaWNrZXIvY2hyb25vcy9sb2NhbGUvbG9jYWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBYyxNQUFNLGdCQUFnQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxl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LENBQUMsQ0FBQyxJQUFJO2dCQUNOLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFFOUQsT0FBTyxHQUFHLEdBQUcsTUFBTSxDQUFDO1FBQ3RCLENBQUM7S0FDRixDQUFDLENBQUM7SUFFSCxRQUFRLEVBQUUsQ0FBQztJQUNYLFlBQVksRUFBRSxDQUFDO0lBQ2YsUUFBUSxFQUFFLENBQUM7SUFDWCxZQUFZLEVBQUUsQ0FBQztJQUNmLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLFVBQVUsRUFBRSxDQUFDO0lBQ2IsV0FBVyxFQUFFLENBQUM7SUFDZCxVQUFVLEVBQUUsQ0FBQztJQUNiLFNBQVMsRUFBRSxDQUFDO0lBQ1osVUFBVSxFQUFFLENBQUM7SUFDYixlQUFlLEVBQUUsQ0FBQztJQUNsQixRQUFRLEVBQUUsQ0FBQztJQUNYLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLGNBQWMsRUFBRSxDQUFDO0FBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBpbnRlcm5hbCBzdG9yYWdlIGZvciBsb2NhbGUgY29uZmlnIGZpbGVzXG5pbXBvcnQgeyBMb2NhbGUsIExvY2FsZURhdGEgfSBmcm9tICcuL2xvY2FsZS5jbGFzcyc7XG5pbXBvcnQgeyBiYXNlQ29uZmlnIH0gZnJvbSAnLi9sb2NhbGUuZGVmYXVsdHMnO1xuaW1wb3J0IHsgaGFzT3duUHJvcCwgaXNBcnJheSwgaXNPYmplY3QsIGlzU3RyaW5nLCBpc1VuZGVmaW5lZCwgdG9JbnQgfSBmcm9tICcuLi91dGlscy90eXBlLWNoZWNrcyc7XG5pbXBvcnQgeyBjb21wYXJlQXJyYXlzIH0gZnJvbSAnLi4vdXRpbHMvY29tcGFyZS1hcnJheXMnO1xuXG5pbXBvcnQgeyBpbml0V2VlayB9IGZyb20gJy4uL3VuaXRzL3dlZWsnO1xuaW1wb3J0IHsgaW5pdFdlZWtZZWFyIH0gZnJvbSAnLi4vdW5pdHMvd2Vlay15ZWFyJztcbmltcG9ydCB7IGluaXRZZWFyIH0gZnJvbSAnLi4vdW5pdHMveWVhcic7XG5pbXBvcnQgeyBpbml0VGltZXpvbmUgfSBmcm9tICcuLi91bml0cy90aW1lem9uZSc7XG5pbXBvcnQgeyBpbml0VGltZXN0YW1wIH0gZnJvbSAnLi4vdW5pdHMvdGltZXN0YW1wJztcbmltcG9ydCB7IGluaXRTZWNvbmQgfSBmcm9tICcuLi91bml0cy9zZWNvbmQnO1xuaW1wb3J0IHsgaW5pdFF1YXJ0ZXIgfSBmcm9tICcuLi91bml0cy9xdWFydGVyJztcbmltcG9ydCB7IGluaXRPZmZzZXQgfSBmcm9tICcuLi91bml0cy9vZmZzZXQnO1xuaW1wb3J0IHsgaW5pdE1pbnV0ZSB9IGZyb20gJy4uL3VuaXRzL21pbnV0ZSc7XG5pbXBvcnQgeyBpbml0TWlsbGlzZWNvbmQgfSBmcm9tICcuLi91bml0cy9taWxsaXNlY29uZCc7XG5pbXBvcnQgeyBpbml0TW9udGggfSBmcm9tICcuLi91bml0cy9tb250aCc7XG5pbXBvcnQgeyBpbml0SG91ciB9IGZyb20gJy4uL3VuaXRzL2hvdXInO1xuaW1wb3J0IHsgaW5pdERheU9mWWVhciB9IGZyb20gJy4uL3VuaXRzL2RheS1vZi15ZWFyJztcbmltcG9ydCB7IGluaXREYXlPZldlZWsgfSBmcm9tICcuLi91bml0cy9kYXktb2Ytd2Vlayc7XG5pbXBvcnQgeyBpbml0RGF5T2ZNb250aCB9IGZyb20gJy4uL3VuaXRzL2RheS1vZi1tb250aCc7XG5cbmNvbnN0IGxvY2FsZXM6IHsgW2tleTogc3RyaW5nXTogTG9jYWxlIH0gPSB7fTtcbmNvbnN0IGxvY2FsZUZhbWlsaWVzOiB7IFtrZXk6IHN0cmluZ106IHtuYW1lOiBzdHJpbmc7IGNvbmZpZzogTG9jYWxlRGF0YX1bXSB9ID0ge307XG5sZXQgZ2xvYmFsTG9jYWxlOiBMb2NhbGU7XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZUxvY2FsZShrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBrZXkgPyBrZXkudG9Mb3dlckNhc2UoKS5yZXBsYWNlKCdfJywgJy0nKSA6IGtleTtcbn1cblxuLy8gcGljayB0aGUgbG9jYWxlIGZyb20gdGhlIGFycmF5XG4vLyB0cnkgWydlbi1hdScsICdlbi1nYiddIGFzICdlbi1hdScsICdlbi1nYicsICdlbicsIGFzIGluIG1vdmUgdGhyb3VnaCB0aGUgbGlzdCB0cnlpbmcgZWFjaFxuLy8gc3Vic3RyaW5nIGZyb20gbW9zdCBzcGVjaWZpYyB0byBsZWFzdCxcbi8vIGJ1dCBtb3ZlIHRvIHRoZSBuZXh0IGFycmF5IGl0ZW0gaWYgaXQncyBhIG1vcmUgc3BlY2lmaWMgdmFyaWFudCB0aGFuIHRoZSBjdXJyZW50IHJvb3RcbmZ1bmN0aW9uIGNob29zZUxvY2FsZShuYW1lczogc3RyaW5nW10pOiBMb2NhbGUge1xuICBsZXQgbmV4dDtcbiAgbGV0IGxvY2FsZTtcbiAgbGV0IGkgPSAwO1xuXG4gIHdoaWxlIChpIDwgbmFtZXMubGVuZ3RoKSB7XG4gICAgY29uc3Qgc3BsaXQgPSBub3JtYWxpemVMb2NhbGUobmFtZXNbaV0pLnNwbGl0KCctJyk7XG4gICAgbGV0IGogPSBzcGxpdC5sZW5ndGg7XG4gICAgbmV4dCA9IG5vcm1hbGl6ZUxvY2FsZShuYW1lc1tpICsgMV0pO1xuICAgIG5leHQgPSBuZXh0ID8gbmV4dC5zcGxpdCgnLScpIDogbnVsbDtcbiAgICB3aGlsZSAoaiA+IDApIHtcbiAgICAgIGxvY2FsZSA9IGxvYWRMb2NhbGUoc3BsaXQuc2xpY2UoMCwgaikuam9pbignLScpKTtcbiAgICAgIGlmIChsb2NhbGUpIHtcbiAgICAgICAgcmV0dXJuIGxvY2FsZTtcbiAgICAgIH1cbiAgICAgIGlmIChuZXh0ICYmIG5leHQubGVuZ3RoID49IGogJiYgY29tcGFyZUFycmF5cyhzcGxpdCwgbmV4dCwgdHJ1ZSkgPj0gaiAtIDEpIHtcbiAgICAgICAgLy8gdGhlIG5leHQgYXJyYXkgaXRlbSBpcyBiZXR0ZXIgdGhhbiBhIHNoYWxsb3dlciBzdWJzdHJpbmcgb2YgdGhpcyBvbmVcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBqLS07XG4gICAgfVxuICAgIGkrKztcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VDb25maWdzKHBhcmVudENvbmZpZzogTG9jYWxlRGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRDb25maWc6IExvY2FsZURhdGEpIHtcbiAgY29uc3QgcmVzOiBMb2NhbGVEYXRhID0gT2JqZWN0LmFzc2lnbih7fSwgcGFyZW50Q29uZmlnKTtcblxuICBmb3IgKGNvbnN0IGNoaWxkUHJvcCBpbiBjaGlsZENvbmZpZykge1xuICAgIGlmICghaGFzT3duUHJvcChjaGlsZENvbmZpZywgY2hpbGRQcm9wKSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKGlzT2JqZWN0KHBhcmVudENvbmZpZ1tjaGlsZFByb3BdKSAmJiBpc09iamVjdChjaGlsZENvbmZpZ1tjaGlsZFByb3BdKSkge1xuICAgICAgcmVzW2NoaWxkUHJvcCBhcyBhbnldID0ge307XG4gICAgICBPYmplY3QuYXNzaWduKHJlc1tjaGlsZFByb3BdLCBwYXJlbnRDb25maWdbY2hpbGRQcm9wXSk7XG4gICAgICBPYmplY3QuYXNzaWduKHJlc1tjaGlsZFByb3BdLCBjaGlsZENvbmZpZ1tjaGlsZFByb3BdKTtcbiAgICB9IGVsc2UgaWYgKGNoaWxkQ29uZmlnW2NoaWxkUHJvcF0gIT0gbnVsbCkge1xuICAgICAgcmVzW2NoaWxkUHJvcCBhcyBhbnldID0gY2hpbGRDb25maWdbY2hpbGRQcm9wXTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVsZXRlIHJlc1tjaGlsZFByb3AgYXMgYW55XTtcbiAgICB9XG4gIH1cbiAgZm9yIChjb25zdCBwYXJlbnRQcm9wIGluIHBhcmVudENvbmZpZykge1xuICAgIGlmIChcbiAgICAgIGhhc093blByb3AocGFyZW50Q29uZmlnLCBwYXJlbnRQcm9wKSAmJlxuICAgICAgIWhhc093blByb3AoY2hpbGRDb25maWcsIHBhcmVudFByb3ApICYmXG4gICAgICBpc09iamVjdChwYXJlbnRDb25maWdbcGFyZW50UHJvcCBhcyBrZXlvZiBMb2NhbGVEYXRhXSlcbiAgICApIHtcbiAgICAgIC8vIG1ha2Ugc3VyZSBjaGFuZ2VzIHRvIHByb3BlcnRpZXMgZG9uJ3QgbW9kaWZ5IHBhcmVudCBjb25maWdcbiAgICAgIHJlc1twYXJlbnRQcm9wIGFzIGFueV0gPSBPYmplY3QuYXNzaWduKHt9LCByZXNbcGFyZW50UHJvcCBhcyBrZXlvZiBMb2NhbGVEYXRhXSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlcztcbn1cblxuXG5mdW5jdGlvbiBsb2FkTG9jYWxlKG5hbWU6IHN0cmluZyk6IExvY2FsZSB7XG4gIC8vIG5vIHdheSFcbiAgLyogdmFyIG9sZExvY2FsZSA9IG51bGw7XG4gICAvLyBUT0RPOiBGaW5kIGEgYmV0dGVyIHdheSB0byByZWdpc3RlciBhbmQgbG9hZCBhbGwgdGhlIGxvY2FsZXMgaW4gTm9kZVxuICAgaWYgKCFsb2NhbGVzW25hbWVdICYmICh0eXBlb2YgbW9kdWxlICE9PSAndW5kZWZpbmVkJykgJiZcbiAgICAgbW9kdWxlICYmIG1vZHVsZS5leHBvcnRzKSB7XG4gICAgIHRyeSB7XG4gICAgICAgb2xkTG9jYWxlID0gZ2xvYmFsTG9jYWxlLl9hYmJyO1xuICAgICAgIHZhciBhbGlhc2VkUmVxdWlyZSA9IHJlcXVpcmU7XG4gICAgICAgYWxpYXNlZFJlcXVpcmUoJy4vbG9jYWxlLycgKyBuYW1lKTtcbiAgICAgICBnZXRTZXRHbG9iYWxMb2NhbGUob2xkTG9jYWxlKTtcbiAgICAgfSBjYXRjaCAoZSkge31cbiAgIH0qL1xuICBpZiAoIWxvY2FsZXNbbmFtZV0pIHtcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmVcbiAgICBjb25zb2xlLmVycm9yKGBLaHJvbm9zIGxvY2FsZSBlcnJvcjogcGxlYXNlIGxvYWQgbG9jYWxlIFwiJHtuYW1lfVwiIGJlZm9yZSB1c2luZyBpdGApO1xuICAgIC8vIHRocm93IG5ldyBFcnJvcihgS2hyb25vcyBsb2NhbGUgZXJyb3I6IHBsZWFzZSBsb2FkIGxvY2FsZSBcIiR7bmFtZX1cIiBiZWZvcmUgdXNpbmcgaXRgKTtcbiAgfVxuXG4gIHJldHVybiBsb2NhbGVzW25hbWVdO1xufVxuXG4vLyBUaGlzIGZ1bmN0aW9uIHdpbGwgbG9hZCBsb2NhbGUgYW5kIHRoZW4gc2V0IHRoZSBnbG9iYWwgbG9jYWxlLiAgSWZcbi8vIG5vIGFyZ3VtZW50cyBhcmUgcGFzc2VkIGluLCBpdCB3aWxsIHNpbXBseSByZXR1cm4gdGhlIGN1cnJlbnQgZ2xvYmFsXG4vLyBsb2NhbGUga2V5LlxuZXhwb3J0IGZ1bmN0aW9uIGdldFNldEdsb2JhbExvY2FsZShrZXk/OiBzdHJpbmcgfCBzdHJpbmdbXSwgdmFsdWVzPzogTG9jYWxlRGF0YSk6IHN0cmluZyB7XG4gIGxldCBkYXRhOiBMb2NhbGU7XG5cbiAgaWYgKGtleSkge1xuICAgIGlmIChpc1VuZGVmaW5lZCh2YWx1ZXMpKSB7XG4gICAgICBkYXRhID0gZ2V0TG9jYWxlKGtleSk7XG4gICAgfSBlbHNlIGlmIChpc1N0cmluZyhrZXkpKSB7XG4gICAgICBkYXRhID0gZGVmaW5lTG9jYWxlKGtleSwgdmFsdWVzKTtcbiAgICB9XG5cbiAgICBpZiAoZGF0YSkge1xuICAgICAgZ2xvYmFsTG9jYWxlID0gZGF0YTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZ2xvYmFsTG9jYWxlICYmIGdsb2JhbExvY2FsZS5fYWJicjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmluZUxvY2FsZShuYW1lOiBzdHJpbmcsIGNvbmZpZz86IExvY2FsZURhdGEpOiBMb2NhbGUge1xuICBpZiAoY29uZmlnID09PSBudWxsKSB7XG4gICAgLy8gdXNlZnVsIGZvciB0ZXN0aW5nXG4gICAgZGVsZXRlIGxvY2FsZXNbbmFtZV07XG4gICAgZ2xvYmFsTG9jYWxlID0gZ2V0TG9jYWxlKCdlbicpO1xuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBpZiAoIWNvbmZpZykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGxldCBwYXJlbnRDb25maWcgPSBiYXNlQ29uZmlnO1xuICBjb25maWcuYWJiciA9IG5hbWU7XG4gIGlmIChjb25maWcucGFyZW50TG9jYWxlICE9IG51bGwpIHtcbiAgICBpZiAobG9jYWxlc1tjb25maWcucGFyZW50TG9jYWxlXSAhPSBudWxsKSB7XG4gICAgICBwYXJlbnRDb25maWcgPSBsb2NhbGVzW2NvbmZpZy5wYXJlbnRMb2NhbGVdLl9jb25maWc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICghbG9jYWxlRmFtaWxpZXNbY29uZmlnLnBhcmVudExvY2FsZV0pIHtcbiAgICAgICAgbG9jYWxlRmFtaWxpZXNbY29uZmlnLnBhcmVudExvY2FsZV0gPSBbXTtcbiAgICAgIH1cbiAgICAgIGxvY2FsZUZhbWlsaWVzW2NvbmZpZy5wYXJlbnRMb2NhbGVdLnB1c2goeyBuYW1lLCBjb25maWcgfSk7XG5cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIGxvY2FsZXNbbmFtZV0gPSBuZXcgTG9jYWxlKG1lcmdlQ29uZmlncyhwYXJlbnRDb25maWcsIGNvbmZpZykpO1xuXG4gIGlmIChsb2NhbGVGYW1pbGllc1tuYW1lXSkge1xuICAgIGxvY2FsZUZhbWlsaWVzW25hbWVdLmZvckVhY2goZnVuY3Rpb24gKHgpIHtcbiAgICAgIGRlZmluZUxvY2FsZSh4Lm5hbWUsIHguY29uZmlnKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIGJhY2t3YXJkcyBjb21wYXQgZm9yIG5vdzogYWxzbyBzZXQgdGhlIGxvY2FsZVxuICAvLyBtYWtlIHN1cmUgd2Ugc2V0IHRoZSBsb2NhbGUgQUZURVIgYWxsIGNoaWxkIGxvY2FsZXMgaGF2ZSBiZWVuXG4gIC8vIGNyZWF0ZWQsIHNvIHdlIHdvbid0IGVuZCB1cCB3aXRoIHRoZSBjaGlsZCBsb2NhbGUgc2V0LlxuICBnZXRTZXRHbG9iYWxMb2NhbGUobmFtZSk7XG5cblxuICByZXR1cm4gbG9jYWxlc1tuYW1lXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZUxvY2FsZShuYW1lOiBzdHJpbmcsIGNvbmZpZz86IExvY2FsZURhdGEpOiBMb2NhbGUge1xuICBsZXQgX2NvbmZpZyA9IGNvbmZpZztcblxuICBpZiAoX2NvbmZpZyAhPSBudWxsKSB7XG4gICAgbGV0IHBhcmVudENvbmZpZyA9IGJhc2VDb25maWc7XG4gICAgLy8gTUVSR0VcbiAgICBjb25zdCB0bXBMb2NhbGUgPSBsb2FkTG9jYWxlKG5hbWUpO1xuICAgIGlmICh0bXBMb2NhbGUgIT0gbnVsbCkge1xuICAgICAgcGFyZW50Q29uZmlnID0gdG1wTG9jYWxlLl9jb25maWc7XG4gICAgfVxuICAgIF9jb25maWcgPSBtZXJnZUNvbmZpZ3MocGFyZW50Q29uZmlnLCBfY29uZmlnKTtcbiAgICBjb25zdCBsb2NhbGUgPSBuZXcgTG9jYWxlKF9jb25maWcpO1xuICAgIGxvY2FsZS5wYXJlbnRMb2NhbGUgPSBsb2NhbGVzW25hbWVdO1xuICAgIGxvY2FsZXNbbmFtZV0gPSBsb2NhbGU7XG5cbiAgICAvLyBiYWNrd2FyZHMgY29tcGF0IGZvciBub3c6IGFsc28gc2V0IHRoZSBsb2NhbGVcbiAgICBnZXRTZXRHbG9iYWxMb2NhbGUobmFtZSk7XG4gIH0gZWxzZSB7XG4gICAgLy8gcGFzcyBudWxsIGZvciBjb25maWcgdG8gdW51cGRhdGUsIHVzZWZ1bCBmb3IgdGVzdHNcbiAgICBpZiAobG9jYWxlc1tuYW1lXSAhPSBudWxsKSB7XG4gICAgICBpZiAobG9jYWxlc1tuYW1lXS5wYXJlbnRMb2NhbGUgIT0gbnVsbCkge1xuICAgICAgICBsb2NhbGVzW25hbWVdID0gbG9jYWxlc1tuYW1lXS5wYXJlbnRMb2NhbGU7XG4gICAgICB9IGVsc2UgaWYgKGxvY2FsZXNbbmFtZV0gIT0gbnVsbCkge1xuICAgICAgICBkZWxldGUgbG9jYWxlc1tuYW1lXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gbG9jYWxlc1tuYW1lXTtcbn1cblxuLy8gcmV0dXJucyBsb2NhbGUgZGF0YVxuZXhwb3J0IGZ1bmN0aW9uIGdldExvY2FsZShrZXk/OiBzdHJpbmcgfCBzdHJpbmdbXSk6IExvY2FsZSB7XG4gIHNldERlZmF1bHRMb2NhbGUoKTtcblxuICBpZiAoIWtleSkge1xuICAgIHJldHVybiBnbG9iYWxMb2NhbGU7XG4gIH1cbiAgLy8gbGV0IGxvY2FsZTtcbiAgY29uc3QgX2tleSA9IGlzQXJyYXkoa2V5KSA/IGtleSA6IFtrZXldO1xuXG4gIHJldHVybiBjaG9vc2VMb2NhbGUoX2tleSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsaXN0TG9jYWxlcygpOiBzdHJpbmdbXSB7XG4gIHJldHVybiBPYmplY3Qua2V5cyhsb2NhbGVzKTtcbn1cblxuZnVuY3Rpb24gc2V0RGVmYXVsdExvY2FsZSgpOiB2b2lkIHtcbiAgaWYgKGxvY2FsZXNbYGVuYF0pIHtcblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXRTZXRHbG9iYWxMb2NhbGUoJ2VuJywge1xuICAgIGRheU9mTW9udGhPcmRpbmFsUGFyc2U6IC9cXGR7MSwyfSh0aHxzdHxuZHxyZCkvLFxuICAgIG9yZGluYWwobnVtOiBudW1iZXIpOiBzdHJpbmcge1xuICAgICAgY29uc3QgYiA9IG51bSAlIDEwO1xuICAgICAgY29uc3Qgb3V0cHV0ID1cbiAgICAgICAgdG9JbnQoKG51bSAlIDEwMCkgLyAxMCkgPT09IDFcbiAgICAgICAgICA/ICd0aCdcbiAgICAgICAgICA6IGIgPT09IDEgPyAnc3QnIDogYiA9PT0gMiA/ICduZCcgOiBiID09PSAzID8gJ3JkJyA6ICd0aCc7XG5cbiAgICAgIHJldHVybiBudW0gKyBvdXRwdXQ7XG4gICAgfVxuICB9KTtcblxuICBpbml0V2VlaygpO1xuICBpbml0V2Vla1llYXIoKTtcbiAgaW5pdFllYXIoKTtcbiAgaW5pdFRpbWV6b25lKCk7XG4gIGluaXRUaW1lc3RhbXAoKTtcbiAgaW5pdFNlY29uZCgpO1xuICBpbml0UXVhcnRlcigpO1xuICBpbml0T2Zmc2V0KCk7XG4gIGluaXRNb250aCgpO1xuICBpbml0TWludXRlKCk7XG4gIGluaXRNaWxsaXNlY29uZCgpO1xuICBpbml0SG91cigpO1xuICBpbml0RGF5T2ZZZWFyKCk7XG4gIGluaXREYXlPZldlZWsoKTtcbiAgaW5pdERheU9mTW9udGgoKTtcbn1cbiJdfQ==
@@ -1,35 +0,0 @@
1
- import { createDuration } from '../duration/create';
2
- import { absRound } from '../utils/abs-round';
3
- import { getDate, getMonth, getTime } from '../utils/date-getters';
4
- import { setDate, setMonth, setTime } from '../utils/date-setters';
5
- import { cloneDate } from '../create/clone';
6
- export function add(date, val, period, isUTC) {
7
- const dur = createDuration(val, period);
8
- return addSubtract(date, dur, 1, isUTC);
9
- }
10
- export function subtract(date, val, period, isUTC) {
11
- const dur = createDuration(val, period);
12
- return addSubtract(date, dur, -1, isUTC);
13
- }
14
- export function addSubtract(date, duration, isAdding, isUTC) {
15
- const milliseconds = duration._milliseconds;
16
- const days = absRound(duration._days);
17
- const months = absRound(duration._months);
18
- // todo: add timezones support
19
- // const _updateOffset = updateOffset == null ? true : updateOffset;
20
- if (months) {
21
- setMonth(date, getMonth(date, isUTC) + months * isAdding, isUTC);
22
- }
23
- if (days) {
24
- setDate(date, getDate(date, isUTC) + days * isAdding, isUTC);
25
- }
26
- if (milliseconds) {
27
- setTime(date, getTime(date) + milliseconds * isAdding);
28
- }
29
- return cloneDate(date);
30
- // todo: add timezones support
31
- // if (_updateOffset) {
32
- // hooks.updateOffset(date, days || months);
33
- // }
34
- }
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLXN1YnRyYWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9jaHJvbm9zL21vbWVudC9hZGQtc3VidHJhY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHNUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxJQUFVLEVBQUUsR0FBVyxFQUFFLE1BQWtCLEVBQUUsS0FBZTtJQUM5RSxNQUFNLEdBQUcsR0FBRyxjQUFjLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRXhDLE9BQU8sV0FBVyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzFDLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLElBQVUsRUFBRSxHQUFXLEVBQUUsTUFBa0IsRUFBRSxLQUFlO0lBQ25GLE1BQU0sR0FBRyxHQUFHLGNBQWMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFFeEMsT0FBTyxXQUFXLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxJQUFVLEVBQUUsUUFBa0IsRUFBRSxRQUFnQixFQUFFLEtBQWU7SUFDM0YsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQztJQUM1QyxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFMUMsOEJBQThCO0lBQzlCLG9FQUFvRTtJQUVwRSxJQUFJLE1BQU0sRUFBRTtRQUNWLFFBQVEsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsR0FBRyxNQUFNLEdBQUcsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0tBQ2xFO0lBQ0QsSUFBSSxJQUFJLEVBQUU7UUFDUixPQUFPLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEdBQUcsSUFBSSxHQUFHLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztLQUM5RDtJQUNELElBQUksWUFBWSxFQUFFO1FBQ2hCLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLFlBQVksR0FBRyxRQUFRLENBQUMsQ0FBQztLQUN4RDtJQUVELE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZCLDhCQUE4QjtJQUM5Qix1QkFBdUI7SUFDdkIsOENBQThDO0lBQzlDLElBQUk7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlRHVyYXRpb24gfSBmcm9tICcuLi9kdXJhdGlvbi9jcmVhdGUnO1xuaW1wb3J0IHsgYWJzUm91bmQgfSBmcm9tICcuLi91dGlscy9hYnMtcm91bmQnO1xuaW1wb3J0IHsgRHVyYXRpb24gfSBmcm9tICcuLi9kdXJhdGlvbi9jb25zdHJ1Y3Rvcic7XG5pbXBvcnQgeyBnZXREYXRlLCBnZXRNb250aCwgZ2V0VGltZSB9IGZyb20gJy4uL3V0aWxzL2RhdGUtZ2V0dGVycyc7XG5pbXBvcnQgeyBzZXREYXRlLCBzZXRNb250aCwgc2V0VGltZSB9IGZyb20gJy4uL3V0aWxzL2RhdGUtc2V0dGVycyc7XG5pbXBvcnQgeyBjbG9uZURhdGUgfSBmcm9tICcuLi9jcmVhdGUvY2xvbmUnO1xuaW1wb3J0IHsgVW5pdE9mVGltZSB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGFkZChkYXRlOiBEYXRlLCB2YWw6IG51bWJlciwgcGVyaW9kOiBVbml0T2ZUaW1lLCBpc1VUQz86IGJvb2xlYW4pOiBEYXRlIHtcbiAgY29uc3QgZHVyID0gY3JlYXRlRHVyYXRpb24odmFsLCBwZXJpb2QpO1xuXG4gIHJldHVybiBhZGRTdWJ0cmFjdChkYXRlLCBkdXIsIDEsIGlzVVRDKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1YnRyYWN0KGRhdGU6IERhdGUsIHZhbDogbnVtYmVyLCBwZXJpb2Q6IFVuaXRPZlRpbWUsIGlzVVRDPzogYm9vbGVhbik6IERhdGUge1xuICBjb25zdCBkdXIgPSBjcmVhdGVEdXJhdGlvbih2YWwsIHBlcmlvZCk7XG5cbiAgcmV0dXJuIGFkZFN1YnRyYWN0KGRhdGUsIGR1ciwgLTEsIGlzVVRDKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFkZFN1YnRyYWN0KGRhdGU6IERhdGUsIGR1cmF0aW9uOiBEdXJhdGlvbiwgaXNBZGRpbmc6IG51bWJlciwgaXNVVEM/OiBib29sZWFuKTogRGF0ZSB7XG4gIGNvbnN0IG1pbGxpc2Vjb25kcyA9IGR1cmF0aW9uLl9taWxsaXNlY29uZHM7XG4gIGNvbnN0IGRheXMgPSBhYnNSb3VuZChkdXJhdGlvbi5fZGF5cyk7XG4gIGNvbnN0IG1vbnRocyA9IGFic1JvdW5kKGR1cmF0aW9uLl9tb250aHMpO1xuXG4gIC8vIHRvZG86IGFkZCB0aW1lem9uZXMgc3VwcG9ydFxuICAvLyBjb25zdCBfdXBkYXRlT2Zmc2V0ID0gdXBkYXRlT2Zmc2V0ID09IG51bGwgPyB0cnVlIDogdXBkYXRlT2Zmc2V0O1xuXG4gIGlmIChtb250aHMpIHtcbiAgICBzZXRNb250aChkYXRlLCBnZXRNb250aChkYXRlLCBpc1VUQykgKyBtb250aHMgKiBpc0FkZGluZywgaXNVVEMpO1xuICB9XG4gIGlmIChkYXlzKSB7XG4gICAgc2V0RGF0ZShkYXRlLCBnZXREYXRlKGRhdGUsIGlzVVRDKSArIGRheXMgKiBpc0FkZGluZywgaXNVVEMpO1xuICB9XG4gIGlmIChtaWxsaXNlY29uZHMpIHtcbiAgICBzZXRUaW1lKGRhdGUsIGdldFRpbWUoZGF0ZSkgKyBtaWxsaXNlY29uZHMgKiBpc0FkZGluZyk7XG4gIH1cblxuICByZXR1cm4gY2xvbmVEYXRlKGRhdGUpO1xuICAvLyB0b2RvOiBhZGQgdGltZXpvbmVzIHN1cHBvcnRcbiAgLy8gaWYgKF91cGRhdGVPZmZzZXQpIHtcbiAgLy8gICBob29rcy51cGRhdGVPZmZzZXQoZGF0ZSwgZGF5cyB8fCBtb250aHMpO1xuICAvLyB9XG59XG4iXX0=
@@ -1,41 +0,0 @@
1
- import { diff } from './diff';
2
- import { cloneWithOffset } from '../units/offset';
3
- import { isFunction, isString } from '../utils/type-checks';
4
- import { cloneDate } from '../create/clone';
5
- import { startOf } from '../utils/start-end-of';
6
- import { formatDate } from '../format';
7
- import { getLocale } from '../locale/locales';
8
- export function getCalendarFormat(date, now, config) {
9
- const _diff = diff(date, now, 'day', true, config);
10
- switch (true) {
11
- case _diff < -6: return 'sameElse';
12
- case _diff < -1: return 'lastWeek';
13
- case _diff < 0: return 'lastDay';
14
- case _diff < 1: return 'sameDay';
15
- case _diff < 2: return 'nextDay';
16
- case _diff < 7: return 'nextWeek';
17
- default: return 'sameElse';
18
- }
19
- }
20
- export function calendar(date, time, formats, locale = getLocale(), config = {}) {
21
- // We want to compare the start of today, vs this.
22
- // Getting start-of-today depends on whether we're local/utc/offset or not.
23
- const now = time;
24
- const sod = startOf(cloneWithOffset(now, date, config), 'day', config._isUTC);
25
- const format = getCalendarFormat(date, sod, { _isUTC: true, _offset: 0 }) || 'sameElse';
26
- let output;
27
- if (formats) {
28
- const _format = formats[format];
29
- if (isString(_format)) {
30
- output = _format;
31
- }
32
- if (isFunction(_format)) {
33
- output = _format.call(null, date, now);
34
- }
35
- }
36
- if (!output) {
37
- output = locale.calendar(format, date, cloneDate(now));
38
- }
39
- return formatDate(date, output, config._locale._abbr, config._isUTC, config._offset);
40
- }
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9kYXRlcGlja2VyL2Nocm9ub3MvbW9tZW50L2NhbGVuZGFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDOUIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQWtCOUMsTUFBTSxVQUFVLGlCQUFpQixDQUFDLElBQVUsRUFBRSxHQUFTLEVBQUUsTUFBeUI7SUFDaEYsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUVuRCxRQUFRLElBQUksRUFBRTtRQUNaLEtBQUssS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxVQUFVLENBQUM7UUFDbkMsS0FBSyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLFVBQVUsQ0FBQztRQUNuQyxLQUFLLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLFNBQVMsQ0FBQztRQUNqQyxLQUFLLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLFNBQVMsQ0FBQztRQUNqQyxLQUFLLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLFNBQVMsQ0FBQztRQUNqQyxLQUFLLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLFVBQVUsQ0FBQztRQUNsQyxPQUFPLENBQUMsQ0FBQyxPQUFPLFVBQVUsQ0FBQztLQUM1QjtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLElBQVUsRUFDVixJQUFVLEVBQ1YsT0FBcUIsRUFDckIsU0FBaUIsU0FBUyxFQUFFLEVBQzVCLFNBQTRCLEVBQUU7SUFDckQsa0RBQWtEO0lBQ2xELDJFQUEyRTtJQUMzRSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUM7SUFDakIsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFHLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0UsTUFBTSxNQUFNLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDLElBQUksVUFBVSxDQUFDO0lBRXRGLElBQUksTUFBTSxDQUFDO0lBQ1gsSUFBSSxPQUFPLEVBQUU7UUFDWCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEMsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDckIsTUFBTSxHQUFHLE9BQU8sQ0FBQztTQUNsQjtRQUNELElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3ZCLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDeEM7S0FDRjtJQUVELElBQUksQ0FBQyxNQUFNLEVBQUU7UUFDWCxNQUFNLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0tBQ3hEO0lBRUQsT0FBTyxVQUFVLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUN2RixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGlmZiB9IGZyb20gJy4vZGlmZic7XG5pbXBvcnQgeyBjbG9uZVdpdGhPZmZzZXQgfSBmcm9tICcuLi91bml0cy9vZmZzZXQnO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiwgaXNTdHJpbmcgfSBmcm9tICcuLi91dGlscy90eXBlLWNoZWNrcyc7XG5pbXBvcnQgeyBjbG9uZURhdGUgfSBmcm9tICcuLi9jcmVhdGUvY2xvbmUnO1xuaW1wb3J0IHsgc3RhcnRPZiB9IGZyb20gJy4uL3V0aWxzL3N0YXJ0LWVuZC1vZic7XG5pbXBvcnQgeyBmb3JtYXREYXRlIH0gZnJvbSAnLi4vZm9ybWF0JztcbmltcG9ydCB7IGdldExvY2FsZSB9IGZyb20gJy4uL2xvY2FsZS9sb2NhbGVzJztcbmltcG9ydCB7IExvY2FsZSB9IGZyb20gJy4uL2xvY2FsZS9sb2NhbGUuY2xhc3MnO1xuaW1wb3J0IHsgRGF0ZUlucHV0IH0gZnJvbSAnLi4vdGVzdC9jaGFpbic7XG5pbXBvcnQgeyBEYXRlUGFyc2luZ0NvbmZpZyB9IGZyb20gJy4uL2NyZWF0ZS9wYXJzaW5nLnR5cGVzJztcblxuZXhwb3J0IHR5cGUgQ2FsZW5kYXJTcGVjVmFsID0gc3RyaW5nIHwgKChtPzogRGF0ZUlucHV0LCBub3c/OiBEYXRlKSA9PiBzdHJpbmcpO1xuZXhwb3J0IGludGVyZmFjZSBDYWxlbmRhclNwZWMge1xuICBzYW1lRGF5PzogQ2FsZW5kYXJTcGVjVmFsO1xuICBuZXh0RGF5PzogQ2FsZW5kYXJTcGVjVmFsO1xuICBsYXN0RGF5PzogQ2FsZW5kYXJTcGVjVmFsO1xuICBuZXh0V2Vlaz86IENhbGVuZGFyU3BlY1ZhbDtcbiAgbGFzdFdlZWs/OiBDYWxlbmRhclNwZWNWYWw7XG4gIHNhbWVFbHNlPzogQ2FsZW5kYXJTcGVjVmFsO1xuXG4gIC8vIGFueSBhZGRpdGlvbmFsIHByb3BlcnRpZXMgbWlnaHQgYmUgdXNlZCB3aXRoIG1vbWVudC5jYWxlbmRhckZvcm1hdFxuICBbeDogc3RyaW5nXTogQ2FsZW5kYXJTcGVjVmFsIHwgdm9pZDsgLy8gdW5kZWZpbmVkXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDYWxlbmRhckZvcm1hdChkYXRlOiBEYXRlLCBub3c6IERhdGUsIGNvbmZpZzogRGF0ZVBhcnNpbmdDb25maWcpIHtcbiAgY29uc3QgX2RpZmYgPSBkaWZmKGRhdGUsIG5vdywgJ2RheScsIHRydWUsIGNvbmZpZyk7XG5cbiAgc3dpdGNoICh0cnVlKSB7XG4gICAgY2FzZSBfZGlmZiA8IC02OiByZXR1cm4gJ3NhbWVFbHNlJztcbiAgICBjYXNlIF9kaWZmIDwgLTE6IHJldHVybiAnbGFzdFdlZWsnO1xuICAgIGNhc2UgX2RpZmYgPCAwOiByZXR1cm4gJ2xhc3REYXknO1xuICAgIGNhc2UgX2RpZmYgPCAxOiByZXR1cm4gJ3NhbWVEYXknO1xuICAgIGNhc2UgX2RpZmYgPCAyOiByZXR1cm4gJ25leHREYXknO1xuICAgIGNhc2UgX2RpZmYgPCA3OiByZXR1cm4gJ25leHRXZWVrJztcbiAgICBkZWZhdWx0OiByZXR1cm4gJ3NhbWVFbHNlJztcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FsZW5kYXIoZGF0ZTogRGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lOiBEYXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdHM6IENhbGVuZGFyU3BlYyxcbiAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGU6IExvY2FsZSA9IGdldExvY2FsZSgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZzogRGF0ZVBhcnNpbmdDb25maWcgPSB7fSk6IHN0cmluZyB7XG4gIC8vIFdlIHdhbnQgdG8gY29tcGFyZSB0aGUgc3RhcnQgb2YgdG9kYXksIHZzIHRoaXMuXG4gIC8vIEdldHRpbmcgc3RhcnQtb2YtdG9kYXkgZGVwZW5kcyBvbiB3aGV0aGVyIHdlJ3JlIGxvY2FsL3V0Yy9vZmZzZXQgb3Igbm90LlxuICBjb25zdCBub3cgPSB0aW1lO1xuICBjb25zdCBzb2QgPSBzdGFydE9mKGNsb25lV2l0aE9mZnNldChub3csIGRhdGUsICBjb25maWcpLCAnZGF5JywgY29uZmlnLl9pc1VUQyk7XG4gIGNvbnN0IGZvcm1hdCA9IGdldENhbGVuZGFyRm9ybWF0KGRhdGUsIHNvZCwge19pc1VUQzogdHJ1ZSwgX29mZnNldDogMH0pIHx8ICdzYW1lRWxzZSc7XG5cbiAgbGV0IG91dHB1dDtcbiAgaWYgKGZvcm1hdHMpIHtcbiAgICBjb25zdCBfZm9ybWF0ID0gZm9ybWF0c1tmb3JtYXRdO1xuICAgIGlmIChpc1N0cmluZyhfZm9ybWF0KSkge1xuICAgICAgb3V0cHV0ID0gX2Zvcm1hdDtcbiAgICB9XG4gICAgaWYgKGlzRnVuY3Rpb24oX2Zvcm1hdCkpIHtcbiAgICAgIG91dHB1dCA9IF9mb3JtYXQuY2FsbChudWxsLCBkYXRlLCBub3cpO1xuICAgIH1cbiAgfVxuXG4gIGlmICghb3V0cHV0KSB7XG4gICAgb3V0cHV0ID0gbG9jYWxlLmNhbGVuZGFyKGZvcm1hdCwgZGF0ZSwgY2xvbmVEYXRlKG5vdykpO1xuICB9XG5cbiAgcmV0dXJuIGZvcm1hdERhdGUoZGF0ZSwgb3V0cHV0LCBjb25maWcuX2xvY2FsZS5fYWJiciwgY29uZmlnLl9pc1VUQywgY29uZmlnLl9vZmZzZXQpO1xufVxuIl19
@@ -1,70 +0,0 @@
1
- import { cloneWithOffset, getDateOffset, getUTCOffset } from '../units/offset';
2
- import { absFloor } from '../utils';
3
- import { isDateValid, isNumber } from '../utils/type-checks';
4
- import { getFullYear, getMonth } from '../utils/date-getters';
5
- import { add } from './add-subtract';
6
- import { cloneDate } from '../create/clone';
7
- export function diff(date, input, units, asFloat, config = {}) {
8
- if (!isDateValid(date)) {
9
- return NaN;
10
- }
11
- const that = cloneWithOffset(input, date, config);
12
- if (!isDateValid(that)) {
13
- return NaN;
14
- }
15
- const zoneOffset = (getDateOffset(input) - getDateOffset(date)) * 6e4;
16
- const zoneDelta = isNumber(config._zoneDelta)
17
- ? config._zoneDelta * 6e4
18
- : (getUTCOffset(input, config) - getUTCOffset(date, config)) * 6e4;
19
- let output;
20
- switch (units) {
21
- case 'year':
22
- output = monthDiff(date, that) / 12;
23
- break;
24
- case 'month':
25
- output = monthDiff(date, that);
26
- break;
27
- case 'quarter':
28
- output = monthDiff(date, that) / 3;
29
- break;
30
- case 'seconds':
31
- output = (date.valueOf() - that.valueOf()) / 1e3;
32
- break; // 1000
33
- case 'minutes':
34
- output = (date.valueOf() - that.valueOf()) / 6e4;
35
- break; // 1000 * 60
36
- case 'hours':
37
- output = (date.valueOf() - that.valueOf()) / 36e5;
38
- break; // 1000 * 60 * 60
39
- case 'day':
40
- output = (date.valueOf() - that.valueOf() - (zoneDelta === 0 ? zoneOffset : zoneDelta)) / 864e5;
41
- break; // 1000 * 60 * 60 * 24, negate dst
42
- case 'week':
43
- output = (date.valueOf() - that.valueOf() - zoneDelta) / 6048e5;
44
- break; // 1000 * 60 * 60 * 24 * 7, negate dst
45
- default:
46
- output = date.valueOf() - that.valueOf();
47
- }
48
- return asFloat ? output : absFloor(output);
49
- }
50
- function monthDiff(a, b) {
51
- // difference in months
52
- const wholeMonthDiff = ((getFullYear(b) - getFullYear(a)) * 12) + (getMonth(b) - getMonth(a));
53
- // b is in (anchor - 1 month, anchor + 1 month)
54
- const anchor = add(cloneDate(a), wholeMonthDiff, 'month');
55
- let anchor2;
56
- let adjust;
57
- if (b.valueOf() - anchor.valueOf() < 0) {
58
- anchor2 = add(cloneDate(a), wholeMonthDiff - 1, 'month');
59
- // linear across the month
60
- adjust = (b.valueOf() - anchor.valueOf()) / (anchor.valueOf() - anchor2.valueOf());
61
- }
62
- else {
63
- anchor2 = add(cloneDate(a), wholeMonthDiff + 1, 'month');
64
- // linear across the month
65
- adjust = (b.valueOf() - anchor.valueOf()) / (anchor2.valueOf() - anchor.valueOf());
66
- }
67
- // check for negative zero, return zero if negative zero
68
- return -(wholeMonthDiff + adjust) || 0;
69
- }
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlmZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2RhdGVwaWNrZXIvY2hyb25vcy9tb21lbnQvZGlmZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUcvRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTVDLE1BQU0sVUFBVSxJQUFJLENBQUMsSUFBVSxFQUFFLEtBQVcsRUFDdkIsS0FBaUIsRUFBRSxPQUFnQixFQUNuQyxTQUE0QixFQUFFO0lBRWpELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDdEIsT0FBTyxHQUFHLENBQUM7S0FDWjtJQUVELE1BQU0sSUFBSSxHQUFHLGVBQWUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRWxELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDdEIsT0FBTyxHQUFHLENBQUM7S0FDWjtJQUVELE1BQU0sVUFBVSxHQUFHLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUN0RSxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUMzQyxDQUFDLENBQUMsTUFBTSxDQUFD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QUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0tBQ3BGO1NBQU07UUFDTCxPQUFPLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxjQUFjLEdBQUcsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3pELDBCQUEwQjtRQUMxQixNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUcsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEdBQUcsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7S0FDcEY7SUFFRCx3REFBd0Q7SUFDeEQsT0FBTyxDQUFDLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN6QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2xvbmVXaXRoT2Zmc2V0LCBnZXREYXRlT2Zmc2V0LCBnZXRVVENPZmZzZXQgfSBmcm9tICcuLi91bml0cy9vZmZzZXQnO1xuaW1wb3J0IHsgRGF0ZVBhcnNpbmdDb25maWcgfSBmcm9tICcuLi9jcmVhdGUvcGFyc2luZy50eXBlcyc7XG5pbXBvcnQgeyBVbml0T2ZUaW1lIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgYWJzRmxvb3IgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBpc0RhdGVWYWxpZCwgaXNOdW1iZXIgfSBmcm9tICcuLi91dGlscy90eXBlLWNoZWNrcyc7XG5pbXBvcnQgeyBnZXRGdWxsWWVhciwgZ2V0TW9udGggfSBmcm9tICcuLi91dGlscy9kYXRlLWdldHRlcnMnO1xuaW1wb3J0IHsgYWRkIH0gZnJvbSAnLi9hZGQtc3VidHJhY3QnO1xuaW1wb3J0IHsgY2xvbmVEYXRlIH0gZnJvbSAnLi4vY3JlYXRlL2Nsb25lJztcblxuZXhwb3J0IGZ1bmN0aW9uIGRpZmYoZGF0ZTogRGF0ZSwgaW5wdXQ6IERhdGUsXG4gICAgICAgICAgICAgICAgICAgICB1bml0czogVW5pdE9mVGltZSwgYXNGbG9hdDogYm9vbGVhbixcbiAgICAgICAgICAgICAgICAgICAgIGNvbmZpZzogRGF0ZVBhcnNpbmdDb25maWcgPSB7fVxuICAgICAgICAgICAgICAgICAgICAgKTogbnVtYmVyIHtcbiAgaWYgKCFpc0RhdGVWYWxpZChkYXRlKSkge1xuICAgIHJldHVybiBOYU47XG4gIH1cblxuICBjb25zdCB0aGF0ID0gY2xvbmVXaXRoT2Zmc2V0KGlucHV0LCBkYXRlLCBjb25maWcpO1xuXG4gIGlmICghaXNEYXRlVmFsaWQodGhhdCkpIHtcbiAgICByZXR1cm4gTmFOO1xuICB9XG5cbiAgY29uc3Qgem9uZU9mZnNldCA9IChnZXREYXRlT2Zmc2V0KGlucHV0KSAtIGdldERhdGVPZmZzZXQoZGF0ZSkpICogNmU0O1xuICBjb25zdCB6b25lRGVsdGEgPSBpc051bWJlcihjb25maWcuX3pvbmVEZWx0YSlcbiAgICA/IGNvbmZpZy5fem9uZURlbHRhICogNmU0XG4gICAgOiAoZ2V0VVRDT2Zmc2V0KGlucHV0LCBjb25maWcpIC0gZ2V0VVRDT2Zmc2V0KGRhdGUsIGNvbmZpZykpICogNmU0O1xuXG4gIGxldCBvdXRwdXQ7XG4gIHN3aXRjaCAodW5pdHMpIHtcbiAgICBjYXNlICd5ZWFyJzpcbiAgICAgIG91dHB1dCA9IG1vbnRoRGlmZihkYXRlLCB0aGF0KSAvIDEyO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnbW9udGgnOlxuICAgICAgb3V0cHV0ID0gbW9udGhEaWZmKGRhdGUsIHRoYXQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAncXVhcnRlcic6XG4gICAgICBvdXRwdXQgPSBtb250aERpZmYoZGF0ZSwgdGhhdCkgLyAzO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnc2Vjb25kcyc6XG4gICAgICBvdXRwdXQgPSAoZGF0ZS52YWx1ZU9mKCkgLSB0aGF0LnZhbHVlT2YoKSkgLyAxZTM7XG4gICAgICBicmVhazsgLy8gMTAwMFxuICAgIGNhc2UgJ21pbnV0ZXMnOlxuICAgICAgb3V0cHV0ID0gKGRhdGUudmFsdWVPZigpIC0gdGhhdC52YWx1ZU9mKCkpIC8gNmU0O1xuICAgICAgYnJlYWs7IC8vIDEwMDAgKiA2MFxuICAgIGNhc2UgJ2hvdXJzJzpcbiAgICAgIG91dHB1dCA9IChkYXRlLnZhbHVlT2YoKSAtIHRoYXQudmFsdWVPZigpKSAvIDM2ZTU7XG4gICAgICBicmVhazsgLy8gMTAwMCAqIDYwICogNjBcbiAgICBjYXNlICdkYXknOlxuICAgICAgb3V0cHV0ID0gKGRhdGUudmFsdWVPZigpIC0gdGhhdC52YWx1ZU9mKCkgLSAoem9uZURlbHRhID09PSAwID8gem9uZU9mZnNldCA6IHpvbmVEZWx0YSkpIC8gODY0ZTU7XG4gICAgICBicmVhazsgLy8gMTAwMCAqIDYwICogNjAgKiAyNCwgbmVnYXRlIGRzdFxuICAgIGNhc2UgJ3dlZWsnOlxuICAgICAgb3V0cHV0ID0gKGRhdGUudmFsdWVPZigpIC0gdGhhdC52YWx1ZU9mKCkgLSB6b25lRGVsdGEpIC8gNjA0OGU1O1xuICAgICAgYnJlYWs7IC8vIDEwMDAgKiA2MCAqIDYwICogMjQgKiA3LCBuZWdhdGUgZHN0XG4gICAgZGVmYXVsdDpcbiAgICAgIG91dHB1dCA9IGRhdGUudmFsdWVPZigpIC0gdGhhdC52YWx1ZU9mKCk7XG4gIH1cblxuICByZXR1cm4gYXNGbG9hdCA/IG91dHB1dCA6IGFic0Zsb29yKG91dHB1dCk7XG59XG5cbmZ1bmN0aW9uIG1vbnRoRGlmZihhOiBEYXRlLCBiOiBEYXRlKTogbnVtYmVyIHtcbiAgLy8gZGlmZmVyZW5jZSBpbiBtb250aHNcbiAgY29uc3Qgd2hvbGVNb250aERpZmYgPSAoKGdldEZ1bGxZZWFyKGIpIC0gZ2V0RnVsbFllYXIoYSkpICogMTIpICsgKGdldE1vbnRoKGIpIC0gZ2V0TW9udGgoYSkpO1xuLy8gYiBpcyBpbiAoYW5jaG9yIC0gMSBtb250aCwgYW5jaG9yICsgMSBtb250aClcbiAgY29uc3QgYW5jaG9yID0gYWRkKGNsb25lRGF0ZShhKSwgd2hvbGVNb250aERpZmYsICdtb250aCcpO1xuICBsZXQgYW5jaG9yMjtcbiAgbGV0IGFkanVzdDtcblxuXG4gIGlmIChiLnZhbHVlT2YoKSAtIGFuY2hvci52YWx1ZU9mKCkgPCAwKSB7XG4gICAgYW5jaG9yMiA9IGFkZChjbG9uZURhdGUoYSksIHdob2xlTW9udGhEaWZmIC0gMSwgJ21vbnRoJyk7XG4gICAgLy8gbGluZWFyIGFjcm9zcyB0aGUgbW9udGhcbiAgICBhZGp1c3QgPSAoYi52YWx1ZU9mKCkgLSBhbmNob3IudmFsdWVPZigpKSAvIChhbmNob3IudmFsdWVPZigpIC0gYW5jaG9yMi52YWx1ZU9mKCkpO1xuICB9IGVsc2Uge1xuICAgIGFuY2hvcjIgPSBhZGQoY2xvbmVEYXRlKGEpLCB3aG9sZU1vbnRoRGlmZiArIDEsICdtb250aCcpO1xuICAgIC8vIGxpbmVhciBhY3Jvc3MgdGhlIG1vbnRoXG4gICAgYWRqdXN0ID0gKGIudmFsdWVPZigpIC0gYW5jaG9yLnZhbHVlT2YoKSkgLyAoYW5jaG9yMi52YWx1ZU9mKCkgLSBhbmNob3IudmFsdWVPZigpKTtcbiAgfVxuXG4gIC8vIGNoZWNrIGZvciBuZWdhdGl2ZSB6ZXJvLCByZXR1cm4gemVybyBpZiBuZWdhdGl2ZSB6ZXJvXG4gIHJldHVybiAtKHdob2xlTW9udGhEaWZmICsgYWRqdXN0KSB8fCAwO1xufVxuIl19
@@ -1,38 +0,0 @@
1
- // Pick a moment m from moments so that m[fn](other) is true for all
2
- // other. This relies on the function fn to be transitive.
3
- //
4
- // moments should either be an array of moment objects or an array, whose
5
- // first element is an array of moment objects.
6
- import { isArray, isDateValid } from '../utils/type-checks';
7
- import { isAfter, isBefore } from '../utils/date-compare';
8
- function pickBy(fn, dates) {
9
- let _dates;
10
- const _firstArg = dates[0];
11
- if (isArray(_firstArg) && dates.length === 1) {
12
- _dates = _firstArg;
13
- }
14
- else if (isArray(dates)) {
15
- _dates = dates;
16
- }
17
- if (!_dates || !_dates.length) {
18
- return new Date();
19
- }
20
- let res = _dates[0];
21
- for (let i = 1; i < _dates.length; ++i) {
22
- // if (!moments[i].isValid() || moments[i][fn](res)) {
23
- if (!isDateValid(_dates[i]) || fn.call(null, _dates[i], res)) {
24
- res = _dates[i];
25
- }
26
- }
27
- return res;
28
- }
29
- // TODO: Use [].sort instead?
30
- export function min(...args) {
31
- // const args = [].slice.call(arguments, 0);
32
- return pickBy(isBefore, args);
33
- }
34
- export function max(...args) {
35
- // const args = [].slice.call(arguments, 0);
36
- return pickBy(isAfter, args);
37
- }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWluLW1heC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2RhdGVwaWNrZXIvY2hyb25vcy9tb21lbnQvbWluLW1heC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxvRUFBb0U7QUFDcEUsMERBQTBEO0FBQzFELEVBQUU7QUFDRix5RUFBeUU7QUFDekUsK0NBQStDO0FBQy9DLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRCxTQUFTLE1BQU0sQ0FBQyxFQUFZLEVBQUUsS0FBd0I7SUFDcEQsSUFBSSxNQUFjLENBQUM7SUFDbkIsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNCLElBQUksT0FBTyxDQUFPLFNBQVMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ2xELE1BQU0sR0FBRyxTQUFTLENBQUM7S0FDcEI7U0FBTSxJQUFJLE9BQU8sQ0FBTyxLQUFLLENBQUMsRUFBRTtRQUMvQixNQUFNLEdBQUcsS0FBSyxDQUFDO0tBQ2hCO0lBRUQsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7UUFDN0IsT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDO0tBQ25CO0lBQ0QsSUFBSSxHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFO1FBQ3RDLHNEQUFzRDtRQUN0RCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRTtZQUM1RCxHQUFHLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2pCO0tBQ0Y7SUFFRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRCw2QkFBNkI7QUFDN0IsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFHLElBQVk7SUFDakMsNENBQTRDO0lBRTVDLE9BQU8sTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNoQyxDQUFDO0FBRUQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFHLElBQVk7SUFDakMsNENBQTRDO0lBRTVDLE9BQU8sTUFBTSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztBQUMvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gUGljayBhIG1vbWVudCBtIGZyb20gbW9tZW50cyBzbyB0aGF0IG1bZm5dKG90aGVyKSBpcyB0cnVlIGZvciBhbGxcbi8vIG90aGVyLiBUaGlzIHJlbGllcyBvbiB0aGUgZnVuY3Rpb24gZm4gdG8gYmUgdHJhbnNpdGl2ZS5cbi8vXG4vLyBtb21lbnRzIHNob3VsZCBlaXRoZXIgYmUgYW4gYXJyYXkgb2YgbW9tZW50IG9iamVjdHMgb3IgYW4gYXJyYXksIHdob3NlXG4vLyBmaXJzdCBlbGVtZW50IGlzIGFuIGFycmF5IG9mIG1vbWVudCBvYmplY3RzLlxuaW1wb3J0IHsgaXNBcnJheSwgaXNEYXRlVmFsaWQgfSBmcm9tICcuLi91dGlscy90eXBlLWNoZWNrcyc7XG5pbXBvcnQgeyBpc0FmdGVyLCBpc0JlZm9yZSB9IGZyb20gJy4uL3V0aWxzL2RhdGUtY29tcGFyZSc7XG5cbmZ1bmN0aW9uIHBpY2tCeShmbjogRnVuY3Rpb24sIGRhdGVzOiBEYXRlW10gfCBEYXRlW11bXSk6IERhdGUge1xuICBsZXQgX2RhdGVzOiBEYXRlW107XG4gIGNvbnN0IF9maXJzdEFyZyA9IGRhdGVzWzBdO1xuICBpZiAoaXNBcnJheTxEYXRlPihfZmlyc3RBcmcpICYmIGRhdGVzLmxlbmd0aCA9PT0gMSkge1xuICAgIF9kYXRlcyA9IF9maXJzdEFyZztcbiAgfSBlbHNlIGlmIChpc0FycmF5PERhdGU+KGRhdGVzKSkge1xuICAgIF9kYXRlcyA9IGRhdGVzO1xuICB9XG5cbiAgaWYgKCFfZGF0ZXMgfHwgIV9kYXRlcy5sZW5ndGgpIHtcbiAgICByZXR1cm4gbmV3IERhdGUoKTtcbiAgfVxuICBsZXQgcmVzID0gX2RhdGVzWzBdO1xuICBmb3IgKGxldCBpID0gMTsgaSA8IF9kYXRlcy5sZW5ndGg7ICsraSkge1xuICAgIC8vIGlmICghbW9tZW50c1tpXS5pc1ZhbGlkKCkgfHwgbW9tZW50c1tpXVtmbl0ocmVzKSkge1xuICAgIGlmICghaXNEYXRlVmFsaWQoX2RhdGVzW2ldKSB8fCBmbi5jYWxsKG51bGwsIF9kYXRlc1tpXSwgcmVzKSkge1xuICAgICAgcmVzID0gX2RhdGVzW2ldO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXM7XG59XG5cbi8vIFRPRE86IFVzZSBbXS5zb3J0IGluc3RlYWQ/XG5leHBvcnQgZnVuY3Rpb24gbWluKC4uLmFyZ3M6IERhdGVbXSk6IERhdGUge1xuICAvLyBjb25zdCBhcmdzID0gW10uc2xpY2UuY2FsbChhcmd1bWVudHMsIDApO1xuXG4gIHJldHVybiBwaWNrQnkoaXNCZWZvcmUsIGFyZ3MpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWF4KC4uLmFyZ3M6IERhdGVbXSk6IERhdGUge1xuICAvLyBjb25zdCBhcmdzID0gW10uc2xpY2UuY2FsbChhcmd1bWVudHMsIDApO1xuXG4gIHJldHVybiBwaWNrQnkoaXNBZnRlciwgYXJncyk7XG59XG4iXX0=
@@ -1,49 +0,0 @@
1
- import { hasOwnProp, isFunction } from '../utils/type-checks';
2
- export const match1 = /\d/; // 0 - 9
3
- export const match2 = /\d\d/; // 00 - 99
4
- export const match3 = /\d{3}/; // 000 - 999
5
- export const match4 = /\d{4}/; // 0000 - 9999
6
- export const match6 = /[+-]?\d{6}/; // -999999 - 999999
7
- export const match1to2 = /\d\d?/; // 0 - 99
8
- export const match3to4 = /\d\d\d\d?/; // 999 - 9999
9
- export const match5to6 = /\d\d\d\d\d\d?/; // 99999 - 999999
10
- export const match1to3 = /\d{1,3}/; // 0 - 999
11
- export const match1to4 = /\d{1,4}/; // 0 - 9999
12
- export const match1to6 = /[+-]?\d{1,6}/; // -999999 - 999999
13
- export const matchUnsigned = /\d+/; // 0 - inf
14
- export const matchSigned = /[+-]?\d+/; // -inf - inf
15
- export const matchOffset = /Z|[+-]\d\d:?\d\d/gi; // +00:00 -00:00 +0000 -0000 or Z
16
- export const matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z
17
- export const matchTimestamp = /[+-]?\d+(\.\d{1,3})?/; // 123456789 123456789.123
18
- // any word (or two) characters or numbers including two/three word month in arabic.
19
- // includes scottish gaelic two word and hyphenated months
20
- // tslint:disable-next-line
21
- export const matchWord = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i;
22
- const regexes = {};
23
- export function addRegexToken(token, regex, strictRegex) {
24
- if (isFunction(regex)) {
25
- regexes[token] = regex;
26
- return;
27
- }
28
- regexes[token] = function (isStrict, locale) {
29
- return (isStrict && strictRegex) ? strictRegex : regex;
30
- };
31
- }
32
- export function getParseRegexForToken(token, locale) {
33
- const _strict = false;
34
- if (!hasOwnProp(regexes, token)) {
35
- return new RegExp(unescapeFormat(token));
36
- }
37
- return regexes[token](_strict, locale);
38
- }
39
- // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
40
- function unescapeFormat(str) {
41
- // tslint:disable-next-line
42
- return regexEscape(str
43
- .replace('\\', '')
44
- .replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, (matched, p1, p2, p3, p4) => p1 || p2 || p3 || p4));
45
- }
46
- export function regexEscape(str) {
47
- return str.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
48
- }
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9kYXRlcGlja2VyL2Nocm9ub3MvcGFyc2UvcmVnZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUc5RCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLENBQVksY0FBYztBQUNyRCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQVUsZUFBZTtBQUN0RCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLENBQVMsZ0JBQWdCO0FBQ3ZELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FBUyxpQkFBaUI7QUFDeEQsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxDQUFJLG1CQUFtQjtBQUMxRCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLENBQVMsZUFBZTtBQUN6RCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsV0FBVyxDQUFDLENBQUssaUJBQWlCO0FBQzNELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxlQUFlLENBQUMsQ0FBQyxtQkFBbUI7QUFDN0QsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxDQUFPLGdCQUFnQjtBQUMxRCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLENBQU8saUJBQWlCO0FBQzNELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxjQUFjLENBQUMsQ0FBRSxtQkFBbUI7QUFFN0QsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxDQUFXLGdCQUFnQjtBQUM5RCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDLENBQU0sZ0JBQWdCO0FBRTVELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxvQkFBb0IsQ0FBQyxDQUFDLGlDQUFpQztBQUNsRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyx5QkFBeUIsQ0FBQyxDQUFDLHlDQUF5QztBQUVwRyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsc0JBQXNCLENBQUMsQ0FBQywwQkFBMEI7QUFFaEYsb0ZBQW9GO0FBQ3BGLDBEQUEwRDtBQUMxRCwyQkFBMkI7QUFDM0IsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLDBJQUEwSSxDQUFDO0FBR3BLLE1BQU0sT0FBTyxHQUFtQyxFQUFFLENBQUM7QUFHbkQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUFhLEVBQUUsS0FBNkIsRUFBRSxXQUFvQjtJQUM5RixJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUNyQixPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBRXZCLE9BQU87S0FDUjtJQUVELE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxVQUFVLFFBQWlCLEVBQUUsTUFBYztRQUMxRCxPQUFPLENBQUMsUUFBUSxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUN6RCxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQixDQUFDLEtBQWEsRUFBRSxNQUFjO0lBQ2pFLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN0QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRTtRQUMvQixPQUFPLElBQUksTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0tBQzFDO0lBRUQsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRCx1R0FBdUc7QUFDdkcsU0FBUyxjQUFjLENBQUMsR0FBVztJQUNqQywyQkFBMkI7SUFDM0IsT0FBTyxXQUFXLENBQUMsR0FBRztTQUNuQixPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztTQUNqQixPQUFPLENBQUMscUNBQXFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FDbkcsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLEdBQVc7SUFDckMsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLHdCQUF3QixFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ3ZELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBoYXNPd25Qcm9wLCBpc0Z1bmN0aW9uIH0gZnJvbSAnLi4vdXRpbHMvdHlwZS1jaGVja3MnO1xuaW1wb3J0IHsgTG9jYWxlIH0gZnJvbSAnLi4vbG9jYWxlL2xvY2FsZS5jbGFzcyc7XG5cbmV4cG9ydCBjb25zdCBtYXRjaDEgPSAvXFxkLzsgICAgICAgICAgICAvLyAgICAgICAwIC0gOVxuZXhwb3J0IGNvbnN0IG1hdGNoMiA9IC9cXGRcXGQvOyAgICAgICAgICAvLyAgICAgIDAwIC0gOTlcbmV4cG9ydCBjb25zdCBtYXRjaDMgPSAvXFxkezN9LzsgICAgICAgICAvLyAgICAgMDAwIC0gOTk5XG5leHBvcnQgY29uc3QgbWF0Y2g0ID0gL1xcZHs0fS87ICAgICAgICAgLy8gICAgMDAwMCAtIDk5OTlcbmV4cG9ydCBjb25zdCBtYXRjaDYgPSAvWystXT9cXGR7Nn0vOyAgICAvLyAtOTk5OTk5IC0gOTk5OTk5XG5leHBvcnQgY29uc3QgbWF0Y2gxdG8yID0gL1xcZFxcZD8vOyAgICAgICAgIC8vICAgICAgIDAgLSA5OVxuZXhwb3J0IGNvbnN0IG1hdGNoM3RvNCA9IC9cXGRcXGRcXGRcXGQ/LzsgICAgIC8vICAgICA5OTkgLSA5OTk5XG5leHBvcnQgY29uc3QgbWF0Y2g1dG82ID0gL1xcZFxcZFxcZFxcZFxcZFxcZD8vOyAvLyAgIDk5OTk5IC0gOTk5OTk5XG5leHBvcnQgY29uc3QgbWF0Y2gxdG8zID0gL1xcZHsxLDN9LzsgICAgICAgLy8gICAgICAgMCAtIDk5OVxuZXhwb3J0IGNvbnN0IG1hdGNoMXRvNCA9IC9cXGR7MSw0fS87ICAgICAgIC8vICAgICAgIDAgLSA5OTk5XG5leHBvcnQgY29uc3QgbWF0Y2gxdG82ID0gL1srLV0/XFxkezEsNn0vOyAgLy8gLTk5OTk5OSAtIDk5OTk5OVxuXG5leHBvcnQgY29uc3QgbWF0Y2hVbnNpZ25lZCA9IC9cXGQrLzsgICAgICAgICAgIC8vICAgICAgIDAgLSBpbmZcbmV4cG9ydCBjb25zdCBtYXRjaFNpZ25lZCA9IC9bKy1dP1xcZCsvOyAgICAgIC8vICAgIC1pbmYgLSBpbmZcblxuZXhwb3J0IGNvbnN0IG1hdGNoT2Zmc2V0ID0gL1p8WystXVxcZFxcZDo/XFxkXFxkL2dpOyAvLyArMDA6MDAgLTAwOjAwICswMDAwIC0wMDAwIG9yIFpcbmV4cG9ydCBjb25zdCBtYXRjaFNob3J0T2Zmc2V0ID0gL1p8WystXVxcZFxcZCg/Ojo/XFxkXFxkKT8vZ2k7IC8vICswMCAtMDAgKzAwOjAwIC0wMDowMCArMDAwMCAtMDAwMCBvciBaXG5cbmV4cG9ydCBjb25zdCBtYXRjaFRpbWVzdGFtcCA9IC9bKy1dP1xcZCsoXFwuXFxkezEsM30pPy87IC8vIDEyMzQ1Njc4OSAxMjM0NTY3ODkuMTIzXG5cbi8vIGFueSB3b3JkIChvciB0d28pIGNoYXJhY3RlcnMgb3IgbnVtYmVycyBpbmNsdWRpbmcgdHdvL3RocmVlIHdvcmQgbW9udGggaW4gYXJhYmljLlxuLy8gaW5jbHVkZXMgc2NvdHRpc2ggZ2FlbGljIHR3byB3b3JkIGFuZCBoeXBoZW5hdGVkIG1vbnRoc1xuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lXG5leHBvcnQgY29uc3QgbWF0Y2hXb3JkID0gL1swLTldezAsMjU2fVsnYS16XFx1MDBBMC1cXHUwNUZGXFx1MDcwMC1cXHVEN0ZGXFx1RjkwMC1cXHVGRENGXFx1RkRGMC1cXHVGRkVGXXsxLDI1Nn18W1xcdTA2MDAtXFx1MDZGRlxcL117MSwyNTZ9KFxccyo/W1xcdTA2MDAtXFx1MDZGRl17MSwyNTZ9KXsxLDJ9L2k7XG5cbmV4cG9ydCB0eXBlIFJlZ0V4cFRva2VuRm4gPSAoaXNTdHJpY3Q6IGJvb2xlYW4sIGxvY2FsZTogTG9jYWxlKSA9PiBSZWdFeHA7XG5jb25zdCByZWdleGVzOiB7W2tleTogc3RyaW5nXTogUmVnRXhwVG9rZW5Gbn0gPSB7fTtcblxuXG5leHBvcnQgZnVuY3Rpb24gYWRkUmVnZXhUb2tlbih0b2tlbjogc3RyaW5nLCByZWdleDogUmVnRXhwIHwgUmVnRXhwVG9rZW5Gbiwgc3RyaWN0UmVnZXg/OiBSZWdFeHApOiB2b2lkIHtcbiAgaWYgKGlzRnVuY3Rpb24ocmVnZXgpKSB7XG4gICAgcmVnZXhlc1t0b2tlbl0gPSByZWdleDtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIHJlZ2V4ZXNbdG9rZW5dID0gZnVuY3Rpb24gKGlzU3RyaWN0OiBib29sZWFuLCBsb2NhbGU6IExvY2FsZSkge1xuICAgIHJldHVybiAoaXNTdHJpY3QgJiYgc3RyaWN0UmVnZXgpID8gc3RyaWN0UmVnZXggOiByZWdleDtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFBhcnNlUmVnZXhGb3JUb2tlbih0b2tlbjogc3RyaW5nLCBsb2NhbGU6IExvY2FsZSk6IFJlZ0V4cCB7XG4gIGNvbnN0IF9zdHJpY3QgPSBmYWxzZTtcbiAgaWYgKCFoYXNPd25Qcm9wKHJlZ2V4ZXMsIHRva2VuKSkge1xuICAgIHJldHVybiBuZXcgUmVnRXhwKHVuZXNjYXBlRm9ybWF0KHRva2VuKSk7XG4gIH1cblxuICByZXR1cm4gcmVnZXhlc1t0b2tlbl0oX3N0cmljdCwgbG9jYWxlKTtcbn1cblxuLy8gQ29kZSBmcm9tIGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzU2MTQ5My9pcy10aGVyZS1hLXJlZ2V4cC1lc2NhcGUtZnVuY3Rpb24taW4tamF2YXNjcmlwdFxuZnVuY3Rpb24gdW5lc2NhcGVGb3JtYXQoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmVcbiAgcmV0dXJuIHJlZ2V4RXNjYXBlKHN0clxuICAgIC5yZXBsYWNlKCdcXFxcJywgJycpXG4gICAgLnJlcGxhY2UoL1xcXFwoXFxbKXxcXFxcKFxcXSl8XFxbKFteXFxdXFxbXSopXFxdfFxcXFwoLikvZywgKG1hdGNoZWQsIHAxLCBwMiwgcDMsIHA0KSA9PiBwMSB8fCBwMiB8fCBwMyB8fCBwNClcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2V4RXNjYXBlKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHN0ci5yZXBsYWNlKC9bLVxcL1xcXFxeJCorPy4oKXxbXFxde31dL2csICdcXFxcJCYnKTtcbn1cbiJdfQ==
@@ -1,32 +0,0 @@
1
- // tslint:disable:max-line-length
2
- import { hasOwnProp, isArray, isFunction, isNumber, isString, toInt } from '../utils/type-checks';
3
- const tokens = {};
4
- export function addParseToken(token, callback) {
5
- const _token = isString(token) ? [token] : token;
6
- let func = callback;
7
- if (isNumber(callback)) {
8
- func = function (input, array, config) {
9
- array[callback] = toInt(input);
10
- return config;
11
- };
12
- }
13
- if (isArray(_token) && isFunction(func)) {
14
- let i;
15
- for (i = 0; i < _token.length; i++) {
16
- tokens[_token[i]] = func;
17
- }
18
- }
19
- }
20
- export function addWeekParseToken(token, callback) {
21
- addParseToken(token, function (input, array, config, _token) {
22
- config._w = config._w || {};
23
- return callback(input, config._w, config, _token);
24
- });
25
- }
26
- export function addTimeToArrayFromToken(token, input, config) {
27
- if (input != null && hasOwnProp(tokens, token)) {
28
- tokens[token](input, config._a, config, token);
29
- }
30
- return config;
31
- }
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9kYXRlcGlja2VyL2Nocm9ub3MvcGFyc2UvdG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUNBQWlDO0FBQ2pDLE9BQU8sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBSWxHLE1BQU0sTUFBTSxHQUFzQyxFQUFFLENBQUM7QUFFckQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxLQUF3QixFQUFFLFFBQW1DO0lBQ3pGLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2pELElBQUksSUFBSSxHQUFHLFFBQVEsQ0FBQztJQUVwQixJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRTtRQUN0QixJQUFJLEdBQUcsVUFBVSxLQUFhLEVBQUUsS0FBZ0IsRUFBRSxNQUF5QjtZQUN6RSxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRS9CLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQztLQUNIO0lBRUQsSUFBSSxPQUFPLENBQVMsTUFBTSxDQUFDLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQy9DLElBQUksQ0FBQyxDQUFDO1FBQ04sS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2xDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7U0FDMUI7S0FDRjtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsS0FBZSxFQUFFLFFBQTBCO0lBQzNFLGFBQWEsQ0FBQyxLQUFLLEVBQUUsVUFBVSxLQUFhLEVBQUUsS0FBZ0IsRUFBRSxNQUF5QixFQUFFLE1BQWM7UUFDdkcsTUFBTSxDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUU1QixPQUFPLFFBQVEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDcEQsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBR0QsTUFBTSxVQUFVLHVCQUF1QixDQUFDLEtBQWEsRUFBRSxLQUFhLEVBQUUsTUFBeUI7SUFDN0YsSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLFVBQVUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUU7UUFDOUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztLQUNoRDtJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0c2xpbnQ6ZGlzYWJsZTptYXgtbGluZS1sZW5ndGhcbmltcG9ydCB7IGhhc093blByb3AsIGlzQXJyYXksIGlzRnVuY3Rpb24sIGlzTnVtYmVyLCBpc1N0cmluZywgdG9JbnQgfSBmcm9tICcuLi91dGlscy90eXBlLWNoZWNrcyc7XG5pbXBvcnQgeyBEYXRlUGFyc2luZ0NvbmZpZyB9IGZyb20gJy4uL2NyZWF0ZS9wYXJzaW5nLnR5cGVzJztcbmltcG9ydCB7IERhdGVBcnJheSwgRGF0ZVBhcnNlVG9rZW5GbiB9IGZyb20gJy4uL3R5cGVzJztcblxuY29uc3QgdG9rZW5zOiB7W2tleTogc3RyaW5nXTogRGF0ZVBhcnNlVG9rZW5Gbn0gPSB7fTtcblxuZXhwb3J0IGZ1bmN0aW9uIGFkZFBhcnNlVG9rZW4odG9rZW46IHN0cmluZyB8IHN0cmluZ1tdLCBjYWxsYmFjazogRGF0ZVBhcnNlVG9rZW5GbiB8IG51bWJlcikge1xuICBjb25zdCBfdG9rZW4gPSBpc1N0cmluZyh0b2tlbikgPyBbdG9rZW5dIDogdG9rZW47XG4gIGxldCBmdW5jID0gY2FsbGJhY2s7XG5cbiAgaWYgKGlzTnVtYmVyKGNhbGxiYWNrKSkge1xuICAgIGZ1bmMgPSBmdW5jdGlvbiAoaW5wdXQ6IHN0cmluZywgYXJyYXk6IERhdGVBcnJheSwgY29uZmlnOiBEYXRlUGFyc2luZ0NvbmZpZyk6IERhdGVQYXJzaW5nQ29uZmlnIHtcbiAgICAgIGFycmF5W2NhbGxiYWNrXSA9IHRvSW50KGlucHV0KTtcblxuICAgICAgcmV0dXJuIGNvbmZpZztcbiAgICB9O1xuICB9XG5cbiAgaWYgKGlzQXJyYXk8c3RyaW5nPihfdG9rZW4pICYmIGlzRnVuY3Rpb24oZnVuYykpIHtcbiAgICBsZXQgaTtcbiAgICBmb3IgKGkgPSAwOyBpIDwgX3Rva2VuLmxlbmd0aDsgaSsrKSB7XG4gICAgICB0b2tlbnNbX3Rva2VuW2ldXSA9IGZ1bmM7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRXZWVrUGFyc2VUb2tlbih0b2tlbjogc3RyaW5nW10sIGNhbGxiYWNrOiBEYXRlUGFyc2VUb2tlbkZuKTogdm9pZCB7XG4gIGFkZFBhcnNlVG9rZW4odG9rZW4sIGZ1bmN0aW9uIChpbnB1dDogc3RyaW5nLCBhcnJheTogRGF0ZUFycmF5LCBjb25maWc6IERhdGVQYXJzaW5nQ29uZmlnLCBfdG9rZW46IHN0cmluZyk6IERhdGVQYXJzaW5nQ29uZmlnIHtcbiAgICBjb25maWcuX3cgPSBjb25maWcuX3cgfHwge307XG5cbiAgICByZXR1cm4gY2FsbGJhY2soaW5wdXQsIGNvbmZpZy5fdywgY29uZmlnLCBfdG9rZW4pO1xuICB9KTtcbn1cblxuXG5leHBvcnQgZnVuY3Rpb24gYWRkVGltZVRvQXJyYXlGcm9tVG9rZW4odG9rZW46IHN0cmluZywgaW5wdXQ6IHN0cmluZywgY29uZmlnOiBEYXRlUGFyc2luZ0NvbmZpZyk6IERhdGVQYXJzaW5nQ29uZmlnIHtcbiAgaWYgKGlucHV0ICE9IG51bGwgJiYgaGFzT3duUHJvcCh0b2tlbnMsIHRva2VuKSkge1xuICAgIHRva2Vuc1t0b2tlbl0oaW5wdXQsIGNvbmZpZy5fYSwgY29uZmlnLCB0b2tlbik7XG4gIH1cblxuICByZXR1cm4gY29uZmlnO1xufVxuIl19