Skip to main content
Module

x/tui/mod.ts>Effect

🦕 Deno module for creating Terminal User Interfaces
Latest
class Effect
implements Dependant
Re-export
import { Effect } from "https://deno.land/x/tui@2.1.11/mod.ts";

Effect is an container for callback function, which runs every time any of its dependencies get updated.

When initialized that functions gets ran and all dependencies for it are tracked.

Examples

Example 1

const name = new Signal("Jonathan");
const effect = new Effect(() => {
 console.log("Your name is", name.value);
});
// printed: "Your name is Jonathan"

await Promise.resolve(); // Dependency tracking is asynchronous read more in `dependency_tracking.ts`

name.value = "Brian";
// printed: "Your name is Brian"

Constructors

new
Effect(effectable: Effectable)

Properties

protected
$effectable: Effectable
dependencies: Set<Dependency>
paused: boolean

Methods

dispose(): void
  • Removes itself from all dependencies dependants
  • Clears dependencies
pause(): void
  • Removes itself from all dependencies dependants
  • Doesn't clear dependencies, can be resumed!
resume(): void
  • Adds itself to all dependencies dependants
update(cause: Dependency | Dependant): void