summaryrefslogtreecommitdiff
path: root/js/src/Ice/ArrayUtil.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/Ice/ArrayUtil.js')
-rw-r--r--js/src/Ice/ArrayUtil.js86
1 files changed, 27 insertions, 59 deletions
diff --git a/js/src/Ice/ArrayUtil.js b/js/src/Ice/ArrayUtil.js
index 16cc1ad79a1..d2e8b56b287 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 __M = Ice.__M;
+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(__M.type(valueHelper), fixed, __M.type(elementType));
+ }
+ return helper;
}
- return helper;
- }
- });
+ });
};
Ice.ArrayUtil = ArrayUtil;