Socket
Socket
Sign inDemoInstall

rambda

Package Overview
Dependencies
Maintainers
1
Versions
202
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rambda - npm Package Compare versions

Comparing version 0.1.3 to 0.1.4

16

benchmark.js

@@ -6,4 +6,5 @@ const R = require("./rambda")

//const add = new Benchmark.Suite
const add = new Benchmark.Suite
const update = new Benchmark.Suite
const type = new Benchmark.Suite

@@ -36,2 +37,15 @@ // add.add('Rambda#add', ()=>{

})
type.add('Rambda#type', ()=>{
R.type([1,2,3])
})
.add('R.update', () => {
Ramda.type([1,2,3])
})
.on('cycle', event => {
benchmarks.add(event.target)
})
.on('complete', ()=>{
benchmarks.log()
})
.run()

2

index.js

@@ -1,1 +0,1 @@

const R=require("./compose"),add=(a,b)=>{if(b===void 0){return c=>add(a,c);}else{return a+b;}},adjust=(d,e,f)=>{if(e===void 0){return(g,h)=>adjust(d,g,h);}else if(f===void 0){return j=>adjust(d,e,j);}else{return f.map((k,l)=>{if(l===e){return d(f[e]);}else{return k;}});}},any=(m,n)=>{if(n===void 0){return o=>any(m,o);}else{let p=!1;n.map(q=>{if(m(q)===!0){p=!0;}});return p;}},append=(r,s)=>{if(s===void 0){return t=>append(r,t);}else{const u=s;u.unshift(r);return u;}},contains=(v,w)=>{if(w===void 0){return x=>contains(v,x);}else{return any(y=>v===y,w);}},filter=(z,A)=>{if(A===void 0){return B=>filter(z,B);}else{return A.filter(z);}},flatten=C=>{const D=[];C.map(E=>{if(E instanceof Array){E.map(F=>{if(F instanceof Array){F.map(G=>{if(G instanceof Array){D.push(...G);}else{D.push(G);}});}else{D.push(F);}});}else{D.push(E);}});return D;},drop=(H,I)=>{if(I===void 0){return J=>drop(H,J);}else{const K=I;return K.slice(H);}},dropLast=(L,M)=>{if(M===void 0){return N=>dropLast(L,N);}else{const O=M;return O.slice(0,-L);}},head=P=>dropLast(P.length-1,P),init=Q=>dropLast(1,Q),join=(S,T)=>{if(T===void 0){return U=>join(S,U);}else{return T.join(S);}},map=(V,W)=>{if(W===void 0){return X=>map(V,X);}else{return W.map(V);}},last=Y=>Y[Y.length-1],prepend=(Z,a1)=>{if(a1===void 0){return b1=>prepend(Z,b1);}else{const c1=a1;c1.push(Z);return c1;}},range=(d1,e1)=>{const f1=[];for(let i=d1;i<e1;i++){f1.push(i);}return f1;},subtract=(a,b)=>{if(b===void 0){return c=>subtract(a,c);}else{return a-b;}},split=(g1,h1)=>{if(h1===void 0){return i1=>split(g1,i1);}else{return h1.split(g1);}},tail=j1=>drop(1,j1);module.exports.add=add;module.exports.adjust=adjust;module.exports.any=any;module.exports.append=append;module.exports.contains=contains;module.exports.compose=R.compose;module.exports.drop=drop;module.exports.dropLast=dropLast;module.exports.filter=filter;module.exports.flatten=flatten;module.exports.head=head;module.exports.init=init;module.exports.join=join;module.exports.last=last;module.exports.map=map;module.exports.prepend=prepend;module.exports.range=range;module.exports.split=split;module.exports.subtract=subtract;module.exports.tail=tail;
const R=require("./compose"),add=(a,b)=>{if(b===void 0){return c=>add(a,c);}else{return a+b;}},adjust=(d,e,f)=>{if(e===void 0){return(g,h)=>adjust(d,g,h);}else if(f===void 0){return j=>adjust(d,e,j);}else{return f.map((k,l)=>{if(l===e){return d(f[e]);}else{return k;}});}},any=(m,n)=>{if(n===void 0){return o=>any(m,o);}else{let p=!1;n.map(q=>{if(m(q)===!0){p=!0;}});return p;}},append=(r,s)=>{if(s===void 0){return t=>append(r,t);}else{const u=s;u.unshift(r);return u;}},contains=(v,w)=>{if(w===void 0){return x=>contains(v,x);}else{return any(y=>v===y,w);}},filter=(z,A)=>{if(A===void 0){return B=>filter(z,B);}else{return A.filter(z);}},flatten=C=>{const D=[];C.map(E=>{if(E instanceof Array){E.map(F=>{if(F instanceof Array){F.map(G=>{if(G instanceof Array){D.push(...G);}else{D.push(G);}});}else{D.push(F);}});}else{D.push(E);}});return D;},drop=(H,I)=>{if(I===void 0){return J=>drop(H,J);}else{const K=I;return K.slice(H);}},dropLast=(L,M)=>{if(M===void 0){return N=>dropLast(L,N);}else{const O=M;return O.slice(0,-L);}},head=P=>dropLast(P.length-1,P),init=Q=>dropLast(1,Q),join=(S,T)=>{if(T===void 0){return U=>join(S,U);}else{return T.join(S);}},map=(V,W)=>{if(W===void 0){return X=>map(V,X);}else{return W.map(V);}},last=Y=>Y[Y.length-1],prepend=(Z,a1)=>{if(a1===void 0){return b1=>prepend(Z,b1);}else{const c1=a1;c1.push(Z);return c1;}},propEq=(d1,e1,f1)=>{if(e1===void 0){return(g1,h1)=>propEq(d1,g1,h1);}else if(f1===void 0){return i1=>propEq(d1,e1,i1);}else{return f1[d1]===e1;}},range=(j1,k1)=>{const l1=[];for(let i=j1;i<k1;i++){l1.push(i);}return l1;},repeat=(a,m1)=>{if(m1===void 0){return n1=>repeat(a,n1);}else{const o1=range(0,m1);return o1.fill(a);}},replace=(p1,q1,r1)=>{if(q1===void 0){return(s1,t1)=>replace(p1,s1,t1);}else if(r1===void 0){return u1=>replace(p1,q1,u1);}else{return r1.replace(p1,q1);}},subtract=(a,b)=>{if(b===void 0){return c=>subtract(a,c);}else{return a-b;}},sort=(fn,w1)=>{if(w1===void 0){return x1=>sort(fn,x1);}else{const y1=w1;return y1.sort(fn);}},sortBy=(fn,A1)=>{if(A1===void 0){return B1=>sortBy(fn,B1);}else{const C1=A1;return C1.sort((a,b)=>{const D1=fn(a),E1=fn(b);return D1<E1?-1:D1>E1?1:0;});}},split=(F1,G1)=>{if(G1===void 0){return H1=>split(F1,H1);}else{return G1.split(F1);}},splitEvery=(I1,a)=>{if(a===void 0){return J1=>splitEvery(I1,J1);}else{I1=I1>1?I1:1;const K1=[];let L1=0;while(L1<a.length){K1.push(a.slice(L1,L1+=I1));}return K1;}},tail=M1=>drop(1,M1),take=(N1,O1)=>{if(O1===void 0){return P1=>take(N1,P1);}else{const Q1=O1;return Q1.slice(0,N1);}},takeLast=(R1,S1)=>{if(S1===void 0){return T1=>dropLast(R1,T1);}else{const U1=S1;R1=R1>U1.length?U1.length:R1;return U1.slice(U1.length-R1);}},toLower=a=>a.toLowerCase(),toUpper=a=>a.toUpperCase(),test=(V1,W1)=>{if(W1===void 0){return X1=>test(V1,X1);}else{return W1.search(V1)===-1?!1:!0;}},type=a=>{if(a===null){return"Null";}else if(a.splice!==void 0){return"Array";}else if(a.freeze!==void 0){return"Object";}else if(typeof a==="boolean"){return"Boolean";}else if(typeof a==="number"){return"Number";}else if(typeof a==="string"){return"String";}else if(a===void 0){return"Undefined";}else if(a instanceof RegExp){return"RegExp";}return"Object";},values=Y1=>{const Z1=[];for(key in Y1){Z1.push(Y1[key]);}return Z1;},uniq=a2=>{const b2=[];return a2.filter(c2=>{if(b2.includes(c2)){return!1;}else{b2.push(c2);return!0;}});},update=(d2,e2,f2)=>{if(e2===void 0){return(g2,h2)=>update(d2,g2,h2);}else if(f2===void 0){return i2=>update(d2,e2,i2);}else{return f2.fill(d2,e2,e2+1);}};module.exports.add=add;module.exports.adjust=adjust;module.exports.any=any;module.exports.append=append;module.exports.contains=contains;module.exports.compose=R.compose;module.exports.drop=drop;module.exports.dropLast=dropLast;module.exports.filter=filter;module.exports.flatten=flatten;module.exports.head=head;module.exports.init=init;module.exports.join=join;module.exports.last=last;module.exports.map=map;module.exports.prepend=prepend;module.exports.propEq=propEq;module.exports.range=range;module.exports.repeat=repeat;module.exports.replace=replace;module.exports.sort=sort;module.exports.sortBy=sortBy;module.exports.split=split;module.exports.splitEvery=splitEvery;module.exports.subtract=subtract;module.exports.tail=tail;module.exports.take=take;module.exports.takeLast=takeLast;module.exports.test=test;module.exports.toLower=toLower;module.exports.toUpper=toUpper;module.exports.type=type;module.exports.values=values;module.exports.uniq=uniq;module.exports.update=update;
{
"name": "rambda",
"version": "0.1.3",
"version": "0.1.4",
"description": "Lightweight alternative to Ramda",

@@ -30,5 +30,5 @@ "main": "index.js",

"benchmark": "^2.1.3",
"jest": "^18.1.0",
"ramda": "*"
"ramda": "*",
"jest": "^18.1.0"
}
}

