@wagmi/core 2.20.2 → 2.21.0

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 (34) hide show
  1. package/dist/esm/actions/connect.js +13 -3
  2. package/dist/esm/actions/connect.js.map +1 -1
  3. package/dist/esm/actions/getConnectors.js +1 -2
  4. package/dist/esm/actions/getConnectors.js.map +1 -1
  5. package/dist/esm/connectors/createConnector.js.map +1 -1
  6. package/dist/esm/connectors/injected.js +7 -2
  7. package/dist/esm/connectors/injected.js.map +1 -1
  8. package/dist/esm/connectors/mock.js +7 -2
  9. package/dist/esm/connectors/mock.js.map +1 -1
  10. package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
  11. package/dist/esm/utils/deepEqual.js +4 -2
  12. package/dist/esm/utils/deepEqual.js.map +1 -1
  13. package/dist/esm/version.js +1 -1
  14. package/dist/types/actions/connect.d.ts +18 -4
  15. package/dist/types/actions/connect.d.ts.map +1 -1
  16. package/dist/types/actions/getConnectors.d.ts.map +1 -1
  17. package/dist/types/connectors/createConnector.d.ts +6 -2
  18. package/dist/types/connectors/createConnector.d.ts.map +1 -1
  19. package/dist/types/connectors/injected.d.ts.map +1 -1
  20. package/dist/types/connectors/mock.d.ts +11 -3
  21. package/dist/types/connectors/mock.d.ts.map +1 -1
  22. package/dist/types/query/connect.d.ts +5 -5
  23. package/dist/types/query/connect.d.ts.map +1 -1
  24. package/dist/types/utils/deepEqual.d.ts.map +1 -1
  25. package/dist/types/version.d.ts +1 -1
  26. package/package.json +1 -1
  27. package/src/actions/connect.ts +57 -7
  28. package/src/actions/getConnectors.ts +2 -2
  29. package/src/connectors/createConnector.ts +6 -2
  30. package/src/connectors/injected.ts +7 -2
  31. package/src/connectors/mock.ts +20 -4
  32. package/src/query/connect.ts +18 -11
  33. package/src/utils/deepEqual.ts +8 -2
  34. package/src/version.ts +1 -1
@@ -16,9 +16,11 @@ export function deepEqual(a, b) {
16
16
  return false;
17
17
  return true;
18
18
  }
19
- if (a.valueOf !== Object.prototype.valueOf)
19
+ if (typeof a.valueOf === 'function' &&
20
+ a.valueOf !== Object.prototype.valueOf)
20
21
  return a.valueOf() === b.valueOf();
21
- if (a.toString !== Object.prototype.toString)
22
+ if (typeof a.toString === 'function' &&
23
+ a.toString !== Object.prototype.toString)
22
24
  return a.toString() === b.toString();
23
25
  const keys = Object.keys(a);
24
26
  length = keys.length;
@@ -1 +1 @@
1
- {"version":3,"file":"deepEqual.js","sourceRoot":"","sources":["../../../src/utils/deepEqual.ts"],"names":[],"mappings":"AAAA,iEAAiE;AAEjE,MAAM,UAAU,SAAS,CAAC,CAAM,EAAE,CAAM;IACtC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAExB,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC7D,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW;YAAE,OAAO,KAAK,CAAA;QAEjD,IAAI,MAAc,CAAA;QAClB,IAAI,CAAS,CAAA;QAEb,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAA;YACjB,IAAI,MAAM,KAAK,CAAC,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAA;YACrC,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC;gBAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAAE,OAAO,KAAK,CAAA;YACtE,OAAO,IAAI,CAAA;QACb,CAAC;QAED,IAAI,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,SAAS,CAAC,OAAO;YACxC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAA;QACpC,IAAI,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,SAAS,CAAC,QAAQ;YAC1C,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAA;QAEtC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC3B,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACpB,IAAI,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM;YAAE,OAAO,KAAK,CAAA;QAElD,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC;YAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC;gBAAE,OAAO,KAAK,CAAA;QAE3E,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,GAAI,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YAEnB,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAA;QACrD,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,oCAAoC;IACpC,oDAAoD;IACpD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC3B,CAAC"}
1
+ {"version":3,"file":"deepEqual.js","sourceRoot":"","sources":["../../../src/utils/deepEqual.ts"],"names":[],"mappings":"AAAA,iEAAiE;AAEjE,MAAM,UAAU,SAAS,CAAC,CAAM,EAAE,CAAM;IACtC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAExB,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC7D,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW;YAAE,OAAO,KAAK,CAAA;QAEjD,IAAI,MAAc,CAAA;QAClB,IAAI,CAAS,CAAA;QAEb,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAA;YACjB,IAAI,MAAM,KAAK,CAAC,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAA;YACrC,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC;gBAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;oBAAE,OAAO,KAAK,CAAA;YACtE,OAAO,IAAI,CAAA;QACb,CAAC;QAED,IACE,OAAO,CAAC,CAAC,OAAO,KAAK,UAAU;YAC/B,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,SAAS,CAAC,OAAO;YAEtC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,CAAA;QACpC,IACE,OAAO,CAAC,CAAC,QAAQ,KAAK,UAAU;YAChC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,SAAS,CAAC,QAAQ;YAExC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAA;QAEtC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAC3B,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QACpB,IAAI,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM;YAAE,OAAO,KAAK,CAAA;QAElD,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC;YAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC;gBAAE,OAAO,KAAK,CAAA;QAE3E,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,KAAK,CAAC,GAAI,CAAC;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YAEnB,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAA;QACrD,CAAC;QAED,OAAO,IAAI,CAAA;IACb,CAAC;IAED,oCAAoC;IACpC,oDAAoD;IACpD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC3B,CAAC"}
@@ -1,2 +1,2 @@
1
- export const version = '2.20.2';
1
+ export const version = '2.21.0';
2
2
  //# sourceMappingURL=version.js.map
