@quirks/store
Version:
131 lines (130 loc) • 3.2 kB
JavaScript
import { subscribeWithSelector as v, persist as w } from "zustand/middleware";
import { createStore as E } from "zustand/vanilla";
import { shared as b, defaultSharedOptions as I } from "./index11.js";
import { createConfigSlice as y, configInitialState as A } from "./index12.js";
import { createConnectSlice as D, connectInitialState as r } from "./index13.js";
import { createAccountSlice as H, accountInitialState as P } from "./index14.js";
import { createSignSlice as T, signInitialState as N } from "./index15.js";
import { createWalletConnectSlice as W, walletConnectInitialState as m } from "./index16.js";
import { emptyPersistOptions as j } from "./index10.js";
import { defaultPersistOptions as q } from "./index9.js";
let i = E(
v(
w(
b((...e) => ({
...y(...e),
...D(...e),
...H(...e),
...T(...e),
...W(...e),
reset: () => {
e[0]({
...A,
...r,
...P,
...m
});
}
})),
j
)
)
);
const X = (e) => {
var O, C;
const {
wallets: l,
chains: c,
assetsLists: S,
autoConnect: f = !0,
autoSuggestions: k = !0,
autoAccountChange: x = !0,
persistOptions: o = q,
sharedOptions: F = I,
walletConnectOptions: s,
signOptions: g,
signerOptions: L
} = e, _ = g || N.signOptions, d = {
...N,
signOptions: _,
signerOptions: L
}, u = {
...r,
options: {
...r.options,
autoSuggestions: k,
autoAccountChange: x
}
}, n = m.namespaces, h = c.map((t) => `cosmos:${t.chain_id}`);
s != null && s.namespaces ? n.cosmos = {
...s.namespaces.cosmos,
chains: h,
events: [
...n.cosmos.events,
...s.namespaces.cosmos.events
],
methods: [
...n.cosmos.methods,
...s.namespaces.cosmos.methods
]
} : n.cosmos = {
...n.cosmos,
chains: h
};
const p = {
...m,
...s,
namespaces: n
}, $ = (O = o.getInitialState) == null ? void 0 : O.call(o);
if (i = E(
v(
w(
b(
(...t) => ({
...y(...t),
wallets: l,
chains: c,
assetsLists: S,
...D(...t),
...H(...t),
...u,
...T(...t),
...d,
...W(...t),
...p,
reset: () => {
t[0]({
...A,
...u,
...P,
...d,
...p,
wallets: l,
chains: c,
assetsLists: S
});
},
...$
}),
{
...I,
...F
}
),
o
)
)
), i.persist.getOptions().skipHydration) {
const t = (C = i.persist) == null ? void 0 : C.onFinishHydration((a) => {
a.walletName && a.status === "CONNECTED" && !a.wallet && f && (i.getState().reconnect(a.walletName), t());
});
} else {
const t = i.getState();
t.walletName && t.status === "CONNECTED" && !t.wallet && f && i.getState().reconnect(t.walletName);
}
return i;
};
export {
X as createConfig,
i as store
};