@channel-state/svelte
Version:
Svelte stores for channel-state, providing seamless integration with Svelte applications for cross-context state management.
35 lines (33 loc) • 867 B
JavaScript
import { writable, readable } from 'svelte/store';
// src/index.ts
function useChannelState(channelStore) {
const svelteStore = writable(channelStore.get(), (set) => {
const unsubscribeChannelStore = channelStore.subscribe((value) => {
set(value);
});
return () => {
unsubscribeChannelStore();
};
});
return {
subscribe: svelteStore.subscribe,
set: (value) => {
channelStore.set(value);
},
update: svelteStore.update
};
}
function useChannelStatus(channelStore) {
const status = readable(channelStore.status, (set) => {
const unsubscribe = channelStore.subscribeStatus((newStatus) => {
set(newStatus);
});
return () => {
unsubscribe();
};
});
return status;
}
export { useChannelState, useChannelStatus };
//# sourceMappingURL=index.js.map
//# sourceMappingURL=index.js.map