diff options
Diffstat (limited to 'addon-sdk/source/lib/sdk/content/loader.js')
-rw-r--r-- | addon-sdk/source/lib/sdk/content/loader.js | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/addon-sdk/source/lib/sdk/content/loader.js b/addon-sdk/source/lib/sdk/content/loader.js deleted file mode 100644 index e4f0dd2aa..000000000 --- a/addon-sdk/source/lib/sdk/content/loader.js +++ /dev/null @@ -1,74 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -"use strict"; - -module.metadata = { - "stability": "unstable" -}; - -const { isValidURI, isLocalURL, URL } = require('../url'); -const { contract } = require('../util/contract'); -const { isString, isNil, instanceOf, isJSONable } = require('../lang/type'); -const { validateOptions, - string, array, object, either, required } = require('../deprecated/api-utils'); - -const isValidScriptFile = (value) => - (isString(value) || instanceOf(value, URL)) && isLocalURL(value); - -// map of property validations -const valid = { - contentURL: { - is: either(string, object), - ok: url => isNil(url) || isLocalURL(url) || isValidURI(url), - msg: 'The `contentURL` option must be a valid URL.' - }, - contentScriptFile: { - is: either(string, object, array), - ok: value => isNil(value) || [].concat(value).every(isValidScriptFile), - msg: 'The `contentScriptFile` option must be a local URL or an array of URLs.' - }, - contentScript: { - is: either(string, array), - ok: value => isNil(value) || [].concat(value).every(isString), - msg: 'The `contentScript` option must be a string or an array of strings.' - }, - contentScriptWhen: { - is: required(string), - map: value => value || 'end', - ok: value => ~['start', 'ready', 'end'].indexOf(value), - msg: 'The `contentScriptWhen` option must be either "start", "ready" or "end".' - }, - contentScriptOptions: { - ok: value => isNil(value) || isJSONable(value), - msg: 'The contentScriptOptions should be a jsonable value.' - } -}; -exports.validationAttributes = valid; - -/** - * Shortcut function to validate property with validation. - * @param {Object|Number|String} suspect - * value to validate - * @param {Object} validation - * validation rule passed to `api-utils` - */ -function validate(suspect, validation) { - return validateOptions( - { $: suspect }, - { $: validation } - ).$; -} - -function Allow(script) { - return { - get script() { - return script; - }, - set script(value) { - script = !!value; - } - }; -} - -exports.contract = contract(valid); |