summaryrefslogtreecommitdiff
path: root/packages/integrations/vue/server.js
blob: 883aa4de0054ac61a99a60188a98989264decc5c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import { h, createSSRApp } from 'vue';
import { renderToString } from 'vue/server-renderer';
import StaticHtml from './static-html.js';

function check(Component) {
	return !!Component['ssrRender'];
}

async function renderToStaticMarkup(Component, props, slotted) {
	const slots = {};
	for (const [key, value] of Object.entries(slotted)) {
		slots[key] = () => h(StaticHtml, { value, name: key === 'default' ? undefined : key });
	}
	const app = createSSRApp({ render: () => h(Component, props, slots) });
	const html = await renderToString(app);
	return { html };
}

export default {
	check,
	renderToStaticMarkup,
};
'13' height='13' alt='Gravatar' /> Jarred Sumner 4-3/+30 2022-05-10[bun.js] Implement `Buffer.byteLength`Gravatar Jarred Sumner 7-47/+443 2022-05-09Fix extra quote in bundled require errorsGravatar Jarred Sumner 1-2/+2 2022-05-09few more napi functionsGravatar Jarred Sumner 2-1/+30 2022-05-09Update MakefileGravatar Jarred Sumner 1-3/+3 2022-05-09Update Dockerfile.baseGravatar Jarred Sumner 1-1/+1 2022-05-09[napi] getters & setters workGravatar Jarred Sumner 1-26/+39