@@ -5,14 +5,28 @@ import type { BaseErrorType, ErrorType } from '../errors/base.js';
5
5
  import { type ConnectorAlreadyConnectedErrorType } from '../errors/config.js';
6
6
  import type { ChainIdParameter } from '../types/properties.js';
7
7
  import type { Compute } from '../types/utils.js';
8
- export type ConnectParameters<config extends Config = Config, connector extends Connector | CreateConnectorFn = Connector | CreateConnectorFn, parameters extends unknown | undefined = (connector extends CreateConnectorFn ? Omit<NonNullable<Parameters<ReturnType<connector>['connect']>[0]>, 'isReconnecting'> : never) | (connector extends Connector ? Omit<NonNullable<Parameters<connector['connect']>[0]>, 'isReconnecting'> : never)> = Compute<ChainIdParameter<config> & {
8
+ export type ConnectParameters<config extends Config = Config, connector extends Connector | CreateConnectorFn = Connector | CreateConnectorFn, withCapabilities extends boolean = false, parameters extends unknown | undefined = (connector extends CreateConnectorFn ? Omit<NonNullable<Parameters<ReturnType<connector>['connect']>[0]>, 'isReconnecting'> : never) | (connector extends Connector ? Omit<NonNullable<Parameters<connector['connect']>[0]>, 'isReconnecting'> : never)> = Compute<ChainIdParameter<config> & {
9
9
  connector: connector | CreateConnectorFn;
10
+ withCapabilities?: withCapabilities | boolean | undefined;
10
11
  }> & parameters;
11
- export type ConnectReturnType<config extends Config = Config> = {
12
- accounts: readonly [Address, ...Address[]];
12
+ export type ConnectReturnType<config extends Config = Config, connector extends Connector | CreateConnectorFn = Connector | CreateConnectorFn, withCapabilities extends boolean = false, capabilities extends unknown | undefined = (connector extends CreateConnectorFn ? Awaited<ReturnType<ReturnType<connector>['connect']>>['accounts'] extends readonly Address[] | readonly {
13
+ capabilities: infer capabilities;
14
+ }[] ? capabilities : Record<string, unknown> : never) | (connector extends Connector ? Awaited<ReturnType<connector['connect']>>['accounts'] extends readonly Address[] | readonly {
15
+ capabilities: infer capabilities;
16
+ }[] ? capabilities : Record<string, unknown> : never)> = {
17
+ accounts: withCapabilities extends true ? readonly [
18
+ {
19
+ address: Address;
20
+ capabilities: capabilities;
21
+ },
22
+ ...{
23
+ address: Address;
24
+ capabilities: capabilities;
25
+ }[]
26
+ ] : readonly [Address, ...Address[]];
13
27
  chainId: config['chains'][number]['id'] | (number extends config['chains'][number]['id'] ? number : number & {});
14
28
  };
15
29
  export type ConnectErrorType = ConnectorAlreadyConnectedErrorType | UserRejectedRequestErrorType | ResourceUnavailableRpcErrorType | BaseErrorType | ErrorType;
16
30
  /** https://wagmi.sh/core/api/actions/connect */
17
- export declare function connect<config extends Config, connector extends Connector | CreateConnectorFn>(config: config, parameters: ConnectParameters<config, connector>): Promise<ConnectReturnType<config>>;
31
+ export declare function connect<config extends Config, connector extends Connector | CreateConnectorFn, withCapabilities extends boolean = false>(config: config, parameters: ConnectParameters<config, connector, withCapabilities>): Promise<ConnectReturnType<config, connector, withCapabilities>>;
18
32
  //# sourceMappingURL=connect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../src/actions/connect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,+BAA+B,EAC/B,4BAA4B,EAC7B,MAAM,MAAM,CAAA;AAEb,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACzE,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACjE,OAAO,EAEL,KAAK,kCAAkC,EACxC,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC9D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEhD,MAAM,MAAM,iBAAiB,CAC3B,MAAM,SAAS,MAAM,GAAG,MAAM,EAC9B,SAAS,SAAS,SAAS,GAAG,iBAAiB,GAC3C,SAAS,GACT,iBAAiB,EAErB,UAAU,SAAS,OAAO,GAAG,SAAS,GAClC,CAAC,SAAS,SAAS,iBAAiB,GAChC,IAAI,CACF,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC5D,gBAAgB,CACjB,GACD,KAAK,CAAC,GACV,CAAC,SAAS,SAAS,SAAS,GACxB,IAAI,CACF,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAChD,gBAAgB,CACjB,GACD,KAAK,CAAC,IACZ,OAAO,CACT,gBAAgB,CAAC,MAAM,CAAC,GAAG;IACzB,SAAS,EAAE,SAAS,GAAG,iBAAiB,CAAA;CACzC,CACF,GACC,UAAU,CAAA;AAEZ,MAAM,MAAM,iBAAiB,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAAI;IAC9D,QAAQ,EAAE,SAAS,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;IAC1C,OAAO,EACH,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAC9B,CAAC,MAAM,SAAS,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,MAAM,GAAG,EAAE,CAAC,CAAA;CAC3E,CAAA;AAED,MAAM,MAAM,gBAAgB,GACxB,kCAAkC,GAElC,4BAA4B,GAC5B,+BAA+B,GAE/B,aAAa,GACb,SAAS,CAAA;AAEb,gDAAgD;AAChD,wBAAsB,OAAO,CAC3B,MAAM,SAAS,MAAM,EACrB,SAAS,SAAS,SAAS,GAAG,iBAAiB,EAE/C,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,GAC/C,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CA4CpC"}
1
+ {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../src/actions/connect.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getConnectors.d.ts","sourceRoot":"","sources":["../../../src/actions/getConnectors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAa,MAAM,oBAAoB,CAAA;AAG3D,MAAM,MAAM,uBAAuB,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAChE,MAAM,CAAC,YAAY,CAAC,CAAA;AAItB,sDAAsD;AACtD,wBAAgB,aAAa,CAAC,MAAM,SAAS,MAAM,EACjD,MAAM,EAAE,MAAM,GACb,uBAAuB,CAAC,MAAM,CAAC,CAKjC"}
1
+ {"version":3,"file":"getConnectors.d.ts","sourceRoot":"","sources":["../../../src/actions/getConnectors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAa,MAAM,oBAAoB,CAAA;AAE3D,MAAM,MAAM,uBAAuB,CAAC,MAAM,SAAS,MAAM,GAAG,MAAM,IAChE,MAAM,CAAC,YAAY,CAAC,CAAA;AAItB,sDAAsD;AACtD,wBAAgB,aAAa,CAAC,MAAM,SAAS,MAAM,EACjD,MAAM,EAAE,MAAM,GACb,uBAAuB,CAAC,MAAM,CAAC,CAMjC"}
@@ -35,11 +35,15 @@ export type CreateConnectorFn<provider = unknown, properties extends Record<stri
35
35
  readonly supportsSimulation?: boolean | undefined;
36
36
  readonly type: string;
37
37
  setup?(): Promise<void>;
38
- connect(parameters?: {
38
+ connect<withCapabilities extends boolean = false>(parameters?: {
39
39
  chainId?: number | undefined;
40
40
  isReconnecting?: boolean | undefined;
41
+ withCapabilities?: withCapabilities | boolean | undefined;
41
42
  } | undefined): Promise<{
42
- accounts: readonly Address[];
43
+ accounts: withCapabilities extends true ? readonly {
44
+ address: Address;
45
+ capabilities: Record<string, unknown>;
46
+ }[] : readonly Address[];
43
47
  chainId: number;
44
48
  }>;
45
49
  disconnect(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"createConnector.d.ts","sourceRoot":"","sources":["../../../src/connectors/createConnector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createConnector.d.ts","sourceRoot":"","sources":["../../../src/connectors/createConnector.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"injected.d.ts","sourceRoot":"","sources":["../../../src/connectors/injected.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"injected.d.ts","sourceRoot":"","sources":["../../../src/connectors/injected.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type Address, type EIP1193RequestFn, type WalletRpcSchema } from 'viem';
1
+ import { type Address, type EIP1193RequestFn, type Hex, type WalletRpcSchema } from 'viem';
2
2
  export type MockParameters = {
3
3
  accounts: readonly [Address, ...Address[]];
4
4
  features?: {
@@ -16,12 +16,20 @@ export declare function mock(parameters: MockParameters): import("./createConnec
16
16
  request: EIP1193RequestFn<WalletRpcSchema>;
17
17
  value?: unknown;
18
18
  }, {
19
- connect(parameters?: {
19
+ connect<withCapabilities extends boolean = false>(parameters?: {
20
20
  chainId?: number | undefined;
21
21
  isReconnecting?: boolean | undefined;
22
22
  foo?: string | undefined;
23
+ withCapabilities?: withCapabilities | boolean | undefined;
23
24
  }): Promise<{
24
- accounts: readonly Address[];
25
+ accounts: withCapabilities extends true ? readonly {
26
+ address: Address;
27
+ capabilities: {
28
+ foo: {
29
+ bar: Hex;
30
+ };
31
+ };
32
+ }[] : readonly Address[];
25
33
  chainId: number;
26
34
  }>;
27
35
  }, Record<string, unknown>>;
@@ -1 +1 @@
1
- {"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../../src/connectors/mock.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EAEZ,KAAK,gBAAgB,EAarB,KAAK,eAAe,EACrB,MAAM,MAAM,CAAA;AASb,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,SAAS,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;IAC1C,QAAQ,CAAC,EACL;QACE,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACtC,YAAY,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS,CAAA;QAC1C,gBAAgB,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS,CAAA;QAC9C,gBAAgB,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS,CAAA;QAC9C,kBAAkB,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS,CAAA;QAChD,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QAC/B,eAAe,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS,CAAA;KAC9C,GACD,SAAS,CAAA;CACd,CAAA;AAGD,wBAAgB,IAAI,CAAC,UAAU,EAAE,cAAc;;;;;yBAUtB;QACnB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC5B,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACpC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KACzB,GAAG,OAAO,CAAC;QACV,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAA;QAC5B,OAAO,EAAE,MAAM,CAAA;KAChB,CAAC;4BAqQL;yBAtRe,IAAI"}
1
+ {"version":3,"file":"mock.d.ts","sourceRoot":"","sources":["../../../src/connectors/mock.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EAEZ,KAAK,gBAAgB,EAGrB,KAAK,GAAG,EAUR,KAAK,eAAe,EACrB,MAAM,MAAM,CAAA;AASb,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,SAAS,CAAC,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;IAC1C,QAAQ,CAAC,EACL;QACE,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACtC,YAAY,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS,CAAA;QAC1C,gBAAgB,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS,CAAA;QAC9C,gBAAgB,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS,CAAA;QAC9C,kBAAkB,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS,CAAA;QAChD,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QAC/B,eAAe,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS,CAAA;KAC9C,GACD,SAAS,CAAA;CACd,CAAA;AAGD,wBAAgB,IAAI,CAAC,UAAU,EAAE,cAAc;;;;;YAWnC,gBAAgB,SAAS,OAAO,uBAAuB;QAC7D,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC5B,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACpC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACxB,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,OAAO,GAAG,SAAS,CAAA;KAC1D,GAAG,OAAO,CAAC;QACV,QAAQ,EAAE,gBAAgB,SAAS,IAAI,GACnC,SAAS;YACP,OAAO,EAAE,OAAO,CAAA;YAChB,YAAY,EAAE;gBACZ,GAAG,EAAE;oBACH,GAAG,EAAE,GAAG,CAAA;iBACT,CAAA;aACF,CAAA;SACF,EAAE,GACH,SAAS,OAAO,EAAE,CAAA;QACtB,OAAO,EAAE,MAAM,CAAA;KAChB,CAAC;4BA0QL;yBAtSe,IAAI"}
@@ -4,11 +4,11 @@ import type { CreateConnectorFn } from '../connectors/createConnector.js';
4
4
  import type { Config, Connector } from '../createConfig.js';
5
5
  import type { Compute } from '../types/utils.js';
6
6
  export declare function connectMutationOptions<config extends Config>(config: config): {
7
- readonly mutationFn: (variables: ConnectVariables<config, CreateConnectorFn | Connector>) => Promise<ConnectReturnType<config>>;
7
+ readonly mutationFn: (variables: ConnectVariables<config, CreateConnectorFn | Connector, boolean>) => Promise<ConnectReturnType<config, Connector, boolean, Record<string, unknown>>>;
8
8
  readonly mutationKey: readonly ["connect"];
9
9
  };
10
- export type ConnectData<config extends Config> = ConnectReturnType<config>;
11
- export type ConnectVariables<config extends Config, connector extends Connector | CreateConnectorFn> = ConnectParameters<config, connector>;
12
- export type ConnectMutate<config extends Config, context = unknown> = <connector extends config['connectors'][number] | Connector | CreateConnectorFn>(variables: ConnectVariables<config, connector>, options?: Compute<MutateOptions<ConnectData<config>, ConnectErrorType, Compute<ConnectVariables<config, connector>>, context>> | undefined) => void;
13
- export type ConnectMutateAsync<config extends Config, context = unknown> = <connector extends config['connectors'][number] | Connector | CreateConnectorFn>(variables: ConnectVariables<config, connector>, options?: Compute<MutateOptions<ConnectData<config>, ConnectErrorType, Compute<ConnectVariables<config, connector>>, context>> | undefined) => Promise<ConnectData<config>>;
10
+ export type ConnectData<config extends Config, connector extends Connector | CreateConnectorFn, withCapabilities extends boolean> = ConnectReturnType<config, connector, withCapabilities>;
11
+ export type ConnectVariables<config extends Config, connector extends Connector | CreateConnectorFn, withCapabilities extends boolean> = ConnectParameters<config, connector, withCapabilities>;
12
+ export type ConnectMutate<config extends Config, context = unknown> = <connector extends config['connectors'][number] | Connector | CreateConnectorFn, withCapabilities extends boolean = false>(variables: ConnectVariables<config, connector, withCapabilities>, options?: Compute<MutateOptions<ConnectData<config, connector, withCapabilities>, ConnectErrorType, Compute<ConnectVariables<config, connector, withCapabilities>>, context>> | undefined) => void;
13
+ export type ConnectMutateAsync<config extends Config, context = unknown> = <connector extends config['connectors'][number] | Connector | CreateConnectorFn, withCapabilities extends boolean = false>(variables: ConnectVariables<config, connector, withCapabilities>, options?: Compute<MutateOptions<ConnectData<config, connector, withCapabilities>, ConnectErrorType, Compute<ConnectVariables<config, connector, withCapabilities>>, context>> | undefined) => Promise<ConnectData<config, connector, withCapabilities>>;
14
14
  //# sourceMappingURL=connect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../src/query/connect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAmB,MAAM,sBAAsB,CAAA;AAE1E,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EAEvB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACzE,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEhD,wBAAgB,sBAAsB,CAAC,MAAM,SAAS,MAAM,EAAE,MAAM,EAAE,MAAM;;;EAW3E;AAED,MAAM,MAAM,WAAW,CAAC,MAAM,SAAS,MAAM,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAA;AAE1E,MAAM,MAAM,gBAAgB,CAC1B,MAAM,SAAS,MAAM,EACrB,SAAS,SAAS,SAAS,GAAG,iBAAiB,IAC7C,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AAExC,MAAM,MAAM,aAAa,CAAC,MAAM,SAAS,MAAM,EAAE,OAAO,GAAG,OAAO,IAAI,CACpE,SAAS,SACL,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,GAC5B,SAAS,GACT,iBAAiB,EAErB,SAAS,EAAE,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,EAC9C,OAAO,CAAC,EACJ,OAAO,CACL,aAAa,CACX,WAAW,CAAC,MAAM,CAAC,EACnB,gBAAgB,EAChB,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,EAC5C,OAAO,CACR,CACF,GACD,SAAS,KACV,IAAI,CAAA;AAET,MAAM,MAAM,kBAAkB,CAAC,MAAM,SAAS,MAAM,EAAE,OAAO,GAAG,OAAO,IAAI,CACzE,SAAS,SACL,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,GAC5B,SAAS,GACT,iBAAiB,EAErB,SAAS,EAAE,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,EAC9C,OAAO,CAAC,EACJ,OAAO,CACL,aAAa,CACX,WAAW,CAAC,MAAM,CAAC,EACnB,gBAAgB,EAChB,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,EAC5C,OAAO,CACR,CACF,GACD,SAAS,KACV,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../../src/query/connect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAmB,MAAM,sBAAsB,CAAA;AAE1E,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EAEvB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACzE,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAEhD,wBAAgB,sBAAsB,CAAC,MAAM,SAAS,MAAM,EAAE,MAAM,EAAE,MAAM;;;EAW3E;AAED,MAAM,MAAM,WAAW,CACrB,MAAM,SAAS,MAAM,EACrB,SAAS,SAAS,SAAS,GAAG,iBAAiB,EAC/C,gBAAgB,SAAS,OAAO,IAC9B,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAA;AAE1D,MAAM,MAAM,gBAAgB,CAC1B,MAAM,SAAS,MAAM,EACrB,SAAS,SAAS,SAAS,GAAG,iBAAiB,EAC/C,gBAAgB,SAAS,OAAO,IAC9B,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAA;AAE1D,MAAM,MAAM,aAAa,CAAC,MAAM,SAAS,MAAM,EAAE,OAAO,GAAG,OAAO,IAAI,CACpE,SAAS,SACL,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,GAC5B,SAAS,GACT,iBAAiB,EACrB,gBAAgB,SAAS,OAAO,GAAG,KAAK,EAExC,SAAS,EAAE,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,gBAAgB,CAAC,EAChE,OAAO,CAAC,EACJ,OAAO,CACL,aAAa,CACX,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,gBAAgB,CAAC,EAChD,gBAAgB,EAChB,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC,EAC9D,OAAO,CACR,CACF,GACD,SAAS,KACV,IAAI,CAAA;AAET,MAAM,MAAM,kBAAkB,CAAC,MAAM,SAAS,MAAM,EAAE,OAAO,GAAG,OAAO,IAAI,CACzE,SAAS,SACL,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,GAC5B,SAAS,GACT,iBAAiB,EACrB,gBAAgB,SAAS,OAAO,GAAG,KAAK,EAExC,SAAS,EAAE,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,gBAAgB,CAAC,EAChE,OAAO,CAAC,EACJ,OAAO,CACL,aAAa,CACX,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,gBAAgB,CAAC,EAChD,gBAAgB,EAChB,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC,EAC9D,OAAO,CACR,CACF,GACD,SAAS,KACV,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"deepEqual.d.ts","sourceRoot":"","sources":["../../../src/utils/deepEqual.ts"],"names":[],"mappings":"AAAA,iEAAiE;AAEjE,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,WAuCvC"}
1
+ {"version":3,"file":"deepEqual.d.ts","sourceRoot":"","sources":["../../../src/utils/deepEqual.ts"],"names":[],"mappings":"AAAA,iEAAiE;AAEjE,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,WA6CvC"}
@@ -1,2 +1,2 @@
1
- export declare const version = "2.20.2";
1
+ export declare const version = "2.21.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@wagmi/core",
3
3
  "description": "VanillaJS library for Ethereum",
4
- "version": "2.20.2",
4
+ "version": "2.21.0",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
@@ -19,6 +19,7 @@ export type ConnectParameters<
19
19
  connector extends Connector | CreateConnectorFn =
20
20
  | Connector
21
21
  | CreateConnectorFn,
22
+ withCapabilities extends boolean = false,
22
23
  ///
23
24
  parameters extends unknown | undefined =
24
25
  | (connector extends CreateConnectorFn
@@ -36,12 +37,46 @@ export type ConnectParameters<
36
37
  > = Compute<
37
38
  ChainIdParameter<config> & {
38
39
  connector: connector | CreateConnectorFn
40
+ withCapabilities?: withCapabilities | boolean | undefined
39
41
  }
40
42
  > &
41
43
  parameters
42
44
 
43
- export type ConnectReturnType<config extends Config = Config> = {
44
- accounts: readonly [Address, ...Address[]]
45
+ export type ConnectReturnType<
46
+ config extends Config = Config,
47
+ connector extends Connector | CreateConnectorFn =
48
+ | Connector
49
+ | CreateConnectorFn,
50
+ withCapabilities extends boolean = false,
51
+ ///
52
+ capabilities extends unknown | undefined =
53
+ | (connector extends CreateConnectorFn
54
+ ? Awaited<
55
+ ReturnType<ReturnType<connector>['connect']>
56
+ >['accounts'] extends
57
+ | readonly Address[]
58
+ | readonly {
59
+ capabilities: infer capabilities
60
+ }[]
61
+ ? capabilities
62
+ : Record<string, unknown>
63
+ : never)
64
+ | (connector extends Connector
65
+ ? Awaited<ReturnType<connector['connect']>>['accounts'] extends
66
+ | readonly Address[]
67
+ | readonly {
68
+ capabilities: infer capabilities
69
+ }[]
70
+ ? capabilities
71
+ : Record<string, unknown>
72
+ : never),
73
+ > = {
74
+ accounts: withCapabilities extends true
75
+ ? readonly [
76
+ { address: Address; capabilities: capabilities },
77
+ ...{ address: Address; capabilities: capabilities }[],
78
+ ]
79
+ : readonly [Address, ...Address[]]
45
80
  chainId:
46
81
  | config['chains'][number]['id']
47
82
  | (number extends config['chains'][number]['id'] ? number : number & {})
@@ -60,10 +95,11 @@ export type ConnectErrorType =
60
95
  export async function connect<
61
96
  config extends Config,
62
97
  connector extends Connector | CreateConnectorFn,
98
+ withCapabilities extends boolean = false,
63
99
  >(
64
100
  config: config,
65
- parameters: ConnectParameters<config, connector>,
66
- ): Promise<ConnectReturnType<config>> {
101
+ parameters: ConnectParameters<config, connector, withCapabilities>,
102
+ ): Promise<ConnectReturnType<config, connector, withCapabilities>> {
67
103
  // "Register" connector if not already created
68
104
  let connector: Connector
69
105
  if (typeof parameters.connector === 'function') {
@@ -80,7 +116,6 @@ export async function connect<
80
116
 
81
117
  const { connector: _, ...rest } = parameters
82
118
  const data = await connector.connect(rest)
83
- const accounts = data.accounts as readonly [Address, ...Address[]]
84
119
 
85
120
  connector.emitter.off('connect', config._internal.events.connect)
86
121
  connector.emitter.on('change', config._internal.events.change)
@@ -90,7 +125,11 @@ export async function connect<
90
125
  config.setState((x) => ({
91
126
  ...x,
92
127
  connections: new Map(x.connections).set(connector.uid, {
93
- accounts,
128
+ accounts: (rest.withCapabilities
129
+ ? data.accounts.map((account) =>
130
+ typeof account === 'object' ? account.address : account,
131
+ )
132
+ : data.accounts) as readonly [Address, ...Address[]],
94
133
  chainId: data.chainId,
95
134
  connector: connector,
96
135
  }),
@@ -98,7 +137,18 @@ export async function connect<
98
137
  status: 'connected',
99
138
  }))
100
139
 
101
- return { accounts, chainId: data.chainId }
140
+ return {
141
+ // TODO(v3): Remove `withCapabilities: true` default behavior so remove compat marshalling
142
+ // Workaround so downstream connectors work with `withCapabilities` without any changes required
143
+ accounts: (rest.withCapabilities
144
+ ? data.accounts.map((address) =>
145
+ typeof address === 'object'
146
+ ? address
147
+ : { address, capabilities: {} },
148
+ )
149
+ : data.accounts) as never,
150
+ chainId: data.chainId,
151
+ }
102
152
  } catch (error) {
103
153
  config.setState((x) => ({
104
154
  ...x,
@@ -1,5 +1,4 @@
1
1
  import type { Config, Connector } from '../createConfig.js'
2
- import { deepEqual } from '../utils/deepEqual.js'
3
2
 
4
3
  export type GetConnectorsReturnType<config extends Config = Config> =
5
4
  config['connectors']
@@ -11,7 +10,8 @@ export function getConnectors<config extends Config>(
11
10
  config: config,
12
11
  ): GetConnectorsReturnType<config> {
13
12
  const connectors = config.connectors
14
- if (deepEqual(previousConnectors, connectors)) return previousConnectors
13
+ if (previousConnectors.map((c) => c.uid) === connectors.map((c) => c.uid))
14
+ return previousConnectors
15
15
  previousConnectors = connectors
16
16
  return connectors
17
17
  }
@@ -43,16 +43,20 @@ export type CreateConnectorFn<
43
43
  readonly type: string
44
44
 
45
45
  setup?(): Promise<void>
46
- connect(
46
+ // TODO(v3): Make `withCapabilities: true` default behavior
47
+ connect<withCapabilities extends boolean = false>(
47
48
  parameters?:
48
49
  | {
49
50
  chainId?: number | undefined
50
51
  isReconnecting?: boolean | undefined
52
+ withCapabilities?: withCapabilities | boolean | undefined
51
53
  }
52
54
  | undefined,
53
55
  ): Promise<{
54
56
  // TODO(v3): Add `capabilities` (e.g. `readonly { address: Address; capabilities: Record<string, unknown> | undefined }`)
55
- accounts: readonly Address[]
57
+ accounts: withCapabilities extends true
58
+ ? readonly { address: Address; capabilities: Record<string, unknown> }[]
59
+ : readonly Address[]
56
60
  chainId: number
57
61
  }>
58
62
  disconnect(): Promise<void>
@@ -110,7 +110,7 @@ export function injected(parameters: InjectedParameters = {}) {
110
110
  }
111
111
  }
112
112
  },
113
- async connect({ chainId, isReconnecting } = {}) {
113
+ async connect({ chainId, isReconnecting, withCapabilities } = {}) {
114
114
  const provider = await this.getProvider()
115
115
  if (!provider) throw new ProviderNotFoundError()
116
116
 
@@ -189,7 +189,12 @@ export function injected(parameters: InjectedParameters = {}) {
189
189
  if (!parameters.target)
190
190
  await config.storage?.setItem('injected.connected', true)
191
191
 
192
- return { accounts, chainId: currentChainId }
192
+ return {
193
+ accounts: (withCapabilities
194
+ ? accounts.map((address) => ({ address, capabilities: {} }))
195
+ : accounts) as never,
196
+ chainId: currentChainId,
197
+ }
193
198
  } catch (err) {
194
199
  const error = err as RpcError
195
200
  if (error.code === UserRejectedRequestError.code)
@@ -50,12 +50,23 @@ export function mock(parameters: MockParameters) {
50
50
  Transport<'custom', unknown, EIP1193RequestFn<WalletRpcSchema>>
51
51
  >
52
52
  type Properties = {
53
- connect(parameters?: {
53
+ // TODO(v3): Make `withCapabilities: true` default behavior
54
+ connect<withCapabilities extends boolean = false>(parameters?: {
54
55
  chainId?: number | undefined
55
56
  isReconnecting?: boolean | undefined
56
57
  foo?: string | undefined
58
+ withCapabilities?: withCapabilities | boolean | undefined
57
59
  }): Promise<{
58
- accounts: readonly Address[]
60
+ accounts: withCapabilities extends true
61
+ ? readonly {
62
+ address: Address
63
+ capabilities: {
64
+ foo: {
65
+ bar: Hex
66
+ }
67
+ }
68
+ }[]
69
+ : readonly Address[]
59
70
  chainId: number
60
71
  }>
61
72
  }
@@ -69,7 +80,7 @@ export function mock(parameters: MockParameters) {
69
80
  async setup() {
70
81
  connectedChainId = config.chains[0].id
71
82
  },
72
- async connect({ chainId } = {}) {
83
+ async connect({ chainId, withCapabilities } = {}) {
73
84
  if (features.connectError) {
74
85
  if (typeof features.connectError === 'boolean')
75
86
  throw new UserRejectedRequestError(new Error('Failed to connect.'))
@@ -90,7 +101,12 @@ export function mock(parameters: MockParameters) {
90
101
  connected = true
91
102
 
92
103
  return {
93
- accounts: accounts.map((x) => getAddress(x)),
104
+ accounts: (withCapabilities
105
+ ? accounts.map((x) => ({
106
+ address: getAddress(x),
107
+ capabilities: { foo: { bar: x } },
108
+ }))
109
+ : accounts.map((x) => getAddress(x))) as never,
94
110
  chainId: currentChainId,
95
111
  }
96
112
  },
@@ -17,32 +17,38 @@ export function connectMutationOptions<config extends Config>(config: config) {
17
17
  },
18
18
  mutationKey: ['connect'],
19
19
  } as const satisfies MutationOptions<
20
- ConnectData<config>,
20
+ ConnectData<config, Connector | CreateConnectorFn, boolean>,
21
21
  ConnectErrorType,
22
- ConnectVariables<config, Connector | CreateConnectorFn>
22
+ ConnectVariables<config, Connector | CreateConnectorFn, boolean>
23
23
  >
24
24
  }
25
25
 
26
- export type ConnectData<config extends Config> = ConnectReturnType<config>
26
+ export type ConnectData<
27
+ config extends Config,
28
+ connector extends Connector | CreateConnectorFn,
29
+ withCapabilities extends boolean,
30
+ > = ConnectReturnType<config, connector, withCapabilities>
27
31
 
28
32
  export type ConnectVariables<
29
33
  config extends Config,
30
34
  connector extends Connector | CreateConnectorFn,
31
- > = ConnectParameters<config, connector>
35
+ withCapabilities extends boolean,
36
+ > = ConnectParameters<config, connector, withCapabilities>
32
37
 
33
38
  export type ConnectMutate<config extends Config, context = unknown> = <
34
39
  connector extends
35
40
  | config['connectors'][number]
36
41
  | Connector
37
42
  | CreateConnectorFn,
43
+ withCapabilities extends boolean = false,
38
44
  >(
39
- variables: ConnectVariables<config, connector>,
45
+ variables: ConnectVariables<config, connector, withCapabilities>,
40
46
  options?:
41
47
  | Compute<
42
48
  MutateOptions<
43
- ConnectData<config>,
49
+ ConnectData<config, connector, withCapabilities>,
44
50
  ConnectErrorType,
45
- Compute<ConnectVariables<config, connector>>,
51
+ Compute<ConnectVariables<config, connector, withCapabilities>>,
46
52
  context
47
53
  >
48
54
  >
@@ -54,16 +60,17 @@ export type ConnectMutateAsync<config extends Config, context = unknown> = <
54
60
  | config['connectors'][number]
55
61
  | Connector
56
62
  | CreateConnectorFn,
63
+ withCapabilities extends boolean = false,
57
64
  >(
58
- variables: ConnectVariables<config, connector>,
65
+ variables: ConnectVariables<config, connector, withCapabilities>,
59
66
  options?:
60
67
  | Compute<
61
68
  MutateOptions<
62
- ConnectData<config>,
69
+ ConnectData<config, connector, withCapabilities>,
63
70
  ConnectErrorType,
64
- Compute<ConnectVariables<config, connector>>,
71
+ Compute<ConnectVariables<config, connector, withCapabilities>>,
65
72
  context
66
73
  >
67
74
  >
68
75
  | undefined,
69
- ) => Promise<ConnectData<config>>
76
+ ) => Promise<ConnectData<config, connector, withCapabilities>>
@@ -16,9 +16,15 @@ export function deepEqual(a: any, b: any) {
16
16
  return true
17
17
  }
18
18
 
19
- if (a.valueOf !== Object.prototype.valueOf)
19
+ if (
20
+ typeof a.valueOf === 'function' &&
21
+ a.valueOf !== Object.prototype.valueOf
22
+ )
20
23
  return a.valueOf() === b.valueOf()
21
- if (a.toString !== Object.prototype.toString)
24
+ if (
25
+ typeof a.toString === 'function' &&
26
+ a.toString !== Object.prototype.toString
27
+ )
22
28
  return a.toString() === b.toString()
23
29
 
24
30
  const keys = Object.keys(a)
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '2.20.2'
1
+ export const version = '2.21.0'