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

Function extractCompositionMetadata

packages/parsers/src/htmlParser.ts:770–792  ·  view source on GitHub ↗
(html: string)

Source from the content-addressed store, hash-verified

768}
769
770export function extractCompositionMetadata(html: string): CompositionMetadata {
771 const parser = new DOMParser();
772 const doc = parser.parseFromString(html, "text/html");
773 const htmlEl = doc.documentElement;
774 if (!htmlEl) {
775 throw new CompositionHtmlParseError(
776 "extractCompositionMetadata: input HTML is empty or could not be parsed",
777 );
778 }
779
780 const compositionId = htmlEl.getAttribute("data-composition-id");
781 const durationStr = htmlEl.getAttribute("data-composition-duration");
782 const compositionDuration = durationStr ? parseFloat(durationStr) : null;
783
784 const variables = parseCompositionVariables(htmlEl);
785
786 return {
787 compositionId,
788 compositionDuration:
789 compositionDuration && isFinite(compositionDuration) ? compositionDuration : null,
790 variables,
791 };
792}
793
794function parseCompositionVariables(htmlEl: Element): CompositionVariable[] {
795 const variablesAttr = htmlEl.getAttribute("data-composition-variables");

Callers 3

htmlParser.test.tsFile · 0.85

Calls 2

getAttributeMethod · 0.65

Tested by

no test coverage detected