Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
mapEvent(args: {|
fn: Function,
graphite: GraphiteMeta,
parentGraphite: GraphiteMeta,
|}): GraphiteMeta {
const {fn, graphite, parentGraphite} = args
const unit = Cmd.compute({
reduce(_, newValue, ctx): mixed {
return fn(newValue)
},
})
const cmd = Step.single(unit)
const stepFull = Step.seq([cmd, graphite.seq])
parentGraphite.next.data.push(stepFull)
return graphite
},
filterEvent(args: {|
filterEvent(args: {|
fn: Function,
graphite: GraphiteMeta,
parentGraphite: GraphiteMeta,
|}): GraphiteMeta {
const {fn, graphite, parentGraphite} = args
const unitCompute = Cmd.compute({
reduce(_, newValue, ctx): mixed {
return fn(newValue)
},
})
const unitFilter = Cmd.filter({
filter(result, ctx: TypeDef<'emitCtx', 'ctx'>): boolean {
return result !== undefined
},
})
const cmdCompute = Step.single(unitCompute)
const cmdFilter = Step.single(unitFilter)
const stepFull = Step.seq([cmdCompute, cmdFilter, graphite.seq])
parentGraphite.next.data.push(stepFull)
return graphite
},
}
export function compute(
reduce: (oldValue: any, newValue: any, ctx: any) => any,
) {
return Cmd.compute({reduce})
}
export function filter(filt: (value: any, ctx: any) => boolean) {