UNPKG

@try-at-software/input-elements

Version:

A package providing different input elements that are extensible and easily configurable for your custom needs.

29 lines (28 loc) 978 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ArrayComparator = void 0; const DefaultEqualityComparer_1 = require("./DefaultEqualityComparer"); class ArrayComparator { constructor(equalityComparer = null) { this._equalityComparer = equalityComparer !== null && equalityComparer !== void 0 ? equalityComparer : new DefaultEqualityComparer_1.DefaultEqualityComparer(); } /** @inheritdoc */ areEqual(a, b) { if (a === b) return true; if (a == null || b == null) return false; if (a.length !== b.length) return false; for (let i = 0; i < a.length; ++i) { if (!this._equalityComparer.areEqual(a[i], b[i])) return false; } return true; } /** @inheritdoc */ isValid(value) { return !!value && value.length > 0; } } exports.ArrayComparator = ArrayComparator;