diff options
Diffstat (limited to 'tools/addon-sdk-1.5/packages/api-utils/lib/array.js')
-rw-r--r-- | tools/addon-sdk-1.5/packages/api-utils/lib/array.js | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/tools/addon-sdk-1.5/packages/api-utils/lib/array.js b/tools/addon-sdk-1.5/packages/api-utils/lib/array.js deleted file mode 100644 index dadcfa6..0000000 --- a/tools/addon-sdk-1.5/packages/api-utils/lib/array.js +++ /dev/null @@ -1,69 +0,0 @@ -/* vim:set ts=2 sw=2 sts=2 et: */ -/* 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"; - -/** - * Returns `true` if given `array` contain given `element` or `false` - * otherwise. - * @param {Array} array - * Target array. - * @param {Object|String|Number|Boolean} element - * Element being looked up. - * @returns {Boolean} - */ -var has = exports.has = function has(array, element) { - // shorter and faster equivalent of `array.indexOf(element) >= 0` - return !!~array.indexOf(element); -}; - -/** - * Adds given `element` to the given `array` if it does not contain it yet. - * `true` is returned if element was added otherwise `false` is returned. - * @param {Array} array - * Target array. - * @param {Object|String|Number|Boolean} element - * Element to be added. - * @returns {Boolean} - */ -var add = exports.add = function add(array, element) { - var result; - if ((result = !has(array, element))) - array.push(element); - - return result; -}; - -/** - * Removes first occurrence of the given `element` from the given `array`. If - * `array` does not contain given `element` `false` is returned otherwise - * `true` is returned. - * @param {Array} array - * Target array. - * @param {Object|String|Number|Boolean} element - * Element to be removed. - * @returns {Boolean} - */ -exports.remove = function remove(array, element) { - var result; - if ((result = has(array, element))) - array.splice(array.indexOf(element), 1); - - return result; -}; - -/** - * Produces a duplicate-free version of the given `array`. - * @param {Array} array - * Source array. - * @returns {Array} - */ -exports.unique = function unique(array) { - var value = []; - return array.forEach(function(element) { - add(value, element); - }); - return value; -}; |