How to use the effector/graphite/typedef.Cmd.compute function in effector

To help you get started, we’ve selected a few effector examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github zerobias / effector / src / event / concreteFabric.js View on Github external
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: {|
github zerobias / effector / src / event / concreteFabric.js View on Github external
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
  },
}
github zerobias / effector / src / store / StepBox.js View on Github external
export function compute(
  reduce: (oldValue: any, newValue: any, ctx: any) => any,
) {
  return Cmd.compute({reduce})
}
export function filter(filt: (value: any, ctx: any) => boolean) {