vike
Version:
The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.
38 lines (37 loc) • 1.25 kB
JavaScript
export { isVirtualFileIdPageConfigLazy };
export { getVirtualFileIdPageConfigLazy };
import { extractAssetsRemoveQuery } from '../extractAssetsQuery.js';
import { assert } from '../utils.js';
import { getVirtualFileId } from '../virtualFiles.js';
const idBase = 'virtual:vike:pageConfigLazy:';
const idBaseClient = `${idBase}client:`;
const idBaseServer = `${idBase}server:`;
function getVirtualFileIdPageConfigLazy(pageId, isForClientSide) {
const id = `${isForClientSide ? idBaseClient : idBaseServer}${pageId}`;
return id;
}
function isVirtualFileIdPageConfigLazy(id) {
id = getVirtualFileId(id);
if (!id.includes(idBase))
return false;
assert(id.startsWith(idBase));
const idOriginal = id;
id = extractAssetsRemoveQuery(id);
const isExtractAssets = idOriginal !== id;
if (id.startsWith(idBaseClient)) {
assert(isExtractAssets === false);
return {
pageId: id.slice(idBaseClient.length),
isForClientSide: true,
isExtractAssets,
};
}
if (id.startsWith(idBaseServer)) {
return {
pageId: id.slice(idBaseServer.length),
isForClientSide: false,
isExtractAssets,
};
}
assert(false);
}