next
Version:
The React Framework
125 lines (124 loc) • 4.8 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
0 && (module.exports = {
getCacheHandler: null,
getCacheHandlerEntries: null,
getCacheHandlers: null,
initializeCacheHandlers: null,
setCacheHandler: null
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: all[name]
});
}
_export(exports, {
getCacheHandler: function() {
return getCacheHandler;
},
getCacheHandlerEntries: function() {
return getCacheHandlerEntries;
},
getCacheHandlers: function() {
return getCacheHandlers;
},
initializeCacheHandlers: function() {
return initializeCacheHandlers;
},
setCacheHandler: function() {
return setCacheHandler;
}
});
const _default = /*#__PURE__*/ _interop_require_default(require("../lib/cache-handlers/default"));
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
const debug = process.env.NEXT_PRIVATE_DEBUG_CACHE ? (message, ...args)=>{
console.log(`use-cache: ${message}`, ...args);
} : undefined;
const handlersSymbol = Symbol.for('@next/cache-handlers');
const handlersMapSymbol = Symbol.for('@next/cache-handlers-map');
const handlersSetSymbol = Symbol.for('@next/cache-handlers-set');
/**
* The reference to the cache handlers. We store the cache handlers on the
* global object so that we can access the same instance across different
* boundaries (such as different copies of the same module).
*/ const reference = globalThis;
function initializeCacheHandlers() {
// If the cache handlers have already been initialized, don't do it again.
if (reference[handlersMapSymbol]) {
debug == null ? void 0 : debug('cache handlers already initialized');
return false;
}
debug == null ? void 0 : debug('initializing cache handlers');
reference[handlersMapSymbol] = new Map();
// Initialize the cache from the symbol contents first.
if (reference[handlersSymbol]) {
let fallback;
if (reference[handlersSymbol].DefaultCache) {
debug == null ? void 0 : debug('setting "default" cache handler from symbol');
fallback = reference[handlersSymbol].DefaultCache;
} else {
debug == null ? void 0 : debug('setting "default" cache handler from default');
fallback = _default.default;
}
reference[handlersMapSymbol].set('default', fallback);
if (reference[handlersSymbol].RemoteCache) {
debug == null ? void 0 : debug('setting "remote" cache handler from symbol');
reference[handlersMapSymbol].set('remote', reference[handlersSymbol].RemoteCache);
} else {
debug == null ? void 0 : debug('setting "remote" cache handler from default');
reference[handlersMapSymbol].set('remote', fallback);
}
} else {
debug == null ? void 0 : debug('setting "default" cache handler from default');
reference[handlersMapSymbol].set('default', _default.default);
debug == null ? void 0 : debug('setting "remote" cache handler from default');
reference[handlersMapSymbol].set('remote', _default.default);
}
// Create a set of the cache handlers.
reference[handlersSetSymbol] = new Set(reference[handlersMapSymbol].values());
return true;
}
function getCacheHandler(kind) {
// This should never be called before initializeCacheHandlers.
if (!reference[handlersMapSymbol]) {
throw Object.defineProperty(new Error('Cache handlers not initialized'), "__NEXT_ERROR_CODE", {
value: "E649",
enumerable: false,
configurable: true
});
}
return reference[handlersMapSymbol].get(kind);
}
function getCacheHandlers() {
if (!reference[handlersSetSymbol]) {
return undefined;
}
return reference[handlersSetSymbol].values();
}
function getCacheHandlerEntries() {
if (!reference[handlersMapSymbol]) {
return undefined;
}
return reference[handlersMapSymbol].entries();
}
function setCacheHandler(kind, cacheHandler) {
// This should never be called before initializeCacheHandlers.
if (!reference[handlersMapSymbol] || !reference[handlersSetSymbol]) {
throw Object.defineProperty(new Error('Cache handlers not initialized'), "__NEXT_ERROR_CODE", {
value: "E649",
enumerable: false,
configurable: true
});
}
debug == null ? void 0 : debug('setting cache handler for "%s"', kind);
reference[handlersMapSymbol].set(kind, cacheHandler);
reference[handlersSetSymbol].add(cacheHandler);
}
//# sourceMappingURL=handlers.js.map
;