UNPKG

@extra-array/has-suffix

Version:

Checks if array ends with a suffix.

25 lines (24 loc) 623 B
'use strict'; 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 hasSuffix(x, y, fc = null, fm = null) { var Y = y.length; return Y === 0 || compare(x.slice(-Y), y, fc, fm) === 0; } module.exports = hasSuffix;