Sha256: 8ee84e89c960c4d131108521f08866db241eb83a8b1a0bc0429b16ecd2edd913
Contents?: true
Size: 699 Bytes
Versions: 36
Compression:
Stored size: 699 Bytes
Contents
function List(list) { this.list = list || []; return { list: this.list, compare: function(other){ return { '-1': isSublist(other.list, this.list) ? 'SUBLIST' : 'UNEQUAL', '0': isSublist(other.list, this.list) ? 'EQUAL' : 'UNEQUAL', '1': isSublist(this.list, other.list) ? 'SUPERLIST' : 'UNEQUAL' }[lengthDiff(this, other)]; } } } function lengthDiff(one, two){ return String(Math.sign(one.list.length - two.list.length)); } function isSublist(one, two){ return one.join().match(two.join()); } module.exports = List;
Version data entries
36 entries across 36 versions & 1 rubygems