UNPKG

compare-functions

Version:

Functions to check equality for variouse criterea

110 lines (106 loc) 2.23 kB
# compare-functions Functions to check equality for variouse criterea #### features - [curryable](#curryable) #### functions - [strict](#strict) - [asString](#asstring) - [setContent](#setcontent) - [functionSource](#functionsource) - [mapContent](#mapcontent) - [near](#near) ## curryable ```js const cmp = require("compare-functions"); cmp.near(v1,v2,v3); cmp.near(v1)(v2,v3); cmp.near(v1,v2)(v3); cmp.near(v1)(v2)(v3); ``` ## strict Same as strict compare ```js const cmp = require("compare-functions"); 1===1; // true cmp.strict(1,1); // true ``` ## asString Compare by result of toString ```js const cmp = require("compare-functions"); const v1 = { a:1 }; const v2 = { b:2 }; cmp.asString(v1,v2); // true cmp.strict(v1,v2); // false ``` ## setContent True if two sets have same values ```js const cmp = require("compare-functions"); const v1 = new Set([1,2,3]); const v2 = new Set([3,2,1]); const v3 = new Set([3,2]); cmp.setContent(5,5); // false cmp.setContent(v1,v2); // true cmp.setContent(v2,v3); // false cmp.strict(5,5); // true cmp.strict(v1,v2); // false ``` ## functionSource True if both items are functions and have same result of toString ```js const cmp = require("compare-functions"); const v1 = ()=>6; const v2 = ()=>6; cmp.functionSource(5,5); // false cmp.functionSource(v1,v2); // true cmp.strict(5,5); // true cmp.strict(v1,v2); // false ``` ## mapContent True if values are maps and have same keys, and same values at those keys ```js const cmp = require("compare-functions"); const v1 = new Map([ ["a",1,], ["b",2,], ["c",3,], ]); const v2 = new Map([ ["b",2,], ["c",3,], ["a",1,], ]); const v3 = new Map([ ["b",2,], ["c",3,], ]); cmp.mapContent(5,5); // false cmp.mapContent(v1,v2); // true cmp.mapContent(v2,v3); // false cmp.strict(5,5); // true cmp.strict(v1,v2); // false ``` ## near True if items are number and within first argument of eachother ```js const cmp = require("compare-functions"); const v1 = 5; const v2 = 5.5; const v3 = 6; const v4 = 6.1; const near = cmp.near(1); cmp.near(1,v1,v2); // true cmp.near(1,v1,v3); // true cmp.near(1,v1,v4); // false near(v1,v2); // true near(v1,v3); // true near(v1,v4); // false cmp.strict(v1,v2); // false ```