@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.
- package/README.md +10 -10
- package/dist/atoms/batch.d.ts +6 -6
- package/dist/atoms/batch.d.ts.map +1 -1
- package/dist/atoms/capabilities.d.ts +20 -20
- package/dist/atoms/capabilities.d.ts.map +1 -1
- package/dist/atoms/dns.d.ts +7 -7
- package/dist/atoms/dns.d.ts.map +1 -1
- package/dist/atoms/events.d.ts +29 -29
- package/dist/atoms/events.d.ts.map +1 -1
- package/dist/atoms/generic.d.ts +5 -4
- package/dist/atoms/generic.d.ts.map +1 -1
- package/dist/atoms/generic.js.map +1 -1
- package/dist/atoms/migration.d.ts +5 -5
- package/dist/atoms/migration.d.ts.map +1 -1
- package/dist/atoms/name.d.ts +23 -23
- package/dist/atoms/name.d.ts.map +1 -1
- package/dist/atoms/ownership.d.ts +2 -2
- package/dist/atoms/ownership.d.ts.map +1 -1
- package/dist/atoms/query.d.ts +6 -11
- package/dist/atoms/query.d.ts.map +1 -1
- package/dist/atoms/query.js +14 -11
- package/dist/atoms/query.js.map +1 -1
- package/dist/atoms/records.d.ts +12 -12
- package/dist/atoms/records.d.ts.map +1 -1
- package/dist/atoms/registration.d.ts +8 -8
- package/dist/atoms/registration.d.ts.map +1 -1
- package/dist/atoms/resolution.d.ts +8 -8
- package/dist/atoms/resolution.d.ts.map +1 -1
- package/dist/atoms/reverse.d.ts +2 -2
- package/dist/atoms/reverse.d.ts.map +1 -1
- package/dist/atoms/stream.d.ts +2 -2
- package/dist/atoms/stream.d.ts.map +1 -1
- package/dist/atoms/stream.js +6 -4
- package/dist/atoms/stream.js.map +1 -1
- package/dist/atoms/wrapping.d.ts +3 -3
- package/dist/atoms/wrapping.d.ts.map +1 -1
- package/dist/atoms.d.ts +3 -2
- package/dist/atoms.js +3 -2
- package/dist/cache/invalidation.d.ts +5 -5
- package/dist/cache/invalidation.d.ts.map +1 -1
- package/dist/cache/invalidation.js +3 -3
- package/dist/cache/invalidation.js.map +1 -1
- package/dist/cache/prefetch.d.ts +5 -4
- package/dist/cache/prefetch.d.ts.map +1 -1
- package/dist/cache/prefetch.js +3 -3
- package/dist/cache/prefetch.js.map +1 -1
- package/dist/cache/registry.d.ts +3 -3
- package/dist/cache/registry.d.ts.map +1 -1
- package/dist/cache/registry.js +2 -2
- package/dist/cache/registry.js.map +1 -1
- package/dist/cache.d.ts +4 -4
- package/dist/cache.js +4 -4
- package/dist/hooks/batch.d.ts +13 -13
- package/dist/hooks/batch.d.ts.map +1 -1
- package/dist/hooks/capabilities.d.ts +107 -107
- package/dist/hooks/capabilities.d.ts.map +1 -1
- package/dist/hooks/dns.d.ts +39 -39
- package/dist/hooks/dns.d.ts.map +1 -1
- package/dist/hooks/events.d.ts +98 -98
- package/dist/hooks/events.d.ts.map +1 -1
- package/dist/hooks/generic.d.ts +5 -5
- package/dist/hooks/generic.d.ts.map +1 -1
- package/dist/hooks/generic.js.map +1 -1
- package/dist/hooks/index.d.ts +4 -4
- package/dist/hooks/migration.d.ts +27 -27
- package/dist/hooks/migration.d.ts.map +1 -1
- package/dist/hooks/name.d.ts +73 -73
- package/dist/hooks/name.d.ts.map +1 -1
- package/dist/hooks/ownership.d.ts +5 -5
- package/dist/hooks/ownership.d.ts.map +1 -1
- package/dist/hooks/records.d.ts +69 -69
- package/dist/hooks/records.d.ts.map +1 -1
- package/dist/hooks/registration.d.ts +45 -45
- package/dist/hooks/registration.d.ts.map +1 -1
- package/dist/hooks/resolution.d.ts +33 -33
- package/dist/hooks/resolution.d.ts.map +1 -1
- package/dist/hooks/reverse.d.ts +9 -9
- package/dist/hooks/reverse.d.ts.map +1 -1
- package/dist/hooks/use-cache.d.ts +6 -6
- package/dist/hooks/use-cache.d.ts.map +1 -1
- package/dist/hooks/use-cache.js +4 -4
- package/dist/hooks/use-cache.js.map +1 -1
- package/dist/hooks/use-mutation.js +16 -31
- package/dist/hooks/use-mutation.js.map +1 -1
- package/dist/hooks/use-query.d.ts +6 -6
- package/dist/hooks/use-query.d.ts.map +1 -1
- package/dist/hooks/use-query.js +24 -52
- package/dist/hooks/use-query.js.map +1 -1
- package/dist/hooks/use-suspense-query.d.ts +9 -8
- package/dist/hooks/use-suspense-query.d.ts.map +1 -1
- package/dist/hooks/use-suspense-query.js +5 -5
- package/dist/hooks/use-suspense-query.js.map +1 -1
- package/dist/hooks/wrapping.d.ts +7 -7
- package/dist/hooks/wrapping.d.ts.map +1 -1
- package/dist/index.d.ts +11 -11
- package/dist/index.js +7 -7
- package/dist/mutation/options.d.ts +9 -7
- package/dist/mutation/options.d.ts.map +1 -1
- package/dist/mutation/result.d.ts +8 -10
- package/dist/mutation/result.d.ts.map +1 -1
- package/dist/provider/context.d.ts +4 -2
- package/dist/provider/context.d.ts.map +1 -1
- package/dist/provider/context.js.map +1 -1
- package/dist/query/options.d.ts +27 -24
- package/dist/query/options.d.ts.map +1 -1
- package/dist/query/options.js +26 -12
- package/dist/query/options.js.map +1 -1
- package/dist/query/result.d.ts +7 -13
- package/dist/query/result.d.ts.map +1 -1
- package/dist/query/result.js.map +1 -1
- 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 {
|
|
11
|
-
const atom = factory(sdk, parameters,
|
|
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:
|
|
15
|
-
|
|
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 {
|
|
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"}
|
package/dist/hooks/wrapping.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
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: <
|
|
9
|
-
declare const useFusesSuspense: <
|
|
10
|
-
declare const useWrapperExpiry: <
|
|
11
|
-
declare const useWrapperExpirySuspense: <
|
|
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,
|
|
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 {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
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 {
|
|
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 {
|
|
21
|
+
import { EnsAtomResult } from "./query/result.js";
|
|
22
22
|
import { useReadBatch, useReadBatchSettled, useRecords } from "./hooks/generic.js";
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import { EnsMutationResult
|
|
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,
|
|
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
|
|
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 {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
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 {
|
|
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 {
|
|
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,
|
|
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
|
|
3
|
-
readonly
|
|
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
|
|
8
|
-
readonly retry?: false |
|
|
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 {
|
|
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":"
|
|
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 {
|
|
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
|
|
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
|
|
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":";;;;
|
|
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 {
|
|
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
|
|
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":"
|
|
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 {
|
|
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"}
|
package/dist/query/options.d.ts
CHANGED
|
@@ -1,31 +1,34 @@
|
|
|
1
|
+
import { Duration, Schedule } from "effect";
|
|
1
2
|
//#region src/query/options.d.ts
|
|
2
|
-
interface
|
|
3
|
-
readonly
|
|
4
|
-
readonly
|
|
5
|
-
readonly
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
readonly
|
|
9
|
-
readonly
|
|
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
|
-
|
|
12
|
-
|
|
13
|
-
readonly
|
|
14
|
-
readonly
|
|
15
|
-
readonly
|
|
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
|
|
19
|
-
readonly
|
|
20
|
-
readonly
|
|
21
|
-
readonly
|
|
22
|
-
readonly
|
|
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
|
|
26
|
-
type
|
|
27
|
-
readonly
|
|
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 {
|
|
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":";
|
|
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"}
|
package/dist/query/options.js
CHANGED
|
@@ -1,19 +1,33 @@
|
|
|
1
1
|
//#region src/query/options.ts
|
|
2
|
-
const
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
refetchOnWindowFocus: false,
|
|
2
|
+
const defaultEnsAtomOptions = Object.freeze({
|
|
3
|
+
idleTTL: 3e5,
|
|
4
|
+
refreshInterval: false,
|
|
6
5
|
retry: false,
|
|
7
|
-
|
|
6
|
+
swr: Object.freeze({
|
|
7
|
+
revalidateOnFocus: false,
|
|
8
|
+
revalidateOnMount: true,
|
|
9
|
+
staleTime: 3e4
|
|
10
|
+
})
|
|
8
11
|
});
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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 {
|
|
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":["
|
|
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"}
|
package/dist/query/result.d.ts
CHANGED
|
@@ -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
|
-
|
|
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
|
|
11
|
-
readonly
|
|
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
|
|
18
|
-
readonly
|
|
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 {
|
|
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":";;;
|
|
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"}
|
package/dist/query/result.js.map
CHANGED
|
@@ -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
|
|
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.
|
|
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.
|
|
43
|
+
"@ensforge/sdk": "0.1.1"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@testing-library/react": "16.3.0",
|