node package manager
Painless code sharing. npm Orgs help your team discover, share, and reuse code. Create a free org »

compare-functions

compare-functions

Functions to check equality for variouse criterea

features

functions

curryable

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

const cmp = require("compare-functions");
1===1; // true
cmp.strict(1,1); // true

asString

Compare by result of toString

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

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

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

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

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