|
3 | 3 | Object.defineProperty(exports, "__esModule", { |
4 | 4 | value: true |
5 | 5 | }); |
6 | | -exports.sortBy = exports.Objectify = exports.any = exports.all = exports.removeAt = exports.insertAt = exports.range = exports.shuffle = exports.default = void 0; |
| 6 | +exports.contains = exports.sortBy = exports.Objectify = exports.any = exports.all = exports.removeAt = exports.insertAt = exports.range = exports.shuffle = exports.default = void 0; |
7 | 7 |
|
8 | 8 | var _locustjsBase = require("locustjs-base"); |
9 | 9 |
|
@@ -238,6 +238,40 @@ var sortBy = function sortBy(arr) { |
238 | 238 |
|
239 | 239 | exports.sortBy = sortBy; |
240 | 240 |
|
| 241 | +var contains = function contains(arr) { |
| 242 | + var result = []; |
| 243 | + |
| 244 | + for (var _len2 = arguments.length, values = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { |
| 245 | + values[_key2 - 1] = arguments[_key2]; |
| 246 | + } |
| 247 | + |
| 248 | + for (var i = 0; i < values.length; i++) { |
| 249 | + if ((0, _locustjsBase.isPrimitive)(values[i])) { |
| 250 | + values[i] = values[i].toString().toLowerCase(); |
| 251 | + } |
| 252 | + } |
| 253 | + |
| 254 | + for (var _i = 0; _i < arr.length; _i++) { |
| 255 | + if ((0, _locustjsBase.isPrimitive)(arr[_i])) { |
| 256 | + for (var j = 0; j < values.length; j++) { |
| 257 | + if (arr[_i].toString().toLowerCase() == values[j]) { |
| 258 | + result.push(true); |
| 259 | + } |
| 260 | + } |
| 261 | + } else { |
| 262 | + for (var _j = 0; _j < values.length; _j++) { |
| 263 | + if ((0, _locustjsBase.equals)(arr[_i], values[_j])) { |
| 264 | + result.push(true); |
| 265 | + } |
| 266 | + } |
| 267 | + } |
| 268 | + } |
| 269 | + |
| 270 | + return result.length == values.length; |
| 271 | +}; |
| 272 | + |
| 273 | +exports.contains = contains; |
| 274 | + |
241 | 275 | function configureArrayExtensions(options) { |
242 | 276 | var _options = (0, _locustjsExtensionsOptions.configureOptions)(options); |
243 | 277 |
|
@@ -282,6 +316,16 @@ function configureArrayExtensions(options) { |
282 | 316 | }; |
283 | 317 | } |
284 | 318 |
|
| 319 | + if (!Array.prototype.contains || (0, _locustjsExtensionsOptions.shouldExtend)('contains', _options)) { |
| 320 | + Array.prototype.contains = function () { |
| 321 | + for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { |
| 322 | + args[_key3] = arguments[_key3]; |
| 323 | + } |
| 324 | + |
| 325 | + return contains.apply(void 0, [this].concat(args)); |
| 326 | + }; |
| 327 | + } |
| 328 | + |
285 | 329 | if (!Array.prototype.Objectify || (0, _locustjsExtensionsOptions.shouldExtend)('Objectify', _options)) { |
286 | 330 | /* this method has close relation with String.prototype.nestedSplit in locustjs-extensions-string |
287 | 331 | examples |
@@ -314,8 +358,8 @@ function configureArrayExtensions(options) { |
314 | 358 |
|
315 | 359 | if (!Array.prototype.sortBy || (0, _locustjsExtensionsOptions.shouldExtend)('sortBy', _options)) { |
316 | 360 | Array.prototype.sortBy = function () { |
317 | | - for (var _len2 = arguments.length, fns = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { |
318 | | - fns[_key2] = arguments[_key2]; |
| 361 | + for (var _len4 = arguments.length, fns = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { |
| 362 | + fns[_key4] = arguments[_key4]; |
319 | 363 | } |
320 | 364 |
|
321 | 365 | return sortBy.apply(void 0, [this].concat(fns)); |
|
0 commit comments