github effector/effector effector@21.1.0
effector 21.1.0

latest releases: effector@23.4.4, effector@23.4.3, effector@23.4.2...
5 years ago
  • Add onlyChanges option to serialize to ignore stores which didn't changed in fork (prevent default values from being carried over network)

  • Add type helpers for stores and effects: StoreValue, EffectParams, EffectResult and EffectError

import {
  createStore,
  createEffect,
  StoreValue,
  EffectParams,
  EffectResult,
} from 'effector'

const username = createStore('guest')

const getUserFX = createEffect<number, {name: string}>()

// string
type Username = StoreValue<typeof username>

// number
type GetUserParams = EffectParams<typeof getUserFX>

// {name: string}
type User = EffectResult<typeof getUserFX>
  • Allow domain.createEffect to infer type from given handler (that feature was already implemented for createEffect method), this code now typechecked as expected:
import {createDomain} from 'effector'

const app = createDomain()

const voidFx = app.createEffect({
  async handler() {},
})

await voidFx()
  • Allow to call allSettled with void units without params field, this code now typechecked as expected:
import {createDomain, fork, allSettled} from 'effector'

const app = createDomain()

const voidFx = app.createEffect({
  async handler() {},
})

voidFx()

const scope = fork(app)

await allSettled(voidFx, {scope})

Don't miss a new effector release

NewReleases is sending notifications on new releases.