remotion
Version:
Make videos programmatically
43 lines (42 loc) • 1.95 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useDelayRender = exports.DelayRenderContextType = void 0;
const react_1 = require("react");
const cancel_render_js_1 = require("./cancel-render.js");
const delay_render_js_1 = require("./delay-render.js");
const log_level_context_js_1 = require("./log-level-context.js");
const use_remotion_environment_js_1 = require("./use-remotion-environment.js");
exports.DelayRenderContextType = (0, react_1.createContext)(null);
const useDelayRender = () => {
var _a;
const environment = (0, use_remotion_environment_js_1.useRemotionEnvironment)();
const scope = (_a = (0, react_1.useContext)(exports.DelayRenderContextType)) !== null && _a !== void 0 ? _a : (typeof window !== 'undefined' ? window : undefined);
const logLevel = (0, log_level_context_js_1.useLogLevel)();
const delayRender = (0, react_1.useCallback)((label, options) => {
if (!scope) {
return Math.random();
}
return (0, delay_render_js_1.delayRenderInternal)({
scope,
environment,
label: label !== null && label !== void 0 ? label : null,
options: options !== null && options !== void 0 ? options : {},
});
}, [environment, scope]);
const continueRender = (0, react_1.useCallback)((handle) => {
if (!scope) {
return;
}
(0, delay_render_js_1.continueRenderInternal)({
scope,
handle,
environment,
logLevel,
});
}, [environment, logLevel, scope]);
const cancelRender = (0, react_1.useCallback)((err) => {
return (0, cancel_render_js_1.cancelRenderInternal)(scope !== null && scope !== void 0 ? scope : (typeof window !== 'undefined' ? window : undefined), err);
}, [scope]);
return { delayRender, continueRender, cancelRender };
};
exports.useDelayRender = useDelayRender;