cleanup query test
This commit is contained in:
parent
90972e95e4
commit
f0f607c2af
2 changed files with 24 additions and 33 deletions
17
src/fn.js
17
src/fn.js
|
@ -35,7 +35,7 @@ export const useWith = curry((fn, tfns) =>
|
||||||
))
|
))
|
||||||
|
|
||||||
export const converge = (fn, tfns) => curryN(
|
export const converge = (fn, tfns) => curryN(
|
||||||
max(map(length, tfns)),
|
pipe(length, map, max)(tfns),
|
||||||
(...args) => fn(...map(tfn => tfn(...args), tfns))
|
(...args) => fn(...map(tfn => tfn(...args), tfns))
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -68,7 +68,7 @@ export const split = curry((delim, v) => v.split(delim))
|
||||||
export const max = v => Math.max(...v)
|
export const max = v => Math.max(...v)
|
||||||
export const min = v => Math.min(...v)
|
export const min = v => Math.min(...v)
|
||||||
export const inc = v => v + 1
|
export const inc = v => v + 1
|
||||||
export const dec = v => v + 1
|
export const dec = v => v - 1
|
||||||
|
|
||||||
// arrays
|
// arrays
|
||||||
export const map = curry((fn, v) => v.map(fn))
|
export const map = curry((fn, v) => v.map(fn))
|
||||||
|
@ -103,21 +103,16 @@ export const assocPath = curry((key, value, obj) => pipe(
|
||||||
mergeRightDeep(obj),
|
mergeRightDeep(obj),
|
||||||
)(key))
|
)(key))
|
||||||
|
|
||||||
export const mergeLeftDeep = curry((a, b) => {
|
export const mergeLeftDeep = curry((a, b) =>
|
||||||
return reduce((acc, key) => {
|
reduce((acc, key) => pipe(
|
||||||
const av = acc[key]
|
|
||||||
const bv = b[key]
|
|
||||||
|
|
||||||
return pipe(
|
|
||||||
ifElse(
|
ifElse(
|
||||||
every(is(Object)),
|
every(is(Object)),
|
||||||
apply(mergeLeftDeep),
|
apply(mergeLeftDeep),
|
||||||
last
|
last
|
||||||
),
|
),
|
||||||
v => assoc(key, v, acc)
|
v => assoc(key, v, acc)
|
||||||
)([av, bv])
|
)([acc[key], b[key]]), a, keys(b))
|
||||||
}, a, keys(b))
|
)
|
||||||
})
|
|
||||||
|
|
||||||
export const mergeRightDeep = flip(mergeLeftDeep)
|
export const mergeRightDeep = flip(mergeLeftDeep)
|
||||||
|
|
||||||
|
|
|
@ -29,12 +29,14 @@ describe('query', () => {
|
||||||
return eid
|
return eid
|
||||||
}
|
}
|
||||||
|
|
||||||
const knows = (a, b) => {
|
const relate = (a, type, ...b) => {
|
||||||
|
return b.map(v => {
|
||||||
const edge = addEntity(w)
|
const edge = addEntity(w)
|
||||||
addComponent(w, Knows, edge)
|
addComponent(w, type, edge)
|
||||||
Knows.from[edge] = a
|
type.from[edge] = a
|
||||||
Knows.to[edge] = b
|
type.to[edge] = v
|
||||||
return edge
|
return edge
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const player = create(Player) // 0
|
const player = create(Player) // 0
|
||||||
|
@ -42,16 +44,10 @@ describe('query', () => {
|
||||||
const b = create(NPC) // 2
|
const b = create(NPC) // 2
|
||||||
const c = create(NPC) // 3
|
const c = create(NPC) // 3
|
||||||
|
|
||||||
knows(player, a) // 4
|
relate(player, Knows, a, c) // 4, 5
|
||||||
knows(player, c) // 5
|
relate(a, Knows, player, b, c) // 6, 7, 8
|
||||||
|
relate(b, Knows, a) // 9
|
||||||
knows(a, player) // 6
|
relate(c, Knows, player) // 10
|
||||||
knows(a, b) // 7
|
|
||||||
knows(a, c) // 8
|
|
||||||
|
|
||||||
knows(b, a) // 9
|
|
||||||
|
|
||||||
knows(c, player) // 10
|
|
||||||
|
|
||||||
assert.deepEqual(
|
assert.deepEqual(
|
||||||
query('MATCH (player:Player) RETURN player', engine).unwrap(),
|
query('MATCH (player:Player) RETURN player', engine).unwrap(),
|
||||||
|
|
Loading…
Reference in a new issue