/* eslint-disable eslint-comments/no-unlimited-disable */ /* eslint-disable */ // @ts-nocheck import { Parser } from '../Parser.ts'; import type { ParseFlags, ParseResult } from '../types.ts'; import { mapValue, parseNDigits } from '../utils.ts'; export class FractionOfSecondParser extends Parser { priority = 30; parse(dateString: string, token: string): ParseResult { const valueCallback = (value: number) => Math.trunc(value * Math.pow(10, -token.length + 3)); return mapValue(parseNDigits(token.length, dateString), valueCallback); } set(date: DateType, _flags: ParseFlags, value: number): DateType { date.setMilliseconds(value); return date; } incompatibleTokens: string[] = ['t', 'T']; } /* eslint-enable */