summaryrefslogtreecommitdiffstats
path: root/addon-sdk/source/lib/sdk/ui/button/contract.js
diff options
context:
space:
mode:
authorMatt A. Tobin <email@mattatobin.com>2018-02-09 06:46:43 -0500
committerMatt A. Tobin <email@mattatobin.com>2018-02-09 06:46:43 -0500
commitac46df8daea09899ce30dc8fd70986e258c746bf (patch)
tree2750d3125fc253fd5b0671e4bd268eff1fd97296 /addon-sdk/source/lib/sdk/ui/button/contract.js
parent8cecf8d5208f3945b35f879bba3015bb1a11bec6 (diff)
downloadUXP-ac46df8daea09899ce30dc8fd70986e258c746bf.tar
UXP-ac46df8daea09899ce30dc8fd70986e258c746bf.tar.gz
UXP-ac46df8daea09899ce30dc8fd70986e258c746bf.tar.lz
UXP-ac46df8daea09899ce30dc8fd70986e258c746bf.tar.xz
UXP-ac46df8daea09899ce30dc8fd70986e258c746bf.zip
Move Add-on SDK source to toolkit/jetpack
Diffstat (limited to 'addon-sdk/source/lib/sdk/ui/button/contract.js')
-rw-r--r--addon-sdk/source/lib/sdk/ui/button/contract.js73
1 files changed, 0 insertions, 73 deletions
diff --git a/addon-sdk/source/lib/sdk/ui/button/contract.js b/addon-sdk/source/lib/sdk/ui/button/contract.js
deleted file mode 100644
index ce6e33d95..000000000
--- a/addon-sdk/source/lib/sdk/ui/button/contract.js
+++ /dev/null
@@ -1,73 +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';
-
-const { contract } = require('../../util/contract');
-const { isLocalURL } = require('../../url');
-const { isNil, isObject, isString } = require('../../lang/type');
-const { required, either, string, boolean, object, number } = require('../../deprecated/api-utils');
-const { merge } = require('../../util/object');
-const { freeze } = Object;
-
-const isIconSet = (icons) =>
- Object.keys(icons).
- every(size => String(size >>> 0) === size && isLocalURL(icons[size]));
-
-var iconSet = {
- is: either(object, string),
- map: v => isObject(v) ? freeze(merge({}, v)) : v,
- ok: v => (isString(v) && isLocalURL(v)) || (isObject(v) && isIconSet(v)),
- msg: 'The option "icon" must be a local URL or an object with ' +
- 'numeric keys / local URL values pair.'
-}
-
-var id = {
- is: string,
- ok: v => /^[a-z-_][a-z0-9-_]*$/i.test(v),
- msg: 'The option "id" must be a valid alphanumeric id (hyphens and ' +
- 'underscores are allowed).'
-};
-
-var label = {
- is: string,
- ok: v => isNil(v) || v.trim().length > 0,
- msg: 'The option "label" must be a non empty string'
-}
-
-var badge = {
- is: either(string, number),
- msg: 'The option "badge" must be a string or a number'
-}
-
-var badgeColor = {
- is: string,
- msg: 'The option "badgeColor" must be a string'
-}
-
-var stateContract = contract({
- label: label,
- icon: iconSet,
- disabled: boolean,
- badge: badge,
- badgeColor: badgeColor
-});
-
-exports.stateContract = stateContract;
-
-var buttonContract = contract(merge({}, stateContract.rules, {
- id: required(id),
- label: required(label),
- icon: required(iconSet)
-}));
-
-exports.buttonContract = buttonContract;
-
-exports.toggleStateContract = contract(merge({
- checked: boolean
-}, stateContract.rules));
-
-exports.toggleButtonContract = contract(merge({
- checked: boolean
-}, buttonContract.rules));
-