export const addCheckin = action => team =>
team.teamID === action.payload.teamID
? { ...team, checkIns: R.concat(team.checkIns, [action.payload]) }
: team;
evolve
but im not sure that would do it
Hi there, ramda newbie here, stuck on the following:
let subscription = 'foo';
let client = { unsubscribe: F }
// standard
if (subscription) {
client.unsubscribe(subscription);
subscription = null;
}
// ramda'd!
ifElse(
subscription,
both(
call('unsubscribe', subscription),
set(subscription, null)
)
)(client, subscription) // Don't think you can pass two things here without another wrap
error: t.apply is not a function
https://goo.gl/o18xue
equals
for the ===
and ifElse
for the ternary I think
ifElse
takes functions for its parameters, not values
R.ifElse
R.when
const addCheckin = action => when(
eqProps('teamID', action.payload),
evolve({
checkIns: append(action.payload)
})
)
eqProps
how does it compare 'teamID'
to action.payload and the object that map
is on? because i'm using it as R.map(addCheckin(action), state.teams
and it passes my test, im just trying to follow it
const addCheckin = action => team => when(
team => eqProps('teamID', action.payload, team),
team => evolve({
checkIns: checkIns => append(action.payload)(checkIns)
})(team)
)(team)
map(team => addCheckin(action)(team), state.teams)
17 const compose = require('ramda/src/compose')
14 const assoc = require('ramda/src/assoc')
13 const merge = require('ramda/src/merge')
11 const prop = require('ramda/src/prop')
8 const defaultTo = require('ramda/src/defaultTo')
8 const curry = require('ramda/src/curry')
6 const props = require('ramda/src/props')
5 const propOr = require('ramda/src/propOr')
5 const propEq = require('ramda/src/propEq')
5 const omit = require('ramda/src/omit')
5 const keys = require('ramda/src/keys')
5 const always = require('ramda/src/always')
4 const when = require('ramda/src/when')
4 const join = require('ramda/src/join')
4 const add = require('ramda/src/add')
3 const pick = require('ramda/src/pick')
3 const path = require('ramda/src/path')
3 const ifElse = require('ramda/src/ifElse')
3 const head = require('ramda/src/head')
3 const has = require('ramda/src/has')
3 const find = require('ramda/src/find')
2 const sortBy = require('ramda/src/sortBy')
2 const concat = require('ramda/src/concat')
2 const clone = require('ramda/src/clone')
1 const xprod = require('ramda/src/xprod')
1 const values = require('ramda/src/values')
1 const toPairs = require('ramda/src/toPairs')
1 const times = require('ramda/src/times')
1 const slice = require('ramda/src/slice')
1 const repeat = require('ramda/src/repeat')
1 const range = require('ramda/src/range')
1 const over = require('ramda/src/over')
1 const or = require('ramda/src/or')
1 const memoize = require('ramda/src/memoize')
1 const map = require('ramda/src/map')
1 const lensProp = require('ramda/src/lensProp')
1 const length = require('ramda/src/length')
1 const identity = require('ramda/src/identity')
1 const groupBy = require('ramda/src/groupBy')
1 const filter = require('ramda/src/filter')
1 const evolve = require('ramda/src/evolve')
1 const equals = require('ramda/src/equals')
1 const applySpec = require('ramda/src/applySpec')
console.log
cat <all folders>/*.js | grep -E "require\('ramda/src/\w+'\)" | sort | uniq -c | sort -gr
(to find how many times it's imported)
cat <all folders>/*.js | grep -E "R\.\w+" | sort | uniq -c | sort -gr
finds everything
const fs = require('fs')
const R = require('ramda')
fs.writeFileSync('ramda-functions.txt', Reflect.ownKeys(R).join('\n'), 'utf8')