@@ -145,6 +145,16 @@ const R = require("./compose")

const propEq = (key,val, obj)=>{
if(val===undefined){
return (valHolder,objHolder)=>propEq(key, valHolder, objHolder)
}else if(obj === undefined){
return holder => propEq(key,val, holder)
}else{
return obj[key] === val
}
}
const range = (start, end) => {
const willReturn = []
for (let i = start; i < end; i++) {
willReturn.push(i)
willReturn.push(i);
}

@@ -155,2 +165,21 @@

const repeat = (a, num) =>{
if(num === undefined){
return holder => repeat(a, holder)
}else{
const willReturn = range(0,num)
return willReturn.fill(a)
}
}
const replace = (regex, replacer,str) => {
if(replacer === undefined){
return (replacerHolder, strHolder) => replace(regex, replacerHolder, strHolder)
}else if(str === undefined){
return holder => replace(regex, replacer, holder)
}else{
return str.replace(regex, replacer)
}
}
const subtract = (a,b)=>{

@@ -164,2 +193,26 @@ if(b === undefined){

const sort = (fn,arr) =>{
if(arr===undefined){
return holder => sort(fn,holder)
}else{
const arrClone = arr
return arrClone.sort(fn)
}
}
const sortBy = (fn,arr) =>{
if(arr===undefined){
return holder => sortBy(fn,holder)
}else{
const arrClone = arr
return arrClone.sort((a,b)=>{
const fnA = fn(a)
const fnB = fn(b)
return fnA < fnB ? -1 : fnA > fnB ? 1 : 0
})
}
}
const split = (glue,str) =>{

@@ -173,10 +226,77 @@ if(str===undefined){

const splitEvery = (num,a) =>{
if(a===undefined){
return holder => splitEvery(num,holder)
}else{
num = num > 1 ?
num :
1
const willReturn = []
let counter = 0
while(counter<a.length){
willReturn.push(a.slice(counter, counter += num))
}
return willReturn
}
}
const tail = arr => drop(1, arr)
const take = (takeNumber, arr) => {
if(arr === undefined){
return holder => take(takeNumber, holder)
}else{
const arrClone = arr
return arrClone.slice(0,takeNumber)
}
}
const takeLast = (takeNumber, arr) => {
if(arr === undefined){
return holder => dropLast(takeNumber, holder)
}else{
const arrClone = arr
takeNumber = takeNumber > arrClone.length ?
arrClone.length :
takeNumber
return arrClone.slice(arrClone.length - takeNumber)
}
}
const toLower = a => a.toLowerCase()
const toUpper = a => a.toUpperCase()
const test = (regex, str) =>{
if(str === undefined){
return holder => test(regex, holder)
}else{
return str.search(regex) === -1 ?
false :
true
}
}
const type = a => {
let b = R.compose(
filter(val=>a instanceof val)
)([Array, Number])
console.log(b)
return ""
if(a === null){
return "Null"
}else if(a.splice!== undefined){
return "Array"
}else if(a.freeze !== undefined){
return "Object"
}else if(typeof(a)==="boolean"){
return "Boolean"
} else if(typeof(a) === "number"){
return "Number"
}else if(typeof(a) === "string"){
return "String"
} else if(a === undefined){
return "Undefined"
}else if(a instanceof RegExp){
return "RegExp"
}
return "Object"
}

@@ -214,18 +334,2 @@

const updateB = (newValue,index,arr)=>{
if(index === undefined){
return (indexHolder, arrHolder) => update(newValue,indexHolder, arrHolder)
}else if(arr === undefined){
return holder => update(newValue,index, holder)
}else{
return arr.map((val,key)=>{
if(key===index){
return newValue
}else{
return val
}
})
}
}
module.exports.add = add

@@ -247,6 +351,17 @@ module.exports.adjust = adjust

module.exports.prepend = prepend
module.exports.propEq = propEq
module.exports.range = range
module.exports.repeat = repeat
module.exports.replace = replace
module.exports.sort = sort
module.exports.sortBy = sortBy
module.exports.split = split
module.exports.splitEvery = splitEvery
module.exports.subtract = subtract
module.exports.tail = tail
module.exports.take = take
module.exports.takeLast = takeLast
module.exports.test = test
module.exports.toLower = toLower
module.exports.toUpper = toUpper
module.exports.type = type

@@ -253,0 +368,0 @@ module.exports.values = values

@@ -151,2 +151,18 @@ const Ramda = require("ramda")

it("propEq",()=>{
expect(
R.propEq(
"foo",
"bar"
)({foo:"bar"})
).toBeTruthy()
expect(
R.propEq(
"foo",
"bar"
)({foo:"baz"})
).toBeFalsy()
})
it("range",()=>{

@@ -161,2 +177,57 @@ expect(

it("repeat",()=>{
expect(
R.replace(/\s/g)("|")("foo bar baz")
).toEqual("foo|bar|baz")
})
it("replace",()=>{
expect(
R.repeat('foo', 3)
).toEqual(["foo","foo","foo"])
expect(
R.repeat({}, 3)
).toEqual([{},{},{}])
})
it("sort",()=>{
expect(
R.sort(
(a,b)=> a>b
)(["foo","bar","baz"])
).toEqual(["bar", "baz", "foo"])
expect(
R.sort(
(a,b)=> a-b
)([2,3,1])
).toEqual([1,2,3])
})
it("sortBy",()=>{
const sortByNameCaseInsensitive = R.sortBy(
R.compose(
R.toLower,
Ramda.prop('name')
)
)
const alice = {
name: 'ALICE',
age: 101
};
const bob = {
name: 'Bob',
age: -10
};
const clara = {
name: 'clara',
age: 314.159
};
const people = [clara, bob, alice];
expect(
sortByNameCaseInsensitive(people)
).toEqual( [alice, bob, clara])
})
it("split",()=>{

@@ -170,2 +241,92 @@ expect(

it("splitEvery",()=>{
expect(
R.splitEvery(3, [1, 2, 3, 4, 5, 6, 7])
).toEqual([[1, 2, 3], [4, 5, 6], [7]])
expect(
R.splitEvery(3, 'foobarbaz')
).toEqual(["foo","bar","baz"])
})
it("take",()=>{
expect(
R.take(1, ['foo', 'bar', 'baz'])
).toEqual(['foo'])
expect(
R.take(3, 'rambda')
).toEqual("ram")
})
it("takeLast",()=>{
expect(
R.takeLast(1, ['foo', 'bar', 'baz'])
).toEqual(['baz'])
expect(
R.takeLast(10, ['foo', 'bar', 'baz'])
).toEqual(['foo', 'bar', 'baz'])
expect(
R.takeLast(3, 'rambda')
).toEqual("bda")
})
it("test",()=>{
expect(
R.test(/^x/, 'xyz')
).toBeTruthy()
expect(
R.test(/^y/, 'xyz')
).toBeFalsy()
})
it("toLower",()=>{
expect(
R.toLower("FOO|BAR|BAZ")
).toEqual("foo|bar|baz")
})
it("toUpper",()=>{
expect(
R.compose(
R.join(""),
R.map(R.toUpper),
R.split(""),
)("foo|bar|baz")
).toEqual("FOO|BAR|BAZ")
})
it("type",()=>{
expect(
R.type({})
).toEqual("Object")
expect(
R.type(1)
).toEqual("Number")
expect(
R.type(false)
).toEqual("Boolean")
expect(
R.type("foo")
).toEqual("String")
expect(
R.type(null)
).toEqual("Null")
expect(
R.type([])
).toEqual("Array")
expect(
R.type(/\s/g)
).toEqual("RegExp")
})
it("values",()=>{

@@ -172,0 +333,0 @@ expect(

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc