Function

parseTimecodeInput

Parses editable `TimecodeInput` text into seconds. Accepts plain seconds, decimal seconds, `m:ss`, `m:ss.cc`, `h:mm:ss`, `h:mm:ss.cc`, flexible single-digit colon segments such as `1:2`, and unit suffixes like `s` (seconds), `ms` (milliseconds), `m` (minutes), or `f` (frames, which requires a `frameRate` option). Invalid, negative, missing, or out-of-range user text returns `null`. Invalid developer options such as unsupported drop-frame rates throw `RangeError`.

Signature

Type Definition
parseTimecodeInput(value: string, options: TimecodeParseOptions = {}): number | null

Parameters

NameTypeDescription
valuestringUser-entered timecode text.
optionsTimecodeParseOptionsOptional rounding and frame-rate settings.

Returns

number | null

Parsed seconds with the requested rounding, or `null` when invalid.

Examples

ts Example
parseTimecodeInput('90.5'); // 90.5
parseTimecodeInput('1:30.25'); // 90.25
parseTimecodeInput('60s'); // 60
parseTimecodeInput('500ms'); // 0.5
parseTimecodeInput('2m'); // 120
parseTimecodeInput('24f', { frameRate: 24 }); // 1
parseTimecodeInput('00:01:30:12', { frameRate: 24 }); // 90.5
parseTimecodeInput('00:01:00;02', {
frameRate: { numerator: 30000, denominator: 1001 },
dropFrame: true,
}); // 60.06