1 | ;
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 | exports.arrayFilter = arrayFilter;
|
7 |
|
8 | var _null = require("../is/null");
|
9 |
|
10 | var _undefined = require("../is/undefined");
|
11 |
|
12 | // Copyright 2017-2022 @polkadot/util authors & contributors
|
13 | // SPDX-License-Identifier: Apache-2.0
|
14 |
|
15 | /**
|
16 | * @name arrayFilter
|
17 | * @summary Filters undefined and (optionally) null values from an array
|
18 | * @description
|
19 | * Returns a new array with all `undefined` values removed. Optionally, when `allowNulls = false`, it removes the `null` values as well
|
20 | * @example
|
21 | * <BR>
|
22 | *
|
23 | * ```javascript
|
24 | * import { arrayFilter } from '@polkadot/util';
|
25 | *
|
26 | * arrayFilter([0, void 0, true, null, false, '']); // [0, true, null, false, '']
|
27 | * arrayFilter([0, void 0, true, null, false, ''], false); // [0, true, false, '']
|
28 | * ```
|
29 | */
|
30 | // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
31 | function arrayFilter(array) {
|
32 | let allowNulls = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
33 | return array.filter(v => !(0, _undefined.isUndefined)(v) && (allowNulls || !(0, _null.isNull)(v)));
|
34 | } |
\ | No newline at end of file |