import { makeGetSet } from '../moment/get-set'; import { addFormatToken } from '../format/format'; import { addUnitAlias } from './aliases'; import { addRegexToken, match1, match2, match3, match1to3, matchUnsigned } from '../parse/regex'; import { addParseToken } from '../parse/token'; import { MILLISECOND } from './constants'; import toInt from '../utils/to-int'; // FORMATTING addFormatToken('S', 0, 0, function () { return ~~(this.millisecond() / 100); }); addFormatToken(0, ['SS', 2], 0, function () { return ~~(this.millisecond() / 10); }); function milliseconds (token) { addFormatToken(0, [token, 3], 0, 'millisecond'); } milliseconds('SSS'); milliseconds('SSSS'); // ALIASES addUnitAlias('millisecond', 'ms'); // PARSING addRegexToken('S', match1to3, match1); addRegexToken('SS', match1to3, match2); addRegexToken('SSS', match1to3, match3); addRegexToken('SSSS', matchUnsigned); addParseToken(['S', 'SS', 'SSS', 'SSSS'], function (input, array) { array[MILLISECOND] = toInt(('0.' + input) * 1000); }); // MOMENTS export var getSetMillisecond = makeGetSet('Milliseconds', false);