functionallibrary
Advanced tools
Comparing version
@@ -22,2 +22,10 @@ (function (global, factory) { | ||
var every = function every(fn, col) { | ||
return col.every(fn); | ||
}; | ||
var filter = function filter(fn, col) { | ||
return col.filter(fn); | ||
}; | ||
var find = function find(fn, col) { | ||
@@ -39,7 +47,12 @@ return col.find(fn); | ||
var reduce = function reduce(fn, col) { | ||
var acc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : []; | ||
var reduce = function reduce(fn) { | ||
var acc = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; | ||
var col = arguments.length > 2 ? arguments[2] : undefined; | ||
return col.reduce(fn, acc); | ||
}; | ||
var some = function some(fn, col) { | ||
return col.some(fn); | ||
}; | ||
var arrayPrototypes = { | ||
@@ -50,3 +63,6 @@ find: find, | ||
map: map, | ||
reduce: reduce | ||
reduce: reduce, | ||
filter: filter, | ||
every: every, | ||
some: some | ||
}; | ||
@@ -316,3 +332,3 @@ | ||
var getPropertyValue = getPropertysValue_1.getPropertyValue; | ||
var getPropertysValue$1 = getPropertysValue_1.getPropertysValue; | ||
@@ -337,3 +353,3 @@ var createPropertyByOtherOne = function createPropertyByOtherOne() { | ||
newItem[prop1] = getPropertyValue(prop2)(newItem); | ||
newItem[prop1] = getPropertysValue$1(prop2)(newItem); | ||
return newItem; | ||
@@ -461,6 +477,4 @@ }; | ||
var round = function round(decimal) { | ||
return function (value) { | ||
return Number(value.toFixed(decimal)); | ||
}; | ||
var round = function round(decimal, value) { | ||
return Number(value.toFixed(decimal)); | ||
}; | ||
@@ -487,8 +501,31 @@ | ||
var curry = function curry(fn) { | ||
var arity = fn.length; | ||
return function $curry() { | ||
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { | ||
args[_key] = arguments[_key]; | ||
} | ||
if (args.length < arity) { | ||
return $curry.bind.apply($curry, [null].concat(args)); | ||
} | ||
return fn.call.apply(fn, [null].concat(args)); | ||
}; | ||
}; | ||
var curry_2 = curry; | ||
var curry_1 = { | ||
curry: curry_2 | ||
}; | ||
var allAreTrue$1 = allAreTrue_1.allAreTrue; | ||
var find$2 = arrayPrototypes.find, | ||
var every$1 = arrayPrototypes.every, | ||
filter$1 = arrayPrototypes.filter, | ||
find$2 = arrayPrototypes.find, | ||
findIndex$2 = arrayPrototypes.findIndex, | ||
forEach$1 = arrayPrototypes.forEach, | ||
map$1 = arrayPrototypes.map, | ||
reduce$1 = arrayPrototypes.reduce; | ||
reduce$1 = arrayPrototypes.reduce, | ||
some$1 = arrayPrototypes.some; | ||
var atLeastOneTrue$1 = atLeastOneTrue_1.atLeastOneTrue; | ||
@@ -500,3 +537,3 @@ var commonsItemsBetweenArrays$1 = commonsItemsBetweenArrays_1.commonsItemsBetweenArrays; | ||
var equality$2 = equality_1.equality; | ||
var getPropertysValue$1 = getPropertysValue_1.getPropertysValue; | ||
var getPropertysValue$2 = getPropertysValue_1.getPropertysValue; | ||
var isEmpty$2 = isEmpty_1.isEmpty; | ||
@@ -510,24 +547,28 @@ var isNotEmpty$1 = isNotEmpty_1.isNotEmpty; | ||
var setNewProperty$1 = setNewProperty_1.setNewProperty; | ||
var curry$1 = curry_1.curry; | ||
var wrapper = { | ||
allAreTrue: allAreTrue$1, | ||
atLeastOneTrue: atLeastOneTrue$1, | ||
commonsItemsBetweenArrays: commonsItemsBetweenArrays$1, | ||
commonsItemsBetweenArrays: curry$1(commonsItemsBetweenArrays$1), | ||
compose: compose$1, | ||
createPropertyByOtherOne: createPropertyByOtherOne$1, | ||
createPropertyByOtherOne: curry$1(createPropertyByOtherOne$1), | ||
debounce: debounce$1, | ||
equality: equality$2, | ||
find: find$2, | ||
findIndex: findIndex$2, | ||
forEach: forEach$1, | ||
getPropertysValue: getPropertysValue$1, | ||
every: curry$1(every$1), | ||
filter: curry$1(filter$1), | ||
find: curry$1(find$2), | ||
findIndex: curry$1(findIndex$2), | ||
forEach: curry$1(forEach$1), | ||
getPropertysValue: getPropertysValue$2, | ||
isEmpty: isEmpty$2, | ||
isNotEmpty: isNotEmpty$1, | ||
map: map$1, | ||
map: curry$1(map$1), | ||
mergeObjects: mergeObjects$1, | ||
reduce: reduce$1, | ||
removeItemFromArrayByIndex: removeItemFromArrayByIndex$2, | ||
removeItemFromArrayByProp: removeItemFromArrayByProp$1, | ||
reduce: curry$1(reduce$1), | ||
removeItemFromArrayByIndex: curry$1(removeItemFromArrayByIndex$2), | ||
removeItemFromArrayByProp: curry$1(removeItemFromArrayByProp$1), | ||
returnUniqueArraysItems: returnUniqueArraysItems$1, | ||
round: round$1, | ||
setNewProperty: setNewProperty$1 | ||
round: curry$1(round$1), | ||
setNewProperty: setNewProperty$1, | ||
some: curry$1(some$1) | ||
}; | ||
@@ -541,16 +582,19 @@ var wrapper_1 = wrapper.allAreTrue; | ||
var wrapper_7 = wrapper.equality; | ||
var wrapper_8 = wrapper.find; | ||
var wrapper_9 = wrapper.findIndex; | ||
var wrapper_10 = wrapper.forEach; | ||
var wrapper_11 = wrapper.getPropertysValue; | ||
var wrapper_12 = wrapper.isEmpty; | ||
var wrapper_13 = wrapper.isNotEmpty; | ||
var wrapper_14 = wrapper.map; | ||
var wrapper_15 = wrapper.mergeObjects; | ||
var wrapper_16 = wrapper.reduce; | ||
var wrapper_17 = wrapper.removeItemFromArrayByIndex; | ||
var wrapper_18 = wrapper.removeItemFromArrayByProp; | ||
var wrapper_19 = wrapper.returnUniqueArraysItems; | ||
var wrapper_20 = wrapper.round; | ||
var wrapper_21 = wrapper.setNewProperty; | ||
var wrapper_8 = wrapper.every; | ||
var wrapper_9 = wrapper.filter; | ||
var wrapper_10 = wrapper.find; | ||
var wrapper_11 = wrapper.findIndex; | ||
var wrapper_12 = wrapper.forEach; | ||
var wrapper_13 = wrapper.getPropertysValue; | ||
var wrapper_14 = wrapper.isEmpty; | ||
var wrapper_15 = wrapper.isNotEmpty; | ||
var wrapper_16 = wrapper.map; | ||
var wrapper_17 = wrapper.mergeObjects; | ||
var wrapper_18 = wrapper.reduce; | ||
var wrapper_19 = wrapper.removeItemFromArrayByIndex; | ||
var wrapper_20 = wrapper.removeItemFromArrayByProp; | ||
var wrapper_21 = wrapper.returnUniqueArraysItems; | ||
var wrapper_22 = wrapper.round; | ||
var wrapper_23 = wrapper.setNewProperty; | ||
var wrapper_24 = wrapper.some; | ||
@@ -565,16 +609,19 @@ exports.allAreTrue = wrapper_1; | ||
exports.equality = wrapper_7; | ||
exports.find = wrapper_8; | ||
exports.findIndex = wrapper_9; | ||
exports.forEach = wrapper_10; | ||
exports.getPropertysValue = wrapper_11; | ||
exports.isEmpty = wrapper_12; | ||
exports.isNotEmpty = wrapper_13; | ||
exports.map = wrapper_14; | ||
exports.mergeObjects = wrapper_15; | ||
exports.reduce = wrapper_16; | ||
exports.removeItemFromArrayByIndex = wrapper_17; | ||
exports.removeItemFromArrayByProp = wrapper_18; | ||
exports.returnUniqueArraysItems = wrapper_19; | ||
exports.round = wrapper_20; | ||
exports.setNewProperty = wrapper_21; | ||
exports.every = wrapper_8; | ||
exports.filter = wrapper_9; | ||
exports.find = wrapper_10; | ||
exports.findIndex = wrapper_11; | ||
exports.forEach = wrapper_12; | ||
exports.getPropertysValue = wrapper_13; | ||
exports.isEmpty = wrapper_14; | ||
exports.isNotEmpty = wrapper_15; | ||
exports.map = wrapper_16; | ||
exports.mergeObjects = wrapper_17; | ||
exports.reduce = wrapper_18; | ||
exports.removeItemFromArrayByIndex = wrapper_19; | ||
exports.removeItemFromArrayByProp = wrapper_20; | ||
exports.returnUniqueArraysItems = wrapper_21; | ||
exports.round = wrapper_22; | ||
exports.setNewProperty = wrapper_23; | ||
exports.some = wrapper_24; | ||
@@ -581,0 +628,0 @@ Object.defineProperty(exports, '__esModule', { value: true }); |
@@ -0,1 +1,3 @@ | ||
const every = (fn, col) => col.every(fn); | ||
const filter = (fn, col) => col.filter(fn); | ||
const find = (fn, col) => col.find(fn); | ||
@@ -5,3 +7,4 @@ const findIndex = (fn, col) => col.findIndex(fn); | ||
const map = (fn, col) => col.map(fn); | ||
const reduce = (fn, col, acc = []) => col.reduce(fn, acc); | ||
module.exports = { find, findIndex, forEach, map, reduce }; | ||
const reduce = (fn, acc = [], col) => col.reduce(fn, acc); | ||
const some = (fn, col) => col.some(fn); | ||
module.exports = { find, findIndex, forEach, map, reduce, filter, every, some }; |
@@ -1,14 +0,15 @@ | ||
const { find } = require('./arrayPrototypes'); | ||
const { equality } = require('./equality'); | ||
const { find, every } = require('./arrayPrototypes'); | ||
const { curry } = require('./curry'); | ||
const commonsItemsBetweenArrays = (collection1, collection2) => { | ||
const [arr1, prop1] = collection1; | ||
const [arr2, prop2] = collection2; | ||
const lower = arr1.length <= arr2.length ? arr1 : arr2; | ||
const bigger = lower.length === arr1.length ? arr2 : arr1; | ||
const everyCurried = curry(every); | ||
const commonsItemsBetweenArrays = (prop, collection1, collection2) => { | ||
const lower = collection1.length <= collection2.length ? collection1 : collection2; | ||
const bigger = lower.length === collection1.length ? collection2 : collection1; | ||
let list = []; | ||
if (prop2) { | ||
if (prop) { | ||
lower.forEach((a) => { | ||
const val = prop1 ? a[prop1] : a; | ||
const match = find(equality(prop2, val), bigger); | ||
const val = a[prop]; | ||
const match = find(equality(prop, val), bigger); | ||
if (match) { | ||
@@ -18,14 +19,24 @@ list = list.concat(match); | ||
}); | ||
} else { | ||
// Los elementos son números o strings | ||
const isString = s => typeof s === 'string'; | ||
const isNumber = s => typeof s === 'number'; | ||
const allStrings = everyCurried(isString); | ||
const allNumbers = everyCurried(isNumber); | ||
const allLowersAreString = allStrings(lower); | ||
const allBiggersAreString = allStrings(bigger); | ||
const allLowersAreNumber = allNumbers(lower); | ||
const allBiggersAreNumber = allNumbers(bigger); | ||
if( | ||
(allBiggersAreNumber && allLowersAreNumber) || | ||
(allBiggersAreString && allLowersAreString) | ||
) { | ||
lower.forEach((a) => { | ||
const match = bigger.find(b => a === b); | ||
list = match ? list.concat(match) : list; | ||
}); | ||
} | ||
} | ||
if( | ||
lower.every(a => typeof a === 'string' || typeof a === 'number') && | ||
bigger.every(a => typeof a === 'string' || typeof a === 'number') | ||
) { | ||
lower.forEach((a) => { | ||
const match = bigger.find(b => a === b); | ||
list = match ? list.concat(match) : list; | ||
}); | ||
} | ||
return list; | ||
} | ||
module.exports.commonsItemsBetweenArrays = commonsItemsBetweenArrays; |
const { getPropertysValue } = require("./getPropertysValue"); | ||
const { setNewProperty } = require("./setNewProperty"); | ||
const createPropertyByOtherOne = (...args) => { | ||
const [prop1, prop2] = args; | ||
return function inner(item) { | ||
let newItem = null; | ||
if (item.length) { | ||
[newItem] = item; | ||
} else { | ||
newItem = { ...item }; | ||
} | ||
newItem[prop1] = getPropertysValue(prop2)(newItem); | ||
return newItem; | ||
}; | ||
const createPropertyByOtherOne = (prop1, prop2, obj) => { | ||
const getVal = getPropertysValue(prop2, obj); | ||
const setValIn = setNewProperty(prop1, getVal); | ||
return setValIn(obj); | ||
} | ||
module.exports.createPropertyByOtherOne = createPropertyByOtherOne; |
@@ -10,4 +10,2 @@ const equality = (...args) => { | ||
} | ||
// const people = [{ id: 1, name: 'Noah' }, { id: 2, name; 'Pepe' }, { id: 3, name: 'Luciana' }, { id: 4, name: 'Jose Juan' }]; | ||
// const noah = people.find(equality('name', 'Noah')); --> noah = { id: 1, name: 'Noah' } | ||
module.exports.equality = equality; |
@@ -1,11 +0,9 @@ | ||
const getPropertysValue = (args) => { | ||
const propFlow = args.split('.'); | ||
return function inner(item) { | ||
let newItem = { ...item }; | ||
propFlow.forEach((el) => { | ||
newItem = (newItem || {})[el]; | ||
}); | ||
return newItem; | ||
}; | ||
const getPropertysValue = (nestedProp, obj) => { | ||
const propFlow = nestedProp.split('.'); | ||
let newItem = { ...obj }; | ||
propFlow.forEach((el) => { | ||
newItem = (newItem || {})[el]; | ||
}); | ||
return newItem; | ||
} | ||
module.exports.getPropertysValue = getPropertysValue; |
const { findIndex } = require('./arrayPrototypes'); | ||
const { removeItemFromArrayByIndex } = require('./removeItemFromArrayByIndex'); | ||
const removeItemFromArrayByProp = (prop, val) => (arr) => { | ||
const removeItemFromArrayByProp = (prop, val, arr) => { | ||
const index = findIndex(a => a[prop] === val, arr); | ||
@@ -6,0 +6,0 @@ return removeItemFromArrayByIndex(index, arr); |
@@ -1,2 +0,2 @@ | ||
const round = decimal => value => Number(value.toFixed(decimal)); | ||
const round = (decimal, value) => Number(value.toFixed(decimal)); | ||
module.exports.round = round; |
{ | ||
"name": "functionallibrary", | ||
"version": "1.0.8", | ||
"version": "2.0.0", | ||
"description": "funciones a usar en programacion funcional", | ||
@@ -21,3 +21,5 @@ "main": "dist/functionallibrary.umd.js", | ||
"pure", | ||
"functions" | ||
"functions", | ||
"curry", | ||
"compose" | ||
], | ||
@@ -32,3 +34,4 @@ "author": "josejuan81", | ||
"@babel/polyfill": "^7.8.7", | ||
"@rollup/plugin-commonjs": "^11.1.0" | ||
"@rollup/plugin-commonjs": "^11.1.0", | ||
"rollup": "^2.16.1" | ||
}, | ||
@@ -35,0 +38,0 @@ "devDependencies": { |
113
README.md
@@ -21,2 +21,29 @@ # Functional Library | ||
## Summary | ||
allAreTrue, | ||
atLeastOneTrue, | ||
commonsItemsBetweenArrays, | ||
compose, | ||
createPropertyByOtherOne: curry(createPropertyByOtherOne), | ||
debounce, | ||
equality, | ||
every: curry(every), | ||
filter: curry(filter), | ||
find: curry(find), | ||
findIndex: curry(findIndex), | ||
forEach: curry(forEach), | ||
getPropertysValue: curry(getPropertysValue), | ||
identity: curry(identity), | ||
isEmpty, | ||
isNotEmpty, | ||
map: curry(map), | ||
mergeObjects, | ||
reduce: curry(reduce), | ||
removeItemFromArrayByIndex: curry(removeItemFromArrayByIndex), | ||
removeItemFromArrayByProp: curry(removeItemFromArrayByProp), | ||
returnUniqueArraysItems, | ||
round: curry(round), | ||
setNewProperty, | ||
some: curry(some), | ||
## Use | ||
@@ -122,2 +149,18 @@ import ***functionallibrary*** in your `.js` file | ||
## arrayPrototypes | ||
***every*** | ||
```js | ||
const arr = [true, true, true, true]; | ||
const allTrue = (v) => !!v; | ||
every(allTrue, arr) // true | ||
const arr = [1, 3, 5, 'a', 10]; | ||
const isNumber = (n) => typeof n === 'number'; | ||
const allNumbers = every(isNumber, arr) // false | ||
``` | ||
***filter*** | ||
```js | ||
const arr = [1, 3, 5, 8, 10, 12]; | ||
const moreThan5 = (v) => v > 5; | ||
const item = filter(moreThan5, arr) // [8, 10, 12] | ||
``` | ||
***find*** | ||
@@ -145,4 +188,10 @@ ```js | ||
const total = (acc, v) => acc + v; | ||
const totalAmount = reduce(total, arr, 0) // 9 | ||
const totalAmount = reduce(total, 0, arr) // 9 | ||
``` | ||
***some*** | ||
```js | ||
const arr = [1, 3, 5, 'a', 10]; | ||
const letter = (n) => typeof n === 'string'; | ||
const anyLetter = some(letter, arr) // true | ||
``` | ||
## atLeastOneTrue | ||
@@ -169,3 +218,3 @@ ```js | ||
const b = [5, 6, 7, 8, 9, 10]; | ||
commonsIntemsBetweenArrays([a], [b]); // [5, 6, 7, 8, 9] | ||
commonsItemsBetweenArrays(null, a, b); // [5, 6, 7, 8, 9] | ||
``` | ||
@@ -185,3 +234,3 @@ ```js | ||
]; | ||
commonsItemsBetweenArrays([a, 'name'], [b, 'name']) // [{id: 1, name: 'wen'}, {id: 5, name: 'JJ'}] | ||
commonsItemsBetweenArrays('name', a, b) // [{id: 1, name: 'wen'}, {id: 5, name: 'JJ'}] | ||
``` | ||
@@ -207,2 +256,3 @@ ## compose | ||
## createPropertyByOtherOne | ||
> create `code` using `id` value; | ||
```js | ||
@@ -249,8 +299,8 @@ var persons = [ | ||
} | ||
const grandChild = getPropertysValue('child.child.name')(grandMother) // 'juan' | ||
const granMothersName = getPropertysValue('name')(grandMother) // 'ada' | ||
const grandChildLastname = getPropertysValue('child.child.lastname')(grandMother) // 'undefined' | ||
const grandChild = getPropertysValue('child.child.name', grandMother) // 'juan' | ||
const granMothersName = getPropertysValue('name', grandMother) // 'ada' | ||
const grandChildLastname = getPropertysValue('child.child.lastname', grandMother) // 'undefined' | ||
getPropertyValue('child.lastname.name')(grandMother) // 'undefined' | ||
getPropertyValue('lastname.child.name')(grandMother) // 'undefined' | ||
getPropertyValue('child.lastname.name', grandMother) // 'undefined' | ||
getPropertyValue('lastname.child.name', grandMother) // 'undefined' | ||
``` | ||
@@ -319,2 +369,17 @@ | ||
// } | ||
const p1 = { | ||
name: 'jose', | ||
} | ||
const p2 = { | ||
name: 'juan', | ||
age: 28, | ||
} | ||
const p3 = { | ||
name: 'Andres', | ||
age: 40, | ||
children: true, | ||
} | ||
mergeObjects(props1, props2, props3) // { name: 'Andres', age: 40, children: true } | ||
mergeObjects(props3, props2, props1) // { name: 'jose', age: 28, children: true } | ||
``` | ||
@@ -414,1 +479,33 @@ ## removeItemFromArrayByIndex | ||
``` | ||
## currying | ||
```js | ||
const persons = [ | ||
{ id: 1, name: 'kaki', age: 33 }, | ||
{ id: 2, name: 'jj', age: 38 }, | ||
{ id: 3, name: 'churry', age: 11 }, | ||
{ id: 4, name: 'nene', age: 6 }, | ||
]; | ||
const students = [ | ||
{ id: 1, name: 'kaki', age: 13 }, | ||
{ id: 2, name: 'jj', age: 18 }, | ||
{ id: 3, name: 'churry', age: 11 }, | ||
{ id: 4, name: 'nene', age: 6 }, | ||
]; | ||
const biggerThan30 = v => v > 30; | ||
const getAge = getPropertysValue('age'); | ||
const existAnyBodyBiggerThan30 = some(compose(biggerThan30, getAge)); | ||
const anyBodyBiggerThan30InPersons = existAnyBodyBiggerThan30(persons); // true | ||
const anyBodyBiggerThan30InStudents = existAnyBodyBiggerThan30(students); // false | ||
``` | ||
## Identity | ||
```js | ||
const five = 5; | ||
identity(five) // 5 | ||
const arr = [1, 2]; | ||
identity(arr) // [1, 2] | ||
const obj = { id: 1, code: 'abc' }; | ||
identity(obj) // { id: 1, code: 'abc' } | ||
``` |
const assert = require('assert').strict; | ||
const { allAreTrue } = require('./../functions/allAreTrue'); | ||
const { allAreTrue } = require('./../wrapper'); | ||
@@ -4,0 +4,0 @@ console.log('test on "allAreTtrue function: "') |
const assert = require('assert').strict; | ||
const { find, findIndex, map, reduce } = require('./../functions/arrayPrototypes'); | ||
const { every, filter, find, findIndex, map, reduce, some } = require('./../wrapper'); | ||
@@ -52,3 +52,3 @@ console.log('test on "arrayPrototypes function: "') | ||
const totalAge = persons.reduce((acc, p) => acc + p.age, 0); | ||
const reducePersons = reduce((acc, p) => acc + p.age, persons, 0); | ||
const reducePersons = reduce((acc, p) => acc + p.age, 0, persons); | ||
assert.deepEqual( | ||
@@ -60,1 +60,43 @@ totalAge, | ||
console.log('==> reduce function ok!') | ||
const everyBodyHasName = persons.every(p => !!p.name); | ||
const everyFunction = every((p) => !!p.name, persons); | ||
assert.deepEqual( | ||
everyBodyHasName, | ||
everyFunction, | ||
); | ||
const arrN = [1, 3, 5, 'a', 10]; | ||
const number = (n) => typeof n === 'number'; | ||
const allNumbers = every(number, arrN) | ||
assert.deepEqual(false, allNumbers); | ||
console.log('==> every function ok!') | ||
const olderThan30 = persons.filter(p => p.age > 30); | ||
const filtering = filter((p) => p.age > 30, persons); | ||
assert.deepEqual( | ||
olderThan30, | ||
filtering, | ||
); | ||
const arrF = [1, 3, 5, 8, 10, 12]; | ||
const moreThan5 = (v) => v > 5; | ||
const items = filter(moreThan5, arrF) | ||
assert.deepEqual( | ||
[8, 10, 12], | ||
items | ||
) | ||
console.log('==> filter function ok!') | ||
const youngerThan10 = persons.some((p) => p.age < 10); | ||
const some10 = some((p) => p.age < 10, persons); | ||
assert.deepEqual( | ||
youngerThan10, | ||
some10, | ||
); | ||
const arr = [1, 3, 5, 'a', 10]; | ||
const letter = (n) => typeof n === 'string'; | ||
const anyLetter = some(letter, arr) | ||
assert.deepEqual( | ||
true, | ||
anyLetter, | ||
); | ||
console.log('==> some function ok!') |
const assert = require('assert').strict; | ||
const { atLeastOneTrue } = require('./../functions/atLeastOneTrue'); | ||
const { atLeastOneTrue } = require('./../wrapper'); | ||
@@ -4,0 +4,0 @@ console.log('test on "atLeastOneTrue function: "') |
const assert = require('assert').strict; | ||
const { commonsItemsBetweenArrays } = require('./../functions/commonsItemsBetweenArrays'); | ||
const { commonsItemsBetweenArrays } = require('./../wrapper'); | ||
@@ -21,7 +21,56 @@ console.log('test on "commonsItemsBetweenArrays function: "') | ||
]; | ||
assert.deepEqual( | ||
commons, | ||
commonsItemsBetweenArrays([a, 'name'], [b, 'name']), | ||
'No son iguales los items comunes', | ||
commons, | ||
commonsItemsBetweenArrays('name', a, b), | ||
'No son iguales los items comunes', | ||
); | ||
console.log('==> commonsItemsBetweenArrays functino Ok!'); | ||
var c = "necesitounacadenadetextolargaparaestaprueba".split(''); | ||
var d = "necesitootracadenadetextolargaparaconstrastarlaanterior".split(''); | ||
assert.deepEqual( | ||
[ | ||
'n', | ||
'e', | ||
'c', | ||
'e', | ||
's', | ||
'i', | ||
't', | ||
'o', | ||
'n', | ||
'a', | ||
'c', | ||
'a', | ||
'd', | ||
'e', | ||
'n', | ||
'a', | ||
'd', | ||
'e', | ||
't', | ||
'e', | ||
'x', | ||
't', | ||
'o', | ||
'l', | ||
'a', | ||
'r', | ||
'g', | ||
'a', | ||
'p', | ||
'a', | ||
'r', | ||
'a', | ||
'e', | ||
's', | ||
't', | ||
'a', | ||
'p', | ||
'r', | ||
'e', | ||
'a', | ||
], | ||
commonsItemsBetweenArrays(null, c, d), | ||
'No son iguales los números comunes', | ||
) | ||
console.log('==> commonsItemsBetweenArrays function Ok!'); |
const assert = require('assert').strict; | ||
const { compose } = require('./../functions/compose'); | ||
const { setNewProperty } = require('./../functions/setNewProperty'); | ||
const { map } = require('./../functions/arrayPrototypes'); | ||
const { compose, setNewProperty, map } = require('./../wrapper'); | ||
@@ -6,0 +4,0 @@ console.log('test on "compose function: "') |
const assert = require('assert').strict; | ||
const { createPropertyByOtherOne } = require('./../functions/createPropertyByOtherOne'); | ||
const { map } = require('./../functions/arrayPrototypes'); | ||
const {compose } = require('./../functions/compose'); | ||
const { createPropertyByOtherOne, compose, map } = require('./../wrapper'); | ||
@@ -6,0 +4,0 @@ console.log('test on "createPropertyByOtherOne function: "'); |
const assert = require('assert').strict; | ||
const { equality } = require('./../functions/equality'); | ||
const { equality } = require('./../wrapper'); | ||
@@ -4,0 +4,0 @@ console.log('test on "equality function: "') |
const assert = require('assert').strict; | ||
const { map } = require('./../functions/arrayPrototypes'); | ||
const { compose } = require('./../functions/compose'); | ||
const { setNewProperty } = require('./../functions/setNewProperty'); | ||
const { compose, map, setNewProperty } = require('./../wrapper'); | ||
@@ -6,0 +4,0 @@ console.log('testing examples'); |
const assert = require('assert').strict; | ||
const { getPropertysValue } = require('../functions/getPropertysValue'); | ||
const { getPropertysValue } = require('./../wrapper'); | ||
@@ -4,0 +4,0 @@ console.log('test on "getPropertysValue function: "') |
@@ -1,16 +0,18 @@ | ||
const allAreTrue = require('./allAreTrue.spec'); | ||
const arrayPrototypes = require('./arrayPrototypes.spec'); | ||
const atLeastOneTrue = require('./atLeastOneTrue.spec'); | ||
const commonsItemsBetweenArrays = require('./commonsItemsBetweenArrays.spec'); | ||
const compose = require('./compose.spec'); | ||
const createdPropertyByOtherOne = require('./createPropertyByOtherOne.spec'); | ||
const equality = require('./equality.spec'); | ||
const getPropertysValue = require('./getPropertysValue.spec'); | ||
const isEmpty = require('./isEmpty.spec'); | ||
const isNotEmpty = require('./isNotEmpty.spec'); | ||
const mergeObjects = require('./mergeObject.spec'); | ||
const removeItemFromArrayByIndex = require('./removeItemFromArrayByItem.spec'); | ||
const removeItemFromArrayByProp = require('./removeItemFromArrayByProp.spec'); | ||
const returnUniqueArraysItems = require('./returnUniqueArraysItems.spec'); | ||
const round = require('./round.spec'); | ||
const examples = require('./examples.spec'); | ||
require('./allAreTrue.spec'); | ||
require('./arrayPrototypes.spec'); | ||
require('./atLeastOneTrue.spec'); | ||
require('./commonsItemsBetweenArrays.spec'); | ||
require('./compose.spec'); | ||
require('./createPropertyByOtherOne.spec'); | ||
require('./equality.spec'); | ||
require('./getPropertysValue.spec'); | ||
require('./isEmpty.spec'); | ||
require('./isNotEmpty.spec'); | ||
require('./mergeObject.spec'); | ||
require('./removeItemFromArrayByItem.spec'); | ||
require('./removeItemFromArrayByProp.spec'); | ||
require('./returnUniqueArraysItems.spec'); | ||
require('./round.spec'); | ||
require('./examples.spec'); | ||
require('./curry.spec'); | ||
require('./identity.spec'); |
const assert = require('assert').strict; | ||
const { isEmpty } = require('../functions/isEmpty'); | ||
const { isEmpty } = require('./../wrapper'); | ||
@@ -4,0 +4,0 @@ console.log('test on "isEmpty function: "') |
const assert = require('assert').strict; | ||
const { isEmpty } = require('../functions/isEmpty'); | ||
const { isNotEmpty } = require('./../functions/isNotEmpty'); | ||
const { isNotEmpty } = require('./../wrapper'); | ||
@@ -5,0 +4,0 @@ console.log('test on "isNotEmpty function: "') |
const assert = require('assert').strict; | ||
const { mergeObjects } = require('../functions/mergeObjects'); | ||
const { mergeObjects } = require('./../wrapper'); | ||
@@ -31,2 +31,25 @@ console.log('test on "mergeObjects function: "') | ||
); | ||
const props1 = { | ||
name: 'jose', | ||
} | ||
const props2 = { | ||
name: 'juan', | ||
age: 28, | ||
} | ||
const props3 = { | ||
name: 'Andres', | ||
age: 40, | ||
children: true, | ||
} | ||
assert.deepEqual( | ||
{ name: 'Andres', age: 40, children: true }, | ||
mergeObjects(props1, props2, props3), | ||
'Mezclando personas #1', | ||
); | ||
assert.deepEqual( | ||
{ name: 'jose', age: 28, children: true }, | ||
mergeObjects(props3, props2, props1), | ||
'Mezclando personas #2', | ||
); | ||
console.log('==> mergeObjects function Ok!!') |
const assert = require('assert').strict; | ||
const { findIndex } = require('./../functions/arrayPrototypes'); | ||
const { removeItemFromArrayByIndex } = require('../functions/removeItemFromArrayByIndex'); | ||
const { findIndex, removeItemFromArrayByIndex } = require('./../wrapper'); | ||
@@ -5,0 +4,0 @@ console.log('test on "removeItemFromArrayByIndex function: "') |
const assert = require('assert').strict; | ||
const { removeItemFromArrayByProp } = require('../functions/removeItemFromArrayByProp'); | ||
const { removeItemFromArrayByProp } = require('./../wrapper'); | ||
@@ -4,0 +4,0 @@ console.log('test on "removeItemFromArrayByProp function: "') |
const assert = require('assert').strict; | ||
const { returnUniqueArraysItems } = require('./../functions/returnUniqueArraysItems'); | ||
const { returnUniqueArraysItems } = require('./../wrapper'); | ||
@@ -43,2 +43,28 @@ console.log('test on "returnUniqueArraysItems function: "'); | ||
); | ||
var h = "necesitounacadenadetextolargaparaestaprueba".split(''); | ||
var g = "necesitootracadenadetextolargaparaconstrastarlaanterior".split(''); | ||
assert.deepEqual( | ||
[ | ||
'n', | ||
'e', | ||
'c', | ||
's', | ||
'i', | ||
't', | ||
'o', | ||
'u', | ||
'a', | ||
'd', | ||
'x', | ||
'l', | ||
'r', | ||
'g', | ||
'p', | ||
'b', | ||
], | ||
returnUniqueArraysItems(h, g), | ||
'No son únicos los elementos', | ||
); | ||
console.log('==> returnUniqueArraysItems function Ok!') |
const assert = require('assert').strict; | ||
const { round } = require('./../functions/round'); | ||
const { round } = require('./../wrapper'); | ||
@@ -4,0 +4,0 @@ console.log('test on "round function: "'); |
const { allAreTrue } = require("./functions/allAreTrue"); | ||
const { find, findIndex, forEach, map, reduce } = require("./functions/arrayPrototypes"); | ||
const { every, filter, find, findIndex, forEach, map, reduce, some } = require("./functions/arrayPrototypes"); | ||
const { atLeastOneTrue } = require("./functions/atLeastOneTrue"); | ||
@@ -7,5 +7,7 @@ const { commonsItemsBetweenArrays } = require("./functions/commonsItemsBetweenArrays"); | ||
const { createPropertyByOtherOne } = require("./functions/createPropertyByOtherOne"); | ||
const { curry } = require("./functions/curry"); | ||
const { debounce } = require("./functions/debounce"); | ||
const { equality } = require("./functions/equality"); | ||
const { getPropertysValue } = require("./functions/getPropertysValue"); | ||
const { identity } = require('./functions/identity'); | ||
const { isEmpty } = require("./functions/isEmpty"); | ||
@@ -25,19 +27,23 @@ const { isNotEmpty } = require("./functions/isNotEmpty"); | ||
compose, | ||
createPropertyByOtherOne, | ||
createPropertyByOtherOne: curry(createPropertyByOtherOne), | ||
debounce, | ||
equality, | ||
find, | ||
findIndex, | ||
forEach, | ||
getPropertysValue, | ||
every: curry(every), | ||
filter: curry(filter), | ||
find: curry(find), | ||
findIndex: curry(findIndex), | ||
forEach: curry(forEach), | ||
getPropertysValue: curry(getPropertysValue), | ||
identity: curry(identity), | ||
isEmpty, | ||
isNotEmpty, | ||
map, | ||
map: curry(map), | ||
mergeObjects, | ||
reduce, | ||
removeItemFromArrayByIndex, | ||
removeItemFromArrayByProp, | ||
reduce: curry(reduce), | ||
removeItemFromArrayByIndex: curry(removeItemFromArrayByIndex), | ||
removeItemFromArrayByProp: curry(removeItemFromArrayByProp), | ||
returnUniqueArraysItems, | ||
round, | ||
round: curry(round), | ||
setNewProperty, | ||
some: curry(some), | ||
}; |
56196
15.83%46
9.52%1440
18.52%502
23.65%3
50%+ Added