@ensforge/react 0.0.0 → 0.1.1

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 (111) hide show
  1. package/README.md +10 -10
  2. package/dist/atoms/batch.d.ts +6 -6
  3. package/dist/atoms/batch.d.ts.map +1 -1
  4. package/dist/atoms/capabilities.d.ts +20 -20
  5. package/dist/atoms/capabilities.d.ts.map +1 -1
  6. package/dist/atoms/dns.d.ts +7 -7
  7. package/dist/atoms/dns.d.ts.map +1 -1
  8. package/dist/atoms/events.d.ts +29 -29
  9. package/dist/atoms/events.d.ts.map +1 -1
  10. package/dist/atoms/generic.d.ts +5 -4
  11. package/dist/atoms/generic.d.ts.map +1 -1
  12. package/dist/atoms/generic.js.map +1 -1
  13. package/dist/atoms/migration.d.ts +5 -5
  14. package/dist/atoms/migration.d.ts.map +1 -1
  15. package/dist/atoms/name.d.ts +23 -23
  16. package/dist/atoms/name.d.ts.map +1 -1
  17. package/dist/atoms/ownership.d.ts +2 -2
  18. package/dist/atoms/ownership.d.ts.map +1 -1
  19. package/dist/atoms/query.d.ts +6 -11
  20. package/dist/atoms/query.d.ts.map +1 -1
  21. package/dist/atoms/query.js +14 -11
  22. package/dist/atoms/query.js.map +1 -1
  23. package/dist/atoms/records.d.ts +12 -12
  24. package/dist/atoms/records.d.ts.map +1 -1
  25. package/dist/atoms/registration.d.ts +8 -8
  26. package/dist/atoms/registration.d.ts.map +1 -1
  27. package/dist/atoms/resolution.d.ts +8 -8
  28. package/dist/atoms/resolution.d.ts.map +1 -1
  29. package/dist/atoms/reverse.d.ts +2 -2
  30. package/dist/atoms/reverse.d.ts.map +1 -1
  31. package/dist/atoms/stream.d.ts +2 -2
  32. package/dist/atoms/stream.d.ts.map +1 -1
  33. package/dist/atoms/stream.js +6 -4
  34. package/dist/atoms/stream.js.map +1 -1
  35. package/dist/atoms/wrapping.d.ts +3 -3
  36. package/dist/atoms/wrapping.d.ts.map +1 -1
  37. package/dist/atoms.d.ts +3 -2
  38. package/dist/atoms.js +3 -2
  39. package/dist/cache/invalidation.d.ts +5 -5
  40. package/dist/cache/invalidation.d.ts.map +1 -1
  41. package/dist/cache/invalidation.js +3 -3
  42. package/dist/cache/invalidation.js.map +1 -1
  43. package/dist/cache/prefetch.d.ts +5 -4
  44. package/dist/cache/prefetch.d.ts.map +1 -1
  45. package/dist/cache/prefetch.js +3 -3
  46. package/dist/cache/prefetch.js.map +1 -1
  47. package/dist/cache/registry.d.ts +3 -3
  48. package/dist/cache/registry.d.ts.map +1 -1
  49. package/dist/cache/registry.js +2 -2
  50. package/dist/cache/registry.js.map +1 -1
  51. package/dist/cache.d.ts +4 -4
  52. package/dist/cache.js +4 -4
  53. package/dist/hooks/batch.d.ts +13 -13
  54. package/dist/hooks/batch.d.ts.map +1 -1
  55. package/dist/hooks/capabilities.d.ts +107 -107
  56. package/dist/hooks/capabilities.d.ts.map +1 -1
  57. package/dist/hooks/dns.d.ts +39 -39
  58. package/dist/hooks/dns.d.ts.map +1 -1
  59. package/dist/hooks/events.d.ts +98 -98
  60. package/dist/hooks/events.d.ts.map +1 -1
  61. package/dist/hooks/generic.d.ts +5 -5
  62. package/dist/hooks/generic.d.ts.map +1 -1
  63. package/dist/hooks/generic.js.map +1 -1
  64. package/dist/hooks/index.d.ts +4 -4
  65. package/dist/hooks/migration.d.ts +27 -27
  66. package/dist/hooks/migration.d.ts.map +1 -1
  67. package/dist/hooks/name.d.ts +73 -73
  68. package/dist/hooks/name.d.ts.map +1 -1
  69. package/dist/hooks/ownership.d.ts +5 -5
  70. package/dist/hooks/ownership.d.ts.map +1 -1
  71. package/dist/hooks/records.d.ts +69 -69
  72. package/dist/hooks/records.d.ts.map +1 -1
  73. package/dist/hooks/registration.d.ts +45 -45
  74. package/dist/hooks/registration.d.ts.map +1 -1
  75. package/dist/hooks/resolution.d.ts +33 -33
  76. package/dist/hooks/resolution.d.ts.map +1 -1
  77. package/dist/hooks/reverse.d.ts +9 -9
  78. package/dist/hooks/reverse.d.ts.map +1 -1
  79. package/dist/hooks/use-cache.d.ts +6 -6
  80. package/dist/hooks/use-cache.d.ts.map +1 -1
  81. package/dist/hooks/use-cache.js +4 -4
  82. package/dist/hooks/use-cache.js.map +1 -1
  83. package/dist/hooks/use-mutation.js +16 -31
  84. package/dist/hooks/use-mutation.js.map +1 -1
  85. package/dist/hooks/use-query.d.ts +6 -6
  86. package/dist/hooks/use-query.d.ts.map +1 -1
  87. package/dist/hooks/use-query.js +24 -52
  88. package/dist/hooks/use-query.js.map +1 -1
  89. package/dist/hooks/use-suspense-query.d.ts +9 -8
  90. package/dist/hooks/use-suspense-query.d.ts.map +1 -1
  91. package/dist/hooks/use-suspense-query.js +5 -5
  92. package/dist/hooks/use-suspense-query.js.map +1 -1
  93. package/dist/hooks/wrapping.d.ts +7 -7
  94. package/dist/hooks/wrapping.d.ts.map +1 -1
  95. package/dist/index.d.ts +11 -11
  96. package/dist/index.js +7 -7
  97. package/dist/mutation/options.d.ts +9 -7
  98. package/dist/mutation/options.d.ts.map +1 -1
  99. package/dist/mutation/result.d.ts +8 -10
  100. package/dist/mutation/result.d.ts.map +1 -1
  101. package/dist/provider/context.d.ts +4 -2
  102. package/dist/provider/context.d.ts.map +1 -1
  103. package/dist/provider/context.js.map +1 -1
  104. package/dist/query/options.d.ts +27 -24
  105. package/dist/query/options.d.ts.map +1 -1
  106. package/dist/query/options.js +26 -12
  107. package/dist/query/options.js.map +1 -1
  108. package/dist/query/result.d.ts +7 -13
  109. package/dist/query/result.d.ts.map +1 -1
  110. package/dist/query/result.js.map +1 -1
  111. package/package.json +2 -2
@@ -1,18 +1,18 @@
1
1
  "use client";
2
2
 
3
+ import { resolveEnsAtomOptions } from "../query/options.js";
3
4
  import { useEnsforgeContext } from "../provider/context.js";
4
- import { resolveEnsQueryOptions } from "../query/options.js";
5
5
  import { useAtomSuspense } from "@effect/atom-react";
6
6
 
7
7
  //#region src/hooks/use-suspense-query.ts
8
8
  const makeSuspenseQueryHook = (factory) => (input) => {
9
9
  const { defaults, sdk } = useEnsforgeContext();
10
- const { query, ...parameters } = input;
11
- const atom = factory(sdk, parameters, resolveEnsQueryOptions(defaults.queries, query));
10
+ const { atom: atomOptions, map, ...parameters } = input;
11
+ const atom = factory(sdk, parameters, resolveEnsAtomOptions(defaults.atoms, atomOptions));
12
12
  const result = useAtomSuspense(atom, { suspendOnWaiting: false });
13
13
  return {
14
- data: query?.select === void 0 ? result.value : query.select(result.value),
15
- isFetching: result.waiting,
14
+ data: map === void 0 ? result.value : map(result.value),
15
+ isWaiting: result.waiting,
16
16
  updatedAt: result.timestamp
17
17
  };
18
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"use-suspense-query.js","names":[],"sources":["../../src/hooks/use-suspense-query.ts"],"sourcesContent":["\"use client\";\n\nimport { useAtomSuspense } from \"@effect/atom-react\";\n\nimport type { EnsQueryAtomFactory } from \"../atoms/query.js\";\nimport { useEnsforgeContext } from \"../provider/context.js\";\nimport {\n resolveEnsQueryOptions,\n type EnsQueryOptions,\n type UseEnsQueryParameters,\n} from \"../query/options.js\";\n\nexport type UseEnsSuspenseQueryParameters<Parameters, Success, Selected = Success> = Parameters & {\n readonly query?: Omit<EnsQueryOptions<Success, Selected>, \"enabled\">;\n};\n\nexport interface EnsSuspenseQueryResult<Success> {\n readonly data: Success;\n readonly isFetching: boolean;\n readonly updatedAt: number;\n}\n\nexport const makeSuspenseQueryHook =\n <Parameters extends object, Success, Failure>(\n factory: EnsQueryAtomFactory<Parameters, Success, Failure>,\n ) =>\n <Selected = Success>(\n input: UseEnsSuspenseQueryParameters<Parameters, Success, Selected>,\n ): EnsSuspenseQueryResult<Selected> => {\n const { defaults, sdk } = useEnsforgeContext();\n const { query, ...parameters } = input as UseEnsQueryParameters<Parameters, Success, Selected>;\n const options = resolveEnsQueryOptions(defaults.queries, query);\n const atom = factory(sdk, parameters as Parameters, options);\n const result = useAtomSuspense(atom, { suspendOnWaiting: false });\n\n return {\n data:\n query?.select === undefined\n ? (result.value as unknown as Selected)\n : query.select(result.value),\n isFetching: result.waiting,\n updatedAt: result.timestamp,\n };\n };\n"],"mappings":";;;;;;;AAsBA,MAAa,yBAET,aAGA,UACqC;CACrC,MAAM,EAAE,UAAU,QAAQ,mBAAmB;CAC7C,MAAM,EAAE,OAAO,GAAG,eAAe;CAEjC,MAAM,OAAO,QAAQ,KAAK,YADV,uBAAuB,SAAS,SAAS,KACC,CAAC;CAC3D,MAAM,SAAS,gBAAgB,MAAM,EAAE,kBAAkB,MAAM,CAAC;CAEhE,OAAO;EACL,MACE,OAAO,WAAW,SACb,OAAO,QACR,MAAM,OAAO,OAAO,KAAK;EAC/B,YAAY,OAAO;EACnB,WAAW,OAAO;CACpB;AACF"}
1
+ {"version":3,"file":"use-suspense-query.js","names":[],"sources":["../../src/hooks/use-suspense-query.ts"],"sourcesContent":["\"use client\";\n\nimport { useAtomSuspense } from \"@effect/atom-react\";\n\nimport type { EnsAtomFactory } from \"../atoms/query.js\";\nimport { useEnsforgeContext } from \"../provider/context.js\";\nimport {\n resolveEnsAtomOptions,\n type EnsAtomOptions,\n type UseEnsAtomParameters,\n} from \"../query/options.js\";\n\nexport type UseEnsSuspenseAtomParameters<\n Parameters,\n Success,\n Failure,\n Mapped = Success,\n> = Parameters & {\n readonly atom?: EnsAtomOptions<Failure>;\n readonly map?: (value: Success) => Mapped;\n};\n\nexport interface EnsSuspenseAtomResult<Success> {\n readonly data: Success;\n readonly isWaiting: boolean;\n readonly updatedAt: number;\n}\n\nexport const makeSuspenseQueryHook =\n <Parameters extends object, Success, Failure>(\n factory: EnsAtomFactory<Parameters, Success, Failure>,\n ) =>\n <Mapped = Success>(\n input: UseEnsSuspenseAtomParameters<Parameters, Success, Failure, Mapped>,\n ): EnsSuspenseAtomResult<Mapped> => {\n const { defaults, sdk } = useEnsforgeContext();\n const {\n atom: atomOptions,\n map,\n ...parameters\n } = input as UseEnsAtomParameters<Parameters, Success, Failure, Mapped>;\n const options = resolveEnsAtomOptions(defaults.atoms, atomOptions);\n const atom = factory(sdk, parameters as Parameters, options);\n const result = useAtomSuspense(atom, { suspendOnWaiting: false });\n\n return {\n data: map === undefined ? (result.value as unknown as Mapped) : map(result.value),\n isWaiting: result.waiting,\n updatedAt: result.timestamp,\n };\n };\n"],"mappings":";;;;;;;AA4BA,MAAa,yBAET,aAGA,UACkC;CAClC,MAAM,EAAE,UAAU,QAAQ,mBAAmB;CAC7C,MAAM,EACJ,MAAM,aACN,KACA,GAAG,eACD;CAEJ,MAAM,OAAO,QAAQ,KAAK,YADV,sBAAsB,SAAS,OAAO,WACI,CAAC;CAC3D,MAAM,SAAS,gBAAgB,MAAM,EAAE,kBAAkB,MAAM,CAAC;CAEhE,OAAO;EACL,MAAM,QAAQ,SAAa,OAAO,QAA8B,IAAI,OAAO,KAAK;EAChF,WAAW,OAAO;EAClB,WAAW,OAAO;CACpB;AACF"}
@@ -1,14 +1,14 @@
1
- import { UseEnsQueryParameters } from "../query/options.js";
2
- import { EnsSuspenseQueryResult, UseEnsSuspenseQueryParameters } from "./use-suspense-query.js";
3
- import { EnsQueryResult } from "../query/result.js";
1
+ import { UseEnsAtomParameters } from "../query/options.js";
2
+ import { EnsSuspenseAtomResult, UseEnsSuspenseAtomParameters } from "./use-suspense-query.js";
3
+ import { EnsAtomResult } from "../query/result.js";
4
4
  import { EnsMutationOptions } from "../mutation/options.js";
