voideditor--void
25 行
897 B
TypeScript
25 行
897 B
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
/**
|
|
* @returns New array with all falsy values removed. The original array IS NOT modified.
|
|
*/
|
|
export function coalesce<T>(array: ReadonlyArray<T | undefined | null>): T[] {
|
|
return <T[]>array.filter(e => !!e);
|
|
}
|
|
|
|
export function equals<T>(one: ReadonlyArray<T>, other: ReadonlyArray<T>, itemEquals: (a: T, b: T) => boolean = (a, b) => a === b): boolean {
|
|
if (one.length !== other.length) {
|
|
return false;
|
|
}
|
|
|
|
for (let i = 0, len = one.length; i < len; i++) {
|
|
if (!itemEquals(one[i], other[i])) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
return true;
|
|
}
|