Package: effect
Module: MutableRef
Switches a boolean MutableRef between true and false, then returns the
reference.
When to use
Use when you need an in-place boolean MutableRef toggle that returns the
same MutableRef.
Example (Toggling boolean refs)
import { MutableRef } from "effect"
const flag = MutableRef.make(false)
// Toggle the flag
MutableRef.toggle(flag)
console.log(MutableRef.get(flag)) // true
// Toggle again
MutableRef.toggle(flag)
console.log(MutableRef.get(flag)) // false
// Useful for state switches
const isVisible = MutableRef.make(true)
MutableRef.toggle(isVisible) // Hide
console.log(MutableRef.get(isVisible)) // false
// Toggle button implementation
const darkMode = MutableRef.make(false)
const toggleDarkMode = () => {
MutableRef.toggle(darkMode)
console.log(`Dark mode: ${MutableRef.get(darkMode) ? "ON" : "OFF"}`)
}
toggleDarkMode() // "Dark mode: ON"
toggleDarkMode() // "Dark mode: OFF"
// Returns the reference for chaining
const result = MutableRef.toggle(flag)
console.log(result === flag) // true
Signature
declare const toggle: (self: MutableRef<boolean>) => MutableRef<boolean>
Since v2.0.0