next
Version:
The React Framework
27 lines (26 loc) • 1.06 kB
JavaScript
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();
if (!workUnitStore || workUnitStore.type !== 'cache') {
throw Object.defineProperty(new Error('cacheTag() can only be called inside a "use cache" function.'), "__NEXT_ERROR_CODE", {
value: "E177",
enumerable: false,
configurable: true
});
}
const validTags = validateTags(tags, 'cacheTag()');
if (!workUnitStore.tags) {
workUnitStore.tags = validTags;
} else {
workUnitStore.tags.push(...validTags);
}
}
//# sourceMappingURL=cache-tag.js.map