init commit
This commit is contained in:
62
remotion/node_modules/@remotion/studio-server/dist/preview-server/file-existence-watchers.js
generated
vendored
Normal file
62
remotion/node_modules/@remotion/studio-server/dist/preview-server/file-existence-watchers.js
generated
vendored
Normal file
@@ -0,0 +1,62 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.unsubscribeClientFileExistenceWatchers = exports.unsubscribeFromFileExistenceWatchers = exports.subscribeToFileExistenceWatchers = void 0;
|
||||
const node_path_1 = __importDefault(require("node:path"));
|
||||
const file_watcher_1 = require("../file-watcher");
|
||||
const live_events_1 = require("./live-events");
|
||||
const fileExistenceWatchers = {};
|
||||
const subscribeToFileExistenceWatchers = ({ file: relativeFile, remotionRoot, clientId, }) => {
|
||||
const file = node_path_1.default.resolve(remotionRoot, relativeFile);
|
||||
const { unwatch, exists } = (0, file_watcher_1.installFileWatcher)({
|
||||
file,
|
||||
onChange: (type) => {
|
||||
if (type === 'created') {
|
||||
(0, live_events_1.waitForLiveEventsListener)().then((listener) => {
|
||||
listener.sendEventToClient({
|
||||
type: 'watched-file-undeleted',
|
||||
// Must be relative file because that's what the client expects
|
||||
file: relativeFile,
|
||||
});
|
||||
});
|
||||
}
|
||||
if (type === 'deleted') {
|
||||
(0, live_events_1.waitForLiveEventsListener)().then((listener) => {
|
||||
listener.sendEventToClient({
|
||||
type: 'watched-file-deleted',
|
||||
// Must be relative file because that's what the client expects
|
||||
file: relativeFile,
|
||||
});
|
||||
});
|
||||
}
|
||||
},
|
||||
});
|
||||
if (!fileExistenceWatchers[clientId]) {
|
||||
fileExistenceWatchers[clientId] = {};
|
||||
}
|
||||
fileExistenceWatchers[clientId][file] = unwatch;
|
||||
return { exists };
|
||||
};
|
||||
exports.subscribeToFileExistenceWatchers = subscribeToFileExistenceWatchers;
|
||||
const unsubscribeFromFileExistenceWatchers = ({ file, remotionRoot, clientId, }) => {
|
||||
var _a, _b;
|
||||
const actualPath = node_path_1.default.resolve(remotionRoot, file);
|
||||
if (!fileExistenceWatchers[clientId]) {
|
||||
return;
|
||||
}
|
||||
(_b = (_a = fileExistenceWatchers[clientId])[actualPath]) === null || _b === void 0 ? void 0 : _b.call(_a);
|
||||
delete fileExistenceWatchers[clientId][actualPath];
|
||||
};
|
||||
exports.unsubscribeFromFileExistenceWatchers = unsubscribeFromFileExistenceWatchers;
|
||||
const unsubscribeClientFileExistenceWatchers = (clientId) => {
|
||||
if (!fileExistenceWatchers[clientId]) {
|
||||
return;
|
||||
}
|
||||
Object.values(fileExistenceWatchers[clientId]).forEach((unwatch) => {
|
||||
unwatch();
|
||||
});
|
||||
delete fileExistenceWatchers[clientId];
|
||||
};
|
||||
exports.unsubscribeClientFileExistenceWatchers = unsubscribeClientFileExistenceWatchers;
|
||||
Reference in New Issue
Block a user