@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
JavaScript
;
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;