UNPKG

@snap/camera-kit

Version:
30 lines 1.17 kB
const handlers = new Map(); export function getTrustedTypesHandler(trustedTypesPolicyName) { const cached = handlers.get(trustedTypesPolicyName); if (cached) return cached; const handler = createHandler(trustedTypesPolicyName); handlers.set(trustedTypesPolicyName, handler); return handler; } function createHandler(trustedTypesPolicyName) { const trustedUrls = new Set(); const trustedTypes = globalThis.trustedTypes; const policy = trustedTypes === null || trustedTypes === void 0 ? void 0 : trustedTypes.createPolicy(trustedTypesPolicyName, { createScriptURL: (url) => { if (trustedUrls.has(url)) return url; throw new TypeError("Blocked by Trusted Types: " + url); }, }); return { policyName: trustedTypesPolicyName, getTrustedUrls: () => [...trustedUrls], trustUrl: (url) => { var _a; trustedUrls.add(url); return (_a = policy === null || policy === void 0 ? void 0 : policy.createScriptURL(url)) !== null && _a !== void 0 ? _a : url; }, }; } //# sourceMappingURL=trustedTypesHandler.js.map