diff options
Diffstat (limited to 'js/src/Ice/ArrayUtil.js')
-rw-r--r-- | js/src/Ice/ArrayUtil.js | 86 |
1 files changed, 27 insertions, 59 deletions
diff --git a/js/src/Ice/ArrayUtil.js b/js/src/Ice/ArrayUtil.js index 303842ea687..a3e89db4bc4 100644 --- a/js/src/Ice/ArrayUtil.js +++ b/js/src/Ice/ArrayUtil.js @@ -7,11 +7,11 @@ // // ********************************************************************** -var Ice = require("../Ice/ModuleRegistry").Ice; -var __M = Ice.__M; -var Slice = Ice.Slice; +const Ice = require("../Ice/ModuleRegistry").Ice; +const _ModuleRegistry = Ice._ModuleRegistry; +const Slice = Ice.Slice; -var eq = function(e1, e2) +const eq = function(e1, e2) { if(e1 === e2) { @@ -36,9 +36,9 @@ var eq = function(e1, e2) return false; }; -var ArrayUtil = +class ArrayUtil { - clone: function(arr) + static clone(arr) { if(arr === undefined) { @@ -52,16 +52,17 @@ var ArrayUtil = { return arr.slice(); } - }, - equals: function(v1, v2, valuesEqual) + } + + static equals(v1, v2, valuesEqual) { if(v1.length != v2.length) { return false; } - var i, length, equalFn = valuesEqual || eq; - for(i = 0, length = v1.length; i < length; ++i) + const equalFn = valuesEqual || eq; + for(let i = 0; i < v1.length; ++i) { if(!equalFn.call(equalFn, v1[i], v2[i])) { @@ -70,69 +71,36 @@ var ArrayUtil = } return true; - }, - shuffle: function(arr) + } + + static shuffle(arr) { - for(var i = arr.length; i > 1; --i) + for(let i = arr.length; i > 1; --i) { - var e = arr[i - 1]; - var rand = Math.floor(Math.random() * i); + let e = arr[i - 1]; + let rand = Math.floor(Math.random() * i); arr[i - 1] = arr[rand]; arr[rand] = e; } - }, - indexOf: function(arr, elem, equalFn) - { - if(equalFn !== undefined && equalFn !== null) - { - for(var i = 0; i < arr.length; ++i) - { - if(equalFn.call(equalFn, arr[i], elem)) - { - return i; - } - } - } - else - { - return arr.indexOf(elem); - } - - return -1; - }, - filter: function(arr, includeFn, obj) - { - obj = obj === undefined ? includeFn : obj; - var result = []; - for(var i = 0; i < arr.length; ++i) - { - if(includeFn.call(obj, arr[i], i, arr)) - { - result.push(arr[i]); - } - } - return result; } -}; +} ArrayUtil.eq = eq; Slice.defineSequence = function(module, name, valueHelper, fixed, elementType) { - var helper = null; + let helper = null; Object.defineProperty(module, name, - { - get: function() - { - if(helper === null) + { + get: function() { - /*jshint -W061 */ - helper = Ice.StreamHelpers.generateSeqHelper(__M.type(valueHelper), fixed, __M.type(elementType)); - /*jshint +W061 */ + if(helper === null) + { + helper = Ice.StreamHelpers.generateSeqHelper(_ModuleRegistry.type(valueHelper), fixed, _ModuleRegistry.type(elementType)); + } + return helper; } - return helper; - } - }); + }); }; Ice.ArrayUtil = ArrayUtil; |