solid-tiny-utils 0.0.1 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,9 @@
1
1
  import {
2
2
  access
3
- } from "./chunk-7K22IJFO.js";
3
+ } from "./chunk-KK2I663A.js";
4
+ import {
5
+ isNumber
6
+ } from "./chunk-L5HLW5DG.js";
4
7
  import {
5
8
  createWatch
6
9
  } from "./chunk-4L6FK7MF.js";
@@ -13,7 +16,8 @@ function createLoopExec(fn, delay) {
13
16
  let timer;
14
17
  const execFn = async () => {
15
18
  clearTimeout(timer);
16
- if (shouldStop) {
19
+ const d = access(delay);
20
+ if (shouldStop || !isNumber(d) || d < 0) {
17
21
  return;
18
22
  }
19
23
  try {
@@ -21,7 +25,7 @@ function createLoopExec(fn, delay) {
21
25
  } finally {
22
26
  timer = setTimeout(() => {
23
27
  execFn();
24
- }, access(delay));
28
+ }, d);
25
29
  }
26
30
  };
27
31
  createWatch(
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  access
3
- } from "./chunk-7K22IJFO.js";
3
+ } from "./chunk-KK2I663A.js";
4
4
 
5
5
  // src/fn/create-debounce.ts
6
6
  import { onCleanup } from "solid-js";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isFn
3
- } from "./chunk-PEWQLY2D.js";
3
+ } from "./chunk-L5HLW5DG.js";
4
4
 
5
5
  // src/reactive/access.ts
6
6
  function access(value) {
@@ -5,8 +5,12 @@ function isFn(value) {
5
5
  function isArray(value) {
6
6
  return Array.isArray(value);
7
7
  }
8
+ function isNumber(value) {
9
+ return typeof value === "number" && !Number.isNaN(value);
10
+ }
8
11
 
9
12
  export {
10
13
  isFn,
11
- isArray
14
+ isArray,
15
+ isNumber
12
16
  };
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  createDebounce
3
- } from "../chunk-WAZBT4BV.js";
3
+ } from "../chunk-EDY67NJO.js";
4
4
  import "../chunk-ZZNAXGNU.js";
5
- import "../chunk-7K22IJFO.js";
6
- import "../chunk-PEWQLY2D.js";
5
+ import "../chunk-KK2I663A.js";
6
+ import "../chunk-L5HLW5DG.js";
7
7
  import "../chunk-4L6FK7MF.js";
8
8
  export {
9
9
  createDebounce
@@ -7,13 +7,14 @@ import 'solid-js';
7
7
  *
8
8
  * @param fn - The asynchronous function to execute in a loop. Can return a promise or void.
9
9
  * @param delay - The delay (in milliseconds) between each execution. Can be a number or a reactive accessor.
10
+ * If `false` or < 0, the loop will not execute.
10
11
  *
11
12
  * @remarks
12
13
  * - The loop is automatically stopped when cleanup.
13
14
  * - `fn`'s error will not stop scheduling.
14
15
  * - Uses `setTimeout` for scheduling and `onCleanup` for resource management.
15
16
  */
16
- declare function createLoopExec(fn: () => MaybePromise<void>, delay: MaybeAccessor<number>): {
17
+ declare function createLoopExec(fn: () => MaybePromise<void>, delay: MaybeAccessor<number | false>): {
17
18
  stop: () => void;
18
19
  start: () => void;
19
20
  };
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  createLoopExec
3
- } from "../chunk-ZHWDHAF3.js";
3
+ } from "../chunk-37DCIGY3.js";
4
4
  import "../chunk-ZZNAXGNU.js";
5
- import "../chunk-7K22IJFO.js";
6
- import "../chunk-PEWQLY2D.js";
5
+ import "../chunk-KK2I663A.js";
6
+ import "../chunk-L5HLW5DG.js";
7
7
  import "../chunk-4L6FK7MF.js";
