Hyperlinkv0.8.0-beta.28

MutableRef

MutableRef.decrementconsteffect/MutableRef.ts:210
(self: MutableRef<number>): MutableRef<number>

Decrements a numeric MutableRef by 1 and returns the reference.

When to use

Use when you need an in-place MutableRef decrement that returns the same MutableRef.

Example (Decrementing numeric refs)

import { MutableRef } from "effect"

const counter = MutableRef.make(5)

// Decrement the counter
MutableRef.decrement(counter)
console.log(MutableRef.get(counter)) // 4

// Chain operations
MutableRef.decrement(counter)
MutableRef.decrement(counter)
console.log(MutableRef.get(counter)) // 2

// Useful for countdown scenarios
const countdown = MutableRef.make(10)
while (MutableRef.get(countdown) > 0) {
  console.log(MutableRef.get(countdown))
  MutableRef.decrement(countdown)
}
numeric
export const decrement = (self: MutableRef<number>): MutableRef<number> => update(self, (n) => n - 1)