5
5
  import { EnsMutationResult } from "../mutation/result.js";
6
6
  import "../index.js";
7
7
  //#region src/hooks/wrapping.d.ts
8
- declare const useFuses: <Selected = import("@ensforge/core").GetFusesResult>(input: UseEnsQueryParameters<import("@ensforge/core").WrapperReadParameters, import("@ensforge/core").GetFusesResult, Selected>) => EnsQueryResult<Selected, import("@ensforge/core").GetCanonicalResourceError>;
9
- declare const useFusesSuspense: <Selected = import("@ensforge/core").GetFusesResult>(input: UseEnsSuspenseQueryParameters<import("@ensforge/core").WrapperReadParameters, import("@ensforge/core").GetFusesResult, Selected>) => EnsSuspenseQueryResult<Selected>;
10
- declare const useWrapperExpiry: <Selected = import("@ensforge/core").GetWrapperExpiryResult>(input: UseEnsQueryParameters<import("@ensforge/core").WrapperReadParameters, import("@ensforge/core").GetWrapperExpiryResult, Selected>) => EnsQueryResult<Selected, import("@ensforge/core").GetCanonicalResourceError>;
11
- declare const useWrapperExpirySuspense: <Selected = import("@ensforge/core").GetWrapperExpiryResult>(input: UseEnsSuspenseQueryParameters<import("@ensforge/core").WrapperReadParameters, import("@ensforge/core").GetWrapperExpiryResult, Selected>) => EnsSuspenseQueryResult<Selected>;
8
+ declare const useFuses: <Mapped = import("@ensforge/core").GetFusesResult>(input: UseEnsAtomParameters<import("@ensforge/core").WrapperReadParameters, import("@ensforge/core").GetFusesResult, import("@ensforge/core").GetCanonicalResourceError, Mapped>) => EnsAtomResult<Mapped, import("@ensforge/core").GetCanonicalResourceError>;
9
+ declare const useFusesSuspense: <Mapped = import("@ensforge/core").GetFusesResult>(input: UseEnsSuspenseAtomParameters<import("@ensforge/core").WrapperReadParameters, import("@ensforge/core").GetFusesResult, import("@ensforge/core").GetCanonicalResourceError, Mapped>) => EnsSuspenseAtomResult<Mapped>;
10
+ declare const useWrapperExpiry: <Mapped = import("@ensforge/core").GetWrapperExpiryResult>(input: UseEnsAtomParameters<import("@ensforge/core").WrapperReadParameters, import("@ensforge/core").GetWrapperExpiryResult, import("@ensforge/core").GetCanonicalResourceError, Mapped>) => EnsAtomResult<Mapped, import("@ensforge/core").GetCanonicalResourceError>;
11
+ declare const useWrapperExpirySuspense: <Mapped = import("@ensforge/core").GetWrapperExpiryResult>(input: UseEnsSuspenseAtomParameters<import("@ensforge/core").WrapperReadParameters, import("@ensforge/core").GetWrapperExpiryResult, import("@ensforge/core").GetCanonicalResourceError, Mapped>) => EnsSuspenseAtomResult<Mapped>;
12
12
  declare const useExtendSubnameExpiry: (options?: EnsMutationOptions<import("@ensforge/core").ExtendSubnameExpiryParameters, import("@ensforge/core").CallExecutionResult, import("@ensforge/core").WriteError>) => EnsMutationResult<import("@ensforge/core").ExtendSubnameExpiryParameters, import("@ensforge/core").CallExecutionResult, import("@ensforge/core").WriteError>;
13
13
  declare const useSetChildFuses: (options?: EnsMutationOptions<import("@ensforge/core").SetChildFusesParameters, import("@ensforge/core").CallExecutionResult, import("@ensforge/core").WriteError>) => EnsMutationResult<import("@ensforge/core").SetChildFusesParameters, import("@ensforge/core").CallExecutionResult, import("@ensforge/core").WriteError>;
14
14
  declare const useSetFuses: (options?: EnsMutationOptions<import("@ensforge/core").SetFusesParameters, import("@ensforge/core").CallExecutionResult, import("@ensforge/core").WriteError>) => EnsMutationResult<import("@ensforge/core").SetFusesParameters, import("@ensforge/core").CallExecutionResult, import("@ensforge/core").WriteError>;
@@ -1 +1 @@
1
- {"version":3,"file":"wrapping.d.ts","names":[],"sources":["../../src/hooks/wrapping.ts"],"mappings":";;;;;;;cAea,WAAQ,oCAAA,gBAAA,OAAA,+CAAA,gDAAA,gBAAA,cAAA,eAAA,mCAAA;cACR,mBAAgB,oCAAA,gBAAA,OAAA,uDAAA,gDAAA,gBAAA,cAAA,uBAAA;cAChB,mBAAgB,oCAAA,wBAAA,OAAA,+CAAA,gDAAA,wBAAA,cAAA,eAAA,mCAAA;cAChB,2BAAwB,oCAAA,wBAAA,OAAA,uDAAA,gDAAA,wBAAA,cAAA,uBAAA;cAExB,yBAAsB,UAAtB,4CAAsB,wDAAA,8CAAA,gBAAA,2CAAA,wDAAA,8CAAA;cACtB,mBAAgB,UAAhB,4CAAgB,kDAAA,8CAAA,gBAAA,2CAAA,kDAAA,8CAAA;cAChB,cAAW,UAAX,4CAAW,6CAAA,8CAAA,gBAAA,2CAAA,6CAAA,8CAAA;cACX,gBAAa,UAAb,4CAAa,+CAAA,8CAAA,gBAAA,2CAAA,+CAAA,8CAAA;cACb,cAAW,UAAX,4CAAW,6CAAA,yCAAA,gBAAA,2CAAA,6CAAA,yCAAA"}
1
+ {"version":3,"file":"wrapping.d.ts","names":[],"sources":["../../src/hooks/wrapping.ts"],"mappings":";;;;;;;cAea,WAAQ,kCAAA,gBAAA,OAAA,8CAAA,gDAAA,yCAAA,2BAAA,YAAA,cAAA,iCAAA;cACR,mBAAgB,kCAAA,gBAAA,OAAA,sDAAA,gDAAA,yCAAA,2BAAA,YAAA,sBAAA;cAChB,mBAAgB,kCAAA,wBAAA,OAAA,8CAAA,gDAAA,iDAAA,2BAAA,YAAA,cAAA,iCAAA;cAChB,2BAAwB,kCAAA,wBAAA,OAAA,sDAAA,gDAAA,iDAAA,2BAAA,YAAA,sBAAA;cAExB,yBAAsB,UAAtB,4CAAsB,wDAAA,8CAAA,gBAAA,2CAAA,wDAAA,8CAAA;cACtB,mBAAgB,UAAhB,4CAAgB,kDAAA,8CAAA,gBAAA,2CAAA,kDAAA,8CAAA;cAChB,cAAW,UAAX,4CAAW,6CAAA,8CAAA,gBAAA,2CAAA,6CAAA,8CAAA;cACX,gBAAa,UAAb,4CAAa,+CAAA,8CAAA,gBAAA,2CAAA,+CAAA,8CAAA;cACb,cAAW,UAAX,4CAAW,6CAAA,yCAAA,gBAAA,2CAAA,6CAAA,yCAAA"}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,9 @@
1
- import { EnsforgeInvalidation, invalidateEnsforge, invalidateEnsforgeEffect, makeInvalidationKeys } from "./cache/invalidation.js";
2
- import { prefetchEnsforge, prefetchEnsforgeEffect } from "./cache/prefetch.js";
3
- import { CreateEnsforgeRegistryOptions, createEnsforgeRegistry } from "./cache/registry.js";
1
+ import { EnsAtomDefaults, EnsAtomOptions, EnsAtomSwrOptions, ResolvedEnsAtomOptions, ResolvedEnsAtomSwrOptions, UseEnsAtomParameters, defaultEnsAtomOptions } from "./query/options.js";
2
+ import { Invalidation, invalidate, invalidateEffect, makeInvalidationKeys } from "./cache/invalidation.js";
3
+ import { prefetch, prefetchEffect } from "./cache/prefetch.js";
4
+ import { CreateRegistryOptions, createRegistry } from "./cache/registry.js";
4
5
  import "./cache.js";
