diff --git a/lib/parse-dynamic-directives.js b/lib/parse-dynamic-directives.js index c7cea0b..4208790 100644 --- a/lib/parse-dynamic-directives.js +++ b/lib/parse-dynamic-directives.js @@ -1,8 +1,11 @@ -var reduce = require('lodash.reduce') var isFunction = require('./is-function') module.exports = function parseDynamicDirectives (directives, functionArgs) { - return reduce(directives, function (result, value, key) { + var result = {} + + Object.keys(directives).forEach(function (key) { + var value = directives[key] + if (Array.isArray(value)) { result[key] = value.map(function (element) { if (isFunction(element)) { @@ -16,7 +19,7 @@ module.exports = function parseDynamicDirectives (directives, functionArgs) { } else if (value !== false) { result[key] = value } + }) - return result - }, {}) + return result } diff --git a/lib/transform-directives-for-browser.js b/lib/transform-directives-for-browser.js index 4b038aa..cecc8d1 100644 --- a/lib/transform-directives-for-browser.js +++ b/lib/transform-directives-for-browser.js @@ -1,7 +1,9 @@ -var reduce = require('lodash.reduce') - function createFirefoxPreCSP10Directives (directives, basePolicy) { - return reduce(directives, function (result, value, key) { + var result = Object.assign({}, basePolicy) + + Object.keys(directives).forEach(function (key) { + var value = directives[key] + if (key === 'connectSrc') { result.xhrSrc = value } else { @@ -22,9 +24,9 @@ function createFirefoxPreCSP10Directives (directives, basePolicy) { result.options = optionsValues } } + }) - return result - }, basePolicy) + return result } var handlers = { diff --git a/package-lock.json b/package-lock.json index 38f94ed..008685c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1451,11 +1451,6 @@ "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==", "dev": true }, - "lodash.reduce": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", - "integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=" - }, "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", diff --git a/package.json b/package.json index f6e69df..7135439 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,6 @@ "camelize": "1.0.0", "content-security-policy-builder": "2.0.0", "dasherize": "2.0.0", - "lodash.reduce": "4.6.0", "platform": "1.3.5" }, "devDependencies": {