return units ? unitAliases[units] || units.toLowerCase().replace(/(.)s$/, '$1') : units;
}
+ function makeList(field) {
+ var count, setter;
+
+ if (field.indexOf('week') === 0) {
+ count = 7;
+ setter = 'day';
+ }
+ else if (field.indexOf('month') === 0) {
+ count = 12;
+ setter = 'month';
+ }
+ else {
+ return;
+ }
+
+ moment[field] = function (format, index) {
+ var i,
+ method = moment.fn._lang[field],
+ results = [],
+ getter = function (i) {
+ var m = moment().utc().set(setter, i);
+ return method.call(moment.fn._lang, m, format || '');
+ };
+
+ index = (typeof format === 'number') ? format : index;
+
+ if (index) {
+ return getter(index);
+ }
+ else {
+ for (i = 0; i < count; i++) {
+ results.push(getter(i));
+ }
+ return results;
+ }
+ };
+ }
+
+ function regexpEscape(text) {
+ return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
+ }
+
+ function toInt(argumentForCoercion) {
+ var coercedNumber = +argumentForCoercion,
+ value = 0;
+
+ if (coercedNumber !== 0 && isFinite(coercedNumber)) {
+ if (coercedNumber >= 0) {
+ value = Math.floor(coercedNumber);
+ } else {
+ value = Math.ceil(coercedNumber);
+ }
+ }
+
+ return value;
+ }
+
/************************************
Languages
************************************/
return obj instanceof Duration;
};
+ for (i in lists) {
+ makeList(lists[i]);
+ }
+
+ // for use by developers when extending the library
+ // https://github.com/moment/moment/issues/1066
+ moment.normalizeUnits = function (units) {
+ return normalizeUnits(units);
+ };
+
/************************************
Moment Prototype
************************************/