Clean up store types & initial values

Treating these as Readable for better safety from consuming code

Fixes #10
This commit is contained in:
Ryan Gossiaux
2021-12-19 01:08:50 -08:00
parent 8e890b2e80
commit f105042545
15 changed files with 43 additions and 43 deletions

View File

@@ -1,5 +1,5 @@
<script lang="ts" context="module">
import { writable, Writable } from "svelte/store";
import { Readable, writable, Writable } from "svelte/store";
import { getContext, setContext } from "svelte";
export enum DisclosureStates {
Open,
@@ -26,7 +26,7 @@
export function useDisclosureContext(
component: string
): Writable<StateDefinition> {
): Readable<StateDefinition> {
let context: Writable<StateDefinition> | undefined = getContext(
DISCLOSURE_CONTEXT_NAME
);
@@ -93,13 +93,20 @@
};
});
let openClosedState: Writable<State> | undefined = writable();
function computeOpenClosedState(disclosureState: DisclosureStates) {
return match(disclosureState, {
[DisclosureStates.Open]: State.Open,
[DisclosureStates.Closed]: State.Closed,
});
}
let openClosedState: Writable<State> = writable(
computeOpenClosedState(disclosureState)
);
useOpenClosedProvider(openClosedState);
$: $openClosedState = match(disclosureState, {
[DisclosureStates.Open]: State.Open,
[DisclosureStates.Closed]: State.Closed,
});
$: $openClosedState = computeOpenClosedState(disclosureState);
</script>
<div {...$$restProps}>