web3bio-profile-kit 0.1.2 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/README.md +14 -6
  2. package/dist/hooks/index.cjs +21 -0
  3. package/dist/hooks/index.js +8 -0
  4. package/dist/hooks/useBaseQuery.cjs +129 -0
  5. package/dist/{types/hooks → hooks}/useBaseQuery.d.ts +1 -2
  6. package/dist/hooks/useBaseQuery.js +127 -0
  7. package/dist/hooks/useBatchNS.cjs +25 -0
  8. package/dist/{types/hooks → hooks}/useBatchNS.d.ts +1 -1
  9. package/dist/hooks/useBatchNS.js +23 -0
  10. package/dist/hooks/useBatchProfile.cjs +25 -0
  11. package/dist/{types/hooks → hooks}/useBatchProfile.d.ts +1 -1
  12. package/dist/hooks/useBatchProfile.js +23 -0
  13. package/dist/hooks/useDomain.cjs +28 -0
  14. package/dist/{types/hooks → hooks}/useDomain.d.ts +1 -1
  15. package/dist/hooks/useDomain.js +26 -0
  16. package/dist/hooks/useNS.cjs +28 -0
  17. package/dist/{types/hooks → hooks}/useNS.d.ts +1 -1
  18. package/dist/hooks/useNS.js +26 -0
  19. package/dist/hooks/useProfile.cjs +28 -0
  20. package/dist/{types/hooks → hooks}/useProfile.d.ts +1 -1
  21. package/dist/hooks/useProfile.js +26 -0
  22. package/dist/hooks/useUniversalNS.cjs +28 -0
  23. package/dist/{types/hooks → hooks}/useUniversalNS.d.ts +1 -1
  24. package/dist/hooks/useUniversalNS.js +26 -0
  25. package/dist/hooks/useUniversalProfile.cjs +28 -0
  26. package/dist/{types/hooks → hooks}/useUniversalProfile.d.ts +1 -1
  27. package/dist/hooks/useUniversalProfile.js +26 -0
  28. package/dist/index.cjs +71 -0
  29. package/dist/index.d.ts +3 -247
  30. package/dist/index.js +18 -425
  31. package/dist/types/cointype.cjs +29 -0
  32. package/dist/types/cointype.d.ts +26 -0
  33. package/dist/types/cointype.js +29 -0
  34. package/dist/types/hook.cjs +38 -0
  35. package/dist/types/hook.d.ts +195 -0
  36. package/dist/types/hook.js +38 -0
  37. package/dist/types/index.cjs +38 -0
  38. package/dist/types/index.d.ts +5 -3
  39. package/dist/types/index.js +5 -0
  40. package/dist/types/network.cjs +41 -0
  41. package/dist/types/network.d.ts +55 -0
  42. package/dist/types/network.js +41 -0
  43. package/dist/types/platform.cjs +110 -0
  44. package/dist/types/platform.d.ts +122 -0
  45. package/dist/types/platform.js +110 -0
  46. package/dist/types/source.cjs +44 -0
  47. package/dist/types/source.d.ts +49 -0
  48. package/dist/types/source.js +44 -0
  49. package/dist/utils/helpers.cjs +119 -0
  50. package/dist/{types/utils → utils}/helpers.d.ts +4 -3
  51. package/dist/utils/helpers.js +112 -0
  52. package/dist/utils/index.cjs +27 -0
  53. package/dist/utils/index.d.ts +6 -0
  54. package/dist/utils/index.js +6 -0
  55. package/dist/utils/network.cjs +355 -0
  56. package/dist/utils/network.d.ts +4 -0
  57. package/dist/utils/network.js +353 -0
  58. package/dist/utils/platform.cjs +983 -0
  59. package/dist/utils/platform.d.ts +18 -0
  60. package/dist/utils/platform.js +979 -0
  61. package/dist/utils/regex.cjs +34 -0
  62. package/dist/utils/regex.d.ts +30 -0
  63. package/dist/utils/regex.js +32 -0
  64. package/dist/utils/source.cjs +144 -0
  65. package/dist/utils/source.d.ts +2 -0
  66. package/dist/utils/source.js +142 -0
  67. package/package.json +32 -12
  68. package/dist/index.esm.js +0 -415
  69. package/dist/index.esm.js.map +0 -1
  70. package/dist/index.js.map +0 -1
  71. package/dist/types/utils/constants.d.ts +0 -36
  72. package/dist/types/utils/types.d.ts +0 -102
  73. /package/dist/{types/hooks → hooks}/index.d.ts +0 -0
  74. /package/dist/{types/setupTests.d.ts → setupTests.d.ts} +0 -0
