/pack-rat/003_pack_rat/pack-rat/bower_components/moment/src/lib/moment/constructor.js |
@@ -0,0 +1,77 @@ |
import { hooks } from '../utils/hooks'; |
import hasOwnProp from '../utils/has-own-prop'; |
import isUndefined from '../utils/is-undefined'; |
import getParsingFlags from '../create/parsing-flags'; |
|
// Plugins that add properties should also add the key here (null value), |
// so we can properly clone ourselves. |
var momentProperties = hooks.momentProperties = []; |
|
export function copyConfig(to, from) { |
var i, prop, val; |
|
if (!isUndefined(from._isAMomentObject)) { |
to._isAMomentObject = from._isAMomentObject; |
} |
if (!isUndefined(from._i)) { |
to._i = from._i; |
} |
if (!isUndefined(from._f)) { |
to._f = from._f; |
} |
if (!isUndefined(from._l)) { |
to._l = from._l; |
} |
if (!isUndefined(from._strict)) { |
to._strict = from._strict; |
} |
if (!isUndefined(from._tzm)) { |
to._tzm = from._tzm; |
} |
if (!isUndefined(from._isUTC)) { |
to._isUTC = from._isUTC; |
} |
if (!isUndefined(from._offset)) { |
to._offset = from._offset; |
} |
if (!isUndefined(from._pf)) { |
to._pf = getParsingFlags(from); |
} |
if (!isUndefined(from._locale)) { |
to._locale = from._locale; |
} |
|
if (momentProperties.length > 0) { |
for (i = 0; i < momentProperties.length; i++) { |
prop = momentProperties[i]; |
val = from[prop]; |
if (!isUndefined(val)) { |
to[prop] = val; |
} |
} |
} |
|
return to; |
} |
|
var updateInProgress = false; |
|
// Moment prototype object |
export function Moment(config) { |
copyConfig(this, config); |
this._d = new Date(config._d != null ? config._d.getTime() : NaN); |
if (!this.isValid()) { |
this._d = new Date(NaN); |
} |
// Prevent infinite loop in case updateOffset creates new moment |
// objects. |
if (updateInProgress === false) { |
updateInProgress = true; |
hooks.updateOffset(this); |
updateInProgress = false; |
} |
} |
|
export function isMoment (obj) { |
return obj instanceof Moment || (obj != null && obj._isAMomentObject != null); |
} |