svelte-crossorigin-store
v0.1.1
Published
Share your Svelte store across origins, including iFrames
Downloads
15
Maintainers
Readme
svelte-crossorigin-store
Share your Svelte store across origins, including iFrames.
Features
- made for Svelte, works anywhere
- synchronizes store across multiple origins
- supports iFrames
- tiny (~450 bytes minified+gzipped)
Installation
npm install svelte-crossorigin-store
Usage
Import
import { createStore } from 'svelte-crossorigin-store';
const store = createStore('Hello, world');
const unsubscribe = store.subscribe(value => console.log('State updated:', value));
Or, in your Svelte component:
<script>
import { createStore } from 'svelte-crossorigin-store';
const store = createStore('Hello, world');
</script>
<p>Current State: {$store}</p>
:warning: Take note that the API doesn't follow a publisher/subscriber approach. Hence, you need to make sure that instances are not initialized with the same value. Otherwise, an infinite loop will occur!
API
createStore
createStore<T>(initialValue?: T, {
allowedOrigins?: string[];
id?: string;
iframeSelector?: string;
onChange?: (value: any) => void;
});
Methods
The created store exposes the same API methods like a writable svelte/store
:
set()
update()
subscribe()
Please refer to the official documentation.
License
This work is licensed under The MIT License.