New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

@locustjs/extensions-array

Package Overview
Dependencies
Maintainers
0
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@locustjs/extensions-array - npm Package Compare versions

Comparing version
2.2.0
to
2.4.0
+24
src/containsAny.js
import { throwIfNotArray } from "@locustjs/exception";
import { isEqualityComparer, DefaultEqualityComparer } from "@locustjs/base";
const containsAny = function (arr, ...values) {
throwIfNotArray(arr, "arr");
const lastValue = values.length ? values[values.length - 1] : null;
let equalityComparer = isEqualityComparer(lastValue)
? lastValue
: DefaultEqualityComparer;
let result = false;
for (let i = 0; i < values.length; i++) {
if (arr.findIndex((x) => equalityComparer.equals(x, values[i])) >= 0) {
result = true;
break;
}
}
return result;
};
export default containsAny;
import { configureArrayExtensions } from "../src";
configureArrayExtensions("containsAny");
const tests = [
[
"Array.containsAny: 1",
function (expect) {
const arr = ["Ali", "Reza", "Saeed"];
expect(arr.containsAny("ali")).toBeTrue();
expect(arr.containsAny("reza", "ali")).toBeTrue();
expect(arr.containsAny("hamid", "ali", "leila")).toBeTrue();
expect(arr.containsAny("hamid", "ramin", "leila")).toBeFalse();
},
],
[
"Array.containsAny: 2",
function (expect) {
const arr = ["Ali", "Reza", "Saeed", "123", 456];
expect(arr.containsAny("ali")).toBeTrue();
expect(arr.containsAny("reza", "ali")).toBeTrue();
expect(arr.containsAny("456", 123)).toBeTrue();
expect(arr.containsAny(12, 20, "36")).toBeFalse();
},
],
];
export default tests;
import { containsAny } from "../src";
const tests = [
[
"containsAny: 1",
function (expect) {
const arr = ["Ali", "Reza", "Saeed"];
expect(containsAny(arr, "ali")).toBeTrue();
expect(containsAny(arr, "reza", "ali")).toBeTrue();
expect(containsAny(arr, "hamid", "ali", "leila")).toBeTrue();
expect(containsAny(arr, "hamid", "ramin", "leila")).toBeFalse();
},
],
[
"containsAny: 2",
function (expect) {
const arr = ["Ali", "Reza", "Saeed", "123", 456];
expect(containsAny(arr, "ali")).toBeTrue();
expect(containsAny(arr, "reza", "ali")).toBeTrue();
expect(containsAny(arr, "456", 123)).toBeTrue();
expect(containsAny(arr, 12, 20, "36")).toBeFalse();
},
],
];
export default tests;
+55
-28

@@ -38,28 +38,43 @@ 'use strict';

