Skip to main content
Home

Built and signed on GitHub Actions

Works with
This package works with Cloudflare Workers, Node.js, Deno, Bun, Browsers
This package works with Cloudflare Workers
This package works with Node.js
This package works with Deno
This package works with Bun
This package works with Browsers
JSR Score82%
Downloads2/wk
Publisheda year ago (0.0.41)

Battle-tested reactivity primitives. Extensive signals library.

Signalhead

Battle-tested reactivity primitives.

Signalhead is a lightweight, framework-agnostic toolkit for managing reactive state in interactive apps. Whether you're mapping, filtering, or zipping signals together, Signalhead keeps your code clean and reactive state management fun and glitchless. It also works great with arrays, sets and promises.

import { mut } from "@typek/signalhead";

const count = mut(1);
const double = count.map(n => 2 * n);

const user = mut(fetchUserData());
const name = user.await().map(
  (p) => p.status === "fullfilled" ? p.value.name : "Loading..."
);

name.subscribe(n => console.log(n));
// Loading...
// Joe

Docs: Signal, WritableSignal, AwaitedSignal, derived, mutDerived, effect, Flock, MutFlock, Pack, MutPack

Git: Repo, Issues, Discussions

Built and signed on
GitHub Actions

Report package

Please provide a reason for reporting this package. We will review your report and take appropriate action.

Please review the JSR usage policy before submitting a report.

Add Package

deno add jsr:@typek/signalhead

Import symbol

import * as signalhead from "@typek/signalhead";
or

Import directly with a jsr specifier

import * as signalhead from "jsr:@typek/signalhead";

Add Package

pnpm i jsr:@typek/signalhead
or (using pnpm 10.8 or older)
pnpm dlx jsr add @typek/signalhead

Import symbol

import * as signalhead from "@typek/signalhead";

Add Package

yarn add jsr:@typek/signalhead
or (using Yarn 4.8 or older)
yarn dlx jsr add @typek/signalhead

Import symbol

import * as signalhead from "@typek/signalhead";

Add Package

vlt install jsr:@typek/signalhead

Import symbol

import * as signalhead from "@typek/signalhead";

Add Package

npx jsr add @typek/signalhead

Import symbol

import * as signalhead from "@typek/signalhead";

Add Package

bunx jsr add @typek/signalhead

Import symbol

import * as signalhead from "@typek/signalhead";