@gluonjs/core / src / TrustedTypePolicy
Interface: TrustedTypePolicy
Properties
name?
readonlyoptionalname?:string
Methods
createHTML()
createHTML(
input):unknown
Parameters
input
string
Returns
unknown
Example
Adapt an application-created browser TrustedTypePolicy without creating or weakening a global policy inside Gluon:
import {
createApp,
html,
hydrate,
trustedHTML,
type HydrationOptions,
type TrustedHtmlResult,
type TrustedTypePolicy,
type TrustedTypesConfig,
} from '@gluonjs/core';
const factory = (globalThis as typeof globalThis & {
trustedTypes: { createPolicy(name: string, rules: { createHTML(value: string): string }): TrustedTypePolicy };
}).trustedTypes;
const policy: TrustedTypePolicy = factory.createPolicy('gluon-shop', { createHTML: (value) => value });
const trustedTypes = { policyName: 'gluon-shop', policy } satisfies TrustedTypesConfig;
const reviewedMarkup: TrustedHtmlResult = trustedHTML('<strong>Reviewed application markup</strong>');
const app = createApp(() => html`<main>${reviewedMarkup}</main>`);
app.config.trustedTypes = trustedTypes;
const root = document.querySelector<HTMLElement>('#app')!;
const mount = app.mount(root);
const hydrationOptions = { expectedMarkup: root.innerHTML, trustedTypes } satisfies HydrationOptions;
hydrate(html`<main>${reviewedMarkup}</main>`, root, hydrationOptions);
mount.unmount();