UNPKG

remotion

Version:

Make videos programmatically

64 lines (63 loc) 2.94 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getSingleChildComponent = exports.getStackForControls = exports.setStackForControls = exports.resolveComponentIdentity = exports.setComponentIdentityResolver = exports.getSequenceComponent = exports.setSequenceComponent = exports.addSequenceStackTraces = exports.getComponentsToAddStacksTo = exports.REMOTION_INTERNAL_STACK_PROP = void 0; const react_1 = __importDefault(require("react")); const componentsToAddStacksTo = []; let sequenceComponent = null; const stacksByControls = new WeakMap(); // Studio installs a resolver that maps refreshed component implementations to // the stable family object maintained by React Refresh. let componentIdentityResolver = null; exports.REMOTION_INTERNAL_STACK_PROP = '_remotionInternalStack'; const getComponentsToAddStacksTo = () => componentsToAddStacksTo; exports.getComponentsToAddStacksTo = getComponentsToAddStacksTo; const addSequenceStackTraces = (component) => { componentsToAddStacksTo.push(component); }; exports.addSequenceStackTraces = addSequenceStackTraces; const setSequenceComponent = (component) => { sequenceComponent = component; }; exports.setSequenceComponent = setSequenceComponent; const getSequenceComponent = () => sequenceComponent; exports.getSequenceComponent = getSequenceComponent; const setComponentIdentityResolver = (resolver) => { componentIdentityResolver = resolver; }; exports.setComponentIdentityResolver = setComponentIdentityResolver; const resolveComponentIdentity = (component) => { var _a; return (_a = componentIdentityResolver === null || componentIdentityResolver === void 0 ? void 0 : componentIdentityResolver(component)) !== null && _a !== void 0 ? _a : component; }; exports.resolveComponentIdentity = resolveComponentIdentity; const setStackForControls = (controls, stack) => { if (stack === undefined) { stacksByControls.delete(controls); return; } stacksByControls.set(controls, stack); }; exports.setStackForControls = setStackForControls; const getStackForControls = (controls) => { var _a; return (_a = stacksByControls.get(controls)) !== null && _a !== void 0 ? _a : null; }; exports.getStackForControls = getStackForControls; const getSingleChildComponent = (children) => { const mountedChildren = react_1.default.Children.toArray(children); if (mountedChildren.length !== 1) { return null; } const child = mountedChildren[0]; if (!react_1.default.isValidElement(child)) { return null; } if (typeof child.type !== 'function' && typeof child.type !== 'object') { return null; } return (0, exports.resolveComponentIdentity)(child.type); }; exports.getSingleChildComponent = getSingleChildComponent;