var contains = function contains(arr) {
exception.throwIfNotArray(arr, "arr");
var result = [];
for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
values[_key - 1] = arguments[_key];
}
exception.throwIfNotArray(arr, "arr");
var lastValue = values.length ? values[values.length - 1] : null;
var equalityComparer = base.isEqualityComparer(lastValue) ? lastValue : base.DefaultEqualityComparer;
var result = true;
var _loop = function _loop(i) {
if (arr.findIndex(function (x) {
return equalityComparer.equals(x, values[i]);
}) < 0) {
result = false;
return 1; // break
}
};
for (var i = 0; i < values.length; i++) {
if (base.isPrimitive(values[i])) {
values[i] = values[i].toString().toLowerCase();
}
if (_loop(i)) break;
}
for (var _i = 0; _i < arr.length; _i++) {
if (base.isPrimitive(arr[_i])) {
for (var j = 0; j < values.length; j++) {
if (arr[_i].toString().toLowerCase() == values[j]) {
result.push(true);
}
}
} else {
for (var _j = 0; _j < values.length; _j++) {
if (base.equals(arr[_i], values[_j])) {
result.push(true);
}
}
return result;
};
var containsAny = function containsAny(arr) {
for (var _len = arguments.length, values = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
values[_key - 1] = arguments[_key];
}
exception.throwIfNotArray(arr, "arr");
var lastValue = values.length ? values[values.length - 1] : null;
var equalityComparer = base.isEqualityComparer(lastValue) ? lastValue : base.DefaultEqualityComparer;
var result = false;
var _loop = function _loop(i) {
if (arr.findIndex(function (x) {
return equalityComparer.equals(x, values[i]);
}) >= 0) {
result = true;
return 1; // break
}
};
for (var i = 0; i < values.length; i++) {
if (_loop(i)) break;
}
return result.length == values.length;
return result;
};

@@ -350,8 +365,6 @@

var isEqualityComparer = function isEqualityComparer(x) {
return isObject(x) && isFunction(x.equals);
};
var objectify = function objectify(arr) {
return toObject(arr, "key-value");
};
var containsAll = contains;
function configureArrayExtensions(options, logger) {

@@ -386,2 +399,14 @@ var eh = new ExtensionHelper(options, logger);

});
eh.extend(Array, "containsAll", function () {
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
args[_key2] = arguments[_key2];
}
return containsAll.apply(void 0, [this].concat(args));
});
eh.extend(Array, "containsAny", function () {
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
args[_key3] = arguments[_key3];
}
return containsAny.apply(void 0, [this].concat(args));
});
eh.extend(Array, "objectify", function () {

@@ -411,4 +436,4 @@ return objectify(this);

eh.extend(Array, "joins", function () {
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
args[_key2] = arguments[_key2];
for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
args[_key4] = arguments[_key4];
}

@@ -418,4 +443,4 @@ return joins.apply(void 0, [this].concat(args));

eh.extend(Array, "sortBy", function () {
for (var _len3 = arguments.length, fns = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
fns[_key3] = arguments[_key3];
for (var _len5 = arguments.length, fns = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {
fns[_key5] = arguments[_key5];
}

@@ -449,3 +474,3 @@ return sortBy.apply(void 0, [this].concat(fns));

return _array_find(function (x) {
return isEqualityComparer(thisArg) ? thisArg.equals(x, arg) : x == arg;
return base.isEqualityComparer(thisArg) ? thisArg.equals(x, arg) : x == arg;
}, thisArg);

@@ -459,3 +484,3 @@ });

return _array_findIndex(function (x) {
return isEqualityComparer(thisArg) ? thisArg.equals(x, arg) : x == arg;
return base.isEqualityComparer(thisArg) ? thisArg.equals(x, arg) : x == arg;
}, thisArg);

@@ -469,2 +494,4 @@ });

exports.contains = contains;
exports.containsAll = containsAll;
exports.containsAny = containsAny;
exports.insertAt = insertAt;

@@ -471,0 +498,0 @@ exports.joins = joins;

{
"name": "@locustjs/extensions-array",
"version": "2.2.0",
"version": "2.4.0",
"description": "This library contains extensions for Array",

@@ -34,3 +34,3 @@ "main": "dist/index.js",

"dependencies": {
"@locustjs/base": "^4.4.1",
"@locustjs/base": "^4.5.1",
"@locustjs/exception": "^2.2.0",

@@ -37,0 +37,0 @@ "@locustjs/extensions-options": "^2.2.2"

@@ -1,3 +0,3 @@

import { isPrimitive, equals } from "@locustjs/base";
import { throwIfNotArray } from "@locustjs/exception";
import { isEqualityComparer, DefaultEqualityComparer } from "@locustjs/base";

@@ -7,29 +7,19 @@ const contains = function (arr, ...values) {

let result = [];
const lastValue = values.length ? values[values.length - 1] : null;
let equalityComparer = isEqualityComparer(lastValue)
? lastValue
: DefaultEqualityComparer;
let result = true;
for (let i = 0; i < values.length; i++) {
if (isPrimitive(values[i])) {
values[i] = values[i].toString().toLowerCase();
if (arr.findIndex((x) => equalityComparer.equals(x, values[i])) < 0) {
result = false;
break;
}
}
for (let i = 0; i < arr.length; i++) {
if (isPrimitive(arr[i])) {
for (let j = 0; j < values.length; j++) {
if (arr[i].toString().toLowerCase() == values[j]) {
result.push(true);
}
}
} else {
for (let j = 0; j < values.length; j++) {
if (equals(arr[i], values[j])) {
result.push(true);
}
}
}
}
return result.length == values.length;
return result;
};
export default contains;

@@ -5,2 +5,3 @@ import ExtensionHelper from "@locustjs/extensions-options";

import contains from "./contains";
import containsAny from "./containsAny";
import insertAt from "./insertAt";

@@ -15,5 +16,6 @@ import joins from "./joins";

import toObject from "./toObject";
import { isEqualityComparer } from "@locustjs/base";
const isEqualityComparer = (x) => isObject(x) && isFunction(x.equals);
const objectify = (arr) => toObject(arr, "key-value");
const containsAll = contains;

@@ -54,2 +56,10 @@ function configureArrayExtensions(options, logger) {

eh.extend(Array, "containsAll", function (...args) {
return containsAll(this, ...args);
});
eh.extend(Array, "containsAny", function (...args) {
return containsAny(this, ...args);
});
eh.extend(Array, "objectify", function () {

@@ -119,3 +129,3 @@ return objectify(this);

});
const _array_findIndex = Array.prototype.findIndex;

@@ -147,2 +157,4 @@

contains,
containsAll,
containsAny,
min,

@@ -149,0 +161,0 @@ max,

@@ -14,4 +14,17 @@ import { contains } from "../src";

],
[
"contains: 2",
function (expect) {
const arr = ["Ali", "Reza", "Saeed", "123", 456];
expect(contains(arr, "ali")).toBeTrue();
expect(contains(arr, "Reza", "ali")).toBeTrue();
expect(contains(arr, "reza", "ali", 123)).toBeTrue();
expect(contains(arr, "456", 123)).toBeTrue();
expect(contains(arr, "456", 123, "jake")).toBeFalse();
expect(contains(arr, 4567)).toBeFalse();
},
],
];
export default tests;

@@ -19,2 +19,4 @@ import test11 from "./all";

import test92 from "./Array.toObject";
import test101 from "./containsAny";
import test102 from "./Array.containsAny";
import { TestRunner } from "@locustjs/test";

@@ -41,4 +43,6 @@

...test92,
...test101,
...test102,
];
TestRunner.start(tests, true);