From ce78ac217c7ffd4450f1800f6e776d46ed79b77f Mon Sep 17 00:00:00 2001 From: Lachlan Collins <1667261+lachlancollins@users.noreply.github.com> Date: Fri, 5 Dec 2025 22:26:31 +1100 Subject: [PATCH 1/2] docs: correct local relative links --- docs/framework/react/adapter.md | 2 +- .../reference/functions/PacerProvider.md | 2 +- .../reference/functions/useAsyncBatcher.md | 2 +- .../reference/functions/useAsyncDebouncer.md | 2 +- .../functions/useAsyncQueuedState.md | 2 +- .../reference/functions/useAsyncQueuer.md | 2 +- .../functions/useAsyncRateLimiter.md | 2 +- .../reference/functions/useAsyncThrottler.md | 2 +- .../react/reference/functions/useBatcher.md | 2 +- .../reference/functions/useDebouncedState.md | 2 +- .../reference/functions/useDebouncedValue.md | 2 +- .../react/reference/functions/useDebouncer.md | 2 +- .../functions/useDefaultPacerOptions.md | 2 +- .../reference/functions/useQueuedState.md | 2 +- .../reference/functions/useQueuedValue.md | 2 +- .../react/reference/functions/useQueuer.md | 2 +- .../functions/useRateLimitedState.md | 2 +- .../functions/useRateLimitedValue.md | 2 +- .../reference/functions/useRateLimiter.md | 2 +- .../reference/functions/useThrottledState.md | 2 +- .../reference/functions/useThrottledValue.md | 2 +- .../react/reference/functions/useThrottler.md | 2 +- docs/framework/react/reference/index.md | 84 ++++++------ .../reference/functions/PacerProvider.md | 2 +- .../reference/functions/createAsyncBatcher.md | 2 +- .../functions/createAsyncDebouncer.md | 2 +- .../reference/functions/createAsyncQueuer.md | 2 +- .../functions/createAsyncRateLimiter.md | 2 +- .../functions/createAsyncThrottler.md | 2 +- .../reference/functions/createBatcher.md | 2 +- .../functions/createDebouncedSignal.md | 2 +- .../functions/createDebouncedValue.md | 2 +- .../reference/functions/createDebouncer.md | 2 +- .../reference/functions/createQueuedSignal.md | 2 +- .../solid/reference/functions/createQueuer.md | 2 +- .../functions/createRateLimitedSignal.md | 2 +- .../functions/createRateLimitedValue.md | 2 +- .../reference/functions/createRateLimiter.md | 2 +- .../functions/createThrottledSignal.md | 2 +- .../functions/createThrottledValue.md | 2 +- .../reference/functions/createThrottler.md | 2 +- .../functions/useDefaultPacerOptions.md | 2 +- docs/framework/solid/reference/index.md | 64 ++++----- docs/guides/async-batching.md | 8 +- docs/guides/async-debouncing.md | 8 +- docs/guides/async-queuing.md | 20 +-- docs/guides/async-rate-limiting.md | 8 +- docs/guides/async-throttling.md | 8 +- docs/guides/batching.md | 8 +- docs/guides/debouncing.md | 10 +- docs/guides/queuing.md | 8 +- docs/guides/rate-limiting.md | 10 +- docs/guides/throttling.md | 8 +- .../which-pacer-utility-should-i-choose.md | 28 ++-- docs/quick-start.md | 8 +- docs/reference/classes/AsyncBatcher.md | 4 +- docs/reference/classes/AsyncDebouncer.md | 6 +- docs/reference/classes/AsyncQueuer.md | 14 +- docs/reference/classes/AsyncRateLimiter.md | 6 +- docs/reference/classes/AsyncRetryer.md | 6 +- docs/reference/classes/AsyncThrottler.md | 6 +- docs/reference/classes/Batcher.md | 4 +- docs/reference/classes/Debouncer.md | 6 +- docs/reference/classes/Queuer.md | 14 +- docs/reference/classes/RateLimiter.md | 6 +- docs/reference/classes/Throttler.md | 6 +- docs/reference/functions/asyncBatch.md | 2 +- .../functions/asyncBatcherOptions.md | 2 +- docs/reference/functions/asyncDebounce.md | 4 +- .../functions/asyncDebouncerOptions.md | 4 +- docs/reference/functions/asyncQueue.md | 4 +- .../reference/functions/asyncQueuerOptions.md | 2 +- docs/reference/functions/asyncRateLimit.md | 4 +- .../functions/asyncRateLimiterOptions.md | 4 +- docs/reference/functions/asyncRetry.md | 4 +- .../functions/asyncRetryerOptions.md | 4 +- docs/reference/functions/asyncThrottle.md | 4 +- .../functions/asyncThrottlerOptions.md | 4 +- docs/reference/functions/batch.md | 2 +- docs/reference/functions/debounce.md | 4 +- docs/reference/functions/debouncerOptions.md | 4 +- docs/reference/functions/isFunction.md | 2 +- docs/reference/functions/queue.md | 4 +- docs/reference/functions/queuerOptions.md | 2 +- docs/reference/functions/rateLimit.md | 4 +- .../reference/functions/rateLimiterOptions.md | 4 +- docs/reference/functions/throttle.md | 4 +- docs/reference/functions/throttlerOptions.md | 4 +- docs/reference/index.md | 126 +++++++++--------- .../interfaces/AsyncBatcherOptions.md | 10 +- .../interfaces/AsyncDebouncerOptions.md | 8 +- .../interfaces/AsyncDebouncerState.md | 2 +- .../interfaces/AsyncQueuerOptions.md | 12 +- .../interfaces/AsyncRateLimiterOptions.md | 10 +- .../interfaces/AsyncRateLimiterState.md | 2 +- .../interfaces/AsyncRetryerOptions.md | 18 +-- .../reference/interfaces/AsyncRetryerState.md | 2 +- .../interfaces/AsyncThrottlerOptions.md | 8 +- .../interfaces/AsyncThrottlerState.md | 2 +- docs/reference/interfaces/BatcherOptions.md | 6 +- docs/reference/interfaces/DebouncerOptions.md | 4 +- docs/reference/interfaces/DebouncerState.md | 2 +- docs/reference/interfaces/QueuerOptions.md | 8 +- .../interfaces/RateLimiterOptions.md | 6 +- docs/reference/interfaces/ThrottlerOptions.md | 4 +- docs/reference/interfaces/ThrottlerState.md | 2 +- package.json | 2 +- pnpm-lock.yaml | 6 +- scripts/generate-docs.ts | 29 ---- scripts/verify-links.ts | 80 +++++------ 110 files changed, 414 insertions(+), 451 deletions(-) diff --git a/docs/framework/react/adapter.md b/docs/framework/react/adapter.md index 50ff90d2..a9b1dcb0 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 26851b1f..8e1b3e87 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 fd89ee84..61a6eda8 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 a643db89..40986901 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 f5f791c6..3cc3e7a6 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 ba0e09ff..9f8f8fd1 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 25f6ef1d..ab77b5b3 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 c8f65745..ec39e343 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 049f5767..3317b825 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 d2f37dce..1b1d26e8 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 fe0f40cf..fe3be8ea 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 93043136..e7a3ab52 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 a8d3e101..09bc4240 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 95d3fd51..2cebf01e 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 953e5ca5..e9eaef2d 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 ada40ff2..287efc56 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 a7557634..76e49a11 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 7bb76200..069fec1a 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 32f26eea..1f26b1af 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 4f935a35..88412915 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 65e4d0eb..140a4870 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 e6117398..8809712f 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 cb74d388..a436f5d9 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 0d5238b0..7787e94c 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 5ce1f362..7f886af0 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 aa277d93..d24cbed1 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 3b67822a..46733b99 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 2b7a941c..616fa58c 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 57d47735..18cf29d1 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 39a086f7..52a15855 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 71892879..ff50485f 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 ecbb4597..8c2c99d1 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 6e313e64..8102bca7 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 66760cc3..d2cef53e 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 2eb8a56b..8ba68214 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 01835bc5..e6530b42 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 7dcc9e24..cfcfb2cf 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 00b8e750..f138c0f3 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 65696c96..8d05f569 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 54595b76..7522aafc 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 bd8a579f..d7e5a901 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 6a5c554e..f13948c3 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 178e989e..e0296b79 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 32f492d8..cfc41577 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 a8e97f72..32c1b2e3 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 7b33fab4..79b24836 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 7b69840e..c9dd2192 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 1e7e9bca..f3523435 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 d490dc42..ce55b9f8 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 d06e5ee2..7a297667 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 78a11c5a..92d1e684 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 c6c19609..18e85bc5 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 6a008e6b..9e782bed 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 94d988fb..b1b2d478 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 60b89190..d5264550 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 c9c2e8ec..7124b76a 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 56ba1f20..f98866a3 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 56ca89eb..84543478 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 25c322c7..76bb28e5 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 7c5ce346..e997a148 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 4e6989ab..3759d03e 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 c5f550c9..ceda9592 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 9d59e494..d09f08e3 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 022a1b10..3cfced50 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 6af6d53f..2d459861 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 1c9ea0d7..6582c976 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 f7c165da..5759b856 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 a2442b48..4685eb35 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 9dfafc2a..7c35c45e 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 c90eb21a..d46268c5 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 ff7e05d1..209e3909 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 6aedf5c9..3552b952 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 d223f36a..7f9c0882 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 deee9053..7844038a 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 2b356a09..98373017 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 c7c1a1de..7924cf17 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 b78339f2..6daf7011 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 e0041f49..f6ac4120 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 c93339f5..5200ddee 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 6318a5b6..ae762ec8 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 d7eef85c..1cf0f44f 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 b7352842..1f021553 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 f538b382..5a9ab949 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 abdca6a5..d98efeb1 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 24ccffeb..f73cc067 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 dd416998..01e8445f 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 c98a88bc..d51a7137 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 144bc7f3..3f7d13d8 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 a6db5b46..eb53a7a5 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 3ff528fc..d50227c5 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 2432600f..d41642fc 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 70f1af3b..f2d2fcb7 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 78908808..23ebf1d6 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 e8eda7ec..6be480c1 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 c6417f18..b3983823 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 13228fbf..80c3899f 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 a6ec607d..75d501a6 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 ac7ba121..89efc997 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 3cb019fb..7989cf8c 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 ac392152..c55269f8 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 96f03581..192e1bc1 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 2d2de0ed..ed65cd8e 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 d05b3850..6823799d 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 bac4b6b8..cd652d60 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 8ae6f188..0181d71c 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 74b99b90..3ffbd9e4 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 704690ad..bfbb92f8 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 c91e1d28..07cef307 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 a70e138d..6257d8a5 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 31d786c4..8a1c40dd 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) From 6a8b8eac3c76ca40d24131b8b6ca22a588803d16 Mon Sep 17 00:00:00 2001 From: "autofix-ci[bot]" <114827586+autofix-ci[bot]@users.noreply.github.com> Date: Fri, 5 Dec 2025 11:27:49 +0000 Subject: [PATCH 2/2] ci: apply automated fixes --- docs/framework/react/reference/index.md | 84 ++++++++-------- docs/framework/solid/reference/index.md | 64 ++++++------ docs/reference/index.md | 126 ++++++++++++------------ 3 files changed, 137 insertions(+), 137 deletions(-) diff --git a/docs/framework/react/reference/index.md b/docs/framework/react/reference/index.md index a436f5d9..17b02c8f 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/index.md b/docs/framework/solid/reference/index.md index e0296b79..00c2a648 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/reference/index.md b/docs/reference/index.md index eb53a7a5..d54552e2 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)