integreat
Version:
Node.js integration layer
29 lines • 978 B
JavaScript
export function ensureArray(value) {
return []
.concat(value)
.filter((item) => item !== undefined && item !== null);
}
export function ensureArrayOrUndefined(value) {
return value === undefined ? undefined : ensureArray(value);
}
export function arrayIncludes(a, b) {
if (Array.isArray(a) && Array.isArray(b)) {
return a.some((item) => b.includes(item));
}
else if (Array.isArray(a)) {
return a.includes(b);
}
else if (Array.isArray(b)) {
return b.includes(a);
}
else {
return a === b;
}
}
export const getFirstIfArray = (data) => Array.isArray(data) ? data[0] : data;
export const unwrapArrayOfOne = (arr) => Array.isArray(arr) && arr.length === 1 ? arr[0] : arr;
export async function filterAsync(arr, comparer) {
const results = await Promise.all(arr.map(async (val) => await comparer(val)));
return arr.filter((_v, index) => results[index]);
}
//# sourceMappingURL=array.js.map