Compare commits

..

No commits in common. "1f5999b2d17d1d3569736006b4a5fad923690c0a" and "a50920d70e84c8be20e574d605330e060d23b2cb" have entirely different histories.

3 changed files with 100 additions and 126 deletions

View File

@ -1,11 +1,5 @@
# @warkypublic/zustandsyncstore
## 0.0.8
### Patch Changes
- cdcb5c2: Fixed memo of options in GridlerAPIAdaptor
## 0.0.7
### Patch Changes

View File

@ -1,7 +1,7 @@
{
"name": "@warkypublic/oranguru",
"author": "Warky Devs",
"version": "0.0.8",
"version": "0.0.7",
"type": "module",
"scripts": {
"dev": "vite",

View File

@ -1,5 +1,5 @@
/* eslint-disable @typescript-eslint/no-explicit-any */
import React, { useCallback, useEffect } from 'react';
import React, { useEffect } from 'react';
import type { APIOptions } from '../../utils/types';
@ -20,8 +20,7 @@ function _GlidlerAPIAdaptorForGoLangv2<T = unknown>(props: GlidlerAPIAdaptorForG
s.mounted,
]);
const useAPIQuery: (index: number) => Promise<any> = useCallback(
async (index: number) => {
const useAPIQuery: (index: number) => Promise<any> = async (index: number) => {
const colSort = getState('colSort');
const pageSize = getState('pageSize');
const colFilters = getState('colFilters');
@ -68,21 +67,14 @@ function _GlidlerAPIAdaptorForGoLangv2<T = unknown>(props: GlidlerAPIAdaptorForG
r.controller?.abort?.();
}
});
if (
_active_requests &&
currentRequestIndex >= 0 &&
_active_requests[currentRequestIndex]
) {
if (_active_requests && currentRequestIndex >= 0 && _active_requests[currentRequestIndex]) {
//console.log(`Already queued ${index}`, index, s._active_requests);
setState('loadingData', false);
return undefined;
}
const controller = new AbortController();
await setStateFN('_active_requests', (cv) => [
...(cv ?? []),
{ controller, page: index },
]);
await setStateFN('_active_requests', (cv) => [...(cv ?? []), { controller, page: index }]);
const res = await fetch(
`${props.url}?x-limit=${String(pageSize ?? 50)}&x-offset=${String((pageSize ?? 50) * index)}`,
@ -115,12 +107,9 @@ function _GlidlerAPIAdaptorForGoLangv2<T = unknown>(props: GlidlerAPIAdaptorForG
}
setState('loadingData', false);
return [];
},
[getState, props.authtoken, props.url, props.options, setState, setStateFN, addError]
);
};
const askAPIRowNumber: (key: string) => Promise<number> = useCallback(
async (key: string) => {
const askAPIRowNumber: (key: string) => Promise<number> = async (key: string) => {
const colFilters = getState('colFilters');
//console.log('APIAdaptorGoLangv2', { _active_requests, index, pageSize, props });
@ -141,13 +130,6 @@ function _GlidlerAPIAdaptorForGoLangv2<T = unknown>(props: GlidlerAPIAdaptorForG
});
}
if (props.options && props.options.length > 0) {
const optionHeaders = GoAPIHeaders(props.options);
for (const oh in optionHeaders) {
head.set(oh, optionHeaders[oh]);
}
}
const controller = new AbortController();
const res = await fetch(`${props.url}?x-fetch-rownumber=${key}}`, {
@ -164,14 +146,12 @@ function _GlidlerAPIAdaptorForGoLangv2<T = unknown>(props: GlidlerAPIAdaptorForG
addError(`${res.status} ${res.statusText}`, 'api', props.url);
}
return [];
},
[props.url, props.authtoken, props.options, getState, addError]
);
};
useEffect(() => {
setState('useAPIQuery', useAPIQuery);
setState('askAPIRowNumber', askAPIRowNumber);
}, [props.url, props.authtoken, props.options, mounted, setState]);
}, [props.url, props.authtoken, mounted, setState]);
return <></>;
}