1 import { makeGetSet } from '../moment/get-set';
2 import { addFormatToken } from '../format/format';
3 import { addUnitAlias } from './aliases';
4 import { addRegexToken, match1, match2, match3, match1to3, matchUnsigned } from '../parse/regex';
5 import { addParseToken } from '../parse/token';
6 import { MILLISECOND } from './constants';
7 import toInt from '../utils/to-int';
11 addFormatToken('S', 0, 0, function () {
12 return ~~(this.millisecond() / 100);
15 addFormatToken(0, ['SS', 2], 0, function () {
16 return ~~(this.millisecond() / 10);
19 addFormatToken(0, ['SSS', 3], 0, 'millisecond');
20 addFormatToken(0, ['SSSS', 4], 0, function () {
21 return this.millisecond() * 10;
23 addFormatToken(0, ['SSSSS', 5], 0, function () {
24 return this.millisecond() * 100;
26 addFormatToken(0, ['SSSSSS', 6], 0, function () {
27 return this.millisecond() * 1000;
29 addFormatToken(0, ['SSSSSSS', 7], 0, function () {
30 return this.millisecond() * 10000;
32 addFormatToken(0, ['SSSSSSSS', 8], 0, function () {
33 return this.millisecond() * 100000;
35 addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {
36 return this.millisecond() * 1000000;
42 addUnitAlias('millisecond', 'ms');
46 addRegexToken('S', match1to3, match1);
47 addRegexToken('SS', match1to3, match2);
48 addRegexToken('SSS', match1to3, match3);
51 for (token = 'SSSS'; token.length <= 9; token += 'S') {
52 addRegexToken(token, matchUnsigned);
55 function parseMs(input, array) {
56 array[MILLISECOND] = toInt(('0.' + input) * 1000);
59 for (token = 'S'; token.length <= 9; token += 'S') {
60 addParseToken(token, parseMs);
64 export var getSetMillisecond = makeGetSet('Milliseconds', false);