mis-crystal-design-system 14.0.55-test-v4 → 14.0.55-test-v5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/datepicker/base/bs-datepicker-container.d.ts +44 -0
- package/datepicker/bs-datepicker-inline.component.d.ts +64 -0
- package/datepicker/bs-datepicker-inline.config.d.ts +6 -0
- package/datepicker/bs-datepicker-input.directive.d.ts +33 -0
- package/datepicker/bs-datepicker.component.d.ts +126 -0
- package/datepicker/bs-datepicker.config.d.ts +143 -0
- package/datepicker/bs-datepicker.module.d.ts +29 -0
- package/datepicker/bs-daterangepicker-inline.component.d.ts +64 -0
- package/datepicker/bs-daterangepicker-inline.config.d.ts +9 -0
- package/datepicker/bs-daterangepicker-input.directive.d.ts +33 -0
- package/datepicker/bs-daterangepicker.component.d.ts +118 -0
- package/datepicker/bs-daterangepicker.config.d.ts +7 -0
- package/datepicker/bs-locale.service.d.ts +13 -0
- package/datepicker/chronos/create/check-overflow.d.ts +2 -0
- package/datepicker/chronos/create/clone.d.ts +1 -0
- package/datepicker/chronos/create/date-from-array.d.ts +2 -0
- package/datepicker/chronos/create/from-anything.d.ts +4 -0
- package/datepicker/chronos/create/from-array.d.ts +2 -0
- package/datepicker/chronos/create/from-object.d.ts +2 -0
- package/datepicker/chronos/create/from-string-and-array.d.ts +2 -0
- package/datepicker/chronos/create/from-string-and-format.d.ts +4 -0
- package/datepicker/chronos/create/from-string.d.ts +4 -0
- package/datepicker/chronos/create/local.d.ts +3 -0
- package/datepicker/chronos/create/parsing-flags.d.ts +2 -0
- package/datepicker/chronos/create/parsing.types.d.ts +64 -0
- package/datepicker/chronos/create/valid.d.ts +6 -0
- package/datepicker/chronos/duration/bubble.d.ts +4 -0
- package/datepicker/chronos/duration/constructor.d.ts +21 -0
- package/datepicker/chronos/duration/create.d.ts +8 -0
- package/datepicker/chronos/duration/humanize.d.ts +5 -0
- package/datepicker/chronos/duration/valid.d.ts +2 -0
- package/datepicker/chronos/format/format.d.ts +11 -0
- package/datepicker/chronos/format.d.ts +5 -0
- package/datepicker/chronos/i18n/ar.d.ts +2 -0
- package/datepicker/chronos/i18n/bg.d.ts +2 -0
- package/datepicker/chronos/i18n/ca.d.ts +2 -0
- package/datepicker/chronos/i18n/cs.d.ts +2 -0
- package/datepicker/chronos/i18n/da.d.ts +2 -0
- package/datepicker/chronos/i18n/de.d.ts +2 -0
- package/datepicker/chronos/i18n/en-gb.d.ts +2 -0
- package/datepicker/chronos/i18n/es-do.d.ts +2 -0
- package/datepicker/chronos/i18n/es-us.d.ts +2 -0
- package/datepicker/chronos/i18n/es.d.ts +2 -0
- package/datepicker/chronos/i18n/et.d.ts +2 -0
- package/datepicker/chronos/i18n/fi.d.ts +2 -0
- package/datepicker/chronos/i18n/fr.d.ts +2 -0
- package/datepicker/chronos/i18n/gl.d.ts +2 -0
- package/datepicker/chronos/i18n/he.d.ts +2 -0
- package/datepicker/chronos/i18n/hi.d.ts +2 -0
- package/datepicker/chronos/i18n/hr.d.ts +2 -0
- package/datepicker/chronos/i18n/hu.d.ts +2 -0
- package/datepicker/chronos/i18n/id.d.ts +2 -0
- package/datepicker/chronos/i18n/it.d.ts +2 -0
- package/datepicker/chronos/i18n/ja.d.ts +2 -0
- package/datepicker/chronos/i18n/ka.d.ts +2 -0
- package/datepicker/chronos/i18n/kk.d.ts +2 -0
- package/datepicker/chronos/i18n/ko.d.ts +2 -0
- package/datepicker/chronos/i18n/lt.d.ts +2 -0
- package/datepicker/chronos/i18n/lv.d.ts +2 -0
- package/datepicker/chronos/i18n/mn.d.ts +2 -0
- package/datepicker/chronos/i18n/nb.d.ts +2 -0
- package/datepicker/chronos/i18n/nl-be.d.ts +2 -0
- package/datepicker/chronos/i18n/nl.d.ts +2 -0
- package/datepicker/chronos/i18n/pl.d.ts +2 -0
- package/datepicker/chronos/i18n/pt-br.d.ts +2 -0
- package/datepicker/chronos/i18n/ro.d.ts +2 -0
- package/datepicker/chronos/i18n/ru.d.ts +2 -0
- package/datepicker/chronos/i18n/sk.d.ts +2 -0
- package/datepicker/chronos/i18n/sl.d.ts +2 -0
- package/datepicker/chronos/i18n/sq.d.ts +2 -0
- package/datepicker/chronos/i18n/sv.d.ts +2 -0
- package/datepicker/chronos/i18n/th-be.d.ts +2 -0
- package/datepicker/chronos/i18n/th.d.ts +2 -0
- package/datepicker/chronos/i18n/tr.d.ts +2 -0
- package/datepicker/chronos/i18n/uk.d.ts +2 -0
- package/datepicker/chronos/i18n/vi.d.ts +2 -0
- package/datepicker/chronos/i18n/zh-cn.d.ts +2 -0
- package/datepicker/chronos/index.d.ts +1 -0
- package/datepicker/chronos/locale/calendar.d.ts +8 -0
- package/datepicker/chronos/locale/locale.class.d.ts +143 -0
- package/datepicker/chronos/locale/locale.defaults.d.ts +11 -0
- package/datepicker/chronos/locale/locales.d.ts +7 -0
- package/datepicker/chronos/moment/add-subtract.d.ts +5 -0
- package/datepicker/chronos/moment/calendar.d.ts +15 -0
- package/datepicker/chronos/moment/diff.d.ts +3 -0
- package/datepicker/chronos/moment/min-max.d.ts +2 -0
- package/datepicker/chronos/parse/regex.d.ts +22 -0
- package/datepicker/chronos/parse/token.d.ts +5 -0
- package/datepicker/chronos/public_api.d.ts +57 -0
- package/datepicker/chronos/test/chain.d.ts +214 -0
- package/datepicker/chronos/types.d.ts +36 -0
- package/datepicker/chronos/units/aliases.d.ts +7 -0
- package/datepicker/chronos/units/constants.d.ts +9 -0
- package/datepicker/chronos/units/day-of-month.d.ts +1 -0
- package/datepicker/chronos/units/day-of-week.d.ts +20 -0
- package/datepicker/chronos/units/day-of-year.d.ts +3 -0
- package/datepicker/chronos/units/hour.d.ts +1 -0
- package/datepicker/chronos/units/index.d.ts +18 -0
- package/datepicker/chronos/units/millisecond.d.ts +1 -0
- package/datepicker/chronos/units/minute.d.ts +1 -0
- package/datepicker/chronos/units/month.d.ts +2 -0
- package/datepicker/chronos/units/offset.d.ts +10 -0
- package/datepicker/chronos/units/priorities.d.ts +1 -0
- package/datepicker/chronos/units/quarter.d.ts +3 -0
- package/datepicker/chronos/units/second.d.ts +1 -0
- package/datepicker/chronos/units/timestamp.d.ts +1 -0
- package/datepicker/chronos/units/timezone.d.ts +3 -0
- package/datepicker/chronos/units/week-calendar-utils.d.ts +9 -0
- package/datepicker/chronos/units/week-year.d.ts +8 -0
- package/datepicker/chronos/units/week.d.ts +6 -0
- package/datepicker/chronos/units/year.d.ts +4 -0
- package/datepicker/chronos/utils/abs-ceil.d.ts +1 -0
- package/datepicker/chronos/utils/abs-round.d.ts +1 -0
- package/datepicker/chronos/utils/compare-arrays.d.ts +1 -0
- package/datepicker/chronos/utils/date-compare.d.ts +9 -0
- package/datepicker/chronos/utils/date-getters.d.ts +18 -0
- package/datepicker/chronos/utils/date-setters.d.ts +12 -0
- package/datepicker/chronos/utils/defaults.d.ts +1 -0
- package/datepicker/chronos/utils/start-end-of.d.ts +3 -0
- package/datepicker/chronos/utils/type-checks.d.ts +12 -0
- package/datepicker/chronos/utils/zero-fill.d.ts +1 -0
- package/datepicker/chronos/utils.d.ts +2 -0
- package/datepicker/component-loader/bs-component-ref.class.d.ts +5 -0
- package/datepicker/component-loader/component-loader.class.d.ts +75 -0
- package/datepicker/component-loader/component-loader.factory.d.ts +21 -0
- package/datepicker/component-loader/content-ref.class.d.ts +7 -0
- package/datepicker/component-loader/index.d.ts +1 -0
- package/datepicker/component-loader/listen-options.model.d.ts +11 -0
- package/datepicker/component-loader/public_api.d.ts +4 -0
- package/datepicker/date-formatter.d.ts +3 -0
- package/datepicker/datepicker-animations.d.ts +3 -0
- package/datepicker/datepicker-inner.component.d.ts +78 -0
- package/datepicker/datepicker.component.d.ts +81 -0
- package/datepicker/datepicker.config.d.ts +22 -0
- package/datepicker/datepicker.module.d.ts +15 -0
- package/datepicker/daypicker.component.d.ts +17 -0
- package/datepicker/engine/calc-days-calendar.d.ts +2 -0
- package/datepicker/engine/flag-days-calendar.d.ts +17 -0
- package/datepicker/engine/flag-months-calendar.d.ts +12 -0
- package/datepicker/engine/flag-years-calendar.d.ts +12 -0
- package/datepicker/engine/format-days-calendar.d.ts +4 -0
- package/datepicker/engine/format-months-calendar.d.ts +2 -0
- package/datepicker/engine/format-years-calendar.d.ts +4 -0
- package/datepicker/engine/view-mode.d.ts +2 -0
- package/datepicker/index.d.ts +1 -0
- package/datepicker/mini-ngrx/index.d.ts +1 -0
- package/datepicker/mini-ngrx/public_api.d.ts +7 -0
- package/datepicker/mini-ngrx/state.class.d.ts +8 -0
- package/datepicker/mini-ngrx/store.class.d.ts +16 -0
- package/datepicker/models/index.d.ts +102 -0
- package/datepicker/monthpicker.component.d.ts +14 -0
- package/datepicker/positioning/index.d.ts +1 -0
- package/datepicker/positioning/models/index.d.ts +41 -0
- package/datepicker/positioning/modifiers/arrow.d.ts +2 -0
- package/datepicker/positioning/modifiers/flip.d.ts +2 -0
- package/datepicker/positioning/modifiers/index.d.ts +5 -0
- package/datepicker/positioning/modifiers/initData.d.ts +2 -0
- package/datepicker/positioning/modifiers/preventOverflow.d.ts +2 -0
- package/datepicker/positioning/modifiers/shift.d.ts +2 -0
- package/datepicker/positioning/ng-positioning.d.ts +8 -0
- package/datepicker/positioning/positioning.service.d.ts +48 -0
- package/datepicker/positioning/public_api.d.ts +2 -0
- package/datepicker/positioning/utils/computeAutoPlacement.d.ts +2 -0
- package/datepicker/positioning/utils/findCommonOffsetParent.d.ts +1 -0
- package/datepicker/positioning/utils/getBordersSize.d.ts +4 -0
- package/datepicker/positioning/utils/getBoundaries.d.ts +1 -0
- package/datepicker/positioning/utils/getBoundingClientRect.d.ts +2 -0
- package/datepicker/positioning/utils/getClientRect.d.ts +5 -0
- package/datepicker/positioning/utils/getFixedPositionOffsetParent.d.ts +4 -0
- package/datepicker/positioning/utils/getOffsetParent.d.ts +1 -0
- package/datepicker/positioning/utils/getOffsetRectRelativeToArbitraryNode.d.ts +2 -0
- package/datepicker/positioning/utils/getOffsets.d.ts +2 -0
- package/datepicker/positioning/utils/getOppositePlacement.d.ts +4 -0
- package/datepicker/positioning/utils/getOppositeVariation.d.ts +4 -0
- package/datepicker/positioning/utils/getOuterSizes.d.ts +7 -0
- package/datepicker/positioning/utils/getParentNode.d.ts +4 -0
- package/datepicker/positioning/utils/getReferenceOffsets.d.ts +2 -0
- package/datepicker/positioning/utils/getRoot.d.ts +4 -0
- package/datepicker/positioning/utils/getScroll.d.ts +4 -0
- package/datepicker/positioning/utils/getScrollParent.d.ts +1 -0
- package/datepicker/positioning/utils/getStyleComputedProperty.d.ts +4 -0
- package/datepicker/positioning/utils/getTargetOffsets.d.ts +2 -0
- package/datepicker/positioning/utils/getViewportOffsetRectRelativeToArtbitraryNode.d.ts +2 -0
- package/datepicker/positioning/utils/getWindowSizes.d.ts +4 -0
- package/datepicker/positioning/utils/includeScroll.d.ts +2 -0
- package/datepicker/positioning/utils/index.d.ts +23 -0
- package/datepicker/positioning/utils/isBrowser.d.ts +1 -0
- package/datepicker/positioning/utils/isFixed.d.ts +1 -0
- package/datepicker/positioning/utils/isIE.d.ts +1 -0
- package/datepicker/positioning/utils/isModifierEnabled.d.ts +4 -0
- package/datepicker/positioning/utils/isNumeric.d.ts +4 -0
- package/datepicker/positioning/utils/isOffsetContainer.d.ts +1 -0
- package/datepicker/positioning/utils/setStyles.d.ts +5 -0
- package/datepicker/positioning/utils/updateContainerClass.d.ts +6 -0
- package/datepicker/public_api.d.ts +25 -0
- package/datepicker/reducer/_defaults.d.ts +2 -0
- package/datepicker/reducer/bs-datepicker.actions.d.ts +46 -0
- package/datepicker/reducer/bs-datepicker.effects.d.ts +41 -0
- package/datepicker/reducer/bs-datepicker.reducer.d.ts +3 -0
- package/datepicker/reducer/bs-datepicker.state.d.ts +43 -0
- package/datepicker/reducer/bs-datepicker.store.d.ts +8 -0
- package/datepicker/themes/bs/bs-calendar-layout.component.d.ts +5 -0
- package/datepicker/themes/bs/bs-current-date-view.component.d.ts +6 -0
- package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts +17 -0
- package/datepicker/themes/bs/bs-datepicker-container.component.d.ts +36 -0
- package/datepicker/themes/bs/bs-datepicker-day-decorator.directive.d.ts +14 -0
- package/datepicker/themes/bs/bs-datepicker-inline-container.component.d.ts +13 -0
- package/datepicker/themes/bs/bs-datepicker-navigation-view.component.d.ts +12 -0
- package/datepicker/themes/bs/bs-daterangepicker-container.component.d.ts +40 -0
- package/datepicker/themes/bs/bs-daterangepicker-inline-container.component.d.ts +13 -0
- package/datepicker/themes/bs/bs-days-calendar-view.component.d.ts +26 -0
- package/datepicker/themes/bs/bs-months-calendar-view.component.d.ts +16 -0
- package/datepicker/themes/bs/bs-timepicker-view.component.d.ts +8 -0
- package/datepicker/themes/bs/bs-years-calendar-view.component.d.ts +16 -0
- package/datepicker/utils/bs-calendar-utils.d.ts +10 -0
- package/datepicker/utils/matrix-utils.d.ts +9 -0
- package/datepicker/utils-v2/decorators.d.ts +1 -0
- package/datepicker/utils-v2/facade/browser.d.ts +23 -0
- package/datepicker/utils-v2/index.d.ts +1 -0
- package/datepicker/utils-v2/linked-list.class.d.ts +26 -0
- package/datepicker/utils-v2/public_api.d.ts +10 -0
- package/datepicker/utils-v2/theme-provider.d.ts +2 -0
- package/datepicker/utils-v2/trigger.class.d.ts +6 -0
- package/datepicker/utils-v2/triggers.d.ts +18 -0
- package/datepicker/utils-v2/utils.class.d.ts +4 -0
- package/datepicker/utils-v2/warn-once.d.ts +1 -0
- package/datepicker/yearpicker.component.d.ts +14 -0
- package/esm2020/datepicker/base/bs-datepicker-container.mjs +47 -0
- package/esm2020/datepicker/bs-datepicker-inline.component.mjs +137 -0
- package/esm2020/datepicker/bs-datepicker-inline.config.mjs +14 -0
- package/esm2020/datepicker/bs-datepicker-input.directive.mjs +160 -0
- package/esm2020/datepicker/bs-datepicker.component.mjs +254 -0
- package/esm2020/datepicker/bs-datepicker.config.mjs +87 -0
- package/esm2020/datepicker/bs-datepicker.module.mjs +126 -0
- package/esm2020/datepicker/bs-daterangepicker-inline.component.mjs +134 -0
- package/esm2020/datepicker/bs-daterangepicker-inline.config.mjs +21 -0
- package/esm2020/datepicker/bs-daterangepicker-input.directive.mjs +192 -0
- package/esm2020/datepicker/bs-daterangepicker.component.mjs +240 -0
- package/esm2020/datepicker/bs-daterangepicker.config.mjs +19 -0
- package/esm2020/datepicker/bs-locale.service.mjs +32 -0
- package/esm2020/datepicker/chronos/create/check-overflow.mjs +30 -0
- package/esm2020/datepicker/chronos/create/clone.mjs +6 -0
- package/esm2020/datepicker/chronos/create/date-from-array.mjs +17 -0
- package/esm2020/datepicker/chronos/create/from-anything.mjs +107 -0
- package/esm2020/datepicker/chronos/create/from-array.mjs +136 -0
- package/esm2020/datepicker/chronos/create/from-object.mjs +17 -0
- package/esm2020/datepicker/chronos/create/from-string-and-array.mjs +38 -0
- package/esm2020/datepicker/chronos/create/from-string-and-format.mjs +106 -0
- package/esm2020/datepicker/chronos/create/from-string.mjs +227 -0
- package/esm2020/datepicker/chronos/create/local.mjs +16 -0
- package/esm2020/datepicker/chronos/create/parsing-flags.mjs +26 -0
- package/esm2020/datepicker/chronos/create/parsing.types.mjs +2 -0
- package/esm2020/datepicker/chronos/create/valid.mjs +42 -0
- package/esm2020/datepicker/chronos/duration/bubble.mjs +47 -0
- package/esm2020/datepicker/chronos/duration/constructor.mjs +130 -0
- package/esm2020/datepicker/chronos/duration/create.mjs +113 -0
- package/esm2020/datepicker/chronos/duration/humanize.mjs +80 -0
- package/esm2020/datepicker/chronos/duration/valid.mjs +43 -0
- package/esm2020/datepicker/chronos/format/format.mjs +51 -0
- package/esm2020/datepicker/chronos/format.mjs +46 -0
- package/esm2020/datepicker/chronos/i18n/ar.mjs +128 -0
- package/esm2020/datepicker/chronos/i18n/bg.mjs +94 -0
- package/esm2020/datepicker/chronos/i18n/ca.mjs +91 -0
- package/esm2020/datepicker/chronos/i18n/cs.mjs +179 -0
- package/esm2020/datepicker/chronos/i18n/da.mjs +50 -0
- package/esm2020/datepicker/chronos/i18n/de.mjs +72 -0
- package/esm2020/datepicker/chronos/i18n/en-gb.mjs +61 -0
- package/esm2020/datepicker/chronos/i18n/es-do.mjs +85 -0
- package/esm2020/datepicker/chronos/i18n/es-us.mjs +79 -0
- package/esm2020/datepicker/chronos/i18n/es.mjs +84 -0
- package/esm2020/datepicker/chronos/i18n/et.mjs +73 -0
- package/esm2020/datepicker/chronos/i18n/fi.mjs +100 -0
- package/esm2020/datepicker/chronos/i18n/fr.mjs +76 -0
- package/esm2020/datepicker/chronos/i18n/gl.mjs +84 -0
- package/esm2020/datepicker/chronos/i18n/he.mjs +98 -0
- package/esm2020/datepicker/chronos/i18n/hi.mjs +124 -0
- package/esm2020/datepicker/chronos/i18n/hr.mjs +62 -0
- package/esm2020/datepicker/chronos/i18n/hu.mjs +104 -0
- package/esm2020/datepicker/chronos/i18n/id.mjs +83 -0
- package/esm2020/datepicker/chronos/i18n/it.mjs +65 -0
- package/esm2020/datepicker/chronos/i18n/ja.mjs +75 -0
- package/esm2020/datepicker/chronos/i18n/ka.mjs +87 -0
- package/esm2020/datepicker/chronos/i18n/kk.mjs +76 -0
- package/esm2020/datepicker/chronos/i18n/ko.mjs +77 -0
- package/esm2020/datepicker/chronos/i18n/lt.mjs +116 -0
- package/esm2020/datepicker/chronos/i18n/lv.mjs +56 -0
- package/esm2020/datepicker/chronos/i18n/mn.mjs +99 -0
- package/esm2020/datepicker/chronos/i18n/nb.mjs +53 -0
- package/esm2020/datepicker/chronos/i18n/nl-be.mjs +81 -0
- package/esm2020/datepicker/chronos/i18n/nl.mjs +80 -0
- package/esm2020/datepicker/chronos/i18n/pl.mjs +126 -0
- package/esm2020/datepicker/chronos/i18n/pt-br.mjs +56 -0
- package/esm2020/datepicker/chronos/i18n/ro.mjs +66 -0
- package/esm2020/datepicker/chronos/i18n/ru.mjs +181 -0
- package/esm2020/datepicker/chronos/i18n/sk.mjs +157 -0
- package/esm2020/datepicker/chronos/i18n/sl.mjs +184 -0
- package/esm2020/datepicker/chronos/i18n/sq.mjs +54 -0
- package/esm2020/datepicker/chronos/i18n/sv.mjs +63 -0
- package/esm2020/datepicker/chronos/i18n/th-be.mjs +74 -0
- package/esm2020/datepicker/chronos/i18n/th.mjs +59 -0
- package/esm2020/datepicker/chronos/i18n/tr.mjs +82 -0
- package/esm2020/datepicker/chronos/i18n/uk.mjs +147 -0
- package/esm2020/datepicker/chronos/i18n/vi.mjs +74 -0
- package/esm2020/datepicker/chronos/i18n/zh-cn.mjs +114 -0
- package/esm2020/datepicker/chronos/index.mjs +2 -0
- package/esm2020/datepicker/chronos/locale/calendar.mjs +9 -0
- package/esm2020/datepicker/chronos/locale/locale.class.mjs +532 -0
- package/esm2020/datepicker/chronos/locale/locale.defaults.mjs +40 -0
- package/esm2020/datepicker/chronos/locale/locales.mjs +229 -0
- package/esm2020/datepicker/chronos/moment/add-subtract.mjs +35 -0
- package/esm2020/datepicker/chronos/moment/calendar.mjs +41 -0
- package/esm2020/datepicker/chronos/moment/diff.mjs +70 -0
- package/esm2020/datepicker/chronos/moment/min-max.mjs +38 -0
- package/esm2020/datepicker/chronos/parse/regex.mjs +49 -0
- package/esm2020/datepicker/chronos/parse/token.mjs +32 -0
- package/esm2020/datepicker/chronos/public_api.mjs +56 -0
- package/esm2020/datepicker/chronos/test/chain.mjs +711 -0
- package/esm2020/datepicker/chronos/types.mjs +2 -0
- package/esm2020/datepicker/chronos/units/aliases.mjs +35 -0
- package/esm2020/datepicker/chronos/units/constants.mjs +11 -0
- package/esm2020/datepicker/chronos/units/day-of-month.mjs +31 -0
- package/esm2020/datepicker/chronos/units/day-of-week.mjs +129 -0
- package/esm2020/datepicker/chronos/units/day-of-year.mjs +37 -0
- package/esm2020/datepicker/chronos/units/hour.mjs +127 -0
- package/esm2020/datepicker/chronos/units/index.mjs +19 -0
- package/esm2020/datepicker/chronos/units/millisecond.mjs +60 -0
- package/esm2020/datepicker/chronos/units/minute.mjs +23 -0
- package/esm2020/datepicker/chronos/units/month.mjs +63 -0
- package/esm2020/datepicker/chronos/units/offset.mjs +210 -0
- package/esm2020/datepicker/chronos/units/priorities.mjs +21 -0
- package/esm2020/datepicker/chronos/units/quarter.mjs +39 -0
- package/esm2020/datepicker/chronos/units/second.mjs +23 -0
- package/esm2020/datepicker/chronos/units/timestamp.mjs +28 -0
- package/esm2020/datepicker/chronos/units/timezone.mjs +19 -0
- package/esm2020/datepicker/chronos/units/week-calendar-utils.mjs +70 -0
- package/esm2020/datepicker/chronos/units/week-year.mjs +101 -0
- package/esm2020/datepicker/chronos/units/week.mjs +58 -0
- package/esm2020/datepicker/chronos/units/year.mjs +60 -0
- package/esm2020/datepicker/chronos/utils/abs-ceil.mjs +4 -0
- package/esm2020/datepicker/chronos/utils/abs-round.mjs +4 -0
- package/esm2020/datepicker/chronos/utils/compare-arrays.mjs +16 -0
- package/esm2020/datepicker/chronos/utils/date-compare.mjs +55 -0
- package/esm2020/datepicker/chronos/utils/date-getters.mjs +67 -0
- package/esm2020/datepicker/chronos/utils/date-setters.mjs +75 -0
- package/esm2020/datepicker/chronos/utils/defaults.mjs +11 -0
- package/esm2020/datepicker/chronos/utils/start-end-of.mjs +57 -0
- package/esm2020/datepicker/chronos/utils/type-checks.mjs +56 -0
- package/esm2020/datepicker/chronos/utils/zero-fill.mjs +10 -0
- package/esm2020/datepicker/chronos/utils.mjs +7 -0
- package/esm2020/datepicker/component-loader/bs-component-ref.class.mjs +3 -0
- package/esm2020/datepicker/component-loader/component-loader.class.mjs +272 -0
- package/esm2020/datepicker/component-loader/component-loader.factory.mjs +29 -0
- package/esm2020/datepicker/component-loader/content-ref.class.mjs +12 -0
- package/esm2020/datepicker/component-loader/index.mjs +2 -0
- package/esm2020/datepicker/component-loader/listen-options.model.mjs +2 -0
- package/esm2020/datepicker/component-loader/public_api.mjs +5 -0
- package/esm2020/datepicker/date-formatter.mjs +7 -0
- package/esm2020/datepicker/datepicker-animations.mjs +16 -0
- package/esm2020/datepicker/datepicker-inner.component.mjs +323 -0
- package/esm2020/datepicker/datepicker.component.mjs +182 -0
- package/esm2020/datepicker/datepicker.config.mjs +32 -0
- package/esm2020/datepicker/datepicker.module.mjs +49 -0
- package/esm2020/datepicker/daypicker.component.mjs +314 -0
- package/esm2020/datepicker/engine/calc-days-calendar.mjs +19 -0
- package/esm2020/datepicker/engine/flag-days-calendar.mjs +91 -0
- package/esm2020/datepicker/engine/flag-months-calendar.mjs +41 -0
- package/esm2020/datepicker/engine/flag-years-calendar.mjs +39 -0
- package/esm2020/datepicker/engine/format-days-calendar.mjs +29 -0
- package/esm2020/datepicker/engine/format-months-calendar.mjs +19 -0
- package/esm2020/datepicker/engine/format-years-calendar.mjs +35 -0
- package/esm2020/datepicker/engine/view-mode.mjs +4 -0
- package/esm2020/datepicker/index.mjs +2 -0
- package/esm2020/datepicker/mini-ngrx/index.mjs +2 -0
- package/esm2020/datepicker/mini-ngrx/public_api.mjs +3 -0
- package/esm2020/datepicker/mini-ngrx/state.class.mjs +16 -0
- package/esm2020/datepicker/mini-ngrx/store.class.mjs +43 -0
- package/esm2020/datepicker/mis-crystal-design-system-datepicker.mjs +5 -0
- package/esm2020/datepicker/models/index.mjs +9 -0
- package/esm2020/datepicker/monthpicker.component.mjs +145 -0
- package/esm2020/datepicker/positioning/index.mjs +2 -0
- package/esm2020/datepicker/positioning/models/index.mjs +2 -0
- package/esm2020/datepicker/positioning/modifiers/arrow.mjs +56 -0
- package/esm2020/datepicker/positioning/modifiers/flip.mjs +66 -0
- package/esm2020/datepicker/positioning/modifiers/index.mjs +6 -0
- package/esm2020/datepicker/positioning/modifiers/initData.mjs +42 -0
- package/esm2020/datepicker/positioning/modifiers/preventOverflow.mjs +59 -0
- package/esm2020/datepicker/positioning/modifiers/shift.mjs +24 -0
- package/esm2020/datepicker/positioning/ng-positioning.mjs +30 -0
- package/esm2020/datepicker/positioning/positioning.service.mjs +75 -0
- package/esm2020/datepicker/positioning/public_api.mjs +3 -0
- package/esm2020/datepicker/positioning/utils/computeAutoPlacement.mjs +57 -0
- package/esm2020/datepicker/positioning/utils/findCommonOffsetParent.mjs +40 -0
- package/esm2020/datepicker/positioning/utils/getBordersSize.mjs +10 -0
- package/esm2020/datepicker/positioning/utils/getBoundaries.mjs +56 -0
- package/esm2020/datepicker/positioning/utils/getBoundingClientRect.mjs +55 -0
- package/esm2020/datepicker/positioning/utils/getClientRect.mjs +8 -0
- package/esm2020/datepicker/positioning/utils/getFixedPositionOffsetParent.mjs +17 -0
- package/esm2020/datepicker/positioning/utils/getOffsetParent.mjs +32 -0
- package/esm2020/datepicker/positioning/utils/getOffsetRectRelativeToArbitraryNode.mjs +51 -0
- package/esm2020/datepicker/positioning/utils/getOffsets.mjs +11 -0
- package/esm2020/datepicker/positioning/utils/getOppositePlacement.mjs +8 -0
- package/esm2020/datepicker/positioning/utils/getOppositeVariation.mjs +13 -0
- package/esm2020/datepicker/positioning/utils/getOuterSizes.mjs +14 -0
- package/esm2020/datepicker/positioning/utils/getParentNode.mjs +10 -0
- package/esm2020/datepicker/positioning/utils/getReferenceOffsets.mjs +13 -0
- package/esm2020/datepicker/positioning/utils/getRoot.mjs +10 -0
- package/esm2020/datepicker/positioning/utils/getScroll.mjs +14 -0
- package/esm2020/datepicker/positioning/utils/getScrollParent.mjs +26 -0
- package/esm2020/datepicker/positioning/utils/getStyleComputedProperty.mjs +13 -0
- package/esm2020/datepicker/positioning/utils/getTargetOffsets.mjs +30 -0
- package/esm2020/datepicker/positioning/utils/getViewportOffsetRectRelativeToArtbitraryNode.mjs +19 -0
- package/esm2020/datepicker/positioning/utils/getWindowSizes.mjs +18 -0
- package/esm2020/datepicker/positioning/utils/includeScroll.mjs +15 -0
- package/esm2020/datepicker/positioning/utils/index.mjs +24 -0
- package/esm2020/datepicker/positioning/utils/isBrowser.mjs +2 -0
- package/esm2020/datepicker/positioning/utils/isFixed.mjs +16 -0
- package/esm2020/datepicker/positioning/utils/isIE.mjs +16 -0
- package/esm2020/datepicker/positioning/utils/isModifierEnabled.mjs +10 -0
- package/esm2020/datepicker/positioning/utils/isNumeric.mjs +7 -0
- package/esm2020/datepicker/positioning/utils/isOffsetContainer.mjs +9 -0
- package/esm2020/datepicker/positioning/utils/setStyles.mjs +17 -0
- package/esm2020/datepicker/positioning/utils/updateContainerClass.mjs +22 -0
- package/esm2020/datepicker/public_api.mjs +25 -0
- package/esm2020/datepicker/reducer/_defaults.mjs +5 -0
- package/esm2020/datepicker/reducer/bs-datepicker.actions.mjs +136 -0
- package/esm2020/datepicker/reducer/bs-datepicker.effects.mjs +169 -0
- package/esm2020/datepicker/reducer/bs-datepicker.reducer.mjs +302 -0
- package/esm2020/datepicker/reducer/bs-datepicker.state.mjs +12 -0
- package/esm2020/datepicker/reducer/bs-datepicker.store.mjs +21 -0
- package/esm2020/datepicker/themes/bs/bs-calendar-layout.component.mjs +54 -0
- package/esm2020/datepicker/themes/bs/bs-current-date-view.component.mjs +23 -0
- package/esm2020/datepicker/themes/bs/bs-custom-dates-view.component.mjs +78 -0
- package/esm2020/datepicker/themes/bs/bs-datepicker-container.component.mjs +319 -0
- package/esm2020/datepicker/themes/bs/bs-datepicker-day-decorator.directive.mjs +52 -0
- package/esm2020/datepicker/themes/bs/bs-datepicker-inline-container.component.mjs +203 -0
- package/esm2020/datepicker/themes/bs/bs-datepicker-navigation-view.component.mjs +111 -0
- package/esm2020/datepicker/themes/bs/bs-daterangepicker-container.component.mjs +362 -0
- package/esm2020/datepicker/themes/bs/bs-daterangepicker-inline-container.component.mjs +203 -0
- package/esm2020/datepicker/themes/bs/bs-days-calendar-view.component.mjs +308 -0
- package/esm2020/datepicker/themes/bs/bs-months-calendar-view.component.mjs +106 -0
- package/esm2020/datepicker/themes/bs/bs-timepicker-view.component.mjs +64 -0
- package/esm2020/datepicker/themes/bs/bs-years-calendar-view.component.mjs +107 -0
- package/esm2020/datepicker/utils/bs-calendar-utils.mjs +43 -0
- package/esm2020/datepicker/utils/matrix-utils.mjs +14 -0
- package/esm2020/datepicker/utils-v2/decorators.mjs +25 -0
- package/esm2020/datepicker/utils-v2/facade/browser.mjs +24 -0
- package/esm2020/datepicker/utils-v2/index.mjs +2 -0
- package/esm2020/datepicker/utils-v2/linked-list.class.mjs +240 -0
- package/esm2020/datepicker/utils-v2/public_api.mjs +11 -0
- package/esm2020/datepicker/utils-v2/theme-provider.mjs +35 -0
- package/esm2020/datepicker/utils-v2/trigger.class.mjs +10 -0
- package/esm2020/datepicker/utils-v2/triggers.mjs +110 -0
- package/esm2020/datepicker/utils-v2/utils.class.mjs +21 -0
- package/esm2020/datepicker/utils-v2/warn-once.mjs +12 -0
- package/esm2020/datepicker/yearpicker.component.mjs +147 -0
- package/fesm2015/mis-crystal-design-system-datepicker.mjs +14950 -0
- package/fesm2015/mis-crystal-design-system-datepicker.mjs.map +1 -0
- package/fesm2020/mis-crystal-design-system-datepicker.mjs +14572 -0
- package/fesm2020/mis-crystal-design-system-datepicker.mjs.map +1 -0
- package/package.json +9 -1
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { addFormatToken } from '../format/format';
|
|
2
|
+
import { addUnitAlias } from './aliases';
|
|
3
|
+
import { addUnitPriority } from './priorities';
|
|
4
|
+
import { addRegexToken, match1to2, match1to4, match1to6, match2, match4, match6, matchSigned } from '../parse/regex';
|
|
5
|
+
import { addWeekParseToken } from '../parse/token';
|
|
6
|
+
import { toInt } from '../utils/type-checks';
|
|
7
|
+
import { parseTwoDigitYear } from './year';
|
|
8
|
+
import { dayOfYearFromWeeks, weekOfYear, weeksInYear } from './week-calendar-utils';
|
|
9
|
+
import { createUTCDate } from '../create/date-from-array';
|
|
10
|
+
import { getISOWeek, getWeek } from './week';
|
|
11
|
+
import { getISODayOfWeek, getLocaleDayOfWeek } from './day-of-week';
|
|
12
|
+
import { getLocale } from '../locale/locales';
|
|
13
|
+
import { setDate, setFullYear, setMonth } from '../utils/date-setters';
|
|
14
|
+
import { getDate, getFullYear, getMonth } from '../utils/date-getters';
|
|
15
|
+
// FORMATTING
|
|
16
|
+
export function initWeekYear() {
|
|
17
|
+
addFormatToken(null, ['gg', 2, false], null, function (date, opts) {
|
|
18
|
+
// return this.weekYear() % 100;
|
|
19
|
+
return (getWeekYear(date, opts.locale) % 100).toString();
|
|
20
|
+
});
|
|
21
|
+
addFormatToken(null, ['GG', 2, false], null, function (date) {
|
|
22
|
+
// return this.isoWeekYear() % 100;
|
|
23
|
+
return (getISOWeekYear(date) % 100).toString();
|
|
24
|
+
});
|
|
25
|
+
addWeekYearFormatToken('gggg', _getWeekYearFormatCb);
|
|
26
|
+
addWeekYearFormatToken('ggggg', _getWeekYearFormatCb);
|
|
27
|
+
addWeekYearFormatToken('GGGG', _getISOWeekYearFormatCb);
|
|
28
|
+
addWeekYearFormatToken('GGGGG', _getISOWeekYearFormatCb);
|
|
29
|
+
// ALIASES
|
|
30
|
+
addUnitAlias('weekYear', 'gg');
|
|
31
|
+
addUnitAlias('isoWeekYear', 'GG');
|
|
32
|
+
// PRIORITY
|
|
33
|
+
addUnitPriority('weekYear', 1);
|
|
34
|
+
addUnitPriority('isoWeekYear', 1);
|
|
35
|
+
// PARSING
|
|
36
|
+
addRegexToken('G', matchSigned);
|
|
37
|
+
addRegexToken('g', matchSigned);
|
|
38
|
+
addRegexToken('GG', match1to2, match2);
|
|
39
|
+
addRegexToken('gg', match1to2, match2);
|
|
40
|
+
addRegexToken('GGGG', match1to4, match4);
|
|
41
|
+
addRegexToken('gggg', match1to4, match4);
|
|
42
|
+
addRegexToken('GGGGG', match1to6, match6);
|
|
43
|
+
addRegexToken('ggggg', match1to6, match6);
|
|
44
|
+
addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {
|
|
45
|
+
week[token.substr(0, 2)] = toInt(input);
|
|
46
|
+
return config;
|
|
47
|
+
});
|
|
48
|
+
addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {
|
|
49
|
+
week[token] = parseTwoDigitYear(input);
|
|
50
|
+
return config;
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
function addWeekYearFormatToken(token, getter) {
|
|
54
|
+
addFormatToken(null, [token, token.length, false], null, getter);
|
|
55
|
+
}
|
|
56
|
+
function _getWeekYearFormatCb(date, opts) {
|
|
57
|
+
return getWeekYear(date, opts.locale).toString();
|
|
58
|
+
}
|
|
59
|
+
function _getISOWeekYearFormatCb(date) {
|
|
60
|
+
return getISOWeekYear(date).toString();
|
|
61
|
+
}
|
|
62
|
+
// MOMENTS
|
|
63
|
+
export function getSetWeekYear(date, input, locale = getLocale(), isUTC) {
|
|
64
|
+
return getSetWeekYearHelper(date, input,
|
|
65
|
+
// this.week(),
|
|
66
|
+
getWeek(date, locale, isUTC),
|
|
67
|
+
// this.weekday(),
|
|
68
|
+
getLocaleDayOfWeek(date, locale, isUTC), locale.firstDayOfWeek(), locale.firstDayOfYear(), isUTC);
|
|
69
|
+
}
|
|
70
|
+
export function getWeekYear(date, locale = getLocale(), isUTC) {
|
|
71
|
+
return weekOfYear(date, locale.firstDayOfWeek(), locale.firstDayOfYear(), isUTC).year;
|
|
72
|
+
}
|
|
73
|
+
export function getSetISOWeekYear(date, input, isUTC) {
|
|
74
|
+
return getSetWeekYearHelper(date, input, getISOWeek(date, isUTC), getISODayOfWeek(date, isUTC), 1, 4);
|
|
75
|
+
}
|
|
76
|
+
export function getISOWeekYear(date, isUTC) {
|
|
77
|
+
return weekOfYear(date, 1, 4, isUTC).year;
|
|
78
|
+
}
|
|
79
|
+
export function getISOWeeksInYear(date, isUTC) {
|
|
80
|
+
return weeksInYear(getFullYear(date, isUTC), 1, 4);
|
|
81
|
+
}
|
|
82
|
+
export function getWeeksInYear(date, isUTC, locale = getLocale()) {
|
|
83
|
+
return weeksInYear(getFullYear(date, isUTC), locale.firstDayOfWeek(), locale.firstDayOfYear());
|
|
84
|
+
}
|
|
85
|
+
function getSetWeekYearHelper(date, input, week, weekday, dow, doy, isUTC) {
|
|
86
|
+
if (!input) {
|
|
87
|
+
return getWeekYear(date, void 0, isUTC);
|
|
88
|
+
}
|
|
89
|
+
const weeksTarget = weeksInYear(input, dow, doy);
|
|
90
|
+
const _week = week > weeksTarget ? weeksTarget : week;
|
|
91
|
+
return setWeekAll(date, input, _week, weekday, dow, doy);
|
|
92
|
+
}
|
|
93
|
+
function setWeekAll(date, weekYear, week, weekday, dow, doy) {
|
|
94
|
+
const dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);
|
|
95
|
+
const _date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);
|
|
96
|
+
setFullYear(date, getFullYear(_date, true), true);
|
|
97
|
+
setMonth(date, getMonth(_date, true), true);
|
|
98
|
+
setDate(date, getDate(_date, true), true);
|
|
99
|
+
return date;
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vlay15ZWFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9jaHJvbm9zL3VuaXRzL3dlZWsteWVhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQy9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUMzQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUs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LFNBQVMsVUFBVSxDQUFDLElBQVUsRUFBRSxRQUFnQixFQUFFLElBQVksRUFDMUMsT0FBZSxFQUFFLEdBQVcsRUFBRSxHQUFXO0lBQzNELE1BQU0sYUFBYSxHQUFHLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUM1RSxNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVFLFdBQVcsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNsRCxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUMsT0FBTyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRTFDLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFkZEZvcm1hdFRva2VuIH0gZnJvbSAnLi4vZm9ybWF0L2Zvcm1hdCc7XG5pbXBvcnQgeyBhZGRVbml0QWxpYXMgfSBmcm9tICcuL2FsaWFzZXMnO1xuaW1wb3J0IHsgYWRkVW5pdFByaW9yaXR5IH0gZnJvbSAnLi9wcmlvcml0aWVzJztcbmltcG9ydCB7IGFkZFJlZ2V4VG9rZW4sIG1hdGNoMXRvMiwgbWF0Y2gxdG80LCBtYXRjaDF0bzYsIG1hdGNoMiwgbWF0Y2g0LCBtYXRjaDYsIG1hdGNoU2lnbmVkIH0gZnJvbSAnLi4vcGFyc2UvcmVnZXgnO1xuaW1wb3J0IHsgYWRkV2Vla1BhcnNlVG9rZW4gfSBmcm9tICcuLi9wYXJzZS90b2tlbic7XG5pbXBvcnQgeyB0b0ludCB9IGZyb20gJy4uL3V0aWxzL3R5cGUtY2hlY2tzJztcbmltcG9ydCB7IHBhcnNlVHdvRGlnaXRZZWFyIH0gZnJvbSAnLi95ZWFyJztcbmltcG9ydCB7IGRheU9mWWVhckZyb21XZWVrcywgd2Vla09mWWVhciwgd2Vla3NJblllYXIgfSBmcm9tICcuL3dlZWstY2FsZW5kYXItdXRpbHMnO1xuaW1wb3J0IHsgY3JlYXRlVVRDRGF0ZSB9IGZyb20gJy4uL2NyZWF0ZS9kYXRlLWZyb20tYXJyYXknO1xuaW1wb3J0IHsgZ2V0SVNPV2VlaywgZ2V0V2VlayB9IGZyb20gJy4vd2Vlayc7XG5pbXBvcnQgeyBnZXRJU09EYXlPZldlZWssIGdldExvY2FsZURheU9mV2VlayB9IGZyb20gJy4vZGF5LW9mLXdlZWsnO1xuaW1wb3J0IHsgZ2V0TG9jYWxlIH0gZnJvbSAnLi4vbG9jYWxlL2xvY2FsZXMnO1xuaW1wb3J0IHsgc2V0RGF0ZSwgc2V0RnVsbFllYXIsIHNldE1vbnRoIH0gZnJvbSAnLi4vdXRpbHMvZGF0ZS1zZXR0ZXJzJztcbmltcG9ydCB7IGdldERhdGUsIGdldEZ1bGxZZWFyLCBnZXRNb250aCB9IGZyb20gJy4uL3V0aWxzL2RhdGUtZ2V0dGVycyc7XG5pbXBvcnQgeyBMb2NhbGUgfSBmcm9tICcuLi9sb2NhbGUvbG9jYWxlLmNsYXNzJztcbmltcG9ydCB7IERhdGVGb3JtYXR0ZXJGbiwgRGF0ZUZvcm1hdHRlck9wdGlvbnMsIFdlZWtQYXJzaW5nIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG4vLyBGT1JNQVRUSU5HXG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0V2Vla1llYXIoKSB7XG4gIGFkZEZvcm1hdFRva2VuKG51bGwsIFsnZ2cnLCAyLCBmYWxzZV0sIG51bGwsXG4gICAgZnVuY3Rpb24gKGRhdGU6IERhdGUsIG9wdHM6IERhdGVGb3JtYXR0ZXJPcHRpb25zKTogc3RyaW5nIHtcbiAgICAgIC8vIHJldHVybiB0aGlzLndlZWtZZWFyKCkgJSAxMDA7XG4gICAgICByZXR1cm4gKGdldFdlZWtZZWFyKGRhdGUsIG9wdHMubG9jYWxlKSAlIDEwMCkudG9TdHJpbmcoKTtcbiAgICB9XG4gICk7XG5cbiAgYWRkRm9ybWF0VG9rZW4obnVsbCwgWydHRycsIDIsIGZhbHNlXSwgbnVsbCxcbiAgICBmdW5jdGlvbiAoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XG4gICAgICAvLyByZXR1cm4gdGhpcy5pc29XZWVrWWVhcigpICUgMTAwO1xuICAgICAgcmV0dXJuIChnZXRJU09XZWVrWWVhcihkYXRlKSAlIDEwMCkudG9TdHJpbmcoKTtcbiAgICB9XG4gICk7XG5cbiAgYWRkV2Vla1llYXJGb3JtYXRUb2tlbignZ2dnZycsIF9nZXRXZWVrWWVhckZvcm1hdENiKTtcbiAgYWRkV2Vla1llYXJGb3JtYXRUb2tlbignZ2dnZ2cnLCBfZ2V0V2Vla1llYXJGb3JtYXRDYik7XG4gIGFkZFdlZWtZZWFyRm9ybWF0VG9rZW4oJ0dHR0cnLCBfZ2V0SVNPV2Vla1llYXJGb3JtYXRDYik7XG4gIGFkZFdlZWtZZWFyRm9ybWF0VG9rZW4oJ0dHR0dHJywgX2dldElTT1dlZWtZZWFyRm9ybWF0Q2IpO1xuXG4vLyBBTElBU0VTXG5cbiAgYWRkVW5pdEFsaWFzKCd3ZWVrWWVhcicsICdnZycpO1xuICBhZGRVbml0QWxpYXMoJ2lzb1dlZWtZZWFyJywgJ0dHJyk7XG5cbi8vIFBSSU9SSVRZXG5cbiAgYWRkVW5pdFByaW9yaXR5KCd3ZWVrWWVhcicsIDEpO1xuICBhZGRVbml0UHJpb3JpdHkoJ2lzb1dlZWtZZWFyJywgMSk7XG5cblxuLy8gUEFSU0lOR1xuXG4gIGFkZFJlZ2V4VG9rZW4oJ0cnLCBtYXRjaFNpZ25lZCk7XG4gIGFkZFJlZ2V4VG9rZW4oJ2cnLCBtYXRjaFNpZ25lZCk7XG4gIGFkZFJlZ2V4VG9rZW4oJ0dHJywgbWF0Y2gxdG8yLCBtYXRjaDIpO1xuICBhZGRSZWdleFRva2VuKCdnZycsIG1hdGNoMXRvMiwgbWF0Y2gyKTtcbiAgYWRkUmVnZXhUb2tlbignR0dHRycsIG1hdGNoMXRvNCwgbWF0Y2g0KTtcbiAgYWRkUmVnZXhUb2tlbignZ2dnZycsIG1hdGNoMXRvNCwgbWF0Y2g0KTtcbiAgYWRkUmVnZXhUb2tlbignR0dHR0cnLCBtYXRjaDF0bzYsIG1hdGNoNik7XG4gIGFkZFJlZ2V4VG9rZW4oJ2dnZ2dnJywgbWF0Y2gxdG82LCBtYXRjaDYpO1xuXG4gIGFkZFdlZWtQYXJzZVRva2VuKFsnZ2dnZycsICdnZ2dnZycsICdHR0dHJywgJ0dHR0dHJ10sXG4gICAgZnVuY3Rpb24gKGlucHV0LCB3ZWVrOiBXZWVrUGFyc2luZywgY29uZmlnLCB0b2tlbikge1xuICAgICAgd2Vla1t0b2tlbi5zdWJzdHIoMCwgMildID0gdG9JbnQoaW5wdXQpO1xuXG4gICAgICByZXR1cm4gY29uZmlnO1xuICAgIH0pO1xuXG4gIGFkZFdlZWtQYXJzZVRva2VuKFsnZ2cnLCAnR0cnXSwgZnVuY3Rpb24gKGlucHV0LCB3ZWVrOiBXZWVrUGFyc2luZywgY29uZmlnLCB0b2tlbikge1xuICAgIHdlZWtbdG9rZW5dID0gcGFyc2VUd29EaWdpdFllYXIoaW5wdXQpO1xuXG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGFkZFdlZWtZZWFyRm9ybWF0VG9rZW4odG9rZW46IHN0cmluZywgZ2V0dGVyOiBEYXRlRm9ybWF0dGVyRm4pOiB2b2lkIHtcbiAgYWRkRm9ybWF0VG9rZW4obnVsbCwgW3Rva2VuLCB0b2tlbi5sZW5ndGgsIGZhbHNlXSwgbnVsbCwgZ2V0dGVyKTtcbn1cblxuZnVuY3Rpb24gX2dldFdlZWtZZWFyRm9ybWF0Q2IoZGF0ZTogRGF0ZSwgb3B0czogRGF0ZUZvcm1hdHRlck9wdGlvbnMpOiBzdHJpbmcge1xuICByZXR1cm4gZ2V0V2Vla1llYXIoZGF0ZSwgb3B0cy5sb2NhbGUpLnRvU3RyaW5nKCk7XG59XG5cbmZ1bmN0aW9uIF9nZXRJU09XZWVrWWVhckZvcm1hdENiKGRhdGU6IERhdGUpOiBzdHJpbmcge1xuICByZXR1cm4gZ2V0SVNPV2Vla1llYXIoZGF0ZSkudG9TdHJpbmcoKTtcbn1cblxuLy8gTU9NRU5UU1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2V0V2Vla1llYXIoZGF0ZTogRGF0ZSwgaW5wdXQ6IG51bWJlciwgbG9jYWxlID0gZ2V0TG9jYWxlKCksIGlzVVRDPzogYm9vbGVhbik6IG51bWJlciB8IERhdGUge1xuICByZXR1cm4gZ2V0U2V0V2Vla1llYXJIZWxwZXIoZGF0ZSxcbiAgICBpbnB1dCxcbiAgICAvLyB0aGlzLndlZWsoKSxcbiAgICBnZXRXZWVrKGRhdGUsIGxvY2FsZSwgaXNVVEMpLFxuICAgIC8vIHRoaXMud2Vla2RheSgpLFxuICAgIGdldExvY2FsZURheU9mV2VlayhkYXRlLCBsb2NhbGUsIGlzVVRDKSxcbiAgICBsb2NhbGUuZmlyc3REYXlPZldlZWsoKSxcbiAgICBsb2NhbGUuZmlyc3REYXlPZlllYXIoKSxcbiAgICBpc1VUQyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRXZWVrWWVhcihkYXRlOiBEYXRlLCBsb2NhbGUgPSBnZXRMb2NhbGUoKSwgaXNVVEM/OiBib29sZWFuKTogbnVtYmVyIHtcbiAgcmV0dXJuIHdlZWtPZlllYXIoZGF0ZSwgbG9jYWxlLmZpcnN0RGF5T2ZXZWVrKCksIGxvY2FsZS5maXJzdERheU9mWWVhcigpLCBpc1VUQykueWVhcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNldElTT1dlZWtZZWFyKGRhdGU6IERhdGUsIGlucHV0OiBudW1iZXIsIGlzVVRDPzogYm9vbGVhbik6IG51bWJlciB8IERhdGUge1xuICByZXR1cm4gZ2V0U2V0V2Vla1llYXJIZWxwZXIoZGF0ZSwgaW5wdXQsIGdldElTT1dlZWsoZGF0ZSwgaXNVVEMpLCBnZXRJU09EYXlPZldlZWsoZGF0ZSwgaXNVVEMpLCAxLCA0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldElTT1dlZWtZZWFyKGRhdGU6IERhdGUsIGlzVVRDPzogYm9vbGVhbik6IG51bWJlciB7XG4gIHJldHVybiB3ZWVrT2ZZZWFyKGRhdGUsIDEsIDQsIGlzVVRDKS55ZWFyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SVNPV2Vla3NJblllYXIoZGF0ZTogRGF0ZSwgaXNVVEM/OiBib29sZWFuKSB7XG4gIHJldHVybiB3ZWVrc0luWWVhcihnZXRGdWxsWWVhcihkYXRlLCBpc1VUQyksIDEsIDQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0V2Vla3NJblllYXIoZGF0ZTogRGF0ZSwgaXNVVEM/OiBib29sZWFuLCBsb2NhbGU6IExvY2FsZSA9IGdldExvY2FsZSgpKTogbnVtYmVyIHtcbiAgcmV0dXJuIHdlZWtzSW5ZZWFyKGdldEZ1bGxZZWFyKGRhdGUsIGlzVVRDKSwgbG9jYWxlLmZpcnN0RGF5T2ZXZWVrKCksIGxvY2FsZS5maXJzdERheU9mWWVhcigpKTtcbn1cblxuZnVuY3Rpb24gZ2V0U2V0V2Vla1llYXJIZWxwZXIoZGF0ZTogRGF0ZSwgaW5wdXQ6IG51bWJlciwgd2VlazogbnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2Vla2RheTogbnVtYmVyLCBkb3c6IG51bWJlciwgZG95OiBudW1iZXIsIGlzVVRDPzogYm9vbGVhbik6IG51bWJlciB8IERhdGUge1xuICBpZiAoIWlucHV0KSB7XG4gICAgcmV0dXJuIGdldFdlZWtZZWFyKGRhdGUsIHZvaWQgMCwgaXNVVEMpO1xuICB9XG5cbiAgY29uc3Qgd2Vla3NUYXJnZXQgPSB3ZWVrc0luWWVhcihpbnB1dCwgZG93LCBkb3kpO1xuICBjb25zdCBfd2VlayA9IHdlZWsgPiB3ZWVrc1RhcmdldCA/IHdlZWtzVGFyZ2V0IDogd2VlaztcblxuICByZXR1cm4gc2V0V2Vla0FsbChkYXRlLCBpbnB1dCwgX3dlZWssIHdlZWtkYXksIGRvdywgZG95KTtcbn1cblxuZnVuY3Rpb24gc2V0V2Vla0FsbChkYXRlOiBEYXRlLCB3ZWVrWWVhcjogbnVtYmVyLCB3ZWVrOiBudW1iZXIsXG4gICAgICAgICAgICAgICAgICAgIHdlZWtkYXk6IG51bWJlciwgZG93OiBudW1iZXIsIGRveTogbnVtYmVyKTogRGF0ZSB7XG4gIGNvbnN0IGRheU9mWWVhckRhdGEgPSBkYXlPZlllYXJGcm9tV2Vla3Mod2Vla1llYXIsIHdlZWssIHdlZWtkYXksIGRvdywgZG95KTtcbiAgY29uc3QgX2RhdGUgPSBjcmVhdGVVVENEYXRlKGRheU9mWWVhckRhdGEueWVhciwgMCwgZGF5T2ZZZWFyRGF0YS5kYXlPZlllYXIpO1xuICBzZXRGdWxsWWVhcihkYXRlLCBnZXRGdWxsWWVhcihfZGF0ZSwgdHJ1ZSksIHRydWUpO1xuICBzZXRNb250aChkYXRlLCBnZXRNb250aChfZGF0ZSwgdHJ1ZSksIHRydWUpO1xuICBzZXREYXRlKGRhdGUsIGdldERhdGUoX2RhdGUsIHRydWUpLCB0cnVlKTtcblxuICByZXR1cm4gZGF0ZTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { addFormatToken } from '../format/format';
|
|
2
|
+
import { weekOfYear } from './week-calendar-utils';
|
|
3
|
+
import { addRegexToken, match1to2, match2 } from '../parse/regex';
|
|
4
|
+
import { addUnitAlias } from './aliases';
|
|
5
|
+
import { addUnitPriority } from './priorities';
|
|
6
|
+
import { addWeekParseToken } from '../parse/token';
|
|
7
|
+
import { toInt } from '../utils/type-checks';
|
|
8
|
+
import { getLocale } from '../locale/locales';
|
|
9
|
+
import { add } from '../moment/add-subtract';
|
|
10
|
+
// FORMATTING
|
|
11
|
+
export function initWeek() {
|
|
12
|
+
addFormatToken('w', ['ww', 2, false], 'wo', function (date, opts) {
|
|
13
|
+
return getWeek(date, opts.locale)
|
|
14
|
+
.toString(10);
|
|
15
|
+
});
|
|
16
|
+
addFormatToken('W', ['WW', 2, false], 'Wo', function (date) {
|
|
17
|
+
return getISOWeek(date)
|
|
18
|
+
.toString(10);
|
|
19
|
+
});
|
|
20
|
+
// ALIASES
|
|
21
|
+
addUnitAlias('week', 'w');
|
|
22
|
+
addUnitAlias('isoWeek', 'W');
|
|
23
|
+
// PRIORITIES
|
|
24
|
+
addUnitPriority('week', 5);
|
|
25
|
+
addUnitPriority('isoWeek', 5);
|
|
26
|
+
// PARSING
|
|
27
|
+
addRegexToken('w', match1to2);
|
|
28
|
+
addRegexToken('ww', match1to2, match2);
|
|
29
|
+
addRegexToken('W', match1to2);
|
|
30
|
+
addRegexToken('WW', match1to2, match2);
|
|
31
|
+
addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {
|
|
32
|
+
week[token.substr(0, 1)] = toInt(input);
|
|
33
|
+
return config;
|
|
34
|
+
});
|
|
35
|
+
// export function getSetWeek (input) {
|
|
36
|
+
// var week = this.localeData().week(this);
|
|
37
|
+
// return input == null ? week : this.add((input - week) * 7, 'd');
|
|
38
|
+
// }
|
|
39
|
+
}
|
|
40
|
+
export function setWeek(date, input, locale = getLocale()) {
|
|
41
|
+
const week = getWeek(date, locale);
|
|
42
|
+
return add(date, (input - week) * 7, 'day');
|
|
43
|
+
}
|
|
44
|
+
export function getWeek(date, locale = getLocale(), isUTC) {
|
|
45
|
+
return locale.week(date, isUTC);
|
|
46
|
+
}
|
|
47
|
+
// export function getSetISOWeek (input) {
|
|
48
|
+
// var week = weekOfYear(this, 1, 4).week;
|
|
49
|
+
// return input == null ? week : this.add((input - week) * 7, 'd');
|
|
50
|
+
// }
|
|
51
|
+
export function setISOWeek(date, input) {
|
|
52
|
+
const week = getISOWeek(date);
|
|
53
|
+
return add(date, (input - week) * 7, 'day');
|
|
54
|
+
}
|
|
55
|
+
export function getISOWeek(date, isUTC) {
|
|
56
|
+
return weekOfYear(date, 1, 4, isUTC).week;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vlay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2RhdGVwaWNrZXIvY2hyb25vcy91bml0cy93ZWVrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUc3QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTdDLGFBQWE7QUFFYixNQUFNLFVBQVUsUUFBUTtJQUN0QixjQUFjLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxJQUFJLEVBQ3hDLFVBQVMsSUFBVSxFQUFFLElBQTBCO1FBQzdDLE9BQU8sT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO2FBQzlCLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNsQixDQUFDLENBQ0YsQ0FBQztJQUVGLGNBQWMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLElBQUksRUFDeEMsVUFBUyxJQUFVO1FBQ2pCLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQzthQUNwQixRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDbEIsQ0FBQyxDQUNGLENBQUM7SUFFSixVQUFVO0lBRVIsWUFBWSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMxQixZQUFZLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBRS9CLGFBQWE7SUFFWCxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzNCLGVBQWUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFaEMsVUFBVTtJQUVSLGFBQWEsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDOUIsYUFBYSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdkMsYUFBYSxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM5QixhQUFhLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUV2QyxpQkFBaUIsQ0FDZixDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxFQUN0QixVQUFTLEtBQWEsRUFBRSxJQUFpQixFQUFFLE1BQXlCLEVBQUUsS0FBYTtRQUNqRixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFeEMsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQyxDQUNGLENBQUM7SUFFSix1Q0FBdUM7SUFDdkMsNkNBQTZDO0lBQzdDLHFFQUFxRTtJQUNyRSxJQUFJO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxPQUFPLENBQUMsSUFBVSxFQUFFLEtBQWEsRUFBRSxNQUFNLEdBQUcsU0FBUyxFQUFFO0lBQ3JFLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFFbkMsT0FBTyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FBQyxJQUFVLEVBQUUsTUFBTSxHQUFHLFNBQVMsRUFBRSxFQUFFLEtBQWU7SUFDdkUsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztBQUNsQyxDQUFDO0FBRUQsMENBQTBDO0FBQzFDLDRDQUE0QztBQUM1QyxxRUFBcUU7QUFDckUsSUFBSTtBQUVKLE1BQU0sVUFBVSxVQUFVLENBQUMsSUFBVSxFQUFFLEtBQWE7SUFDbEQsTUFBTSxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTlCLE9BQU8sR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDOUMsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsSUFBVSxFQUFFLEtBQWU7SUFDcEQsT0FBTyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQzVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhZGRGb3JtYXRUb2tlbiB9IGZyb20gJy4uL2Zvcm1hdC9mb3JtYXQnO1xuaW1wb3J0IHsgTG9jYWxlIH0gZnJvbSAnLi4vbG9jYWxlL2xvY2FsZS5jbGFzcyc7XG5pbXBvcnQgeyB3ZWVrT2ZZZWFyIH0gZnJvbSAnLi93ZWVrLWNhbGVuZGFyLXV0aWxzJztcbmltcG9ydCB7IGFkZFJlZ2V4VG9rZW4sIG1hdGNoMXRvMiwgbWF0Y2gyIH0gZnJvbSAnLi4vcGFyc2UvcmVnZXgnO1xuaW1wb3J0IHsgYWRkVW5pdEFsaWFzIH0gZnJvbSAnLi9hbGlhc2VzJztcbmltcG9ydCB7IGFkZFVuaXRQcmlvcml0eSB9IGZyb20gJy4vcHJpb3JpdGllcyc7XG5pbXBvcnQgeyBhZGRXZWVrUGFyc2VUb2tlbiB9IGZyb20gJy4uL3BhcnNlL3Rva2VuJztcbmltcG9ydCB7IHRvSW50IH0gZnJvbSAnLi4vdXRpbHMvdHlwZS1jaGVja3MnO1xuaW1wb3J0IHsgRGF0ZUZvcm1hdHRlck9wdGlvbnMsIFdlZWtQYXJzaW5nIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgRGF0ZVBhcnNpbmdDb25maWcgfSBmcm9tICcuLi9jcmVhdGUvcGFyc2luZy50eXBlcyc7XG5pbXBvcnQgeyBnZXRMb2NhbGUgfSBmcm9tICcuLi9sb2NhbGUvbG9jYWxlcyc7XG5pbXBvcnQgeyBhZGQgfSBmcm9tICcuLi9tb21lbnQvYWRkLXN1YnRyYWN0JztcblxuLy8gRk9STUFUVElOR1xuXG5leHBvcnQgZnVuY3Rpb24gaW5pdFdlZWsoKSB7XG4gIGFkZEZvcm1hdFRva2VuKCd3JywgWyd3dycsIDIsIGZhbHNlXSwgJ3dvJyxcbiAgICBmdW5jdGlvbihkYXRlOiBEYXRlLCBvcHRzOiBEYXRlRm9ybWF0dGVyT3B0aW9ucyk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gZ2V0V2VlayhkYXRlLCBvcHRzLmxvY2FsZSlcbiAgICAgICAgLnRvU3RyaW5nKDEwKTtcbiAgICB9XG4gICk7XG5cbiAgYWRkRm9ybWF0VG9rZW4oJ1cnLCBbJ1dXJywgMiwgZmFsc2VdLCAnV28nLFxuICAgIGZ1bmN0aW9uKGRhdGU6IERhdGUpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIGdldElTT1dlZWsoZGF0ZSlcbiAgICAgICAgLnRvU3RyaW5nKDEwKTtcbiAgICB9XG4gICk7XG5cbi8vIEFMSUFTRVNcblxuICBhZGRVbml0QWxpYXMoJ3dlZWsnLCAndycpO1xuICBhZGRVbml0QWxpYXMoJ2lzb1dlZWsnLCAnVycpO1xuXG4vLyBQUklPUklUSUVTXG5cbiAgYWRkVW5pdFByaW9yaXR5KCd3ZWVrJywgNSk7XG4gIGFkZFVuaXRQcmlvcml0eSgnaXNvV2VlaycsIDUpO1xuXG4vLyBQQVJTSU5HXG5cbiAgYWRkUmVnZXhUb2tlbigndycsIG1hdGNoMXRvMik7XG4gIGFkZFJlZ2V4VG9rZW4oJ3d3JywgbWF0Y2gxdG8yLCBtYXRjaDIpO1xuICBhZGRSZWdleFRva2VuKCdXJywgbWF0Y2gxdG8yKTtcbiAgYWRkUmVnZXhUb2tlbignV1cnLCBtYXRjaDF0bzIsIG1hdGNoMik7XG5cbiAgYWRkV2Vla1BhcnNlVG9rZW4oXG4gICAgWyd3JywgJ3d3JywgJ1cnLCAnV1cnXSxcbiAgICBmdW5jdGlvbihpbnB1dDogc3RyaW5nLCB3ZWVrOiBXZWVrUGFyc2luZywgY29uZmlnOiBEYXRlUGFyc2luZ0NvbmZpZywgdG9rZW46IHN0cmluZyk6IERhdGVQYXJzaW5nQ29uZmlnIHtcbiAgICAgIHdlZWtbdG9rZW4uc3Vic3RyKDAsIDEpXSA9IHRvSW50KGlucHV0KTtcblxuICAgICAgcmV0dXJuIGNvbmZpZztcbiAgICB9XG4gICk7XG5cbi8vIGV4cG9ydCBmdW5jdGlvbiBnZXRTZXRXZWVrIChpbnB1dCkge1xuLy8gICB2YXIgd2VlayA9IHRoaXMubG9jYWxlRGF0YSgpLndlZWsodGhpcyk7XG4vLyAgIHJldHVybiBpbnB1dCA9PSBudWxsID8gd2VlayA6IHRoaXMuYWRkKChpbnB1dCAtIHdlZWspICogNywgJ2QnKTtcbi8vIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldFdlZWsoZGF0ZTogRGF0ZSwgaW5wdXQ6IG51bWJlciwgbG9jYWxlID0gZ2V0TG9jYWxlKCkpOiBEYXRlIHtcbiAgY29uc3Qgd2VlayA9IGdldFdlZWsoZGF0ZSwgbG9jYWxlKTtcblxuICByZXR1cm4gYWRkKGRhdGUsIChpbnB1dCAtIHdlZWspICogNywgJ2RheScpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0V2VlayhkYXRlOiBEYXRlLCBsb2NhbGUgPSBnZXRMb2NhbGUoKSwgaXNVVEM/OiBib29sZWFuKTogbnVtYmVyIHtcbiAgcmV0dXJuIGxvY2FsZS53ZWVrKGRhdGUsIGlzVVRDKTtcbn1cblxuLy8gZXhwb3J0IGZ1bmN0aW9uIGdldFNldElTT1dlZWsgKGlucHV0KSB7XG4vLyAgIHZhciB3ZWVrID0gd2Vla09mWWVhcih0aGlzLCAxLCA0KS53ZWVrO1xuLy8gICByZXR1cm4gaW5wdXQgPT0gbnVsbCA/IHdlZWsgOiB0aGlzLmFkZCgoaW5wdXQgLSB3ZWVrKSAqIDcsICdkJyk7XG4vLyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRJU09XZWVrKGRhdGU6IERhdGUsIGlucHV0OiBudW1iZXIpOiBEYXRlIHtcbiAgY29uc3Qgd2VlayA9IGdldElTT1dlZWsoZGF0ZSk7XG5cbiAgcmV0dXJuIGFkZChkYXRlLCAoaW5wdXQgLSB3ZWVrKSAqIDcsICdkYXknKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldElTT1dlZWsoZGF0ZTogRGF0ZSwgaXNVVEM/OiBib29sZWFuKTogbnVtYmVyIHtcbiAgcmV0dXJuIHdlZWtPZlllYXIoZGF0ZSwgMSwgNCwgaXNVVEMpLndlZWs7XG59XG5cbiJdfQ==
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { addFormatToken } from '../format/format';
|
|
2
|
+
import { getFullYear } from '../utils/date-getters';
|
|
3
|
+
import { addRegexToken, match1to2, match1to4, match1to6, match2, match4, match6, matchSigned } from '../parse/regex';
|
|
4
|
+
import { addParseToken } from '../parse/token';
|
|
5
|
+
import { YEAR } from './constants';
|
|
6
|
+
import { toInt } from '../utils/type-checks';
|
|
7
|
+
import { addUnitPriority } from './priorities';
|
|
8
|
+
import { addUnitAlias } from './aliases';
|
|
9
|
+
// FORMATTING
|
|
10
|
+
function getYear(date, opts) {
|
|
11
|
+
if (opts.locale.getFullYear) {
|
|
12
|
+
return opts.locale.getFullYear(date, opts.isUTC).toString();
|
|
13
|
+
}
|
|
14
|
+
return getFullYear(date, opts.isUTC).toString();
|
|
15
|
+
}
|
|
16
|
+
export function initYear() {
|
|
17
|
+
addFormatToken('Y', null, null, function (date, opts) {
|
|
18
|
+
const y = getFullYear(date, opts.isUTC);
|
|
19
|
+
return y <= 9999 ? y.toString(10) : `+${y}`;
|
|
20
|
+
});
|
|
21
|
+
addFormatToken(null, ['YY', 2, false], null, function (date, opts) {
|
|
22
|
+
return (getFullYear(date, opts.isUTC) % 100).toString(10);
|
|
23
|
+
});
|
|
24
|
+
addFormatToken(null, ['YYYY', 4, false], null, getYear);
|
|
25
|
+
addFormatToken(null, ['YYYYY', 5, false], null, getYear);
|
|
26
|
+
addFormatToken(null, ['YYYYYY', 6, true], null, getYear);
|
|
27
|
+
// ALIASES
|
|
28
|
+
addUnitAlias('year', 'y');
|
|
29
|
+
// PRIORITIES
|
|
30
|
+
addUnitPriority('year', 1);
|
|
31
|
+
// PARSING
|
|
32
|
+
addRegexToken('Y', matchSigned);
|
|
33
|
+
addRegexToken('YY', match1to2, match2);
|
|
34
|
+
addRegexToken('YYYY', match1to4, match4);
|
|
35
|
+
addRegexToken('YYYYY', match1to6, match6);
|
|
36
|
+
addRegexToken('YYYYYY', match1to6, match6);
|
|
37
|
+
addParseToken(['YYYYY', 'YYYYYY'], YEAR);
|
|
38
|
+
addParseToken('YYYY', function (input, array, config) {
|
|
39
|
+
array[YEAR] = input.length === 2 ? parseTwoDigitYear(input) : toInt(input);
|
|
40
|
+
return config;
|
|
41
|
+
});
|
|
42
|
+
addParseToken('YY', function (input, array, config) {
|
|
43
|
+
array[YEAR] = parseTwoDigitYear(input);
|
|
44
|
+
return config;
|
|
45
|
+
});
|
|
46
|
+
addParseToken('Y', function (input, array, config) {
|
|
47
|
+
array[YEAR] = parseInt(input, 10);
|
|
48
|
+
return config;
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
export function parseTwoDigitYear(input) {
|
|
52
|
+
return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
|
|
53
|
+
}
|
|
54
|
+
export function daysInYear(year) {
|
|
55
|
+
return isLeapYear(year) ? 366 : 365;
|
|
56
|
+
}
|
|
57
|
+
export function isLeapYear(year) {
|
|
58
|
+
return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2RhdGVwaWNrZXIvY2hyb25vcy91bml0cy95ZWFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNySCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0MsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNuQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBR3pDLGFBQWE7QUFFYixTQUFTLE9BQU8sQ0FBQyxJQUFVLEVBQUUsSUFBMEI7SUFDckQsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRTtRQUMzQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7S0FDN0Q7SUFDRCxPQUFPLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQ2xELENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUTtJQUN0QixjQUFjLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQzVCLFVB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QUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDMUQsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsSUFBWTtJQUNyQyxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDdEMsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsSUFBWTtJQUNyQyxPQUFPLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsSUFBSSxJQUFJLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQztBQUNsRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWRkRm9ybWF0VG9rZW4gfSBmcm9tICcuLi9mb3JtYXQvZm9ybWF0JztcbmltcG9ydCB7IGdldEZ1bGxZZWFyIH0gZnJvbSAnLi4vdXRpbHMvZGF0ZS1nZXR0ZXJzJztcbmltcG9ydCB7IGFkZFJlZ2V4VG9rZW4sIG1hdGNoMXRvMiwgbWF0Y2gxdG80LCBtYXRjaDF0bzYsIG1hdGNoMiwgbWF0Y2g0LCBtYXRjaDYsIG1hdGNoU2lnbmVkIH0gZnJvbSAnLi4vcGFyc2UvcmVnZXgnO1xuaW1wb3J0IHsgYWRkUGFyc2VUb2tlbiB9IGZyb20gJy4uL3BhcnNlL3Rva2VuJztcbmltcG9ydCB7IFlFQVIgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyB0b0ludCB9IGZyb20gJy4uL3V0aWxzL3R5cGUtY2hlY2tzJztcbmltcG9ydCB7IGFkZFVuaXRQcmlvcml0eSB9IGZyb20gJy4vcHJpb3JpdGllcyc7XG5pbXBvcnQgeyBhZGRVbml0QWxpYXMgfSBmcm9tICcuL2FsaWFzZXMnO1xuaW1wb3J0IHsgRGF0ZUZvcm1hdHRlck9wdGlvbnMgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8vIEZPUk1BVFRJTkdcblxuZnVuY3Rpb24gZ2V0WWVhcihkYXRlOiBEYXRlLCBvcHRzOiBEYXRlRm9ybWF0dGVyT3B0aW9ucyk6IHN0cmluZyB7XG4gIGlmIChvcHRzLmxvY2FsZS5nZXRGdWxsWWVhcikge1xuICAgIHJldHVybiBvcHRzLmxvY2FsZS5nZXRGdWxsWWVhcihkYXRlLCBvcHRzLmlzVVRDKS50b1N0cmluZygpO1xuICB9XG4gIHJldHVybiBnZXRGdWxsWWVhcihkYXRlLCBvcHRzLmlzVVRDKS50b1N0cmluZygpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5pdFllYXIoKSB7XG4gIGFkZEZvcm1hdFRva2VuKCdZJywgbnVsbCwgbnVsbCxcbiAgICBmdW5jdGlvbiAoZGF0ZTogRGF0ZSwgb3B0czogRGF0ZUZvcm1hdHRlck9wdGlvbnMpOiBzdHJpbmcge1xuICAgIGNvbnN0IHkgPSBnZXRGdWxsWWVhcihkYXRlLCBvcHRzLmlzVVRDKTtcblxuICAgIHJldHVybiB5IDw9IDk5OTkgPyB5LnRvU3RyaW5nKDEwKSA6IGArJHt5fWA7XG4gIH0pO1xuXG4gIGFkZEZvcm1hdFRva2VuKG51bGwsIFsnWVknLCAyLCBmYWxzZV0sIG51bGwsXG4gICAgZnVuY3Rpb24gKGRhdGU6IERhdGUsIG9wdHM6IERhdGVGb3JtYXR0ZXJPcHRpb25zKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKGdldEZ1bGxZZWFyKGRhdGUsIG9wdHMuaXNVVEMpICUgMTAwKS50b1N0cmluZygxMCk7XG4gIH0pO1xuXG4gIGFkZEZvcm1hdFRva2VuKG51bGwsIFsnWVlZWScsIDQsIGZhbHNlXSwgbnVsbCwgZ2V0WWVhcik7XG4gIGFkZEZvcm1hdFRva2VuKG51bGwsIFsnWVlZWVknLCA1LCBmYWxzZV0sIG51bGwsIGdldFllYXIpO1xuICBhZGRGb3JtYXRUb2tlbihudWxsLCBbJ1lZWVlZWScsIDYsIHRydWVdLCBudWxsLCBnZXRZZWFyKTtcblxuICAvLyBBTElBU0VTXG5cbiAgYWRkVW5pdEFsaWFzKCd5ZWFyJywgJ3knKTtcblxuICAvLyBQUklPUklUSUVTXG5cbiAgYWRkVW5pdFByaW9yaXR5KCd5ZWFyJywgMSk7XG5cbiAgLy8gUEFSU0lOR1xuXG4gIGFkZFJlZ2V4VG9rZW4oJ1knLCBtYXRjaFNpZ25lZCk7XG4gIGFkZFJlZ2V4VG9rZW4oJ1lZJywgbWF0Y2gxdG8yLCBtYXRjaDIpO1xuICBhZGRSZWdleFRva2VuKCdZWVlZJywgbWF0Y2gxdG80LCBtYXRjaDQpO1xuICBhZGRSZWdleFRva2VuKCdZWVlZWScsIG1hdGNoMXRvNiwgbWF0Y2g2KTtcbiAgYWRkUmVnZXhUb2tlbignWVlZWVlZJywgbWF0Y2gxdG82LCBtYXRjaDYpO1xuXG4gIGFkZFBhcnNlVG9rZW4oWydZWVlZWScsICdZWVlZWVknXSwgWUVBUik7XG4gIGFkZFBhcnNlVG9rZW4oJ1lZWVknLCBmdW5jdGlvbiAoaW5wdXQsIGFycmF5LCBjb25maWcpIHtcbiAgICBhcnJheVtZRUFSXSA9IGlucHV0Lmxlbmd0aCA9PT0gMiA/IHBhcnNlVHdvRGlnaXRZZWFyKGlucHV0KSA6IHRvSW50KGlucHV0KTtcblxuICAgIHJldHVybiBjb25maWc7XG4gIH0pO1xuICBhZGRQYXJzZVRva2VuKCdZWScsIGZ1bmN0aW9uIChpbnB1dCwgYXJyYXksIGNvbmZpZykge1xuICAgIGFycmF5W1lFQVJdID0gcGFyc2VUd29EaWdpdFllYXIoaW5wdXQpO1xuXG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfSk7XG4gIGFkZFBhcnNlVG9rZW4oJ1knLCBmdW5jdGlvbiAoaW5wdXQsIGFycmF5LCBjb25maWcpIHtcbiAgICBhcnJheVtZRUFSXSA9IHBhcnNlSW50KGlucHV0LCAxMCk7XG5cbiAgICByZXR1cm4gY29uZmlnO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlVHdvRGlnaXRZZWFyKGlucHV0OiBzdHJpbmcpOiBudW1iZXIge1xuICByZXR1cm4gdG9JbnQoaW5wdXQpICsgKHRvSW50KGlucHV0KSA+IDY4ID8gMTkwMCA6IDIwMDApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGF5c0luWWVhcih5ZWFyOiBudW1iZXIpOiBudW1iZXIge1xuICByZXR1cm4gaXNMZWFwWWVhcih5ZWFyKSA/IDM2NiA6IDM2NTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzTGVhcFllYXIoeWVhcjogbnVtYmVyKTogYm9vbGVhbiB7XG4gIHJldHVybiAoeWVhciAlIDQgPT09IDAgJiYgeWVhciAlIDEwMCAhPT0gMCkgfHwgeWVhciAlIDQwMCA9PT0gMDtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export function absCeil(number) {
|
|
2
|
+
return number < 0 ? Math.floor(number) : Math.ceil(number);
|
|
3
|
+
}
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzLWNlaWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9kYXRlcGlja2VyL2Nocm9ub3MvdXRpbHMvYWJzLWNlaWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLE9BQU8sQ0FBRSxNQUFjO0lBQ3JDLE9BQU8sTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM3RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIGFic0NlaWwgKG51bWJlcjogbnVtYmVyKTogbnVtYmVyIHtcbiAgcmV0dXJuIG51bWJlciA8IDAgPyBNYXRoLmZsb29yKG51bWJlcikgOiBNYXRoLmNlaWwobnVtYmVyKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export function absRound(num) {
|
|
2
|
+
return num < 0 ? Math.round(num * -1) * -1 : Math.round(num);
|
|
3
|
+
}
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzLXJvdW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9jaHJvbm9zL3V0aWxzL2Ficy1yb3VuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsUUFBUSxDQUFDLEdBQVc7SUFDbEMsT0FBTyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQy9ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gYWJzUm91bmQobnVtOiBudW1iZXIpOiBudW1iZXIge1xuICByZXR1cm4gbnVtIDwgMCA/IE1hdGgucm91bmQobnVtICogLTEpICogLTEgOiBNYXRoLnJvdW5kKG51bSk7XG59XG4iXX0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
// compare two arrays, return the number of differences
|
|
2
|
+
import { toInt } from './type-checks';
|
|
3
|
+
export function compareArrays(array1, array2, dontConvert) {
|
|
4
|
+
const len = Math.min(array1.length, array2.length);
|
|
5
|
+
const lengthDiff = Math.abs(array1.length - array2.length);
|
|
6
|
+
let diffs = 0;
|
|
7
|
+
let i;
|
|
8
|
+
for (i = 0; i < len; i++) {
|
|
9
|
+
if ((dontConvert && array1[i] !== array2[i])
|
|
10
|
+
|| (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {
|
|
11
|
+
diffs++;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
return diffs + lengthDiff;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyZS1hcnJheXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9kYXRlcGlja2VyL2Nocm9ub3MvdXRpbHMvY29tcGFyZS1hcnJheXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEMsTUFBTSxVQUFVLGFBQWEsQ0FBSSxNQUFXLEVBQUUsTUFBVyxFQUFFLFdBQW9CO0lBQzdFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMzRCxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7SUFDZCxJQUFJLENBQUMsQ0FBQztJQUNOLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ3hCLElBQUksQ0FBQyxXQUFXLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztlQUN2QyxDQUFDLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUM1RCxLQUFLLEVBQUUsQ0FBQztTQUNUO0tBQ0Y7SUFFRCxPQUFPLEtBQUssR0FBRyxVQUFVLENBQUM7QUFDNUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGNvbXBhcmUgdHdvIGFycmF5cywgcmV0dXJuIHRoZSBudW1iZXIgb2YgZGlmZmVyZW5jZXNcbmltcG9ydCB7IHRvSW50IH0gZnJvbSAnLi90eXBlLWNoZWNrcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21wYXJlQXJyYXlzPFQ+KGFycmF5MTogVFtdLCBhcnJheTI6IFRbXSwgZG9udENvbnZlcnQ6IGJvb2xlYW4pIHtcbiAgY29uc3QgbGVuID0gTWF0aC5taW4oYXJyYXkxLmxlbmd0aCwgYXJyYXkyLmxlbmd0aCk7XG4gIGNvbnN0IGxlbmd0aERpZmYgPSBNYXRoLmFicyhhcnJheTEubGVuZ3RoIC0gYXJyYXkyLmxlbmd0aCk7XG4gIGxldCBkaWZmcyA9IDA7XG4gIGxldCBpO1xuICBmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICBpZiAoKGRvbnRDb252ZXJ0ICYmIGFycmF5MVtpXSAhPT0gYXJyYXkyW2ldKVxuICAgICAgfHwgKCFkb250Q29udmVydCAmJiB0b0ludChhcnJheTFbaV0pICE9PSB0b0ludChhcnJheTJbaV0pKSkge1xuICAgICAgZGlmZnMrKztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZGlmZnMgKyBsZW5ndGhEaWZmO1xufVxuIl19
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { endOf, startOf } from './start-end-of';
|
|
2
|
+
export function isAfter(date1, date2, units = 'milliseconds') {
|
|
3
|
+
if (!date1 || !date2) {
|
|
4
|
+
return false;
|
|
5
|
+
}
|
|
6
|
+
if (units === 'milliseconds') {
|
|
7
|
+
return date1.valueOf() > date2.valueOf();
|
|
8
|
+
}
|
|
9
|
+
return date2.valueOf() < startOf(date1, units).valueOf();
|
|
10
|
+
}
|
|
11
|
+
export function isBefore(date1, date2, units = 'milliseconds') {
|
|
12
|
+
if (!date1 || !date2) {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
if (units === 'milliseconds') {
|
|
16
|
+
return date1.valueOf() < date2.valueOf();
|
|
17
|
+
}
|
|
18
|
+
return endOf(date1, units).valueOf() < date2.valueOf();
|
|
19
|
+
}
|
|
20
|
+
export function isDisabledDay(date, daysDisabled) {
|
|
21
|
+
if (daysDisabled === undefined || !daysDisabled || !daysDisabled.length) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
return daysDisabled.some((day) => day === date.getDay());
|
|
25
|
+
}
|
|
26
|
+
export function isBetween(date, from, to, units, inclusivity = '()') {
|
|
27
|
+
const leftBound = inclusivity[0] === '('
|
|
28
|
+
? isAfter(date, from, units)
|
|
29
|
+
: !isBefore(date, from, units);
|
|
30
|
+
const rightBound = inclusivity[1] === ')'
|
|
31
|
+
? isBefore(date, to, units)
|
|
32
|
+
: !isAfter(date, to, units);
|
|
33
|
+
return leftBound && rightBound;
|
|
34
|
+
}
|
|
35
|
+
export function isSame(date1, date2, units = 'milliseconds') {
|
|
36
|
+
if (!date1 || !date2) {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
if (units === 'milliseconds') {
|
|
40
|
+
return date1.valueOf() === date2.valueOf();
|
|
41
|
+
}
|
|
42
|
+
const inputMs = date2.valueOf();
|
|
43
|
+
return (startOf(date1, units).valueOf() <= inputMs &&
|
|
44
|
+
inputMs <= endOf(date1, units).valueOf());
|
|
45
|
+
}
|
|
46
|
+
export function isSameDay(date1, date2) {
|
|
47
|
+
return (date1.getDay() == date2.getDay());
|
|
48
|
+
}
|
|
49
|
+
export function isSameOrAfter(date1, date2, units) {
|
|
50
|
+
return isSame(date1, date2, units) || isAfter(date1, date2, units);
|
|
51
|
+
}
|
|
52
|
+
export function isSameOrBefore(date1, date2, units) {
|
|
53
|
+
return isSame(date1, date2, units) || isBefore(date1, date2, units);
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1jb21wYXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9jaHJvbm9zL3V0aWxzL2RhdGUtY29tcGFyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhELE1BQU0sVUFBVSxPQUFPLENBQ3JCLEtBQVcsRUFDWCxLQUFXLEVBQ1gsUUFBb0IsY0FBYztJQUVsQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ3BCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxJQUFJLEtBQUssS0FBSyxjQUFjLEVBQUU7UUFDNUIsT0FBTyxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0tBQzFDO0lBRUQsT0FBTyxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsT0FBTyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUMzRCxDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FDdEIsS0FBVyxFQUNYLEtBQVcsRUFDWCxRQUFvQixjQUFjO0lBRWxDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDcEIsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUVELElBQUksS0FBSyxLQUFLLGNBQWMsRUFBRTtRQUM1QixPQUFPLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7S0FDMUM7SUFFRCxPQUFPLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0FBQ3pELENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLElBQVUsRUFBRSxZQUFzQjtJQUM5RCxJQUFJLFlBQVksS0FBSyxTQUFTLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFO1FBQ3ZFLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFFRCxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztBQUNuRSxDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FDdkIsSUFBVSxFQUNWLElBQVUsRUFDVixFQUFRLEVBQ1IsS0FBaUIsRUFDakIsV0FBVyxHQUFHLElBQUk7SUFFbEIsTUFBTSxTQUFTLEdBQ2IsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUc7UUFDcEIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuQyxNQUFNLFVBQVUsR0FDZCxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRztRQUNwQixDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRWhDLE9BQU8sU0FBUyxJQUFJLFVBQVUsQ0FBQztBQUNqQyxDQUFDO0FBRUQsTUFBTSxVQUFVLE1BQU0sQ0FDcEIsS0FBVyxFQUNYLEtBQVcsRUFDWCxRQUFvQixjQUFjO0lBRWxDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDcEIsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUVELElBQUksS0FBSyxLQUFLLGNBQWMsRUFBRTtRQUM1QixPQUFPLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7S0FDNUM7SUFFRCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFFaEMsT0FBTyxDQUNMLE9BQU8sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUksT0FBTztRQUMxQyxPQUFPLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FDekMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLEtBQVcsRUFBRSxLQUFXO0lBQ2hELE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7QUFDNUMsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQzNCLEtBQVcsRUFDWCxLQUFXLEVBQ1gsS0FBa0I7SUFFbEIsT0FBTyxNQUFNLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztBQUNyRSxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsS0FBVyxFQUNYLEtBQVcsRUFDWCxLQUFrQjtJQUVsQixPQUFPLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLFFBQVEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ3RFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVbml0T2ZUaW1lIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgZW5kT2YsIHN0YXJ0T2YgfSBmcm9tICcuL3N0YXJ0LWVuZC1vZic7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FmdGVyKFxuICBkYXRlMTogRGF0ZSxcbiAgZGF0ZTI6IERhdGUsXG4gIHVuaXRzOiBVbml0T2ZUaW1lID0gJ21pbGxpc2Vjb25kcydcbik6IGJvb2xlYW4ge1xuICBpZiAoIWRhdGUxIHx8ICFkYXRlMikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICh1bml0cyA9PT0gJ21pbGxpc2Vjb25kcycpIHtcbiAgICByZXR1cm4gZGF0ZTEudmFsdWVPZigpID4gZGF0ZTIudmFsdWVPZigpO1xuICB9XG5cbiAgcmV0dXJuIGRhdGUyLnZhbHVlT2YoKSA8IHN0YXJ0T2YoZGF0ZTEsIHVuaXRzKS52YWx1ZU9mKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0JlZm9yZShcbiAgZGF0ZTE6IERhdGUsXG4gIGRhdGUyOiBEYXRlLFxuICB1bml0czogVW5pdE9mVGltZSA9ICdtaWxsaXNlY29uZHMnXG4pOiBib29sZWFuIHtcbiAgaWYgKCFkYXRlMSB8fCAhZGF0ZTIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAodW5pdHMgPT09ICdtaWxsaXNlY29uZHMnKSB7XG4gICAgcmV0dXJuIGRhdGUxLnZhbHVlT2YoKSA8IGRhdGUyLnZhbHVlT2YoKTtcbiAgfVxuXG4gIHJldHVybiBlbmRPZihkYXRlMSwgdW5pdHMpLnZhbHVlT2YoKSA8IGRhdGUyLnZhbHVlT2YoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGlzYWJsZWREYXkoZGF0ZTogRGF0ZSwgZGF5c0Rpc2FibGVkOiBudW1iZXJbXSk6IGJvb2xlYW4ge1xuICBpZiAoZGF5c0Rpc2FibGVkID09PSB1bmRlZmluZWQgfHwgIWRheXNEaXNhYmxlZCB8fCAhZGF5c0Rpc2FibGVkLmxlbmd0aCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiBkYXlzRGlzYWJsZWQuc29tZSgoZGF5OiBudW1iZXIpID0+IGRheSA9PT0gZGF0ZS5nZXREYXkoKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0JldHdlZW4oXG4gIGRhdGU6IERhdGUsXG4gIGZyb206IERhdGUsXG4gIHRvOiBEYXRlLFxuICB1bml0czogVW5pdE9mVGltZSxcbiAgaW5jbHVzaXZpdHkgPSAnKCknXG4pOiBib29sZWFuIHtcbiAgY29uc3QgbGVmdEJvdW5kID1cbiAgICBpbmNsdXNpdml0eVswXSA9PT0gJygnXG4gICAgICA/IGlzQWZ0ZXIoZGF0ZSwgZnJvbSwgdW5pdHMpXG4gICAgICA6ICFpc0JlZm9yZShkYXRlLCBmcm9tLCB1bml0cyk7XG4gIGNvbnN0IHJpZ2h0Qm91bmQgPVxuICAgIGluY2x1c2l2aXR5WzFdID09PSAnKSdcbiAgICAgID8gaXNCZWZvcmUoZGF0ZSwgdG8sIHVuaXRzKVxuICAgICAgOiAhaXNBZnRlcihkYXRlLCB0bywgdW5pdHMpO1xuXG4gIHJldHVybiBsZWZ0Qm91bmQgJiYgcmlnaHRCb3VuZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU2FtZShcbiAgZGF0ZTE6IERhdGUsXG4gIGRhdGUyOiBEYXRlLFxuICB1bml0czogVW5pdE9mVGltZSA9ICdtaWxsaXNlY29uZHMnXG4pOiBib29sZWFuIHtcbiAgaWYgKCFkYXRlMSB8fCAhZGF0ZTIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAodW5pdHMgPT09ICdtaWxsaXNlY29uZHMnKSB7XG4gICAgcmV0dXJuIGRhdGUxLnZhbHVlT2YoKSA9PT0gZGF0ZTIudmFsdWVPZigpO1xuICB9XG5cbiAgY29uc3QgaW5wdXRNcyA9IGRhdGUyLnZhbHVlT2YoKTtcblxuICByZXR1cm4gKFxuICAgIHN0YXJ0T2YoZGF0ZTEsIHVuaXRzKS52YWx1ZU9mKCkgPD0gaW5wdXRNcyAmJlxuICAgIGlucHV0TXMgPD0gZW5kT2YoZGF0ZTEsIHVuaXRzKS52YWx1ZU9mKClcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU2FtZURheShkYXRlMTogRGF0ZSwgZGF0ZTI6IERhdGUpOmJvb2xlYW57XG4gIHJldHVybiAoZGF0ZTEuZ2V0RGF5KCkgPT0gZGF0ZTIuZ2V0RGF5KCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNTYW1lT3JBZnRlcihcbiAgZGF0ZTE6IERhdGUsXG4gIGRhdGUyOiBEYXRlLFxuICB1bml0cz86IFVuaXRPZlRpbWVcbik6IGJvb2xlYW4ge1xuICByZXR1cm4gaXNTYW1lKGRhdGUxLCBkYXRlMiwgdW5pdHMpIHx8IGlzQWZ0ZXIoZGF0ZTEsIGRhdGUyLCB1bml0cyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NhbWVPckJlZm9yZShcbiAgZGF0ZTE6IERhdGUsXG4gIGRhdGUyOiBEYXRlLFxuICB1bml0cz86IFVuaXRPZlRpbWVcbik6IGJvb2xlYW4ge1xuICByZXR1cm4gaXNTYW1lKGRhdGUxLCBkYXRlMiwgdW5pdHMpIHx8IGlzQmVmb3JlKGRhdGUxLCBkYXRlMiwgdW5pdHMpO1xufVxuIl19
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { createDate } from '../create/date-from-array';
|
|
2
|
+
export function getHours(date, isUTC = false) {
|
|
3
|
+
return isUTC ? date.getUTCHours() : date.getHours();
|
|
4
|
+
}
|
|
5
|
+
export function getMinutes(date, isUTC = false) {
|
|
6
|
+
return isUTC ? date.getUTCMinutes() : date.getMinutes();
|
|
7
|
+
}
|
|
8
|
+
export function getSeconds(date, isUTC = false) {
|
|
9
|
+
return isUTC ? date.getUTCSeconds() : date.getSeconds();
|
|
10
|
+
}
|
|
11
|
+
export function getMilliseconds(date, isUTC = false) {
|
|
12
|
+
return isUTC ? date.getUTCMilliseconds() : date.getMilliseconds();
|
|
13
|
+
}
|
|
14
|
+
export function getTime(date) {
|
|
15
|
+
return date.getTime();
|
|
16
|
+
}
|
|
17
|
+
export function getDay(date, isUTC = false) {
|
|
18
|
+
return isUTC ? date.getUTCDay() : date.getDay();
|
|
19
|
+
}
|
|
20
|
+
export function getDate(date, isUTC = false) {
|
|
21
|
+
return isUTC ? date.getUTCDate() : date.getDate();
|
|
22
|
+
}
|
|
23
|
+
export function getMonth(date, isUTC = false) {
|
|
24
|
+
return isUTC ? date.getUTCMonth() : date.getMonth();
|
|
25
|
+
}
|
|
26
|
+
export function getFullYear(date, isUTC = false) {
|
|
27
|
+
return isUTC ? date.getUTCFullYear() : date.getFullYear();
|
|
28
|
+
}
|
|
29
|
+
export function getUnixTime(date) {
|
|
30
|
+
return Math.floor(date.valueOf() / 1000);
|
|
31
|
+
}
|
|
32
|
+
export function unix(date) {
|
|
33
|
+
return Math.floor(date.valueOf() / 1000);
|
|
34
|
+
}
|
|
35
|
+
export function getFirstDayOfMonth(date) {
|
|
36
|
+
return createDate(date.getFullYear(), date.getMonth(), 1, date.getHours(), date.getMinutes(), date.getSeconds());
|
|
37
|
+
}
|
|
38
|
+
export function daysInMonth(date) {
|
|
39
|
+
return _daysInMonth(date.getFullYear(), date.getMonth());
|
|
40
|
+
}
|
|
41
|
+
export function _daysInMonth(year, month) {
|
|
42
|
+
return new Date(Date.UTC(year, month + 1, 0)).getUTCDate();
|
|
43
|
+
}
|
|
44
|
+
export function isFirstDayOfWeek(date, firstDayOfWeek) {
|
|
45
|
+
return date.getDay() === firstDayOfWeek;
|
|
46
|
+
}
|
|
47
|
+
export function isSameMonth(date1, date2) {
|
|
48
|
+
if (!date1 || !date2) {
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
return isSameYear(date1, date2) && getMonth(date1) === getMonth(date2);
|
|
52
|
+
}
|
|
53
|
+
export function isSameYear(date1, date2) {
|
|
54
|
+
if (!date1 || !date2) {
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
return getFullYear(date1) === getFullYear(date2);
|
|
58
|
+
}
|
|
59
|
+
export function isSameDay(date1, date2) {
|
|
60
|
+
if (!date1 || !date2) {
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
return (isSameYear(date1, date2) &&
|
|
64
|
+
isSameMonth(date1, date2) &&
|
|
65
|
+
getDate(date1) === getDate(date2));
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1nZXR0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9jaHJvbm9zL3V0aWxzL2RhdGUtZ2V0dGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFdkQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxJQUFVLEVBQUUsS0FBSyxHQUFHLEtBQUs7SUFDaEQsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0FBQ3RELENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLElBQVUsRUFBRSxLQUFLLEdBQUcsS0FBSztJQUNsRCxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7QUFDMUQsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsSUFBVSxFQUFFLEtBQUssR0FBRyxLQUFLO0lBQ2xELE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztBQUMxRCxDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxJQUFVLEVBQUUsS0FBSyxHQUFHLEtBQUs7SUFDdkQsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7QUFDcEUsQ0FBQztBQUNELE1BQU0sVUFBVSxPQUFPLENBQUMsSUFBVTtJQUNoQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztBQUN4QixD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O0FBQ25ELENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLEtBQVcsRUFBRSxLQUFXO0lBQ2hELElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDcEIsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUVELE9BQU8sQ0FDTCxVQUFVLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQztRQUN4QixXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQztRQUN6QixPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUNsQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZURhdGUgfSBmcm9tICcuLi9jcmVhdGUvZGF0ZS1mcm9tLWFycmF5JztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEhvdXJzKGRhdGU6IERhdGUsIGlzVVRDID0gZmFsc2UpOiBudW1iZXIge1xuICByZXR1cm4gaXNVVEMgPyBkYXRlLmdldFVUQ0hvdXJzKCkgOiBkYXRlLmdldEhvdXJzKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNaW51dGVzKGRhdGU6IERhdGUsIGlzVVRDID0gZmFsc2UpOiBudW1iZXIge1xuICByZXR1cm4gaXNVVEMgPyBkYXRlLmdldFVUQ01pbnV0ZXMoKSA6IGRhdGUuZ2V0TWludXRlcygpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2Vjb25kcyhkYXRlOiBEYXRlLCBpc1VUQyA9IGZhbHNlKTogbnVtYmVyIHtcbiAgcmV0dXJuIGlzVVRDID8gZGF0ZS5nZXRVVENTZWNvbmRzKCkgOiBkYXRlLmdldFNlY29uZHMoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1pbGxpc2Vjb25kcyhkYXRlOiBEYXRlLCBpc1VUQyA9IGZhbHNlKTogbnVtYmVyIHtcbiAgcmV0dXJuIGlzVVRDID8gZGF0ZS5nZXRVVENNaWxsaXNlY29uZHMoKSA6IGRhdGUuZ2V0TWlsbGlzZWNvbmRzKCk7XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0VGltZShkYXRlOiBEYXRlKTogbnVtYmVyIHtcbiAgcmV0dXJuIGRhdGUuZ2V0VGltZSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGF5KGRhdGU6IERhdGUsIGlzVVRDID0gZmFsc2UpOiBudW1iZXIge1xuICByZXR1cm4gaXNVVEMgPyBkYXRlLmdldFVUQ0RheSgpIDogZGF0ZS5nZXREYXkoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldERhdGUoZGF0ZTogRGF0ZSwgaXNVVEMgPSBmYWxzZSk6IG51bWJlciB7XG4gIHJldHVybiBpc1VUQyA/IGRhdGUuZ2V0VVRDRGF0ZSgpIDogZGF0ZS5nZXREYXRlKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNb250aChkYXRlOiBEYXRlLCBpc1VUQyA9IGZhbHNlKTogbnVtYmVyIHtcbiAgcmV0dXJuIGlzVVRDID8gZGF0ZS5nZXRVVENNb250aCgpIDogZGF0ZS5nZXRNb250aCgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RnVsbFllYXIoZGF0ZTogRGF0ZSwgaXNVVEMgPSBmYWxzZSk6IG51bWJlciB7XG4gIHJldHVybiBpc1VUQyA/IGRhdGUuZ2V0VVRDRnVsbFllYXIoKSA6IGRhdGUuZ2V0RnVsbFllYXIoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFVuaXhUaW1lKGRhdGU6IERhdGUpOiBudW1iZXIge1xuICByZXR1cm4gTWF0aC5mbG9vcihkYXRlLnZhbHVlT2YoKSAvIDEwMDApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdW5peChkYXRlOiBEYXRlKTogbnVtYmVyIHtcbiAgcmV0dXJuIE1hdGguZmxvb3IoZGF0ZS52YWx1ZU9mKCkgLyAxMDAwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEZpcnN0RGF5T2ZNb250aChkYXRlOiBEYXRlKTogRGF0ZSB7XG4gIHJldHVybiBjcmVhdGVEYXRlKFxuICAgIGRhdGUuZ2V0RnVsbFllYXIoKSxcbiAgICBkYXRlLmdldE1vbnRoKCksXG4gICAgMSxcbiAgICBkYXRlLmdldEhvdXJzKCksXG4gICAgZGF0ZS5nZXRNaW51dGVzKCksXG4gICAgZGF0ZS5nZXRTZWNvbmRzKClcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRheXNJbk1vbnRoKGRhdGU6IERhdGUpOiBudW1iZXIge1xuICByZXR1cm4gX2RheXNJbk1vbnRoKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9kYXlzSW5Nb250aCh5ZWFyOiBudW1iZXIsIG1vbnRoOiBudW1iZXIpOiBudW1iZXIge1xuICByZXR1cm4gbmV3IERhdGUoRGF0ZS5VVEMoeWVhciwgbW9udGggKyAxLCAwKSkuZ2V0VVRDRGF0ZSgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNGaXJzdERheU9mV2VlayhkYXRlOiBEYXRlLCBmaXJzdERheU9mV2VlazogbnVtYmVyKTogYm9vbGVhbiB7XG4gIHJldHVybiBkYXRlLmdldERheSgpID09PSBmaXJzdERheU9mV2Vlaztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU2FtZU1vbnRoKGRhdGUxOiBEYXRlLCBkYXRlMjogRGF0ZSkge1xuICBpZiAoIWRhdGUxIHx8ICFkYXRlMikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiBpc1NhbWVZZWFyKGRhdGUxLCBkYXRlMikgJiYgZ2V0TW9udGgoZGF0ZTEpID09PSBnZXRNb250aChkYXRlMik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NhbWVZZWFyKGRhdGUxOiBEYXRlLCBkYXRlMjogRGF0ZSkge1xuICBpZiAoIWRhdGUxIHx8ICFkYXRlMikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiBnZXRGdWxsWWVhcihkYXRlMSkgPT09IGdldEZ1bGxZZWFyKGRhdGUyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU2FtZURheShkYXRlMTogRGF0ZSwgZGF0ZTI6IERhdGUpOiBib29sZWFuIHtcbiAgaWYgKCFkYXRlMSB8fCAhZGF0ZTIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIGlzU2FtZVllYXIoZGF0ZTEsIGRhdGUyKSAmJlxuICAgIGlzU2FtZU1vbnRoKGRhdGUxLCBkYXRlMikgJiZcbiAgICBnZXREYXRlKGRhdGUxKSA9PT0gZ2V0RGF0ZShkYXRlMilcbiAgKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { daysInMonth } from '../units/month';
|
|
2
|
+
import { isNumber } from './type-checks';
|
|
3
|
+
import { getDate, getFullYear, getMonth } from './date-getters';
|
|
4
|
+
import { isLeapYear } from '../units/year';
|
|
5
|
+
import { createDate } from '../create/date-from-array';
|
|
6
|
+
const defaultTimeUnit = {
|
|
7
|
+
year: 0,
|
|
8
|
+
month: 0,
|
|
9
|
+
day: 0,
|
|
10
|
+
hour: 0,
|
|
11
|
+
minute: 0,
|
|
12
|
+
seconds: 0
|
|
13
|
+
};
|
|
14
|
+
export function shiftDate(date, unit) {
|
|
15
|
+
const _unit = Object.assign({}, defaultTimeUnit, unit);
|
|
16
|
+
const year = date.getFullYear() + (_unit.year || 0);
|
|
17
|
+
const month = date.getMonth() + (_unit.month || 0);
|
|
18
|
+
let day = date.getDate() + (_unit.day || 0);
|
|
19
|
+
if (_unit.month && !_unit.day) {
|
|
20
|
+
day = Math.min(day, daysInMonth(year, month));
|
|
21
|
+
}
|
|
22
|
+
return createDate(year, month, day, date.getHours() + (_unit.hour || 0), date.getMinutes() + (_unit.minute || 0), date.getSeconds() + (_unit.seconds || 0));
|
|
23
|
+
}
|
|
24
|
+
export function setFullDate(date, unit) {
|
|
25
|
+
return createDate(getNum(date.getFullYear(), unit.year), getNum(date.getMonth(), unit.month), 1, // day, to avoid issue with wrong months selection at the end of current month (#5371)
|
|
26
|
+
getNum(date.getHours(), unit.hour), getNum(date.getMinutes(), unit.minute), getNum(date.getSeconds(), unit.seconds), getNum(date.getMilliseconds(), unit.milliseconds));
|
|
27
|
+
}
|
|
28
|
+
function getNum(def, num) {
|
|
29
|
+
return isNumber(num) ? num : def;
|
|
30
|
+
}
|
|
31
|
+
export function setFullYear(date, value, isUTC) {
|
|
32
|
+
const _month = getMonth(date, isUTC);
|
|
33
|
+
const _date = getDate(date, isUTC);
|
|
34
|
+
const _year = getFullYear(date, isUTC);
|
|
35
|
+
if (isLeapYear(_year) && _month === 1 && _date === 29) {
|
|
36
|
+
const _daysInMonth = daysInMonth(value, _month);
|
|
37
|
+
isUTC ? date.setUTCFullYear(value, _month, _daysInMonth) : date.setFullYear(value, _month, _daysInMonth);
|
|
38
|
+
}
|
|
39
|
+
isUTC ? date.setUTCFullYear(value) : date.setFullYear(value);
|
|
40
|
+
return date;
|
|
41
|
+
}
|
|
42
|
+
export function setMonth(date, value, isUTC) {
|
|
43
|
+
const dayOfMonth = Math.min(getDate(date), daysInMonth(getFullYear(date), value));
|
|
44
|
+
isUTC ? date.setUTCMonth(value, dayOfMonth) : date.setMonth(value, dayOfMonth);
|
|
45
|
+
return date;
|
|
46
|
+
}
|
|
47
|
+
export function setDay(date, value, isUTC) {
|
|
48
|
+
isUTC ? date.setUTCDate(value) : date.setDate(value);
|
|
49
|
+
return date;
|
|
50
|
+
}
|
|
51
|
+
export function setHours(date, value, isUTC) {
|
|
52
|
+
isUTC ? date.setUTCHours(value) : date.setHours(value);
|
|
53
|
+
return date;
|
|
54
|
+
}
|
|
55
|
+
export function setMinutes(date, value, isUTC) {
|
|
56
|
+
isUTC ? date.setUTCMinutes(value) : date.setMinutes(value);
|
|
57
|
+
return date;
|
|
58
|
+
}
|
|
59
|
+
export function setSeconds(date, value, isUTC) {
|
|
60
|
+
isUTC ? date.setUTCSeconds(value) : date.setSeconds(value);
|
|
61
|
+
return date;
|
|
62
|
+
}
|
|
63
|
+
export function setMilliseconds(date, value, isUTC) {
|
|
64
|
+
isUTC ? date.setUTCMilliseconds(value) : date.setMilliseconds(value);
|
|
65
|
+
return date;
|
|
66
|
+
}
|
|
67
|
+
export function setDate(date, value, isUTC) {
|
|
68
|
+
isUTC ? date.setUTCDate(value) : date.setDate(value);
|
|
69
|
+
return date;
|
|
70
|
+
}
|
|
71
|
+
export function setTime(date, value) {
|
|
72
|
+
date.setTime(value);
|
|
73
|
+
return date;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1zZXR0ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9jaHJvbm9zL3V0aWxzL2RhdGUtc2V0dGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUV2RCxNQUFNLGVBQWUsR0FBYTtJQUNoQyxJQUFJLEVBQUUsQ0FBQztJQUNQLEtBQUssRUFBRSxDQUFDO0lBQ1IsR0FBRyxFQUFFLENBQUM7SUFDTixJQUFJLEVBQUUsQ0FBQztJQUNQLE1BQU0sRUFBRSxDQUFDO0lBQ1QsT0FBTyxFQUFFLENBQUM7Q0FDWCxDQUFDO0FBRUYsTUFBTSxVQUFVLFNBQVMsQ0FBQyxJQUFVLEVBQUUsSUFBYztJQUNsRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdkQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNwRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ25ELElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDNUMsSUFBSSxLQUFLLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRTtRQUM3QixHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0tBQy9DO0lBRUQsT0FBTyxVQUFVLENBQ2YsSUFBSSxFQUNKLEtBQUssRUFDTCxHQUFHLEVBQ0gsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsRUFDbkMsSUFBSSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsRUFDdkMsSUFBSSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FDekMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLElBQVUsRUFBRSxJQUFjO0lBQ3BELE9BQU8sVUFBVSxDQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUNyQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsRUFDbkMsQ0FBQyxFQUFFLHNGQUFzRjtJQUN6RixNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsRUFDbEMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQ3RDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUN2QyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FDbEQsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLE1BQU0sQ0FBQyxHQUFXLEVBQUUsR0FBWTtJQUN2QyxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7QUFDbkMsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsSUFBVSxFQUFFLEtBQWEsRUFBRSxLQUFlO0lBQ3BFLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDckMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNuQyxNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLE1BQU0sS0FBSyxDQUFDLElBQUksS0FBSyxLQUFLLEVBQUUsRUFBRTtRQUNyRCxNQUFNLFlBQVksR0FBRyxXQUFXLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ2hELEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxDQUFDLENBQUM7S0FDMUc7SUFFRCxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFN0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxJQUFVLEVBQUUsS0FBYSxFQUFFLEtBQWU7SUFDakUsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xGLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBRS9FLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELE1BQU0sVUFBVSxNQUFNLENBQUMsSUFBVSxFQUFFLEtBQWEsRUFBRSxLQUFlO0lBQy9ELEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVyRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLElBQVUsRUFBRSxLQUFhLEVBQUUsS0FBZTtJQUNqRSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFdkQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxJQUFVLEVBQUUsS0FBYSxFQUFFLEtBQWU7SUFDbkUsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRTNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsSUFBVSxFQUFFLEtBQWEsRUFBRSxLQUFlO0lBQ25FLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUUzRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLElBQVUsRUFBRSxLQUFhLEVBQUUsS0FBZTtJQUN4RSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVyRSxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxNQUFNLFVBQVUsT0FBTyxDQUFDLElBQVUsRUFBRSxLQUFhLEVBQUUsS0FBZTtJQUNoRSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFckQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FBQyxJQUFVLEVBQUUsS0FBYTtJQUMvQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXBCLE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRpbWVVbml0IH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgZGF5c0luTW9udGggfSBmcm9tICcuLi91bml0cy9tb250aCc7XG5pbXBvcnQgeyBpc051bWJlciB9IGZyb20gJy4vdHlwZS1jaGVja3MnO1xuaW1wb3J0IHsgZ2V0RGF0ZSwgZ2V0RnVsbFllYXIsIGdldE1vbnRoIH0gZnJvbSAnLi9kYXRlLWdldHRlcnMnO1xuaW1wb3J0IHsgaXNMZWFwWWVhciB9IGZyb20gJy4uL3VuaXRzL3llYXInO1xuaW1wb3J0IHsgY3JlYXRlRGF0ZSB9IGZyb20gJy4uL2NyZWF0ZS9kYXRlLWZyb20tYXJyYXknO1xuXG5jb25zdCBkZWZhdWx0VGltZVVuaXQ6IFRpbWVVbml0ID0ge1xuICB5ZWFyOiAwLFxuICBtb250aDogMCxcbiAgZGF5OiAwLFxuICBob3VyOiAwLFxuICBtaW51dGU6IDAsXG4gIHNlY29uZHM6IDBcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBzaGlmdERhdGUoZGF0ZTogRGF0ZSwgdW5pdDogVGltZVVuaXQpOiBEYXRlIHtcbiAgY29uc3QgX3VuaXQgPSBPYmplY3QuYXNzaWduKHt9LCBkZWZhdWx0VGltZVVuaXQsIHVuaXQpO1xuICBjb25zdCB5ZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpICsgKF91bml0LnllYXIgfHwgMCk7XG4gIGNvbnN0IG1vbnRoID0gZGF0ZS5nZXRNb250aCgpICsgKF91bml0Lm1vbnRoIHx8IDApO1xuICBsZXQgZGF5ID0gZGF0ZS5nZXREYXRlKCkgKyAoX3VuaXQuZGF5IHx8IDApO1xuICBpZiAoX3VuaXQubW9udGggJiYgIV91bml0LmRheSkge1xuICAgIGRheSA9IE1hdGgubWluKGRheSwgZGF5c0luTW9udGgoeWVhciwgbW9udGgpKTtcbiAgfVxuXG4gIHJldHVybiBjcmVhdGVEYXRlKFxuICAgIHllYXIsXG4gICAgbW9udGgsXG4gICAgZGF5LFxuICAgIGRhdGUuZ2V0SG91cnMoKSArIChfdW5pdC5ob3VyIHx8IDApLFxuICAgIGRhdGUuZ2V0TWludXRlcygpICsgKF91bml0Lm1pbnV0ZSB8fCAwKSxcbiAgICBkYXRlLmdldFNlY29uZHMoKSArIChfdW5pdC5zZWNvbmRzIHx8IDApXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRGdWxsRGF0ZShkYXRlOiBEYXRlLCB1bml0OiBUaW1lVW5pdCk6IERhdGUge1xuICByZXR1cm4gY3JlYXRlRGF0ZShcbiAgICBnZXROdW0oZGF0ZS5nZXRGdWxsWWVhcigpLCB1bml0LnllYXIpLFxuICAgIGdldE51bShkYXRlLmdldE1vbnRoKCksIHVuaXQubW9udGgpLFxuICAgIDEsIC8vIGRheSwgdG8gYXZvaWQgaXNzdWUgd2l0aCB3cm9uZyBtb250aHMgc2VsZWN0aW9uIGF0IHRoZSBlbmQgb2YgY3VycmVudCBtb250aCAoIzUzNzEpXG4gICAgZ2V0TnVtKGRhdGUuZ2V0SG91cnMoKSwgdW5pdC5ob3VyKSxcbiAgICBnZXROdW0oZGF0ZS5nZXRNaW51dGVzKCksIHVuaXQubWludXRlKSxcbiAgICBnZXROdW0oZGF0ZS5nZXRTZWNvbmRzKCksIHVuaXQuc2Vjb25kcyksXG4gICAgZ2V0TnVtKGRhdGUuZ2V0TWlsbGlzZWNvbmRzKCksIHVuaXQubWlsbGlzZWNvbmRzKVxuICApO1xufVxuXG5mdW5jdGlvbiBnZXROdW0oZGVmOiBudW1iZXIsIG51bT86IG51bWJlcik6IG51bWJlciB7XG4gIHJldHVybiBpc051bWJlcihudW0pID8gbnVtIDogZGVmO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0RnVsbFllYXIoZGF0ZTogRGF0ZSwgdmFsdWU6IG51bWJlciwgaXNVVEM/OiBib29sZWFuKTogRGF0ZSB7XG4gIGNvbnN0IF9tb250aCA9IGdldE1vbnRoKGRhdGUsIGlzVVRDKTtcbiAgY29uc3QgX2RhdGUgPSBnZXREYXRlKGRhdGUsIGlzVVRDKTtcbiAgY29uc3QgX3llYXIgPSBnZXRGdWxsWWVhcihkYXRlLCBpc1VUQyk7XG4gIGlmIChpc0xlYXBZZWFyKF95ZWFyKSAmJiBfbW9udGggPT09IDEgJiYgX2RhdGUgPT09IDI5KSB7XG4gICAgY29uc3QgX2RheXNJbk1vbnRoID0gZGF5c0luTW9udGgodmFsdWUsIF9tb250aCk7XG4gICAgaXNVVEMgPyBkYXRlLnNldFVUQ0Z1bGxZZWFyKHZhbHVlLCBfbW9udGgsIF9kYXlzSW5Nb250aCkgOiBkYXRlLnNldEZ1bGxZZWFyKHZhbHVlLCBfbW9udGgsIF9kYXlzSW5Nb250aCk7XG4gIH1cblxuICBpc1VUQyA/IGRhdGUuc2V0VVRDRnVsbFllYXIodmFsdWUpIDogZGF0ZS5zZXRGdWxsWWVhcih2YWx1ZSk7XG5cbiAgcmV0dXJuIGRhdGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRNb250aChkYXRlOiBEYXRlLCB2YWx1ZTogbnVtYmVyLCBpc1VUQz86IGJvb2xlYW4pOiBEYXRlIHtcbiAgY29uc3QgZGF5T2ZNb250aCA9IE1hdGgubWluKGdldERhdGUoZGF0ZSksIGRheXNJbk1vbnRoKGdldEZ1bGxZZWFyKGRhdGUpLCB2YWx1ZSkpO1xuICBpc1VUQyA/IGRhdGUuc2V0VVRDTW9udGgodmFsdWUsIGRheU9mTW9udGgpIDogZGF0ZS5zZXRNb250aCh2YWx1ZSwgZGF5T2ZNb250aCk7XG5cbiAgcmV0dXJuIGRhdGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXREYXkoZGF0ZTogRGF0ZSwgdmFsdWU6IG51bWJlciwgaXNVVEM/OiBib29sZWFuKTogRGF0ZSB7XG4gIGlzVVRDID8gZGF0ZS5zZXRVVENEYXRlKHZhbHVlKSA6IGRhdGUuc2V0RGF0ZSh2YWx1ZSk7XG5cbiAgcmV0dXJuIGRhdGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRIb3VycyhkYXRlOiBEYXRlLCB2YWx1ZTogbnVtYmVyLCBpc1VUQz86IGJvb2xlYW4pOiBEYXRlIHtcbiAgaXNVVEMgPyBkYXRlLnNldFVUQ0hvdXJzKHZhbHVlKSA6IGRhdGUuc2V0SG91cnModmFsdWUpO1xuXG4gIHJldHVybiBkYXRlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0TWludXRlcyhkYXRlOiBEYXRlLCB2YWx1ZTogbnVtYmVyLCBpc1VUQz86IGJvb2xlYW4pOiBEYXRlIHtcbiAgaXNVVEMgPyBkYXRlLnNldFVUQ01pbnV0ZXModmFsdWUpIDogZGF0ZS5zZXRNaW51dGVzKHZhbHVlKTtcblxuICByZXR1cm4gZGF0ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldFNlY29uZHMoZGF0ZTogRGF0ZSwgdmFsdWU6IG51bWJlciwgaXNVVEM/OiBib29sZWFuKTogRGF0ZSB7XG4gIGlzVVRDID8gZGF0ZS5zZXRVVENTZWNvbmRzKHZhbHVlKSA6IGRhdGUuc2V0U2Vjb25kcyh2YWx1ZSk7XG5cbiAgcmV0dXJuIGRhdGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRNaWxsaXNlY29uZHMoZGF0ZTogRGF0ZSwgdmFsdWU6IG51bWJlciwgaXNVVEM/OiBib29sZWFuKTogRGF0ZSB7XG4gIGlzVVRDID8gZGF0ZS5zZXRVVENNaWxsaXNlY29uZHModmFsdWUpIDogZGF0ZS5zZXRNaWxsaXNlY29uZHModmFsdWUpO1xuXG4gIHJldHVybiBkYXRlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0RGF0ZShkYXRlOiBEYXRlLCB2YWx1ZTogbnVtYmVyLCBpc1VUQz86IGJvb2xlYW4pOiBEYXRlIHtcbiAgaXNVVEMgPyBkYXRlLnNldFVUQ0RhdGUodmFsdWUpIDogZGF0ZS5zZXREYXRlKHZhbHVlKTtcblxuICByZXR1cm4gZGF0ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldFRpbWUoZGF0ZTogRGF0ZSwgdmFsdWU6IG51bWJlcik6IERhdGUge1xuICBkYXRlLnNldFRpbWUodmFsdWUpO1xuXG4gIHJldHVybiBkYXRlO1xufVxuIl19
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Pick the first defined of two or three arguments.
|
|
2
|
+
export function defaults(a, b, c) {
|
|
3
|
+
if (a != null) {
|
|
4
|
+
return a;
|
|
5
|
+
}
|
|
6
|
+
if (b != null) {
|
|
7
|
+
return b;
|
|
8
|
+
}
|
|
9
|
+
return c;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy9kYXRlcGlja2VyL2Nocm9ub3MvdXRpbHMvZGVmYXVsdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0RBQW9EO0FBQ3BELE1BQU0sVUFBVSxRQUFRLENBQUksQ0FBSyxFQUFFLENBQUssRUFBRSxDQUFLO0lBQzdDLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRTtRQUNiLE9BQU8sQ0FBQyxDQUFDO0tBQ1Y7SUFDRCxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUU7UUFDYixPQUFPLENBQUMsQ0FBQztLQUNWO0lBRUQsT0FBTyxDQUFDLENBQUM7QUFDWCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gUGljayB0aGUgZmlyc3QgZGVmaW5lZCBvZiB0d28gb3IgdGhyZWUgYXJndW1lbnRzLlxuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRzPFQ+KGE/OiBULCBiPzogVCwgYz86IFQpOiBUIHtcbiAgaWYgKGEgIT0gbnVsbCkge1xuICAgIHJldHVybiBhO1xuICB9XG4gIGlmIChiICE9IG51bGwpIHtcbiAgICByZXR1cm4gYjtcbiAgfVxuXG4gIHJldHVybiBjO1xufVxuIl19
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { setDate, setHours, setMilliseconds, setMinutes, setMonth, setSeconds } from './date-setters';
|
|
2
|
+
import { cloneDate } from '../create/clone';
|
|
3
|
+
import { setISODayOfWeek, setLocaleDayOfWeek } from '../units/day-of-week';
|
|
4
|
+
import { getMonth } from './date-getters';
|
|
5
|
+
import { add, subtract } from '../moment/add-subtract';
|
|
6
|
+
export function startOf(date, unit, isUTC) {
|
|
7
|
+
const _date = cloneDate(date);
|
|
8
|
+
// the following switch intentionally omits break keywords
|
|
9
|
+
// to utilize falling through the cases.
|
|
10
|
+
switch (unit) {
|
|
11
|
+
case 'year':
|
|
12
|
+
setMonth(_date, 0, isUTC);
|
|
13
|
+
/* falls through */
|
|
14
|
+
case 'quarter':
|
|
15
|
+
case 'month':
|
|
16
|
+
setDate(_date, 1, isUTC);
|
|
17
|
+
/* falls through */
|
|
18
|
+
case 'week':
|
|
19
|
+
case 'isoWeek':
|
|
20
|
+
case 'day':
|
|
21
|
+
case 'date':
|
|
22
|
+
setHours(_date, 0, isUTC);
|
|
23
|
+
/* falls through */
|
|
24
|
+
case 'hours':
|
|
25
|
+
setMinutes(_date, 0, isUTC);
|
|
26
|
+
/* falls through */
|
|
27
|
+
case 'minutes':
|
|
28
|
+
setSeconds(_date, 0, isUTC);
|
|
29
|
+
/* falls through */
|
|
30
|
+
case 'seconds':
|
|
31
|
+
setMilliseconds(_date, 0, isUTC);
|
|
32
|
+
}
|
|
33
|
+
// weeks are a special case
|
|
34
|
+
if (unit === 'week') {
|
|
35
|
+
setLocaleDayOfWeek(_date, 0, { isUTC });
|
|
36
|
+
}
|
|
37
|
+
if (unit === 'isoWeek') {
|
|
38
|
+
setISODayOfWeek(_date, 1);
|
|
39
|
+
}
|
|
40
|
+
// quarters are also special
|
|
41
|
+
if (unit === 'quarter') {
|
|
42
|
+
setMonth(_date, Math.floor(getMonth(_date, isUTC) / 3) * 3, isUTC);
|
|
43
|
+
}
|
|
44
|
+
return _date;
|
|
45
|
+
}
|
|
46
|
+
export function endOf(date, unit, isUTC) {
|
|
47
|
+
let _unit = unit;
|
|
48
|
+
// 'date' is an alias for 'day', so it should be considered as such.
|
|
49
|
+
if (_unit === 'date') {
|
|
50
|
+
_unit = 'day';
|
|
51
|
+
}
|
|
52
|
+
const start = startOf(date, _unit, isUTC);
|
|
53
|
+
const _step = add(start, 1, _unit === 'isoWeek' ? 'week' : _unit, isUTC);
|
|
54
|
+
const res = subtract(_step, 1, 'milliseconds', isUTC);
|
|
55
|
+
return res;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQtZW5kLW9mLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZGF0ZXBpY2tlci9jaHJvbm9zL3V0aWxzL3N0YXJ0LWVuZC1vZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQ0wsT0FBTyxFQUFlLFFBQVEsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBRWxGLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV2RCxNQUFNLFVBQVUsT0FBTyxDQUFDLElBQVUsRUFBRSxJQUFnQixFQUFFLEtBQWU7SUFDbkUsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLDBEQUEwRDtJQUMxRCx3Q0FBd0M7SUFDeEMsUUFBUSxJQUFJLEVBQUU7UUFDWixLQUFLLE1BQU07WUFDVCxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QixtQkFBbUI7UUFDbkIsS0FBSyxTQUFTLENBQUM7UUFDZixLQUFLLE9BQU87WUFDVixPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMzQixtQkFBbUI7UUFDbkIsS0FBSyxNQUFNLENBQUM7UUFDWixLQUFLLFNBQVMsQ0FBQztRQUNmLEtBQUssS0FBSyxDQUFDO1FBQ1gsS0FBSyxNQUFNO1lBQ1QsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUIsbUJBQW1CO1FBQ25CLEtBQUssT0FBTztZQUNWLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzlCLG1CQUFtQjtRQUNuQixLQUFLLFNBQVM7WUFDWixVQUFVLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM5QixtQkFBbUI7UUFDbkIsS0FBSyxTQUFTO1lBQ1osZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7S0FDcEM7SUFFRCwyQkFBMkI7SUFDM0IsSUFBSSxJQUFJLEtBQUssTUFBTSxFQUFFO1FBQ25CLGtCQUFrQixDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDO0tBQ3ZDO0lBQ0QsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFO1FBQ3RCLGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7S0FDM0I7SUFFRCw0QkFBNEI7SUFDNUIsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFO1FBQ3RCLFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztLQUNwRTtJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQU0sVUFBVSxLQUFLLENBQUMsSUFBVSxFQUFFLElBQWdCLEVBQUUsS0FBZTtJQUNqRSxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDakIsb0VBQW9FO0lBQ3BFLElBQUksS0FBSyxLQUFLLE1BQU0sRUFBRTtRQUNwQixLQUFLLEdBQUcsS0FBSyxDQUFDO0tBQ2Y7SUFFRCxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxQyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN6RSxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxjQUFjLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFdEQsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gdHNsaW50OmRpc2FibGU6IHN3aXRjaC1kZWZhdWx0XG5pbXBvcnQgeyBUaW1lVW5pdCwgVW5pdE9mVGltZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7XG4gIHNldERhdGUsIHNldEZ1bGxEYXRlLCBzZXRIb3Vycywgc2V0TWlsbGlzZWNvbmRzLCBzZXRNaW51dGVzLCBzZXRNb250aCwgc2V0U2Vjb25kcyxcbiAgc2hpZnREYXRlXG59IGZyb20gJy4vZGF0ZS1zZXR0ZXJzJztcbmltcG9ydCB7IGNsb25lRGF0ZSB9IGZyb20gJy4uL2NyZWF0ZS9jbG9uZSc7XG5pbXBvcnQgeyBzZXRJU09EYXlPZldlZWssIHNldExvY2FsZURheU9mV2VlayB9IGZyb20gJy4uL3VuaXRzL2RheS1vZi13ZWVrJztcbmltcG9ydCB7IGdldE1vbnRoIH0gZnJvbSAnLi9kYXRlLWdldHRlcnMnO1xuaW1wb3J0IHsgYWRkLCBzdWJ0cmFjdCB9IGZyb20gJy4uL21vbWVudC9hZGQtc3VidHJhY3QnO1xuXG5leHBvcnQgZnVuY3Rpb24gc3RhcnRPZihkYXRlOiBEYXRlLCB1bml0OiBVbml0T2ZUaW1lLCBpc1VUQz86IGJvb2xlYW4pOiBEYXRlIHtcbiAgY29uc3QgX2RhdGUgPSBjbG9uZURhdGUoZGF0ZSk7XG4gIC8vIHRoZSBmb2xsb3dpbmcgc3dpdGNoIGludGVudGlvbmFsbHkgb21pdHMgYnJlYWsga2V5d29yZHNcbiAgLy8gdG8gdXRpbGl6ZSBmYWxsaW5nIHRocm91Z2ggdGhlIGNhc2VzLlxuICBzd2l0Y2ggKHVuaXQpIHtcbiAgICBjYXNlICd5ZWFyJzpcbiAgICAgIHNldE1vbnRoKF9kYXRlLCAwLCBpc1VUQyk7XG4gICAgLyogZmFsbHMgdGhyb3VnaCAqL1xuICAgIGNhc2UgJ3F1YXJ0ZXInOlxuICAgIGNhc2UgJ21vbnRoJzpcbiAgICAgIHNldERhdGUoX2RhdGUsIDEsIGlzVVRDKTtcbiAgICAvKiBmYWxscyB0aHJvdWdoICovXG4gICAgY2FzZSAnd2Vlayc6XG4gICAgY2FzZSAnaXNvV2Vlayc6XG4gICAgY2FzZSAnZGF5JzpcbiAgICBjYXNlICdkYXRlJzpcbiAgICAgIHNldEhvdXJzKF9kYXRlLCAwLCBpc1VUQyk7XG4gICAgLyogZmFsbHMgdGhyb3VnaCAqL1xuICAgIGNhc2UgJ2hvdXJzJzpcbiAgICAgIHNldE1pbnV0ZXMoX2RhdGUsIDAsIGlzVVRDKTtcbiAgICAvKiBmYWxscyB0aHJvdWdoICovXG4gICAgY2FzZSAnbWludXRlcyc6XG4gICAgICBzZXRTZWNvbmRzKF9kYXRlLCAwLCBpc1VUQyk7XG4gICAgLyogZmFsbHMgdGhyb3VnaCAqL1xuICAgIGNhc2UgJ3NlY29uZHMnOlxuICAgICAgc2V0TWlsbGlzZWNvbmRzKF9kYXRlLCAwLCBpc1VUQyk7XG4gIH1cblxuICAvLyB3ZWVrcyBhcmUgYSBzcGVjaWFsIGNhc2VcbiAgaWYgKHVuaXQgPT09ICd3ZWVrJykge1xuICAgIHNldExvY2FsZURheU9mV2VlayhfZGF0ZSwgMCwge2lzVVRDfSk7XG4gIH1cbiAgaWYgKHVuaXQgPT09ICdpc29XZWVrJykge1xuICAgIHNldElTT0RheU9mV2VlayhfZGF0ZSwgMSk7XG4gIH1cblxuICAvLyBxdWFydGVycyBhcmUgYWxzbyBzcGVjaWFsXG4gIGlmICh1bml0ID09PSAncXVhcnRlcicpIHtcbiAgICBzZXRNb250aChfZGF0ZSwgTWF0aC5mbG9vcihnZXRNb250aChfZGF0ZSwgaXNVVEMpIC8gMykgKiAzLCBpc1VUQyk7XG4gIH1cblxuICByZXR1cm4gX2RhdGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbmRPZihkYXRlOiBEYXRlLCB1bml0OiBVbml0T2ZUaW1lLCBpc1VUQz86IGJvb2xlYW4pOiBEYXRlIHtcbiAgbGV0IF91bml0ID0gdW5pdDtcbiAgLy8gJ2RhdGUnIGlzIGFuIGFsaWFzIGZvciAnZGF5Jywgc28gaXQgc2hvdWxkIGJlIGNvbnNpZGVyZWQgYXMgc3VjaC5cbiAgaWYgKF91bml0ID09PSAnZGF0ZScpIHtcbiAgICBfdW5pdCA9ICdkYXknO1xuICB9XG5cbiAgY29uc3Qgc3RhcnQgPSBzdGFydE9mKGRhdGUsIF91bml0LCBpc1VUQyk7XG4gIGNvbnN0IF9zdGVwID0gYWRkKHN0YXJ0LCAxLCBfdW5pdCA9PT0gJ2lzb1dlZWsnID8gJ3dlZWsnIDogX3VuaXQsIGlzVVRDKTtcbiAgY29uc3QgcmVzID0gc3VidHJhY3QoX3N0ZXAsIDEsICdtaWxsaXNlY29uZHMnLCBpc1VUQyk7XG5cbiAgcmV0dXJuIHJlcztcbn1cbiJdfQ==
|