solid-wagmi 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,9 @@
1
1
  export { WagmiProvider } from "../context.js";
2
2
  export { WagmiProviderNotFoundError } from "../errors/context.js";
3
+ export { useAccount } from "../hooks/useAccount.js";
4
+ export { useChainId } from "../hooks/useChainId.js";
3
5
  export { useConfig } from "../hooks/useConfig.js";
6
+ export { useConnect } from "../hooks/useConnect.js";
7
+ export { useConnections } from "../hooks/useConnections.js";
8
+ export { useDisconnect } from "../hooks/useDisconnect.js";
4
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/exports/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAK9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAKlE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/exports/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAK9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAKlE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function useAccount(): import("solid-js").Accessor<import("@wagmi/core").GetAccountReturnType<import("@wagmi/core").Config, import("viem").Chain>>;
2
+ //# sourceMappingURL=useAccount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAccount.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAccount.ts"],"names":[],"mappings":"AAIA,wBAAgB,UAAU,gIAYzB"}
@@ -0,0 +1,2 @@
1
+ export declare function useChainId(): import("solid-js").Accessor<import("viem").Chain>;
2
+ //# sourceMappingURL=useChainId.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useChainId.d.ts","sourceRoot":"","sources":["../../../src/hooks/useChainId.ts"],"names":[],"mappings":"AAMA,wBAAgB,UAAU,sDAgBzB"}
@@ -0,0 +1,70 @@
1
+ export declare function useConnect(): {
2
+ connect: import("@tanstack/solid-query").UseMutateFunction<import("@wagmi/core").ConnectReturnType<import("@wagmi/core").Config, import("@wagmi/core").Connector, boolean, Record<string, unknown>>, Error, import("@wagmi/core/query").ConnectVariables<import("@wagmi/core").Config, import("@wagmi/core").CreateConnectorFn | import("@wagmi/core").Connector, boolean>, unknown>;
3
+ connectAsync: import("@tanstack/solid-query").UseMutateAsyncFunction<import("@wagmi/core").ConnectReturnType<import("@wagmi/core").Config, import("@wagmi/core").Connector, boolean, Record<string, unknown>>, Error, import("@wagmi/core/query").ConnectVariables<import("@wagmi/core").Config, import("@wagmi/core").CreateConnectorFn | import("@wagmi/core").Connector, boolean>, unknown>;
4
+ data: undefined;
5
+ variables: undefined;
6
+ error: null;
7
+ isError: false;
8
+ isIdle: true;
9
+ isPending: false;
10
+ isSuccess: false;
11
+ status: "idle";
12
+ reset: () => void;
13
+ context: unknown;
14
+ failureCount: number;
15
+ failureReason: Error | null;
16
+ isPaused: boolean;
17
+ submittedAt: number;
18
+ } | {
19
+ connect: import("@tanstack/solid-query").UseMutateFunction<import("@wagmi/core").ConnectReturnType<import("@wagmi/core").Config, import("@wagmi/core").Connector, boolean, Record<string, unknown>>, Error, import("@wagmi/core/query").ConnectVariables<import("@wagmi/core").Config, import("@wagmi/core").CreateConnectorFn | import("@wagmi/core").Connector, boolean>, unknown>;
20
+ connectAsync: import("@tanstack/solid-query").UseMutateAsyncFunction<import("@wagmi/core").ConnectReturnType<import("@wagmi/core").Config, import("@wagmi/core").Connector, boolean, Record<string, unknown>>, Error, import("@wagmi/core/query").ConnectVariables<import("@wagmi/core").Config, import("@wagmi/core").CreateConnectorFn | import("@wagmi/core").Connector, boolean>, unknown>;
21
+ data: undefined;
22
+ variables: import("@wagmi/core/query").ConnectVariables<import("@wagmi/core").Config, import("@wagmi/core").CreateConnectorFn | import("@wagmi/core").Connector, boolean>;
23
+ error: null;
24
+ isError: false;
25
+ isIdle: false;
26
+ isPending: true;
27
+ isSuccess: false;
28
+ status: "pending";
29
+ reset: () => void;
30
+ context: unknown;
31
+ failureCount: number;
32
+ failureReason: Error | null;
33
+ isPaused: boolean;
34
+ submittedAt: number;
35
+ } | {
36
+ connect: import("@tanstack/solid-query").UseMutateFunction<import("@wagmi/core").ConnectReturnType<import("@wagmi/core").Config, import("@wagmi/core").Connector, boolean, Record<string, unknown>>, Error, import("@wagmi/core/query").ConnectVariables<import("@wagmi/core").Config, import("@wagmi/core").CreateConnectorFn | import("@wagmi/core").Connector, boolean>, unknown>;
37
+ connectAsync: import("@tanstack/solid-query").UseMutateAsyncFunction<import("@wagmi/core").ConnectReturnType<import("@wagmi/core").Config, import("@wagmi/core").Connector, boolean, Record<string, unknown>>, Error, import("@wagmi/core/query").ConnectVariables<import("@wagmi/core").Config, import("@wagmi/core").CreateConnectorFn | import("@wagmi/core").Connector, boolean>, unknown>;
38
+ data: undefined;
39
+ error: Error;
40
+ variables: import("@wagmi/core/query").ConnectVariables<import("@wagmi/core").Config, import("@wagmi/core").CreateConnectorFn | import("@wagmi/core").Connector, boolean>;
41
+ isError: true;
42
+ isIdle: false;
43
+ isPending: false;
44
+ isSuccess: false;
45
+ status: "error";
46
+ reset: () => void;
47
+ context: unknown;
48
+ failureCount: number;
49
+ failureReason: Error | null;
50
+ isPaused: boolean;
51
+ submittedAt: number;
52
+ } | {
53
+ connect: import("@tanstack/solid-query").UseMutateFunction<import("@wagmi/core").ConnectReturnType<import("@wagmi/core").Config, import("@wagmi/core").Connector, boolean, Record<string, unknown>>, Error, import("@wagmi/core/query").ConnectVariables<import("@wagmi/core").Config, import("@wagmi/core").CreateConnectorFn | import("@wagmi/core").Connector, boolean>, unknown>;
54
+ connectAsync: import("@tanstack/solid-query").UseMutateAsyncFunction<import("@wagmi/core").ConnectReturnType<import("@wagmi/core").Config, import("@wagmi/core").Connector, boolean, Record<string, unknown>>, Error, import("@wagmi/core/query").ConnectVariables<import("@wagmi/core").Config, import("@wagmi/core").CreateConnectorFn | import("@wagmi/core").Connector, boolean>, unknown>;
55
+ data: import("@wagmi/core").ConnectReturnType<import("@wagmi/core").Config, import("@wagmi/core").Connector, boolean, Record<string, unknown>>;
56
+ error: null;
57
+ variables: import("@wagmi/core/query").ConnectVariables<import("@wagmi/core").Config, import("@wagmi/core").CreateConnectorFn | import("@wagmi/core").Connector, boolean>;
58
+ isError: false;
59
+ isIdle: false;
60
+ isPending: false;
61
+ isSuccess: true;
62
+ status: "success";
63
+ reset: () => void;
64
+ context: unknown;
65
+ failureCount: number;
66
+ failureReason: Error | null;
67
+ isPaused: boolean;
68
+ submittedAt: number;
69
+ };
70
+ //# sourceMappingURL=useConnect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConnect.d.ts","sourceRoot":"","sources":["../../../src/hooks/useConnect.ts"],"names":[],"mappings":"AAKA,wBAAgB,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBzB"}
@@ -0,0 +1,2 @@
1
+ export declare function useConnections(): import("solid-js").Accessor<import("@wagmi/core").GetConnectionsReturnType>;
2
+ //# sourceMappingURL=useConnections.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useConnections.d.ts","sourceRoot":"","sources":["../../../src/hooks/useConnections.ts"],"names":[],"mappings":"AAIA,wBAAgB,cAAc,gFAW7B"}
@@ -0,0 +1,74 @@
1
+ export declare function useDisconnect(): {
2
+ connectors: import("solid-js").Accessor<import("@wagmi/core").Connector<import("@wagmi/core").CreateConnectorFn>[]>;
3
+ disconnect: import("@tanstack/solid-query").UseMutateFunction<void, Error, import("@wagmi/core/query").DisconnectVariables, unknown>;
4
+ disconnectAsync: import("@tanstack/solid-query").UseMutateAsyncFunction<void, Error, import("@wagmi/core/query").DisconnectVariables, unknown>;
5
+ data: undefined;
6
+ variables: undefined;
7
+ error: null;
8
+ isError: false;
9
+ isIdle: true;
10
+ isPending: false;
11
+ isSuccess: false;
12
+ status: "idle";
13
+ reset: () => void;
14
+ context: unknown;
15
+ failureCount: number;
16
+ failureReason: Error | null;
17
+ isPaused: boolean;
18
+ submittedAt: number;
19
+ } | {
20
+ connectors: import("solid-js").Accessor<import("@wagmi/core").Connector<import("@wagmi/core").CreateConnectorFn>[]>;
21
+ disconnect: import("@tanstack/solid-query").UseMutateFunction<void, Error, import("@wagmi/core/query").DisconnectVariables, unknown>;
22
+ disconnectAsync: import("@tanstack/solid-query").UseMutateAsyncFunction<void, Error, import("@wagmi/core/query").DisconnectVariables, unknown>;
23
+ data: undefined;
24
+ variables: import("@wagmi/core/query").DisconnectVariables;
25
+ error: null;
26
+ isError: false;
27
+ isIdle: false;
28
+ isPending: true;
29
+ isSuccess: false;
30
+ status: "pending";
31
+ reset: () => void;
32
+ context: unknown;
33
+ failureCount: number;
34
+ failureReason: Error | null;
35
+ isPaused: boolean;
36
+ submittedAt: number;
37
+ } | {
38
+ connectors: import("solid-js").Accessor<import("@wagmi/core").Connector<import("@wagmi/core").CreateConnectorFn>[]>;
39
+ disconnect: import("@tanstack/solid-query").UseMutateFunction<void, Error, import("@wagmi/core/query").DisconnectVariables, unknown>;
40
+ disconnectAsync: import("@tanstack/solid-query").UseMutateAsyncFunction<void, Error, import("@wagmi/core/query").DisconnectVariables, unknown>;
41
+ data: undefined;
42
+ error: Error;
43
+ variables: import("@wagmi/core/query").DisconnectVariables;
44
+ isError: true;
45
+ isIdle: false;
46
+ isPending: false;
47
+ isSuccess: false;
48
+ status: "error";
49
+ reset: () => void;
50
+ context: unknown;
51
+ failureCount: number;
52
+ failureReason: Error | null;
53
+ isPaused: boolean;
54
+ submittedAt: number;
55
+ } | {
56
+ connectors: import("solid-js").Accessor<import("@wagmi/core").Connector<import("@wagmi/core").CreateConnectorFn>[]>;
57
+ disconnect: import("@tanstack/solid-query").UseMutateFunction<void, Error, import("@wagmi/core/query").DisconnectVariables, unknown>;
58
+ disconnectAsync: import("@tanstack/solid-query").UseMutateAsyncFunction<void, Error, import("@wagmi/core/query").DisconnectVariables, unknown>;
59
+ data: void;
60
+ error: null;
61
+ variables: import("@wagmi/core/query").DisconnectVariables;
62
+ isError: false;
63
+ isIdle: false;
64
+ isPending: false;
65
+ isSuccess: true;
66
+ status: "success";
67
+ reset: () => void;
68
+ context: unknown;
69
+ failureCount: number;
70
+ failureReason: Error | null;
71
+ isPaused: boolean;
72
+ submittedAt: number;
73
+ };
74
+ //# sourceMappingURL=useDisconnect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useDisconnect.d.ts","sourceRoot":"","sources":["../../../src/hooks/useDisconnect.ts"],"names":[],"mappings":"AAMA,wBAAgB,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiB5B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "solid-wagmi",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "description": "Solid.js Hooks for Ethereum",
5
5
  "type": "module",
