/fp-kata

Experimental reimplementation of Ramda functions

Primary LanguageJavaScriptMIT LicenseMIT

fp-kata

Experimental reimplementation of Ramda functions. This is not a one-to-one implementation, e.g. equals does not support other types than Number.

I'm doing this to practice JS, FP and have fun :)

Function list

Function Implemented?
__
add yes
addIndex
adjust
all yes
allPass
always yes
and
any yes
anyPass yes
ap
aperture
append
apply
applySpec
applyTo
ascend
assoc
assocPath
binary
bind
both
call
chain
clamp
clone
comparator
complement
compose
composeK
composeP
concat
cond
construct
constructN
contains
converge
countBy
curry yes
curryN
dec
defaultTo
descend
difference
differenceWith
dissoc
dissocPath
divide
drop
dropLast
dropLastWhile
dropRepeats
dropRepeatsWith
dropWhile
either
empty
endsWith
eqBy
eqProps
equals yes
evolve
F yes
filter
find
findIndex
findLast
findLastIndex
flatten
flip yes
forEach
forEachObjIndexed
fromPairs
groupBy
groupWith
gt yes
gte
has
hasIn
head
identical
identity yes
ifElse yes
inc
indexBy
indexOf
init
innerJoin
insert
insertAll
intersection
intersperse
into
invert
invertObj
invoker
is
isEmpty
isNil yes
join
juxt
keys
keysIn
last
lastIndexOf
length
lens
lensIndex
lensPath
lensProp
lift
liftN
lt
lte
map
mapAccum
mapAccumRight
mapObjIndexed
match
mathMod
max
maxBy
mean
median
memoize
memoizeWith
merge
mergeAll
mergeDeepLeft
mergeDeepRight
mergeDeepWith
mergeDeepWithKey
mergeWith
mergeWithKey
min
minBy
modulo
multiply
nAry
negate
none
not
nth
nthArg
o
objOf
of
omit
once
or
over
pair
partial yes
partialRight
partition
path yes
pathEq
pathOr
pathSatisfies
pick
pickAll
pickBy
pipe yes
pipeK
pipeP
pluck
prepend
product
project
prop yes
propEq
propIs
propOr
props
propSatisfies
range
reduce
reduceBy
reduced
reduceRight
reduceWhile
reject
remove
repeat
replace
reverse yes
scan
sequence
set
slice
sort
sortBy
sortWith
split
splitAt
splitEvery
splitWhen
startsWith
subtract yes
sum
symmetricDifference
symmetricDifferenceWith
T yes
tail
take
takeLast
takeLastWhile
takeWhile
tap
test
times
toLower
toPairs
toPairsIn
toString
toUpper
transduce
transpose
traverse
trim
tryCatch
type
unapply
unary
uncurryN
unfold
union
unionWith
uniq
uniqBy
uniqWith
unless yes
unnest
until
update
useWith
values
valuesIn
view
when yes
where
whereEq
without
xprod
zip
zipObj
zipWith