UNPKG

csp-toolkit

Version:

A comprehensive toolkit for working with Content Security Policy (CSP) directives in TypeScript.

3 lines (2 loc) 525 B
"use strict";exports.mergePolicies=(t,r,e)=>{const n=r&&Object.keys(r).length>0;if(e)return r;if(!n)return t;const s={...t};for(const e in r){const n=e;if(r.hasOwnProperty(e)){const e=t[n]||[],o=r[n]||[];Array.isArray(o)?s[n]=Array.from(new Set([...e,...o])):s[n]=o}}return s},exports.policyToString=t=>Object.keys(t).reduce(((r,e)=>{const n=t[e];if(!n?.length)return r;return`${r} ${e} ${n.map((t=>t.startsWith("sha")||t.startsWith("nonce")?`'${t}'`:t)).join(" ")};`}),"").trimStart(); //# sourceMappingURL=index.cjs.js.map