MCPcopy Create free account
hub / github.com/heygen-com/hyperframes / parseTiming

Function parseTiming

packages/lint/src/rules/slideshow.ts:12–29  ·  view source on GitHub ↗
(raw: string)

Source from the content-addressed store, hash-verified

10type Scene = { id: string; start: number; duration: number };
11
12function parseTiming(raw: string): { start: number; duration: number } | null {
13 const startStr = readAttr(raw, "data-start");
14 if (startStr === null) return null;
15 const start = Number(startStr);
16 if (!Number.isFinite(start)) return null;
17
18 const durationStr = readAttr(raw, "data-duration");
19 if (durationStr !== null) {
20 const duration = Number(durationStr);
21 if (Number.isFinite(duration)) return { start, duration };
22 }
23 const endStr = readAttr(raw, "data-end") ?? readAttr(raw, "data-hf-authored-end");
24 if (endStr !== null) {
25 const end = Number(endStr);
26 if (Number.isFinite(end) && end > start) return { start, duration: end - start };
27 }
28 return null;
29}
30
31function collectCompositionIdScenes(ctx: LintContext, seen: Set<string>, out: Scene[]): void {
32 for (const tag of ctx.tags) {

Callers 1

Calls 1

readAttrFunction · 0.90

Tested by

no test coverage detected