8
8
  export {
9
9
  createLoopExec
package/dist/fn/index.js CHANGED
@@ -1,13 +1,13 @@
1
1
  import "../chunk-QKJKTJQE.js";
2
2
  import {
3
3
  createDebounce
4
- } from "../chunk-WAZBT4BV.js";
4
+ } from "../chunk-EDY67NJO.js";
5
5
  import {
6
6
  createLoopExec
7
- } from "../chunk-ZHWDHAF3.js";
7
+ } from "../chunk-37DCIGY3.js";
8
8
  import "../chunk-ZZNAXGNU.js";
9
- import "../chunk-7K22IJFO.js";
10
- import "../chunk-PEWQLY2D.js";
9
+ import "../chunk-KK2I663A.js";
10
+ import "../chunk-L5HLW5DG.js";
11
11
  import "../chunk-4L6FK7MF.js";
12
12
  export {
13
13
  createDebounce,
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { createDebounce } from './fn/create-debounce.js';
2
2
  export { createLoopExec } from './fn/create-loop-exec.js';
3
- export { isArray, isFn } from './is/index.js';
3
+ export { isArray, isFn, isNumber } from './is/index.js';
4
4
  export { access } from './reactive/access.js';
5
5
  export { createWatch } from './reactive/create-watch.js';
6
6
  export { MaybeAccessor, MaybeArray, MaybePromise } from './types/maybe.js';
package/dist/index.js CHANGED
@@ -3,18 +3,19 @@ import "./chunk-EZML2DEC.js";
3
3
  import "./chunk-QKJKTJQE.js";
4
4
  import {
5
5
  createDebounce
6
- } from "./chunk-WAZBT4BV.js";
6
+ } from "./chunk-EDY67NJO.js";
7
7
  import {
8
8
  createLoopExec
9
- } from "./chunk-ZHWDHAF3.js";
9
+ } from "./chunk-37DCIGY3.js";
10
10
  import "./chunk-ZZNAXGNU.js";
11
11
  import {
12
12
  access
13
- } from "./chunk-7K22IJFO.js";
13
+ } from "./chunk-KK2I663A.js";
14
14
  import {
15
15
  isArray,
16
- isFn
17
- } from "./chunk-PEWQLY2D.js";
16
+ isFn,
17
+ isNumber
18
+ } from "./chunk-L5HLW5DG.js";
18
19
  import {
19
20
  createWatch
20
21
  } from "./chunk-4L6FK7MF.js";
@@ -24,5 +25,6 @@ export {
24
25
  createLoopExec,
25
26
  createWatch,
26
27
  isArray,
27
- isFn
28
+ isFn,
29
+ isNumber
28
30
  };
@@ -1,4 +1,5 @@
1
1
  declare function isFn(value: unknown): value is Function;
2
2
  declare function isArray<T>(value: unknown): value is T[];
3
+ declare function isNumber(value: unknown): value is number;
3
4
 
4
- export { isArray, isFn };
5
+ export { isArray, isFn, isNumber };
package/dist/is/index.js CHANGED
@@ -1,8 +1,10 @@
1
1
  import {
2
2
  isArray,
3
- isFn
4
- } from "../chunk-PEWQLY2D.js";
3
+ isFn,
4
+ isNumber
5
+ } from "../chunk-L5HLW5DG.js";
5
6
  export {
6
7
  isArray,
7
- isFn
8
+ isFn,
9
+ isNumber
8
10
  };
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  access
3
- } from "../chunk-7K22IJFO.js";
4
- import "../chunk-PEWQLY2D.js";
3
+ } from "../chunk-KK2I663A.js";
4
+ import "../chunk-L5HLW5DG.js";
5
5
  export {
6
6
  access
7
7
  };
@@ -1,8 +1,8 @@
1
1
  import "../chunk-ZZNAXGNU.js";
2
2
  import {
3
3
  access
4
- } from "../chunk-7K22IJFO.js";
5
- import "../chunk-PEWQLY2D.js";
4
+ } from "../chunk-KK2I663A.js";
5
+ import "../chunk-L5HLW5DG.js";
6
6
  import {
7
7
  createWatch
8
8
  } from "../chunk-4L6FK7MF.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "solid-tiny-utils",
3
- "version": "0.0.1",
3
+ "version": "0.1.0",
4
4
  "description": "A collection of tiny utilities for SolidJS applications",
5
5
  "main": "./dist/index.js",
6
6
  "type": "module",