UNPKG

@extra-array/has-prefix

Version:

Checks if array starts with a prefix.

24 lines (23 loc) 616 B
function id(v) { return v; } function cmp(a, b) { return a < b ? -1 : (a > b ? 1 : 0); } function compare(x, y, fc = null, fm = null) { var fc = fc || cmp, fm = fm || id; var X = x.length, Y = y.length; for (var i = 0, I = Math.min(X, Y); i < I; i++) { var u1 = fm(x[i], i, x); var v1 = fm(y[i], i, y); var c = fc(u1, v1); if (c !== 0) return c; } return Math.sign(X - Y); } function hasPrefix(x, y, fc = null, fm = null) { var Y = y.length; return Y === 0 || compare(x.slice(0, Y), y, fc, fm) === 0; } export { hasPrefix as default };