solid-js 2.0.0-experimental.2 → 2.0.0-experimental.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.
package/dist/solid.cjs CHANGED
@@ -171,6 +171,7 @@ function Repeat(props) {
171
171
  const options = "fallback" in props ? {
172
172
  fallback: () => props.fallback
173
173
  } : {};
174
+ options.from = () => props.from;
174
175
  return signals.createMemo(signals.repeat(() => props.count, index => typeof props.children === "function" ? props.children(index) : props.children, options));
175
176
  }
176
177
  function Show(props) {
package/dist/solid.js CHANGED
@@ -235,6 +235,7 @@ function Repeat(props) {
235
235
  fallback: () => props.fallback
236
236
  }
237
237
  : {};
238
+ options.from = () => props.from;
238
239
  return createMemo(
239
240
  repeat(
240
241
  () => props.count,
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "solid-js",
3
3
  "description": "A declarative JavaScript library for building user interfaces.",
4
- "version": "2.0.0-experimental.2",
4
+ "version": "2.0.0-experimental.4",
5
5
  "author": "Ryan Carniato",
6
6
  "license": "MIT",
7
7
  "homepage": "https://solidjs.com",
@@ -79,7 +79,7 @@
79
79
  "performance"
80
80
  ],
81
81
  "dependencies": {
82
- "@solidjs/signals": "^0.2.1",
82
+ "@solidjs/signals": "^0.2.4",
83
83
  "csstype": "^3.1.0"
84
84
  },
85
85
  "scripts": {
@@ -32,6 +32,7 @@ export declare function For<T extends readonly any[], U extends JSX.Element>(pro
32
32
  */
33
33
  export declare function Repeat<T extends JSX.Element>(props: {
34
34
  count: number;
35
+ from?: number | undefined;
35
36
  fallback?: JSX.Element;
36
37
  children: ((index: number) => T) | T;
37
38
  }): JSX.Element;
package/types/jsx.d.ts CHANGED
@@ -317,7 +317,7 @@ export namespace JSX {
317
317
  /** @type {GlobalEventHandlers} */
318
318
  interface CustomEventHandlersLowerCase<T> {
319
319
  /** @deprecated Use camelCase event handlers */
320
- onabort?: EventHandlerUnion<T, UIEvent> | undefined;
320
+ onabort?: EventHandlerUnion<T, Event> | undefined;
321
321
  /** @deprecated Use camelCase event handlers */
322
322
  onanimationend?: EventHandlerUnion<T, AnimationEvent> | undefined;
323
323
  /** @deprecated Use camelCase event handlers */
@@ -1199,8 +1199,7 @@ export namespace JSX {
1199
1199
  value?: string | string[] | number | undefined;
1200
1200
  }
1201
1201
  interface DetailsHtmlAttributes<T> extends HTMLAttributes<T> {
1202
- name?: string | undefined;
1203
- open?: "true" | boolean | undefined;
1202
+ open?: boolean | undefined;
1204
1203
  onToggle?: EventHandlerUnion<T, Event> | undefined;
1205
1204
 
1206
1205
  /** @deprecated Use camelCase event handlers */
@@ -1475,6 +1474,7 @@ export namespace JSX {
1475
1474
  | "time"
1476
1475
  | "url"
1477
1476
  | "week"
1477
+ | (string & {})
1478
1478
  | undefined;
1479
1479
  value?: string | string[] | number | undefined;
1480
1480
  width?: number | string | undefined;
@@ -1574,7 +1574,13 @@ export namespace JSX {
1574
1574
  interface MediaHTMLAttributes<T> extends HTMLAttributes<T> {
1575
1575
  autoplay?: "true" | boolean | undefined;
1576
1576
  controls?: "true" | boolean | undefined;
1577
- controlslist?: string | undefined;
1577
+ controlslist?:
1578
+ | "nodownload"
1579
+ | "nofullscreen"
1580
+ | "noplaybackrate"
1581
+ | "noremoteplayback"
1582
+ | (string & {})
1583
+ | undefined;
1578
1584
  crossorigin?: HTMLCrossorigin | undefined;
1579
1585
  disableremoteplayback?: "true" | boolean | undefined;
1580
1586
  loop?: "true" | boolean | undefined;
@@ -1968,7 +1974,6 @@ export namespace JSX {
1968
1974
  poster?: string | undefined;
1969
1975
  width?: number | string | undefined;
1970
1976
  disablepictureinpicture?: "true" | boolean | undefined;
1971
- disableremoteplayback?: boolean;
1972
1977
  }
1973
1978
 
1974
1979
  interface WebViewHTMLAttributes<T> extends HTMLAttributes<T> {
@@ -1,58 +1,41 @@
1
+ export { $PROXY, $TRACK, $RAW, catchError, flatten, isEqual, isWrappable } from "@solidjs/signals";
1
2
  export {
2
- catchError,
3
- createRoot,
4
- createSignal,
5
- createRenderEffect,
3
+ createAsync,
6
4
  createEffect,
7
- createReaction,
8
- createDeferred,
9
- createSelector,
10
5
  createMemo,
11
- getListener,
12
- onMount,
13
- onCleanup,
14
- onError,
15
- untrack,
16
- batch,
17
- on,
18
- children,
19
- createContext,
20
- useContext,
6
+ createRenderEffect,
7
+ createRoot,
8
+ createSignal,
9
+ flushSync,
10
+ getObserver,
21
11
  getOwner,
22
- runWithOwner,
23
- equalFn,
24
- requestCallback,
12
+ isPending,
13
+ latest,
25
14
  mapArray,
26
- indexArray,
27
- observable,
28
- from,
29
- $PROXY,
30
- $DEVCOMP,
31
- $TRACK,
32
- DEV,
33
- enableExternalSource
34
- } from "./reactive.js";
15
+ onCleanup,
16
+ repeat,
17
+ resolve,
18
+ runWithObserver,
19
+ runWithOwner,
20
+ untrack
21
+ } from "./signals.js";
22
+ export { observable, from, children, createContext, onMount, useContext } from "./reactive.js";
23
+ export { createProjection, createStore, unwrap, reconcile, merge, omit } from "./store.js";
35
24
  export {
36
- mergeProps,
37
- splitProps,
38
25
  createComponent,
39
26
  For,
40
- Index,
27
+ Repeat,
41
28
  Show,
42
29
  Switch,
43
30
  Match,
44
31
  ErrorBoundary,
45
32
  Suspense,
46
- SuspenseList,
47
- createResource,
48
- resetErrorBoundaries,
49
- enableScheduling,
50
33
  enableHydration,
51
- startTransition,
52
- useTransition,
53
34
  createUniqueId,
54
35
  lazy,
55
36
  sharedConfig
56
37
  } from "./rendering.js";
57
- export type { Component, Resource } from "./rendering.js";
38
+ export declare const $DEVCOMP: unique symbol;
39
+ export declare const DEV: undefined;
40
+ export type { Component } from "../index.js";
58
41
  export * from "./store.js";
@@ -1,97 +1,10 @@
1
- export declare const equalFn: <T>(a: T, b: T) => boolean;
2
- export declare const $PROXY: unique symbol;
3
- export declare const $TRACK: unique symbol;
4
- export declare const $DEVCOMP: unique symbol;
5
- export declare const DEV: undefined;
6
- export type Accessor<T> = () => T;
7
- export type Setter<T> = undefined extends T
8
- ? <U extends T>(value?: (U extends Function ? never : U) | ((prev?: T) => U)) => U
9
- : <U extends T>(value: (U extends Function ? never : U) | ((prev: T) => U)) => U;
10
- export type Signal<T> = [get: Accessor<T>, set: Setter<T>];
11
- export declare function castError(err: unknown): Error;
12
- export declare let Owner: Owner | null;
13
- interface Owner {
14
- owner: Owner | null;
15
- context: any | null;
16
- owned: Owner[] | null;
17
- cleanups: (() => void)[] | null;
18
- }
19
- export declare function createOwner(): Owner;
20
- export declare function createRoot<T>(
21
- fn: (dispose: () => void) => T,
22
- detachedOwner?: typeof Owner
23
- ): T;
24
- export declare function createSignal<T>(
25
- value: T,
26
- options?: {
27
- equals?: false | ((prev: T, next: T) => boolean);
28
- name?: string;
29
- }
30
- ): [get: () => T, set: (v: (T extends Function ? never : T) | ((prev: T) => T)) => T];
31
- export declare function createComputed<T>(fn: (v?: T) => T, value?: T): void;
32
- export declare const createRenderEffect: typeof createComputed;
33
- export declare function createEffect<T>(fn: (v?: T) => T, value?: T): void;
34
- export declare function createReaction(fn: () => void): (fn: () => void) => void;
35
- export declare function createMemo<T>(fn: (v?: T) => T, value?: T): () => T;
36
- export declare function createDeferred<T>(source: () => T): () => T;
37
- export declare function createSelector<T>(
38
- source: () => T,
39
- fn?: (k: T, value: T) => boolean
40
- ): (k: T) => boolean;
41
- export declare function batch<T>(fn: () => T): T;
42
- export declare const untrack: typeof batch;
43
- export declare function on<T, U>(
44
- deps: Array<() => T> | (() => T),
45
- fn: (value: Array<T> | T, prev?: Array<T> | T, prevResults?: U) => U,
46
- options?: {
47
- defer?: boolean;
48
- }
49
- ): (prev?: U) => U | undefined;
1
+ import { type Accessor, type Setter } from "@solidjs/signals";
2
+ import type { JSX } from "../jsx.js";
3
+ import type { ChildrenReturn, Context } from "../index.js";
50
4
  export declare function onMount(fn: () => void): void;
51
- export declare function onCleanup(fn: () => void): () => void;
52
- export declare function cleanNode(node: Owner): void;
53
- export declare function catchError<T>(fn: () => T, handler: (err: Error) => void): T | undefined;
54
- export declare function getListener(): null;
55
- export interface Context<T> {
56
- id: symbol;
57
- Provider: (props: { value: T; children: any }) => any;
58
- defaultValue?: T;
59
- }
60
- export declare function createContext<T>(defaultValue?: T): Context<T>;
5
+ export declare function createContext<T>(defaultValue?: T): Context<T | undefined>;
61
6
  export declare function useContext<T>(context: Context<T>): T;
62
- export declare function getOwner(): Owner | null;
63
- type ChildrenReturn = Accessor<any> & {
64
- toArray: () => any[];
65
- };
66
- export declare function children(fn: () => any): ChildrenReturn;
67
- export declare function runWithOwner<T>(o: typeof Owner, fn: () => T): T | undefined;
68
- export interface Task {
69
- id: number;
70
- fn: ((didTimeout: boolean) => void) | null;
71
- startTime: number;
72
- expirationTime: number;
73
- }
74
- export declare function requestCallback(
75
- fn: () => void,
76
- options?: {
77
- timeout: number;
78
- }
79
- ): Task;
80
- export declare function cancelCallback(task: Task): void;
81
- export declare function mapArray<T, U>(
82
- list: Accessor<readonly T[] | undefined | null | false>,
83
- mapFn: (v: T, i: Accessor<number>) => U,
84
- options?: {
85
- fallback?: Accessor<any>;
86
- }
87
- ): () => U[];
88
- export declare function indexArray<T, U>(
89
- list: Accessor<readonly T[] | undefined | null | false>,
90
- mapFn: (v: Accessor<T>, i: number) => U,
91
- options?: {
92
- fallback?: Accessor<any>;
93
- }
94
- ): () => U[];
7
+ export declare function children(fn: Accessor<JSX.Element>): ChildrenReturn;
95
8
  export type ObservableObserver<T> =
96
9
  | ((v: T) => void)
97
10
  | {
@@ -121,9 +34,3 @@ export declare function from<T>(
121
34
  };
122
35
  }
123
36
  ): Accessor<T>;
124
- export declare function enableExternalSource(factory: any): void;
125
- /**
126
- * @deprecated since version 1.7.0 and will be removed in next major - use catchError instead
127
- */
128
- export declare function onError(fn: (err: Error) => void): void;
129
- export {};
@@ -1,25 +1,6 @@
1
- import { Accessor, Setter, Signal } from "./reactive.js";
1
+ import type { Accessor } from "@solidjs/signals";
2
2
  import type { JSX } from "../jsx.js";
3
- export type Component<P = {}> = (props: P) => JSX.Element;
4
- export type VoidProps<P = {}> = P & {
5
- children?: never;
6
- };
7
- export type VoidComponent<P = {}> = Component<VoidProps<P>>;
8
- export type ParentProps<P = {}> = P & {
9
- children?: JSX.Element;
10
- };
11
- export type ParentComponent<P = {}> = Component<ParentProps<P>>;
12
- export type FlowProps<P = {}, C = JSX.Element> = P & {
13
- children: C;
14
- };
15
- export type FlowComponent<P = {}, C = JSX.Element> = Component<FlowProps<P, C>>;
16
- export type Ref<T> = T | ((val: T) => void);
17
- export type ValidComponent = keyof JSX.IntrinsicElements | Component<any> | (string & {});
18
- export type ComponentProps<T extends ValidComponent> = T extends Component<infer P>
19
- ? P
20
- : T extends keyof JSX.IntrinsicElements
21
- ? JSX.IntrinsicElements[T]
22
- : Record<string, unknown>;
3
+ import type { Component } from "../index.js";
23
4
  type SharedConfig = {
24
5
  context?: HydrationContext;
25
6
  getContextId(): string;
@@ -28,69 +9,17 @@ type SharedConfig = {
28
9
  export declare const sharedConfig: SharedConfig;
29
10
  export declare function createUniqueId(): string;
30
11
  export declare function createComponent<T>(Comp: (props: T) => JSX.Element, props: T): JSX.Element;
31
- export declare function mergeProps<T, U>(source: T, source1: U): T & U;
32
- export declare function mergeProps<T, U, V>(source: T, source1: U, source2: V): T & U & V;
33
- export declare function mergeProps<T, U, V, W>(
34
- source: T,
35
- source1: U,
36
- source2: V,
37
- source3: W
38
- ): T & U & V & W;
39
- export declare function splitProps<T extends object, K1 extends keyof T>(
40
- props: T,
41
- ...keys: [K1[]]
42
- ): [Pick<T, K1>, Omit<T, K1>];
43
- export declare function splitProps<T extends object, K1 extends keyof T, K2 extends keyof T>(
44
- props: T,
45
- ...keys: [K1[], K2[]]
46
- ): [Pick<T, K1>, Pick<T, K2>, Omit<T, K1 | K2>];
47
- export declare function splitProps<
48
- T extends object,
49
- K1 extends keyof T,
50
- K2 extends keyof T,
51
- K3 extends keyof T
52
- >(
53
- props: T,
54
- ...keys: [K1[], K2[], K3[]]
55
- ): [Pick<T, K1>, Pick<T, K2>, Pick<T, K3>, Omit<T, K1 | K2 | K3>];
56
- export declare function splitProps<
57
- T extends object,
58
- K1 extends keyof T,
59
- K2 extends keyof T,
60
- K3 extends keyof T,
61
- K4 extends keyof T
62
- >(
63
- props: T,
64
- ...keys: [K1[], K2[], K3[], K4[]]
65
- ): [Pick<T, K1>, Pick<T, K2>, Pick<T, K3>, Pick<T, K4>, Omit<T, K1 | K2 | K3 | K4>];
66
- export declare function splitProps<
67
- T extends object,
68
- K1 extends keyof T,
69
- K2 extends keyof T,
70
- K3 extends keyof T,
71
- K4 extends keyof T,
72
- K5 extends keyof T
73
- >(
74
- props: T,
75
- ...keys: [K1[], K2[], K3[], K4[], K5[]]
76
- ): [
77
- Pick<T, K1>,
78
- Pick<T, K2>,
79
- Pick<T, K3>,
80
- Pick<T, K4>,
81
- Pick<T, K5>,
82
- Omit<T, K1 | K2 | K3 | K4 | K5>
83
- ];
84
12
  export declare function For<T>(props: {
85
13
  each: T[];
86
14
  fallback?: string;
87
- children: (item: T, index: () => number) => string;
88
- }): string | any[] | undefined;
89
- export declare function Index<T>(props: {
90
- each: T[];
15
+ children: (item: Accessor<T>, index: Accessor<number>) => string;
16
+ }): () => string[];
17
+ export declare function Repeat(props: {
18
+ count: number;
19
+ from?: number | undefined;
91
20
  fallback?: string;
92
- children: (item: () => T, index: number) => string;
93
- }): string | any[] | undefined;
21
+ children: (index: number) => string;
22
+ }): () => string[];
94
23
  /**
95
24
  * Conditionally render its children or an optional fallback component
96
25
  * @description https://docs.solidjs.com/reference/components/show
@@ -111,23 +40,10 @@ type MatchProps<T> = {
111
40
  children: string | ((item: NonNullable<T> | Accessor<NonNullable<T>>) => string);
112
41
  };
113
42
  export declare function Match<T>(props: MatchProps<T>): MatchProps<T>;
114
- export declare function resetErrorBoundaries(): void;
115
43
  export declare function ErrorBoundary(props: {
116
44
  fallback: string | ((err: any, reset: () => void) => string);
117
45
  children: string;
118
- }):
119
- | string
120
- | ((err: any, reset: () => void) => string)
121
- | {
122
- t: string;
123
- };
124
- export interface Resource<T> {
125
- (): T | undefined;
126
- state: "unresolved" | "pending" | "ready" | "refreshing" | "errored";
127
- loading: boolean;
128
- error: any;
129
- latest: T | undefined;
130
- }
46
+ }): void;
131
47
  type SuspenseContextType = {
132
48
  resources: Map<
133
49
  string,
@@ -138,52 +54,6 @@ type SuspenseContextType = {
138
54
  >;
139
55
  completed: () => void;
140
56
  };
141
- export type ResourceActions<T> = {
142
- mutate: Setter<T>;
143
- refetch: (info?: unknown) => void;
144
- };
145
- export type ResourceReturn<T> = [Resource<T>, ResourceActions<T>];
146
- export type ResourceSource<S> = S | false | null | undefined | (() => S | false | null | undefined);
147
- export type ResourceFetcher<S, T> = (k: S, info: ResourceFetcherInfo<T>) => T | Promise<T>;
148
- export type ResourceFetcherInfo<T> = {
149
- value: T | undefined;
150
- refetching?: unknown;
151
- };
152
- export type ResourceOptions<T> = undefined extends T
153
- ? {
154
- initialValue?: T;
155
- name?: string;
156
- deferStream?: boolean;
157
- ssrLoadFrom?: "initial" | "server";
158
- storage?: () => Signal<T | undefined>;
159
- onHydrated?: <S, T>(k: S, info: ResourceFetcherInfo<T>) => void;
160
- }
161
- : {
162
- initialValue: T;
163
- name?: string;
164
- deferStream?: boolean;
165
- ssrLoadFrom?: "initial" | "server";
166
- storage?: (v?: T) => Signal<T | undefined>;
167
- onHydrated?: <S, T>(k: S, info: ResourceFetcherInfo<T>) => void;
168
- };
169
- export declare function createResource<T, S = true>(
170
- fetcher: ResourceFetcher<S, T>,
171
- options?: ResourceOptions<undefined>
172
- ): ResourceReturn<T | undefined>;
173
- export declare function createResource<T, S = true>(
174
- fetcher: ResourceFetcher<S, T>,
175
- options: ResourceOptions<T>
176
- ): ResourceReturn<T>;
177
- export declare function createResource<T, S>(
178
- source: ResourceSource<S>,
179
- fetcher: ResourceFetcher<S, T>,
180
- options?: ResourceOptions<undefined>
181
- ): ResourceReturn<T | undefined>;
182
- export declare function createResource<T, S>(
183
- source: ResourceSource<S>,
184
- fetcher: ResourceFetcher<S, T>,
185
- options: ResourceOptions<T>
186
- ): ResourceReturn<T>;
187
57
  export declare function lazy<T extends Component<any>>(
188
58
  fn: () => Promise<{
189
59
  default: T;
@@ -193,10 +63,7 @@ export declare function lazy<T extends Component<any>>(
193
63
  default: T;
194
64
  }>;
195
65
  };
196
- export declare function enableScheduling(): void;
197
66
  export declare function enableHydration(): void;
198
- export declare function startTransition(fn: () => any): void;
199
- export declare function useTransition(): [() => boolean, (fn: () => any) => void];
200
67
  type HydrationContext = {
201
68
  id: string;
202
69
  count: number;
@@ -211,20 +78,5 @@ type HydrationContext = {
211
78
  async?: boolean;
212
79
  noHydrate: boolean;
213
80
  };
214
- export declare function SuspenseList(props: {
215
- children: string;
216
- revealOrder: "forwards" | "backwards" | "together";
217
- tail?: "collapsed" | "hidden";
218
- }): string;
219
- export declare function Suspense(props: { fallback?: string; children: string }):
220
- | string
221
- | number
222
- | boolean
223
- | Node
224
- | JSX.ArrayElement
225
- | {
226
- t: string;
227
- }
228
- | null
229
- | undefined;
81
+ export declare function Suspense(props: { fallback?: string; children: string }): void;
230
82
  export {};
@@ -0,0 +1,85 @@
1
+ import type {
2
+ Accessor,
3
+ Computation,
4
+ ComputeFunction,
5
+ EffectFunction,
6
+ EffectOptions,
7
+ MemoOptions,
8
+ Signal,
9
+ SignalOptions
10
+ } from "@solidjs/signals";
11
+ export declare let Owner: Owner | null;
12
+ interface Owner {
13
+ owner: Owner | null;
14
+ context: any | null;
15
+ owned: Owner[] | null;
16
+ cleanups: (() => void)[] | null;
17
+ }
18
+ export declare function createRoot<T>(fn: ((dispose: () => void) => T) | (() => T)): T;
19
+ export declare function createSignal<T>(): Signal<T | undefined>;
20
+ export declare function createSignal<T>(
21
+ value: Exclude<T, Function>,
22
+ options?: SignalOptions<T>
23
+ ): Signal<T>;
24
+ export declare function createSignal<T>(
25
+ fn: ComputeFunction<T>,
26
+ initialValue?: T,
27
+ options?: SignalOptions<T>
28
+ ): Signal<T>;
29
+ export declare function createMemo<Next extends Prev, Prev = Next>(
30
+ compute: ComputeFunction<undefined | NoInfer<Prev>, Next>
31
+ ): Accessor<Next>;
32
+ export declare function createMemo<Next extends Prev, Init = Next, Prev = Next>(
33
+ compute: ComputeFunction<Init | Prev, Next>,
34
+ value: Init,
35
+ options?: MemoOptions<Next>
36
+ ): Accessor<Next>;
37
+ export declare function createRenderEffect<Next>(
38
+ compute: ComputeFunction<undefined | NoInfer<Next>, Next>,
39
+ effect: EffectFunction<NoInfer<Next>, Next>
40
+ ): void;
41
+ export declare function createRenderEffect<Next, Init = Next>(
42
+ compute: ComputeFunction<Init | Next, Next>,
43
+ effect: EffectFunction<Next, Next>,
44
+ value: Init,
45
+ options?: EffectOptions
46
+ ): void;
47
+ export declare function createEffect<Next>(
48
+ compute: ComputeFunction<undefined | NoInfer<Next>, Next>,
49
+ effect: EffectFunction<NoInfer<Next>, Next>,
50
+ error?: (err: unknown) => void
51
+ ): void;
52
+ export declare function createEffect<Next, Init = Next>(
53
+ compute: ComputeFunction<Init | Next, Next>,
54
+ effect: EffectFunction<Next, Next>,
55
+ error: ((err: unknown) => void) | undefined,
56
+ value: Init,
57
+ options?: EffectOptions
58
+ ): void;
59
+ export declare function createAsync(): void;
60
+ export declare function isPending(): void;
61
+ export declare function latest(): void;
62
+ export declare function resolve(): void;
63
+ export declare function flushSync(): void;
64
+ export declare function getObserver(): Computation<any> | null;
65
+ export declare function getOwner(): Owner | null;
66
+ export declare function runWithOwner<T>(o: typeof Owner, fn: () => T): T | undefined;
67
+ export declare function runWithObserver<T>(o: Computation, fn: () => T): T | undefined;
68
+ export declare function untrack<T>(fn: () => T): T;
69
+ export declare function onCleanup(fn: () => void): () => void;
70
+ export declare function mapArray<T, U>(
71
+ list: Accessor<readonly T[] | undefined | null | false>,
72
+ mapFn: (v: Accessor<T>, i: Accessor<number>) => U,
73
+ options?: {
74
+ fallback?: Accessor<any>;
75
+ }
76
+ ): () => U[];
77
+ export declare function repeat<T>(
78
+ count: Accessor<number>,
79
+ mapFn: (i: number) => T,
80
+ options?: {
81
+ fallback?: Accessor<any>;
82
+ from?: Accessor<number | undefined>;
83
+ }
84
+ ): () => T[];
85
+ export {};
@@ -1,6 +1,15 @@
1
- import type { Store, StoreSetter } from "@solidjs/signals";
1
+ import type { Merge, Store, StoreSetter, Omit } from "@solidjs/signals";
2
2
  export type { NotWrappable, SolidStore, Store, StoreNode, StoreSetter } from "@solidjs/signals";
3
3
  export declare function isWrappable(obj: any): boolean;
4
4
  export declare function unwrap<T>(item: T): T;
5
5
  export declare function createStore<T>(state: T | Store<T>): [get: Store<T>, set: StoreSetter<T>];
6
+ export declare function createProjection<T extends Object>(
7
+ fn: (draft: T) => void,
8
+ initialValue?: T
9
+ ): Store<T>;
6
10
  export declare function reconcile<T extends U, U extends object>(value: T): (state: U) => T;
11
+ export declare function merge<T extends unknown[]>(...sources: T): Merge<T>;
12
+ export declare function omit<T extends Record<any, any>, K extends readonly (keyof T)[]>(
13
+ props: T,
14
+ ...keys: K
15
+ ): Omit<T, K>;