Next.js website for Rocky Mountain Vending company featuring: - Product catalog with Stripe integration - Service areas and parts pages - Admin dashboard with Clerk authentication - SEO optimized pages with JSON-LD structured data Co-authored-by: Cursor <cursoragent@cursor.com>
53 lines
No EOL
2.3 KiB
Text
53 lines
No EOL
2.3 KiB
Text
import { workAsyncStorage } from '../../app-render/work-async-storage.external';
|
|
import { workUnitAsyncStorage } from '../../app-render/work-unit-async-storage.external';
|
|
import { markCurrentScopeAsDynamic } from '../../app-render/dynamic-rendering';
|
|
/**
|
|
* This function can be used to declaratively opt out of static rendering and indicate a particular component should not be cached.
|
|
*
|
|
* It marks the current scope as dynamic.
|
|
*
|
|
* - In [non-PPR](https://nextjs.org/docs/app/api-reference/next-config-js/partial-prerendering) cases this will make a static render
|
|
* halt and mark the page as dynamic.
|
|
* - In PPR cases this will postpone the render at this location.
|
|
*
|
|
* If we are inside a cache scope then this function does nothing.
|
|
*
|
|
* @note It expects to be called within App Router and will error otherwise.
|
|
*
|
|
* Read more: [Next.js Docs: `unstable_noStore`](https://nextjs.org/docs/app/api-reference/functions/unstable_noStore)
|
|
*/ export function unstable_noStore() {
|
|
const callingExpression = 'unstable_noStore()';
|
|
const store = workAsyncStorage.getStore();
|
|
const workUnitStore = workUnitAsyncStorage.getStore();
|
|
if (!store) {
|
|
// This generally implies we are being called in Pages router. We should probably not support
|
|
// unstable_noStore in contexts outside of `react-server` condition but since we historically
|
|
// have not errored here previously, we maintain that behavior for now.
|
|
return;
|
|
} else if (store.forceStatic) {
|
|
return;
|
|
} else {
|
|
store.isUnstableNoStore = true;
|
|
if (workUnitStore) {
|
|
switch(workUnitStore.type){
|
|
case 'prerender':
|
|
case 'prerender-client':
|
|
case 'prerender-runtime':
|
|
// unstable_noStore() is a noop in Dynamic I/O.
|
|
return;
|
|
case 'prerender-ppr':
|
|
case 'prerender-legacy':
|
|
case 'request':
|
|
case 'cache':
|
|
case 'private-cache':
|
|
case 'unstable-cache':
|
|
break;
|
|
default:
|
|
workUnitStore;
|
|
}
|
|
}
|
|
markCurrentScopeAsDynamic(store, workUnitStore, callingExpression);
|
|
}
|
|
}
|
|
|
|
//# sourceMappingURL=unstable-no-store.js.map |