5
- import { EnsQueryDefaults, EnsQueryOptions, ResolvedEnsQueryOptions, UseEnsQueryParameters, defaultEnsQueryOptions } from "./query/options.js";
6
- import { EnsSuspenseQueryResult, UseEnsSuspenseQueryParameters, makeSuspenseQueryHook } from "./hooks/use-suspense-query.js";
6
+ import { EnsSuspenseAtomResult, UseEnsSuspenseAtomParameters, makeSuspenseQueryHook } from "./hooks/use-suspense-query.js";
7
7
  import { useCallsStatus, useCallsStatusSuspense, useEstimateCalls, useEstimateCallsSuspense, useExecuteWritePlan, usePrepareCalls, usePrepareCallsSuspense, useResumeCalls, useSendCalls, useSimulateCalls, useSimulateCallsSuspense, useWalletCapabilities, useWalletCapabilitiesSuspense } from "./hooks/batch.js";
8
8
  import { useHasRegistryRoles, useHasRegistryRolesSuspense, useHasResolverRoles, useHasResolverRolesSuspense, useNameCapabilities, useNameCapabilitiesSuspense, useOperatorApproval, useOperatorApprovalSuspense, useRecordPermissions, useRecordPermissionsSuspense, useRegistryCapabilities, useRegistryCapabilitiesSuspense, useRegistryRoles, useRegistryRolesSuspense, useRequiredAuthorization, useRequiredAuthorizationSuspense, useResolverCapabilities, useResolverCapabilitiesSuspense, useResolverDelegateApproval, useResolverDelegateApprovalSuspense, useResolverRoles, useResolverRolesSuspense, useTokenApproval, useTokenApprovalSuspense, useWrapperPermissions, useWrapperPermissionsSuspense, useWriteTarget, useWriteTargetSuspense } from "./hooks/capabilities.js";
9
9
  import { useClaimDnsName, useDnsClaimStatus, useDnsClaimStatusSuspense, useDnsImportPlan, useDnsImportPlanSuspense, useDnsRecord, useDnsRecordSuspense, useDnsRecords, useDnsRecordsSuspense, useHasDnsRecords, useHasDnsRecordsSuspense, useImportDnsName, useSetDnsRecords, useSetZoneHash, useZoneHash, useZoneHashSuspense } from "./hooks/dns.js";