6
6
  "repository": {
@@ -12,4 +12,9 @@ export { WagmiProviderNotFoundError } from "../errors/context.js";
12
12
  // ///////////////////////////////////////////////////////////////
13
13
  // Hooks
14
14
  // ///////////////////////////////////////////////////////////////
15
+ export { useAccount } from "../hooks/useAccount.js";
16
+ export { useChainId } from "../hooks/useChainId.js";
15
17
  export { useConfig } from "../hooks/useConfig.js";
18
+ export { useConnect } from "../hooks/useConnect.js";
19
+ export { useConnections } from "../hooks/useConnections.js";
20
+ export { useDisconnect } from "../hooks/useDisconnect.js";
@@ -0,0 +1,17 @@
1
+ import { getAccount, watchAccount } from "@wagmi/core";
2
+ import { createSignal, onCleanup, onMount } from "solid-js";
3
+ import { useConfig } from "./useConfig.js";
4
+
5
+ export function useAccount() {
6
+ const { config } = useConfig();
7
+ const [account, setAccount] = createSignal(getAccount(config));
8
+
9
+ // Watch account
10
+ let cleanup: VoidFunction;
11
+ onMount(() => {
12
+ cleanup = watchAccount(config, { onChange: setAccount });
13
+ });
14
+ onCleanup(() => cleanup?.());
15
+
16
+ return account;
17
+ }
@@ -0,0 +1,23 @@
1
+ import { getChainId, watchChainId } from "@wagmi/core";
2
+ import { createMemo, createSignal, onCleanup, onMount } from "solid-js";
3
+ import { extractChain } from "viem";
4
+
5
+ import { useConfig } from "./useConfig.js";
6
+
7
+ export function useChainId() {
8
+ const { config } = useConfig();
9
+ const [chainId, setChainID] = createSignal(getChainId(config));
10
+
11
+ // Watch chain id
12
+ let cleanup: VoidFunction;
13
+ onMount(() => {
14
+ cleanup = watchChainId(config, { onChange: setChainID });
15
+ });
16
+ onCleanup(() => cleanup?.());
17
+
18
+ const chain = createMemo(() =>
19
+ extractChain({ chains: config.chains, id: chainId() })
20
+ );
21
+
22
+ return chain;
23
+ }
@@ -0,0 +1,31 @@
1
+ import { useMutation } from "@tanstack/solid-query";
2
+ import { connectMutationOptions } from "@wagmi/core/query";
3
+ import { createEffect, onCleanup } from "solid-js";
4
+ import { useConfig } from "./useConfig.js";
5
+
6
+ export function useConnect() {
7
+ const { config } = useConfig();
8
+
9
+ const mutationOptions = connectMutationOptions(config);
10
+ const { mutate, mutateAsync, ...result } = useMutation(() => ({
11
+ ...mutationOptions,
12
+ }));
13
+
14
+ // Reset mutation back to an idle state when the connector disconnects.
15
+ createEffect(() => {
16
+ const unsub = config.subscribe(
17
+ ({ status }) => status,
18
+ (status, previousStatus) => {
19
+ if (previousStatus === "connected" && status === "disconnected")
20
+ result.reset();
21
+ }
22
+ );
23
+ onCleanup(() => unsub());
24
+ });
25
+
26
+ return {
27
+ ...result,
28
+ connect: mutate,
29
+ connectAsync: mutateAsync,
30
+ };
31
+ }
@@ -0,0 +1,16 @@
1
+ import { getConnections, watchConnections } from "@wagmi/core";
2
+ import { createSignal, onCleanup, onMount } from "solid-js";
3
+ import { useConfig } from "./useConfig.js";
4
+
5
+ export function useConnections() {
6
+ const { config } = useConfig();
7
+ const [connections, setConnections] = createSignal(getConnections(config));
8
+
9
+ let cleanup: VoidFunction | undefined;
10
+ onMount(() => {
11
+ cleanup = watchConnections(config, { onChange: setConnections });
12
+ });
13
+ onCleanup(() => cleanup?.());
14
+
15
+ return connections;
16
+ }
@@ -0,0 +1,24 @@
1
+ import { useMutation } from "@tanstack/solid-query";
2
+ import { disconnectMutationOptions } from "@wagmi/core/query";
3
+ import { createMemo } from "solid-js";
4
+ import { useConfig } from "./useConfig.js";
5
+ import { useConnections } from "./useConnections.js";
6
+
7
+ export function useDisconnect() {
8
+ const { config } = useConfig();
9
+
10
+ const connections = useConnections();
11
+ const mutationOptions = disconnectMutationOptions(config);
12
+ const { mutate, mutateAsync, ...result } = useMutation(() => ({
13
+ ...mutationOptions,
14
+ }));
15
+
16
+ const connectors = createMemo(() => connections().map((c) => c.connector));
17
+
18
+ return {
19
+ ...result,
20
+ connectors,
21
+ disconnect: mutate,
22
+ disconnectAsync: mutateAsync,
23
+ };
24
+ }