@sudobility/shapeshyft_client 0.0.33 → 0.0.36
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useProviders.d.ts","sourceRoot":"","sources":["../../src/hooks/useProviders.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,aAAa,EACb,cAAc,EAEf,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"useProviders.d.ts","sourceRoot":"","sources":["../../src/hooks/useProviders.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,aAAa,EACb,cAAc,EAEf,MAAM,8BAA8B,CAAC;AAWtC,MAAM,WAAW,kBAAkB;IAEjC,SAAS,EAAE,cAAc,EAAE,CAAC;IAE5B,kBAAkB,EAAE,OAAO,CAAC;IAE5B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAC9B;AAKD,MAAM,WAAW,uBAAuB;IAEtC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IAEhC,MAAM,EAAE,SAAS,EAAE,CAAC;IAEpB,SAAS,EAAE,OAAO,CAAC;IAEnB,UAAU,EAAE,OAAO,CAAC;IAEpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAMD,eAAO,MAAM,YAAY,GACvB,eAAe,aAAa,EAC5B,SAAS,MAAM,EACf,WAAU,OAAe,KACxB,kBA8BF,CAAC;AAMF,eAAO,MAAM,iBAAiB,GAC5B,eAAe,aAAa,EAC5B,SAAS,MAAM,EACf,UAAU,WAAW,GAAG,IAAI,EAC5B,WAAU,OAAe,KACxB,uBAsCF,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { useQuery } from '@tanstack/react-query';
|
|
2
|
-
import { useMemo } from 'react';
|
|
1
|
+
import { keepPreviousData, useQuery } from '@tanstack/react-query';
|
|
2
|
+
import { useMemo, useRef } from 'react';
|
|
3
3
|
import { ShapeshyftClient } from '../network/ShapeshyftClient';
|
|
4
4
|
import { QUERY_KEYS } from '../types';
|
|
5
|
+
const EMPTY_PROVIDERS = [];
|
|
6
|
+
const EMPTY_MODELS = [];
|
|
5
7
|
export const useProviders = (networkClient, baseUrl, testMode = false) => {
|
|
6
8
|
const client = useMemo(() => new ShapeshyftClient({ baseUrl, networkClient, testMode }), [baseUrl, networkClient, testMode]);
|
|
7
9
|
const { data, isLoading: isLoadingProviders, error, refetch, } = useQuery({
|
|
@@ -17,7 +19,7 @@ export const useProviders = (networkClient, baseUrl, testMode = false) => {
|
|
|
17
19
|
gcTime: 30 * 60 * 1000,
|
|
18
20
|
});
|
|
19
21
|
return {
|
|
20
|
-
providers: data ??
|
|
22
|
+
providers: data ?? EMPTY_PROVIDERS,
|
|
21
23
|
isLoadingProviders,
|
|
22
24
|
providersError: error instanceof Error ? error.message : null,
|
|
23
25
|
refetchProviders: refetch,
|
|
@@ -25,7 +27,11 @@ export const useProviders = (networkClient, baseUrl, testMode = false) => {
|
|
|
25
27
|
};
|
|
26
28
|
export const useProviderModels = (networkClient, baseUrl, provider, testMode = false) => {
|
|
27
29
|
const client = useMemo(() => new ShapeshyftClient({ baseUrl, networkClient, testMode }), [baseUrl, networkClient, testMode]);
|
|
28
|
-
const
|
|
30
|
+
const lastProviderRef = useRef(null);
|
|
31
|
+
if (provider) {
|
|
32
|
+
lastProviderRef.current = provider;
|
|
33
|
+
}
|
|
34
|
+
const { data, isLoading, isFetching, error, refetch } = useQuery({
|
|
29
35
|
queryKey: QUERY_KEYS.providerModels(provider ?? ''),
|
|
30
36
|
queryFn: async () => {
|
|
31
37
|
if (!provider) {
|
|
@@ -40,11 +46,13 @@ export const useProviderModels = (networkClient, baseUrl, provider, testMode = f
|
|
|
40
46
|
enabled: !!provider,
|
|
41
47
|
staleTime: 5 * 60 * 1000,
|
|
42
48
|
gcTime: 30 * 60 * 1000,
|
|
49
|
+
placeholderData: keepPreviousData,
|
|
43
50
|
});
|
|
44
51
|
return {
|
|
45
52
|
provider: data?.provider ?? null,
|
|
46
|
-
models: data?.models ??
|
|
53
|
+
models: data?.models ?? EMPTY_MODELS,
|
|
47
54
|
isLoading,
|
|
55
|
+
isFetching,
|
|
48
56
|
error: error instanceof Error ? error.message : null,
|
|
49
57
|
refetch,
|
|
50
58
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useProviders.js","sourceRoot":"","sources":["../../src/hooks/useProviders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"useProviders.js","sourceRoot":"","sources":["../../src/hooks/useProviders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAQxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAGtC,MAAM,eAAe,GAAqB,EAAE,CAAC;AAC7C,MAAM,YAAY,GAAgB,EAAE,CAAC;AAsCrC,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,aAA4B,EAC5B,OAAe,EACf,WAAoB,KAAK,EACL,EAAE;IACtB,MAAM,MAAM,GAAG,OAAO,CACpB,GAAG,EAAE,CAAC,IAAI,gBAAgB,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,EAChE,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,CACnC,CAAC;IAEF,MAAM,EACJ,IAAI,EACJ,SAAS,EAAE,kBAAkB,EAC7B,KAAK,EACL,OAAO,GACR,GAAG,QAAQ,CAAC;QACX,QAAQ,EAAE,UAAU,CAAC,SAAS,EAAE;QAChC,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC;YAC7C,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,2BAA2B,CAAC,CAAC;YACjE,CAAC;YACD,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;QACxB,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;KACvB,CAAC,CAAC;IAEH,OAAO;QACL,SAAS,EAAE,IAAI,IAAI,eAAe;QAClC,kBAAkB;QAClB,cAAc,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;QAC7D,gBAAgB,EAAE,OAAO;KAC1B,CAAC;AACJ,CAAC,CAAC;AAMF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,aAA4B,EAC5B,OAAe,EACf,QAA4B,EAC5B,WAAoB,KAAK,EACA,EAAE;IAC3B,MAAM,MAAM,GAAG,OAAO,CACpB,GAAG,EAAE,CAAC,IAAI,gBAAgB,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,EAChE,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,CACnC,CAAC;IAGF,MAAM,eAAe,GAAG,MAAM,CAAqB,IAAI,CAAC,CAAC;IACzD,IAAI,QAAQ,EAAE,CAAC;QACb,eAAe,CAAC,OAAO,GAAG,QAAQ,CAAC;IACrC,CAAC;IAED,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;QAC/D,QAAQ,EAAE,UAAU,CAAC,cAAc,CAAC,QAAQ,IAAI,EAAE,CAAC;QACnD,OAAO,EAAE,KAAK,IAAqC,EAAE;YACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;YAC1C,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC1D,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACxC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,iCAAiC,CAAC,CAAC;YACvE,CAAC;YACD,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,OAAO,EAAE,CAAC,CAAC,QAAQ;QACnB,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI;QACxB,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;QACtB,eAAe,EAAE,gBAAgB;KAClC,CAAC,CAAC;IAEH,OAAO;QACL,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,IAAI;QAChC,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,YAAY;QACpC,SAAS;QACT,UAAU;QACV,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;QACpD,OAAO;KACR,CAAC;AACJ,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sudobility/shapeshyft_client",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.36",
|
|
4
4
|
"description": "React client library for ShapeShyft API with TanStack Query hooks",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"author": "John Huang",
|
|
36
36
|
"license": "MIT",
|
|
37
37
|
"peerDependencies": {
|
|
38
|
-
"@sudobility/shapeshyft_types": "^1.0.
|
|
38
|
+
"@sudobility/shapeshyft_types": "^1.0.31",
|
|
39
39
|
"@sudobility/types": "^1.9.44",
|
|
40
40
|
"@tanstack/react-query": ">=5.0.0",
|
|
41
41
|
"react": ">=18.0.0"
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@eslint/js": "^9.39.2",
|
|
45
45
|
"@sudobility/di": "^1.5.18",
|
|
46
|
-
"@sudobility/shapeshyft_types": "^1.0.
|
|
46
|
+
"@sudobility/shapeshyft_types": "^1.0.31",
|
|
47
47
|
"@sudobility/types": "^1.9.44",
|
|
48
48
|
"@tanstack/react-query": "^5.90.5",
|
|
49
49
|
"@testing-library/dom": "^10.4.1",
|