compare-functions
Version:
Functions to check equality for variouse criterea
110 lines (106 loc) • 2.23 kB
Markdown
# 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
```