@solidjs/signals 0.9.2 → 0.9.4

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,4 +1,4 @@
1
- export { ContextNotFoundError, NoOwnerError, NotReadyError, createContext, createRoot, runWithOwner, flush, getNextChildId, getContext, setContext, getOwner, onCleanup, getObserver, isEqual, untrack, isPending, pending, isRefreshing, refresh, SUPPORTS_PROXY } from "./core/index.js";
1
+ export { ContextNotFoundError, NoOwnerError, NotReadyError, action, createContext, createRoot, runWithOwner, flush, getNextChildId, getContext, setContext, getOwner, onCleanup, getObserver, isEqual, untrack, isPending, pending, isRefreshing, refresh, SUPPORTS_PROXY } from "./core/index.js";
2
2
  export type { Owner, SignalOptions, Context, ContextRecord, IQueue } from "./core/index.js";
3
3
  export * from "./signals.js";
4
4
  export { mapArray, repeat, type Maybe } from "./map.js";
@@ -1,11 +1,16 @@
1
+ import { $REFRESH, type Computed } from "../core/index.js";
1
2
  import { type Store, type StoreOptions } from "./store.js";
2
3
  export declare function createProjectionInternal<T extends object = {}>(fn: (draft: T) => void | T | Promise<void | T> | AsyncIterable<void | T>, initialValue?: T, options?: StoreOptions): {
3
- store: Readonly<T>;
4
- node: any;
4
+ store: Store<T> & {
5
+ [$REFRESH]: any;
6
+ };
7
+ node: Computed<void | T>;
5
8
  };
6
9
  /**
7
10
  * Creates a mutable derived value
8
11
  *
9
12
  * @see {@link https://github.com/solidjs/x-reactivity#createprojection}
10
13
  */
11
- export declare function createProjection<T extends Object = {}>(fn: (draft: T) => void | T | Promise<void | T> | AsyncIterable<void | T>, initialValue?: T, options?: StoreOptions): Store<T>;
14
+ export declare function createProjection<T extends object = {}>(fn: (draft: T) => void | T | Promise<void | T> | AsyncIterable<void | T>, initialValue?: T, options?: StoreOptions): Store<T> & {
15
+ [$REFRESH]: any;
16
+ };
@@ -1,4 +1,4 @@
1
- import { type Computed, type Signal } from "../core/index.js";
1
+ import { $REFRESH, type Computed, type Signal } from "../core/index.js";
2
2
  export type Store<T> = Readonly<T>;
3
3
  export type StoreSetter<T> = (fn: (state: T) => T | void) => void;
4
4
  export type StoreOptions = {
@@ -17,22 +17,26 @@ export type StoreNode = {
17
17
  [STORE_HAS]?: DataNodes;
18
18
  [STORE_WRAP]?: (value: any, target?: StoreNode) => any;
19
19
  [STORE_LOOKUP]?: WeakMap<any, any>;
20
- [STORE_FIREWALL]?: () => Computed<any>;
20
+ [STORE_FIREWALL]?: Computed<any>;
21
21
  };
22
22
  export declare namespace SolidStore {
23
23
  interface Unwrappable {
24
24
  }
25
25
  }
26
26
  export type NotWrappable = string | number | bigint | symbol | boolean | Function | null | undefined | SolidStore.Unwrappable[keyof SolidStore.Unwrappable];
27
- export declare function createStoreProxy<T extends object>(value: T, traps?: ProxyHandler<StoreNode>, extend?: Record<PropertyKey, any>): any;
28
- export declare const storeLookup: WeakMap<object, any>;
27
+ export declare function createStoreProxy<T extends object>(value: T, traps?: ProxyHandler<StoreNode>, extend?: (target: StoreNode) => void): any;
28
+ export declare const storeLookup: WeakMap<WeakKey, any>;
29
29
  export declare function wrap<T extends Record<PropertyKey, any>>(value: T, target?: StoreNode): T;
30
30
  export declare function isWrappable<T>(obj: T | NotWrappable): obj is T;
31
+ export declare function setWriteOverride(value: boolean): void;
31
32
  export declare function getKeys(source: Record<PropertyKey, any>, override: Record<PropertyKey, any> | undefined, enumerable?: boolean): PropertyKey[];
32
33
  export declare function getPropertyDescriptor(source: Record<PropertyKey, any>, override: Record<PropertyKey, any> | undefined, property: PropertyKey): PropertyDescriptor | undefined;
33
34
  export declare const storeTraps: ProxyHandler<StoreNode>;
34
35
  export declare function storeSetter<T extends object>(store: Store<T>, fn: (draft: T) => T | void): void;
35
- export declare function createStore<T extends object = {}>(store: T | Store<T>): [get: Store<T>, set: StoreSetter<T>];
36
- export declare function createStore<T extends object = {}>(fn: (store: T) => void | T | Promise<void | T> | AsyncIterable<void | T>, store: T | Store<T>, options?: StoreOptions): [get: Store<T>, set: StoreSetter<T>];
36
+ type NoFn<T> = T extends Function ? never : T;
37
+ export declare function createStore<T extends object = {}>(store: NoFn<T> | Store<NoFn<T>>): [get: Store<T>, set: StoreSetter<T>];
38
+ export declare function createStore<T extends object = {}>(fn: (store: T) => void | T | Promise<void | T> | AsyncIterable<void | T>, store?: NoFn<T> | Store<NoFn<T>>, options?: StoreOptions): [get: Store<T> & {
39
+ [$REFRESH]: any;
40
+ }, set: StoreSetter<T>];
37
41
  export declare function deep<T extends object>(store: Store<T>): Store<T>;
38
42
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solidjs/signals",
3
- "version": "0.9.2",
3
+ "version": "0.9.4",
4
4
  "description": "",
5
5
  "author": "Ryan Carniato",
6
6
  "license": "MIT",
@@ -23,12 +23,12 @@
23
23
  "@rollup/plugin-replace": "^6.0.3",
24
24
  "@rollup/plugin-terser": "^0.4.4",
25
25
  "@rollup/plugin-typescript": "^12.3.0",
26
- "@types/node": "^20.5.1",
26
+ "@types/node": "^25.0.8",
27
27
  "rimraf": "^5.0.1",
28
28
  "rollup": "^4.53.4",
29
29
  "rollup-plugin-prettier": "^4.1.2",
30
30
  "tslib": "^2.8.1",
31
- "typescript": "5.1.6",
31
+ "typescript": "5.9.3",
32
32
  "vite": "^5.4.10",
33
33
  "vitest": "^2.0.0"
34
34
  },