@@ -18,13 +18,13 @@ import { useAlias, useAliasSuspense, useCreateResolver, useGetOrCreateResolver,
18
18
  import { useClearPrimaryName, usePrimaryName, usePrimaryNameSuspense, useSetContractPrimaryName, useSetPrimaryName, useSetPrimaryNameForAddress } from "./hooks/reverse.js";
19
19
  import { useCreateSubname, useDeleteSubname, useSetSubnameExpiry, useSetSubnameManager, useSetSubnameRecord, useSetSubnameResolver, useTransferSubname } from "./hooks/subnames.js";
20
20
  import { useExtendSubnameExpiry, useFuses, useFusesSuspense, useSetChildFuses, useSetFuses, useUnwrapName, useWrapName, useWrapperExpiry, useWrapperExpirySuspense } from "./hooks/wrapping.js";
21
- import { EnsFetchStatus, EnsQueryResult, EnsQueryStatus } from "./query/result.js";
21
+ import { EnsAtomResult } from "./query/result.js";
22
22
  import { useReadBatch, useReadBatchSettled, useRecords } from "./hooks/generic.js";
23
- import { InvalidateEnsforge, useInvalidateEnsforge } from "./hooks/use-cache.js";
24
- import { EnsMutationCallbacks, EnsMutationOptions } from "./mutation/options.js";
25
- import { EnsMutationResult, EnsMutationStatus } from "./mutation/result.js";
23
+ import { Invalidate, useInvalidate } from "./hooks/use-cache.js";
24
+ import { EnsMutationDefaults, EnsMutationExecutionOptions, EnsMutationOptions } from "./mutation/options.js";
25
+ import { EnsMutationResult } from "./mutation/result.js";
26
26
  import { makeMutationHook } from "./hooks/use-mutation.js";
27
- import { makeQueryHook, prefetchQueryAtom } from "./hooks/use-query.js";
27
+ import { makeQueryHook, prefetchAtom } from "./hooks/use-query.js";
28
28
  import "./hooks/index.js";
29
29
  import { EnsforgeReactDefaults } from "./provider/context.js";
30
30
  import { EnsforgeProvider, EnsforgeProviderProps } from "./provider/ensforge-provider.js";
@@ -32,4 +32,4 @@ import { useEnsforge, useEnsforgeRegistry } from "./provider/hooks.js";
32
32
  import "./provider/index.js";
33
33
  import { Ensforge } from "@ensforge/sdk";
34
34
  export type * from "@ensforge/sdk";
35
- export { type CreateEnsforgeRegistryOptions, type EnsFetchStatus, type EnsMutationCallbacks, type EnsMutationOptions, type EnsMutationResult, type EnsMutationStatus, type EnsQueryDefaults, type EnsQueryOptions, type EnsQueryResult, type EnsQueryStatus, type EnsSuspenseQueryResult, Ensforge, type EnsforgeInvalidation, EnsforgeProvider, type EnsforgeProviderProps, type EnsforgeReactDefaults, type InvalidateEnsforge, type ResolvedEnsQueryOptions, type UseEnsQueryParameters, type UseEnsSuspenseQueryParameters, createEnsforgeRegistry, defaultEnsQueryOptions, invalidateEnsforge, invalidateEnsforgeEffect, makeInvalidationKeys, makeMutationHook, makeQueryHook, makeSuspenseQueryHook, prefetchEnsforge, prefetchEnsforgeEffect, prefetchQueryAtom, useAbi, useAbiSuspense, useAddress, useAddressSuspense, useAddresses, useAddressesSuspense, useAlias, useAliasSuspense, useApproveMigration, useApproveName, useApprovePaymentToken, useApproveRenewalPayment, useAvatar, useAvatarSuspense, useCallsStatus, useCallsStatusSuspense, useCanonicalResource, useCanonicalResourceSuspense, useClaimDnsName, useClearAvatar, useClearNameApproval, useClearPrimaryName, useClearRecords, useCommitName, useCommitmentStatus, useCommitmentStatusSuspense, useCompleteRegistration, useContentHash, useContentHashSuspense, useCreateResolver, useCreateSubname, useData, useDataSuspense, useDeleteSubname, useDnsClaimStatus, useDnsClaimStatusSuspense, useDnsImportPlan, useDnsImportPlanSuspense, useDnsRecord, useDnsRecordSuspense, useDnsRecords, useDnsRecordsSuspense, useEnsEvents, useEnsEventsSuspense, useEnsforge, useEnsforgeRegistry, useEstimateCalls, useEstimateCallsSuspense, useExecuteWritePlan, useExpiry, useExpirySuspense, useExtendSubnameExpiry, useFuses, useFusesSuspense, useGetOrCreateResolver, useGrantRegistryRoles, useGrantResolverRoles, useGrantResolverRootRoles, useHasDnsRecords, useHasDnsRecordsSuspense, useHasRegistryRoles, useHasRegistryRolesSuspense, useHasResolverRoles, useHasResolverRolesSuspense, useImportDnsName, useInterface, useInterfaceSuspense, useInvalidateEnsforge, useIsAvailable, useIsAvailableSuspense, useIsMigrated, useIsMigratedSuspense, useIsPaymentTokenSupported, useIsPaymentTokenSupportedSuspense, useIsRenewable, useIsRenewableSuspense, useIsReserved, useIsReservedSuspense, useIsWrapped, useIsWrappedSuspense, useManager, useManagerSuspense, useMigrateName, useMigrateNames, useMigrationEligibility, useMigrationEligibilitySuspense, useMigrationPlan, useMigrationPlanSuspense, useMigrationStatus, useMigrationStatusSuspense, useMigrationTarget, useMigrationTargetSuspense, useNameCapabilities, useNameCapabilitiesSuspense, useNameHistory, useNameHistorySuspense, useNameRecord, useNameRecordSuspense, useNameState, useNameStateSuspense, useNameStatus, useNameStatusSuspense, useOperatorApproval, useOperatorApprovalSuspense, useOwner, useOwnerSuspense, usePredictResolverAddress, usePredictResolverAddressSuspense, usePrepareCalls, usePrepareCallsSuspense, usePrimaryName, usePrimaryNameSuspense, useProtocol, useProtocolSuspense, usePubkey, usePubkeySuspense, useReadBatch, useReadBatchSettled, useReclaimName, useRecordPermissions, useRecordPermissionsSuspense, useRecords, useRegisterName, useRegisterNames, useRegistrant, useRegistrantSuspense, useRegistrationCommitment, useRegistrationCommitmentSuspense, useRegistrationParameters, useRegistrationParametersSuspense, useRegistrationPlan, useRegistrationPlanSuspense, useRegistrationPrice, useRegistrationPriceSuspense, useRegistry, useRegistryCapabilities, useRegistryCapabilitiesSuspense, useRegistryRoles, useRegistryRolesSuspense, useRegistrySuspense, useRenewName, useRenewNames, useRenewalPrice, useRenewalPriceSuspense, useRequiredAuthorization, useRequiredAuthorizationSuspense, useResolve, useResolveBatch, useResolveBatchSuspense, useResolveSuspense, useResolveWithResolver, useResolveWithResolverSuspense, useResolver, useResolverCapabilities, useResolverCapabilitiesSuspense, useResolverDelegateApproval, useResolverDelegateApprovalSuspense, useResolverRoles, useResolverRolesSuspense, useResolverSuspense, useResolverVersion, useResolverVersionSuspense, useResumeCalls, useRevokeRegistryRoles, useRevokeResolverRoles, useRevokeResolverRootRoles, useSendCalls, useSetAbi, useSetAddress, useSetAddresses, useSetAlias, useSetAvatar, useSetChildFuses, useSetContentHash, useSetContractPrimaryName, useSetData, useSetDnsRecords, useSetFuses, useSetInterface, useSetManager, useSetName, useSetOperatorApproval, useSetPrimaryName, useSetPrimaryNameForAddress, useSetPubkey, useSetRecordPermissions, useSetRecords, useSetResolver, useSetResolverAndRecords, useSetResolverDelegateApproval, useSetSubnameExpiry, useSetSubnameManager, useSetSubnameRecord, useSetSubnameResolver, useSetText, useSetTexts, useSetTtl, useSetZoneHash, useSimulateCalls, useSimulateCallsSuspense, useText, useTextSuspense, useTexts, useTextsSuspense, useTokenApproval, useTokenApprovalSuspense, useTokenId, useTokenIdSuspense, useTransferName, useTransferRegistrant, useTransferSubname, useTtl, useTtlSuspense, useUnwrapName, useUpgradeResolver, useWalletCapabilities, useWalletCapabilitiesSuspense, useWatchEnsEvents, useWrapName, useWrapperExpiry, useWrapperExpirySuspense, useWrapperPermissions, useWrapperPermissionsSuspense, useWriteTarget, useWriteTargetSuspense, useZoneHash, useZoneHashSuspense };
35
+ export { type CreateRegistryOptions, type EnsAtomDefaults, type EnsAtomOptions, type EnsAtomResult, type EnsAtomSwrOptions, type EnsMutationDefaults, type EnsMutationExecutionOptions, type EnsMutationOptions, type EnsMutationResult, type EnsSuspenseAtomResult, Ensforge, EnsforgeProvider, type EnsforgeProviderProps, type EnsforgeReactDefaults, type Invalidate, type Invalidation, type ResolvedEnsAtomOptions, type ResolvedEnsAtomSwrOptions, type UseEnsAtomParameters, type UseEnsSuspenseAtomParameters, createRegistry, defaultEnsAtomOptions, invalidate, invalidateEffect, makeInvalidationKeys, makeMutationHook, makeQueryHook, makeSuspenseQueryHook, prefetch, prefetchAtom, prefetchEffect, useAbi, useAbiSuspense, useAddress, useAddressSuspense, useAddresses, useAddressesSuspense, useAlias, useAliasSuspense, useApproveMigration, useApproveName, useApprovePaymentToken, useApproveRenewalPayment, useAvatar, useAvatarSuspense, useCallsStatus, useCallsStatusSuspense, useCanonicalResource, useCanonicalResourceSuspense, useClaimDnsName, useClearAvatar, useClearNameApproval, useClearPrimaryName, useClearRecords, useCommitName, useCommitmentStatus, useCommitmentStatusSuspense, useCompleteRegistration, useContentHash, useContentHashSuspense, useCreateResolver, useCreateSubname, useData, useDataSuspense, useDeleteSubname, useDnsClaimStatus, useDnsClaimStatusSuspense, useDnsImportPlan, useDnsImportPlanSuspense, useDnsRecord, useDnsRecordSuspense, useDnsRecords, useDnsRecordsSuspense, useEnsEvents, useEnsEventsSuspense, useEnsforge, useEnsforgeRegistry, useEstimateCalls, useEstimateCallsSuspense, useExecuteWritePlan, useExpiry, useExpirySuspense, useExtendSubnameExpiry, useFuses, useFusesSuspense, useGetOrCreateResolver, useGrantRegistryRoles, useGrantResolverRoles, useGrantResolverRootRoles, useHasDnsRecords, useHasDnsRecordsSuspense, useHasRegistryRoles, useHasRegistryRolesSuspense, useHasResolverRoles, useHasResolverRolesSuspense, useImportDnsName, useInterface, useInterfaceSuspense, useInvalidate, useIsAvailable, useIsAvailableSuspense, useIsMigrated, useIsMigratedSuspense, useIsPaymentTokenSupported, useIsPaymentTokenSupportedSuspense, useIsRenewable, useIsRenewableSuspense, useIsReserved, useIsReservedSuspense, useIsWrapped, useIsWrappedSuspense, useManager, useManagerSuspense, useMigrateName, useMigrateNames, useMigrationEligibility, useMigrationEligibilitySuspense, useMigrationPlan, useMigrationPlanSuspense, useMigrationStatus, useMigrationStatusSuspense, useMigrationTarget, useMigrationTargetSuspense, useNameCapabilities, useNameCapabilitiesSuspense, useNameHistory, useNameHistorySuspense, useNameRecord, useNameRecordSuspense, useNameState, useNameStateSuspense, useNameStatus, useNameStatusSuspense, useOperatorApproval, useOperatorApprovalSuspense, useOwner, useOwnerSuspense, usePredictResolverAddress, usePredictResolverAddressSuspense, usePrepareCalls, usePrepareCallsSuspense, usePrimaryName, usePrimaryNameSuspense, useProtocol, useProtocolSuspense, usePubkey, usePubkeySuspense, useReadBatch, useReadBatchSettled, useReclaimName, useRecordPermissions, useRecordPermissionsSuspense, useRecords, useRegisterName, useRegisterNames, useRegistrant, useRegistrantSuspense, useRegistrationCommitment, useRegistrationCommitmentSuspense, useRegistrationParameters, useRegistrationParametersSuspense, useRegistrationPlan, useRegistrationPlanSuspense, useRegistrationPrice, useRegistrationPriceSuspense, useRegistry, useRegistryCapabilities, useRegistryCapabilitiesSuspense, useRegistryRoles, useRegistryRolesSuspense, useRegistrySuspense, useRenewName, useRenewNames, useRenewalPrice, useRenewalPriceSuspense, useRequiredAuthorization, useRequiredAuthorizationSuspense, useResolve, useResolveBatch, useResolveBatchSuspense, useResolveSuspense, useResolveWithResolver, useResolveWithResolverSuspense, useResolver, useResolverCapabilities, useResolverCapabilitiesSuspense, useResolverDelegateApproval, useResolverDelegateApprovalSuspense, useResolverRoles, useResolverRolesSuspense, useResolverSuspense, useResolverVersion, useResolverVersionSuspense, useResumeCalls, useRevokeRegistryRoles, useRevokeResolverRoles, useRevokeResolverRootRoles, useSendCalls, useSetAbi, useSetAddress, useSetAddresses, useSetAlias, useSetAvatar, useSetChildFuses, useSetContentHash, useSetContractPrimaryName, useSetData, useSetDnsRecords, useSetFuses, useSetInterface, useSetManager, useSetName, useSetOperatorApproval, useSetPrimaryName, useSetPrimaryNameForAddress, useSetPubkey, useSetRecordPermissions, useSetRecords, useSetResolver, useSetResolverAndRecords, useSetResolverDelegateApproval, useSetSubnameExpiry, useSetSubnameManager, useSetSubnameRecord, useSetSubnameResolver, useSetText, useSetTexts, useSetTtl, useSetZoneHash, useSimulateCalls, useSimulateCallsSuspense, useText, useTextSuspense, useTexts, useTextsSuspense, useTokenApproval, useTokenApprovalSuspense, useTokenId, useTokenIdSuspense, useTransferName, useTransferRegistrant, useTransferSubname, useTtl, useTtlSuspense, useUnwrapName, useUpgradeResolver, useWalletCapabilities, useWalletCapabilitiesSuspense, useWatchEnsEvents, useWrapName, useWrapperExpiry, useWrapperExpirySuspense, useWrapperPermissions, useWrapperPermissionsSuspense, useWriteTarget, useWriteTargetSuspense, useZoneHash, useZoneHashSuspense };
package/dist/index.js CHANGED
@@ -1,11 +1,11 @@
1
1
  "use client";
2
2
 
3
- import { invalidateEnsforge, invalidateEnsforgeEffect, makeInvalidationKeys } from "./cache/invalidation.js";
4
- import { prefetchEnsforge, prefetchEnsforgeEffect } from "./cache/prefetch.js";
5
- import { createEnsforgeRegistry } from "./cache/registry.js";
3
+ import { invalidate, invalidateEffect, makeInvalidationKeys } from "./cache/invalidation.js";
4
+ import { prefetch, prefetchEffect } from "./cache/prefetch.js";
5
+ import { createRegistry } from "./cache/registry.js";
6
+ import { defaultEnsAtomOptions } from "./query/options.js";
6
7
  import { makeMutationHook } from "./hooks/use-mutation.js";
7
- import { defaultEnsQueryOptions } from "./query/options.js";
8
- import { makeQueryHook, prefetchQueryAtom } from "./hooks/use-query.js";
8
+ import { makeQueryHook, prefetchAtom } from "./hooks/use-query.js";
9
9
  import { makeSuspenseQueryHook } from "./hooks/use-suspense-query.js";
10
10
  import { useCallsStatus, useCallsStatusSuspense, useEstimateCalls, useEstimateCallsSuspense, useExecuteWritePlan, usePrepareCalls, usePrepareCallsSuspense, useResumeCalls, useSendCalls, useSimulateCalls, useSimulateCallsSuspense, useWalletCapabilities, useWalletCapabilitiesSuspense } from "./hooks/batch.js";
11
11
  import { useHasRegistryRoles, useHasRegistryRolesSuspense, useHasResolverRoles, useHasResolverRolesSuspense, useNameCapabilities, useNameCapabilitiesSuspense, useOperatorApproval, useOperatorApprovalSuspense, useRecordPermissions, useRecordPermissionsSuspense, useRegistryCapabilities, useRegistryCapabilitiesSuspense, useRegistryRoles, useRegistryRolesSuspense, useRequiredAuthorization, useRequiredAuthorizationSuspense, useResolverCapabilities, useResolverCapabilitiesSuspense, useResolverDelegateApproval, useResolverDelegateApprovalSuspense, useResolverRoles, useResolverRolesSuspense, useTokenApproval, useTokenApprovalSuspense, useWrapperPermissions, useWrapperPermissionsSuspense, useWriteTarget, useWriteTargetSuspense } from "./hooks/capabilities.js";
@@ -22,9 +22,9 @@ import { useClearPrimaryName, usePrimaryName, usePrimaryNameSuspense, useSetCont
22
22
  import { useCreateSubname, useDeleteSubname, useSetSubnameExpiry, useSetSubnameManager, useSetSubnameRecord, useSetSubnameResolver, useTransferSubname } from "./hooks/subnames.js";
23
23
  import { useExtendSubnameExpiry, useFuses, useFusesSuspense, useSetChildFuses, useSetFuses, useUnwrapName, useWrapName, useWrapperExpiry, useWrapperExpirySuspense } from "./hooks/wrapping.js";
24
24
  import { useReadBatch, useReadBatchSettled, useRecords } from "./hooks/generic.js";
25
- import { useInvalidateEnsforge } from "./hooks/use-cache.js";
25
+ import { useInvalidate } from "./hooks/use-cache.js";
26
26
  import { EnsforgeProvider } from "./provider/ensforge-provider.js";
27
27
  import { useEnsforge, useEnsforgeRegistry } from "./provider/hooks.js";
28
28
  import { Ensforge } from "@ensforge/sdk";
29
29
 
30
- export { Ensforge, EnsforgeProvider, createEnsforgeRegistry, defaultEnsQueryOptions, invalidateEnsforge, invalidateEnsforgeEffect, makeInvalidationKeys, makeMutationHook, makeQueryHook, makeSuspenseQueryHook, prefetchEnsforge, prefetchEnsforgeEffect, prefetchQueryAtom, useAbi, useAbiSuspense, useAddress, useAddressSuspense, useAddresses, useAddressesSuspense, useAlias, useAliasSuspense, useApproveMigration, useApproveName, useApprovePaymentToken, useApproveRenewalPayment, useAvatar, useAvatarSuspense, useCallsStatus, useCallsStatusSuspense, useCanonicalResource, useCanonicalResourceSuspense, useClaimDnsName, useClearAvatar, useClearNameApproval, useClearPrimaryName, useClearRecords, useCommitName, useCommitmentStatus, useCommitmentStatusSuspense, useCompleteRegistration, useContentHash, useContentHashSuspense, useCreateResolver, useCreateSubname, useData, useDataSuspense, useDeleteSubname, useDnsClaimStatus, useDnsClaimStatusSuspense, useDnsImportPlan, useDnsImportPlanSuspense, useDnsRecord, useDnsRecordSuspense, useDnsRecords, useDnsRecordsSuspense, useEnsEvents, useEnsEventsSuspense, useEnsforge, useEnsforgeRegistry, useEstimateCalls, useEstimateCallsSuspense, useExecuteWritePlan, useExpiry, useExpirySuspense, useExtendSubnameExpiry, useFuses, useFusesSuspense, useGetOrCreateResolver, useGrantRegistryRoles, useGrantResolverRoles, useGrantResolverRootRoles, useHasDnsRecords, useHasDnsRecordsSuspense, useHasRegistryRoles, useHasRegistryRolesSuspense, useHasResolverRoles, useHasResolverRolesSuspense, useImportDnsName, useInterface, useInterfaceSuspense, useInvalidateEnsforge, useIsAvailable, useIsAvailableSuspense, useIsMigrated, useIsMigratedSuspense, useIsPaymentTokenSupported, useIsPaymentTokenSupportedSuspense, useIsRenewable, useIsRenewableSuspense, useIsReserved, useIsReservedSuspense, useIsWrapped, useIsWrappedSuspense, useManager, useManagerSuspense, useMigrateName, useMigrateNames, useMigrationEligibility, useMigrationEligibilitySuspense, useMigrationPlan, useMigrationPlanSuspense, useMigrationStatus, useMigrationStatusSuspense, useMigrationTarget, useMigrationTargetSuspense, useNameCapabilities, useNameCapabilitiesSuspense, useNameHistory, useNameHistorySuspense, useNameRecord, useNameRecordSuspense, useNameState, useNameStateSuspense, useNameStatus, useNameStatusSuspense, useOperatorApproval, useOperatorApprovalSuspense, useOwner, useOwnerSuspense, usePredictResolverAddress, usePredictResolverAddressSuspense, usePrepareCalls, usePrepareCallsSuspense, usePrimaryName, usePrimaryNameSuspense, useProtocol, useProtocolSuspense, usePubkey, usePubkeySuspense, useReadBatch, useReadBatchSettled, useReclaimName, useRecordPermissions, useRecordPermissionsSuspense, useRecords, useRegisterName, useRegisterNames, useRegistrant, useRegistrantSuspense, useRegistrationCommitment, useRegistrationCommitmentSuspense, useRegistrationParameters, useRegistrationParametersSuspense, useRegistrationPlan, useRegistrationPlanSuspense, useRegistrationPrice, useRegistrationPriceSuspense, useRegistry, useRegistryCapabilities, useRegistryCapabilitiesSuspense, useRegistryRoles, useRegistryRolesSuspense, useRegistrySuspense, useRenewName, useRenewNames, useRenewalPrice, useRenewalPriceSuspense, useRequiredAuthorization, useRequiredAuthorizationSuspense, useResolve, useResolveBatch, useResolveBatchSuspense, useResolveSuspense, useResolveWithResolver, useResolveWithResolverSuspense, useResolver, useResolverCapabilities, useResolverCapabilitiesSuspense, useResolverDelegateApproval, useResolverDelegateApprovalSuspense, useResolverRoles, useResolverRolesSuspense, useResolverSuspense, useResolverVersion, useResolverVersionSuspense, useResumeCalls, useRevokeRegistryRoles, useRevokeResolverRoles, useRevokeResolverRootRoles, useSendCalls, useSetAbi, useSetAddress, useSetAddresses, useSetAlias, useSetAvatar, useSetChildFuses, useSetContentHash, useSetContractPrimaryName, useSetData, useSetDnsRecords, useSetFuses, useSetInterface, useSetManager, useSetName, useSetOperatorApproval, useSetPrimaryName, useSetPrimaryNameForAddress, useSetPubkey, useSetRecordPermissions, useSetRecords, useSetResolver, useSetResolverAndRecords, useSetResolverDelegateApproval, useSetSubnameExpiry, useSetSubnameManager, useSetSubnameRecord, useSetSubnameResolver, useSetText, useSetTexts, useSetTtl, useSetZoneHash, useSimulateCalls, useSimulateCallsSuspense, useText, useTextSuspense, useTexts, useTextsSuspense, useTokenApproval, useTokenApprovalSuspense, useTokenId, useTokenIdSuspense, useTransferName, useTransferRegistrant, useTransferSubname, useTtl, useTtlSuspense, useUnwrapName, useUpgradeResolver, useWalletCapabilities, useWalletCapabilitiesSuspense, useWatchEnsEvents, useWrapName, useWrapperExpiry, useWrapperExpirySuspense, useWrapperPermissions, useWrapperPermissionsSuspense, useWriteTarget, useWriteTargetSuspense, useZoneHash, useZoneHashSuspense };
30
+ export { Ensforge, EnsforgeProvider, createRegistry, defaultEnsAtomOptions, invalidate, invalidateEffect, makeInvalidationKeys, makeMutationHook, makeQueryHook, makeSuspenseQueryHook, prefetch, prefetchAtom, prefetchEffect, useAbi, useAbiSuspense, useAddress, useAddressSuspense, useAddresses, useAddressesSuspense, useAlias, useAliasSuspense, useApproveMigration, useApproveName, useApprovePaymentToken, useApproveRenewalPayment, useAvatar, useAvatarSuspense, useCallsStatus, useCallsStatusSuspense, useCanonicalResource, useCanonicalResourceSuspense, useClaimDnsName, useClearAvatar, useClearNameApproval, useClearPrimaryName, useClearRecords, useCommitName, useCommitmentStatus, useCommitmentStatusSuspense, useCompleteRegistration, useContentHash, useContentHashSuspense, useCreateResolver, useCreateSubname, useData, useDataSuspense, useDeleteSubname, useDnsClaimStatus, useDnsClaimStatusSuspense, useDnsImportPlan, useDnsImportPlanSuspense, useDnsRecord, useDnsRecordSuspense, useDnsRecords, useDnsRecordsSuspense, useEnsEvents, useEnsEventsSuspense, useEnsforge, useEnsforgeRegistry, useEstimateCalls, useEstimateCallsSuspense, useExecuteWritePlan, useExpiry, useExpirySuspense, useExtendSubnameExpiry, useFuses, useFusesSuspense, useGetOrCreateResolver, useGrantRegistryRoles, useGrantResolverRoles, useGrantResolverRootRoles, useHasDnsRecords, useHasDnsRecordsSuspense, useHasRegistryRoles, useHasRegistryRolesSuspense, useHasResolverRoles, useHasResolverRolesSuspense, useImportDnsName, useInterface, useInterfaceSuspense, useInvalidate, useIsAvailable, useIsAvailableSuspense, useIsMigrated, useIsMigratedSuspense, useIsPaymentTokenSupported, useIsPaymentTokenSupportedSuspense, useIsRenewable, useIsRenewableSuspense, useIsReserved, useIsReservedSuspense, useIsWrapped, useIsWrappedSuspense, useManager, useManagerSuspense, useMigrateName, useMigrateNames, useMigrationEligibility, useMigrationEligibilitySuspense, useMigrationPlan, useMigrationPlanSuspense, useMigrationStatus, useMigrationStatusSuspense, useMigrationTarget, useMigrationTargetSuspense, useNameCapabilities, useNameCapabilitiesSuspense, useNameHistory, useNameHistorySuspense, useNameRecord, useNameRecordSuspense, useNameState, useNameStateSuspense, useNameStatus, useNameStatusSuspense, useOperatorApproval, useOperatorApprovalSuspense, useOwner, useOwnerSuspense, usePredictResolverAddress, usePredictResolverAddressSuspense, usePrepareCalls, usePrepareCallsSuspense, usePrimaryName, usePrimaryNameSuspense, useProtocol, useProtocolSuspense, usePubkey, usePubkeySuspense, useReadBatch, useReadBatchSettled, useReclaimName, useRecordPermissions, useRecordPermissionsSuspense, useRecords, useRegisterName, useRegisterNames, useRegistrant, useRegistrantSuspense, useRegistrationCommitment, useRegistrationCommitmentSuspense, useRegistrationParameters, useRegistrationParametersSuspense, useRegistrationPlan, useRegistrationPlanSuspense, useRegistrationPrice, useRegistrationPriceSuspense, useRegistry, useRegistryCapabilities, useRegistryCapabilitiesSuspense, useRegistryRoles, useRegistryRolesSuspense, useRegistrySuspense, useRenewName, useRenewNames, useRenewalPrice, useRenewalPriceSuspense, useRequiredAuthorization, useRequiredAuthorizationSuspense, useResolve, useResolveBatch, useResolveBatchSuspense, useResolveSuspense, useResolveWithResolver, useResolveWithResolverSuspense, useResolver, useResolverCapabilities, useResolverCapabilitiesSuspense, useResolverDelegateApproval, useResolverDelegateApprovalSuspense, useResolverRoles, useResolverRolesSuspense, useResolverSuspense, useResolverVersion, useResolverVersionSuspense, useResumeCalls, useRevokeRegistryRoles, useRevokeResolverRoles, useRevokeResolverRootRoles, useSendCalls, useSetAbi, useSetAddress, useSetAddresses, useSetAlias, useSetAvatar, useSetChildFuses, useSetContentHash, useSetContractPrimaryName, useSetData, useSetDnsRecords, useSetFuses, useSetInterface, useSetManager, useSetName, useSetOperatorApproval, useSetPrimaryName, useSetPrimaryNameForAddress, useSetPubkey, useSetRecordPermissions, useSetRecords, useSetResolver, useSetResolverAndRecords, useSetResolverDelegateApproval, useSetSubnameExpiry, useSetSubnameManager, useSetSubnameRecord, useSetSubnameResolver, useSetText, useSetTexts, useSetTtl, useSetZoneHash, useSimulateCalls, useSimulateCallsSuspense, useText, useTextSuspense, useTexts, useTextsSuspense, useTokenApproval, useTokenApprovalSuspense, useTokenId, useTokenIdSuspense, useTransferName, useTransferRegistrant, useTransferSubname, useTtl, useTtlSuspense, useUnwrapName, useUpgradeResolver, useWalletCapabilities, useWalletCapabilitiesSuspense, useWatchEnsEvents, useWrapName, useWrapperExpiry, useWrapperExpirySuspense, useWrapperPermissions, useWrapperPermissionsSuspense, useWriteTarget, useWriteTargetSuspense, useZoneHash, useZoneHashSuspense };
@@ -1,12 +1,14 @@
1
+ import { Exit, Schedule } from "effect";
1
2
  //#region src/mutation/options.d.ts
2
- interface EnsMutationCallbacks<Parameters, Success, Failure> {
3
- readonly onError?: (error: Failure | Error, parameters: Parameters) => void;
4
- readonly onSettled?: (data: Success | undefined, error: Failure | Error | null, parameters: Parameters) => void;
5
- readonly onSuccess?: (data: Success, parameters: Parameters) => void;
3
+ interface EnsMutationExecutionOptions<Parameters, Success, Failure> {
4
+ readonly onExit?: (exit: Exit.Exit<Success, Failure>, parameters: Parameters) => void;
6
5
  }
7
- interface EnsMutationOptions<Parameters, Success, Failure> extends EnsMutationCallbacks<Parameters, Success, Failure> {
8
- readonly retry?: false | number;
6
+ interface EnsMutationOptions<Parameters, Success, Failure> extends EnsMutationExecutionOptions<Parameters, Success, Failure> {
7
+ readonly retry?: false | Schedule.Schedule<unknown, Failure>;
8
+ }
9
+ interface EnsMutationDefaults {
10
+ readonly retry?: false | Schedule.Schedule<unknown, unknown>;
9
11
  }
10
12
  //#endregion
11
- export { EnsMutationCallbacks, EnsMutationOptions };
13
+ export { EnsMutationDefaults, EnsMutationExecutionOptions, EnsMutationOptions };
12
14
  //# sourceMappingURL=options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","names":[],"sources":["../../src/mutation/options.ts"],"mappings":";UAAiB,qBAAqB,YAAY,SAAS;WAChD,WAAW,OAAO,UAAU,OAAO,YAAY;WAC/C,aACP,MAAM,qBACN,OAAO,UAAU,cACjB,YAAY;WAEL,aAAa,MAAM,SAAS,YAAY;;UAGlC,mBAAmB,YAAY,SAAS,iBAAiB,qBACxE,YACA,SACA;WAES"}
1
+ {"version":3,"file":"options.d.ts","names":[],"sources":["../../src/mutation/options.ts"],"mappings":";;UAEiB,4BAA4B,YAAY,SAAS;WACvD,UAAU,MAAM,KAAK,KAAK,SAAS,UAAU,YAAY;;UAGnD,mBACf,YACA,SACA,iBACQ,4BAA4B,YAAY,SAAS;WAChD,gBAAgB,SAAS,kBAAkB;;UAGrC;WACN,gBAAgB,SAAS"}
@@ -1,25 +1,23 @@
1
- import { EnsMutationCallbacks } from "./options.js";
1
+ import { EnsMutationExecutionOptions } from "./options.js";
2
2
  import { Cause, Effect } from "effect";
3
3
  import { AsyncResult } from "effect/unstable/reactivity";
4
4
  //#region src/mutation/result.d.ts
5
- type EnsMutationStatus = "idle" | "pending" | "success" | "error";
6
5
  interface EnsMutationResult<Parameters, Success, Failure> {
7
6
  readonly cause: Cause.Cause<Failure> | null;
8
7
  readonly data: Success | undefined;
9
8
  readonly error: Failure | Error | null;
10
- readonly interrupt: () => void;
11
- readonly isError: boolean;
12
- readonly isIdle: boolean;
13
- readonly isPending: boolean;
14
- readonly isSuccess: boolean;
15
- readonly mutate: (parameters: Parameters, callbacks?: EnsMutationCallbacks<Parameters, Success, Failure>) => void;
9
+ readonly mutate: (parameters: Parameters, options?: EnsMutationExecutionOptions<Parameters, Success, Failure>) => void;
16
10
  readonly mutateAsync: (parameters: Parameters) => Promise<Success>;
17
11
  readonly mutateEffect: (parameters: Parameters) => Effect.Effect<Success, Failure>;
12
+ readonly interrupt: () => void;
13
+ readonly isFailure: boolean;
14
+ readonly isInitial: boolean;
15
+ readonly isSuccess: boolean;
16
+ readonly isWaiting: boolean;
18
17
  readonly parameters: Parameters | undefined;
19
18
  readonly reset: () => void;
20
19
  readonly result: AsyncResult.AsyncResult<Success, Failure>;
21
- readonly status: EnsMutationStatus;
22
20
  }
23
21
  //#endregion
24
- export { EnsMutationResult, EnsMutationStatus };
22
+ export { EnsMutationResult };
25
23
  //# sourceMappingURL=result.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"result.d.ts","names":[],"sources":["../../src/mutation/result.ts"],"mappings":";;;;KAKY;UAEK,kBAAkB,YAAY,SAAS;WAC7C,OAAO,MAAM,MAAM;WACnB,MAAM;WACN,OAAO,UAAU;WACjB;WACA;WACA;WACA;WACA;WACA,SACP,YAAY,YACZ,YAAY,qBAAqB,YAAY,SAAS;WAE/C,cAAc,YAAY,eAAe,QAAQ;WACjD,eAAe,YAAY,eAAe,OAAO,OAAO,SAAS;WACjE,YAAY;WACZ;WACA,QAAQ,YAAY,YAAY,SAAS;WACzC,QAAQ"}
1
+ {"version":3,"file":"result.d.ts","names":[],"sources":["../../src/mutation/result.ts"],"mappings":";;;;UAKiB,kBAAkB,YAAY,SAAS;WAC7C,OAAO,MAAM,MAAM;WACnB,MAAM;WACN,OAAO,UAAU;WACjB,SACP,YAAY,YACZ,UAAU,4BAA4B,YAAY,SAAS;WAEpD,cAAc,YAAY,eAAe,QAAQ;WACjD,eAAe,YAAY,eAAe,OAAO,OAAO,SAAS;WACjE;WACA;WACA;WACA;WACA;WACA,YAAY;WACZ;WACA,QAAQ,YAAY,YAAY,SAAS"}
@@ -1,8 +1,10 @@
1
- import { EnsQueryDefaults } from "../query/options.js";
1
+ import { EnsAtomDefaults } from "../query/options.js";
2
+ import { EnsMutationDefaults } from "../mutation/options.js";
2
3
  import { Ensforge } from "@ensforge/sdk";
3
4
  //#region src/provider/context.d.ts
4
5
  interface EnsforgeReactDefaults {
5
- readonly queries?: EnsQueryDefaults;
6
+ readonly atoms?: EnsAtomDefaults;
7
+ readonly mutations?: EnsMutationDefaults;
6
8
  }
7
9
  //#endregion
8
10
  export { EnsforgeReactDefaults };
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","names":[],"sources":["../../src/provider/context.ts"],"mappings":";;;UAQiB;WACN,UAAU"}
1
+ {"version":3,"file":"context.d.ts","names":[],"sources":["../../src/provider/context.ts"],"mappings":";;;;UASiB;WACN,QAAQ;WACR,YAAY"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":[],"sources":["../../src/provider/context.ts"],"sourcesContent":["\"use client\";\n\nimport { createContext, useContext } from \"react\";\n\nimport type { Ensforge } from \"@ensforge/sdk\";\n\nimport type { EnsQueryDefaults } from \"../query/options.js\";\n\nexport interface EnsforgeReactDefaults {\n readonly queries?: EnsQueryDefaults;\n}\n\nexport interface EnsforgeReactContextValue {\n readonly defaults: EnsforgeReactDefaults;\n readonly sdk: Ensforge;\n}\n\nexport const EnsforgeReactContext = createContext<EnsforgeReactContextValue | undefined>(undefined);\n\nexport const useEnsforgeContext = (): EnsforgeReactContextValue => {\n const value = useContext(EnsforgeReactContext);\n if (value === undefined) {\n throw new Error(\"Ensforge React hooks must be used inside an EnsforgeProvider\");\n }\n return value;\n};\n"],"mappings":";;;;;AAiBA,MAAa,uBAAuB,cAAqD,MAAS;AAElG,MAAa,2BAAsD;CACjE,MAAM,QAAQ,WAAW,oBAAoB;CAC7C,IAAI,UAAU,QACZ,MAAM,IAAI,MAAM,8DAA8D;CAEhF,OAAO;AACT"}
1
+ {"version":3,"file":"context.js","names":[],"sources":["../../src/provider/context.ts"],"sourcesContent":["\"use client\";\n\nimport { createContext, useContext } from \"react\";\n\nimport type { Ensforge } from \"@ensforge/sdk\";\n\nimport type { EnsMutationDefaults } from \"../mutation/options.js\";\nimport type { EnsAtomDefaults } from \"../query/options.js\";\n\nexport interface EnsforgeReactDefaults {\n readonly atoms?: EnsAtomDefaults;\n readonly mutations?: EnsMutationDefaults;\n}\n\nexport interface EnsforgeReactContextValue {\n readonly defaults: EnsforgeReactDefaults;\n readonly sdk: Ensforge;\n}\n\nexport const EnsforgeReactContext = createContext<EnsforgeReactContextValue | undefined>(undefined);\n\nexport const useEnsforgeContext = (): EnsforgeReactContextValue => {\n const value = useContext(EnsforgeReactContext);\n if (value === undefined) {\n throw new Error(\"Ensforge React hooks must be used inside an EnsforgeProvider\");\n }\n return value;\n};\n"],"mappings":";;;;;AAmBA,MAAa,uBAAuB,cAAqD,MAAS;AAElG,MAAa,2BAAsD;CACjE,MAAM,QAAQ,WAAW,oBAAoB;CAC7C,IAAI,UAAU,QACZ,MAAM,IAAI,MAAM,8DAA8D;CAEhF,OAAO;AACT"}
@@ -1,31 +1,34 @@
1
+ import { Duration, Schedule } from "effect";
1
2
  //#region src/query/options.d.ts
2
- interface EnsQueryOptions<Success, Selected = Success> {
3
- readonly enabled?: boolean;
4
- readonly gcTime?: number;
5
- readonly refetchInterval?: false | number;
6
- readonly refetchOnWindowFocus?: boolean;
7
- readonly retry?: false | number;
8
- readonly select?: (value: Success) => Selected;
9
- readonly staleTime?: number;
3
+ interface EnsAtomSwrOptions {
4
+ readonly revalidateOnFocus?: boolean | "always";
5
+ readonly revalidateOnMount?: boolean;
6
+ readonly staleTime?: Duration.Input;
7
+ }
8
+ interface EnsAtomOptions<Failure = unknown> {
9
+ readonly idleTTL?: Duration.Input;
10
+ readonly refreshInterval?: false | Duration.Input;
11
+ readonly retry?: false | Schedule.Schedule<unknown, Failure>;
12
+ readonly swr?: false | EnsAtomSwrOptions;
10
13
  }
11
- interface EnsQueryDefaults {
12
- readonly gcTime?: number;
13
- readonly refetchInterval?: false | number;
14
- readonly refetchOnWindowFocus?: boolean;
15
- readonly retry?: false | number;
16
- readonly staleTime?: number;
14
+ type EnsAtomDefaults = EnsAtomOptions<unknown>;
15
+ interface ResolvedEnsAtomSwrOptions {
16
+ readonly revalidateOnFocus: boolean | "always";
17
+ readonly revalidateOnMount: boolean;
18
+ readonly staleTime: Duration.Input;
17
19
  }
18
- interface ResolvedEnsQueryOptions {
19
- readonly gcTime: number;
20
- readonly refetchInterval: false | number;
21
- readonly refetchOnWindowFocus: boolean;
22
- readonly retry: false | number;
23
- readonly staleTime: number;
20
+ interface ResolvedEnsAtomOptions<Failure = unknown> {
21
+ readonly idleTTL: Duration.Input;
22
+ readonly refreshInterval: false | Duration.Input;
23
+ readonly retry: false | Schedule.Schedule<unknown, Failure>;
24
+ readonly swr: false | ResolvedEnsAtomSwrOptions;
24
25
  }
25
- declare const defaultEnsQueryOptions: ResolvedEnsQueryOptions;
26
- type UseEnsQueryParameters<Parameters, Success, Selected = Success> = Parameters & {
27
- readonly query?: EnsQueryOptions<Success, Selected>;
26
+ declare const defaultEnsAtomOptions: ResolvedEnsAtomOptions;
27
+ type UseEnsAtomParameters<Parameters, Success, Failure, Mapped = Success> = Parameters & {
28
+ readonly atom?: EnsAtomOptions<Failure>;
29
+ readonly enabled?: boolean;
30
+ readonly map?: (value: Success) => Mapped;
28
31
  };
29
32
  //#endregion
30
- export { EnsQueryDefaults, EnsQueryOptions, ResolvedEnsQueryOptions, UseEnsQueryParameters, defaultEnsQueryOptions };
33
+ export { EnsAtomDefaults, EnsAtomOptions, EnsAtomSwrOptions, ResolvedEnsAtomOptions, ResolvedEnsAtomSwrOptions, UseEnsAtomParameters, defaultEnsAtomOptions };
31
34
  //# sourceMappingURL=options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","names":[],"sources":["../../src/query/options.ts"],"mappings":";UAAiB,gBAAgB,SAAS,WAAW;WAC1C;WACA;WACA;WACA;WACA;WACA,UAAU,OAAO,YAAY;WAC7B;;UAGM;WACN;WACA;WACA;WACA;WACA;;UAGM;WACN;WACA;WACA;WACA;WACA;;cAGE,wBAAwB;KAuBzB,sBAAsB,YAAY,SAAS,WAAW,WAAW;WAClE,QAAQ,gBAAgB,SAAS"}
1
+ {"version":3,"file":"options.d.ts","names":[],"sources":["../../src/query/options.ts"],"mappings":";;UAEiB;WACN;WACA;WACA,YAAY,SAAS;;UAGf,eAAe;WACrB,UAAU,SAAS;WACnB,0BAA0B,SAAS;WACnC,gBAAgB,SAAS,kBAAkB;WAC3C,cAAc;;KAGb,kBAAkB;UAEb;WACN;WACA;WACA,WAAW,SAAS;;UAGd,uBAAuB;WAC7B,SAAS,SAAS;WAClB,yBAAyB,SAAS;WAClC,eAAe,SAAS,kBAAkB;WAC1C,aAAa;;cAGX,uBAAuB;KA6CxB,qBAAqB,YAAY,SAAS,SAAS,SAAS,WAAW;WACxE,OAAO,eAAe;WACtB;WACA,OAAO,OAAO,YAAY"}
@@ -1,19 +1,33 @@
1
1
  //#region src/query/options.ts
2
- const defaultEnsQueryOptions = Object.freeze({
3
- gcTime: 3e5,
4
- refetchInterval: false,
5
- refetchOnWindowFocus: false,
2
+ const defaultEnsAtomOptions = Object.freeze({
3
+ idleTTL: 3e5,
4
+ refreshInterval: false,
6
5
  retry: false,
7
- staleTime: 3e4
6
+ swr: Object.freeze({
7
+ revalidateOnFocus: false,
8
+ revalidateOnMount: true,
9
+ staleTime: 3e4
10
+ })
8
11
  });
9
- const resolveEnsQueryOptions = (defaults, options) => ({
10
- gcTime: options?.gcTime ?? defaults?.gcTime ?? defaultEnsQueryOptions.gcTime,
11
- refetchInterval: options?.refetchInterval ?? defaults?.refetchInterval ?? defaultEnsQueryOptions.refetchInterval,
12
- refetchOnWindowFocus: options?.refetchOnWindowFocus ?? defaults?.refetchOnWindowFocus ?? defaultEnsQueryOptions.refetchOnWindowFocus,
13
- retry: options?.retry ?? defaults?.retry ?? defaultEnsQueryOptions.retry,
14
- staleTime: options?.staleTime ?? defaults?.staleTime ?? defaultEnsQueryOptions.staleTime
12
+ const resolveSwrOptions = (defaults, options) => {
13
+ const selected = options?.swr ?? defaults?.swr ?? defaultEnsAtomOptions.swr;
14
+ if (selected === false) return false;
15
+ const fallback = defaultEnsAtomOptions.swr;
16
+ if (fallback === false) return false;
17
+ const defaultSwr = defaults?.swr === false ? void 0 : defaults?.swr;
18
+ return {
19
+ revalidateOnFocus: selected.revalidateOnFocus ?? defaultSwr?.revalidateOnFocus ?? fallback.revalidateOnFocus,
20
+ revalidateOnMount: selected.revalidateOnMount ?? defaultSwr?.revalidateOnMount ?? fallback.revalidateOnMount,
21
+ staleTime: selected.staleTime ?? defaultSwr?.staleTime ?? fallback.staleTime
22
+ };
23
+ };
24
+ const resolveEnsAtomOptions = (defaults, options) => ({
25
+ idleTTL: options?.idleTTL ?? defaults?.idleTTL ?? defaultEnsAtomOptions.idleTTL,
26
+ refreshInterval: options?.refreshInterval ?? defaults?.refreshInterval ?? defaultEnsAtomOptions.refreshInterval,
27
+ retry: options?.retry ?? defaults?.retry ?? false,
28
+ swr: resolveSwrOptions(defaults, options)
15
29
  });
16
30
 
17
31
  //#endregion
18
- export { defaultEnsQueryOptions, resolveEnsQueryOptions };
32
+ export { defaultEnsAtomOptions, resolveEnsAtomOptions };
19
33
  //# sourceMappingURL=options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","names":[],"sources":["../../src/query/options.ts"],"sourcesContent":["export interface EnsQueryOptions<Success, Selected = Success> {\n readonly enabled?: boolean;\n readonly gcTime?: number;\n readonly refetchInterval?: false | number;\n readonly refetchOnWindowFocus?: boolean;\n readonly retry?: false | number;\n readonly select?: (value: Success) => Selected;\n readonly staleTime?: number;\n}\n\nexport interface EnsQueryDefaults {\n readonly gcTime?: number;\n readonly refetchInterval?: false | number;\n readonly refetchOnWindowFocus?: boolean;\n readonly retry?: false | number;\n readonly staleTime?: number;\n}\n\nexport interface ResolvedEnsQueryOptions {\n readonly gcTime: number;\n readonly refetchInterval: false | number;\n readonly refetchOnWindowFocus: boolean;\n readonly retry: false | number;\n readonly staleTime: number;\n}\n\nexport const defaultEnsQueryOptions: ResolvedEnsQueryOptions = Object.freeze({\n gcTime: 5 * 60_000,\n refetchInterval: false,\n refetchOnWindowFocus: false,\n retry: false,\n staleTime: 30_000,\n});\n\nexport const resolveEnsQueryOptions = (\n defaults: EnsQueryDefaults | undefined,\n options: EnsQueryDefaults | undefined,\n): ResolvedEnsQueryOptions => ({\n gcTime: options?.gcTime ?? defaults?.gcTime ?? defaultEnsQueryOptions.gcTime,\n refetchInterval:\n options?.refetchInterval ?? defaults?.refetchInterval ?? defaultEnsQueryOptions.refetchInterval,\n refetchOnWindowFocus:\n options?.refetchOnWindowFocus ??\n defaults?.refetchOnWindowFocus ??\n defaultEnsQueryOptions.refetchOnWindowFocus,\n retry: options?.retry ?? defaults?.retry ?? defaultEnsQueryOptions.retry,\n staleTime: options?.staleTime ?? defaults?.staleTime ?? defaultEnsQueryOptions.staleTime,\n});\n\nexport type UseEnsQueryParameters<Parameters, Success, Selected = Success> = Parameters & {\n readonly query?: EnsQueryOptions<Success, Selected>;\n};\n"],"mappings":";AA0BA,MAAa,yBAAkD,OAAO,OAAO;CAC3E,QAAQ;CACR,iBAAiB;CACjB,sBAAsB;CACtB,OAAO;CACP,WAAW;AACb,CAAC;AAED,MAAa,0BACX,UACA,aAC6B;CAC7B,QAAQ,SAAS,UAAU,UAAU,UAAU,uBAAuB;CACtE,iBACE,SAAS,mBAAmB,UAAU,mBAAmB,uBAAuB;CAClF,sBACE,SAAS,wBACT,UAAU,wBACV,uBAAuB;CACzB,OAAO,SAAS,SAAS,UAAU,SAAS,uBAAuB;CACnE,WAAW,SAAS,aAAa,UAAU,aAAa,uBAAuB;AACjF"}
1
+ {"version":3,"file":"options.js","names":[],"sources":["../../src/query/options.ts"],"sourcesContent":["import type { Duration, Schedule } from \"effect\";\n\nexport interface EnsAtomSwrOptions {\n readonly revalidateOnFocus?: boolean | \"always\";\n readonly revalidateOnMount?: boolean;\n readonly staleTime?: Duration.Input;\n}\n\nexport interface EnsAtomOptions<Failure = unknown> {\n readonly idleTTL?: Duration.Input;\n readonly refreshInterval?: false | Duration.Input;\n readonly retry?: false | Schedule.Schedule<unknown, Failure>;\n readonly swr?: false | EnsAtomSwrOptions;\n}\n\nexport type EnsAtomDefaults = EnsAtomOptions<unknown>;\n\nexport interface ResolvedEnsAtomSwrOptions {\n readonly revalidateOnFocus: boolean | \"always\";\n readonly revalidateOnMount: boolean;\n readonly staleTime: Duration.Input;\n}\n\nexport interface ResolvedEnsAtomOptions<Failure = unknown> {\n readonly idleTTL: Duration.Input;\n readonly refreshInterval: false | Duration.Input;\n readonly retry: false | Schedule.Schedule<unknown, Failure>;\n readonly swr: false | ResolvedEnsAtomSwrOptions;\n}\n\nexport const defaultEnsAtomOptions: ResolvedEnsAtomOptions = Object.freeze({\n idleTTL: 5 * 60_000,\n refreshInterval: false,\n retry: false,\n swr: Object.freeze({\n revalidateOnFocus: false,\n revalidateOnMount: true,\n staleTime: 30_000,\n }),\n});\n\nconst resolveSwrOptions = <Failure>(\n defaults: EnsAtomDefaults | undefined,\n options: EnsAtomOptions<Failure> | undefined,\n): false | ResolvedEnsAtomSwrOptions => {\n const selected = options?.swr ?? defaults?.swr ?? defaultEnsAtomOptions.swr;\n if (selected === false) return false;\n\n const fallback = defaultEnsAtomOptions.swr;\n if (fallback === false) return false;\n const defaultSwr = defaults?.swr === false ? undefined : defaults?.swr;\n\n return {\n revalidateOnFocus:\n selected.revalidateOnFocus ?? defaultSwr?.revalidateOnFocus ?? fallback.revalidateOnFocus,\n revalidateOnMount:\n selected.revalidateOnMount ?? defaultSwr?.revalidateOnMount ?? fallback.revalidateOnMount,\n staleTime: selected.staleTime ?? defaultSwr?.staleTime ?? fallback.staleTime,\n };\n};\n\nexport const resolveEnsAtomOptions = <Failure>(\n defaults: EnsAtomDefaults | undefined,\n options: EnsAtomOptions<Failure> | undefined,\n): ResolvedEnsAtomOptions<Failure> => ({\n idleTTL: options?.idleTTL ?? defaults?.idleTTL ?? defaultEnsAtomOptions.idleTTL,\n refreshInterval:\n options?.refreshInterval ?? defaults?.refreshInterval ?? defaultEnsAtomOptions.refreshInterval,\n retry:\n options?.retry ??\n (defaults?.retry as false | Schedule.Schedule<unknown, Failure> | undefined) ??\n false,\n swr: resolveSwrOptions(defaults, options),\n});\n\nexport type UseEnsAtomParameters<Parameters, Success, Failure, Mapped = Success> = Parameters & {\n readonly atom?: EnsAtomOptions<Failure>;\n readonly enabled?: boolean;\n readonly map?: (value: Success) => Mapped;\n};\n"],"mappings":";AA8BA,MAAa,wBAAgD,OAAO,OAAO;CACzE,SAAS;CACT,iBAAiB;CACjB,OAAO;CACP,KAAK,OAAO,OAAO;EACjB,mBAAmB;EACnB,mBAAmB;EACnB,WAAW;CACb,CAAC;AACH,CAAC;AAED,MAAM,qBACJ,UACA,YACsC;CACtC,MAAM,WAAW,SAAS,OAAO,UAAU,OAAO,sBAAsB;CACxE,IAAI,aAAa,OAAO,OAAO;CAE/B,MAAM,WAAW,sBAAsB;CACvC,IAAI,aAAa,OAAO,OAAO;CAC/B,MAAM,aAAa,UAAU,QAAQ,QAAQ,SAAY,UAAU;CAEnE,OAAO;EACL,mBACE,SAAS,qBAAqB,YAAY,qBAAqB,SAAS;EAC1E,mBACE,SAAS,qBAAqB,YAAY,qBAAqB,SAAS;EAC1E,WAAW,SAAS,aAAa,YAAY,aAAa,SAAS;CACrE;AACF;AAEA,MAAa,yBACX,UACA,aACqC;CACrC,SAAS,SAAS,WAAW,UAAU,WAAW,sBAAsB;CACxE,iBACE,SAAS,mBAAmB,UAAU,mBAAmB,sBAAsB;CACjF,OACE,SAAS,SACR,UAAU,SACX;CACF,KAAK,kBAAkB,UAAU,OAAO;AAC1C"}
@@ -1,25 +1,19 @@
1
1
  import { Cause, Effect } from "effect";
2
2
  import { AsyncResult } from "effect/unstable/reactivity";
3
3
  //#region src/query/result.d.ts
4
- type EnsQueryStatus = "pending" | "success" | "error";
5
- type EnsFetchStatus = "idle" | "fetching";
6
- interface EnsQueryResult<Success, Failure> {
4
+ interface EnsAtomResult<Success, Failure> {
7
5
  readonly cause: Cause.Cause<Failure> | null;
8
6
  readonly data: Success | undefined;
9
7
  readonly error: Failure | Error | null;
10
- readonly fetchStatus: EnsFetchStatus;
11
- readonly isError: boolean;
12
- readonly isFetching: boolean;
13
- readonly isLoading: boolean;
14
- readonly isPending: boolean;
15
- readonly isRefetching: boolean;
8
+ readonly isFailure: boolean;
9
+ readonly isInitial: boolean;
16
10
  readonly isSuccess: boolean;
17
- readonly refetch: () => Promise<Success>;
18
- readonly refetchEffect: () => Effect.Effect<Success, Failure>;
11
+ readonly isWaiting: boolean;
12
+ readonly refresh: () => Promise<Success>;
13
+ readonly refreshEffect: () => Effect.Effect<Success, Failure>;
19
14
  readonly result: AsyncResult.AsyncResult<Success, Failure>;
20
- readonly status: EnsQueryStatus;
21
15
  readonly updatedAt: number | undefined;
22
16
  }
23
17
  //#endregion
24
- export { EnsFetchStatus, EnsQueryResult, EnsQueryStatus };
18
+ export { EnsAtomResult };
25
19
  //# sourceMappingURL=result.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"result.d.ts","names":[],"sources":["../../src/query/result.ts"],"mappings":";;;KAGY;KACA;UAEK,eAAe,SAAS;WAC9B,OAAO,MAAM,MAAM;WACnB,MAAM;WACN,OAAO,UAAU;WACjB,aAAa;WACb;WACA;WACA;WACA;WACA;WACA;WACA,eAAe,QAAQ;WACvB,qBAAqB,OAAO,OAAO,SAAS;WAC5C,QAAQ,YAAY,YAAY,SAAS;WACzC,QAAQ;WACR"}
1
+ {"version":3,"file":"result.d.ts","names":[],"sources":["../../src/query/result.ts"],"mappings":";;;UAGiB,cAAc,SAAS;WAC7B,OAAO,MAAM,MAAM;WACnB,MAAM;WACN,OAAO,UAAU;WACjB;WACA;WACA;WACA;WACA,eAAe,QAAQ;WACvB,qBAAqB,OAAO,OAAO,SAAS;WAC5C,QAAQ,YAAY,YAAY,SAAS;WACzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"result.js","names":[],"sources":["../../src/query/result.ts"],"sourcesContent":["import { Cause, Option, type Effect } from \"effect\";\nimport { AsyncResult } from \"effect/unstable/reactivity\";\n\nexport type EnsQueryStatus = \"pending\" | \"success\" | \"error\";\nexport type EnsFetchStatus = \"idle\" | \"fetching\";\n\nexport interface EnsQueryResult<Success, Failure> {\n readonly cause: Cause.Cause<Failure> | null;\n readonly data: Success | undefined;\n readonly error: Failure | Error | null;\n readonly fetchStatus: EnsFetchStatus;\n readonly isError: boolean;\n readonly isFetching: boolean;\n readonly isLoading: boolean;\n readonly isPending: boolean;\n readonly isRefetching: boolean;\n readonly isSuccess: boolean;\n readonly refetch: () => Promise<Success>;\n readonly refetchEffect: () => Effect.Effect<Success, Failure>;\n readonly result: AsyncResult.AsyncResult<Success, Failure>;\n readonly status: EnsQueryStatus;\n readonly updatedAt: number | undefined;\n}\n\nexport const errorFromCause = <Failure>(cause: Cause.Cause<Failure>): Failure | Error => {\n const typedError = Cause.findErrorOption(cause);\n if (Option.isSome(typedError)) return typedError.value;\n\n const squashed = Cause.squash(cause);\n return squashed instanceof Error\n ? squashed\n : new Error(\"An unexpected Effect failure occurred\", { cause: squashed });\n};\n\nexport const resultUpdatedAt = <Success, Failure>(\n result: AsyncResult.AsyncResult<Success, Failure>,\n): number | undefined => {\n if (AsyncResult.isSuccess(result)) return result.timestamp;\n if (!AsyncResult.isFailure(result)) return undefined;\n return Option.getOrUndefined(result.previousSuccess)?.timestamp;\n};\n"],"mappings":";;;;AAwBA,MAAa,kBAA2B,UAAiD;CACvF,MAAM,aAAa,MAAM,gBAAgB,KAAK;CAC9C,IAAI,OAAO,OAAO,UAAU,GAAG,OAAO,WAAW;CAEjD,MAAM,WAAW,MAAM,OAAO,KAAK;CACnC,OAAO,oBAAoB,QACvB,WACA,IAAI,MAAM,yCAAyC,EAAE,OAAO,SAAS,CAAC;AAC5E;AAEA,MAAa,mBACX,WACuB;CACvB,IAAI,YAAY,UAAU,MAAM,GAAG,OAAO,OAAO;CACjD,IAAI,CAAC,YAAY,UAAU,MAAM,GAAG,OAAO;CAC3C,OAAO,OAAO,eAAe,OAAO,eAAe,CAAC,EAAE;AACxD"}
1
+ {"version":3,"file":"result.js","names":[],"sources":["../../src/query/result.ts"],"sourcesContent":["import { Cause, Option, type Effect } from \"effect\";\nimport { AsyncResult } from \"effect/unstable/reactivity\";\n\nexport interface EnsAtomResult<Success, Failure> {\n readonly cause: Cause.Cause<Failure> | null;\n readonly data: Success | undefined;\n readonly error: Failure | Error | null;\n readonly isFailure: boolean;\n readonly isInitial: boolean;\n readonly isSuccess: boolean;\n readonly isWaiting: boolean;\n readonly refresh: () => Promise<Success>;\n readonly refreshEffect: () => Effect.Effect<Success, Failure>;\n readonly result: AsyncResult.AsyncResult<Success, Failure>;\n readonly updatedAt: number | undefined;\n}\n\nexport const errorFromCause = <Failure>(cause: Cause.Cause<Failure>): Failure | Error => {\n const typedError = Cause.findErrorOption(cause);\n if (Option.isSome(typedError)) return typedError.value;\n\n const squashed = Cause.squash(cause);\n return squashed instanceof Error\n ? squashed\n : new Error(\"An unexpected Effect failure occurred\", { cause: squashed });\n};\n\nexport const resultUpdatedAt = <Success, Failure>(\n result: AsyncResult.AsyncResult<Success, Failure>,\n): number | undefined => {\n if (AsyncResult.isSuccess(result)) return result.timestamp;\n if (!AsyncResult.isFailure(result)) return undefined;\n return Option.getOrUndefined(result.previousSuccess)?.timestamp;\n};\n"],"mappings":";;;;AAiBA,MAAa,kBAA2B,UAAiD;CACvF,MAAM,aAAa,MAAM,gBAAgB,KAAK;CAC9C,IAAI,OAAO,OAAO,UAAU,GAAG,OAAO,WAAW;CAEjD,MAAM,WAAW,MAAM,OAAO,KAAK;CACnC,OAAO,oBAAoB,QACvB,WACA,IAAI,MAAM,yCAAyC,EAAE,OAAO,SAAS,CAAC;AAC5E;AAEA,MAAa,mBACX,WACuB;CACvB,IAAI,YAAY,UAAU,MAAM,GAAG,OAAO,OAAO;CACjD,IAAI,CAAC,YAAY,UAAU,MAAM,GAAG,OAAO;CAC3C,OAAO,OAAO,eAAe,OAAO,eAAe,CAAC,EAAE;AACxD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ensforge/react",
3
- "version": "0.0.0",
3
+ "version": "0.1.1",
4
4
  "description": "Reactive React hooks for ENS",
5
5
  "keywords": [
6
6
  "ens",
@@ -40,7 +40,7 @@
40
40
  },
41
41
  "dependencies": {
42
42
  "@effect/atom-react": "4.0.0-rc.112",
43
- "@ensforge/sdk": "0.0.0"
43
+ "@ensforge/sdk": "0.1.1"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@testing-library/react": "16.3.0",