diff --git a/docs/framework/react/adapter.md b/docs/framework/react/adapter.md index 50ff90d28..a9b1dcb0e 100644 --- a/docs/framework/react/adapter.md +++ b/docs/framework/react/adapter.md @@ -13,7 +13,7 @@ npm install @tanstack/react-pacer ## React Hooks -See the [React Functions Reference](../reference/index.md) to see the full list of hooks available in the React Adapter. +See the [React Functions Reference](./reference/index.md) to see the full list of hooks available in the React Adapter. ## Basic Usage diff --git a/docs/framework/react/reference/functions/PacerProvider.md b/docs/framework/react/reference/functions/PacerProvider.md index 26851b1f1..8e1b3e876 100644 --- a/docs/framework/react/reference/functions/PacerProvider.md +++ b/docs/framework/react/reference/functions/PacerProvider.md @@ -15,7 +15,7 @@ Defined in: [react-pacer/src/provider/PacerProvider.tsx:44](https://github.com/T ### \_\_namedParameters -[`PacerProviderProps`](../../interfaces/PacerProviderProps.md) +[`PacerProviderProps`](../interfaces/PacerProviderProps.md) ## Returns diff --git a/docs/framework/react/reference/functions/useAsyncBatcher.md b/docs/framework/react/reference/functions/useAsyncBatcher.md index fd89ee84b..61a6eda84 100644 --- a/docs/framework/react/reference/functions/useAsyncBatcher.md +++ b/docs/framework/react/reference/functions/useAsyncBatcher.md @@ -96,7 +96,7 @@ Available state properties: ## Returns -[`ReactAsyncBatcher`](../../interfaces/ReactAsyncBatcher.md)\<`TValue`, `TSelected`\> +[`ReactAsyncBatcher`](../interfaces/ReactAsyncBatcher.md)\<`TValue`, `TSelected`\> ## Example diff --git a/docs/framework/react/reference/functions/useAsyncDebouncer.md b/docs/framework/react/reference/functions/useAsyncDebouncer.md index a643db891..409869010 100644 --- a/docs/framework/react/reference/functions/useAsyncDebouncer.md +++ b/docs/framework/react/reference/functions/useAsyncDebouncer.md @@ -86,7 +86,7 @@ Available state properties: ## Returns -[`ReactAsyncDebouncer`](../../interfaces/ReactAsyncDebouncer.md)\<`TFn`, `TSelected`\> +[`ReactAsyncDebouncer`](../interfaces/ReactAsyncDebouncer.md)\<`TFn`, `TSelected`\> ## Example diff --git a/docs/framework/react/reference/functions/useAsyncQueuedState.md b/docs/framework/react/reference/functions/useAsyncQueuedState.md index f5f791c65..3cc3e7a68 100644 --- a/docs/framework/react/reference/functions/useAsyncQueuedState.md +++ b/docs/framework/react/reference/functions/useAsyncQueuedState.md @@ -88,7 +88,7 @@ Available async queuer state properties: ## Returns -\[`TValue`[], [`ReactAsyncQueuer`](../../interfaces/ReactAsyncQueuer.md)\<`TValue`, `TSelected`\>\] +\[`TValue`[], [`ReactAsyncQueuer`](../interfaces/ReactAsyncQueuer.md)\<`TValue`, `TSelected`\>\] ## Example diff --git a/docs/framework/react/reference/functions/useAsyncQueuer.md b/docs/framework/react/reference/functions/useAsyncQueuer.md index ba0e09ff3..9f8f8fd13 100644 --- a/docs/framework/react/reference/functions/useAsyncQueuer.md +++ b/docs/framework/react/reference/functions/useAsyncQueuer.md @@ -91,7 +91,7 @@ Available state properties: ## Returns -[`ReactAsyncQueuer`](../../interfaces/ReactAsyncQueuer.md)\<`TValue`, `TSelected`\> +[`ReactAsyncQueuer`](../interfaces/ReactAsyncQueuer.md)\<`TValue`, `TSelected`\> ## Example diff --git a/docs/framework/react/reference/functions/useAsyncRateLimiter.md b/docs/framework/react/reference/functions/useAsyncRateLimiter.md index 25f6ef1d9..ab77b5b3a 100644 --- a/docs/framework/react/reference/functions/useAsyncRateLimiter.md +++ b/docs/framework/react/reference/functions/useAsyncRateLimiter.md @@ -88,7 +88,7 @@ Available state properties: ## Returns -[`ReactAsyncRateLimiter`](../../interfaces/ReactAsyncRateLimiter.md)\<`TFn`, `TSelected`\> +[`ReactAsyncRateLimiter`](../interfaces/ReactAsyncRateLimiter.md)\<`TFn`, `TSelected`\> ## Example diff --git a/docs/framework/react/reference/functions/useAsyncThrottler.md b/docs/framework/react/reference/functions/useAsyncThrottler.md index c8f657457..ec39e3438 100644 --- a/docs/framework/react/reference/functions/useAsyncThrottler.md +++ b/docs/framework/react/reference/functions/useAsyncThrottler.md @@ -84,7 +84,7 @@ Available state properties: ## Returns -[`ReactAsyncThrottler`](../../interfaces/ReactAsyncThrottler.md)\<`TFn`, `TSelected`\> +[`ReactAsyncThrottler`](../interfaces/ReactAsyncThrottler.md)\<`TFn`, `TSelected`\> ## Example diff --git a/docs/framework/react/reference/functions/useBatcher.md b/docs/framework/react/reference/functions/useBatcher.md index 049f57670..3317b825e 100644 --- a/docs/framework/react/reference/functions/useBatcher.md +++ b/docs/framework/react/reference/functions/useBatcher.md @@ -73,7 +73,7 @@ Available state properties: ## Returns -[`ReactBatcher`](../../interfaces/ReactBatcher.md)\<`TValue`, `TSelected`\> +[`ReactBatcher`](../interfaces/ReactBatcher.md)\<`TValue`, `TSelected`\> ## Example diff --git a/docs/framework/react/reference/functions/useDebouncedState.md b/docs/framework/react/reference/functions/useDebouncedState.md index d2f37dcec..1b1d26e83 100644 --- a/docs/framework/react/reference/functions/useDebouncedState.md +++ b/docs/framework/react/reference/functions/useDebouncedState.md @@ -71,7 +71,7 @@ Available debouncer state properties: ## Returns -\[`TValue`, `Dispatch`\<`SetStateAction`\<`TValue`\>\>, [`ReactDebouncer`](../../interfaces/ReactDebouncer.md)\<`Dispatch`\<`SetStateAction`\<`TValue`\>\>, `TSelected`\>\] +\[`TValue`, `Dispatch`\<`SetStateAction`\<`TValue`\>\>, [`ReactDebouncer`](../interfaces/ReactDebouncer.md)\<`Dispatch`\<`SetStateAction`\<`TValue`\>\>, `TSelected`\>\] ## Example diff --git a/docs/framework/react/reference/functions/useDebouncedValue.md b/docs/framework/react/reference/functions/useDebouncedValue.md index fe0f40cf3..fe3be8eae 100644 --- a/docs/framework/react/reference/functions/useDebouncedValue.md +++ b/docs/framework/react/reference/functions/useDebouncedValue.md @@ -74,7 +74,7 @@ Available debouncer state properties: ## Returns -\[`TValue`, [`ReactDebouncer`](../../interfaces/ReactDebouncer.md)\<`Dispatch`\<`SetStateAction`\<`TValue`\>\>, `TSelected`\>\] +\[`TValue`, [`ReactDebouncer`](../interfaces/ReactDebouncer.md)\<`Dispatch`\<`SetStateAction`\<`TValue`\>\>, `TSelected`\>\] ## Example diff --git a/docs/framework/react/reference/functions/useDebouncer.md b/docs/framework/react/reference/functions/useDebouncer.md index 93043136a..e7a3ab52b 100644 --- a/docs/framework/react/reference/functions/useDebouncer.md +++ b/docs/framework/react/reference/functions/useDebouncer.md @@ -73,7 +73,7 @@ Available state properties: ## Returns -[`ReactDebouncer`](../../interfaces/ReactDebouncer.md)\<`TFn`, `TSelected`\> +[`ReactDebouncer`](../interfaces/ReactDebouncer.md)\<`TFn`, `TSelected`\> ## Example diff --git a/docs/framework/react/reference/functions/useDefaultPacerOptions.md b/docs/framework/react/reference/functions/useDefaultPacerOptions.md index a8d3e101f..09bc4240a 100644 --- a/docs/framework/react/reference/functions/useDefaultPacerOptions.md +++ b/docs/framework/react/reference/functions/useDefaultPacerOptions.md @@ -13,4 +13,4 @@ Defined in: [react-pacer/src/provider/PacerProvider.tsx:66](https://github.com/T ## Returns -[`PacerProviderOptions`](../../interfaces/PacerProviderOptions.md) +[`PacerProviderOptions`](../interfaces/PacerProviderOptions.md) diff --git a/docs/framework/react/reference/functions/useQueuedState.md b/docs/framework/react/reference/functions/useQueuedState.md index 95d3fd51f..2cebf01ea 100644 --- a/docs/framework/react/reference/functions/useQueuedState.md +++ b/docs/framework/react/reference/functions/useQueuedState.md @@ -79,7 +79,7 @@ Available queuer state properties: ## Returns -\[`TValue`[], (`item`, `position?`, `runOnItemsChange?`) => `boolean`, [`ReactQueuer`](../../interfaces/ReactQueuer.md)\<`TValue`, `TSelected`\>\] +\[`TValue`[], (`item`, `position?`, `runOnItemsChange?`) => `boolean`, [`ReactQueuer`](../interfaces/ReactQueuer.md)\<`TValue`, `TSelected`\>\] ## Example diff --git a/docs/framework/react/reference/functions/useQueuedValue.md b/docs/framework/react/reference/functions/useQueuedValue.md index 953e5ca50..e9eaef2d5 100644 --- a/docs/framework/react/reference/functions/useQueuedValue.md +++ b/docs/framework/react/reference/functions/useQueuedValue.md @@ -76,7 +76,7 @@ Available queuer state properties: ## Returns -\[`TValue`, [`ReactQueuer`](../../interfaces/ReactQueuer.md)\<`TValue`, `TSelected`\>\] +\[`TValue`, [`ReactQueuer`](../interfaces/ReactQueuer.md)\<`TValue`, `TSelected`\>\] ## Example diff --git a/docs/framework/react/reference/functions/useQueuer.md b/docs/framework/react/reference/functions/useQueuer.md index ada40ff21..287efc566 100644 --- a/docs/framework/react/reference/functions/useQueuer.md +++ b/docs/framework/react/reference/functions/useQueuer.md @@ -82,7 +82,7 @@ Available state properties: ## Returns -[`ReactQueuer`](../../interfaces/ReactQueuer.md)\<`TValue`, `TSelected`\> +[`ReactQueuer`](../interfaces/ReactQueuer.md)\<`TValue`, `TSelected`\> ## Example diff --git a/docs/framework/react/reference/functions/useRateLimitedState.md b/docs/framework/react/reference/functions/useRateLimitedState.md index a7557634e..76e49a11e 100644 --- a/docs/framework/react/reference/functions/useRateLimitedState.md +++ b/docs/framework/react/reference/functions/useRateLimitedState.md @@ -83,7 +83,7 @@ Available rate limiter state properties: ## Returns -\[`TValue`, `Dispatch`\<`SetStateAction`\<`TValue`\>\>, [`ReactRateLimiter`](../../interfaces/ReactRateLimiter.md)\<`Dispatch`\<`SetStateAction`\<`TValue`\>\>, `TSelected`\>\] +\[`TValue`, `Dispatch`\<`SetStateAction`\<`TValue`\>\>, [`ReactRateLimiter`](../interfaces/ReactRateLimiter.md)\<`Dispatch`\<`SetStateAction`\<`TValue`\>\>, `TSelected`\>\] ## Example diff --git a/docs/framework/react/reference/functions/useRateLimitedValue.md b/docs/framework/react/reference/functions/useRateLimitedValue.md index 7bb76200e..069fec1a3 100644 --- a/docs/framework/react/reference/functions/useRateLimitedValue.md +++ b/docs/framework/react/reference/functions/useRateLimitedValue.md @@ -82,7 +82,7 @@ Available rate limiter state properties: ## Returns -\[`TValue`, [`ReactRateLimiter`](../../interfaces/ReactRateLimiter.md)\<`Dispatch`\<`SetStateAction`\<`TValue`\>\>, `TSelected`\>\] +\[`TValue`, [`ReactRateLimiter`](../interfaces/ReactRateLimiter.md)\<`Dispatch`\<`SetStateAction`\<`TValue`\>\>, `TSelected`\>\] ## Example diff --git a/docs/framework/react/reference/functions/useRateLimiter.md b/docs/framework/react/reference/functions/useRateLimiter.md index 32f26eea8..1f26b1af6 100644 --- a/docs/framework/react/reference/functions/useRateLimiter.md +++ b/docs/framework/react/reference/functions/useRateLimiter.md @@ -84,7 +84,7 @@ The hook returns an object containing: ## Returns -[`ReactRateLimiter`](../../interfaces/ReactRateLimiter.md)\<`TFn`, `TSelected`\> +[`ReactRateLimiter`](../interfaces/ReactRateLimiter.md)\<`TFn`, `TSelected`\> ## Example diff --git a/docs/framework/react/reference/functions/useThrottledState.md b/docs/framework/react/reference/functions/useThrottledState.md index 4f935a35b..884129155 100644 --- a/docs/framework/react/reference/functions/useThrottledState.md +++ b/docs/framework/react/reference/functions/useThrottledState.md @@ -73,7 +73,7 @@ Available throttler state properties: ## Returns -\[`TValue`, `Dispatch`\<`SetStateAction`\<`TValue`\>\>, [`ReactThrottler`](../../interfaces/ReactThrottler.md)\<`Dispatch`\<`SetStateAction`\<`TValue`\>\>, `TSelected`\>\] +\[`TValue`, `Dispatch`\<`SetStateAction`\<`TValue`\>\>, [`ReactThrottler`](../interfaces/ReactThrottler.md)\<`Dispatch`\<`SetStateAction`\<`TValue`\>\>, `TSelected`\>\] ## Example diff --git a/docs/framework/react/reference/functions/useThrottledValue.md b/docs/framework/react/reference/functions/useThrottledValue.md index 65e4d0eb2..140a4870f 100644 --- a/docs/framework/react/reference/functions/useThrottledValue.md +++ b/docs/framework/react/reference/functions/useThrottledValue.md @@ -72,7 +72,7 @@ Available throttler state properties: ## Returns -\[`TValue`, [`ReactThrottler`](../../interfaces/ReactThrottler.md)\<`Dispatch`\<`SetStateAction`\<`TValue`\>\>, `TSelected`\>\] +\[`TValue`, [`ReactThrottler`](../interfaces/ReactThrottler.md)\<`Dispatch`\<`SetStateAction`\<`TValue`\>\>, `TSelected`\>\] ## Example diff --git a/docs/framework/react/reference/functions/useThrottler.md b/docs/framework/react/reference/functions/useThrottler.md index e61173987..8809712f7 100644 --- a/docs/framework/react/reference/functions/useThrottler.md +++ b/docs/framework/react/reference/functions/useThrottler.md @@ -70,7 +70,7 @@ Available state properties: ## Returns -[`ReactThrottler`](../../interfaces/ReactThrottler.md)\<`TFn`, `TSelected`\> +[`ReactThrottler`](../interfaces/ReactThrottler.md)\<`TFn`, `TSelected`\> ## Example diff --git a/docs/framework/react/reference/index.md b/docs/framework/react/reference/index.md index cb74d3885..17b02c8f8 100644 --- a/docs/framework/react/reference/index.md +++ b/docs/framework/react/reference/index.md @@ -7,48 +7,48 @@ title: "@tanstack/react-pacer" ## Interfaces -- [PacerProviderOptions](../interfaces/PacerProviderOptions.md) -- [PacerProviderProps](../interfaces/PacerProviderProps.md) -- [ReactAsyncBatcher](../interfaces/ReactAsyncBatcher.md) -- [ReactAsyncDebouncer](../interfaces/ReactAsyncDebouncer.md) -- [ReactAsyncQueuer](../interfaces/ReactAsyncQueuer.md) -- [ReactAsyncRateLimiter](../interfaces/ReactAsyncRateLimiter.md) -- [ReactAsyncThrottler](../interfaces/ReactAsyncThrottler.md) -- [ReactBatcher](../interfaces/ReactBatcher.md) -- [ReactDebouncer](../interfaces/ReactDebouncer.md) -- [ReactQueuer](../interfaces/ReactQueuer.md) -- [ReactRateLimiter](../interfaces/ReactRateLimiter.md) -- [ReactThrottler](../interfaces/ReactThrottler.md) +- [PacerProviderOptions](interfaces/PacerProviderOptions.md) +- [PacerProviderProps](interfaces/PacerProviderProps.md) +- [ReactAsyncBatcher](interfaces/ReactAsyncBatcher.md) +- [ReactAsyncDebouncer](interfaces/ReactAsyncDebouncer.md) +- [ReactAsyncQueuer](interfaces/ReactAsyncQueuer.md) +- [ReactAsyncRateLimiter](interfaces/ReactAsyncRateLimiter.md) +- [ReactAsyncThrottler](interfaces/ReactAsyncThrottler.md) +- [ReactBatcher](interfaces/ReactBatcher.md) +- [ReactDebouncer](interfaces/ReactDebouncer.md) +- [ReactQueuer](interfaces/ReactQueuer.md) +- [ReactRateLimiter](interfaces/ReactRateLimiter.md) +- [ReactThrottler](interfaces/ReactThrottler.md) ## Functions -- [PacerProvider](../functions/PacerProvider.md) -- [useAsyncBatchedCallback](../functions/useAsyncBatchedCallback.md) -- [useAsyncBatcher](../functions/useAsyncBatcher.md) -- [useAsyncDebouncedCallback](../functions/useAsyncDebouncedCallback.md) -- [useAsyncDebouncer](../functions/useAsyncDebouncer.md) -- [useAsyncQueuedState](../functions/useAsyncQueuedState.md) -- [useAsyncQueuer](../functions/useAsyncQueuer.md) -- [useAsyncRateLimitedCallback](../functions/useAsyncRateLimitedCallback.md) -- [useAsyncRateLimiter](../functions/useAsyncRateLimiter.md) -- [useAsyncThrottledCallback](../functions/useAsyncThrottledCallback.md) -- [useAsyncThrottler](../functions/useAsyncThrottler.md) -- [useBatchedCallback](../functions/useBatchedCallback.md) -- [useBatcher](../functions/useBatcher.md) -- [useDebouncedCallback](../functions/useDebouncedCallback.md) -- [useDebouncedState](../functions/useDebouncedState.md) -- [useDebouncedValue](../functions/useDebouncedValue.md) -- [useDebouncer](../functions/useDebouncer.md) -- [useDefaultPacerOptions](../functions/useDefaultPacerOptions.md) -- [usePacerContext](../functions/usePacerContext.md) -- [useQueuedState](../functions/useQueuedState.md) -- [useQueuedValue](../functions/useQueuedValue.md) -- [useQueuer](../functions/useQueuer.md) -- [useRateLimitedCallback](../functions/useRateLimitedCallback.md) -- [useRateLimitedState](../functions/useRateLimitedState.md) -- [useRateLimitedValue](../functions/useRateLimitedValue.md) -- [useRateLimiter](../functions/useRateLimiter.md) -- [useThrottledCallback](../functions/useThrottledCallback.md) -- [useThrottledState](../functions/useThrottledState.md) -- [useThrottledValue](../functions/useThrottledValue.md) -- [useThrottler](../functions/useThrottler.md) +- [PacerProvider](functions/PacerProvider.md) +- [useAsyncBatchedCallback](functions/useAsyncBatchedCallback.md) +- [useAsyncBatcher](functions/useAsyncBatcher.md) +- [useAsyncDebouncedCallback](functions/useAsyncDebouncedCallback.md) +- [useAsyncDebouncer](functions/useAsyncDebouncer.md) +- [useAsyncQueuedState](functions/useAsyncQueuedState.md) +- [useAsyncQueuer](functions/useAsyncQueuer.md) +- [useAsyncRateLimitedCallback](functions/useAsyncRateLimitedCallback.md) +- [useAsyncRateLimiter](functions/useAsyncRateLimiter.md) +- [useAsyncThrottledCallback](functions/useAsyncThrottledCallback.md) +- [useAsyncThrottler](functions/useAsyncThrottler.md) +- [useBatchedCallback](functions/useBatchedCallback.md) +- [useBatcher](functions/useBatcher.md) +- [useDebouncedCallback](functions/useDebouncedCallback.md) +- [useDebouncedState](functions/useDebouncedState.md) +- [useDebouncedValue](functions/useDebouncedValue.md) +- [useDebouncer](functions/useDebouncer.md) +- [useDefaultPacerOptions](functions/useDefaultPacerOptions.md) +- [usePacerContext](functions/usePacerContext.md) +- [useQueuedState](functions/useQueuedState.md) +- [useQueuedValue](functions/useQueuedValue.md) +- [useQueuer](functions/useQueuer.md) +- [useRateLimitedCallback](functions/useRateLimitedCallback.md) +- [useRateLimitedState](functions/useRateLimitedState.md) +- [useRateLimitedValue](functions/useRateLimitedValue.md) +- [useRateLimiter](functions/useRateLimiter.md) +- [useThrottledCallback](functions/useThrottledCallback.md) +- [useThrottledState](functions/useThrottledState.md) +- [useThrottledValue](functions/useThrottledValue.md) +- [useThrottler](functions/useThrottler.md) diff --git a/docs/framework/solid/reference/functions/PacerProvider.md b/docs/framework/solid/reference/functions/PacerProvider.md index 0d5238b0f..7787e94ce 100644 --- a/docs/framework/solid/reference/functions/PacerProvider.md +++ b/docs/framework/solid/reference/functions/PacerProvider.md @@ -15,7 +15,7 @@ Defined in: [solid-pacer/src/provider/PacerProvider.tsx:44](https://github.com/T ### props -[`PacerProviderProps`](../../interfaces/PacerProviderProps.md) +[`PacerProviderProps`](../interfaces/PacerProviderProps.md) ## Returns diff --git a/docs/framework/solid/reference/functions/createAsyncBatcher.md b/docs/framework/solid/reference/functions/createAsyncBatcher.md index 5ce1f3628..7f886af04 100644 --- a/docs/framework/solid/reference/functions/createAsyncBatcher.md +++ b/docs/framework/solid/reference/functions/createAsyncBatcher.md @@ -142,4 +142,4 @@ const { items, isExecuting } = asyncBatcher.state(); ## Returns -[`SolidAsyncBatcher`](../../interfaces/SolidAsyncBatcher.md)\<`TValue`, `TSelected`\> +[`SolidAsyncBatcher`](../interfaces/SolidAsyncBatcher.md)\<`TValue`, `TSelected`\> diff --git a/docs/framework/solid/reference/functions/createAsyncDebouncer.md b/docs/framework/solid/reference/functions/createAsyncDebouncer.md index aa277d930..d24cbed1c 100644 --- a/docs/framework/solid/reference/functions/createAsyncDebouncer.md +++ b/docs/framework/solid/reference/functions/createAsyncDebouncer.md @@ -86,7 +86,7 @@ Available state properties: ## Returns -[`SolidAsyncDebouncer`](../../interfaces/SolidAsyncDebouncer.md)\<`TFn`, `TSelected`\> +[`SolidAsyncDebouncer`](../interfaces/SolidAsyncDebouncer.md)\<`TFn`, `TSelected`\> ## Example diff --git a/docs/framework/solid/reference/functions/createAsyncQueuer.md b/docs/framework/solid/reference/functions/createAsyncQueuer.md index 3b67822a4..46733b99a 100644 --- a/docs/framework/solid/reference/functions/createAsyncQueuer.md +++ b/docs/framework/solid/reference/functions/createAsyncQueuer.md @@ -134,4 +134,4 @@ const { pendingItems, activeItems } = asyncQueuer.state(); ## Returns -[`SolidAsyncQueuer`](../../interfaces/SolidAsyncQueuer.md)\<`TValue`, `TSelected`\> +[`SolidAsyncQueuer`](../interfaces/SolidAsyncQueuer.md)\<`TValue`, `TSelected`\> diff --git a/docs/framework/solid/reference/functions/createAsyncRateLimiter.md b/docs/framework/solid/reference/functions/createAsyncRateLimiter.md index 2b7a941c0..616fa58ce 100644 --- a/docs/framework/solid/reference/functions/createAsyncRateLimiter.md +++ b/docs/framework/solid/reference/functions/createAsyncRateLimiter.md @@ -97,7 +97,7 @@ Available state properties: ## Returns -[`SolidAsyncRateLimiter`](../../interfaces/SolidAsyncRateLimiter.md)\<`TFn`, `TSelected`\> +[`SolidAsyncRateLimiter`](../interfaces/SolidAsyncRateLimiter.md)\<`TFn`, `TSelected`\> ## Example diff --git a/docs/framework/solid/reference/functions/createAsyncThrottler.md b/docs/framework/solid/reference/functions/createAsyncThrottler.md index 57d477353..18cf29d1a 100644 --- a/docs/framework/solid/reference/functions/createAsyncThrottler.md +++ b/docs/framework/solid/reference/functions/createAsyncThrottler.md @@ -86,7 +86,7 @@ Available state properties: ## Returns -[`SolidAsyncThrottler`](../../interfaces/SolidAsyncThrottler.md)\<`TFn`, `TSelected`\> +[`SolidAsyncThrottler`](../interfaces/SolidAsyncThrottler.md)\<`TFn`, `TSelected`\> ## Example diff --git a/docs/framework/solid/reference/functions/createBatcher.md b/docs/framework/solid/reference/functions/createBatcher.md index 39a086f75..52a15855d 100644 --- a/docs/framework/solid/reference/functions/createBatcher.md +++ b/docs/framework/solid/reference/functions/createBatcher.md @@ -117,4 +117,4 @@ const { items, isRunning } = batcher.state(); ## Returns -[`SolidBatcher`](../../interfaces/SolidBatcher.md)\<`TValue`, `TSelected`\> +[`SolidBatcher`](../interfaces/SolidBatcher.md)\<`TValue`, `TSelected`\> diff --git a/docs/framework/solid/reference/functions/createDebouncedSignal.md b/docs/framework/solid/reference/functions/createDebouncedSignal.md index 718928796..ff50485fd 100644 --- a/docs/framework/solid/reference/functions/createDebouncedSignal.md +++ b/docs/framework/solid/reference/functions/createDebouncedSignal.md @@ -72,7 +72,7 @@ Available debouncer state properties: ## Returns -\[`Accessor`\<`TValue`\>, `Setter`\<`TValue`\>, [`SolidDebouncer`](../../interfaces/SolidDebouncer.md)\<`Setter`\<`TValue`\>, `TSelected`\>\] +\[`Accessor`\<`TValue`\>, `Setter`\<`TValue`\>, [`SolidDebouncer`](../interfaces/SolidDebouncer.md)\<`Setter`\<`TValue`\>, `TSelected`\>\] ## Example diff --git a/docs/framework/solid/reference/functions/createDebouncedValue.md b/docs/framework/solid/reference/functions/createDebouncedValue.md index ecbb45973..8c2c99d10 100644 --- a/docs/framework/solid/reference/functions/createDebouncedValue.md +++ b/docs/framework/solid/reference/functions/createDebouncedValue.md @@ -75,7 +75,7 @@ Available debouncer state properties: ## Returns -\[`Accessor`\<`TValue`\>, [`SolidDebouncer`](../../interfaces/SolidDebouncer.md)\<`Setter`\<`TValue`\>, `TSelected`\>\] +\[`Accessor`\<`TValue`\>, [`SolidDebouncer`](../interfaces/SolidDebouncer.md)\<`Setter`\<`TValue`\>, `TSelected`\>\] ## Example diff --git a/docs/framework/solid/reference/functions/createDebouncer.md b/docs/framework/solid/reference/functions/createDebouncer.md index 6e313e646..8102bca7d 100644 --- a/docs/framework/solid/reference/functions/createDebouncer.md +++ b/docs/framework/solid/reference/functions/createDebouncer.md @@ -73,7 +73,7 @@ Available state properties: ## Returns -[`SolidDebouncer`](../../interfaces/SolidDebouncer.md)\<`TFn`, `TSelected`\> +[`SolidDebouncer`](../interfaces/SolidDebouncer.md)\<`TFn`, `TSelected`\> ## Example diff --git a/docs/framework/solid/reference/functions/createQueuedSignal.md b/docs/framework/solid/reference/functions/createQueuedSignal.md index 66760cc3f..d2cef53e5 100644 --- a/docs/framework/solid/reference/functions/createQueuedSignal.md +++ b/docs/framework/solid/reference/functions/createQueuedSignal.md @@ -79,7 +79,7 @@ Available queuer state properties: ## Returns -\[() => `TValue`[], (`item`, `position?`, `runOnItemsChange?`) => `boolean`, [`SolidQueuer`](../../interfaces/SolidQueuer.md)\<`TValue`, `TSelected`\>\] +\[() => `TValue`[], (`item`, `position?`, `runOnItemsChange?`) => `boolean`, [`SolidQueuer`](../interfaces/SolidQueuer.md)\<`TValue`, `TSelected`\>\] ## Example diff --git a/docs/framework/solid/reference/functions/createQueuer.md b/docs/framework/solid/reference/functions/createQueuer.md index 2eb8a56b2..8ba68214d 100644 --- a/docs/framework/solid/reference/functions/createQueuer.md +++ b/docs/framework/solid/reference/functions/createQueuer.md @@ -118,4 +118,4 @@ const { items, isRunning } = queue.state(); ## Returns -[`SolidQueuer`](../../interfaces/SolidQueuer.md)\<`TValue`, `TSelected`\> +[`SolidQueuer`](../interfaces/SolidQueuer.md)\<`TValue`, `TSelected`\> diff --git a/docs/framework/solid/reference/functions/createRateLimitedSignal.md b/docs/framework/solid/reference/functions/createRateLimitedSignal.md index 01835bc5d..e6530b425 100644 --- a/docs/framework/solid/reference/functions/createRateLimitedSignal.md +++ b/docs/framework/solid/reference/functions/createRateLimitedSignal.md @@ -88,7 +88,7 @@ Available rate limiter state properties: ## Returns -\[`Accessor`\<`TValue`\>, `Setter`\<`TValue`\>, [`SolidRateLimiter`](../../interfaces/SolidRateLimiter.md)\<`Setter`\<`TValue`\>, `TSelected`\>\] +\[`Accessor`\<`TValue`\>, `Setter`\<`TValue`\>, [`SolidRateLimiter`](../interfaces/SolidRateLimiter.md)\<`Setter`\<`TValue`\>, `TSelected`\>\] ## Example diff --git a/docs/framework/solid/reference/functions/createRateLimitedValue.md b/docs/framework/solid/reference/functions/createRateLimitedValue.md index 7dcc9e241..cfcfb2cfe 100644 --- a/docs/framework/solid/reference/functions/createRateLimitedValue.md +++ b/docs/framework/solid/reference/functions/createRateLimitedValue.md @@ -83,7 +83,7 @@ Available rate limiter state properties: ## Returns -\[`Accessor`\<`TValue`\>, [`SolidRateLimiter`](../../interfaces/SolidRateLimiter.md)\<`Setter`\<`TValue`\>, `TSelected`\>\] +\[`Accessor`\<`TValue`\>, [`SolidRateLimiter`](../interfaces/SolidRateLimiter.md)\<`Setter`\<`TValue`\>, `TSelected`\>\] ## Example diff --git a/docs/framework/solid/reference/functions/createRateLimiter.md b/docs/framework/solid/reference/functions/createRateLimiter.md index 00b8e7502..f138c0f3d 100644 --- a/docs/framework/solid/reference/functions/createRateLimiter.md +++ b/docs/framework/solid/reference/functions/createRateLimiter.md @@ -79,7 +79,7 @@ Available state properties: ## Returns -[`SolidRateLimiter`](../../interfaces/SolidRateLimiter.md)\<`TFn`, `TSelected`\> +[`SolidRateLimiter`](../interfaces/SolidRateLimiter.md)\<`TFn`, `TSelected`\> ## Example diff --git a/docs/framework/solid/reference/functions/createThrottledSignal.md b/docs/framework/solid/reference/functions/createThrottledSignal.md index 65696c969..8d05f569b 100644 --- a/docs/framework/solid/reference/functions/createThrottledSignal.md +++ b/docs/framework/solid/reference/functions/createThrottledSignal.md @@ -76,7 +76,7 @@ Available throttler state properties: ## Returns -\[`Accessor`\<`TValue`\>, `Setter`\<`TValue`\>, [`SolidThrottler`](../../interfaces/SolidThrottler.md)\<`Setter`\<`TValue`\>, `TSelected`\>\] +\[`Accessor`\<`TValue`\>, `Setter`\<`TValue`\>, [`SolidThrottler`](../interfaces/SolidThrottler.md)\<`Setter`\<`TValue`\>, `TSelected`\>\] ## Example diff --git a/docs/framework/solid/reference/functions/createThrottledValue.md b/docs/framework/solid/reference/functions/createThrottledValue.md index 54595b76e..7522aafc0 100644 --- a/docs/framework/solid/reference/functions/createThrottledValue.md +++ b/docs/framework/solid/reference/functions/createThrottledValue.md @@ -77,7 +77,7 @@ Available throttler state properties: ## Returns -\[`Accessor`\<`TValue`\>, [`SolidThrottler`](../../interfaces/SolidThrottler.md)\<`Setter`\<`TValue`\>, `TSelected`\>\] +\[`Accessor`\<`TValue`\>, [`SolidThrottler`](../interfaces/SolidThrottler.md)\<`Setter`\<`TValue`\>, `TSelected`\>\] ## Example diff --git a/docs/framework/solid/reference/functions/createThrottler.md b/docs/framework/solid/reference/functions/createThrottler.md index bd8a579fd..d7e5a9016 100644 --- a/docs/framework/solid/reference/functions/createThrottler.md +++ b/docs/framework/solid/reference/functions/createThrottler.md @@ -72,7 +72,7 @@ Available state properties: ## Returns -[`SolidThrottler`](../../interfaces/SolidThrottler.md)\<`TFn`, `TSelected`\> +[`SolidThrottler`](../interfaces/SolidThrottler.md)\<`TFn`, `TSelected`\> ## Example diff --git a/docs/framework/solid/reference/functions/useDefaultPacerOptions.md b/docs/framework/solid/reference/functions/useDefaultPacerOptions.md index 6a5c554e2..f13948c38 100644 --- a/docs/framework/solid/reference/functions/useDefaultPacerOptions.md +++ b/docs/framework/solid/reference/functions/useDefaultPacerOptions.md @@ -13,4 +13,4 @@ Defined in: [solid-pacer/src/provider/PacerProvider.tsx:60](https://github.com/T ## Returns -[`PacerProviderOptions`](../../interfaces/PacerProviderOptions.md) +[`PacerProviderOptions`](../interfaces/PacerProviderOptions.md) diff --git a/docs/framework/solid/reference/index.md b/docs/framework/solid/reference/index.md index 178e989ee..00c2a6487 100644 --- a/docs/framework/solid/reference/index.md +++ b/docs/framework/solid/reference/index.md @@ -7,38 +7,38 @@ title: "@tanstack/solid-pacer" ## Interfaces -- [PacerProviderOptions](../interfaces/PacerProviderOptions.md) -- [PacerProviderProps](../interfaces/PacerProviderProps.md) -- [SolidAsyncBatcher](../interfaces/SolidAsyncBatcher.md) -- [SolidAsyncDebouncer](../interfaces/SolidAsyncDebouncer.md) -- [SolidAsyncQueuer](../interfaces/SolidAsyncQueuer.md) -- [SolidAsyncRateLimiter](../interfaces/SolidAsyncRateLimiter.md) -- [SolidAsyncThrottler](../interfaces/SolidAsyncThrottler.md) -- [SolidBatcher](../interfaces/SolidBatcher.md) -- [SolidDebouncer](../interfaces/SolidDebouncer.md) -- [SolidQueuer](../interfaces/SolidQueuer.md) -- [SolidRateLimiter](../interfaces/SolidRateLimiter.md) -- [SolidThrottler](../interfaces/SolidThrottler.md) +- [PacerProviderOptions](interfaces/PacerProviderOptions.md) +- [PacerProviderProps](interfaces/PacerProviderProps.md) +- [SolidAsyncBatcher](interfaces/SolidAsyncBatcher.md) +- [SolidAsyncDebouncer](interfaces/SolidAsyncDebouncer.md) +- [SolidAsyncQueuer](interfaces/SolidAsyncQueuer.md) +- [SolidAsyncRateLimiter](interfaces/SolidAsyncRateLimiter.md) +- [SolidAsyncThrottler](interfaces/SolidAsyncThrottler.md) +- [SolidBatcher](interfaces/SolidBatcher.md) +- [SolidDebouncer](interfaces/SolidDebouncer.md) +- [SolidQueuer](interfaces/SolidQueuer.md) +- [SolidRateLimiter](interfaces/SolidRateLimiter.md) +- [SolidThrottler](interfaces/SolidThrottler.md) ## Functions -- [createAsyncBatcher](../functions/createAsyncBatcher.md) -- [createAsyncDebouncer](../functions/createAsyncDebouncer.md) -- [createAsyncQueuer](../functions/createAsyncQueuer.md) -- [createAsyncRateLimiter](../functions/createAsyncRateLimiter.md) -- [createAsyncThrottler](../functions/createAsyncThrottler.md) -- [createBatcher](../functions/createBatcher.md) -- [createDebouncedSignal](../functions/createDebouncedSignal.md) -- [createDebouncedValue](../functions/createDebouncedValue.md) -- [createDebouncer](../functions/createDebouncer.md) -- [createQueuedSignal](../functions/createQueuedSignal.md) -- [createQueuer](../functions/createQueuer.md) -- [createRateLimitedSignal](../functions/createRateLimitedSignal.md) -- [createRateLimitedValue](../functions/createRateLimitedValue.md) -- [createRateLimiter](../functions/createRateLimiter.md) -- [createThrottledSignal](../functions/createThrottledSignal.md) -- [createThrottledValue](../functions/createThrottledValue.md) -- [createThrottler](../functions/createThrottler.md) -- [PacerProvider](../functions/PacerProvider.md) -- [useDefaultPacerOptions](../functions/useDefaultPacerOptions.md) -- [usePacerContext](../functions/usePacerContext.md) +- [createAsyncBatcher](functions/createAsyncBatcher.md) +- [createAsyncDebouncer](functions/createAsyncDebouncer.md) +- [createAsyncQueuer](functions/createAsyncQueuer.md) +- [createAsyncRateLimiter](functions/createAsyncRateLimiter.md) +- [createAsyncThrottler](functions/createAsyncThrottler.md) +- [createBatcher](functions/createBatcher.md) +- [createDebouncedSignal](functions/createDebouncedSignal.md) +- [createDebouncedValue](functions/createDebouncedValue.md) +- [createDebouncer](functions/createDebouncer.md) +- [createQueuedSignal](functions/createQueuedSignal.md) +- [createQueuer](functions/createQueuer.md) +- [createRateLimitedSignal](functions/createRateLimitedSignal.md) +- [createRateLimitedValue](functions/createRateLimitedValue.md) +- [createRateLimiter](functions/createRateLimiter.md) +- [createThrottledSignal](functions/createThrottledSignal.md) +- [createThrottledValue](functions/createThrottledValue.md) +- [createThrottler](functions/createThrottler.md) +- [PacerProvider](functions/PacerProvider.md) +- [useDefaultPacerOptions](functions/useDefaultPacerOptions.md) +- [usePacerContext](functions/usePacerContext.md) diff --git a/docs/guides/async-batching.md b/docs/guides/async-batching.md index 32f492d8a..cfc41577d 100644 --- a/docs/guides/async-batching.md +++ b/docs/guides/async-batching.md @@ -3,7 +3,7 @@ title: Async Batching Guide id: async-batching --- -All core concepts from the [Batching Guide](../batching.md) apply to async batching as well. +All core concepts from the [Batching Guide](./batching.md) apply to async batching as well. ## When to Use Async Batching @@ -219,7 +219,7 @@ const batcher = new AsyncBatcher( ) ``` -For complete documentation on retry strategies, backoff algorithms, jitter, and advanced retry patterns, see the [Async Retrying Guide](../async-retrying.md). +For complete documentation on retry strategies, backoff algorithms, jitter, and advanced retry patterns, see the [Async Retrying Guide](./async-retrying.md). ### Abort Support @@ -256,7 +256,7 @@ The abort functionality: - Does NOT clear items from the batcher - Can be used alongside retry support -For more details on abort patterns and integration with fetch/axios, see the [Async Retrying Guide](../async-retrying.md). +For more details on abort patterns and integration with fetch/axios, see the [Async Retrying Guide](./async-retrying.md). ### Sharing Options Between Instances @@ -468,4 +468,4 @@ Each framework adapter provides hooks that build on top of the core async batchi --- -For core batching concepts and synchronous batching, see the [Batching Guide](../batching.md). \ No newline at end of file +For core batching concepts and synchronous batching, see the [Batching Guide](./batching.md). \ No newline at end of file diff --git a/docs/guides/async-debouncing.md b/docs/guides/async-debouncing.md index a8e97f727..32c1b2e32 100644 --- a/docs/guides/async-debouncing.md +++ b/docs/guides/async-debouncing.md @@ -3,7 +3,7 @@ title: Async Debouncing Guide id: async-debouncing --- -All core concepts from the [Debouncing Guide](../debouncing.md) apply to async debouncing as well. +All core concepts from the [Debouncing Guide](./debouncing.md) apply to async debouncing as well. ## When to Use Async Debouncing @@ -130,7 +130,7 @@ const debouncedSave = asyncDebounce( ) ``` -For complete documentation on retry strategies, backoff algorithms, jitter, and advanced retry patterns, see the [Async Retrying Guide](../async-retrying.md). +For complete documentation on retry strategies, backoff algorithms, jitter, and advanced retry patterns, see the [Async Retrying Guide](./async-retrying.md). ### Abort Support @@ -161,7 +161,7 @@ The abort functionality: - Does NOT cancel pending executions that haven't started yet (use `cancel()` for that) - Can be used alongside retry support -For more details on abort patterns and integration with fetch/axios, see the [Async Retrying Guide](../async-retrying.md). +For more details on abort patterns and integration with fetch/axios, see the [Async Retrying Guide](./async-retrying.md). ### Sharing Options Between Instances @@ -289,4 +289,4 @@ Each framework adapter provides hooks that build on top of the core async deboun --- -For core debouncing concepts and synchronous debouncing, see the [Debouncing Guide](../debouncing.md). +For core debouncing concepts and synchronous debouncing, see the [Debouncing Guide](./debouncing.md). diff --git a/docs/guides/async-queuing.md b/docs/guides/async-queuing.md index 7b33fab4c..79b248369 100644 --- a/docs/guides/async-queuing.md +++ b/docs/guides/async-queuing.md @@ -3,9 +3,9 @@ title: Asynchronous Queuing Guide id: async-queuing --- -> **Note:** All core queuing concepts from the [Queuing Guide](../queuing) also apply to AsyncQueuer. AsyncQueuer extends these concepts with advanced features like concurrency (multiple tasks at once) and robust error handling. If you are new to queuing, start with the [Queuing Guide](../queuing) to learn about FIFO/LIFO, priority, expiration, rejection, and queue management. This guide focuses on what makes AsyncQueuer unique and powerful for asynchronous and concurrent task processing. +> **Note:** All core queuing concepts from the [Queuing Guide](./queuing) also apply to AsyncQueuer. AsyncQueuer extends these concepts with advanced features like concurrency (multiple tasks at once) and robust error handling. If you are new to queuing, start with the [Queuing Guide](./queuing) to learn about FIFO/LIFO, priority, expiration, rejection, and queue management. This guide focuses on what makes AsyncQueuer unique and powerful for asynchronous and concurrent task processing. -While the [Queuer](../queuing.md) provides synchronous queuing with timing controls, the `AsyncQueuer` is designed specifically for handling concurrent asynchronous operations. It implements what is traditionally known as a "task pool" or "worker pool" pattern, allowing multiple operations to be processed simultaneously while maintaining control over concurrency and timing. The implementation is mostly copied from [Swimmer](https://github.com/tannerlinsley/swimmer), Tanner's original task pooling utility that has been serving the JavaScript community since 2017. +While the [Queuer](./queuing.md) provides synchronous queuing with timing controls, the `AsyncQueuer` is designed specifically for handling concurrent asynchronous operations. It implements what is traditionally known as a "task pool" or "worker pool" pattern, allowing multiple operations to be processed simultaneously while maintaining control over concurrency and timing. The implementation is mostly copied from [Swimmer](https://github.com/tannerlinsley/swimmer), Tanner's original task pooling utility that has been serving the JavaScript community since 2017. ## Async Queuing Concept @@ -39,9 +39,9 @@ Async queuing is particularly effective when you need to: ### When Not to Use Async Queuing -The AsyncQueuer is very versatile and can be used in many situations. If you don't need concurrent processing, use [Queuing](../queuing.md) instead. If you don't need all executions that are queued to go through, use [Throttling](../throttling.md) instead. +The AsyncQueuer is very versatile and can be used in many situations. If you don't need concurrent processing, use [Queuing](./queuing.md) instead. If you don't need all executions that are queued to go through, use [Throttling](./throttling.md) instead. -If you want to group operations together, use [Batching](../batching.md) instead. +If you want to group operations together, use [Batching](./batching.md) instead. ## Async Queuing in TanStack Pacer @@ -129,7 +129,7 @@ queue.addItem(2) ### Async-Specific Features -All queue types and ordering strategies (FIFO, LIFO, priority, etc.) are supported—see the [Queuing Guide](../queuing) for details. AsyncQueuer adds: +All queue types and ordering strategies (FIFO, LIFO, priority, etc.) are supported—see the [Queuing Guide](./queuing) for details. AsyncQueuer adds: - **Concurrency:** Multiple items can be processed at once, controlled by the `concurrency` option (can be dynamic). - **Async error handling:** Use `onError`, `onSuccess`, and `onSettled` for robust error and result tracking. - **Active and pending task tracking:** Use `peekActiveItems()` and `peekPendingItems()` to monitor queue state. @@ -221,7 +221,7 @@ AsyncQueuer provides all the queue management and monitoring methods from the co - `queuer.store.state.size` — Current queue size - `start()`, `stop()`, `clear()`, `reset()`, `flush()`, etc. -See the [Queuing Guide](../queuing) for more on queue management concepts. +See the [Queuing Guide](./queuing) for more on queue management concepts. ### Task Expiration and Rejection @@ -229,7 +229,7 @@ AsyncQueuer supports expiration and rejection just like the core queuer: - Use `expirationDuration`, `getIsExpired`, and `onExpire` for expiring tasks - Use `maxSize` and `onReject` for handling queue overflow -See the [Queuing Guide](../queuing.md) for details and examples. +See the [Queuing Guide](./queuing.md) for details and examples. ### Flushing Queue Items @@ -280,7 +280,7 @@ const queuer = new AsyncQueuer( ) ``` -For complete documentation on retry strategies, backoff algorithms, jitter, and advanced retry patterns, see the [Async Retrying Guide](../async-retrying.md). +For complete documentation on retry strategies, backoff algorithms, jitter, and advanced retry patterns, see the [Async Retrying Guide](./async-retrying.md). ### Abort Support @@ -314,7 +314,7 @@ The abort functionality: - Works with concurrent executions - aborts all active tasks - Can be used alongside retry support -For more details on abort patterns and integration with fetch/axios, see the [Async Retrying Guide](../async-retrying.md). +For more details on abort patterns and integration with fetch/axios, see the [Async Retrying Guide](./async-retrying.md). ### Sharing Options Between Instances @@ -429,4 +429,4 @@ Each framework adapter builds convenient hooks and functions around the async qu --- -For core queuing concepts and synchronous queuing, see the [Queuing Guide](../queuing.md). \ No newline at end of file +For core queuing concepts and synchronous queuing, see the [Queuing Guide](./queuing.md). \ No newline at end of file diff --git a/docs/guides/async-rate-limiting.md b/docs/guides/async-rate-limiting.md index 7b69840e4..c9dd21929 100644 --- a/docs/guides/async-rate-limiting.md +++ b/docs/guides/async-rate-limiting.md @@ -3,7 +3,7 @@ title: Async Rate Limiting Guide id: async-rate-limiting --- -All core concepts from the [Rate Limiting Guide](../rate-limiting.md) apply to async rate limiting as well. +All core concepts from the [Rate Limiting Guide](./rate-limiting.md) apply to async rate limiting as well. ## When to Use Async Rate Limiting @@ -136,7 +136,7 @@ const rateLimitedApi = asyncRateLimit( ) ``` -For complete documentation on retry strategies, backoff algorithms, jitter, and advanced retry patterns, see the [Async Retrying Guide](../async-retrying.md). +For complete documentation on retry strategies, backoff algorithms, jitter, and advanced retry patterns, see the [Async Retrying Guide](./async-retrying.md). ### Abort Support @@ -168,7 +168,7 @@ The abort functionality: - Does NOT clear execution times or reset the rate limiter - Can be used alongside retry support -For more details on abort patterns and integration with fetch/axios, see the [Async Retrying Guide](../async-retrying.md). +For more details on abort patterns and integration with fetch/axios, see the [Async Retrying Guide](./async-retrying.md). ### Sharing Options Between Instances @@ -293,4 +293,4 @@ Each framework adapter provides hooks that build on top of the core async rate l --- -For core rate limiting concepts and synchronous rate limiting, see the [Rate Limiting Guide](../rate-limiting.md). \ No newline at end of file +For core rate limiting concepts and synchronous rate limiting, see the [Rate Limiting Guide](./rate-limiting.md). \ No newline at end of file diff --git a/docs/guides/async-throttling.md b/docs/guides/async-throttling.md index 1e7e9bca1..f3523435d 100644 --- a/docs/guides/async-throttling.md +++ b/docs/guides/async-throttling.md @@ -3,7 +3,7 @@ title: Async Throttling Guide id: async-throttling --- -All core concepts from the [Throttling Guide](../throttling.md) apply to async throttling as well. +All core concepts from the [Throttling Guide](./throttling.md) apply to async throttling as well. ## When to Use Async Throttling @@ -131,7 +131,7 @@ const throttledSave = asyncThrottle( ) ``` -For complete documentation on retry strategies, backoff algorithms, jitter, and advanced retry patterns, see the [Async Retrying Guide](../async-retrying.md). +For complete documentation on retry strategies, backoff algorithms, jitter, and advanced retry patterns, see the [Async Retrying Guide](./async-retrying.md). ### Abort Support @@ -166,7 +166,7 @@ The abort functionality: - Does NOT cancel pending executions that haven't started yet (use `cancel()` for that) - Can be used alongside retry support -For more details on abort patterns and integration with fetch/axios, see the [Async Retrying Guide](../async-retrying.md). +For more details on abort patterns and integration with fetch/axios, see the [Async Retrying Guide](./async-retrying.md). ### Sharing Options Between Instances @@ -295,4 +295,4 @@ Each framework adapter provides hooks that build on top of the core async thrott --- -For core throttling concepts and synchronous throttling, see the [Throttling Guide](../throttling.md). \ No newline at end of file +For core throttling concepts and synchronous throttling, see the [Throttling Guide](./throttling.md). \ No newline at end of file diff --git a/docs/guides/batching.md b/docs/guides/batching.md index d490dc427..ce55b9f8d 100644 --- a/docs/guides/batching.md +++ b/docs/guides/batching.md @@ -3,7 +3,7 @@ title: Batching Guide id: batching --- -Batching is a powerful technique for grouping multiple operations together and processing them as a single unit. Unlike [Queuing](../queuing.md), which ensures every operation is processed individually, batching collects items and processes them in configurable groups, improving efficiency and reducing overhead. This guide covers the Batching concepts of TanStack Pacer. +Batching is a powerful technique for grouping multiple operations together and processing them as a single unit. Unlike [Queuing](./queuing.md), which ensures every operation is processed individually, batching collects items and processes them in configurable groups, improving efficiency and reducing overhead. This guide covers the Batching concepts of TanStack Pacer. ## Batching Concept @@ -38,8 +38,8 @@ Batching is best when: ## When Not to Use Batching Batching may not be ideal when: -- Every item must be processed individually and immediately (use [queuing](../queuing.md)) -- You only care about the most recent value (use [debouncing](../debouncing.md)) +- Every item must be processed individually and immediately (use [queuing](./queuing.md)) +- You only care about the most recent value (use [debouncing](./debouncing.md)) > [!TIP] > If you find yourself making repeated calls that could be grouped, batching can help you optimize performance and resource usage. @@ -281,4 +281,4 @@ console.log(batcher.store.state.isEmpty) // true (batch was processed) Each framework adapter builds convenient hooks and functions around the batcher classes. Hooks like `useBatcher`, or `createBatcher` are small wrappers that can cut down on the boilerplate needed in your own code for some common use cases. -For asynchronous batching, see the [Async Batching Guide](../async-batching.md). \ No newline at end of file +For asynchronous batching, see the [Async Batching Guide](./async-batching.md). \ No newline at end of file diff --git a/docs/guides/debouncing.md b/docs/guides/debouncing.md index d06e5ee2f..7a2976673 100644 --- a/docs/guides/debouncing.md +++ b/docs/guides/debouncing.md @@ -31,12 +31,12 @@ Debouncing is particularly effective when you want to wait for a "pause" in acti ### When Not to Use Debouncing Debouncing might not be the best choice when: -- You need guaranteed execution over a specific time period (use [throttling](../throttling.md) instead) -- You can't afford to miss any executions (use [queuing](../queuing.md) instead) +- You need guaranteed execution over a specific time period (use [throttling](./throttling.md) instead) +- You can't afford to miss any executions (use [queuing](./queuing.md) instead) ## Debouncing in TanStack Pacer -TanStack Pacer provides both synchronous and asynchronous debouncing. This guide covers the synchronous `Debouncer` class and `debounce` function. For async debouncing, see the [Async Debouncing Guide](../async-debouncing.md). +TanStack Pacer provides both synchronous and asynchronous debouncing. This guide covers the synchronous `Debouncer` class and `debounce` function. For async debouncing, see the [Async Debouncing Guide](./async-debouncing.md). ### Basic Usage with `debounce` @@ -111,7 +111,7 @@ Common patterns: ### Max Wait Time -The TanStack Pacer Debouncer purposely does NOT have a `maxWait` option like other debouncing libraries. If you need to let executions run over a more spread out period of time, consider using the [throttling](../throttling.md) technique instead. +The TanStack Pacer Debouncer purposely does NOT have a `maxWait` option like other debouncing libraries. If you need to let executions run over a more spread out period of time, consider using the [throttling](./throttling.md) technique instead. ### Sharing Options Between Instances @@ -300,4 +300,4 @@ Each framework adapter builds convenient hooks and functions around the debounce --- -For asynchronous debouncing (e.g., API calls, async operations), see the [Async Debouncing Guide](../async-debouncing.md). +For asynchronous debouncing (e.g., API calls, async operations), see the [Async Debouncing Guide](./async-debouncing.md). diff --git a/docs/guides/queuing.md b/docs/guides/queuing.md index 78a11c5a9..92d1e684a 100644 --- a/docs/guides/queuing.md +++ b/docs/guides/queuing.md @@ -3,7 +3,7 @@ title: Queuing Guide id: queuing --- -Unlike [Rate Limiting](../rate-limiting.md), [Throttling](../throttling.md), and [Debouncing](../debouncing.md) which drop executions when they occur too frequently, queuers can be configured to ensure that every operation is processed. They provide a way to manage and control the flow of operations without losing any requests. This makes them ideal for scenarios where data loss is unacceptable. Queuing can also be set to have a maximum size, which can be useful for preventing memory leaks or other issues. This guide will cover the Queuing concepts of TanStack Pacer. +Unlike [Rate Limiting](./rate-limiting.md), [Throttling](./throttling.md), and [Debouncing](./debouncing.md) which drop executions when they occur too frequently, queuers can be configured to ensure that every operation is processed. They provide a way to manage and control the flow of operations without losing any requests. This makes them ideal for scenarios where data loss is unacceptable. Queuing can also be set to have a maximum size, which can be useful for preventing memory leaks or other issues. This guide will cover the Queuing concepts of TanStack Pacer. ## Queuing Concept @@ -33,8 +33,8 @@ Queuing is particularly important when you need to ensure that every operation i Queuing might not be the best choice when: - Immediate feedback is more important than processing every operation -- You only care about the most recent value (use [debouncing](../debouncing.md) instead) -- You want to group operations together (use [batching](../batching.md) instead) +- You only care about the most recent value (use [debouncing](./debouncing.md) instead) +- You want to group operations together (use [batching](./batching.md) instead) > [!TIP] > If you're currently using rate limiting, throttling, or debouncing but finding that dropped operations are causing problems, queuing is likely the solution you need. @@ -510,4 +510,4 @@ Each framework adapter builds convenient hooks and functions around the queuer c --- -For asynchronous queuing, see the [Async Queuing Guide](../async-queuing.md). \ No newline at end of file +For asynchronous queuing, see the [Async Queuing Guide](./async-queuing.md). \ No newline at end of file diff --git a/docs/guides/rate-limiting.md b/docs/guides/rate-limiting.md index c6c19609c..18e85bc59 100644 --- a/docs/guides/rate-limiting.md +++ b/docs/guides/rate-limiting.md @@ -58,16 +58,16 @@ Rate Limiting is particularly important when dealing with front-end operations t ### When Not to Use Rate Limiting -Rate Limiting is the most naive approach to controlling function execution frequency. It is the least flexible and most restrictive of the three techniques. Consider using [throttling](../throttling.md) or [debouncing](../debouncing.md) instead for more spaced out executions. +Rate Limiting is the most naive approach to controlling function execution frequency. It is the least flexible and most restrictive of the three techniques. Consider using [throttling](./throttling.md) or [debouncing](./debouncing.md) instead for more spaced out executions. > [!TIP] -> You most likely don't want to use "rate limiting" for most use cases. Consider using [throttling](../throttling.md) or [debouncing](../debouncing.md) instead. +> You most likely don't want to use "rate limiting" for most use cases. Consider using [throttling](./throttling.md) or [debouncing](./debouncing.md) instead. -Rate Limiting's "lossy" nature also means that some executions will be rejected and lost. This can be a problem if you need to ensure that all executions are always successful. Consider using [queuing](../queuing.md) if you need to ensure that all executions are queued up to be executed, but with a throttled delay to slow down the rate of execution. +Rate Limiting's "lossy" nature also means that some executions will be rejected and lost. This can be a problem if you need to ensure that all executions are always successful. Consider using [queuing](./queuing.md) if you need to ensure that all executions are queued up to be executed, but with a throttled delay to slow down the rate of execution. ## Rate Limiting in TanStack Pacer -TanStack Pacer provides both synchronous and asynchronous rate limiting. This guide covers the synchronous `RateLimiter` class and `rateLimit` function. For async rate limiting, see the [Async Rate Limiting Guide](../async-rate-limiting.md). +TanStack Pacer provides both synchronous and asynchronous rate limiting. This guide covers the synchronous `RateLimiter` class and `rateLimit` function. For async rate limiting, see the [Async Rate Limiting Guide](./async-rate-limiting.md). ### Basic Usage with `rateLimit` @@ -333,4 +333,4 @@ Each framework adapter builds convenient hooks and functions around the rate lim --- -For asynchronous rate limiting (e.g., API calls, async operations), see the [Async Rate Limiting Guide](../async-rate-limiting.md). \ No newline at end of file +For asynchronous rate limiting (e.g., API calls, async operations), see the [Async Rate Limiting Guide](./async-rate-limiting.md). \ No newline at end of file diff --git a/docs/guides/throttling.md b/docs/guides/throttling.md index 6a008e6b0..9e782bed3 100644 --- a/docs/guides/throttling.md +++ b/docs/guides/throttling.md @@ -32,15 +32,15 @@ Throttling is particularly effective when you need consistent, predictable execu ### When Not to Use Throttling Throttling might not be the best choice when: -- You want to wait for activity to stop (use [debouncing](../debouncing.md) instead) -- You can't afford to miss any executions (use [queuing](../queuing.md) instead) +- You want to wait for activity to stop (use [debouncing](./debouncing.md) instead) +- You can't afford to miss any executions (use [queuing](./queuing.md) instead) > [!TIP] > Throttling is often the best choice when you need smooth, consistent execution timing. It provides a more predictable execution pattern than rate limiting and more immediate feedback than debouncing. ## Throttling in TanStack Pacer -TanStack Pacer provides both synchronous and asynchronous throttling. This guide covers the synchronous `Throttler` class and `throttle` function. For async throttling, see the [Async Throttling Guide](../async-throttling.md). +TanStack Pacer provides both synchronous and asynchronous throttling. This guide covers the synchronous `Throttler` class and `throttle` function. For async throttling, see the [Async Throttling Guide](./async-throttling.md). ### Basic Usage with `throttle` @@ -291,4 +291,4 @@ Each framework adapter builds convenient hooks and functions around the throttle --- -For asynchronous throttling (e.g., API calls, async operations), see the [Async Throttling Guide](../async-throttling.md). \ No newline at end of file +For asynchronous throttling (e.g., API calls, async operations), see the [Async Throttling Guide](./async-throttling.md). \ No newline at end of file diff --git a/docs/guides/which-pacer-utility-should-i-choose.md b/docs/guides/which-pacer-utility-should-i-choose.md index 94d988fbc..b1b2d478a 100644 --- a/docs/guides/which-pacer-utility-should-i-choose.md +++ b/docs/guides/which-pacer-utility-should-i-choose.md @@ -5,17 +5,17 @@ id: which-pacer-utility-should-i-choose TanStack Pacer provides 5 core utilities for controlling function execution frequency. Here is a one-sentence summary of each utility: - - [**Debouncer**](../debouncing.md) - Executes a function after a period of inactivity. (Rejects other calls during activity) - - [**Throttler**](../throttling.md) - Executes a function at regular intervals. (Rejects all but one call during each interval) - - [**Rate Limiter**](../rate-limiting.md) - Prevents a function from being called too frequently. (Rejects calls when the limit is reached) - - [**Queuer**](../queuing.md) - Processes all calls to a function in order. (Only rejects calls if the queue is full) - - [**Batcher**](../batching.md) - Groups multiple function calls into a single batch. (No rejections) + - [**Debouncer**](./debouncing.md) - Executes a function after a period of inactivity. (Rejects other calls during activity) + - [**Throttler**](./throttling.md) - Executes a function at regular intervals. (Rejects all but one call during each interval) + - [**Rate Limiter**](./rate-limiting.md) - Prevents a function from being called too frequently. (Rejects calls when the limit is reached) + - [**Queuer**](./queuing.md) - Processes all calls to a function in order. (Only rejects calls if the queue is full) + - [**Batcher**](./batching.md) - Groups multiple function calls into a single batch. (No rejections) After choosing which strategy fits your needs, there are additional variations and decisions to consider. This guide provides quick clarifications on the most common decisions you'll need to make. ## Synchronous vs Asynchronous -You may see both a [Debouncer](../debouncing.md) and an [Async Debouncer](../async-debouncing.md) when first exploring TanStack Pacer. Which one should you use? +You may see both a [Debouncer](./debouncing.md) and an [Async Debouncer](./async-debouncing.md) when first exploring TanStack Pacer. Which one should you use? Each utility comes in both synchronous and asynchronous versions. For most use cases, the simpler synchronous version is sufficient. However, if you need these utilities to handle async logic for you, the complexity of each utility increases significantly. The bundle size of the asynchronous versions of each utility is often more than double the size of the synchronous versions. If you actually need and use some of these additional APIs, the extra complexity is worth it, but don't choose the asynchronous version of a utility unless you actually end up using these features. @@ -49,10 +49,10 @@ We will use the Debouncer utility as the main example, but the same principles a If you are using a framework adapter like React, you will see that there are lots of examples with multiple hook variations. For example, for debouncing you will see: -- [`useDebouncer`](../../framework/react/examples/useDebouncer) -- [`useDebouncedCallback`](../../framework/react/examples/useDebouncedCallback) -- [`useDebouncedState`](../../framework/react/examples/useDebouncedState) -- [`useDebouncedValue`](../../framework/react/examples/useDebouncedValue) +- [`useDebouncer`](../framework/react/examples/useDebouncer) +- [`useDebouncedCallback`](../framework/react/examples/useDebouncedCallback) +- [`useDebouncedState`](../framework/react/examples/useDebouncedState) +- [`useDebouncedValue`](../framework/react/examples/useDebouncedValue) You will also probably see that you can use the core `Debouncer` class directly or the core `debounce` function directly without using a hook. @@ -62,7 +62,7 @@ The answer is: It Depends! 🤷‍♂️ But also: It doesn't really matter too much. They all do essentially the same thing. It's mostly a matter of personal preference and how you want to interact with the utility. Under the hood, a `Debouncer` instance is created no matter what you choose. -You can start with the [`useDebouncer`](../../framework/react/examples/useDebouncer) hook if you don't know which one to use. All of the others wrap the `useDebouncer` hook with different argument and return value signatures. +You can start with the [`useDebouncer`](../framework/react/examples/useDebouncer) hook if you don't know which one to use. All of the others wrap the `useDebouncer` hook with different argument and return value signatures. ```tsx import { useDebouncer } from '@tanstack/react-pacer' @@ -75,7 +75,7 @@ debouncer.cancel() // use Debouncer APIs with full access to the debouncer insta debouncer.flush() ``` -If you only need to create a debounced function and don't need access to the debouncer instance to call methods or use its extra features, use the [`useDebouncedCallback`](../../framework/react/examples/useDebouncedCallback) hook. The `*Callback` versions of the hooks are actually most similar to calling the core functions directly (like `debounce`) but with the memoization setup taken care of for you. +If you only need to create a debounced function and don't need access to the debouncer instance to call methods or use its extra features, use the [`useDebouncedCallback`](../framework/react/examples/useDebouncedCallback) hook. The `*Callback` versions of the hooks are actually most similar to calling the core functions directly (like `debounce`) but with the memoization setup taken care of for you. ```tsx import { useDebouncedCallback } from '@tanstack/react-pacer' @@ -86,7 +86,7 @@ debouncedFn(args) // execute the debounced function //... ``` -The other variations are convenience hooks that wrap the `useDebouncer` hook with different argument and return value signatures. For example, the [`useDebouncedState`](../../framework/react/examples/useDebouncedState) hook is useful when you need to debounce a state value. +The other variations are convenience hooks that wrap the `useDebouncer` hook with different argument and return value signatures. For example, the [`useDebouncedState`](../framework/react/examples/useDebouncedState) hook is useful when you need to debounce a state value. ```tsx import { useDebouncedState } from '@tanstack/react-pacer' @@ -97,7 +97,7 @@ setDebouncedValue(newValue) // set the debounced value (will be debounced state //... ``` -The [`useDebouncedValue`](../../framework/react/examples/useDebouncedValue) hook is useful when your debounced value is derived from an instant value that changes frequently. +The [`useDebouncedValue`](../framework/react/examples/useDebouncedValue) hook is useful when your debounced value is derived from an instant value that changes frequently. ```tsx import { useDebouncedValue } from '@tanstack/react-pacer' diff --git a/docs/quick-start.md b/docs/quick-start.md index 60b891903..d5264550d 100644 --- a/docs/quick-start.md +++ b/docs/quick-start.md @@ -5,15 +5,15 @@ id: quick-start ## Installation -Don't have TanStack Pacer installed yet? See the [Installation](../installation.md) page for instructions. +Don't have TanStack Pacer installed yet? See the [Installation](./installation.md) page for instructions. ## Understanding Which Pacer Utility to Use -Still learning what TanStack Pacer is and how it can help your application? See the [Which Pacer Utility Should I Choose?](../guides/which-pacer-utility-should-i-choose.md) guide for help choosing which Pacer utility to use. The TanStack Pacer libraries have 5 core utilities, but also quite a few flexible ways to use each utility. Famarilizing yourself with the above guide will help you choose the right utility for your use case. +Still learning what TanStack Pacer is and how it can help your application? See the [Which Pacer Utility Should I Choose?](./guides/which-pacer-utility-should-i-choose.md) guide for help choosing which Pacer utility to use. The TanStack Pacer libraries have 5 core utilities, but also quite a few flexible ways to use each utility. Famarilizing yourself with the above guide will help you choose the right utility for your use case. ## API References -See the [API References](../reference/index.md) page for the full list of API references for each Pacer utility. +See the [API References](./reference/index.md) page for the full list of API references for each Pacer utility. ## Basic Usage @@ -86,4 +86,4 @@ import { PacerProvider } from '@tanstack/react-pacer' ### Devtools -TanStack Pacer provides an official TanStack Devtools integration for each framework adapter. See the [Devtools](../devtools.md) documentation for more information on how to set up and use the Pacer devtools. \ No newline at end of file +TanStack Pacer provides an official TanStack Devtools integration for each framework adapter. See the [Devtools](./devtools.md) documentation for more information on how to set up and use the Pacer devtools. \ No newline at end of file diff --git a/docs/reference/classes/AsyncBatcher.md b/docs/reference/classes/AsyncBatcher.md index c9c2e8ec1..7124b76a8 100644 --- a/docs/reference/classes/AsyncBatcher.md +++ b/docs/reference/classes/AsyncBatcher.md @@ -98,7 +98,7 @@ Defined in: [async-batcher.ts:277](https://github.com/TanStack/pacer/blob/main/p ##### initialOptions -[`AsyncBatcherOptions`](../../interfaces/AsyncBatcherOptions.md)\<`TValue`\> +[`AsyncBatcherOptions`](../interfaces/AsyncBatcherOptions.md)\<`TValue`\> #### Returns @@ -368,7 +368,7 @@ Updates the async batcher options ##### newOptions -`Partial`\<[`AsyncBatcherOptions`](../../interfaces/AsyncBatcherOptions.md)\<`TValue`\>\> +`Partial`\<[`AsyncBatcherOptions`](../interfaces/AsyncBatcherOptions.md)\<`TValue`\>\> #### Returns diff --git a/docs/reference/classes/AsyncDebouncer.md b/docs/reference/classes/AsyncDebouncer.md index 56ba1f200..f98866a36 100644 --- a/docs/reference/classes/AsyncDebouncer.md +++ b/docs/reference/classes/AsyncDebouncer.md @@ -65,7 +65,7 @@ const results = await asyncDebouncer.maybeExecute(inputElement.value); ### TFn -`TFn` *extends* [`AnyAsyncFunction`](../../type-aliases/AnyAsyncFunction.md) +`TFn` *extends* [`AnyAsyncFunction`](../type-aliases/AnyAsyncFunction.md) ## Constructors @@ -85,7 +85,7 @@ Defined in: [async-debouncer.ts:230](https://github.com/TanStack/pacer/blob/main ##### initialOptions -[`AsyncDebouncerOptions`](../../interfaces/AsyncDebouncerOptions.md)\<`TFn`\> +[`AsyncDebouncerOptions`](../interfaces/AsyncDebouncerOptions.md)\<`TFn`\> #### Returns @@ -300,7 +300,7 @@ Updates the async debouncer options ##### newOptions -`Partial`\<[`AsyncDebouncerOptions`](../../interfaces/AsyncDebouncerOptions.md)\<`TFn`\>\> +`Partial`\<[`AsyncDebouncerOptions`](../interfaces/AsyncDebouncerOptions.md)\<`TFn`\>\> #### Returns diff --git a/docs/reference/classes/AsyncQueuer.md b/docs/reference/classes/AsyncQueuer.md index 56ca89ebc..845434784 100644 --- a/docs/reference/classes/AsyncQueuer.md +++ b/docs/reference/classes/AsyncQueuer.md @@ -94,7 +94,7 @@ Defined in: [async-queuer.ts:327](https://github.com/TanStack/pacer/blob/main/pa ##### initialOptions -[`AsyncQueuerOptions`](../../interfaces/AsyncQueuerOptions.md)\<`TValue`\> = `{}` +[`AsyncQueuerOptions`](../interfaces/AsyncQueuerOptions.md)\<`TValue`\> = `{}` #### Returns @@ -201,7 +201,7 @@ Items can be inserted based on priority or at the front/back depending on config ##### position -[`QueuePosition`](../../type-aliases/QueuePosition.md) = `...` +[`QueuePosition`](../type-aliases/QueuePosition.md) = `...` ##### runOnItemsChange @@ -251,7 +251,7 @@ Removes and returns the next item from the queue and executes the task function ##### position? -[`QueuePosition`](../../type-aliases/QueuePosition.md) +[`QueuePosition`](../type-aliases/QueuePosition.md) #### Returns @@ -286,7 +286,7 @@ If no numberOfItems is provided, all items will be processed ##### position? -[`QueuePosition`](../../type-aliases/QueuePosition.md) +[`QueuePosition`](../type-aliases/QueuePosition.md) #### Returns @@ -373,7 +373,7 @@ Use for manual queue management. Normally, use execute() to process items. ##### position -[`QueuePosition`](../../type-aliases/QueuePosition.md) = `...` +[`QueuePosition`](../type-aliases/QueuePosition.md) = `...` #### Returns @@ -436,7 +436,7 @@ Returns the next item in the queue without removing it. ##### position -[`QueuePosition`](../../type-aliases/QueuePosition.md) = `'front'` +[`QueuePosition`](../type-aliases/QueuePosition.md) = `'front'` #### Returns @@ -497,7 +497,7 @@ Updates the queuer options. New options are merged with existing options. ##### newOptions -`Partial`\<[`AsyncQueuerOptions`](../../interfaces/AsyncQueuerOptions.md)\<`TValue`\>\> +`Partial`\<[`AsyncQueuerOptions`](../interfaces/AsyncQueuerOptions.md)\<`TValue`\>\> #### Returns diff --git a/docs/reference/classes/AsyncRateLimiter.md b/docs/reference/classes/AsyncRateLimiter.md index 25c322c70..76bb28e5e 100644 --- a/docs/reference/classes/AsyncRateLimiter.md +++ b/docs/reference/classes/AsyncRateLimiter.md @@ -85,7 +85,7 @@ const data = await rateLimiter.maybeExecute('123'); ### TFn -`TFn` *extends* [`AnyAsyncFunction`](../../type-aliases/AnyAsyncFunction.md) +`TFn` *extends* [`AnyAsyncFunction`](../type-aliases/AnyAsyncFunction.md) ## Constructors @@ -105,7 +105,7 @@ Defined in: [async-rate-limiter.ts:254](https://github.com/TanStack/pacer/blob/m ##### initialOptions -[`AsyncRateLimiterOptions`](../../interfaces/AsyncRateLimiterOptions.md)\<`TFn`\> +[`AsyncRateLimiterOptions`](../interfaces/AsyncRateLimiterOptions.md)\<`TFn`\> #### Returns @@ -333,7 +333,7 @@ Updates the async rate limiter options ##### newOptions -`Partial`\<[`AsyncRateLimiterOptions`](../../interfaces/AsyncRateLimiterOptions.md)\<`TFn`\>\> +`Partial`\<[`AsyncRateLimiterOptions`](../interfaces/AsyncRateLimiterOptions.md)\<`TFn`\>\> #### Returns diff --git a/docs/reference/classes/AsyncRetryer.md b/docs/reference/classes/AsyncRetryer.md index 7c5ce3466..e997a1482 100644 --- a/docs/reference/classes/AsyncRetryer.md +++ b/docs/reference/classes/AsyncRetryer.md @@ -101,7 +101,7 @@ const result = await retryer.execute('/api/data') ### TFn -`TFn` *extends* [`AnyAsyncFunction`](../../type-aliases/AnyAsyncFunction.md) +`TFn` *extends* [`AnyAsyncFunction`](../type-aliases/AnyAsyncFunction.md) The async function type to be retried. @@ -127,7 +127,7 @@ The async function to retry ##### initialOptions -[`AsyncRetryerOptions`](../../interfaces/AsyncRetryerOptions.md)\<`TFn`\> = `{}` +[`AsyncRetryerOptions`](../interfaces/AsyncRetryerOptions.md)\<`TFn`\> = `{}` Configuration options for the retryer @@ -306,7 +306,7 @@ Updates the retryer options ##### newOptions -`Partial`\<[`AsyncRetryerOptions`](../../interfaces/AsyncRetryerOptions.md)\<`TFn`\>\> +`Partial`\<[`AsyncRetryerOptions`](../interfaces/AsyncRetryerOptions.md)\<`TFn`\>\> Partial options to merge with existing options diff --git a/docs/reference/classes/AsyncThrottler.md b/docs/reference/classes/AsyncThrottler.md index 4e6989ab5..3759d03e6 100644 --- a/docs/reference/classes/AsyncThrottler.md +++ b/docs/reference/classes/AsyncThrottler.md @@ -69,7 +69,7 @@ const result = await throttler.maybeExecute(inputElement.value); ### TFn -`TFn` *extends* [`AnyAsyncFunction`](../../type-aliases/AnyAsyncFunction.md) +`TFn` *extends* [`AnyAsyncFunction`](../type-aliases/AnyAsyncFunction.md) ## Constructors @@ -89,7 +89,7 @@ Defined in: [async-throttler.ts:242](https://github.com/TanStack/pacer/blob/main ##### initialOptions -[`AsyncThrottlerOptions`](../../interfaces/AsyncThrottlerOptions.md)\<`TFn`\> +[`AsyncThrottlerOptions`](../interfaces/AsyncThrottlerOptions.md)\<`TFn`\> #### Returns @@ -314,7 +314,7 @@ Updates the async throttler options ##### newOptions -`Partial`\<[`AsyncThrottlerOptions`](../../interfaces/AsyncThrottlerOptions.md)\<`TFn`\>\> +`Partial`\<[`AsyncThrottlerOptions`](../interfaces/AsyncThrottlerOptions.md)\<`TFn`\>\> #### Returns diff --git a/docs/reference/classes/Batcher.md b/docs/reference/classes/Batcher.md index c5f550c95..ceda95922 100644 --- a/docs/reference/classes/Batcher.md +++ b/docs/reference/classes/Batcher.md @@ -70,7 +70,7 @@ Defined in: [batcher.ts:153](https://github.com/TanStack/pacer/blob/main/package ##### initialOptions -[`BatcherOptions`](../../interfaces/BatcherOptions.md)\<`TValue`\> +[`BatcherOptions`](../interfaces/BatcherOptions.md)\<`TValue`\> #### Returns @@ -246,7 +246,7 @@ Updates the batcher options ##### newOptions -`Partial`\<[`BatcherOptions`](../../interfaces/BatcherOptions.md)\<`TValue`\>\> +`Partial`\<[`BatcherOptions`](../interfaces/BatcherOptions.md)\<`TValue`\>\> #### Returns diff --git a/docs/reference/classes/Debouncer.md b/docs/reference/classes/Debouncer.md index 9d59e4942..d09f08e31 100644 --- a/docs/reference/classes/Debouncer.md +++ b/docs/reference/classes/Debouncer.md @@ -43,7 +43,7 @@ inputElement.addEventListener('input', () => { ### TFn -`TFn` *extends* [`AnyFunction`](../../type-aliases/AnyFunction.md) +`TFn` *extends* [`AnyFunction`](../type-aliases/AnyFunction.md) ## Constructors @@ -63,7 +63,7 @@ Defined in: [debouncer.ts:150](https://github.com/TanStack/pacer/blob/main/packa ##### initialOptions -[`DebouncerOptions`](../../interfaces/DebouncerOptions.md)\<`TFn`\> +[`DebouncerOptions`](../interfaces/DebouncerOptions.md)\<`TFn`\> #### Returns @@ -196,7 +196,7 @@ Updates the debouncer options ##### newOptions -`Partial`\<[`DebouncerOptions`](../../interfaces/DebouncerOptions.md)\<`TFn`\>\> +`Partial`\<[`DebouncerOptions`](../interfaces/DebouncerOptions.md)\<`TFn`\>\> #### Returns diff --git a/docs/reference/classes/Queuer.md b/docs/reference/classes/Queuer.md index 022a1b100..3cfced503 100644 --- a/docs/reference/classes/Queuer.md +++ b/docs/reference/classes/Queuer.md @@ -104,7 +104,7 @@ Defined in: [queuer.ts:277](https://github.com/TanStack/pacer/blob/main/packages ##### initialOptions -[`QueuerOptions`](../../interfaces/QueuerOptions.md)\<`TValue`\> = `{}` +[`QueuerOptions`](../interfaces/QueuerOptions.md)\<`TValue`\> = `{}` #### Returns @@ -192,7 +192,7 @@ queuer.addItem('task2', 'front'); ##### position -[`QueuePosition`](../../type-aliases/QueuePosition.md) = `...` +[`QueuePosition`](../type-aliases/QueuePosition.md) = `...` ##### runOnItemsChange @@ -241,7 +241,7 @@ queuer.execute('back'); ##### position? -[`QueuePosition`](../../type-aliases/QueuePosition.md) +[`QueuePosition`](../type-aliases/QueuePosition.md) #### Returns @@ -268,7 +268,7 @@ If no numberOfItems is provided, all items will be processed ##### position? -[`QueuePosition`](../../type-aliases/QueuePosition.md) +[`QueuePosition`](../type-aliases/QueuePosition.md) #### Returns @@ -322,7 +322,7 @@ queuer.getNextItem('back'); ##### position -[`QueuePosition`](../../type-aliases/QueuePosition.md) = `...` +[`QueuePosition`](../type-aliases/QueuePosition.md) = `...` #### Returns @@ -366,7 +366,7 @@ queuer.peekNextItem('back'); // back ##### position -[`QueuePosition`](../../type-aliases/QueuePosition.md) = `'front'` +[`QueuePosition`](../type-aliases/QueuePosition.md) = `'front'` #### Returns @@ -404,7 +404,7 @@ Updates the queuer options. New options are merged with existing options. ##### newOptions -`Partial`\<[`QueuerOptions`](../../interfaces/QueuerOptions.md)\<`TValue`\>\> +`Partial`\<[`QueuerOptions`](../interfaces/QueuerOptions.md)\<`TValue`\>\> #### Returns diff --git a/docs/reference/classes/RateLimiter.md b/docs/reference/classes/RateLimiter.md index 6af6d53f4..2d4598614 100644 --- a/docs/reference/classes/RateLimiter.md +++ b/docs/reference/classes/RateLimiter.md @@ -56,7 +56,7 @@ rateLimiter.maybeExecute('123'); ### TFn -`TFn` *extends* [`AnyFunction`](../../type-aliases/AnyFunction.md) +`TFn` *extends* [`AnyFunction`](../type-aliases/AnyFunction.md) ## Constructors @@ -76,7 +76,7 @@ Defined in: [rate-limiter.ts:163](https://github.com/TanStack/pacer/blob/main/pa ##### initialOptions -[`RateLimiterOptions`](../../interfaces/RateLimiterOptions.md)\<`TFn`\> +[`RateLimiterOptions`](../interfaces/RateLimiterOptions.md)\<`TFn`\> #### Returns @@ -221,7 +221,7 @@ Updates the rate limiter options ##### newOptions -`Partial`\<[`RateLimiterOptions`](../../interfaces/RateLimiterOptions.md)\<`TFn`\>\> +`Partial`\<[`RateLimiterOptions`](../interfaces/RateLimiterOptions.md)\<`TFn`\>\> #### Returns diff --git a/docs/reference/classes/Throttler.md b/docs/reference/classes/Throttler.md index 1c9ea0d7b..6582c976f 100644 --- a/docs/reference/classes/Throttler.md +++ b/docs/reference/classes/Throttler.md @@ -47,7 +47,7 @@ throttler.maybeExecute('123'); // Throttled ### TFn -`TFn` *extends* [`AnyFunction`](../../type-aliases/AnyFunction.md) +`TFn` *extends* [`AnyFunction`](../type-aliases/AnyFunction.md) ## Constructors @@ -67,7 +67,7 @@ Defined in: [throttler.ts:158](https://github.com/TanStack/pacer/blob/main/packa ##### initialOptions -[`ThrottlerOptions`](../../interfaces/ThrottlerOptions.md)\<`TFn`\> +[`ThrottlerOptions`](../interfaces/ThrottlerOptions.md)\<`TFn`\> #### Returns @@ -225,7 +225,7 @@ Updates the throttler options ##### newOptions -`Partial`\<[`ThrottlerOptions`](../../interfaces/ThrottlerOptions.md)\<`TFn`\>\> +`Partial`\<[`ThrottlerOptions`](../interfaces/ThrottlerOptions.md)\<`TFn`\>\> #### Returns diff --git a/docs/reference/functions/asyncBatch.md b/docs/reference/functions/asyncBatch.md index f7c165da4..5759b8567 100644 --- a/docs/reference/functions/asyncBatch.md +++ b/docs/reference/functions/asyncBatch.md @@ -67,7 +67,7 @@ State Management: ### options -[`AsyncBatcherOptions`](../../interfaces/AsyncBatcherOptions.md)\<`TValue`\> +[`AsyncBatcherOptions`](../interfaces/AsyncBatcherOptions.md)\<`TValue`\> ## Returns diff --git a/docs/reference/functions/asyncBatcherOptions.md b/docs/reference/functions/asyncBatcherOptions.md index a2442b484..4685eb358 100644 --- a/docs/reference/functions/asyncBatcherOptions.md +++ b/docs/reference/functions/asyncBatcherOptions.md @@ -21,7 +21,7 @@ Utility function for sharing common `AsyncBatcherOptions` options between differ ### TOptions -`TOptions` *extends* `Partial`\<[`AsyncBatcherOptions`](../../interfaces/AsyncBatcherOptions.md)\<`TValue`\>\> = `Partial`\<[`AsyncBatcherOptions`](../../interfaces/AsyncBatcherOptions.md)\<`TValue`\>\> +`TOptions` *extends* `Partial`\<[`AsyncBatcherOptions`](../interfaces/AsyncBatcherOptions.md)\<`TValue`\>\> = `Partial`\<[`AsyncBatcherOptions`](../interfaces/AsyncBatcherOptions.md)\<`TValue`\>\> ## Parameters diff --git a/docs/reference/functions/asyncDebounce.md b/docs/reference/functions/asyncDebounce.md index 9dfafc2ad..7c35c45e4 100644 --- a/docs/reference/functions/asyncDebounce.md +++ b/docs/reference/functions/asyncDebounce.md @@ -60,7 +60,7 @@ State Management: ### TFn -`TFn` *extends* [`AnyAsyncFunction`](../../type-aliases/AnyAsyncFunction.md) +`TFn` *extends* [`AnyAsyncFunction`](../type-aliases/AnyAsyncFunction.md) ## Parameters @@ -70,7 +70,7 @@ State Management: ### initialOptions -[`AsyncDebouncerOptions`](../../interfaces/AsyncDebouncerOptions.md)\<`TFn`\> +[`AsyncDebouncerOptions`](../interfaces/AsyncDebouncerOptions.md)\<`TFn`\> ## Returns diff --git a/docs/reference/functions/asyncDebouncerOptions.md b/docs/reference/functions/asyncDebouncerOptions.md index c90eb21ae..d46268c51 100644 --- a/docs/reference/functions/asyncDebouncerOptions.md +++ b/docs/reference/functions/asyncDebouncerOptions.md @@ -17,11 +17,11 @@ Utility function for sharing common `AsyncDebouncerOptions` options between diff ### TFn -`TFn` *extends* [`AnyAsyncFunction`](../../type-aliases/AnyAsyncFunction.md) = [`AnyAsyncFunction`](../../type-aliases/AnyAsyncFunction.md) +`TFn` *extends* [`AnyAsyncFunction`](../type-aliases/AnyAsyncFunction.md) = [`AnyAsyncFunction`](../type-aliases/AnyAsyncFunction.md) ### TOptions -`TOptions` *extends* `Partial`\<[`AsyncDebouncerOptions`](../../interfaces/AsyncDebouncerOptions.md)\<`TFn`\>\> = `Partial`\<[`AsyncDebouncerOptions`](../../interfaces/AsyncDebouncerOptions.md)\<`TFn`\>\> +`TOptions` *extends* `Partial`\<[`AsyncDebouncerOptions`](../interfaces/AsyncDebouncerOptions.md)\<`TFn`\>\> = `Partial`\<[`AsyncDebouncerOptions`](../interfaces/AsyncDebouncerOptions.md)\<`TFn`\>\> ## Parameters diff --git a/docs/reference/functions/asyncQueue.md b/docs/reference/functions/asyncQueue.md index ff7e05d10..209e3909d 100644 --- a/docs/reference/functions/asyncQueue.md +++ b/docs/reference/functions/asyncQueue.md @@ -76,7 +76,7 @@ State Management: ### initialOptions -[`AsyncQueuerOptions`](../../interfaces/AsyncQueuerOptions.md)\<`TValue`\> +[`AsyncQueuerOptions`](../interfaces/AsyncQueuerOptions.md)\<`TValue`\> ## Returns @@ -98,7 +98,7 @@ Items can be inserted based on priority or at the front/back depending on config #### position -[`QueuePosition`](../../type-aliases/QueuePosition.md) = `...` +[`QueuePosition`](../type-aliases/QueuePosition.md) = `...` #### runOnItemsChange diff --git a/docs/reference/functions/asyncQueuerOptions.md b/docs/reference/functions/asyncQueuerOptions.md index 6aedf5c92..3552b9528 100644 --- a/docs/reference/functions/asyncQueuerOptions.md +++ b/docs/reference/functions/asyncQueuerOptions.md @@ -21,7 +21,7 @@ Utility function for sharing common `AsyncQueuerOptions` options between differe ### TOptions -`TOptions` *extends* `Partial`\<[`AsyncQueuerOptions`](../../interfaces/AsyncQueuerOptions.md)\<`TValue`\>\> = `Partial`\<[`AsyncQueuerOptions`](../../interfaces/AsyncQueuerOptions.md)\<`TValue`\>\> +`TOptions` *extends* `Partial`\<[`AsyncQueuerOptions`](../interfaces/AsyncQueuerOptions.md)\<`TValue`\>\> = `Partial`\<[`AsyncQueuerOptions`](../interfaces/AsyncQueuerOptions.md)\<`TValue`\>\> ## Parameters diff --git a/docs/reference/functions/asyncRateLimit.md b/docs/reference/functions/asyncRateLimit.md index d223f36a6..7f9c08824 100644 --- a/docs/reference/functions/asyncRateLimit.md +++ b/docs/reference/functions/asyncRateLimit.md @@ -74,7 +74,7 @@ State Management: ### TFn -`TFn` *extends* [`AnyAsyncFunction`](../../type-aliases/AnyAsyncFunction.md) +`TFn` *extends* [`AnyAsyncFunction`](../type-aliases/AnyAsyncFunction.md) ## Parameters @@ -84,7 +84,7 @@ State Management: ### initialOptions -[`AsyncRateLimiterOptions`](../../interfaces/AsyncRateLimiterOptions.md)\<`TFn`\> +[`AsyncRateLimiterOptions`](../interfaces/AsyncRateLimiterOptions.md)\<`TFn`\> ## Returns diff --git a/docs/reference/functions/asyncRateLimiterOptions.md b/docs/reference/functions/asyncRateLimiterOptions.md index deee90538..7844038ab 100644 --- a/docs/reference/functions/asyncRateLimiterOptions.md +++ b/docs/reference/functions/asyncRateLimiterOptions.md @@ -17,11 +17,11 @@ Utility function for sharing common `AsyncRateLimiterOptions` options between di ### TFn -`TFn` *extends* [`AnyAsyncFunction`](../../type-aliases/AnyAsyncFunction.md) = [`AnyAsyncFunction`](../../type-aliases/AnyAsyncFunction.md) +`TFn` *extends* [`AnyAsyncFunction`](../type-aliases/AnyAsyncFunction.md) = [`AnyAsyncFunction`](../type-aliases/AnyAsyncFunction.md) ### TOptions -`TOptions` *extends* `Partial`\<[`AsyncRateLimiterOptions`](../../interfaces/AsyncRateLimiterOptions.md)\<`TFn`\>\> = `Partial`\<[`AsyncRateLimiterOptions`](../../interfaces/AsyncRateLimiterOptions.md)\<`TFn`\>\> +`TOptions` *extends* `Partial`\<[`AsyncRateLimiterOptions`](../interfaces/AsyncRateLimiterOptions.md)\<`TFn`\>\> = `Partial`\<[`AsyncRateLimiterOptions`](../interfaces/AsyncRateLimiterOptions.md)\<`TFn`\>\> ## Parameters diff --git a/docs/reference/functions/asyncRetry.md b/docs/reference/functions/asyncRetry.md index 2b356a09d..98373017e 100644 --- a/docs/reference/functions/asyncRetry.md +++ b/docs/reference/functions/asyncRetry.md @@ -18,7 +18,7 @@ around the AsyncRetryer class that returns the execute method. ### TFn -`TFn` *extends* [`AnyAsyncFunction`](../../type-aliases/AnyAsyncFunction.md) +`TFn` *extends* [`AnyAsyncFunction`](../type-aliases/AnyAsyncFunction.md) ## Parameters @@ -30,7 +30,7 @@ The async function to add retry functionality to ### initialOptions -[`AsyncRetryerOptions`](../../interfaces/AsyncRetryerOptions.md)\<`TFn`\> = `{}` +[`AsyncRetryerOptions`](../interfaces/AsyncRetryerOptions.md)\<`TFn`\> = `{}` Configuration options for the retry behavior diff --git a/docs/reference/functions/asyncRetryerOptions.md b/docs/reference/functions/asyncRetryerOptions.md index c7c1a1dea..7924cf176 100644 --- a/docs/reference/functions/asyncRetryerOptions.md +++ b/docs/reference/functions/asyncRetryerOptions.md @@ -17,11 +17,11 @@ Utility function for sharing common `AsyncRetryerOptions` options between differ ### TFn -`TFn` *extends* [`AnyAsyncFunction`](../../type-aliases/AnyAsyncFunction.md) = [`AnyAsyncFunction`](../../type-aliases/AnyAsyncFunction.md) +`TFn` *extends* [`AnyAsyncFunction`](../type-aliases/AnyAsyncFunction.md) = [`AnyAsyncFunction`](../type-aliases/AnyAsyncFunction.md) ### TOptions -`TOptions` *extends* `Partial`\<[`AsyncRetryerOptions`](../../interfaces/AsyncRetryerOptions.md)\<`TFn`\>\> = `Partial`\<[`AsyncRetryerOptions`](../../interfaces/AsyncRetryerOptions.md)\<`TFn`\>\> +`TOptions` *extends* `Partial`\<[`AsyncRetryerOptions`](../interfaces/AsyncRetryerOptions.md)\<`TFn`\>\> = `Partial`\<[`AsyncRetryerOptions`](../interfaces/AsyncRetryerOptions.md)\<`TFn`\>\> ## Parameters diff --git a/docs/reference/functions/asyncThrottle.md b/docs/reference/functions/asyncThrottle.md index b78339f2e..6daf7011e 100644 --- a/docs/reference/functions/asyncThrottle.md +++ b/docs/reference/functions/asyncThrottle.md @@ -61,7 +61,7 @@ State Management: ### TFn -`TFn` *extends* [`AnyAsyncFunction`](../../type-aliases/AnyAsyncFunction.md) +`TFn` *extends* [`AnyAsyncFunction`](../type-aliases/AnyAsyncFunction.md) ## Parameters @@ -71,7 +71,7 @@ State Management: ### initialOptions -[`AsyncThrottlerOptions`](../../interfaces/AsyncThrottlerOptions.md)\<`TFn`\> +[`AsyncThrottlerOptions`](../interfaces/AsyncThrottlerOptions.md)\<`TFn`\> ## Returns diff --git a/docs/reference/functions/asyncThrottlerOptions.md b/docs/reference/functions/asyncThrottlerOptions.md index e0041f494..f6ac41200 100644 --- a/docs/reference/functions/asyncThrottlerOptions.md +++ b/docs/reference/functions/asyncThrottlerOptions.md @@ -17,11 +17,11 @@ Utility function for sharing common `AsyncThrottlerOptions` options between diff ### TFn -`TFn` *extends* [`AnyAsyncFunction`](../../type-aliases/AnyAsyncFunction.md) = [`AnyAsyncFunction`](../../type-aliases/AnyAsyncFunction.md) +`TFn` *extends* [`AnyAsyncFunction`](../type-aliases/AnyAsyncFunction.md) = [`AnyAsyncFunction`](../type-aliases/AnyAsyncFunction.md) ### TOptions -`TOptions` *extends* `Partial`\<[`AsyncThrottlerOptions`](../../interfaces/AsyncThrottlerOptions.md)\<`TFn`\>\> = `Partial`\<[`AsyncThrottlerOptions`](../../interfaces/AsyncThrottlerOptions.md)\<`TFn`\>\> +`TOptions` *extends* `Partial`\<[`AsyncThrottlerOptions`](../interfaces/AsyncThrottlerOptions.md)\<`TFn`\>\> = `Partial`\<[`AsyncThrottlerOptions`](../interfaces/AsyncThrottlerOptions.md)\<`TFn`\>\> ## Parameters diff --git a/docs/reference/functions/batch.md b/docs/reference/functions/batch.md index c93339f54..5200ddeea 100644 --- a/docs/reference/functions/batch.md +++ b/docs/reference/functions/batch.md @@ -29,7 +29,7 @@ This synchronous version is lighter weight and often all you need - upgrade to a ### options -[`BatcherOptions`](../../interfaces/BatcherOptions.md)\<`TValue`\> +[`BatcherOptions`](../interfaces/BatcherOptions.md)\<`TValue`\> ## Returns diff --git a/docs/reference/functions/debounce.md b/docs/reference/functions/debounce.md index 6318a5b6b..ae762ec84 100644 --- a/docs/reference/functions/debounce.md +++ b/docs/reference/functions/debounce.md @@ -31,7 +31,7 @@ State Management: ### TFn -`TFn` *extends* [`AnyFunction`](../../type-aliases/AnyFunction.md) +`TFn` *extends* [`AnyFunction`](../type-aliases/AnyFunction.md) ## Parameters @@ -41,7 +41,7 @@ State Management: ### initialOptions -[`DebouncerOptions`](../../interfaces/DebouncerOptions.md)\<`TFn`\> +[`DebouncerOptions`](../interfaces/DebouncerOptions.md)\<`TFn`\> ## Returns diff --git a/docs/reference/functions/debouncerOptions.md b/docs/reference/functions/debouncerOptions.md index d7eef85c9..1cf0f44f2 100644 --- a/docs/reference/functions/debouncerOptions.md +++ b/docs/reference/functions/debouncerOptions.md @@ -17,11 +17,11 @@ Utility function for sharing common `DebouncerOptions` options between different ### TFn -`TFn` *extends* [`AnyFunction`](../../type-aliases/AnyFunction.md) = [`AnyFunction`](../../type-aliases/AnyFunction.md) +`TFn` *extends* [`AnyFunction`](../type-aliases/AnyFunction.md) = [`AnyFunction`](../type-aliases/AnyFunction.md) ### TOptions -`TOptions` *extends* `Partial`\<[`DebouncerOptions`](../../interfaces/DebouncerOptions.md)\<`TFn`\>\> = `Partial`\<[`DebouncerOptions`](../../interfaces/DebouncerOptions.md)\<`TFn`\>\> +`TOptions` *extends* `Partial`\<[`DebouncerOptions`](../interfaces/DebouncerOptions.md)\<`TFn`\>\> = `Partial`\<[`DebouncerOptions`](../interfaces/DebouncerOptions.md)\<`TFn`\>\> ## Parameters diff --git a/docs/reference/functions/isFunction.md b/docs/reference/functions/isFunction.md index b7352842b..1f0215538 100644 --- a/docs/reference/functions/isFunction.md +++ b/docs/reference/functions/isFunction.md @@ -15,7 +15,7 @@ Defined in: [utils.ts:3](https://github.com/TanStack/pacer/blob/main/packages/pa ### T -`T` *extends* [`AnyFunction`](../../type-aliases/AnyFunction.md) +`T` *extends* [`AnyFunction`](../type-aliases/AnyFunction.md) ## Parameters diff --git a/docs/reference/functions/queue.md b/docs/reference/functions/queue.md index f538b3828..5a9ab949e 100644 --- a/docs/reference/functions/queue.md +++ b/docs/reference/functions/queue.md @@ -59,7 +59,7 @@ processPriority(3); // Processed before 1 ### initialOptions -[`QueuerOptions`](../../interfaces/QueuerOptions.md)\<`TValue`\> +[`QueuerOptions`](../interfaces/QueuerOptions.md)\<`TValue`\> ## Returns @@ -89,7 +89,7 @@ queuer.addItem('task2', 'front'); #### position -[`QueuePosition`](../../type-aliases/QueuePosition.md) = `...` +[`QueuePosition`](../type-aliases/QueuePosition.md) = `...` #### runOnItemsChange diff --git a/docs/reference/functions/queuerOptions.md b/docs/reference/functions/queuerOptions.md index abdca6a59..d98efeb1a 100644 --- a/docs/reference/functions/queuerOptions.md +++ b/docs/reference/functions/queuerOptions.md @@ -21,7 +21,7 @@ Utility function for sharing common `QueuerOptions` options between different `Q ### TOptions -`TOptions` *extends* `Partial`\<[`QueuerOptions`](../../interfaces/QueuerOptions.md)\<`TValue`\>\> = `Partial`\<[`QueuerOptions`](../../interfaces/QueuerOptions.md)\<`TValue`\>\> +`TOptions` *extends* `Partial`\<[`QueuerOptions`](../interfaces/QueuerOptions.md)\<`TValue`\>\> = `Partial`\<[`QueuerOptions`](../interfaces/QueuerOptions.md)\<`TValue`\>\> ## Parameters diff --git a/docs/reference/functions/rateLimit.md b/docs/reference/functions/rateLimit.md index 24ccffeb3..f73cc067a 100644 --- a/docs/reference/functions/rateLimit.md +++ b/docs/reference/functions/rateLimit.md @@ -42,7 +42,7 @@ need to enforce a hard limit on the number of executions within a time period. ### TFn -`TFn` *extends* [`AnyFunction`](../../type-aliases/AnyFunction.md) +`TFn` *extends* [`AnyFunction`](../type-aliases/AnyFunction.md) ## Parameters @@ -52,7 +52,7 @@ need to enforce a hard limit on the number of executions within a time period. ### initialOptions -[`RateLimiterOptions`](../../interfaces/RateLimiterOptions.md)\<`TFn`\> +[`RateLimiterOptions`](../interfaces/RateLimiterOptions.md)\<`TFn`\> ## Returns diff --git a/docs/reference/functions/rateLimiterOptions.md b/docs/reference/functions/rateLimiterOptions.md index dd4169983..01e8445f1 100644 --- a/docs/reference/functions/rateLimiterOptions.md +++ b/docs/reference/functions/rateLimiterOptions.md @@ -17,11 +17,11 @@ Utility function for sharing common `RateLimiterOptions` options between differe ### TFn -`TFn` *extends* [`AnyFunction`](../../type-aliases/AnyFunction.md) = [`AnyFunction`](../../type-aliases/AnyFunction.md) +`TFn` *extends* [`AnyFunction`](../type-aliases/AnyFunction.md) = [`AnyFunction`](../type-aliases/AnyFunction.md) ### TOptions -`TOptions` *extends* `Partial`\<[`RateLimiterOptions`](../../interfaces/RateLimiterOptions.md)\<`TFn`\>\> = `Partial`\<[`RateLimiterOptions`](../../interfaces/RateLimiterOptions.md)\<`TFn`\>\> +`TOptions` *extends* `Partial`\<[`RateLimiterOptions`](../interfaces/RateLimiterOptions.md)\<`TFn`\>\> = `Partial`\<[`RateLimiterOptions`](../interfaces/RateLimiterOptions.md)\<`TFn`\>\> ## Parameters diff --git a/docs/reference/functions/throttle.md b/docs/reference/functions/throttle.md index c98a88bc3..d51a71373 100644 --- a/docs/reference/functions/throttle.md +++ b/docs/reference/functions/throttle.md @@ -37,7 +37,7 @@ State Management: ### TFn -`TFn` *extends* [`AnyFunction`](../../type-aliases/AnyFunction.md) +`TFn` *extends* [`AnyFunction`](../type-aliases/AnyFunction.md) ## Parameters @@ -47,7 +47,7 @@ State Management: ### initialOptions -[`ThrottlerOptions`](../../interfaces/ThrottlerOptions.md)\<`TFn`\> +[`ThrottlerOptions`](../interfaces/ThrottlerOptions.md)\<`TFn`\> ## Returns diff --git a/docs/reference/functions/throttlerOptions.md b/docs/reference/functions/throttlerOptions.md index 144bc7f32..3f7d13d8b 100644 --- a/docs/reference/functions/throttlerOptions.md +++ b/docs/reference/functions/throttlerOptions.md @@ -17,11 +17,11 @@ Utility function for sharing common `ThrottlerOptions` options between different ### TFn -`TFn` *extends* [`AnyFunction`](../../type-aliases/AnyFunction.md) = [`AnyFunction`](../../type-aliases/AnyFunction.md) +`TFn` *extends* [`AnyFunction`](../type-aliases/AnyFunction.md) = [`AnyFunction`](../type-aliases/AnyFunction.md) ### TOptions -`TOptions` *extends* `Partial`\<[`ThrottlerOptions`](../../interfaces/ThrottlerOptions.md)\<`TFn`\>\> = `Partial`\<[`ThrottlerOptions`](../../interfaces/ThrottlerOptions.md)\<`TFn`\>\> +`TOptions` *extends* `Partial`\<[`ThrottlerOptions`](../interfaces/ThrottlerOptions.md)\<`TFn`\>\> = `Partial`\<[`ThrottlerOptions`](../interfaces/ThrottlerOptions.md)\<`TFn`\>\> ## Parameters diff --git a/docs/reference/index.md b/docs/reference/index.md index a6db5b464..d54552e25 100644 --- a/docs/reference/index.md +++ b/docs/reference/index.md @@ -7,78 +7,78 @@ title: "@tanstack/pacer" ## Classes -- [AsyncBatcher](../classes/AsyncBatcher.md) -- [AsyncDebouncer](../classes/AsyncDebouncer.md) -- [AsyncQueuer](../classes/AsyncQueuer.md) -- [AsyncRateLimiter](../classes/AsyncRateLimiter.md) -- [AsyncRetryer](../classes/AsyncRetryer.md) -- [AsyncThrottler](../classes/AsyncThrottler.md) -- [Batcher](../classes/Batcher.md) -- [Debouncer](../classes/Debouncer.md) -- [Queuer](../classes/Queuer.md) -- [RateLimiter](../classes/RateLimiter.md) -- [Throttler](../classes/Throttler.md) +- [AsyncBatcher](classes/AsyncBatcher.md) +- [AsyncDebouncer](classes/AsyncDebouncer.md) +- [AsyncQueuer](classes/AsyncQueuer.md) +- [AsyncRateLimiter](classes/AsyncRateLimiter.md) +- [AsyncRetryer](classes/AsyncRetryer.md) +- [AsyncThrottler](classes/AsyncThrottler.md) +- [Batcher](classes/Batcher.md) +- [Debouncer](classes/Debouncer.md) +- [Queuer](classes/Queuer.md) +- [RateLimiter](classes/RateLimiter.md) +- [Throttler](classes/Throttler.md) ## Interfaces -- [AsyncBatcherOptions](../interfaces/AsyncBatcherOptions.md) -- [AsyncBatcherState](../interfaces/AsyncBatcherState.md) -- [AsyncDebouncerOptions](../interfaces/AsyncDebouncerOptions.md) -- [AsyncDebouncerState](../interfaces/AsyncDebouncerState.md) -- [AsyncQueuerOptions](../interfaces/AsyncQueuerOptions.md) -- [AsyncQueuerState](../interfaces/AsyncQueuerState.md) -- [AsyncRateLimiterOptions](../interfaces/AsyncRateLimiterOptions.md) -- [AsyncRateLimiterState](../interfaces/AsyncRateLimiterState.md) -- [AsyncRetryerOptions](../interfaces/AsyncRetryerOptions.md) -- [AsyncRetryerState](../interfaces/AsyncRetryerState.md) -- [AsyncThrottlerOptions](../interfaces/AsyncThrottlerOptions.md) -- [AsyncThrottlerState](../interfaces/AsyncThrottlerState.md) -- [BatcherOptions](../interfaces/BatcherOptions.md) -- [BatcherState](../interfaces/BatcherState.md) -- [DebouncerOptions](../interfaces/DebouncerOptions.md) -- [DebouncerState](../interfaces/DebouncerState.md) -- [PacerEventMap](../interfaces/PacerEventMap.md) -- [QueuerOptions](../interfaces/QueuerOptions.md) -- [QueuerState](../interfaces/QueuerState.md) -- [RateLimiterOptions](../interfaces/RateLimiterOptions.md) -- [RateLimiterState](../interfaces/RateLimiterState.md) -- [ThrottlerOptions](../interfaces/ThrottlerOptions.md) -- [ThrottlerState](../interfaces/ThrottlerState.md) +- [AsyncBatcherOptions](interfaces/AsyncBatcherOptions.md) +- [AsyncBatcherState](interfaces/AsyncBatcherState.md) +- [AsyncDebouncerOptions](interfaces/AsyncDebouncerOptions.md) +- [AsyncDebouncerState](interfaces/AsyncDebouncerState.md) +- [AsyncQueuerOptions](interfaces/AsyncQueuerOptions.md) +- [AsyncQueuerState](interfaces/AsyncQueuerState.md) +- [AsyncRateLimiterOptions](interfaces/AsyncRateLimiterOptions.md) +- [AsyncRateLimiterState](interfaces/AsyncRateLimiterState.md) +- [AsyncRetryerOptions](interfaces/AsyncRetryerOptions.md) +- [AsyncRetryerState](interfaces/AsyncRetryerState.md) +- [AsyncThrottlerOptions](interfaces/AsyncThrottlerOptions.md) +- [AsyncThrottlerState](interfaces/AsyncThrottlerState.md) +- [BatcherOptions](interfaces/BatcherOptions.md) +- [BatcherState](interfaces/BatcherState.md) +- [DebouncerOptions](interfaces/DebouncerOptions.md) +- [DebouncerState](interfaces/DebouncerState.md) +- [PacerEventMap](interfaces/PacerEventMap.md) +- [QueuerOptions](interfaces/QueuerOptions.md) +- [QueuerState](interfaces/QueuerState.md) +- [RateLimiterOptions](interfaces/RateLimiterOptions.md) +- [RateLimiterState](interfaces/RateLimiterState.md) +- [ThrottlerOptions](interfaces/ThrottlerOptions.md) +- [ThrottlerState](interfaces/ThrottlerState.md) ## Type Aliases -- [AnyAsyncFunction](../type-aliases/AnyAsyncFunction.md) -- [AnyFunction](../type-aliases/AnyFunction.md) -- [OptionalKeys](../type-aliases/OptionalKeys.md) -- [PacerEventName](../type-aliases/PacerEventName.md) -- [QueuePosition](../type-aliases/QueuePosition.md) +- [AnyAsyncFunction](type-aliases/AnyAsyncFunction.md) +- [AnyFunction](type-aliases/AnyFunction.md) +- [OptionalKeys](type-aliases/OptionalKeys.md) +- [PacerEventName](type-aliases/PacerEventName.md) +- [QueuePosition](type-aliases/QueuePosition.md) ## Variables -- [pacerEventClient](../variables/pacerEventClient.md) +- [pacerEventClient](variables/pacerEventClient.md) ## Functions -- [asyncBatch](../functions/asyncBatch.md) -- [asyncBatcherOptions](../functions/asyncBatcherOptions.md) -- [asyncDebounce](../functions/asyncDebounce.md) -- [asyncDebouncerOptions](../functions/asyncDebouncerOptions.md) -- [asyncQueue](../functions/asyncQueue.md) -- [asyncQueuerOptions](../functions/asyncQueuerOptions.md) -- [asyncRateLimit](../functions/asyncRateLimit.md) -- [asyncRateLimiterOptions](../functions/asyncRateLimiterOptions.md) -- [asyncRetry](../functions/asyncRetry.md) -- [asyncRetryerOptions](../functions/asyncRetryerOptions.md) -- [asyncThrottle](../functions/asyncThrottle.md) -- [asyncThrottlerOptions](../functions/asyncThrottlerOptions.md) -- [batch](../functions/batch.md) -- [debounce](../functions/debounce.md) -- [debouncerOptions](../functions/debouncerOptions.md) -- [isFunction](../functions/isFunction.md) -- [parseFunctionOrValue](../functions/parseFunctionOrValue.md) -- [queue](../functions/queue.md) -- [queuerOptions](../functions/queuerOptions.md) -- [rateLimit](../functions/rateLimit.md) -- [rateLimiterOptions](../functions/rateLimiterOptions.md) -- [throttle](../functions/throttle.md) -- [throttlerOptions](../functions/throttlerOptions.md) +- [asyncBatch](functions/asyncBatch.md) +- [asyncBatcherOptions](functions/asyncBatcherOptions.md) +- [asyncDebounce](functions/asyncDebounce.md) +- [asyncDebouncerOptions](functions/asyncDebouncerOptions.md) +- [asyncQueue](functions/asyncQueue.md) +- [asyncQueuerOptions](functions/asyncQueuerOptions.md) +- [asyncRateLimit](functions/asyncRateLimit.md) +- [asyncRateLimiterOptions](functions/asyncRateLimiterOptions.md) +- [asyncRetry](functions/asyncRetry.md) +- [asyncRetryerOptions](functions/asyncRetryerOptions.md) +- [asyncThrottle](functions/asyncThrottle.md) +- [asyncThrottlerOptions](functions/asyncThrottlerOptions.md) +- [batch](functions/batch.md) +- [debounce](functions/debounce.md) +- [debouncerOptions](functions/debouncerOptions.md) +- [isFunction](functions/isFunction.md) +- [parseFunctionOrValue](functions/parseFunctionOrValue.md) +- [queue](functions/queue.md) +- [queuerOptions](functions/queuerOptions.md) +- [rateLimit](functions/rateLimit.md) +- [rateLimiterOptions](functions/rateLimiterOptions.md) +- [throttle](functions/throttle.md) +- [throttlerOptions](functions/throttlerOptions.md) diff --git a/docs/reference/interfaces/AsyncBatcherOptions.md b/docs/reference/interfaces/AsyncBatcherOptions.md index 3ff528fc7..d50227c5c 100644 --- a/docs/reference/interfaces/AsyncBatcherOptions.md +++ b/docs/reference/interfaces/AsyncBatcherOptions.md @@ -48,7 +48,7 @@ Return true to process the batch immediately ##### batcher -[`AsyncBatcher`](../../classes/AsyncBatcher.md)\<`TValue`\> +[`AsyncBatcher`](../classes/AsyncBatcher.md)\<`TValue`\> #### Returns @@ -123,7 +123,7 @@ This can be used alongside throwOnError - the handler will be called before any ##### batcher -[`AsyncBatcher`](../../classes/AsyncBatcher.md)\<`TValue`\> +[`AsyncBatcher`](../classes/AsyncBatcher.md)\<`TValue`\> #### Returns @@ -145,7 +145,7 @@ Callback fired after items are added to the batcher ##### batcher -[`AsyncBatcher`](../../classes/AsyncBatcher.md)\<`TValue`\> +[`AsyncBatcher`](../classes/AsyncBatcher.md)\<`TValue`\> #### Returns @@ -171,7 +171,7 @@ Optional callback to call when a batch is settled (completed or failed) ##### batcher -[`AsyncBatcher`](../../classes/AsyncBatcher.md)\<`TValue`\> +[`AsyncBatcher`](../classes/AsyncBatcher.md)\<`TValue`\> #### Returns @@ -201,7 +201,7 @@ Optional callback to call when a batch succeeds ##### batcher -[`AsyncBatcher`](../../classes/AsyncBatcher.md)\<`TValue`\> +[`AsyncBatcher`](../classes/AsyncBatcher.md)\<`TValue`\> #### Returns diff --git a/docs/reference/interfaces/AsyncDebouncerOptions.md b/docs/reference/interfaces/AsyncDebouncerOptions.md index 2432600ff..d41642fc3 100644 --- a/docs/reference/interfaces/AsyncDebouncerOptions.md +++ b/docs/reference/interfaces/AsyncDebouncerOptions.md @@ -13,7 +13,7 @@ Options for configuring an async debounced function ### TFn -`TFn` *extends* [`AnyAsyncFunction`](../../type-aliases/AnyAsyncFunction.md) +`TFn` *extends* [`AnyAsyncFunction`](../type-aliases/AnyAsyncFunction.md) ## Properties @@ -105,7 +105,7 @@ This can be used alongside throwOnError - the handler will be called before any ##### debouncer -[`AsyncDebouncer`](../../classes/AsyncDebouncer.md)\<`TFn`\> +[`AsyncDebouncer`](../classes/AsyncDebouncer.md)\<`TFn`\> #### Returns @@ -131,7 +131,7 @@ Optional callback to call when the debounced function is executed ##### debouncer -[`AsyncDebouncer`](../../classes/AsyncDebouncer.md)\<`TFn`\> +[`AsyncDebouncer`](../classes/AsyncDebouncer.md)\<`TFn`\> #### Returns @@ -161,7 +161,7 @@ Optional callback to call when the debounced function is executed ##### debouncer -[`AsyncDebouncer`](../../classes/AsyncDebouncer.md)\<`TFn`\> +[`AsyncDebouncer`](../classes/AsyncDebouncer.md)\<`TFn`\> #### Returns diff --git a/docs/reference/interfaces/AsyncDebouncerState.md b/docs/reference/interfaces/AsyncDebouncerState.md index 70f1af3b2..f2d2fcb74 100644 --- a/docs/reference/interfaces/AsyncDebouncerState.md +++ b/docs/reference/interfaces/AsyncDebouncerState.md @@ -11,7 +11,7 @@ Defined in: [async-debouncer.ts:8](https://github.com/TanStack/pacer/blob/main/p ### TFn -`TFn` *extends* [`AnyAsyncFunction`](../../type-aliases/AnyAsyncFunction.md) +`TFn` *extends* [`AnyAsyncFunction`](../type-aliases/AnyAsyncFunction.md) ## Properties diff --git a/docs/reference/interfaces/AsyncQueuerOptions.md b/docs/reference/interfaces/AsyncQueuerOptions.md index 789088083..23ebf1d6b 100644 --- a/docs/reference/interfaces/AsyncQueuerOptions.md +++ b/docs/reference/interfaces/AsyncQueuerOptions.md @@ -219,7 +219,7 @@ This can be used alongside throwOnError - the handler will be called before any ##### queuer -[`AsyncQueuer`](../../classes/AsyncQueuer.md)\<`TValue`\> +[`AsyncQueuer`](../classes/AsyncQueuer.md)\<`TValue`\> #### Returns @@ -245,7 +245,7 @@ Callback fired whenever an item expires in the queuer ##### queuer -[`AsyncQueuer`](../../classes/AsyncQueuer.md)\<`TValue`\> +[`AsyncQueuer`](../classes/AsyncQueuer.md)\<`TValue`\> #### Returns @@ -267,7 +267,7 @@ Callback fired whenever an item is added or removed from the queuer ##### queuer -[`AsyncQueuer`](../../classes/AsyncQueuer.md)\<`TValue`\> +[`AsyncQueuer`](../classes/AsyncQueuer.md)\<`TValue`\> #### Returns @@ -293,7 +293,7 @@ Callback fired whenever an item is rejected from being added to the queuer ##### queuer -[`AsyncQueuer`](../../classes/AsyncQueuer.md)\<`TValue`\> +[`AsyncQueuer`](../classes/AsyncQueuer.md)\<`TValue`\> #### Returns @@ -319,7 +319,7 @@ Optional callback to call when a task is settled ##### queuer -[`AsyncQueuer`](../../classes/AsyncQueuer.md)\<`TValue`\> +[`AsyncQueuer`](../classes/AsyncQueuer.md)\<`TValue`\> #### Returns @@ -349,7 +349,7 @@ Optional callback to call when a task succeeds ##### queuer -[`AsyncQueuer`](../../classes/AsyncQueuer.md)\<`TValue`\> +[`AsyncQueuer`](../classes/AsyncQueuer.md)\<`TValue`\> #### Returns diff --git a/docs/reference/interfaces/AsyncRateLimiterOptions.md b/docs/reference/interfaces/AsyncRateLimiterOptions.md index e8eda7ecc..6be480c16 100644 --- a/docs/reference/interfaces/AsyncRateLimiterOptions.md +++ b/docs/reference/interfaces/AsyncRateLimiterOptions.md @@ -13,7 +13,7 @@ Options for configuring an async rate-limited function ### TFn -`TFn` *extends* [`AnyAsyncFunction`](../../type-aliases/AnyAsyncFunction.md) +`TFn` *extends* [`AnyAsyncFunction`](../type-aliases/AnyAsyncFunction.md) ## Properties @@ -105,7 +105,7 @@ This can be used alongside throwOnError - the handler will be called before any ##### rateLimiter -[`AsyncRateLimiter`](../../classes/AsyncRateLimiter.md)\<`TFn`\> +[`AsyncRateLimiter`](../classes/AsyncRateLimiter.md)\<`TFn`\> #### Returns @@ -131,7 +131,7 @@ Optional callback function that is called when an execution is rejected due to r ##### rateLimiter -[`AsyncRateLimiter`](../../classes/AsyncRateLimiter.md)\<`TFn`\> +[`AsyncRateLimiter`](../classes/AsyncRateLimiter.md)\<`TFn`\> #### Returns @@ -157,7 +157,7 @@ Optional function to call when the rate-limited function is executed ##### rateLimiter -[`AsyncRateLimiter`](../../classes/AsyncRateLimiter.md)\<`TFn`\> +[`AsyncRateLimiter`](../classes/AsyncRateLimiter.md)\<`TFn`\> #### Returns @@ -187,7 +187,7 @@ Optional function to call when the rate-limited function is executed ##### rateLimiter -[`AsyncRateLimiter`](../../classes/AsyncRateLimiter.md)\<`TFn`\> +[`AsyncRateLimiter`](../classes/AsyncRateLimiter.md)\<`TFn`\> #### Returns diff --git a/docs/reference/interfaces/AsyncRateLimiterState.md b/docs/reference/interfaces/AsyncRateLimiterState.md index c6417f181..b39838235 100644 --- a/docs/reference/interfaces/AsyncRateLimiterState.md +++ b/docs/reference/interfaces/AsyncRateLimiterState.md @@ -11,7 +11,7 @@ Defined in: [async-rate-limiter.ts:8](https://github.com/TanStack/pacer/blob/mai ### TFn -`TFn` *extends* [`AnyAsyncFunction`](../../type-aliases/AnyAsyncFunction.md) +`TFn` *extends* [`AnyAsyncFunction`](../type-aliases/AnyAsyncFunction.md) ## Properties diff --git a/docs/reference/interfaces/AsyncRetryerOptions.md b/docs/reference/interfaces/AsyncRetryerOptions.md index 13228fbfb..80c3899ff 100644 --- a/docs/reference/interfaces/AsyncRetryerOptions.md +++ b/docs/reference/interfaces/AsyncRetryerOptions.md @@ -11,7 +11,7 @@ Defined in: [async-retryer.ts:60](https://github.com/TanStack/pacer/blob/main/pa ### TFn -`TFn` *extends* [`AnyAsyncFunction`](../../type-aliases/AnyAsyncFunction.md) +`TFn` *extends* [`AnyAsyncFunction`](../type-aliases/AnyAsyncFunction.md) ## Properties @@ -187,7 +187,7 @@ Callback invoked when the execution is aborted (manually or due to timeouts) ##### retryer -[`AsyncRetryer`](../../classes/AsyncRetryer.md)\<`TFn`\> +[`AsyncRetryer`](../classes/AsyncRetryer.md)\<`TFn`\> #### Returns @@ -217,7 +217,7 @@ Callback invoked when any error occurs during execution (including retries) ##### retryer -[`AsyncRetryer`](../../classes/AsyncRetryer.md)\<`TFn`\> +[`AsyncRetryer`](../classes/AsyncRetryer.md)\<`TFn`\> #### Returns @@ -239,7 +239,7 @@ Callback invoked when a single execution attempt times out (maxExecutionTime exc ##### retryer -[`AsyncRetryer`](../../classes/AsyncRetryer.md)\<`TFn`\> +[`AsyncRetryer`](../classes/AsyncRetryer.md)\<`TFn`\> #### Returns @@ -265,7 +265,7 @@ Callback invoked when the final error occurs after all retries are exhausted ##### retryer -[`AsyncRetryer`](../../classes/AsyncRetryer.md)\<`TFn`\> +[`AsyncRetryer`](../classes/AsyncRetryer.md)\<`TFn`\> #### Returns @@ -295,7 +295,7 @@ Callback invoked before each retry attempt ##### retryer -[`AsyncRetryer`](../../classes/AsyncRetryer.md)\<`TFn`\> +[`AsyncRetryer`](../classes/AsyncRetryer.md)\<`TFn`\> #### Returns @@ -321,7 +321,7 @@ Callback invoked after execution completes (success or failure) of each attempt ##### retryer -[`AsyncRetryer`](../../classes/AsyncRetryer.md)\<`TFn`\> +[`AsyncRetryer`](../classes/AsyncRetryer.md)\<`TFn`\> #### Returns @@ -351,7 +351,7 @@ Callback invoked when execution succeeds ##### retryer -[`AsyncRetryer`](../../classes/AsyncRetryer.md)\<`TFn`\> +[`AsyncRetryer`](../classes/AsyncRetryer.md)\<`TFn`\> #### Returns @@ -373,7 +373,7 @@ Callback invoked when the total execution time times out (maxTotalExecutionTime ##### retryer -[`AsyncRetryer`](../../classes/AsyncRetryer.md)\<`TFn`\> +[`AsyncRetryer`](../classes/AsyncRetryer.md)\<`TFn`\> #### Returns diff --git a/docs/reference/interfaces/AsyncRetryerState.md b/docs/reference/interfaces/AsyncRetryerState.md index a6ec607da..75d501a60 100644 --- a/docs/reference/interfaces/AsyncRetryerState.md +++ b/docs/reference/interfaces/AsyncRetryerState.md @@ -11,7 +11,7 @@ Defined in: [async-retryer.ts:6](https://github.com/TanStack/pacer/blob/main/pac ### TFn -`TFn` *extends* [`AnyAsyncFunction`](../../type-aliases/AnyAsyncFunction.md) +`TFn` *extends* [`AnyAsyncFunction`](../type-aliases/AnyAsyncFunction.md) ## Properties diff --git a/docs/reference/interfaces/AsyncThrottlerOptions.md b/docs/reference/interfaces/AsyncThrottlerOptions.md index ac7ba121b..89efc9974 100644 --- a/docs/reference/interfaces/AsyncThrottlerOptions.md +++ b/docs/reference/interfaces/AsyncThrottlerOptions.md @@ -13,7 +13,7 @@ Options for configuring an async throttled function ### TFn -`TFn` *extends* [`AnyAsyncFunction`](../../type-aliases/AnyAsyncFunction.md) +`TFn` *extends* [`AnyAsyncFunction`](../type-aliases/AnyAsyncFunction.md) ## Properties @@ -105,7 +105,7 @@ This can be used alongside throwOnError - the handler will be called before any ##### asyncThrottler -[`AsyncThrottler`](../../classes/AsyncThrottler.md)\<`TFn`\> +[`AsyncThrottler`](../classes/AsyncThrottler.md)\<`TFn`\> #### Returns @@ -131,7 +131,7 @@ Optional function to call when the throttled function is executed ##### asyncThrottler -[`AsyncThrottler`](../../classes/AsyncThrottler.md)\<`TFn`\> +[`AsyncThrottler`](../classes/AsyncThrottler.md)\<`TFn`\> #### Returns @@ -161,7 +161,7 @@ Optional function to call when the throttled function is executed ##### asyncThrottler -[`AsyncThrottler`](../../classes/AsyncThrottler.md)\<`TFn`\> +[`AsyncThrottler`](../classes/AsyncThrottler.md)\<`TFn`\> #### Returns diff --git a/docs/reference/interfaces/AsyncThrottlerState.md b/docs/reference/interfaces/AsyncThrottlerState.md index 3cb019fbd..7989cf8c5 100644 --- a/docs/reference/interfaces/AsyncThrottlerState.md +++ b/docs/reference/interfaces/AsyncThrottlerState.md @@ -11,7 +11,7 @@ Defined in: [async-throttler.ts:8](https://github.com/TanStack/pacer/blob/main/p ### TFn -`TFn` *extends* [`AnyAsyncFunction`](../../type-aliases/AnyAsyncFunction.md) +`TFn` *extends* [`AnyAsyncFunction`](../type-aliases/AnyAsyncFunction.md) ## Properties diff --git a/docs/reference/interfaces/BatcherOptions.md b/docs/reference/interfaces/BatcherOptions.md index ac3921527..c55269f83 100644 --- a/docs/reference/interfaces/BatcherOptions.md +++ b/docs/reference/interfaces/BatcherOptions.md @@ -36,7 +36,7 @@ Return true to process the batch immediately ##### batcher -[`Batcher`](../../classes/Batcher.md)\<`TValue`\> +[`Batcher`](../classes/Batcher.md)\<`TValue`\> #### Returns @@ -105,7 +105,7 @@ Callback fired after a batch is processed ##### batcher -[`Batcher`](../../classes/Batcher.md)\<`TValue`\> +[`Batcher`](../classes/Batcher.md)\<`TValue`\> #### Returns @@ -127,7 +127,7 @@ Callback fired after items are added to the batcher ##### batcher -[`Batcher`](../../classes/Batcher.md)\<`TValue`\> +[`Batcher`](../classes/Batcher.md)\<`TValue`\> #### Returns diff --git a/docs/reference/interfaces/DebouncerOptions.md b/docs/reference/interfaces/DebouncerOptions.md index 96f035817..192e1bc13 100644 --- a/docs/reference/interfaces/DebouncerOptions.md +++ b/docs/reference/interfaces/DebouncerOptions.md @@ -13,7 +13,7 @@ Options for configuring a debounced function ### TFn -`TFn` *extends* [`AnyFunction`](../../type-aliases/AnyFunction.md) +`TFn` *extends* [`AnyFunction`](../type-aliases/AnyFunction.md) ## Properties @@ -88,7 +88,7 @@ Callback function that is called after the function is executed ##### debouncer -[`Debouncer`](../../classes/Debouncer.md)\<`TFn`\> +[`Debouncer`](../classes/Debouncer.md)\<`TFn`\> #### Returns diff --git a/docs/reference/interfaces/DebouncerState.md b/docs/reference/interfaces/DebouncerState.md index 2d2de0ed3..ed65cd8e0 100644 --- a/docs/reference/interfaces/DebouncerState.md +++ b/docs/reference/interfaces/DebouncerState.md @@ -11,7 +11,7 @@ Defined in: [debouncer.ts:6](https://github.com/TanStack/pacer/blob/main/package ### TFn -`TFn` *extends* [`AnyFunction`](../../type-aliases/AnyFunction.md) +`TFn` *extends* [`AnyFunction`](../type-aliases/AnyFunction.md) ## Properties diff --git a/docs/reference/interfaces/QueuerOptions.md b/docs/reference/interfaces/QueuerOptions.md index d05b38505..6823799dd 100644 --- a/docs/reference/interfaces/QueuerOptions.md +++ b/docs/reference/interfaces/QueuerOptions.md @@ -185,7 +185,7 @@ Callback fired whenever an item is removed from the queuer ##### queuer -[`Queuer`](../../classes/Queuer.md)\<`TValue`\> +[`Queuer`](../classes/Queuer.md)\<`TValue`\> #### Returns @@ -211,7 +211,7 @@ Callback fired whenever an item expires in the queuer ##### queuer -[`Queuer`](../../classes/Queuer.md)\<`TValue`\> +[`Queuer`](../classes/Queuer.md)\<`TValue`\> #### Returns @@ -233,7 +233,7 @@ Callback fired whenever an item is added or removed from the queuer ##### queuer -[`Queuer`](../../classes/Queuer.md)\<`TValue`\> +[`Queuer`](../classes/Queuer.md)\<`TValue`\> #### Returns @@ -259,7 +259,7 @@ Callback fired whenever an item is rejected from being added to the queuer ##### queuer -[`Queuer`](../../classes/Queuer.md)\<`TValue`\> +[`Queuer`](../classes/Queuer.md)\<`TValue`\> #### Returns diff --git a/docs/reference/interfaces/RateLimiterOptions.md b/docs/reference/interfaces/RateLimiterOptions.md index bac4b6b81..cd652d60c 100644 --- a/docs/reference/interfaces/RateLimiterOptions.md +++ b/docs/reference/interfaces/RateLimiterOptions.md @@ -13,7 +13,7 @@ Options for configuring a rate-limited function ### TFn -`TFn` *extends* [`AnyFunction`](../../type-aliases/AnyFunction.md) +`TFn` *extends* [`AnyFunction`](../type-aliases/AnyFunction.md) ## Properties @@ -86,7 +86,7 @@ Callback function that is called after the function is executed ##### rateLimiter -[`RateLimiter`](../../classes/RateLimiter.md)\<`TFn`\> +[`RateLimiter`](../classes/RateLimiter.md)\<`TFn`\> #### Returns @@ -108,7 +108,7 @@ Optional callback function that is called when an execution is rejected due to r ##### rateLimiter -[`RateLimiter`](../../classes/RateLimiter.md)\<`TFn`\> +[`RateLimiter`](../classes/RateLimiter.md)\<`TFn`\> #### Returns diff --git a/docs/reference/interfaces/ThrottlerOptions.md b/docs/reference/interfaces/ThrottlerOptions.md index 8ae6f1883..0181d71c0 100644 --- a/docs/reference/interfaces/ThrottlerOptions.md +++ b/docs/reference/interfaces/ThrottlerOptions.md @@ -13,7 +13,7 @@ Options for configuring a throttled function ### TFn -`TFn` *extends* [`AnyFunction`](../../type-aliases/AnyFunction.md) +`TFn` *extends* [`AnyFunction`](../type-aliases/AnyFunction.md) ## Properties @@ -87,7 +87,7 @@ Callback function that is called after the function is executed ##### throttler -[`Throttler`](../../classes/Throttler.md)\<`TFn`\> +[`Throttler`](../classes/Throttler.md)\<`TFn`\> #### Returns diff --git a/docs/reference/interfaces/ThrottlerState.md b/docs/reference/interfaces/ThrottlerState.md index 74b99b907..3ffbd9e4c 100644 --- a/docs/reference/interfaces/ThrottlerState.md +++ b/docs/reference/interfaces/ThrottlerState.md @@ -11,7 +11,7 @@ Defined in: [throttler.ts:6](https://github.com/TanStack/pacer/blob/main/package ### TFn -`TFn` *extends* [`AnyFunction`](../../type-aliases/AnyFunction.md) +`TFn` *extends* [`AnyFunction`](../type-aliases/AnyFunction.md) ## Properties diff --git a/package.json b/package.json index 704690ad1..bfbb92f83 100644 --- a/package.json +++ b/package.json @@ -66,7 +66,6 @@ "@types/node": "^24.10.1", "eslint": "^9.39.1", "eslint-plugin-unused-imports": "^4.3.0", - "fast-glob": "^3.3.3", "happy-dom": "^20.0.11", "knip": "^5.71.0", "markdown-link-extractor": "^4.0.3", @@ -77,6 +76,7 @@ "publint": "^0.3.15", "sherif": "^1.9.0", "size-limit": "^12.0.0", + "tinyglobby": "^0.2.15", "typescript": "5.9.3", "vite": "^7.2.6", "vitest": "^4.0.15" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c91e1d280..07cef3078 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -41,9 +41,6 @@ importers: eslint-plugin-unused-imports: specifier: ^4.3.0 version: 4.3.0(@typescript-eslint/eslint-plugin@8.48.1(@typescript-eslint/parser@8.48.1(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1)) - fast-glob: - specifier: ^3.3.3 - version: 3.3.3 happy-dom: specifier: ^20.0.11 version: 20.0.11 @@ -74,6 +71,9 @@ importers: size-limit: specifier: ^12.0.0 version: 12.0.0(jiti@2.6.1) + tinyglobby: + specifier: ^0.2.15 + version: 0.2.15 typescript: specifier: 5.9.3 version: 5.9.3 diff --git a/scripts/generate-docs.ts b/scripts/generate-docs.ts index a70e138d1..6257d8a56 100644 --- a/scripts/generate-docs.ts +++ b/scripts/generate-docs.ts @@ -1,10 +1,7 @@ import { resolve } from 'node:path' import { fileURLToPath } from 'node:url' -import { readFileSync, writeFileSync } from 'node:fs' import { generateReferenceDocs } from '@tanstack/typedoc-config' -import fg from 'fast-glob' - const __dirname = fileURLToPath(new URL('.', import.meta.url)) await generateReferenceDocs({ @@ -38,32 +35,6 @@ await generateReferenceDocs({ ], }) -// Find all markdown files matching the pattern -const markdownFiles = [ - ...(await fg('docs/reference/**/*.md')), - ...(await fg('docs/framework/*/reference/**/*.md')), -] - -console.log(`Found ${markdownFiles.length} markdown files to process\n`) - -// Process each markdown file -markdownFiles.forEach((file) => { - const content = readFileSync(file, 'utf-8') - let updatedContent = content - updatedContent = updatedContent.replaceAll(/\]\(\.\.\//gm, '](../../') - // updatedContent = content.replaceAll(/\]\(\.\//gm, '](../') - updatedContent = updatedContent.replaceAll( - /\]\((?!https?:\/\/|\/\/|\/|\.\/|\.\.\/|#)([^)]+)\)/gm, - (match, p1) => `](../${p1})`, - ) - - // Write the updated content back to the file - if (updatedContent !== content) { - writeFileSync(file, updatedContent, 'utf-8') - console.log(`Processed file: ${file}`) - } -}) - console.log('\n✅ All markdown files have been processed!') process.exit(0) diff --git a/scripts/verify-links.ts b/scripts/verify-links.ts index 31d786c44..8a1c40ddc 100644 --- a/scripts/verify-links.ts +++ b/scripts/verify-links.ts @@ -1,12 +1,18 @@ import { existsSync, readFileSync, statSync } from 'node:fs' -import path, { resolve } from 'node:path' -import fg from 'fast-glob' -// @ts-ignore - this is a valid import +import { extname, resolve } from 'node:path' +import { glob } from 'tinyglobby' +// @ts-ignore Could not find a declaration file for module 'markdown-link-extractor'. import markdownLinkExtractor from 'markdown-link-extractor' +const errors: Array<{ + file: string + link: string + resolvedPath: string + reason: string +}> = [] + function isRelativeLink(link: string) { return ( - link && !link.startsWith('/') && !link.startsWith('http://') && !link.startsWith('https://') && @@ -16,39 +22,33 @@ function isRelativeLink(link: string) { ) } -function normalizePath(p: string): string { - // Remove any trailing .md - p = p.replace(`${path.extname(p)}`, '') - return p +/** Remove any trailing .md */ +function stripExtension(p: string): string { + return p.replace(`${extname(p)}`, '') } -function fileExistsForLink( - link: string, - markdownFile: string, - errors: Array, -): boolean { +function relativeLinkExists(link: string, file: string): boolean { // Remove hash if present - const filePart = link.split('#')[0] + const linkWithoutHash = link.split('#')[0] // If the link is empty after removing hash, it's not a file - if (!filePart) return false - - // Normalize the markdown file path - markdownFile = normalizePath(markdownFile) + if (!linkWithoutHash) return false - // Normalize the path - const normalizedPath = normalizePath(filePart) + // Strip the file/link extensions + const filePath = stripExtension(file) + const linkPath = stripExtension(linkWithoutHash) // Resolve the path relative to the markdown file's directory - let absPath = resolve(markdownFile, normalizedPath) + // Nav up a level to simulate how links are resolved on the web + let absPath = resolve(filePath, '..', linkPath) // Ensure the resolved path is within /docs const docsRoot = resolve('docs') if (!absPath.startsWith(docsRoot)) { errors.push({ link, - markdownFile, + file, resolvedPath: absPath, - reason: 'navigates above /docs, invalid', + reason: 'Path outside /docs', }) return false } @@ -77,42 +77,34 @@ function fileExistsForLink( if (!exists) { errors.push({ link, - markdownFile, + file, resolvedPath: absPath, - reason: 'not found', + reason: 'Not found', }) } return exists } -async function findMarkdownLinks() { +async function verifyMarkdownLinks() { // Find all markdown files in docs directory - const markdownFiles = await fg('docs/**/*.md', { + const markdownFiles = await glob('docs/**/*.md', { ignore: ['**/node_modules/**'], }) console.log(`Found ${markdownFiles.length} markdown files\n`) - const errors: Array = [] - // Process each file for (const file of markdownFiles) { const content = readFileSync(file, 'utf-8') - const links: Array = markdownLinkExtractor(content) - - const filteredLinks = links.filter((link: any) => { - if (typeof link === 'string') { - return isRelativeLink(link) - } else if (link && typeof link.href === 'string') { - return isRelativeLink(link.href) - } - return false + const links: Array = markdownLinkExtractor(content) + + const relativeLinks = links.filter((link: string) => { + return isRelativeLink(link) }) - if (filteredLinks.length > 0) { - filteredLinks.forEach((link: any) => { - const href = typeof link === 'string' ? link : link.href - fileExistsForLink(href, file, errors) + if (relativeLinks.length > 0) { + relativeLinks.forEach((link) => { + relativeLinkExists(link, file) }) } } @@ -121,7 +113,7 @@ async function findMarkdownLinks() { console.log(`\n❌ Found ${errors.length} broken links:`) errors.forEach((err) => { console.log( - `${err.link}\n in: ${err.markdownFile}\n path: ${err.resolvedPath}\n why: ${err.reason}\n`, + `${err.file}\n link: ${err.link}\n resolved: ${err.resolvedPath}\n why: ${err.reason}\n`, ) }) process.exit(1) @@ -130,4 +122,4 @@ async function findMarkdownLinks() { } } -findMarkdownLinks().catch(console.error) +verifyMarkdownLinks().catch(console.error)