solid-wagmi 0.0.2 → 0.0.4

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.
Files changed (35) hide show
  1. package/dist/esm/context.js +3 -1
  2. package/dist/esm/context.js.map +1 -1
  3. package/dist/esm/exports/index.js +5 -0
  4. package/dist/esm/exports/index.js.map +1 -1
  5. package/dist/esm/hooks/useAccount.js +15 -0
  6. package/dist/esm/hooks/useAccount.js.map +1 -0
  7. package/dist/esm/hooks/useChainId.js +17 -0
  8. package/dist/esm/hooks/useChainId.js.map +1 -0
  9. package/dist/esm/hooks/useConnect.js +25 -0
  10. package/dist/esm/hooks/useConnect.js.map +1 -0
  11. package/dist/esm/hooks/useConnections.js +14 -0
  12. package/dist/esm/hooks/useConnections.js.map +1 -0
  13. package/dist/esm/hooks/useDisconnect.js +21 -0
  14. package/dist/esm/hooks/useDisconnect.js.map +1 -0
  15. package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
  16. package/dist/types/context.d.ts.map +1 -1
  17. package/dist/types/exports/index.d.ts +5 -0
  18. package/dist/types/exports/index.d.ts.map +1 -1
  19. package/dist/types/hooks/useAccount.d.ts +2 -0
  20. package/dist/types/hooks/useAccount.d.ts.map +1 -0
  21. package/dist/types/hooks/useChainId.d.ts +2 -0
  22. package/dist/types/hooks/useChainId.d.ts.map +1 -0
  23. package/dist/types/hooks/useConnect.d.ts +70 -0
  24. package/dist/types/hooks/useConnect.d.ts.map +1 -0
  25. package/dist/types/hooks/useConnections.d.ts +2 -0
  26. package/dist/types/hooks/useConnections.d.ts.map +1 -0
  27. package/dist/types/hooks/useDisconnect.d.ts +74 -0
  28. package/dist/types/hooks/useDisconnect.d.ts.map +1 -0
  29. package/package.json +3 -2
  30. package/src/exports/index.ts +5 -0
  31. package/src/hooks/useAccount.ts +21 -0
  32. package/src/hooks/useChainId.ts +23 -0
  33. package/src/hooks/useConnect.ts +31 -0
  34. package/src/hooks/useConnections.ts +16 -0
  35. package/src/hooks/useDisconnect.ts +24 -0
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAW,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAGL,KAAK,GAAG,EAGT,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,KAAK,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,YAAY,kDAA4B,CAAC;AAEtD,wBAAgB,aAAa,CAAC,KAAK,EAAE;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;CACvB,eAmBA"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAW,KAAK,KAAK,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAGL,KAAK,GAAG,EAGT,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,QAAQ,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,KAAK,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,YAAY,kDAA4B,CAAC;AAEtD,wBAAgB,aAAa,CAAC,KAAK,EAAE;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;CACvB,eAqBA"}
@@ -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("@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":"AAQA,wBAAgB,UAAU,yGAYzB"}
@@ -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("@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("@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("@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("@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.2",
3
+ "version": "0.0.4",
4
4
  "description": "Solid.js Hooks for Ethereum",
5
5
  "type": "module",
6
6
  "repository": {
@@ -36,6 +36,7 @@
36
36
  "scripts": {
37
37
  "test": "echo \"Error: no test specified\" && exit 1",
38
38
  "build": "pnpm run clean && pnpm run build:esm",
39
- "build:esm": "tsc --project tsconfig.build.json --outDir ./dist/esm --declaration --declarationMap --declarationDir ./dist/types"
39
+ "build:esm": "tsc --project tsconfig.build.json --outDir ./dist/esm --declaration --declarationMap --declarationDir ./dist/types",
40
+ "clean": "rm -rf dist tsconfig.tsbuildinfo actions chains codegen connectors experimental query"
40
41
  }
41
42
  }
@@ -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,21 @@
1
+ import { getAccount, watchAccount } from "@wagmi/core";
2
+ import {
3
+ createSignal,
4
+ onCleanup,
5
+ onMount,
6
+ } from "solid-js/types/server/reactive.js";
7
+ import { useConfig } from "./useConfig.js";
8
+
9
+ export function useAccount() {
10
+ const { config } = useConfig();
11
+ const [account, setAccount] = createSignal(getAccount(config));
12
+
13
+ // Watch account
14
+ let cleanup: VoidFunction;
15
+ onMount(() => {
16
+ cleanup = watchAccount(config, { onChange: setAccount });
17
+ });
18
+ onCleanup(() => cleanup?.());
19
+
20
+ return account;
21
+ }
@@ -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/types/server/reactive.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
+ }