csp-builder
Version:
A builder tool to help generate Content Security Policies in a type-safe way
18 lines (17 loc) • 465 B
JavaScript
export class AbstractMultiValueDirective {
constructor() {
this.state = new Set();
}
addValue(value) {
const values = Array.isArray(value) ? value : [value];
this.state = new Set([...this.state, ...values]);
return this;
}
serialize() {
const sources = Array.from(this.state).join(' ');
return `${this.getDirectiveName()} ${sources};`;
}
getMinimumCspVersion() {
return 1;
}
}