版博士V2.0程序
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

IORef.d.ts 678 B

12345678910111213141516171819202122232425262728293031323334353637
  1. /**
  2. * Mutable references in the `IO` monad
  3. *
  4. * @since 2.0.0
  5. */
  6. import { IO } from './IO'
  7. /**
  8. * @example
  9. * import { io } from 'fp-ts/IO'
  10. * import { newIORef } from 'fp-ts/IORef'
  11. *
  12. * assert.strictEqual(io.chain(newIORef(1), ref => io.chain(ref.write(2), () => ref.read))(), 2)
  13. *
  14. * @category model
  15. * @since 2.0.0
  16. */
  17. export declare class IORef<A> {
  18. private value
  19. /**
  20. * @since 2.0.0
  21. */
  22. readonly read: IO<A>
  23. constructor(value: A)
  24. /**
  25. * @since 2.0.0
  26. */
  27. write(a: A): IO<void>
  28. /**
  29. * @since 2.0.0
  30. */
  31. modify(f: (a: A) => A): IO<void>
  32. }
  33. /**
  34. * @category constructors
  35. * @since 2.0.0
  36. */
  37. export declare function newIORef<A>(a: A): IO<IORef<A>>