| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- import { normalizeUnits, normalizeObjectUnits } from '../units/aliases';
- import { getPrioritizedUnits } from '../units/priorities';
- import { hooks } from '../utils/hooks';
- import isFunction from '../utils/is-function';
- export function makeGetSet (unit, keepTime) {
- return function (value) {
- if (value != null) {
- set(this, unit, value);
- hooks.updateOffset(this, keepTime);
- return this;
- } else {
- return get(this, unit);
- }
- };
- }
- export function get (mom, unit) {
- return mom.isValid() ?
- mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;
- }
- export function set (mom, unit, value) {
- if (mom.isValid()) {
- mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);
- }
- }
- // MOMENTS
- export function stringGet (units) {
- units = normalizeUnits(units);
- if (isFunction(this[units])) {
- return this[units]();
- }
- return this;
- }
- export function stringSet (units, value) {
- if (typeof units === 'object') {
- units = normalizeObjectUnits(units);
- var prioritized = getPrioritizedUnits(units);
- for (var i = 0; i < prioritized.length; i++) {
- this[prioritized[i].unit](units[prioritized[i].unit]);
- }
- } else {
- units = normalizeUnits(units);
- if (isFunction(this[units])) {
- return this[units](value);
- }
- }
- return this;
- }
|