@preact-signals/unified-signals
TypeScript icon, indicating that this package has built-in type declarations

0.2.7 • Public • Published

@preact-signals/unified-signals

@preact-signals/unified-signals is runtime agnostic @preact/signals reexport. That can be used for library developers that want to rely on user preact signals runtime. If you want to write library that uses preact signals you can take benefit from @preact-signals/unified-signals. It uses shims instead of hooks if runtime is not providing it, also we polyfilling untracked API.

Installation

You can install @preact-signals/unified-signals using your package manager of choice:

# npm
npm i @preact-signals/unified-signals
# yarn
yarn i @preact-signals/unified-signals
# pnpm
pnpm i @preact-signals/unified-signals

Usage in library

If you are using @preact-signals/unified-signals in your library to preserve runtime agnosticism you can use should add this lines into your package.json:

{
  "peerDependencies": {
    "@preact/signals-react": ">=1.2.0",
    "@preact/signals": ">=1.1.0",
    "@preact/signals-core": ">=1.1.0"
  },
  "peerDependenciesMeta": {
    "@preact/signals-react": {
      "optional": true
    },
    "@preact/signals": {
      "optional": true
    },
    "@preact/signals-core": {
      "optional": true
    }
  }
}

API Overview

Basic @preact/signals API and untracked

untracked

const a = signal(1);
const b = signal(2);
const c = computed(() => a.value + untracked(() => b.value));

console.log(c.value); // 3
a.value = 2;
console.log(c.value); // 4
b.value = 3;
console.log(c.value); // 4

License

@preact-signals/unified-signals is licensed under the MIT License.

Readme

Keywords

none

Package Sidebar

Install

npm i @preact-signals/unified-signals

Weekly Downloads

331

Version

0.2.7

License

MIT

Unpacked Size

24.8 kB

Total Files

21

Last publish

Collaborators

  • xantre-godlike