package/README.md CHANGED
@@ -41,7 +41,7 @@ VITE_WEB3BIO_API_KEY=your_api_key
41
41
  #### Platform-Specific Profile Queries
42
42
 
43
43
  ```jsx
44
- import { useProfile } from 'web3bio-profile-kit';
44
+ import { useProfile } from "web3bio-profile-kit";
45
45
 
46
46
  function ProfileComponent() {
47
47
  // Query with explicit platform format
@@ -69,7 +69,7 @@ function ProfileComponent() {
69
69
  #### Universal Profile Queries
70
70
 
71
71
  ```jsx
72
- import { useUniversalProfile } from 'web3bio-profile-kit';
72
+ import { useUniversalProfile } from "web3bio-profile-kit";
73
73
 
74
74
  function UniversalProfileComponent() {
75
75
  // Query by any identity format - ENS domain, Farcaster handle, etc.
@@ -97,7 +97,7 @@ function UniversalProfileComponent() {
97
97
  #### Platform-Specific Name Service Queries
98
98
 
99
99
  ```jsx
100
- import { useNS } from 'web3bio-profile-kit';
100
+ import { useNS } from "web3bio-profile-kit";
101
101
 
102
102
  function NameServiceComponent() {
103
103
  const { data, isLoading } = useNS("ens,vitalik.eth");
@@ -116,7 +116,7 @@ function NameServiceComponent() {
116
116
  #### Universal Name Service Queries
117
117
 
118
118
  ```jsx
119
- import { useUniversalNS } from 'web3bio-profile-kit';
119
+ import { useUniversalNS } from "web3bio-profile-kit";
120
120
 
121
121
  function UniversalNameServiceComponent() {
122
122
  // Works with any identity format
@@ -136,7 +136,7 @@ function UniversalNameServiceComponent() {
136
136
  ### Query Domain Data
137
137
 
138
138
  ```jsx
139
- import { useDomain } from 'web3bio-profile-kit';
139
+ import { useDomain } from "web3bio-profile-kit";
140
140
 
141
141
  function DomainComponent() {
142
142
  const { data, isLoading } = useDomain("vitalik.eth");
@@ -156,7 +156,7 @@ function DomainComponent() {
156
156
  ### Batch Profile Query
157
157
 
158
158
  ```jsx
159
- import { useBatchProfile } from 'web3bio-profile-kit';
159
+ import { useBatchProfile } from "web3bio-profile-kit";
160
160
 
161
161
  function BatchProfileComponent() {
162
162
  const { data, isLoading } = useBatchProfile([
@@ -234,6 +234,14 @@ Fetches basic universal name service data across multiple platforms.
234
234
 
235
235
  Fetches detailed domain information including resolution data.
236
236
 
237
+ #### `useBatchProfile(identity, options?)`
238
+
239
+ Fetches comprehensive profile data for multiple identities in a single request.
240
+
241
+ #### `useBatchNS(identity, options?)`
242
+
243
+ Fetches basic name service data for multiple identities in a single request.
244
+
237
245
  ### Arguments
238
246
 
239
247
  | Parameter | Type | Description |
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ var useProfile = require('./useProfile.cjs');
4
+ var useNS = require('./useNS.cjs');
5
+ var useUniversalProfile = require('./useUniversalProfile.cjs');
6
+ var useUniversalNS = require('./useUniversalNS.cjs');
7
+ var useBatchProfile = require('./useBatchProfile.cjs');
8
+ var useBatchNS = require('./useBatchNS.cjs');
9
+ var useDomain = require('./useDomain.cjs');
10
+ var useBaseQuery = require('./useBaseQuery.cjs');
11
+
12
+
13
+
14
+ exports.useProfile = useProfile.useProfile;
15
+ exports.useNS = useNS.useNS;
16
+ exports.useUniversalProfile = useUniversalProfile.useUniversalProfile;
17
+ exports.useUniversalNS = useUniversalNS.useUniversalNS;
18
+ exports.useBatchProfile = useBatchProfile.useBatchProfile;
19
+ exports.useBatchNS = useBatchNS.useBatchNS;
20
+ exports.useDomain = useDomain.useDomain;
21
+ exports.useBaseQuery = useBaseQuery.useBaseQuery;
@@ -0,0 +1,8 @@
1
+ export { useProfile } from './useProfile.js';
2
+ export { useNS } from './useNS.js';
3
+ export { useUniversalProfile } from './useUniversalProfile.js';
4
+ export { useUniversalNS } from './useUniversalNS.js';
5
+ export { useBatchProfile } from './useBatchProfile.js';
6
+ export { useBatchNS } from './useBatchNS.js';
7
+ export { useDomain } from './useDomain.js';
8
+ export { useBaseQuery } from './useBaseQuery.js';
@@ -0,0 +1,129 @@
1
+ 'use strict';
2
+
3
+ require('../types/platform.cjs');
4
+ require('../types/network.cjs');
5
+ var hook = require('../types/hook.cjs');
6
+ require('../types/source.cjs');
7
+ require('../types/cointype.cjs');
8
+ var react = require('react');
9
+ var helpers = require('../utils/helpers.cjs');
10
+ require('../utils/network.cjs');
11
+ require('../utils/platform.cjs');
12
+ require('../utils/source.cjs');
13
+
14
+ /**
15
+ * Constructs the API URL based on query parameters
16
+ */
17
+ const buildApiUrl = (identity, endpoint, universal) => {
18
+ // Handle batch requests
19
+ if (Array.isArray(identity)) {
20
+ return `${helpers.API_ENDPOINT}/${endpoint}/batch/${encodeURIComponent(JSON.stringify(identity))}`;
21
+ }
22
+ // Handle universal queries
23
+ if (universal) {
24
+ return `${helpers.API_ENDPOINT}/${endpoint}/${identity}`;
25
+ }
26
+ // Handle platform-specific queries
27
+ const resolvedId = helpers.resolveIdentity(identity);
28
+ if (!resolvedId)
29
+ return null;
30
+ // Domain endpoint uses resolved ID directly
31
+ if (endpoint === hook.QueryEndpoint.DOMAIN) {
32
+ return `${helpers.API_ENDPOINT}/${endpoint}/${resolvedId}`;
33
+ }
34
+ // Other endpoints need platform/handle split
35
+ const [platform, handle] = resolvedId.split(",");
36
+ return `${helpers.API_ENDPOINT}/${endpoint}/${platform}/${handle}`;
37
+ };
38
+ // Generate a stable cache key for this request
39
+ const getCacheKey = (identity, endpoint, universal) => {
40
+ return JSON.stringify({
41
+ identity,
42
+ endpoint,
43
+ universal,
44
+ });
45
+ };
46
+ // Create a cache to store results across component instances and re-renders
47
+ const globalRequestCache = new Map();
48
+ /**
49
+ * Core hook for querying Web3.bio Profile API
50
+ */
51
+ function useBaseQuery(identity, endpoint, universal = false, options = {}) {
52
+ const { apiKey: userApiKey, enabled = true } = options;
53
+ const apiKey = helpers.getApiKey(userApiKey);
54
+ const [data, setData] = react.useState(() => {
55
+ // Initialize state from cache if available
56
+ const cacheKey = getCacheKey(identity, endpoint, universal);
57
+ return globalRequestCache.get(cacheKey) || null;
58
+ });
59
+ const [isLoading, setIsLoading] = react.useState(false);
60
+ const [error, setError] = react.useState(null);
61
+ // Use ref to track in-flight requests and prevent race conditions
62
+ const requestIdRef = react.useRef(0);
63
+ const prevParamsRef = react.useRef("");
64
+ // Current request parameters as a string for comparison
65
+ const currentParams = JSON.stringify({
66
+ identity,
67
+ endpoint,
68
+ universal,
69
+ });
70
+ react.useEffect(() => {
71
+ // Don't run the query if disabled or no identity
72
+ if (!enabled || !identity)
73
+ return;
74
+ // Skip if parameters haven't changed
75
+ if (currentParams === prevParamsRef.current && data !== null) {
76
+ return;
77
+ }
78
+ // Update previous parameters
79
+ prevParamsRef.current = currentParams;
80
+ // Generate cache key
81
+ const cacheKey = getCacheKey(identity, endpoint, universal);
82
+ // Check if we already have cached data
83
+ const cachedData = globalRequestCache.get(cacheKey);
84
+ if (cachedData) {
85
+ setData(cachedData);
86
+ return;
87
+ }
88
+ // Increment request ID to track the latest request
89
+ const requestId = ++requestIdRef.current;
90
+ setIsLoading(true);
91
+ setError(null);
92
+ const fetchData = async () => {
93
+ try {
94
+ const url = buildApiUrl(identity, endpoint, universal);
95
+ if (!url) {
96
+ throw new Error(hook.ErrorMessages.INVALID_IDENTITY);
97
+ }
98
+ const headers = apiKey ? { "x-api-key": apiKey } : {};
99
+ const fetchOptions = {
100
+ method: "GET",
101
+ headers,
102
+ };
103
+ const response = await fetch(url, fetchOptions);
104
+ if (!response.ok) {
105
+ throw new Error(`API error: ${response.status}`);
106
+ }
107
+ const responseData = await response.json();
108
+ if (responseData === null || responseData === void 0 ? void 0 : responseData.error) {
109
+ throw new Error(responseData.error);
110
+ }
111
+ if (requestId === requestIdRef.current) {
112
+ globalRequestCache.set(cacheKey, responseData);
113
+ setData(responseData);
114
+ setIsLoading(false);
115
+ }
116
+ }
117
+ catch (err) {
118
+ if (requestId === requestIdRef.current) {
119
+ setError(err instanceof Error ? err : new Error(String(err)));
120
+ setIsLoading(false);
121
+ }
122
+ }
123
+ };
124
+ fetchData();
125
+ }, [currentParams, enabled]);
126
+ return { data, isLoading, error };
127
+ }
128
+
129
+ exports.useBaseQuery = useBaseQuery;
@@ -1,5 +1,4 @@
1
- import type { IdentityString, QueryOptions, QueryResult } from "../utils/types";
2
- import { QueryEndpoint } from "../utils/constants";
1
+ import { type IdentityString, type QueryOptions, type QueryResult, QueryEndpoint } from "../types";
3
2
  /**
4
3
  * Core hook for querying Web3.bio Profile API
5
4
  */
@@ -0,0 +1,127 @@
1
+ import '../types/platform.js';
2
+ import '../types/network.js';
3
+ import { ErrorMessages, QueryEndpoint } from '../types/hook.js';
4
+ import '../types/source.js';
5
+ import '../types/cointype.js';
6
+ import { useState, useRef, useEffect } from 'react';
7
+ import { getApiKey, API_ENDPOINT, resolveIdentity } from '../utils/helpers.js';
8
+ import '../utils/network.js';
9
+ import '../utils/platform.js';
10
+ import '../utils/source.js';
11
+
12
+ /**
13
+ * Constructs the API URL based on query parameters
14
+ */
15
+ const buildApiUrl = (identity, endpoint, universal) => {
16
+ // Handle batch requests
17
+ if (Array.isArray(identity)) {
18
+ return `${API_ENDPOINT}/${endpoint}/batch/${encodeURIComponent(JSON.stringify(identity))}`;
19
+ }
20
+ // Handle universal queries
21
+ if (universal) {
22
+ return `${API_ENDPOINT}/${endpoint}/${identity}`;
23
+ }
24
+ // Handle platform-specific queries
25
+ const resolvedId = resolveIdentity(identity);
26
+ if (!resolvedId)
27
+ return null;
28
+ // Domain endpoint uses resolved ID directly
29
+ if (endpoint === QueryEndpoint.DOMAIN) {
30
+ return `${API_ENDPOINT}/${endpoint}/${resolvedId}`;
31
+ }
32
+ // Other endpoints need platform/handle split
33
+ const [platform, handle] = resolvedId.split(",");
34
+ return `${API_ENDPOINT}/${endpoint}/${platform}/${handle}`;
35
+ };
36
+ // Generate a stable cache key for this request
37
+ const getCacheKey = (identity, endpoint, universal) => {
38
+ return JSON.stringify({
39
+ identity,
40
+ endpoint,
41
+ universal,
42
+ });
43
+ };
44
+ // Create a cache to store results across component instances and re-renders
45
+ const globalRequestCache = new Map();
46
+ /**
47
+ * Core hook for querying Web3.bio Profile API
48
+ */
49
+ function useBaseQuery(identity, endpoint, universal = false, options = {}) {
50
+ const { apiKey: userApiKey, enabled = true } = options;
51
+ const apiKey = getApiKey(userApiKey);
52
+ const [data, setData] = useState(() => {
53
+ // Initialize state from cache if available
54
+ const cacheKey = getCacheKey(identity, endpoint, universal);
55
+ return globalRequestCache.get(cacheKey) || null;
56
+ });
57
+ const [isLoading, setIsLoading] = useState(false);
58
+ const [error, setError] = useState(null);
59
+ // Use ref to track in-flight requests and prevent race conditions
60
+ const requestIdRef = useRef(0);
61
+ const prevParamsRef = useRef("");
62
+ // Current request parameters as a string for comparison
63
+ const currentParams = JSON.stringify({
64
+ identity,
65
+ endpoint,
66
+ universal,
67
+ });
68
+ useEffect(() => {
69
+ // Don't run the query if disabled or no identity
70
+ if (!enabled || !identity)
71
+ return;
72
+ // Skip if parameters haven't changed
73
+ if (currentParams === prevParamsRef.current && data !== null) {
74
+ return;
75
+ }
76
+ // Update previous parameters
77
+ prevParamsRef.current = currentParams;
78
+ // Generate cache key
79
+ const cacheKey = getCacheKey(identity, endpoint, universal);
80
+ // Check if we already have cached data
81
+ const cachedData = globalRequestCache.get(cacheKey);
82
+ if (cachedData) {
83
+ setData(cachedData);
84
+ return;
85
+ }
86
+ // Increment request ID to track the latest request
87
+ const requestId = ++requestIdRef.current;
88
+ setIsLoading(true);
89
+ setError(null);
90
+ const fetchData = async () => {
91
+ try {
92
+ const url = buildApiUrl(identity, endpoint, universal);
93
+ if (!url) {
94
+ throw new Error(ErrorMessages.INVALID_IDENTITY);
95
+ }
96
+ const headers = apiKey ? { "x-api-key": apiKey } : {};
97
+ const fetchOptions = {
98
+ method: "GET",
99
+ headers,
100
+ };
101
+ const response = await fetch(url, fetchOptions);
102
+ if (!response.ok) {
103
+ throw new Error(`API error: ${response.status}`);
104
+ }
105
+ const responseData = await response.json();
106
+ if (responseData === null || responseData === void 0 ? void 0 : responseData.error) {
107
+ throw new Error(responseData.error);
108
+ }
109
+ if (requestId === requestIdRef.current) {
110
+ globalRequestCache.set(cacheKey, responseData);
111
+ setData(responseData);
112
+ setIsLoading(false);
113
+ }
114
+ }
115
+ catch (err) {
116
+ if (requestId === requestIdRef.current) {
117
+ setError(err instanceof Error ? err : new Error(String(err)));
118
+ setIsLoading(false);
119
+ }
120
+ }
121
+ };
122
+ fetchData();
123
+ }, [currentParams, enabled]);
124
+ return { data, isLoading, error };
125
+ }
126
+
127
+ export { useBaseQuery };
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ require('../types/platform.cjs');
4
+ require('../types/network.cjs');
5
+ var hook = require('../types/hook.cjs');
6
+ require('../types/source.cjs');
7
+ require('../types/cointype.cjs');
8
+ var useBaseQuery = require('./useBaseQuery.cjs');
9
+
10
+ /**
11
+ * Hook to query Web3.bio profile data using batch(NS) identity lookup
12
+ *
13
+ * @param identity - array of Identity string
14
+ * @param options - Optional configuration options
15
+ * @returns Object containing profile data, loading state, and any errors
16
+ *
17
+ * @example
18
+ * // Query by any identity type with batch lookup
19
+ * const { data } = useBatchNS(["dwr.farcaster","ens,vitalik.eth","sujiyan.eth","stani.lens"]);
20
+ */
21
+ function useBatchNS(identity, options = {}) {
22
+ return useBaseQuery.useBaseQuery(identity, hook.QueryEndpoint.NS, false, options);
23
+ }
24
+
25
+ exports.useBatchNS = useBatchNS;
@@ -1,4 +1,4 @@
1
- import type { IdentityString, NSBatchResult, QueryOptions } from "../utils/types";
1
+ import { type IdentityString, type NSBatchResult, type QueryOptions } from "../types";
2
2
  /**
3
3
  * Hook to query Web3.bio profile data using batch(NS) identity lookup
4
4
  *
@@ -0,0 +1,23 @@
1
+ import '../types/platform.js';
2
+ import '../types/network.js';
3
+ import { QueryEndpoint } from '../types/hook.js';
4
+ import '../types/source.js';
5
+ import '../types/cointype.js';
6
+ import { useBaseQuery } from './useBaseQuery.js';
7
+
8
+ /**
9
+ * Hook to query Web3.bio profile data using batch(NS) identity lookup
10
+ *
11
+ * @param identity - array of Identity string
12
+ * @param options - Optional configuration options
13
+ * @returns Object containing profile data, loading state, and any errors
14
+ *
15
+ * @example
16
+ * // Query by any identity type with batch lookup
17
+ * const { data } = useBatchNS(["dwr.farcaster","ens,vitalik.eth","sujiyan.eth","stani.lens"]);
18
+ */
19
+ function useBatchNS(identity, options = {}) {
20
+ return useBaseQuery(identity, QueryEndpoint.NS, false, options);
21
+ }
22
+
23
+ export { useBatchNS };
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ require('../types/platform.cjs');
4
+ require('../types/network.cjs');
5
+ var hook = require('../types/hook.cjs');
6
+ require('../types/source.cjs');
7
+ require('../types/cointype.cjs');
8
+ var useBaseQuery = require('./useBaseQuery.cjs');
9
+
10
+ /**
11
+ * Hook to query Web3.bio profile data using batch identity lookup
12
+ *
13
+ * @param identity - array of Identity string
14
+ * @param options - Optional configuration options
15
+ * @returns Object containing profile data, loading state, and any errors
16
+ *
17
+ * @example
18
+ * // Query by any identity type with batch lookup
19
+ * const { data } = useBatchProfile(["dwr.farcaster","ens,vitalik.eth","sujiyan.eth","stani.lens"]);
20
+ */
21
+ function useBatchProfile(identity, options = {}) {
22
+ return useBaseQuery.useBaseQuery(identity, hook.QueryEndpoint.PROFILE, false, options);
23
+ }
24
+
25
+ exports.useBatchProfile = useBatchProfile;
@@ -1,4 +1,4 @@
1
- import type { IdentityString, ProfileBatchResult, QueryOptions } from "../utils/types";
1
+ import { type IdentityString, type ProfileBatchResult, type QueryOptions } from "../types";
2
2
  /**
3
3
  * Hook to query Web3.bio profile data using batch identity lookup
4
4
  *
@@ -0,0 +1,23 @@
1
+ import '../types/platform.js';
2
+ import '../types/network.js';
3
+ import { QueryEndpoint } from '../types/hook.js';
4
+ import '../types/source.js';
5
+ import '../types/cointype.js';
6
+ import { useBaseQuery } from './useBaseQuery.js';
7
+
8
+ /**
9
+ * Hook to query Web3.bio profile data using batch identity lookup
10
+ *
11
+ * @param identity - array of Identity string
12
+ * @param options - Optional configuration options
13
+ * @returns Object containing profile data, loading state, and any errors
14
+ *
15
+ * @example
16
+ * // Query by any identity type with batch lookup
17
+ * const { data } = useBatchProfile(["dwr.farcaster","ens,vitalik.eth","sujiyan.eth","stani.lens"]);
18
+ */
19
+ function useBatchProfile(identity, options = {}) {
20
+ return useBaseQuery(identity, QueryEndpoint.PROFILE, false, options);
21
+ }
22
+
23
+ export { useBatchProfile };
@@ -0,0 +1,28 @@
1
+ 'use strict';
2
+
3
+ require('../types/platform.cjs');
4
+ require('../types/network.cjs');
5
+ var hook = require('../types/hook.cjs');
6
+ require('../types/source.cjs');
7
+ require('../types/cointype.cjs');
8
+ var useBaseQuery = require('./useBaseQuery.cjs');
9
+
10
+ /**
11
+ * Hook to query Web3.bio domain data by identity
12
+ *
13
+ * @param identity - Identity string
14
+ * @param options - Optional configuration options
15
+ * @returns Object containing domain data, loading state, and any errors
16
+ *
17
+ * @example
18
+ * // Query by ENS name
19
+ * const { data, isLoading, error } = useDomain("vitalik.eth");
20
+ *
21
+ * // Query by domain name with platform
22
+ * const { data } = useDomain("ens,vitalik.eth");
23
+ */
24
+ function useDomain(identity, options = {}) {
25
+ return useBaseQuery.useBaseQuery(identity, hook.QueryEndpoint.DOMAIN, false, options);
26
+ }
27
+
28
+ exports.useDomain = useDomain;
@@ -1,4 +1,4 @@
1
- import type { DomainResult, IdentityString, QueryOptions } from "../utils/types";
1
+ import { type DomainResult, type IdentityString, type QueryOptions } from "../types";
2
2
  /**
3
3
  * Hook to query Web3.bio domain data by identity
4
4
  *
@@ -0,0 +1,26 @@
1
+ import '../types/platform.js';
2
+ import '../types/network.js';
3
+ import { QueryEndpoint } from '../types/hook.js';
4
+ import '../types/source.js';
5
+ import '../types/cointype.js';
6
+ import { useBaseQuery } from './useBaseQuery.js';
7
+
8
+ /**
9
+ * Hook to query Web3.bio domain data by identity
10
+ *
11
+ * @param identity - Identity string
12
+ * @param options - Optional configuration options
13
+ * @returns Object containing domain data, loading state, and any errors
14
+ *
15
+ * @example
16
+ * // Query by ENS name
17
+ * const { data, isLoading, error } = useDomain("vitalik.eth");
18
+ *
19
+ * // Query by domain name with platform
20
+ * const { data } = useDomain("ens,vitalik.eth");
21
+ */
22
+ function useDomain(identity, options = {}) {
23
+ return useBaseQuery(identity, QueryEndpoint.DOMAIN, false, options);
24
+ }
25
+
26
+ export { useDomain };
@@ -0,0 +1,28 @@
1
+ 'use strict';
2
+
3
+ require('../types/platform.cjs');
4
+ require('../types/network.cjs');
5
+ var hook = require('../types/hook.cjs');
6
+ require('../types/source.cjs');
7
+ require('../types/cointype.cjs');
8
+ var useBaseQuery = require('./useBaseQuery.cjs');
9
+
10
+ /**
11
+ * Hook to query Web3.bio name service (NS) data by identity
12
+ *
13
+ * @param identity - Identity string
14
+ * @param options - Optional configuration options
15
+ * @returns Object containing NS data, loading state, and any errors
16
+ *
17
+ * @example
18
+ * // Query by ENS name
19
+ * const { data, isLoading, error } = useNS("vitalik.eth");
20
+ *
21
+ * // Query by Ethereum address
22
+ * const { data } = useNS("0x123...");
23
+ */
24
+ function useNS(identity, options = {}) {
25
+ return useBaseQuery.useBaseQuery(identity, hook.QueryEndpoint.NS, false, options);
26
+ }
27
+
28
+ exports.useNS = useNS;
@@ -1,4 +1,4 @@
1
- import type { QueryOptions, IdentityString, NSResult } from "../utils/types";
1
+ import { type QueryOptions, type IdentityString, type NSResult } from "../types";
2
2
  /**
3
3
  * Hook to query Web3.bio name service (NS) data by identity
4
4
  *
@@ -0,0 +1,26 @@
1
+ import '../types/platform.js';
2
+ import '../types/network.js';
3
+ import { QueryEndpoint } from '../types/hook.js';
4
+ import '../types/source.js';
5
+ import '../types/cointype.js';
6
+ import { useBaseQuery } from './useBaseQuery.js';
7
+
8
+ /**
9
+ * Hook to query Web3.bio name service (NS) data by identity
10
+ *
11
+ * @param identity - Identity string
12
+ * @param options - Optional configuration options
13
+ * @returns Object containing NS data, loading state, and any errors
14
+ *
15
+ * @example
16
+ * // Query by ENS name
17
+ * const { data, isLoading, error } = useNS("vitalik.eth");
18
+ *
19
+ * // Query by Ethereum address
20
+ * const { data } = useNS("0x123...");
21
+ */
22
+ function useNS(identity, options = {}) {
23
+ return useBaseQuery(identity, QueryEndpoint.NS, false, options);
24
+ }
25
+
26
+ export { useNS };
@@ -0,0 +1,28 @@
1
+ 'use strict';
2
+
3
+ require('../types/platform.cjs');
4
+ require('../types/network.cjs');
5
+ var hook = require('../types/hook.cjs');
6
+ require('../types/source.cjs');
7
+ require('../types/cointype.cjs');
8
+ var useBaseQuery = require('./useBaseQuery.cjs');
9
+
10
+ /**
11
+ * Hook to query Web3.bio profile data by identity
12
+ *
13
+ * @param identity - Identity string
14
+ * @param options - Optional configuration options
15
+ * @returns Object containing profile data, loading state, and any errors
16
+ *
17
+ * @example
18
+ * // Query by ENS name
19
+ * const { data, isLoading, error } = useProfile("vitalik.eth");
20
+ *
21
+ * // Query with platform specification
22
+ * const { data } = useProfile("farcaster,dwr");
23
+ */
24
+ function useProfile(identity, options = {}) {
25
+ return useBaseQuery.useBaseQuery(identity, hook.QueryEndpoint.PROFILE, false, options);
26
+ }
27
+
28
+ exports.useProfile = useProfile;
@@ -1,4 +1,4 @@
1
- import type { IdentityString, ProfileResult, QueryOptions } from "../utils/types";
1
+ import { type IdentityString, type ProfileResult, type QueryOptions } from "../types";
2
2
  /**
3
3
  * Hook to query Web3.bio profile data by identity
4
4
  *
@@ -0,0 +1,26 @@
1
+ import '../types/platform.js';
2
+ import '../types/network.js';
3
+ import { QueryEndpoint } from '../types/hook.js';
4
+ import '../types/source.js';
5
+ import '../types/cointype.js';
6
+ import { useBaseQuery } from './useBaseQuery.js';
7
+
8
+ /**
9
+ * Hook to query Web3.bio profile data by identity
10
+ *
11
+ * @param identity - Identity string
12
+ * @param options - Optional configuration options
13
+ * @returns Object containing profile data, loading state, and any errors
14
+ *
15
+ * @example
16
+ * // Query by ENS name
17
+ * const { data, isLoading, error } = useProfile("vitalik.eth");
18
+ *
19
+ * // Query with platform specification
20
+ * const { data } = useProfile("farcaster,dwr");
21
+ */
22
+ function useProfile(identity, options = {}) {
23
+ return useBaseQuery(identity, QueryEndpoint.PROFILE, false, options);
24
+ }
25
+
26
+ export { useProfile };