/
githubmirror
/
dayjs
Обзор
Документация
Войти
/
githubmirror
/
dayjs
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
src/plugin/quarterOfYear/index.js
35 строк
1 KB
iamkun
fix: Fix QuarterOfYear plugin bug (#591)
07 май 2019, 20:10
Не верифицирован
07 май 2019, 20:10
434f774
Код
Авторство
О чём код?
import { Q, M, D } from '../../constant' export default (o, c) => { const proto = c.prototype proto.quarter = function (quarter) { if (!this.$utils().u(quarter)) { return this.month((this.month() % 3) + ((quarter - 1) * 3)) } return Math.ceil((this.month() + 1) / 3) } const oldAdd = proto.add proto.add = function (number, units) { number = Number(number) // eslint-disable-line no-param-reassign const unit = this.$utils().p(units) if (unit === Q) { return this.add(number * 3, M) } return oldAdd.bind(this)(number, units) } const oldStartOf = proto.startOf proto.startOf = function (units, startOf) { const utils = this.$utils() const isStartOf = !utils.u(startOf) ? startOf : true const unit = utils.p(units) if (unit === Q) { const quarter = this.quarter() - 1 return isStartOf ? this.month(quarter * 3) .startOf(M).startOf(D) : this.month((quarter * 3) + 2).endOf(M).endOf(D) } return oldStartOf.bind(this)(units, startOf) } }