full site update
This commit is contained in:
38
node_modules/astro/dist/content/watcher.js
generated
vendored
Normal file
38
node_modules/astro/dist/content/watcher.js
generated
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
function createWatcherWrapper(watcher) {
|
||||
const listeners = /* @__PURE__ */ new Map();
|
||||
const handler = {
|
||||
get(target, prop, receiver) {
|
||||
if (prop === "on") {
|
||||
return function(event, callback) {
|
||||
if (!listeners.has(event)) {
|
||||
listeners.set(event, /* @__PURE__ */ new Set());
|
||||
}
|
||||
listeners.get(event).add(callback);
|
||||
return Reflect.get(target, prop, receiver).call(target, event, callback);
|
||||
};
|
||||
}
|
||||
if (prop === "off") {
|
||||
return function(event, callback) {
|
||||
listeners.get(event)?.delete(callback);
|
||||
return Reflect.get(target, prop, receiver).call(target, event, callback);
|
||||
};
|
||||
}
|
||||
if (prop === "removeAllTrackedListeners") {
|
||||
return function() {
|
||||
for (const [event, callbacks] of listeners.entries()) {
|
||||
for (const callback of callbacks) {
|
||||
target.off(event, callback);
|
||||
}
|
||||
callbacks.clear();
|
||||
}
|
||||
listeners.clear();
|
||||
};
|
||||
}
|
||||
return Reflect.get(target, prop, receiver);
|
||||
}
|
||||
};
|
||||
return new Proxy(watcher, handler);
|
||||
}
|
||||
export {
|
||||
createWatcherWrapper
|
||||
};
|
Reference in New Issue
Block a user