azion
Version:
Azion Packages for Edge Computing.
23 lines (21 loc) • 700 B
JavaScript
import async_hooks from 'async_hooks';
// Implement snapshot for AsyncLocalStorage
if (async_hooks.AsyncLocalStorage && !async_hooks.AsyncLocalStorage.prototype.snapshot) {
async_hooks.AsyncLocalStorage.prototype.snapshot = function () {
const store = this.getStore();
return () => store;
};
}
// Also add snapshot as a static method if needed
if (async_hooks.AsyncLocalStorage && !async_hooks.AsyncLocalStorage.snapshot) {
async_hooks.AsyncLocalStorage.snapshot = () => {
return (fn, ...args) => {
if (typeof fn === 'function') {
const result = fn(...args);
return result;
}
return fn;
};
};
}
export default async_hooks.AsyncLocalStorage;