vike
Version:
The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.
33 lines (32 loc) • 1.83 kB
JavaScript
import '../../../../assertEnvServer.js';
export { injectAssets__public };
import { assertUsage, assertWarning } from '../../../../../utils/assert.js';
import { castProp } from '../../../../../utils/cast.js';
import { hasProp } from '../../../../../utils/hasProp.js';
import { injectHtmlTagsToString } from '../injectAssets.js';
// TO-DO/next-major-release: remove
async function injectAssets__public(htmlString, pageContext) {
assertWarning(false, '`_injectAssets()` is deprecated and will be removed.', { onlyOnce: true, showStackTrace: true });
assertUsage(typeof htmlString === 'string', '[injectAssets(htmlString, pageContext)]: Argument `htmlString` should be a string.', { showStackTrace: true });
assertUsage(pageContext, '[injectAssets(htmlString, pageContext)]: Argument `pageContext` is missing.', {
showStackTrace: true,
});
const errMsg = (body) => '[injectAssets(htmlString, pageContext)]: ' +
body +
'. Make sure that `pageContext` is the object that Vike provided to your `render(pageContext)` hook.';
assertUsage(hasProp(pageContext, 'urlPathname', 'string'), errMsg('`pageContext.urlPathname` should be a string'), {
showStackTrace: true,
});
assertUsage(hasProp(pageContext, 'pageId', 'string'), errMsg('`pageContext.pageId` should be a string'), {
showStackTrace: true,
});
assertUsage(hasProp(pageContext, '__getPageAssets'), errMsg('`pageContext.__getPageAssets` is missing'), {
showStackTrace: true,
});
assertUsage(hasProp(pageContext, '_passToClient', 'string[]'), errMsg('`pageContext._passToClient` is missing'), {
showStackTrace: true,
});
castProp(pageContext, '__getPageAssets');
htmlString = await injectHtmlTagsToString([htmlString], pageContext, null);
return htmlString;
}