This package has been deprecated

Author message:

Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

@jill64/svelte-observer
TypeScript icon, indicating that this package has built-in type declarations

0.0.1 • Public • Published

@jill64/svelte-observer

npm-version npm-license npm-download-month npm-min-size ci.yml website

🔭 Library for Svelte to make Promise status easily observable from outside

Installation

npm i @jill64/svelte-observer

Usage

<script lang="ts">
  import { observable } from '@jill64/svelte-observer'

  // Define the asynchronous function you want to observe
  const wait1Sec = async () => {
    await new Promise((resolve) => setTimeout(resolve, 1000))
  }
  const wait1SecThrow = async () => {
    await new Promise((resolve) => setTimeout(resolve, 1000))
    throw new Error('Expected Error')
  } // Create Proxy

  let { status, observed } = $derived(observable())

  // Define proxied functions
  let observedWait1Sec = $derived(observed(wait1Sec))
  let observedWait1SecThrow = $derived(observed(wait1SecThrow))
</script>

<!-- `IDLE` => Click => `PENDING` => 1sec => `FULFILLED` => 5sec(default) => `IDLE` -->
<button onclick={observedWait1Sec} aria-label="Success"> Success </button>

<!-- `IDLE` => Click => `PENDING` => 1sec => `REJECTED` => 5sec(default) => `IDLE` -->
<button onclick={observedWait1SecThrow} aria-label="Error"> Error </button>

<!-- PromiseStatus -->
<output>{status}</output>

License

MIT

Readme

Keywords

Package Sidebar

Install

npm i @jill64/svelte-observer

Weekly Downloads

1,908

Version

0.0.1

License

MIT

Unpacked Size

7.4 kB

Total Files

11

Last publish

Collaborators

  • jill64