UNPKG

next

Version:

The React Framework

40 lines (39 loc) 1.43 kB
import { workUnitAsyncStorage } from '../app-render/work-unit-async-storage.external'; import { validateTags } from '../lib/patch-fetch'; export function cacheTag(...tags) { if (!process.env.__NEXT_USE_CACHE) { throw Object.defineProperty(new Error('cacheTag() is only available with the experimental.useCache config.'), "__NEXT_ERROR_CODE", { value: "E628", enumerable: false, configurable: true }); } const workUnitStore = workUnitAsyncStorage.getStore(); switch(workUnitStore == null ? void 0 : workUnitStore.type){ case 'prerender': case 'prerender-client': case 'prerender-runtime': case 'prerender-ppr': case 'prerender-legacy': case 'request': case 'unstable-cache': case undefined: throw Object.defineProperty(new Error('cacheTag() can only be called inside a "use cache" function.'), "__NEXT_ERROR_CODE", { value: "E177", enumerable: false, configurable: true }); case 'cache': case 'private-cache': break; default: workUnitStore; } const validTags = validateTags(tags, 'cacheTag()'); if (!workUnitStore.tags) { workUnitStore.tags = validTags; } else { workUnitStore.tags.push(...validTags); } } //# sourceMappingURL=cache-tag.js.map