@solidjs/signals 0.13.3 → 0.13.5

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,5 +1,6 @@
1
1
  import { type OptimisticLane } from "./lanes.js";
2
2
  import type { Computed } from "./types.js";
3
+ export declare function settlePendingSource(el: Computed<any>): void;
3
4
  export declare function handleAsync<T>(el: Computed<T>, result: T | PromiseLike<T> | AsyncIterable<T>, setter?: (value: T) => void): T;
4
- export declare function clearStatus(el: Computed<any>): void;
5
+ export declare function clearStatus(el: Computed<any>, clearUninitialized?: boolean): void;
5
6
  export declare function notifyStatus(el: Computed<any>, status: number, error: any, blockStatus?: boolean, lane?: OptimisticLane): void;
@@ -1,5 +1,4 @@
1
1
  import type { Computed, NodeOptions, Owner } from "./types.js";
2
- export declare let leafEffectActive: boolean;
3
2
  export interface Effect<T> extends Computed<T>, Owner {
4
3
  _effectFn: (val: T, prev: T | undefined) => void | (() => void);
5
4
  _errorFn?: (err: unknown, cleanup: () => void) => void;
@@ -25,6 +24,7 @@ export interface TrackedEffect extends Computed<void> {
25
24
  }
26
25
  /**
27
26
  * Internal tracked effect - bypasses heap, goes directly to effect queue.
28
- * Children forbidden (__DEV__ throws). Uses stale reads.
27
+ * Runs as a leaf owner: child primitives and onCleanup are forbidden (__DEV__ throws).
28
+ * Uses stale reads.
29
29
  */
30
30
  export declare function trackedEffect(fn: () => void | (() => void), options?: NodeOptions<any>): void;
@@ -1,7 +1,7 @@
1
1
  export { ContextNotFoundError, NoOwnerError, NotReadyError } from "./error.js";
2
2
  export { isEqual, untrack, runWithOwner, computed, signal, read, setSignal, optimisticSignal, optimisticComputed, isPending, latest, refresh, isRefreshing, staleValues, setSnapshotCapture, markSnapshotScope, releaseSnapshotScope, clearSnapshots } from "./core.js";
3
3
  export { enableExternalSource, _resetExternalSourceConfig, type ExternalSourceFactory, type ExternalSource, type ExternalSourceConfig } from "./external.js";
4
- export { createOwner, createRoot, dispose, getNextChildId, getObserver, getOwner, isDisposed, onCleanup, peekNextChildId } from "./owner.js";
4
+ export { createOwner, createRoot, dispose, getNextChildId, getObserver, getOwner, isDisposed, cleanup, peekNextChildId } from "./owner.js";
5
5
  export { createContext, getContext, setContext, type Context, type ContextRecord } from "./context.js";
6
6
  export { handleAsync } from "./async.js";
7
7
  export type { Computed, Disposable, FirewallSignal, Link, Owner, Root, Signal, NodeOptions } from "./types.js";
@@ -34,6 +34,10 @@ export declare function mergeLanes(lane1: OptimisticLane, lane2: OptimisticLane)
34
34
  export declare function resolveLane(el: {
35
35
  _optimisticLane?: OptimisticLane;
36
36
  }): OptimisticLane | undefined;
37
+ export declare function resolveTransition(el: {
38
+ _optimisticLane?: OptimisticLane;
39
+ _transition?: Transition | null;
40
+ }): Transition | null | undefined;
37
41
  /**
38
42
  * Check if a node has an active optimistic override.
39
43
  */
@@ -6,7 +6,7 @@ export declare function getNextChildId(owner: Owner): string;
6
6
  export declare function peekNextChildId(owner: Owner): string;
7
7
  export declare function getObserver(): Owner | null;
8
8
  export declare function getOwner(): Owner | null;
9
- export declare function onCleanup(fn: Disposable): Disposable;
9
+ export declare function cleanup(fn: Disposable): Disposable;
10
10
  export declare function isDisposed(node: Owner): boolean;
11
11
  export declare function createOwner(options?: {
12
12
  id?: string;
@@ -11,6 +11,7 @@ export declare let projectionWriteActive: boolean;
11
11
  export declare let _hitUnhandledAsync: boolean;
12
12
  export declare function resetUnhandledAsync(): void;
13
13
  export declare function enforceLoadingBoundary(enabled: boolean): void;
14
+ export declare function shouldReadStashedOptimisticValue(node: Signal<any>): boolean;
14
15
  export declare function setProjectionWriteActive(value: boolean): void;
15
16
  export type QueueCallback = (type: number) => void;
16
17
  type QueueStub = {
@@ -28,6 +29,8 @@ export interface Transition {
28
29
  _done: boolean | Transition;
29
30
  }
30
31
  export declare function schedule(): void;
32
+ export declare function addTransitionBlocker(node: Computed<any>): void;
33
+ export declare function removeTransitionBlocker(node: Computed<any>): void;
31
34
  export interface IQueue {
32
35
  enqueue(type: number, fn: QueueCallback): void;
33
36
  run(type: number): boolean | void;
@@ -49,6 +49,7 @@ export type Signal<T> = RawSignal<T> | FirewallSignal<T>;
49
49
  export interface Owner {
50
50
  id?: string;
51
51
  _transparent?: boolean;
52
+ _childrenForbidden?: boolean;
52
53
  _snapshotScope?: boolean;
53
54
  _disposal: Disposable | Disposable[] | null;
54
55
  _parent: Owner | null;
@@ -65,6 +66,9 @@ export interface Computed<T> extends RawSignal<T>, Owner {
65
66
  _depsTail: Link | null;
66
67
  _flags: number;
67
68
  _inSnapshotScope?: boolean;
69
+ _blocked?: boolean;
70
+ _pendingSource?: Computed<any>;
71
+ _pendingSources?: Set<Computed<any>>;
68
72
  _error?: unknown;
69
73
  _statusFlags: number;
70
74
  _height: number;
@@ -1,6 +1,6 @@
1
- export { $REFRESH, ContextNotFoundError, NoOwnerError, NotReadyError, action, createContext, createOwner, createRoot, runWithOwner, flush, getNextChildId, peekNextChildId, getContext, setContext, getOwner, onCleanup, isDisposed, getObserver, isEqual, untrack, isPending, latest, isRefreshing, refresh, SUPPORTS_PROXY, setSnapshotCapture, markSnapshotScope, releaseSnapshotScope, clearSnapshots, enforceLoadingBoundary, enableExternalSource } from "./core/index.js";
1
+ export { $REFRESH, ContextNotFoundError, NoOwnerError, NotReadyError, action, createContext, createOwner, createRoot, runWithOwner, flush, getNextChildId, peekNextChildId, getContext, setContext, getOwner, isDisposed, getObserver, isEqual, untrack, isPending, latest, isRefreshing, refresh, SUPPORTS_PROXY, setSnapshotCapture, markSnapshotScope, releaseSnapshotScope, clearSnapshots, enforceLoadingBoundary, enableExternalSource } from "./core/index.js";
2
2
  export type { Owner, Context, ContextRecord, IQueue, ExternalSourceFactory, ExternalSource, ExternalSourceConfig } from "./core/index.js";
3
- export { createSignal, createMemo, createEffect, createRenderEffect, createTrackedEffect, createReaction, createOptimistic, resolve, onSettled } from "./signals.js";
3
+ export { createSignal, createMemo, createEffect, createRenderEffect, createTrackedEffect, createReaction, createOptimistic, resolve, onSettled, onCleanup } from "./signals.js";
4
4
  export type { Accessor, Setter, Signal, ComputeFunction, EffectFunction, EffectBundle, EffectOptions, SignalOptions, MemoOptions, NoInfer } from "./signals.js";
5
5
  export { mapArray, repeat, type Maybe } from "./map.js";
6
6
  export * from "./store/index.js";
@@ -1,3 +1,5 @@
1
+ import type { Disposable } from "./core/index.js";
2
+ export declare function onCleanup(fn: Disposable): Disposable;
1
3
  export type Accessor<T> = () => T;
2
4
  export declare function accessor<T>(node: any): Accessor<T>;
3
5
  export type Setter<in out T> = {
@@ -22,4 +22,5 @@ export declare function createProjectionInternal<T extends object = {}>(fn: (dra
22
22
  export declare function createProjection<T extends object = {}>(fn: (draft: T) => void | T | Promise<void | T> | AsyncIterable<void | T>, initialValue?: T, options?: ProjectionOptions): Store<T> & {
23
23
  [$REFRESH]: any;
24
24
  };
25
+ export declare function createWriteTraps(isActive?: () => boolean): ProxyHandler<any>;
25
26
  export declare const writeTraps: ProxyHandler<any>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solidjs/signals",
3
- "version": "0.13.3",
3
+ "version": "0.13.5",
4
4
  "description": "SolidJS' standalone reactivity implementation",
5
5
  "author": "Ryan Carniato",
6
6
  "license": "MIT",