@tanstack/solid-pacer 0.20.1 → 0.21.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/async-batcher/createAsyncBatcher.cjs +2 -2
- package/dist/async-batcher/createAsyncBatcher.cjs.map +1 -1
- package/dist/async-batcher/createAsyncBatcher.d.cts +2 -2
- package/dist/async-batcher/createAsyncBatcher.d.ts +2 -2
- package/dist/async-batcher/createAsyncBatcher.js +3 -3
- package/dist/async-batcher/createAsyncBatcher.js.map +1 -1
- package/dist/async-debouncer/createAsyncDebouncer.cjs +2 -2
- package/dist/async-debouncer/createAsyncDebouncer.cjs.map +1 -1
- package/dist/async-debouncer/createAsyncDebouncer.d.cts +2 -2
- package/dist/async-debouncer/createAsyncDebouncer.d.ts +2 -2
- package/dist/async-debouncer/createAsyncDebouncer.js +3 -3
- package/dist/async-debouncer/createAsyncDebouncer.js.map +1 -1
- package/dist/async-queuer/createAsyncQueuer.cjs +2 -2
- package/dist/async-queuer/createAsyncQueuer.cjs.map +1 -1
- package/dist/async-queuer/createAsyncQueuer.d.cts +2 -2
- package/dist/async-queuer/createAsyncQueuer.d.ts +2 -2
- package/dist/async-queuer/createAsyncQueuer.js +3 -3
- package/dist/async-queuer/createAsyncQueuer.js.map +1 -1
- package/dist/async-rate-limiter/createAsyncRateLimiter.cjs +2 -2
- package/dist/async-rate-limiter/createAsyncRateLimiter.cjs.map +1 -1
- package/dist/async-rate-limiter/createAsyncRateLimiter.d.cts +2 -2
- package/dist/async-rate-limiter/createAsyncRateLimiter.d.ts +2 -2
- package/dist/async-rate-limiter/createAsyncRateLimiter.js +3 -3
- package/dist/async-rate-limiter/createAsyncRateLimiter.js.map +1 -1
- package/dist/async-throttler/createAsyncThrottler.cjs +2 -2
- package/dist/async-throttler/createAsyncThrottler.cjs.map +1 -1
- package/dist/async-throttler/createAsyncThrottler.d.cts +2 -2
- package/dist/async-throttler/createAsyncThrottler.d.ts +2 -2
- package/dist/async-throttler/createAsyncThrottler.js +3 -3
- package/dist/async-throttler/createAsyncThrottler.js.map +1 -1
- package/dist/batcher/createBatcher.cjs +2 -2
- package/dist/batcher/createBatcher.cjs.map +1 -1
- package/dist/batcher/createBatcher.d.cts +2 -2
- package/dist/batcher/createBatcher.d.ts +2 -2
- package/dist/batcher/createBatcher.js +3 -3
- package/dist/batcher/createBatcher.js.map +1 -1
- package/dist/debouncer/createDebouncedSignal.cjs.map +1 -1
- package/dist/debouncer/createDebouncedSignal.js.map +1 -1
- package/dist/debouncer/createDebouncedValue.cjs.map +1 -1
- package/dist/debouncer/createDebouncedValue.js.map +1 -1
- package/dist/debouncer/createDebouncer.cjs +2 -2
- package/dist/debouncer/createDebouncer.cjs.map +1 -1
- package/dist/debouncer/createDebouncer.d.cts +2 -2
- package/dist/debouncer/createDebouncer.d.ts +2 -2
- package/dist/debouncer/createDebouncer.js +3 -3
- package/dist/debouncer/createDebouncer.js.map +1 -1
- package/dist/provider/PacerProvider.cjs.map +1 -1
- package/dist/provider/PacerProvider.js.map +1 -1
- package/dist/queuer/createQueuedSignal.cjs.map +1 -1
- package/dist/queuer/createQueuedSignal.js.map +1 -1
- package/dist/queuer/createQueuer.cjs +2 -2
- package/dist/queuer/createQueuer.cjs.map +1 -1
- package/dist/queuer/createQueuer.d.cts +2 -2
- package/dist/queuer/createQueuer.d.ts +2 -2
- package/dist/queuer/createQueuer.js +3 -3
- package/dist/queuer/createQueuer.js.map +1 -1
- package/dist/rate-limiter/createRateLimitedSignal.cjs.map +1 -1
- package/dist/rate-limiter/createRateLimitedSignal.js.map +1 -1
- package/dist/rate-limiter/createRateLimitedValue.cjs.map +1 -1
- package/dist/rate-limiter/createRateLimitedValue.js.map +1 -1
- package/dist/rate-limiter/createRateLimiter.cjs +2 -2
- package/dist/rate-limiter/createRateLimiter.cjs.map +1 -1
- package/dist/rate-limiter/createRateLimiter.d.cts +2 -2
- package/dist/rate-limiter/createRateLimiter.d.ts +2 -2
- package/dist/rate-limiter/createRateLimiter.js +3 -3
- package/dist/rate-limiter/createRateLimiter.js.map +1 -1
- package/dist/throttler/createThrottledSignal.cjs.map +1 -1
- package/dist/throttler/createThrottledSignal.js.map +1 -1
- package/dist/throttler/createThrottledValue.cjs.map +1 -1
- package/dist/throttler/createThrottledValue.js.map +1 -1
- package/dist/throttler/createThrottler.cjs +2 -2
- package/dist/throttler/createThrottler.cjs.map +1 -1
- package/dist/throttler/createThrottler.d.cts +2 -2
- package/dist/throttler/createThrottler.d.ts +2 -2
- package/dist/throttler/createThrottler.js +3 -3
- package/dist/throttler/createThrottler.js.map +1 -1
- package/package.json +4 -4
- package/src/async-batcher/createAsyncBatcher.ts +7 -5
- package/src/async-debouncer/createAsyncDebouncer.ts +9 -5
- package/src/async-queuer/createAsyncQueuer.ts +7 -5
- package/src/async-rate-limiter/createAsyncRateLimiter.ts +9 -5
- package/src/async-throttler/createAsyncThrottler.ts +9 -5
- package/src/batcher/createBatcher.ts +7 -5
- package/src/debouncer/createDebouncer.ts +9 -5
- package/src/queuer/createQueuer.ts +7 -5
- package/src/rate-limiter/createRateLimiter.ts +7 -5
- package/src/throttler/createThrottler.ts +9 -5
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Queuer } from '@tanstack/pacer/queuer'
|
|
2
|
-
import {
|
|
2
|
+
import { shallow, useSelector } from '@tanstack/solid-store'
|
|
3
3
|
import { createEffect, onCleanup } from 'solid-js'
|
|
4
4
|
import { useDefaultPacerOptions } from '../provider/PacerProvider'
|
|
5
5
|
import type { Store } from '@tanstack/solid-store'
|
|
@@ -46,8 +46,8 @@ export interface SolidQueuer<TValue, TSelected = {}> extends Omit<
|
|
|
46
46
|
readonly state: Accessor<Readonly<TSelected>>
|
|
47
47
|
/**
|
|
48
48
|
* @deprecated Use `queuer.state` instead of `queuer.store.state` if you want to read reactive state.
|
|
49
|
-
* The state on the store object is not reactive, as it has not been wrapped in a `
|
|
50
|
-
* Although, you can make the state reactive by using the `
|
|
49
|
+
* The state on the store object is not reactive, as it has not been wrapped in a `useSelector` hook internally.
|
|
50
|
+
* Although, you can make the state reactive by using the `useSelector` in your own usage.
|
|
51
51
|
*/
|
|
52
52
|
readonly store: Store<Readonly<QueuerState<TValue>>>
|
|
53
53
|
}
|
|
@@ -171,14 +171,16 @@ export function createQueuer<TValue, TSelected = {}>(
|
|
|
171
171
|
selector: (state: QueuerState<TValue>) => TSelected
|
|
172
172
|
children: ((state: Accessor<TSelected>) => JSX.Element) | JSX.Element
|
|
173
173
|
}) {
|
|
174
|
-
const selected =
|
|
174
|
+
const selected = useSelector(queuer.store, props.selector, {
|
|
175
|
+
compare: shallow,
|
|
176
|
+
})
|
|
175
177
|
|
|
176
178
|
return typeof props.children === 'function'
|
|
177
179
|
? props.children(selected)
|
|
178
180
|
: props.children
|
|
179
181
|
}
|
|
180
182
|
|
|
181
|
-
const state =
|
|
183
|
+
const state = useSelector(queuer.store, selector, { compare: shallow })
|
|
182
184
|
|
|
183
185
|
createEffect(() => {
|
|
184
186
|
onCleanup(() => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { RateLimiter } from '@tanstack/pacer/rate-limiter'
|
|
2
2
|
import { createEffect, onCleanup } from 'solid-js'
|
|
3
|
-
import {
|
|
3
|
+
import { shallow, useSelector } from '@tanstack/solid-store'
|
|
4
4
|
import { useDefaultPacerOptions } from '../provider/PacerProvider'
|
|
5
5
|
import type { Store } from '@tanstack/solid-store'
|
|
6
6
|
import type { Accessor, JSX } from 'solid-js'
|
|
@@ -50,8 +50,8 @@ export interface SolidRateLimiter<
|
|
|
50
50
|
readonly state: Accessor<Readonly<TSelected>>
|
|
51
51
|
/**
|
|
52
52
|
* @deprecated Use `rateLimiter.state` instead of `rateLimiter.store.state` if you want to read reactive state.
|
|
53
|
-
* The state on the store object is not reactive, as it has not been wrapped in a `
|
|
54
|
-
* Although, you can make the state reactive by using the `
|
|
53
|
+
* The state on the store object is not reactive, as it has not been wrapped in a `useSelector` hook internally.
|
|
54
|
+
* Although, you can make the state reactive by using the `useSelector` in your own usage.
|
|
55
55
|
*/
|
|
56
56
|
readonly store: Store<Readonly<RateLimiterState>>
|
|
57
57
|
}
|
|
@@ -200,14 +200,16 @@ export function createRateLimiter<TFn extends AnyFunction, TSelected = {}>(
|
|
|
200
200
|
selector: (state: RateLimiterState) => TSelected
|
|
201
201
|
children: ((state: Accessor<TSelected>) => JSX.Element) | JSX.Element
|
|
202
202
|
}) {
|
|
203
|
-
const selected =
|
|
203
|
+
const selected = useSelector(rateLimiter.store, props.selector, {
|
|
204
|
+
compare: shallow,
|
|
205
|
+
})
|
|
204
206
|
|
|
205
207
|
return typeof props.children === 'function'
|
|
206
208
|
? props.children(selected)
|
|
207
209
|
: props.children
|
|
208
210
|
}
|
|
209
211
|
|
|
210
|
-
const state =
|
|
212
|
+
const state = useSelector(rateLimiter.store, selector, { compare: shallow })
|
|
211
213
|
|
|
212
214
|
createEffect(() => {
|
|
213
215
|
onCleanup(() => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Throttler } from '@tanstack/pacer/throttler'
|
|
2
2
|
import { createEffect, onCleanup } from 'solid-js'
|
|
3
|
-
import {
|
|
3
|
+
import { shallow, useSelector } from '@tanstack/solid-store'
|
|
4
4
|
import { useDefaultPacerOptions } from '../provider/PacerProvider'
|
|
5
5
|
import type { Store } from '@tanstack/solid-store'
|
|
6
6
|
import type { Accessor, JSX } from 'solid-js'
|
|
@@ -50,8 +50,8 @@ export interface SolidThrottler<
|
|
|
50
50
|
readonly state: Accessor<Readonly<TSelected>>
|
|
51
51
|
/**
|
|
52
52
|
* @deprecated Use `throttler.state` instead of `throttler.store.state` if you want to read reactive state.
|
|
53
|
-
* The state on the store object is not reactive, as it has not been wrapped in a `
|
|
54
|
-
* Although, you can make the state reactive by using the `
|
|
53
|
+
* The state on the store object is not reactive, as it has not been wrapped in a `useSelector` hook internally.
|
|
54
|
+
* Although, you can make the state reactive by using the `useSelector` in your own usage.
|
|
55
55
|
*/
|
|
56
56
|
readonly store: Store<Readonly<ThrottlerState<TFn>>>
|
|
57
57
|
}
|
|
@@ -174,14 +174,18 @@ export function createThrottler<TFn extends AnyFunction, TSelected = {}>(
|
|
|
174
174
|
selector: (state: ThrottlerState<TFn>) => TSelected
|
|
175
175
|
children: ((state: Accessor<TSelected>) => JSX.Element) | JSX.Element
|
|
176
176
|
}) {
|
|
177
|
-
const selected =
|
|
177
|
+
const selected = useSelector(asyncThrottler.store, props.selector, {
|
|
178
|
+
compare: shallow,
|
|
179
|
+
})
|
|
178
180
|
|
|
179
181
|
return typeof props.children === 'function'
|
|
180
182
|
? props.children(selected)
|
|
181
183
|
: props.children
|
|
182
184
|
}
|
|
183
185
|
|
|
184
|
-
const state =
|
|
186
|
+
const state = useSelector(asyncThrottler.store, selector, {
|
|
187
|
+
compare: shallow,
|
|
188
|
+
})
|
|
185
189
|
|
|
186
190
|
createEffect(() => {
|
|
187
191
|
onCleanup(() => {
|