@ensforge/react 0.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +87 -0
- package/dist/atoms/batch.d.ts +14 -0
- package/dist/atoms/batch.d.ts.map +1 -0
- package/dist/atoms/batch.js +16 -0
- package/dist/atoms/batch.js.map +1 -0
- package/dist/atoms/capabilities.d.ts +531 -0
- package/dist/atoms/capabilities.d.ts.map +1 -0
- package/dist/atoms/capabilities.js +21 -0
- package/dist/atoms/capabilities.js.map +1 -0
- package/dist/atoms/dns.d.ts +75 -0
- package/dist/atoms/dns.d.ts.map +1 -0
- package/dist/atoms/dns.js +18 -0
- package/dist/atoms/dns.js.map +1 -0
- package/dist/atoms/events.d.ts +86 -0
- package/dist/atoms/events.d.ts.map +1 -0
- package/dist/atoms/events.js +11 -0
- package/dist/atoms/events.js.map +1 -0
- package/dist/atoms/generic.d.ts +14 -0
- package/dist/atoms/generic.d.ts.map +1 -0
- package/dist/atoms/generic.js +13 -0
- package/dist/atoms/generic.js.map +1 -0
- package/dist/atoms/migration.d.ts +171 -0
- package/dist/atoms/migration.d.ts.map +1 -0
- package/dist/atoms/migration.js +15 -0
- package/dist/atoms/migration.js.map +1 -0
- package/dist/atoms/mutation.d.ts +12 -0
- package/dist/atoms/mutation.d.ts.map +1 -0
- package/dist/atoms/mutation.js +11 -0
- package/dist/atoms/mutation.js.map +1 -0
- package/dist/atoms/name.d.ts +141 -0
- package/dist/atoms/name.d.ts.map +1 -0
- package/dist/atoms/name.js +22 -0
- package/dist/atoms/name.js.map +1 -0
- package/dist/atoms/ownership.d.ts +12 -0
- package/dist/atoms/ownership.d.ts.map +1 -0
- package/dist/atoms/ownership.js +14 -0
- package/dist/atoms/ownership.js.map +1 -0
- package/dist/atoms/permissions.d.ts +16 -0
- package/dist/atoms/permissions.d.ts.map +1 -0
- package/dist/atoms/permissions.js +18 -0
- package/dist/atoms/permissions.js.map +1 -0
- package/dist/atoms/query.d.ts +18 -0
- package/dist/atoms/query.d.ts.map +1 -0
- package/dist/atoms/query.js +30 -0
- package/dist/atoms/query.js.map +1 -0
- package/dist/atoms/records.d.ts +93 -0
- package/dist/atoms/records.d.ts.map +1 -0
- package/dist/atoms/records.js +34 -0
- package/dist/atoms/records.js.map +1 -0
- package/dist/atoms/registration.d.ts +253 -0
- package/dist/atoms/registration.d.ts.map +1 -0
- package/dist/atoms/registration.js +23 -0
- package/dist/atoms/registration.js.map +1 -0
- package/dist/atoms/resolution.d.ts +45 -0
- package/dist/atoms/resolution.d.ts.map +1 -0
- package/dist/atoms/resolution.js +20 -0
- package/dist/atoms/resolution.js.map +1 -0
- package/dist/atoms/reverse.d.ts +14 -0
- package/dist/atoms/reverse.d.ts.map +1 -0
- package/dist/atoms/reverse.js +13 -0
- package/dist/atoms/reverse.js.map +1 -0
- package/dist/atoms/stream.d.ts +11 -0
- package/dist/atoms/stream.d.ts.map +1 -0
- package/dist/atoms/stream.js +23 -0
- package/dist/atoms/stream.js.map +1 -0
- package/dist/atoms/subnames.d.ts +12 -0
- package/dist/atoms/subnames.d.ts.map +1 -0
- package/dist/atoms/subnames.js +14 -0
- package/dist/atoms/subnames.js.map +1 -0
- package/dist/atoms/wrapping.d.ts +13 -0
- package/dist/atoms/wrapping.d.ts.map +1 -0
- package/dist/atoms/wrapping.js +15 -0
- package/dist/atoms/wrapping.js.map +1 -0
- package/dist/atoms.d.ts +19 -0
- package/dist/atoms.js +20 -0
- package/dist/cache/invalidation.d.ts +18 -0
- package/dist/cache/invalidation.d.ts.map +1 -0
- package/dist/cache/invalidation.js +23 -0
- package/dist/cache/invalidation.js.map +1 -0
- package/dist/cache/prefetch.d.ts +10 -0
- package/dist/cache/prefetch.d.ts.map +1 -0
- package/dist/cache/prefetch.js +10 -0
- package/dist/cache/prefetch.js.map +1 -0
- package/dist/cache/registry.d.ts +10 -0
- package/dist/cache/registry.d.ts.map +1 -0
- package/dist/cache/registry.js +12 -0
- package/dist/cache/registry.js.map +1 -0
- package/dist/cache.d.ts +4 -0
- package/dist/cache.js +5 -0
- package/dist/hooks/batch.d.ts +23 -0
- package/dist/hooks/batch.d.ts.map +1 -0
- package/dist/hooks/batch.js +25 -0
- package/dist/hooks/batch.js.map +1 -0
- package/dist/hooks/capabilities.d.ts +2084 -0
- package/dist/hooks/capabilities.d.ts.map +1 -0
- package/dist/hooks/capabilities.js +39 -0
- package/dist/hooks/capabilities.js.map +1 -0
- package/dist/hooks/dns.d.ts +262 -0
- package/dist/hooks/dns.d.ts.map +1 -0
- package/dist/hooks/dns.js +28 -0
- package/dist/hooks/dns.js.map +1 -0
- package/dist/hooks/events.d.ts +275 -0
- package/dist/hooks/events.d.ts.map +1 -0
- package/dist/hooks/events.js +16 -0
- package/dist/hooks/events.js.map +1 -0
- package/dist/hooks/generic.d.ts +12 -0
- package/dist/hooks/generic.d.ts.map +1 -0
- package/dist/hooks/generic.js +13 -0
- package/dist/hooks/generic.js.map +1 -0
- package/dist/hooks/index.d.ts +20 -0
- package/dist/hooks/migration.d.ts +653 -0
- package/dist/hooks/migration.d.ts.map +1 -0
- package/dist/hooks/migration.js +23 -0
- package/dist/hooks/migration.js.map +1 -0
- package/dist/hooks/name.d.ts +522 -0
- package/dist/hooks/name.d.ts.map +1 -0
- package/dist/hooks/name.js +41 -0
- package/dist/hooks/name.js.map +1 -0
- package/dist/hooks/ownership.d.ts +17 -0
- package/dist/hooks/ownership.d.ts.map +1 -0
- package/dist/hooks/ownership.js +19 -0
- package/dist/hooks/ownership.js.map +1 -0
- package/dist/hooks/permissions.d.ts +18 -0
- package/dist/hooks/permissions.d.ts.map +1 -0
- package/dist/hooks/permissions.js +21 -0
- package/dist/hooks/permissions.js.map +1 -0
- package/dist/hooks/records.d.ts +291 -0
- package/dist/hooks/records.d.ts.map +1 -0
- package/dist/hooks/records.js +49 -0
- package/dist/hooks/records.js.map +1 -0
- package/dist/hooks/registration.d.ts +960 -0
- package/dist/hooks/registration.d.ts.map +1 -0
- package/dist/hooks/registration.js +34 -0
- package/dist/hooks/registration.js.map +1 -0
- package/dist/hooks/resolution.d.ts +137 -0
- package/dist/hooks/resolution.d.ts.map +1 -0
- package/dist/hooks/resolution.js +31 -0
- package/dist/hooks/resolution.js.map +1 -0
- package/dist/hooks/reverse.d.ts +28 -0
- package/dist/hooks/reverse.d.ts.map +1 -0
- package/dist/hooks/reverse.js +18 -0
- package/dist/hooks/reverse.js.map +1 -0
- package/dist/hooks/subnames.d.ts +14 -0
- package/dist/hooks/subnames.d.ts.map +1 -0
- package/dist/hooks/subnames.js +17 -0
- package/dist/hooks/subnames.js.map +1 -0
- package/dist/hooks/use-cache.d.ts +11 -0
- package/dist/hooks/use-cache.d.ts.map +1 -0
- package/dist/hooks/use-cache.js +20 -0
- package/dist/hooks/use-cache.js.map +1 -0
- package/dist/hooks/use-mutation.d.ts +8 -0
- package/dist/hooks/use-mutation.d.ts.map +1 -0
- package/dist/hooks/use-mutation.js +79 -0
- package/dist/hooks/use-mutation.js.map +1 -0
- package/dist/hooks/use-query.d.ts +10 -0
- package/dist/hooks/use-query.d.ts.map +1 -0
- package/dist/hooks/use-query.js +81 -0
- package/dist/hooks/use-query.js.map +1 -0
- package/dist/hooks/use-suspense-query.d.ts +15 -0
- package/dist/hooks/use-suspense-query.d.ts.map +1 -0
- package/dist/hooks/use-suspense-query.js +22 -0
- package/dist/hooks/use-suspense-query.js.map +1 -0
- package/dist/hooks/wrapping.d.ts +19 -0
- package/dist/hooks/wrapping.d.ts.map +1 -0
- package/dist/hooks/wrapping.js +21 -0
- package/dist/hooks/wrapping.js.map +1 -0
- package/dist/index.d.ts +35 -0
- package/dist/index.js +30 -0
- package/dist/internal/action-types.d.ts +8 -0
- package/dist/internal/action-types.d.ts.map +1 -0
- package/dist/internal/runtime.js +9 -0
- package/dist/internal/runtime.js.map +1 -0
- package/dist/mutation/options.d.ts +12 -0
- package/dist/mutation/options.d.ts.map +1 -0
- package/dist/mutation/result.d.ts +25 -0
- package/dist/mutation/result.d.ts.map +1 -0
- package/dist/provider/context.d.ts +9 -0
- package/dist/provider/context.d.ts.map +1 -0
- package/dist/provider/context.js +15 -0
- package/dist/provider/context.js.map +1 -0
- package/dist/provider/ensforge-provider.d.ts +22 -0
- package/dist/provider/ensforge-provider.d.ts.map +1 -0
- package/dist/provider/ensforge-provider.js +31 -0
- package/dist/provider/ensforge-provider.js.map +1 -0
- package/dist/provider/hooks.d.ts +6 -0
- package/dist/provider/hooks.d.ts.map +1 -0
- package/dist/provider/hooks.js +13 -0
- package/dist/provider/hooks.js.map +1 -0
- package/dist/provider/index.d.ts +4 -0
- package/dist/query/keys.d.ts +6 -0
- package/dist/query/keys.d.ts.map +1 -0
- package/dist/query/keys.js +25 -0
- package/dist/query/keys.js.map +1 -0
- package/dist/query/options.d.ts +31 -0
- package/dist/query/options.d.ts.map +1 -0
- package/dist/query/options.js +19 -0
- package/dist/query/options.js.map +1 -0
- package/dist/query/result.d.ts +25 -0
- package/dist/query/result.d.ts.map +1 -0
- package/dist/query/result.js +19 -0
- package/dist/query/result.js.map +1 -0
- package/package.json +70 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registration.d.ts","names":[],"sources":["../../src/hooks/registration.ts"],"mappings":";;;;;;;cAuBa,sBAAmB;;;;;;;;;;;;;;;;;;;;;;;UAAyC;;;;;;;;;;;;;;;;;;;;;;;GAAA,cAAA,eAAA,mCAAA;cAC5D,8BAA2B;;;;;;;;;;;;;;;;;;;;;;;UAAiD;;;;;;;;;;;;;;;;;;;;;;;GAAA,cAAA,uBAAA;cAC5E,4BAAyB;;;;;;;;;;;;;;;;;;;;;;;UAA+C;;;;;;;;;;;;;;;;;;;;;;;GAAA,cAAA,eAAA,mCAAA;cACxE,oCAAiC;;;;;;;;;;;;;;;;;;;;;;;UAE7C;;;;;;;;;;;;;;;;;;;;;;;GAAA,cAAA,uBAAA;cACY,sBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAAyC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAA,cAAA,eAAA,mCAAA;cAC5D,8BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAAiD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAA,cAAA,uBAAA;cAC5E,uBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAA0C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAA,cAAA,eAAA,mCAAA;cAC9D,+BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAAkD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAA,cAAA,uBAAA;cAC9E,kBAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAA,cAAA,eAAA,mCAAA;cACpD,0BAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAA6C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAA,cAAA,uBAAA;cACpE,6BAA0B;;;;;;;;;;;;;;;UAA6C;;;;;;;;;;;;;;;GAAA,cAAA,eAAA,mCAAA;cACvE,qCAAkC;;;;;;;;;;;;;;;UAE9C;;;;;;;;;;;;;;;GAAA,cAAA,uBAAA;cACY,4BAAyB;;;;;UAAgD;;;;;GAAA,cAAA,eAAA,mCAAA;cACzE,oCAAiC;;;;;UAE7C;;;;;GAAA,cAAA,uBAAA;cAEY,yBAAsB,UAAtB,4CAAsB,wDAAA,8CAAA,gBAAA,2CAAA,wDAAA,8CAAA;cACtB,2BAAwB,UAAxB,4CAAwB,0DAAA,8CAAA,gBAAA,2CAAA,0DAAA,8CAAA;cACxB,gBAAa,UAAb,4CAAa,+CAAA,8CAAA,gBAAA,2CAAA,+CAAA,8CAAA;cACb,0BAAuB,UAAvB,4CAAuB,yDAAA,8CAAA,gBAAA,2CAAA,yDAAA,8CAAA;cACvB,kBAAe,UAAf,4CAAe,iDAAA,6CAAA,gBAAA,2CAAA,iDAAA,6CAAA;cACf,mBAAgB,UAAhB,4CAAgB,kDAAA,8CAAA,gBAAA,2CAAA,kDAAA,8CAAA;cAChB,eAAY,UAAZ,4CAAY,8CAAA,0CAAA,gBAAA,2CAAA,8CAAA,0CAAA;cACZ,gBAAa,UAAb,4CAAa,+CAAA,2CAAA,gBAAA,2CAAA,+CAAA,2CAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { makeMutationHook } from "./use-mutation.js";
|
|
4
|
+
import { makeQueryHook } from "./use-query.js";
|
|
5
|
+
import { makeSuspenseQueryHook } from "./use-suspense-query.js";
|
|
6
|
+
import { createApprovePaymentTokenMutationAtom, createApproveRenewalPaymentMutationAtom, createCommitNameMutationAtom, createCompleteRegistrationMutationAtom, createRegisterNameMutationAtom, createRegisterNamesMutationAtom, createRenewNameMutationAtom, createRenewNamesMutationAtom, getCommitmentStatusAtom, getRegistrationParametersAtom, getRegistrationPlanAtom, getRegistrationPriceAtom, getRenewalPriceAtom, isPaymentTokenSupportedAtom, makeRegistrationCommitmentAtom } from "../atoms/registration.js";
|
|
7
|
+
|
|
8
|
+
//#region src/hooks/registration.ts
|
|
9
|
+
const useCommitmentStatus = makeQueryHook(getCommitmentStatusAtom);
|
|
10
|
+
const useCommitmentStatusSuspense = makeSuspenseQueryHook(getCommitmentStatusAtom);
|
|
11
|
+
const useRegistrationParameters = makeQueryHook(getRegistrationParametersAtom);
|
|
12
|
+
const useRegistrationParametersSuspense = makeSuspenseQueryHook(getRegistrationParametersAtom);
|
|
13
|
+
const useRegistrationPlan = makeQueryHook(getRegistrationPlanAtom);
|
|
14
|
+
const useRegistrationPlanSuspense = makeSuspenseQueryHook(getRegistrationPlanAtom);
|
|
15
|
+
const useRegistrationPrice = makeQueryHook(getRegistrationPriceAtom);
|
|
16
|
+
const useRegistrationPriceSuspense = makeSuspenseQueryHook(getRegistrationPriceAtom);
|
|
17
|
+
const useRenewalPrice = makeQueryHook(getRenewalPriceAtom);
|
|
18
|
+
const useRenewalPriceSuspense = makeSuspenseQueryHook(getRenewalPriceAtom);
|
|
19
|
+
const useIsPaymentTokenSupported = makeQueryHook(isPaymentTokenSupportedAtom);
|
|
20
|
+
const useIsPaymentTokenSupportedSuspense = makeSuspenseQueryHook(isPaymentTokenSupportedAtom);
|
|
21
|
+
const useRegistrationCommitment = makeQueryHook(makeRegistrationCommitmentAtom);
|
|
22
|
+
const useRegistrationCommitmentSuspense = makeSuspenseQueryHook(makeRegistrationCommitmentAtom);
|
|
23
|
+
const useApprovePaymentToken = makeMutationHook(createApprovePaymentTokenMutationAtom);
|
|
24
|
+
const useApproveRenewalPayment = makeMutationHook(createApproveRenewalPaymentMutationAtom);
|
|
25
|
+
const useCommitName = makeMutationHook(createCommitNameMutationAtom);
|
|
26
|
+
const useCompleteRegistration = makeMutationHook(createCompleteRegistrationMutationAtom);
|
|
27
|
+
const useRegisterName = makeMutationHook(createRegisterNameMutationAtom);
|
|
28
|
+
const useRegisterNames = makeMutationHook(createRegisterNamesMutationAtom);
|
|
29
|
+
const useRenewName = makeMutationHook(createRenewNameMutationAtom);
|
|
30
|
+
const useRenewNames = makeMutationHook(createRenewNamesMutationAtom);
|
|
31
|
+
|
|
32
|
+
//#endregion
|
|
33
|
+
export { useApprovePaymentToken, useApproveRenewalPayment, useCommitName, useCommitmentStatus, useCommitmentStatusSuspense, useCompleteRegistration, useIsPaymentTokenSupported, useIsPaymentTokenSupportedSuspense, useRegisterName, useRegisterNames, useRegistrationCommitment, useRegistrationCommitmentSuspense, useRegistrationParameters, useRegistrationParametersSuspense, useRegistrationPlan, useRegistrationPlanSuspense, useRegistrationPrice, useRegistrationPriceSuspense, useRenewName, useRenewNames, useRenewalPrice, useRenewalPriceSuspense };
|
|
34
|
+
//# sourceMappingURL=registration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registration.js","names":[],"sources":["../../src/hooks/registration.ts"],"sourcesContent":["\"use client\";\n\nimport {\n getCommitmentStatusAtom,\n getRegistrationParametersAtom,\n getRegistrationPlanAtom,\n getRegistrationPriceAtom,\n getRenewalPriceAtom,\n isPaymentTokenSupportedAtom,\n makeRegistrationCommitmentAtom,\n createApprovePaymentTokenMutationAtom,\n createApproveRenewalPaymentMutationAtom,\n createCommitNameMutationAtom,\n createCompleteRegistrationMutationAtom,\n createRegisterNameMutationAtom,\n createRegisterNamesMutationAtom,\n createRenewNameMutationAtom,\n createRenewNamesMutationAtom,\n} from \"../atoms/registration.js\";\nimport { makeMutationHook } from \"./use-mutation.js\";\nimport { makeQueryHook } from \"./use-query.js\";\nimport { makeSuspenseQueryHook } from \"./use-suspense-query.js\";\n\nexport const useCommitmentStatus = makeQueryHook(getCommitmentStatusAtom);\nexport const useCommitmentStatusSuspense = makeSuspenseQueryHook(getCommitmentStatusAtom);\nexport const useRegistrationParameters = makeQueryHook(getRegistrationParametersAtom);\nexport const useRegistrationParametersSuspense = makeSuspenseQueryHook(\n getRegistrationParametersAtom,\n);\nexport const useRegistrationPlan = makeQueryHook(getRegistrationPlanAtom);\nexport const useRegistrationPlanSuspense = makeSuspenseQueryHook(getRegistrationPlanAtom);\nexport const useRegistrationPrice = makeQueryHook(getRegistrationPriceAtom);\nexport const useRegistrationPriceSuspense = makeSuspenseQueryHook(getRegistrationPriceAtom);\nexport const useRenewalPrice = makeQueryHook(getRenewalPriceAtom);\nexport const useRenewalPriceSuspense = makeSuspenseQueryHook(getRenewalPriceAtom);\nexport const useIsPaymentTokenSupported = makeQueryHook(isPaymentTokenSupportedAtom);\nexport const useIsPaymentTokenSupportedSuspense = makeSuspenseQueryHook(\n isPaymentTokenSupportedAtom,\n);\nexport const useRegistrationCommitment = makeQueryHook(makeRegistrationCommitmentAtom);\nexport const useRegistrationCommitmentSuspense = makeSuspenseQueryHook(\n makeRegistrationCommitmentAtom,\n);\n\nexport const useApprovePaymentToken = makeMutationHook(createApprovePaymentTokenMutationAtom);\nexport const useApproveRenewalPayment = makeMutationHook(createApproveRenewalPaymentMutationAtom);\nexport const useCommitName = makeMutationHook(createCommitNameMutationAtom);\nexport const useCompleteRegistration = makeMutationHook(createCompleteRegistrationMutationAtom);\nexport const useRegisterName = makeMutationHook(createRegisterNameMutationAtom);\nexport const useRegisterNames = makeMutationHook(createRegisterNamesMutationAtom);\nexport const useRenewName = makeMutationHook(createRenewNameMutationAtom);\nexport const useRenewNames = makeMutationHook(createRenewNamesMutationAtom);\n"],"mappings":";;;;;;;;AAuBA,MAAa,sBAAsB,cAAc,uBAAuB;AACxE,MAAa,8BAA8B,sBAAsB,uBAAuB;AACxF,MAAa,4BAA4B,cAAc,6BAA6B;AACpF,MAAa,oCAAoC,sBAC/C,6BACF;AACA,MAAa,sBAAsB,cAAc,uBAAuB;AACxE,MAAa,8BAA8B,sBAAsB,uBAAuB;AACxF,MAAa,uBAAuB,cAAc,wBAAwB;AAC1E,MAAa,+BAA+B,sBAAsB,wBAAwB;AAC1F,MAAa,kBAAkB,cAAc,mBAAmB;AAChE,MAAa,0BAA0B,sBAAsB,mBAAmB;AAChF,MAAa,6BAA6B,cAAc,2BAA2B;AACnF,MAAa,qCAAqC,sBAChD,2BACF;AACA,MAAa,4BAA4B,cAAc,8BAA8B;AACrF,MAAa,oCAAoC,sBAC/C,8BACF;AAEA,MAAa,yBAAyB,iBAAiB,qCAAqC;AAC5F,MAAa,2BAA2B,iBAAiB,uCAAuC;AAChG,MAAa,gBAAgB,iBAAiB,4BAA4B;AAC1E,MAAa,0BAA0B,iBAAiB,sCAAsC;AAC9F,MAAa,kBAAkB,iBAAiB,8BAA8B;AAC9E,MAAa,mBAAmB,iBAAiB,+BAA+B;AAChF,MAAa,eAAe,iBAAiB,2BAA2B;AACxE,MAAa,gBAAgB,iBAAiB,4BAA4B"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { UseEnsQueryParameters } from "../query/options.js";
|
|
2
|
+
import { EnsSuspenseQueryResult, UseEnsSuspenseQueryParameters } from "./use-suspense-query.js";
|
|
3
|
+
import { EnsQueryResult } from "../query/result.js";
|
|
4
|
+
import { EnsMutationOptions } from "../mutation/options.js";
|
|
5
|
+
import { EnsMutationResult } from "../mutation/result.js";
|
|
6
|
+
import "../index.js";
|
|
7
|
+
//#region src/hooks/resolution.d.ts
|
|
8
|
+
declare const useAlias: <Selected = {
|
|
9
|
+
readonly supported: false;
|
|
10
|
+
readonly name: string & import("effect/Brand").Brand<"NormalizedName">;
|
|
11
|
+
readonly resolver: `0x${string}` | null;
|
|
12
|
+
readonly reason: "RESOLVER_NOT_FOUND" | "ALIASING_UNSUPPORTED";
|
|
13
|
+
} | {
|
|
14
|
+
readonly supported: true;
|
|
15
|
+
readonly name: string & import("effect/Brand").Brand<"NormalizedName">;
|
|
16
|
+
readonly resolver: `0x${string}`;
|
|
17
|
+
readonly target: (string & import("effect/Brand").Brand<"NormalizedName">) | null;
|
|
18
|
+
readonly raw: `0x${string}`;
|
|
19
|
+
}>(input: UseEnsQueryParameters<import("@ensforge/core").GetAliasParameters, {
|
|
20
|
+
readonly supported: false;
|
|
21
|
+
readonly name: string & import("effect/Brand").Brand<"NormalizedName">;
|
|
22
|
+
readonly resolver: `0x${string}` | null;
|
|
23
|
+
readonly reason: "RESOLVER_NOT_FOUND" | "ALIASING_UNSUPPORTED";
|
|
24
|
+
} | {
|
|
25
|
+
readonly supported: true;
|
|
26
|
+
readonly name: string & import("effect/Brand").Brand<"NormalizedName">;
|
|
27
|
+
readonly resolver: `0x${string}`;
|
|
28
|
+
readonly target: (string & import("effect/Brand").Brand<"NormalizedName">) | null;
|
|
29
|
+
readonly raw: `0x${string}`;
|
|
30
|
+
}, Selected>) => EnsQueryResult<Selected, import("@ensforge/core").GetAliasError>;
|
|
31
|
+
declare const useAliasSuspense: <Selected = {
|
|
32
|
+
readonly supported: false;
|
|
33
|
+
readonly name: string & import("effect/Brand").Brand<"NormalizedName">;
|
|
34
|
+
readonly resolver: `0x${string}` | null;
|
|
35
|
+
readonly reason: "RESOLVER_NOT_FOUND" | "ALIASING_UNSUPPORTED";
|
|
36
|
+
} | {
|
|
37
|
+
readonly supported: true;
|
|
38
|
+
readonly name: string & import("effect/Brand").Brand<"NormalizedName">;
|
|
39
|
+
readonly resolver: `0x${string}`;
|
|
40
|
+
readonly target: (string & import("effect/Brand").Brand<"NormalizedName">) | null;
|
|
41
|
+
readonly raw: `0x${string}`;
|
|
42
|
+
}>(input: UseEnsSuspenseQueryParameters<import("@ensforge/core").GetAliasParameters, {
|
|
43
|
+
readonly supported: false;
|
|
44
|
+
readonly name: string & import("effect/Brand").Brand<"NormalizedName">;
|
|
45
|
+
readonly resolver: `0x${string}` | null;
|
|
46
|
+
readonly reason: "RESOLVER_NOT_FOUND" | "ALIASING_UNSUPPORTED";
|
|
47
|
+
} | {
|
|
48
|
+
readonly supported: true;
|
|
49
|
+
readonly name: string & import("effect/Brand").Brand<"NormalizedName">;
|
|
50
|
+
readonly resolver: `0x${string}`;
|
|
51
|
+
readonly target: (string & import("effect/Brand").Brand<"NormalizedName">) | null;
|
|
52
|
+
readonly raw: `0x${string}`;
|
|
53
|
+
}, Selected>) => EnsSuspenseQueryResult<Selected>;
|
|
54
|
+
declare const useResolver: <Selected = import("@ensforge/core").GetResolverResult>(input: UseEnsQueryParameters<import("@ensforge/core").GetResolverParameters, import("@ensforge/core").GetResolverResult, Selected>) => EnsQueryResult<Selected, import("@ensforge/core").GetResolverError>;
|
|
55
|
+
declare const useResolverSuspense: <Selected = import("@ensforge/core").GetResolverResult>(input: UseEnsSuspenseQueryParameters<import("@ensforge/core").GetResolverParameters, import("@ensforge/core").GetResolverResult, Selected>) => EnsSuspenseQueryResult<Selected>;
|
|
56
|
+
declare const useResolverVersion: <Selected = {
|
|
57
|
+
readonly supported: false;
|
|
58
|
+
readonly name: string & import("effect/Brand").Brand<"NormalizedName">;
|
|
59
|
+
readonly resolver: `0x${string}` | null;
|
|
60
|
+
readonly reason: "RESOLVER_NOT_FOUND" | "VERSIONING_UNSUPPORTED";
|
|
61
|
+
} | {
|
|
62
|
+
readonly supported: true;
|
|
63
|
+
readonly name: string & import("effect/Brand").Brand<"NormalizedName">;
|
|
64
|
+
readonly resolver: `0x${string}`;
|
|
65
|
+
readonly version: bigint;
|
|
66
|
+
}>(input: UseEnsQueryParameters<import("@ensforge/core").GetResolverVersionParameters, {
|
|
67
|
+
readonly supported: false;
|
|
68
|
+
readonly name: string & import("effect/Brand").Brand<"NormalizedName">;
|
|
69
|
+
readonly resolver: `0x${string}` | null;
|
|
70
|
+
readonly reason: "RESOLVER_NOT_FOUND" | "VERSIONING_UNSUPPORTED";
|
|
71
|
+
} | {
|
|
72
|
+
readonly supported: true;
|
|
73
|
+
readonly name: string & import("effect/Brand").Brand<"NormalizedName">;
|
|
74
|
+
readonly resolver: `0x${string}`;
|
|
75
|
+
readonly version: bigint;
|
|
76
|
+
}, Selected>) => EnsQueryResult<Selected, import("@ensforge/core").GetResolverError>;
|
|
77
|
+
declare const useResolverVersionSuspense: <Selected = {
|
|
78
|
+
readonly supported: false;
|
|
79
|
+
readonly name: string & import("effect/Brand").Brand<"NormalizedName">;
|
|
80
|
+
readonly resolver: `0x${string}` | null;
|
|
81
|
+
readonly reason: "RESOLVER_NOT_FOUND" | "VERSIONING_UNSUPPORTED";
|
|
82
|
+
} | {
|
|
83
|
+
readonly supported: true;
|
|
84
|
+
readonly name: string & import("effect/Brand").Brand<"NormalizedName">;
|
|
85
|
+
readonly resolver: `0x${string}`;
|
|
86
|
+
readonly version: bigint;
|
|
87
|
+
}>(input: UseEnsSuspenseQueryParameters<import("@ensforge/core").GetResolverVersionParameters, {
|
|
88
|
+
readonly supported: false;
|
|
89
|
+
readonly name: string & import("effect/Brand").Brand<"NormalizedName">;
|
|
90
|
+
readonly resolver: `0x${string}` | null;
|
|
91
|
+
readonly reason: "RESOLVER_NOT_FOUND" | "VERSIONING_UNSUPPORTED";
|
|
92
|
+
} | {
|
|
93
|
+
readonly supported: true;
|
|
94
|
+
readonly name: string & import("effect/Brand").Brand<"NormalizedName">;
|
|
95
|
+
readonly resolver: `0x${string}`;
|
|
96
|
+
readonly version: bigint;
|
|
97
|
+
}, Selected>) => EnsSuspenseQueryResult<Selected>;
|
|
98
|
+
declare const usePredictResolverAddress: <Selected = `0x${string}`>(input: UseEnsQueryParameters<import("@ensforge/core").CreateResolverParameters, `0x${string}`, Selected>) => EnsQueryResult<Selected, import("@ensforge/core").WriteError>;
|
|
99
|
+
declare const usePredictResolverAddressSuspense: <Selected = `0x${string}`>(input: UseEnsSuspenseQueryParameters<import("@ensforge/core").CreateResolverParameters, `0x${string}`, Selected>) => EnsSuspenseQueryResult<Selected>;
|
|
100
|
+
declare const useResolve: <Selected = {
|
|
101
|
+
readonly data: `0x${string}`;
|
|
102
|
+
readonly resolverAddress: `0x${string}`;
|
|
103
|
+
} | null>(input: UseEnsQueryParameters<import("@ensforge/core").ResolveParameters, {
|
|
104
|
+
readonly data: `0x${string}`;
|
|
105
|
+
readonly resolverAddress: `0x${string}`;
|
|
106
|
+
} | null, Selected>) => EnsQueryResult<Selected, import("@ensforge/core").ResolveError>;
|
|
107
|
+
declare const useResolveSuspense: <Selected = {
|
|
108
|
+
readonly data: `0x${string}`;
|
|
109
|
+
readonly resolverAddress: `0x${string}`;
|
|
110
|
+
} | null>(input: UseEnsSuspenseQueryParameters<import("@ensforge/core").ResolveParameters, {
|
|
111
|
+
readonly data: `0x${string}`;
|
|
112
|
+
readonly resolverAddress: `0x${string}`;
|
|
113
|
+
} | null, Selected>) => EnsSuspenseQueryResult<Selected>;
|
|
114
|
+
declare const useResolveBatch: <Selected = import("@ensforge/core").ResolveBatchResult>(input: UseEnsQueryParameters<import("@ensforge/core").ResolveBatchParameters, import("@ensforge/core").ResolveBatchResult, Selected>) => EnsQueryResult<Selected, import("@ensforge/core").ResolveError>;
|
|
115
|
+
declare const useResolveBatchSuspense: <Selected = import("@ensforge/core").ResolveBatchResult>(input: UseEnsSuspenseQueryParameters<import("@ensforge/core").ResolveBatchParameters, import("@ensforge/core").ResolveBatchResult, Selected>) => EnsSuspenseQueryResult<Selected>;
|
|
116
|
+
declare const useResolveWithResolver: <Selected = {
|
|
117
|
+
readonly data: `0x${string}`;
|
|
118
|
+
readonly resolverAddress: `0x${string}`;
|
|
119
|
+
}>(input: UseEnsQueryParameters<import("@ensforge/core").ResolveWithResolverParameters, {
|
|
120
|
+
readonly data: `0x${string}`;
|
|
121
|
+
readonly resolverAddress: `0x${string}`;
|
|
122
|
+
}, Selected>) => EnsQueryResult<Selected, import("@ensforge/core").ResolveError>;
|
|
123
|
+
declare const useResolveWithResolverSuspense: <Selected = {
|
|
124
|
+
readonly data: `0x${string}`;
|
|
125
|
+
readonly resolverAddress: `0x${string}`;
|
|
126
|
+
}>(input: UseEnsSuspenseQueryParameters<import("@ensforge/core").ResolveWithResolverParameters, {
|
|
127
|
+
readonly data: `0x${string}`;
|
|
128
|
+
readonly resolverAddress: `0x${string}`;
|
|
129
|
+
}, Selected>) => EnsSuspenseQueryResult<Selected>;
|
|
130
|
+
declare const useCreateResolver: (options?: EnsMutationOptions<import("@ensforge/core").CreateResolverParameters, import("@ensforge/core").CreateResolverResult, import("@ensforge/core").WriteError>) => EnsMutationResult<import("@ensforge/core").CreateResolverParameters, import("@ensforge/core").CreateResolverResult, import("@ensforge/core").WriteError>;
|
|
131
|
+
declare const useGetOrCreateResolver: (options?: EnsMutationOptions<import("@ensforge/core").GetOrCreateResolverParameters, import("@ensforge/core").GetOrCreateResolverResult, import("@ensforge/core").WriteError>) => EnsMutationResult<import("@ensforge/core").GetOrCreateResolverParameters, import("@ensforge/core").GetOrCreateResolverResult, import("@ensforge/core").WriteError>;
|
|
132
|
+
declare const useSetResolver: (options?: EnsMutationOptions<import("@ensforge/core").SetResolverParameters, import("@ensforge/core").CallExecutionResult, import("@ensforge/core").WriteError>) => EnsMutationResult<import("@ensforge/core").SetResolverParameters, import("@ensforge/core").CallExecutionResult, import("@ensforge/core").WriteError>;
|
|
133
|
+
declare const useSetResolverAndRecords: (options?: EnsMutationOptions<import("@ensforge/core").SetResolverAndRecordsParameters, import("@ensforge/core").SetResolverAndRecordsProgress, import("@ensforge/core").WriteError>) => EnsMutationResult<import("@ensforge/core").SetResolverAndRecordsParameters, import("@ensforge/core").SetResolverAndRecordsProgress, import("@ensforge/core").WriteError>;
|
|
134
|
+
declare const useUpgradeResolver: (options?: EnsMutationOptions<import("@ensforge/core").UpgradeResolverParameters, import("@ensforge/core").UpgradeResolverResult, import("@ensforge/core").WriteError>) => EnsMutationResult<import("@ensforge/core").UpgradeResolverParameters, import("@ensforge/core").UpgradeResolverResult, import("@ensforge/core").WriteError>;
|
|
135
|
+
//#endregion
|
|
136
|
+
export { useAlias, useAliasSuspense, useCreateResolver, useGetOrCreateResolver, usePredictResolverAddress, usePredictResolverAddressSuspense, useResolve, useResolveBatch, useResolveBatchSuspense, useResolveSuspense, useResolveWithResolver, useResolveWithResolverSuspense, useResolver, useResolverSuspense, useResolverVersion, useResolverVersionSuspense, useSetResolver, useSetResolverAndRecords, useUpgradeResolver };
|
|
137
|
+
//# sourceMappingURL=resolution.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolution.d.ts","names":[],"sources":["../../src/hooks/resolution.ts"],"mappings":";;;;;;;cAoBa,WAAQ;;;;;;;;;;;UAA8B;;;;;;;;;;;GAAA,cAAA,eAAA,mCAAA;cACtC,mBAAgB;;;;;;;;;;;UAAsC;;;;;;;;;;;GAAA,cAAA,uBAAA;cACtD,cAAW,oCAAA,mBAAA,OAAA,+CAAA,gDAAA,mBAAA,cAAA,eAAA,mCAAA;cACX,sBAAmB,oCAAA,mBAAA,OAAA,uDAAA,gDAAA,mBAAA,cAAA,uBAAA;cACnB,qBAAkB;;;;;;;;;;UAAwC;;;;;;;;;;GAAA,cAAA,eAAA,mCAAA;cAC1D,6BAA0B;;;;;;;;;;UAAgD;;;;;;;;;;GAAA,cAAA,uBAAA;cAC1E,4BAAyB,0BAAA,OAAA,+CAAA,yCAAA,cAAA,eAAA,mCAAA;cACzB,oCAAiC,0BAAA,OAAA,uDAAA,yCAAA,cAAA,uBAAA;cACjC,aAAU;;;iBAA6B;;;UAAA,cAAA,eAAA,mCAAA;cACvC,qBAAkB;;;iBAAqC;;;UAAA,cAAA,uBAAA;cACvD,kBAAe,oCAAA,oBAAA,OAAA,+CAAA,iDAAA,oBAAA,cAAA,eAAA,mCAAA;cACf,0BAAuB,oCAAA,oBAAA,OAAA,uDAAA,iDAAA,oBAAA,cAAA,uBAAA;cACvB,yBAAsB;;;UAAyC;;;GAAA,cAAA,eAAA,mCAAA;cAC/D,iCAA8B;;;UAAiD;;;GAAA,cAAA,uBAAA;cAE/E,oBAAiB,UAAjB,4CAAiB,mDAAA,+CAAA,gBAAA,2CAAA,mDAAA,+CAAA;cACjB,yBAAsB,UAAtB,4CAAsB,wDAAA,oDAAA,gBAAA,2CAAA,wDAAA,oDAAA;cACtB,iBAAc,UAAd,4CAAc,gDAAA,8CAAA,gBAAA,2CAAA,gDAAA,8CAAA;cACd,2BAAwB,UAAxB,4CAAwB,0DAAA,wDAAA,gBAAA,2CAAA,0DAAA,wDAAA;cACxB,qBAAkB,UAAlB,4CAAkB,oDAAA,gDAAA,gBAAA,2CAAA,oDAAA,gDAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { makeMutationHook } from "./use-mutation.js";
|
|
4
|
+
import { makeQueryHook } from "./use-query.js";
|
|
5
|
+
import { makeSuspenseQueryHook } from "./use-suspense-query.js";
|
|
6
|
+
import { createCreateResolverMutationAtom, createGetOrCreateResolverMutationAtom, createSetResolverAndRecordsMutationAtom, createSetResolverMutationAtom, createUpgradeResolverMutationAtom, getAliasAtom, getResolverAtom, getResolverVersionAtom, predictResolverAddressAtom, resolveAtom, resolveBatchAtom, resolveWithResolverAtom } from "../atoms/resolution.js";
|
|
7
|
+
|
|
8
|
+
//#region src/hooks/resolution.ts
|
|
9
|
+
const useAlias = makeQueryHook(getAliasAtom);
|
|
10
|
+
const useAliasSuspense = makeSuspenseQueryHook(getAliasAtom);
|
|
11
|
+
const useResolver = makeQueryHook(getResolverAtom);
|
|
12
|
+
const useResolverSuspense = makeSuspenseQueryHook(getResolverAtom);
|
|
13
|
+
const useResolverVersion = makeQueryHook(getResolverVersionAtom);
|
|
14
|
+
const useResolverVersionSuspense = makeSuspenseQueryHook(getResolverVersionAtom);
|
|
15
|
+
const usePredictResolverAddress = makeQueryHook(predictResolverAddressAtom);
|
|
16
|
+
const usePredictResolverAddressSuspense = makeSuspenseQueryHook(predictResolverAddressAtom);
|
|
17
|
+
const useResolve = makeQueryHook(resolveAtom);
|
|
18
|
+
const useResolveSuspense = makeSuspenseQueryHook(resolveAtom);
|
|
19
|
+
const useResolveBatch = makeQueryHook(resolveBatchAtom);
|
|
20
|
+
const useResolveBatchSuspense = makeSuspenseQueryHook(resolveBatchAtom);
|
|
21
|
+
const useResolveWithResolver = makeQueryHook(resolveWithResolverAtom);
|
|
22
|
+
const useResolveWithResolverSuspense = makeSuspenseQueryHook(resolveWithResolverAtom);
|
|
23
|
+
const useCreateResolver = makeMutationHook(createCreateResolverMutationAtom);
|
|
24
|
+
const useGetOrCreateResolver = makeMutationHook(createGetOrCreateResolverMutationAtom);
|
|
25
|
+
const useSetResolver = makeMutationHook(createSetResolverMutationAtom);
|
|
26
|
+
const useSetResolverAndRecords = makeMutationHook(createSetResolverAndRecordsMutationAtom);
|
|
27
|
+
const useUpgradeResolver = makeMutationHook(createUpgradeResolverMutationAtom);
|
|
28
|
+
|
|
29
|
+
//#endregion
|
|
30
|
+
export { useAlias, useAliasSuspense, useCreateResolver, useGetOrCreateResolver, usePredictResolverAddress, usePredictResolverAddressSuspense, useResolve, useResolveBatch, useResolveBatchSuspense, useResolveSuspense, useResolveWithResolver, useResolveWithResolverSuspense, useResolver, useResolverSuspense, useResolverVersion, useResolverVersionSuspense, useSetResolver, useSetResolverAndRecords, useUpgradeResolver };
|
|
31
|
+
//# sourceMappingURL=resolution.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolution.js","names":[],"sources":["../../src/hooks/resolution.ts"],"sourcesContent":["\"use client\";\n\nimport {\n getAliasAtom,\n getResolverAtom,\n getResolverVersionAtom,\n predictResolverAddressAtom,\n resolveAtom,\n resolveBatchAtom,\n resolveWithResolverAtom,\n createCreateResolverMutationAtom,\n createGetOrCreateResolverMutationAtom,\n createSetResolverMutationAtom,\n createSetResolverAndRecordsMutationAtom,\n createUpgradeResolverMutationAtom,\n} from \"../atoms/resolution.js\";\nimport { makeMutationHook } from \"./use-mutation.js\";\nimport { makeQueryHook } from \"./use-query.js\";\nimport { makeSuspenseQueryHook } from \"./use-suspense-query.js\";\n\nexport const useAlias = makeQueryHook(getAliasAtom);\nexport const useAliasSuspense = makeSuspenseQueryHook(getAliasAtom);\nexport const useResolver = makeQueryHook(getResolverAtom);\nexport const useResolverSuspense = makeSuspenseQueryHook(getResolverAtom);\nexport const useResolverVersion = makeQueryHook(getResolverVersionAtom);\nexport const useResolverVersionSuspense = makeSuspenseQueryHook(getResolverVersionAtom);\nexport const usePredictResolverAddress = makeQueryHook(predictResolverAddressAtom);\nexport const usePredictResolverAddressSuspense = makeSuspenseQueryHook(predictResolverAddressAtom);\nexport const useResolve = makeQueryHook(resolveAtom);\nexport const useResolveSuspense = makeSuspenseQueryHook(resolveAtom);\nexport const useResolveBatch = makeQueryHook(resolveBatchAtom);\nexport const useResolveBatchSuspense = makeSuspenseQueryHook(resolveBatchAtom);\nexport const useResolveWithResolver = makeQueryHook(resolveWithResolverAtom);\nexport const useResolveWithResolverSuspense = makeSuspenseQueryHook(resolveWithResolverAtom);\n\nexport const useCreateResolver = makeMutationHook(createCreateResolverMutationAtom);\nexport const useGetOrCreateResolver = makeMutationHook(createGetOrCreateResolverMutationAtom);\nexport const useSetResolver = makeMutationHook(createSetResolverMutationAtom);\nexport const useSetResolverAndRecords = makeMutationHook(createSetResolverAndRecordsMutationAtom);\nexport const useUpgradeResolver = makeMutationHook(createUpgradeResolverMutationAtom);\n"],"mappings":";;;;;;;;AAoBA,MAAa,WAAW,cAAc,YAAY;AAClD,MAAa,mBAAmB,sBAAsB,YAAY;AAClE,MAAa,cAAc,cAAc,eAAe;AACxD,MAAa,sBAAsB,sBAAsB,eAAe;AACxE,MAAa,qBAAqB,cAAc,sBAAsB;AACtE,MAAa,6BAA6B,sBAAsB,sBAAsB;AACtF,MAAa,4BAA4B,cAAc,0BAA0B;AACjF,MAAa,oCAAoC,sBAAsB,0BAA0B;AACjG,MAAa,aAAa,cAAc,WAAW;AACnD,MAAa,qBAAqB,sBAAsB,WAAW;AACnE,MAAa,kBAAkB,cAAc,gBAAgB;AAC7D,MAAa,0BAA0B,sBAAsB,gBAAgB;AAC7E,MAAa,yBAAyB,cAAc,uBAAuB;AAC3E,MAAa,iCAAiC,sBAAsB,uBAAuB;AAE3F,MAAa,oBAAoB,iBAAiB,gCAAgC;AAClF,MAAa,yBAAyB,iBAAiB,qCAAqC;AAC5F,MAAa,iBAAiB,iBAAiB,6BAA6B;AAC5E,MAAa,2BAA2B,iBAAiB,uCAAuC;AAChG,MAAa,qBAAqB,iBAAiB,iCAAiC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { UseEnsQueryParameters } from "../query/options.js";
|
|
2
|
+
import { EnsSuspenseQueryResult, UseEnsSuspenseQueryParameters } from "./use-suspense-query.js";
|
|
3
|
+
import { EnsQueryResult } from "../query/result.js";
|
|
4
|
+
import { EnsMutationOptions } from "../mutation/options.js";
|
|
5
|
+
import { EnsMutationResult } from "../mutation/result.js";
|
|
6
|
+
import "../index.js";
|
|
7
|
+
//#region src/hooks/reverse.d.ts
|
|
8
|
+
declare const usePrimaryName: <Selected = {
|
|
9
|
+
readonly name: string & import("effect/Brand").Brand<"NormalizedName">;
|
|
10
|
+
readonly match: true;
|
|
11
|
+
} | null>(input: UseEnsQueryParameters<import("@ensforge/core").GetPrimaryNameParameters, {
|
|
12
|
+
readonly name: string & import("effect/Brand").Brand<"NormalizedName">;
|
|
13
|
+
readonly match: true;
|
|
14
|
+
} | null, Selected>) => EnsQueryResult<Selected, import("@ensforge/core").GetPrimaryNameError>;
|
|
15
|
+
declare const usePrimaryNameSuspense: <Selected = {
|
|
16
|
+
readonly name: string & import("effect/Brand").Brand<"NormalizedName">;
|
|
17
|
+
readonly match: true;
|
|
18
|
+
} | null>(input: UseEnsSuspenseQueryParameters<import("@ensforge/core").GetPrimaryNameParameters, {
|
|
19
|
+
readonly name: string & import("effect/Brand").Brand<"NormalizedName">;
|
|
20
|
+
readonly match: true;
|
|
21
|
+
} | null, Selected>) => EnsSuspenseQueryResult<Selected>;
|
|
22
|
+
declare const useClearPrimaryName: (options?: EnsMutationOptions<import("@ensforge/core").ClearPrimaryNameParameters, import("@ensforge/core").CallExecutionResult, import("@ensforge/core").WriteError>) => EnsMutationResult<import("@ensforge/core").ClearPrimaryNameParameters, import("@ensforge/core").CallExecutionResult, import("@ensforge/core").WriteError>;
|
|
23
|
+
declare const useSetContractPrimaryName: (options?: EnsMutationOptions<import("@ensforge/core").SetContractPrimaryNameParameters, import("@ensforge/core").CallExecutionResult, import("@ensforge/core").WriteError>) => EnsMutationResult<import("@ensforge/core").SetContractPrimaryNameParameters, import("@ensforge/core").CallExecutionResult, import("@ensforge/core").WriteError>;
|
|
24
|
+
declare const useSetPrimaryName: (options?: EnsMutationOptions<import("@ensforge/core").SetPrimaryNameParameters, import("@ensforge/core").CallExecutionResult, import("@ensforge/core").WriteError>) => EnsMutationResult<import("@ensforge/core").SetPrimaryNameParameters, import("@ensforge/core").CallExecutionResult, import("@ensforge/core").WriteError>;
|
|
25
|
+
declare const useSetPrimaryNameForAddress: (options?: EnsMutationOptions<import("@ensforge/core").SetPrimaryNameForAddressParameters, import("@ensforge/core").CallExecutionResult, import("@ensforge/core").WriteError>) => EnsMutationResult<import("@ensforge/core").SetPrimaryNameForAddressParameters, import("@ensforge/core").CallExecutionResult, import("@ensforge/core").WriteError>;
|
|
26
|
+
//#endregion
|
|
27
|
+
export { useClearPrimaryName, usePrimaryName, usePrimaryNameSuspense, useSetContractPrimaryName, useSetPrimaryName, useSetPrimaryNameForAddress };
|
|
28
|
+
//# sourceMappingURL=reverse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reverse.d.ts","names":[],"sources":["../../src/hooks/reverse.ts"],"mappings":";;;;;;;cAaa,iBAAc;;;iBAAoC;;;UAAA,cAAA,eAAA,mCAAA;cAClD,yBAAsB;;;iBAA4C;;;UAAA,cAAA,uBAAA;cAElE,sBAAmB,UAAnB,4CAAmB,qDAAA,8CAAA,gBAAA,2CAAA,qDAAA,8CAAA;cACnB,4BAAyB,UAAzB,4CAAyB,2DAAA,8CAAA,gBAAA,2CAAA,2DAAA,8CAAA;cACzB,oBAAiB,UAAjB,4CAAiB,mDAAA,8CAAA,gBAAA,2CAAA,mDAAA,8CAAA;cACjB,8BAA2B,UAA3B,4CAA2B,6DAAA,8CAAA,gBAAA,2CAAA,6DAAA,8CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { makeMutationHook } from "./use-mutation.js";
|
|
4
|
+
import { makeQueryHook } from "./use-query.js";
|
|
5
|
+
import { makeSuspenseQueryHook } from "./use-suspense-query.js";
|
|
6
|
+
import { createClearPrimaryNameMutationAtom, createSetContractPrimaryNameMutationAtom, createSetPrimaryNameForAddressMutationAtom, createSetPrimaryNameMutationAtom, getPrimaryNameAtom } from "../atoms/reverse.js";
|
|
7
|
+
|
|
8
|
+
//#region src/hooks/reverse.ts
|
|
9
|
+
const usePrimaryName = makeQueryHook(getPrimaryNameAtom);
|
|
10
|
+
const usePrimaryNameSuspense = makeSuspenseQueryHook(getPrimaryNameAtom);
|
|
11
|
+
const useClearPrimaryName = makeMutationHook(createClearPrimaryNameMutationAtom);
|
|
12
|
+
const useSetContractPrimaryName = makeMutationHook(createSetContractPrimaryNameMutationAtom);
|
|
13
|
+
const useSetPrimaryName = makeMutationHook(createSetPrimaryNameMutationAtom);
|
|
14
|
+
const useSetPrimaryNameForAddress = makeMutationHook(createSetPrimaryNameForAddressMutationAtom);
|
|
15
|
+
|
|
16
|
+
//#endregion
|
|
17
|
+
export { useClearPrimaryName, usePrimaryName, usePrimaryNameSuspense, useSetContractPrimaryName, useSetPrimaryName, useSetPrimaryNameForAddress };
|
|
18
|
+
//# sourceMappingURL=reverse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reverse.js","names":[],"sources":["../../src/hooks/reverse.ts"],"sourcesContent":["\"use client\";\n\nimport {\n getPrimaryNameAtom,\n createClearPrimaryNameMutationAtom,\n createSetContractPrimaryNameMutationAtom,\n createSetPrimaryNameMutationAtom,\n createSetPrimaryNameForAddressMutationAtom,\n} from \"../atoms/reverse.js\";\nimport { makeMutationHook } from \"./use-mutation.js\";\nimport { makeQueryHook } from \"./use-query.js\";\nimport { makeSuspenseQueryHook } from \"./use-suspense-query.js\";\n\nexport const usePrimaryName = makeQueryHook(getPrimaryNameAtom);\nexport const usePrimaryNameSuspense = makeSuspenseQueryHook(getPrimaryNameAtom);\n\nexport const useClearPrimaryName = makeMutationHook(createClearPrimaryNameMutationAtom);\nexport const useSetContractPrimaryName = makeMutationHook(createSetContractPrimaryNameMutationAtom);\nexport const useSetPrimaryName = makeMutationHook(createSetPrimaryNameMutationAtom);\nexport const useSetPrimaryNameForAddress = makeMutationHook(\n createSetPrimaryNameForAddressMutationAtom,\n);\n"],"mappings":";;;;;;;;AAaA,MAAa,iBAAiB,cAAc,kBAAkB;AAC9D,MAAa,yBAAyB,sBAAsB,kBAAkB;AAE9E,MAAa,sBAAsB,iBAAiB,kCAAkC;AACtF,MAAa,4BAA4B,iBAAiB,wCAAwC;AAClG,MAAa,oBAAoB,iBAAiB,gCAAgC;AAClF,MAAa,8BAA8B,iBACzC,0CACF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { EnsMutationOptions } from "../mutation/options.js";
|
|
2
|
+
import { EnsMutationResult } from "../mutation/result.js";
|
|
3
|
+
import "../index.js";
|
|
4
|
+
//#region src/hooks/subnames.d.ts
|
|
5
|
+
declare const useCreateSubname: (options?: EnsMutationOptions<import("@ensforge/core").CreateSubnameParameters, import("@ensforge/core").CreateSubnameResult, import("@ensforge/core").WriteError>) => EnsMutationResult<import("@ensforge/core").CreateSubnameParameters, import("@ensforge/core").CreateSubnameResult, import("@ensforge/core").WriteError>;
|
|
6
|
+
declare const useDeleteSubname: (options?: EnsMutationOptions<import("@ensforge/core").DeleteSubnameParameters, import("@ensforge/core").CallExecutionResult, import("@ensforge/core").WriteError>) => EnsMutationResult<import("@ensforge/core").DeleteSubnameParameters, import("@ensforge/core").CallExecutionResult, import("@ensforge/core").WriteError>;
|
|
7
|
+
declare const useSetSubnameExpiry: (options?: EnsMutationOptions<import("@ensforge/core").SetSubnameExpiryParameters, import("@ensforge/core").CallExecutionResult, import("@ensforge/core").WriteError>) => EnsMutationResult<import("@ensforge/core").SetSubnameExpiryParameters, import("@ensforge/core").CallExecutionResult, import("@ensforge/core").WriteError>;
|
|
8
|
+
declare const useSetSubnameManager: (options?: EnsMutationOptions<import("@ensforge/core").SetSubnameManagerParameters, import("@ensforge/core").CallExecutionResult, import("@ensforge/core").WriteError>) => EnsMutationResult<import("@ensforge/core").SetSubnameManagerParameters, import("@ensforge/core").CallExecutionResult, import("@ensforge/core").WriteError>;
|
|
9
|
+
declare const useSetSubnameRecord: (options?: EnsMutationOptions<import("@ensforge/core").SetSubnameRecordParameters, import("@ensforge/core").SetSubnameRecordResult, import("@ensforge/core").WriteError>) => EnsMutationResult<import("@ensforge/core").SetSubnameRecordParameters, import("@ensforge/core").SetSubnameRecordResult, import("@ensforge/core").WriteError>;
|
|
10
|
+
declare const useSetSubnameResolver: (options?: EnsMutationOptions<import("@ensforge/core").SetSubnameResolverParameters, import("@ensforge/core").CallExecutionResult, import("@ensforge/core").WriteError>) => EnsMutationResult<import("@ensforge/core").SetSubnameResolverParameters, import("@ensforge/core").CallExecutionResult, import("@ensforge/core").WriteError>;
|
|
11
|
+
declare const useTransferSubname: (options?: EnsMutationOptions<import("@ensforge/core").TransferSubnameParameters, import("@ensforge/core").TransferNameProgress, import("@ensforge/core").WriteError>) => EnsMutationResult<import("@ensforge/core").TransferSubnameParameters, import("@ensforge/core").TransferNameProgress, import("@ensforge/core").WriteError>;
|
|
12
|
+
//#endregion
|
|
13
|
+
export { useCreateSubname, useDeleteSubname, useSetSubnameExpiry, useSetSubnameManager, useSetSubnameRecord, useSetSubnameResolver, useTransferSubname };
|
|
14
|
+
//# sourceMappingURL=subnames.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subnames.d.ts","names":[],"sources":["../../src/hooks/subnames.ts"],"mappings":";;;;cAaa,mBAAgB,UAAhB,4CAAgB,kDAAA,8CAAA,gBAAA,2CAAA,kDAAA,8CAAA;cAChB,mBAAgB,UAAhB,4CAAgB,kDAAA,8CAAA,gBAAA,2CAAA,kDAAA,8CAAA;cAChB,sBAAmB,UAAnB,4CAAmB,qDAAA,8CAAA,gBAAA,2CAAA,qDAAA,8CAAA;cACnB,uBAAoB,UAApB,4CAAoB,sDAAA,8CAAA,gBAAA,2CAAA,sDAAA,8CAAA;cACpB,sBAAmB,UAAnB,4CAAmB,qDAAA,iDAAA,gBAAA,2CAAA,qDAAA,iDAAA;cACnB,wBAAqB,UAArB,4CAAqB,uDAAA,8CAAA,gBAAA,2CAAA,uDAAA,8CAAA;cACrB,qBAAkB,UAAlB,4CAAkB,oDAAA,+CAAA,gBAAA,2CAAA,oDAAA,+CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { makeMutationHook } from "./use-mutation.js";
|
|
4
|
+
import { createCreateSubnameMutationAtom, createDeleteSubnameMutationAtom, createSetSubnameExpiryMutationAtom, createSetSubnameManagerMutationAtom, createSetSubnameRecordMutationAtom, createSetSubnameResolverMutationAtom, createTransferSubnameMutationAtom } from "../atoms/subnames.js";
|
|
5
|
+
|
|
6
|
+
//#region src/hooks/subnames.ts
|
|
7
|
+
const useCreateSubname = makeMutationHook(createCreateSubnameMutationAtom);
|
|
8
|
+
const useDeleteSubname = makeMutationHook(createDeleteSubnameMutationAtom);
|
|
9
|
+
const useSetSubnameExpiry = makeMutationHook(createSetSubnameExpiryMutationAtom);
|
|
10
|
+
const useSetSubnameManager = makeMutationHook(createSetSubnameManagerMutationAtom);
|
|
11
|
+
const useSetSubnameRecord = makeMutationHook(createSetSubnameRecordMutationAtom);
|
|
12
|
+
const useSetSubnameResolver = makeMutationHook(createSetSubnameResolverMutationAtom);
|
|
13
|
+
const useTransferSubname = makeMutationHook(createTransferSubnameMutationAtom);
|
|
14
|
+
|
|
15
|
+
//#endregion
|
|
16
|
+
export { useCreateSubname, useDeleteSubname, useSetSubnameExpiry, useSetSubnameManager, useSetSubnameRecord, useSetSubnameResolver, useTransferSubname };
|
|
17
|
+
//# sourceMappingURL=subnames.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subnames.js","names":[],"sources":["../../src/hooks/subnames.ts"],"sourcesContent":["\"use client\";\n\nimport {\n createCreateSubnameMutationAtom,\n createDeleteSubnameMutationAtom,\n createSetSubnameExpiryMutationAtom,\n createSetSubnameManagerMutationAtom,\n createSetSubnameRecordMutationAtom,\n createSetSubnameResolverMutationAtom,\n createTransferSubnameMutationAtom,\n} from \"../atoms/subnames.js\";\nimport { makeMutationHook } from \"./use-mutation.js\";\n\nexport const useCreateSubname = makeMutationHook(createCreateSubnameMutationAtom);\nexport const useDeleteSubname = makeMutationHook(createDeleteSubnameMutationAtom);\nexport const useSetSubnameExpiry = makeMutationHook(createSetSubnameExpiryMutationAtom);\nexport const useSetSubnameManager = makeMutationHook(createSetSubnameManagerMutationAtom);\nexport const useSetSubnameRecord = makeMutationHook(createSetSubnameRecordMutationAtom);\nexport const useSetSubnameResolver = makeMutationHook(createSetSubnameResolverMutationAtom);\nexport const useTransferSubname = makeMutationHook(createTransferSubnameMutationAtom);\n"],"mappings":";;;;;;AAaA,MAAa,mBAAmB,iBAAiB,+BAA+B;AAChF,MAAa,mBAAmB,iBAAiB,+BAA+B;AAChF,MAAa,sBAAsB,iBAAiB,kCAAkC;AACtF,MAAa,uBAAuB,iBAAiB,mCAAmC;AACxF,MAAa,sBAAsB,iBAAiB,kCAAkC;AACtF,MAAa,wBAAwB,iBAAiB,oCAAoC;AAC1F,MAAa,qBAAqB,iBAAiB,iCAAiC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { EnsforgeInvalidation } from "../cache/invalidation.js";
|
|
2
|
+
import { Effect } from "effect";
|
|
3
|
+
//#region src/hooks/use-cache.d.ts
|
|
4
|
+
interface InvalidateEnsforge {
|
|
5
|
+
(invalidation?: EnsforgeInvalidation, options?: Effect.RunOptions): Promise<void>;
|
|
6
|
+
readonly effect: (invalidation?: EnsforgeInvalidation) => Effect.Effect<void>;
|
|
7
|
+
}
|
|
8
|
+
declare const useInvalidateEnsforge: () => InvalidateEnsforge;
|
|
9
|
+
//#endregion
|
|
10
|
+
export { InvalidateEnsforge, useInvalidateEnsforge };
|
|
11
|
+
//# sourceMappingURL=use-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-cache.d.ts","names":[],"sources":["../../src/hooks/use-cache.ts"],"mappings":";;;UAUiB;GACd,eAAe,sBAAsB,UAAU,OAAO,aAAa;WAC3D,SAAS,eAAe,yBAAyB,OAAO;;cAGtD,6BAA4B"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { invalidateEnsforgeEffect } from "../cache/invalidation.js";
|
|
4
|
+
import { useEnsforgeContext } from "../provider/context.js";
|
|
5
|
+
import { Effect } from "effect";
|
|
6
|
+
import { RegistryContext } from "@effect/atom-react";
|
|
7
|
+
import { useContext } from "react";
|
|
8
|
+
|
|
9
|
+
//#region src/hooks/use-cache.ts
|
|
10
|
+
const useInvalidateEnsforge = () => {
|
|
11
|
+
const registry = useContext(RegistryContext);
|
|
12
|
+
const { sdk } = useEnsforgeContext();
|
|
13
|
+
const effect = (invalidation = { all: true }) => invalidateEnsforgeEffect(registry, sdk, invalidation);
|
|
14
|
+
const invalidate = (invalidation, options) => Effect.runPromise(effect(invalidation), options);
|
|
15
|
+
return Object.assign(invalidate, { effect });
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
//#endregion
|
|
19
|
+
export { useInvalidateEnsforge };
|
|
20
|
+
//# sourceMappingURL=use-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-cache.js","names":[],"sources":["../../src/hooks/use-cache.ts"],"sourcesContent":["\"use client\";\n\nimport { useContext } from \"react\";\n\nimport { RegistryContext } from \"@effect/atom-react\";\nimport { Effect } from \"effect\";\n\nimport { invalidateEnsforgeEffect, type EnsforgeInvalidation } from \"../cache/invalidation.js\";\nimport { useEnsforgeContext } from \"../provider/context.js\";\n\nexport interface InvalidateEnsforge {\n (invalidation?: EnsforgeInvalidation, options?: Effect.RunOptions): Promise<void>;\n readonly effect: (invalidation?: EnsforgeInvalidation) => Effect.Effect<void>;\n}\n\nexport const useInvalidateEnsforge = (): InvalidateEnsforge => {\n const registry = useContext(RegistryContext);\n const { sdk } = useEnsforgeContext();\n const effect = (invalidation: EnsforgeInvalidation = { all: true }) =>\n invalidateEnsforgeEffect(registry, sdk, invalidation);\n const invalidate = (invalidation?: EnsforgeInvalidation, options?: Effect.RunOptions) =>\n Effect.runPromise(effect(invalidation), options);\n\n return Object.assign(invalidate, { effect });\n};\n"],"mappings":";;;;;;;;;AAeA,MAAa,8BAAkD;CAC7D,MAAM,WAAW,WAAW,eAAe;CAC3C,MAAM,EAAE,QAAQ,mBAAmB;CACnC,MAAM,UAAU,eAAqC,EAAE,KAAK,KAAK,MAC/D,yBAAyB,UAAU,KAAK,YAAY;CACtD,MAAM,cAAc,cAAqC,YACvD,OAAO,WAAW,OAAO,YAAY,GAAG,OAAO;CAEjD,OAAO,OAAO,OAAO,YAAY,EAAE,OAAO,CAAC;AAC7C"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { EnsMutationAtomFactory } from "../atoms/mutation.js";
|
|
2
|
+
import { EnsMutationOptions } from "../mutation/options.js";
|
|
3
|
+
import { EnsMutationResult } from "../mutation/result.js";
|
|
4
|
+
//#region src/hooks/use-mutation.d.ts
|
|
5
|
+
declare const makeMutationHook: <Parameters, Success, Failure>(factory: EnsMutationAtomFactory<Parameters, Success, Failure>) => (options?: EnsMutationOptions<Parameters, Success, Failure>) => EnsMutationResult<Parameters, Success, Failure>;
|
|
6
|
+
//#endregion
|
|
7
|
+
export { makeMutationHook };
|
|
8
|
+
//# sourceMappingURL=use-mutation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-mutation.d.ts","names":[],"sources":["../../src/hooks/use-mutation.ts"],"mappings":";;;;cAca,mBACV,YAAY,SAAS,SAAS,SAAS,uBAAuB,YAAY,SAAS,cAElF,UAAS,mBAAmB,YAAY,SAAS,aAChD,kBAAkB,YAAY,SAAS"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useEnsforgeContext } from "../provider/context.js";
|
|
4
|
+
import { errorFromCause } from "../query/result.js";
|
|
5
|
+
import { Cause, Effect, Exit, Option } from "effect";
|
|
6
|
+
import { AsyncResult, Atom, AtomRegistry } from "effect/unstable/reactivity";
|
|
7
|
+
import { RegistryContext, useAtomValue } from "@effect/atom-react";
|
|
8
|
+
import { useContext, useRef, useState } from "react";
|
|
9
|
+
|
|
10
|
+
//#region src/hooks/use-mutation.ts
|
|
11
|
+
const makeMutationHook = (factory) => (options = {}) => {
|
|
12
|
+
const { sdk } = useEnsforgeContext();
|
|
13
|
+
const registry = useContext(RegistryContext);
|
|
14
|
+
const atomRef = useRef(void 0);
|
|
15
|
+
const [parameters, setParameters] = useState(void 0);
|
|
16
|
+
if (atomRef.current === void 0) atomRef.current = factory(sdk);
|
|
17
|
+
const atom = atomRef.current;
|
|
18
|
+
const result = useAtomValue(atom);
|
|
19
|
+
const mutateEffect = (nextParameters) => {
|
|
20
|
+
const effect = Effect.sync(() => {
|
|
21
|
+
setParameters(nextParameters);
|
|
22
|
+
registry.set(atom, nextParameters);
|
|
23
|
+
}).pipe(Effect.andThen(AtomRegistry.getResult(registry, atom, { suspendOnWaiting: true })));
|
|
24
|
+
return options.retry === void 0 || options.retry === false ? effect : effect.pipe(Effect.retry({ times: options.retry }));
|
|
25
|
+
};
|
|
26
|
+
const runCallbacks = (exit, nextParameters, local) => {
|
|
27
|
+
if (Exit.isSuccess(exit)) {
|
|
28
|
+
options.onSuccess?.(exit.value, nextParameters);
|
|
29
|
+
local?.onSuccess?.(exit.value, nextParameters);
|
|
30
|
+
options.onSettled?.(exit.value, null, nextParameters);
|
|
31
|
+
local?.onSettled?.(exit.value, null, nextParameters);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
const error = errorFromCause(exit.cause);
|
|
35
|
+
options.onError?.(error, nextParameters);
|
|
36
|
+
local?.onError?.(error, nextParameters);
|
|
37
|
+
options.onSettled?.(void 0, error, nextParameters);
|
|
38
|
+
local?.onSettled?.(void 0, error, nextParameters);
|
|
39
|
+
};
|
|
40
|
+
const mutate = (nextParameters, callbacks) => {
|
|
41
|
+
Effect.runPromiseExit(mutateEffect(nextParameters)).then((exit) => runCallbacks(exit, nextParameters, callbacks));
|
|
42
|
+
};
|
|
43
|
+
const mutateAsync = async (nextParameters) => {
|
|
44
|
+
const exit = await Effect.runPromiseExit(mutateEffect(nextParameters));
|
|
45
|
+
runCallbacks(exit, nextParameters, void 0);
|
|
46
|
+
if (Exit.isSuccess(exit)) return exit.value;
|
|
47
|
+
throw Cause.squash(exit.cause);
|
|
48
|
+
};
|
|
49
|
+
const cause = Option.getOrNull(AsyncResult.cause(result));
|
|
50
|
+
const data = Option.getOrUndefined(AsyncResult.value(result));
|
|
51
|
+
const isIdle = AsyncResult.isInitial(result) && !result.waiting;
|
|
52
|
+
const isPending = result.waiting;
|
|
53
|
+
const isError = AsyncResult.isFailure(result);
|
|
54
|
+
const isSuccess = AsyncResult.isSuccess(result) && !result.waiting;
|
|
55
|
+
return {
|
|
56
|
+
cause,
|
|
57
|
+
data,
|
|
58
|
+
error: cause === null ? null : errorFromCause(cause),
|
|
59
|
+
interrupt: () => registry.set(atom, Atom.Interrupt),
|
|
60
|
+
isError,
|
|
61
|
+
isIdle,
|
|
62
|
+
isPending,
|
|
63
|
+
isSuccess,
|
|
64
|
+
mutate,
|
|
65
|
+
mutateAsync,
|
|
66
|
+
mutateEffect,
|
|
67
|
+
parameters,
|
|
68
|
+
reset: () => {
|
|
69
|
+
setParameters(void 0);
|
|
70
|
+
registry.set(atom, Atom.Reset);
|
|
71
|
+
},
|
|
72
|
+
result,
|
|
73
|
+
status: isPending ? "pending" : isError ? "error" : isSuccess ? "success" : "idle"
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
//#endregion
|
|
78
|
+
export { makeMutationHook };
|
|
79
|
+
//# sourceMappingURL=use-mutation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-mutation.js","names":[],"sources":["../../src/hooks/use-mutation.ts"],"sourcesContent":["\"use client\";\n\nimport { useContext, useRef, useState } from \"react\";\n\nimport { RegistryContext, useAtomValue } from \"@effect/atom-react\";\nimport { Cause, Effect, Exit, Option } from \"effect\";\nimport { AsyncResult, Atom, AtomRegistry } from \"effect/unstable/reactivity\";\n\nimport type { EnsMutationAtomFactory } from \"../atoms/mutation.js\";\nimport type { EnsMutationCallbacks, EnsMutationOptions } from \"../mutation/options.js\";\nimport type { EnsMutationResult } from \"../mutation/result.js\";\nimport { useEnsforgeContext } from \"../provider/context.js\";\nimport { errorFromCause } from \"../query/result.js\";\n\nexport const makeMutationHook =\n <Parameters, Success, Failure>(factory: EnsMutationAtomFactory<Parameters, Success, Failure>) =>\n (\n options: EnsMutationOptions<Parameters, Success, Failure> = {},\n ): EnsMutationResult<Parameters, Success, Failure> => {\n const { sdk } = useEnsforgeContext();\n const registry = useContext(RegistryContext);\n const atomRef = useRef<ReturnType<typeof factory> | undefined>(undefined);\n const [parameters, setParameters] = useState<Parameters | undefined>(undefined);\n if (atomRef.current === undefined) atomRef.current = factory(sdk);\n const atom = atomRef.current;\n const result = useAtomValue(atom);\n\n const mutateEffect = (nextParameters: Parameters): Effect.Effect<Success, Failure> => {\n const effect = Effect.sync(() => {\n setParameters(nextParameters);\n registry.set(atom, nextParameters);\n }).pipe(\n Effect.andThen(\n AtomRegistry.getResult(registry, atom, {\n suspendOnWaiting: true,\n }),\n ),\n );\n return options.retry === undefined || options.retry === false\n ? effect\n : effect.pipe(Effect.retry({ times: options.retry }));\n };\n\n const runCallbacks = (\n exit: Exit.Exit<Success, Failure>,\n nextParameters: Parameters,\n local: EnsMutationCallbacks<Parameters, Success, Failure> | undefined,\n ) => {\n if (Exit.isSuccess(exit)) {\n options.onSuccess?.(exit.value, nextParameters);\n local?.onSuccess?.(exit.value, nextParameters);\n options.onSettled?.(exit.value, null, nextParameters);\n local?.onSettled?.(exit.value, null, nextParameters);\n return;\n }\n\n const error = errorFromCause(exit.cause);\n options.onError?.(error, nextParameters);\n local?.onError?.(error, nextParameters);\n options.onSettled?.(undefined, error, nextParameters);\n local?.onSettled?.(undefined, error, nextParameters);\n };\n\n const mutate = (\n nextParameters: Parameters,\n callbacks?: EnsMutationCallbacks<Parameters, Success, Failure>,\n ) => {\n void Effect.runPromiseExit(mutateEffect(nextParameters)).then((exit) =>\n runCallbacks(exit, nextParameters, callbacks),\n );\n };\n\n const mutateAsync = async (nextParameters: Parameters): Promise<Success> => {\n const exit = await Effect.runPromiseExit(mutateEffect(nextParameters));\n runCallbacks(exit, nextParameters, undefined);\n if (Exit.isSuccess(exit)) return exit.value;\n throw Cause.squash(exit.cause);\n };\n\n const cause = Option.getOrNull(AsyncResult.cause(result));\n const data = Option.getOrUndefined(AsyncResult.value(result));\n const isIdle = AsyncResult.isInitial(result) && !result.waiting;\n const isPending = result.waiting;\n const isError = AsyncResult.isFailure(result);\n const isSuccess = AsyncResult.isSuccess(result) && !result.waiting;\n\n return {\n cause,\n data,\n error: cause === null ? null : errorFromCause(cause),\n interrupt: () => registry.set(atom, Atom.Interrupt),\n isError,\n isIdle,\n isPending,\n isSuccess,\n mutate,\n mutateAsync,\n mutateEffect,\n parameters,\n reset: () => {\n setParameters(undefined);\n registry.set(atom, Atom.Reset);\n },\n result,\n status: isPending ? \"pending\" : isError ? \"error\" : isSuccess ? \"success\" : \"idle\",\n };\n };\n"],"mappings":";;;;;;;;;;AAcA,MAAa,oBACoB,aAE7B,UAA4D,CAAC,MACT;CACpD,MAAM,EAAE,QAAQ,mBAAmB;CACnC,MAAM,WAAW,WAAW,eAAe;CAC3C,MAAM,UAAU,OAA+C,MAAS;CACxE,MAAM,CAAC,YAAY,iBAAiB,SAAiC,MAAS;CAC9E,IAAI,QAAQ,YAAY,QAAW,QAAQ,UAAU,QAAQ,GAAG;CAChE,MAAM,OAAO,QAAQ;CACrB,MAAM,SAAS,aAAa,IAAI;CAEhC,MAAM,gBAAgB,mBAAgE;EACpF,MAAM,SAAS,OAAO,WAAW;GAC/B,cAAc,cAAc;GAC5B,SAAS,IAAI,MAAM,cAAc;EACnC,CAAC,CAAC,CAAC,KACD,OAAO,QACL,aAAa,UAAU,UAAU,MAAM,EACrC,kBAAkB,KACpB,CAAC,CACH,CACF;EACA,OAAO,QAAQ,UAAU,UAAa,QAAQ,UAAU,QACpD,SACA,OAAO,KAAK,OAAO,MAAM,EAAE,OAAO,QAAQ,MAAM,CAAC,CAAC;CACxD;CAEA,MAAM,gBACJ,MACA,gBACA,UACG;EACH,IAAI,KAAK,UAAU,IAAI,GAAG;GACxB,QAAQ,YAAY,KAAK,OAAO,cAAc;GAC9C,OAAO,YAAY,KAAK,OAAO,cAAc;GAC7C,QAAQ,YAAY,KAAK,OAAO,MAAM,cAAc;GACpD,OAAO,YAAY,KAAK,OAAO,MAAM,cAAc;GACnD;EACF;EAEA,MAAM,QAAQ,eAAe,KAAK,KAAK;EACvC,QAAQ,UAAU,OAAO,cAAc;EACvC,OAAO,UAAU,OAAO,cAAc;EACtC,QAAQ,YAAY,QAAW,OAAO,cAAc;EACpD,OAAO,YAAY,QAAW,OAAO,cAAc;CACrD;CAEA,MAAM,UACJ,gBACA,cACG;EACH,AAAK,OAAO,eAAe,aAAa,cAAc,CAAC,CAAC,CAAC,MAAM,SAC7D,aAAa,MAAM,gBAAgB,SAAS,CAC9C;CACF;CAEA,MAAM,cAAc,OAAO,mBAAiD;EAC1E,MAAM,OAAO,MAAM,OAAO,eAAe,aAAa,cAAc,CAAC;EACrE,aAAa,MAAM,gBAAgB,MAAS;EAC5C,IAAI,KAAK,UAAU,IAAI,GAAG,OAAO,KAAK;EACtC,MAAM,MAAM,OAAO,KAAK,KAAK;CAC/B;CAEA,MAAM,QAAQ,OAAO,UAAU,YAAY,MAAM,MAAM,CAAC;CACxD,MAAM,OAAO,OAAO,eAAe,YAAY,MAAM,MAAM,CAAC;CAC5D,MAAM,SAAS,YAAY,UAAU,MAAM,KAAK,CAAC,OAAO;CACxD,MAAM,YAAY,OAAO;CACzB,MAAM,UAAU,YAAY,UAAU,MAAM;CAC5C,MAAM,YAAY,YAAY,UAAU,MAAM,KAAK,CAAC,OAAO;CAE3D,OAAO;EACL;EACA;EACA,OAAO,UAAU,OAAO,OAAO,eAAe,KAAK;EACnD,iBAAiB,SAAS,IAAI,MAAM,KAAK,SAAS;EAClD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,aAAa;GACX,cAAc,MAAS;GACvB,SAAS,IAAI,MAAM,KAAK,KAAK;EAC/B;EACA;EACA,QAAQ,YAAY,YAAY,UAAU,UAAU,YAAY,YAAY;CAC9E;AACF"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { EnsQueryAtomFactory } from "../atoms/query.js";
|
|
2
|
+
import { UseEnsQueryParameters } from "../query/options.js";
|
|
3
|
+
import { EnsQueryResult } from "../query/result.js";
|
|
4
|
+
import { AsyncResult, Atom, AtomRegistry } from "effect/unstable/reactivity";
|
|
5
|
+
//#region src/hooks/use-query.d.ts
|
|
6
|
+
declare const makeQueryHook: <Parameters extends object, Success, Failure>(factory: EnsQueryAtomFactory<Parameters, Success, Failure>) => <Selected = Success>(input: UseEnsQueryParameters<Parameters, Success, Selected>) => EnsQueryResult<Selected, Failure>;
|
|
7
|
+
declare const prefetchQueryAtom: <Success, Failure>(registry: AtomRegistry.AtomRegistry, atom: Atom.Atom<AsyncResult.AsyncResult<Success, Failure>>, signal?: AbortSignal) => Promise<Success>;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { makeQueryHook, prefetchQueryAtom };
|
|
10
|
+
//# sourceMappingURL=use-query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-query.d.ts","names":[],"sources":["../../src/hooks/use-query.ts"],"mappings":";;;;;cAiGa,gBACV,2BAA2B,SAAS,SACnC,SAAS,oBAAoB,YAAY,SAAS,cAEnD,WAAW,SACV,OAAO,sBAAsB,YAAY,SAAS,cACjD,eAAe,UAAU;cAGjB,oBAAqB,SAAS,SACzC,UAAU,aAAa,cACvB,MAAM,KAAK,KAAK,YAAY,YAAY,SAAS,WACjD,SAAS,gBACR,QAAQ"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useEnsforgeContext } from "../provider/context.js";
|
|
4
|
+
import { errorFromCause, resultUpdatedAt } from "../query/result.js";
|
|
5
|
+
import { resolveEnsQueryOptions } from "../query/options.js";
|
|
6
|
+
import { Effect, Option } from "effect";
|
|
7
|
+
import { AsyncResult, Atom, AtomRegistry } from "effect/unstable/reactivity";
|
|
8
|
+
import { RegistryContext, useAtomValue } from "@effect/atom-react";
|
|
9
|
+
import { useContext, useEffect, useRef } from "react";
|
|
10
|
+
|
|
11
|
+
//#region src/hooks/use-query.ts
|
|
12
|
+
const disabledAtom = Atom.make(AsyncResult.initial());
|
|
13
|
+
const splitQueryParameters = (input) => {
|
|
14
|
+
const { query, ...parameters } = input;
|
|
15
|
+
return [parameters, query];
|
|
16
|
+
};
|
|
17
|
+
const useQueryAtom = (factory, input) => {
|
|
18
|
+
const { defaults, sdk } = useEnsforgeContext();
|
|
19
|
+
const registry = useContext(RegistryContext);
|
|
20
|
+
const [parameters, query] = splitQueryParameters(input);
|
|
21
|
+
const options = resolveEnsQueryOptions(defaults.queries, query);
|
|
22
|
+
const enabled = query?.enabled ?? true;
|
|
23
|
+
const atom = factory(sdk, parameters, options);
|
|
24
|
+
const rawResult = useAtomValue(enabled ? atom : disabledAtom);
|
|
25
|
+
const result = query?.select === void 0 ? rawResult : AsyncResult.map(rawResult, query.select);
|
|
26
|
+
const staleCheckedAtom = useRef(void 0);
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
if (staleCheckedAtom.current === atom) return;
|
|
29
|
+
staleCheckedAtom.current = atom;
|
|
30
|
+
if (!enabled || !AsyncResult.isSuccess(rawResult)) return;
|
|
31
|
+
if (Date.now() - rawResult.timestamp >= options.staleTime) registry.refresh(atom);
|
|
32
|
+
}, [
|
|
33
|
+
atom,
|
|
34
|
+
enabled,
|
|
35
|
+
options.staleTime,
|
|
36
|
+
rawResult,
|
|
37
|
+
registry
|
|
38
|
+
]);
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
if (!enabled || options.refetchInterval === false) return;
|
|
41
|
+
const interval = globalThis.setInterval(() => registry.refresh(atom), options.refetchInterval);
|
|
42
|
+
return () => globalThis.clearInterval(interval);
|
|
43
|
+
}, [
|
|
44
|
+
atom,
|
|
45
|
+
enabled,
|
|
46
|
+
options.refetchInterval,
|
|
47
|
+
registry
|
|
48
|
+
]);
|
|
49
|
+
const refetchEffect = () => {
|
|
50
|
+
const effect = Effect.sync(() => registry.refresh(atom)).pipe(Effect.andThen(AtomRegistry.getResult(registry, atom, { suspendOnWaiting: true })));
|
|
51
|
+
return query?.select === void 0 ? effect : effect.pipe(Effect.map(query.select));
|
|
52
|
+
};
|
|
53
|
+
const cause = Option.getOrNull(AsyncResult.cause(result));
|
|
54
|
+
const data = Option.getOrUndefined(AsyncResult.value(result));
|
|
55
|
+
const isPending = AsyncResult.isInitial(result);
|
|
56
|
+
const isError = AsyncResult.isFailure(result);
|
|
57
|
+
const isSuccess = AsyncResult.isSuccess(result);
|
|
58
|
+
return {
|
|
59
|
+
cause,
|
|
60
|
+
data,
|
|
61
|
+
error: cause === null ? null : errorFromCause(cause),
|
|
62
|
+
fetchStatus: result.waiting ? "fetching" : "idle",
|
|
63
|
+
isError,
|
|
64
|
+
isFetching: result.waiting,
|
|
65
|
+
isLoading: isPending && result.waiting,
|
|
66
|
+
isPending,
|
|
67
|
+
isRefetching: !isPending && result.waiting,
|
|
68
|
+
isSuccess,
|
|
69
|
+
refetch: () => Effect.runPromise(refetchEffect()),
|
|
70
|
+
refetchEffect,
|
|
71
|
+
result,
|
|
72
|
+
status: isPending ? "pending" : isError ? "error" : "success",
|
|
73
|
+
updatedAt: resultUpdatedAt(result)
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
const makeQueryHook = (factory) => (input) => useQueryAtom(factory, input);
|
|
77
|
+
const prefetchQueryAtom = (registry, atom, signal) => Effect.runPromise(AtomRegistry.getResult(registry, atom, { suspendOnWaiting: true }), { signal });
|
|
78
|
+
|
|
79
|
+
//#endregion
|
|
80
|
+
export { makeQueryHook, prefetchQueryAtom, useQueryAtom };
|
|
81
|
+
//# sourceMappingURL=use-query.js.map
|