Skip to content

Commit 02f89de

Browse files
committed
Merge branch 'alpha'
# Conflicts: # docs/reference/classes/Derived.md # docs/reference/functions/batch.md # docs/reference/variables/storeToDerived.md # examples/angular/simple/package.json # packages/store/src/derived.ts # packages/store/src/scheduler.ts
2 parents f4794bb + dace25f commit 02f89de

110 files changed

Lines changed: 7594 additions & 6467 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.changeset/afraid-foxes-stand.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
---
2+
'@tanstack/angular-store': minor
3+
'@tanstack/preact-store': minor
4+
'@tanstack/svelte-store': minor
5+
'@tanstack/react-store': minor
6+
'@tanstack/solid-store': minor
7+
'@tanstack/vue-store': minor
8+
'@tanstack/store': minor
9+
---
10+
11+
## Breaking changes
12+
13+
- `new Store()` is now `createStore()`
14+
- `new Derived()` is now a derived `createStore()`:
15+
```ts
16+
const derived = createStore(() => store.state * 2)
17+
```
18+
- `new Effect()` removed in favor of `store.subscribe()`:
19+
```ts
20+
const { unsubscribe } = store.subscribe(() => {
21+
console.log(store.state)
22+
})
23+
```
24+
- Uses [alien-signals](https://github.com/nicepkg/alien-signals) under the hood for efficient reactivity

docs/framework/angular/quick-start.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@ export class AppComponent {}
3232

3333
**store.ts**
3434
```typescript
35-
import { Store } from '@tanstack/angular-store';
35+
import { createStore } from '@tanstack/angular-store';
3636

3737
// You can instantiate the store outside of Angular components too!
38-
export const store = new Store({
38+
export const store = createStore({
3939
dogs: 0,
4040
cats: 0,
4141
});

docs/framework/angular/reference/functions/injectStore.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ function injectStore<TState, TSelected>(
1414
options?): Signal<TSelected>;
1515
```
1616

17-
Defined in: [index.ts:19](https://github.com/TanStack/store/blob/main/packages/angular-store/src/index.ts#L19)
17+
Defined in: [index.ts:16](https://github.com/TanStack/store/blob/main/packages/angular-store/src/index.ts#L16)
1818

1919
### Type Parameters
2020

@@ -30,7 +30,7 @@ Defined in: [index.ts:19](https://github.com/TanStack/store/blob/main/packages/a
3030

3131
#### store
3232

33-
`Store`\<`TState`, `any`\>
33+
`Atom`\<`TState`\>
3434

3535
#### selector?
3636

@@ -53,7 +53,7 @@ function injectStore<TState, TSelected>(
5353
options?): Signal<TSelected>;
5454
```
5555

56-
Defined in: [index.ts:24](https://github.com/TanStack/store/blob/main/packages/angular-store/src/index.ts#L24)
56+
Defined in: [index.ts:21](https://github.com/TanStack/store/blob/main/packages/angular-store/src/index.ts#L21)
5757

5858
### Type Parameters
5959

@@ -69,7 +69,7 @@ Defined in: [index.ts:24](https://github.com/TanStack/store/blob/main/packages/a
6969

7070
#### store
7171

72-
`Derived`\<`TState`, `any`\>
72+
`Atom`\<`TState`\> | `ReadonlyAtom`\<`TState`\>
7373

7474
#### selector?
7575

docs/framework/preact/quick-start.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ The basic preact app example to get started with the TanStack preact-store.
77

88
```tsx
99
import { render } from "preact";
10-
import { Store, useStore } from "@tanstack/preact-store";
10+
import { createStore, useStore } from "@tanstack/preact-store";
1111

1212
// You can instantiate the store outside of Preact components too!
13-
export const store = new Store({
13+
export const store = createStore({
1414
dogs: 0,
1515
cats: 0,
1616
});

docs/framework/preact/reference/functions/shallow.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ title: shallow
99
function shallow<T>(objA, objB): boolean;
1010
```
1111

12-
Defined in: [index.ts:130](https://github.com/TanStack/store/blob/main/packages/preact-store/src/index.ts#L130)
12+
Defined in: [index.ts:116](https://github.com/TanStack/store/blob/main/packages/preact-store/src/index.ts#L116)
1313

1414
## Type Parameters
1515

docs/framework/preact/reference/functions/useStore.md

Lines changed: 13 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -5,80 +5,39 @@ title: useStore
55

66
# Function: useStore()
77

8-
## Call Signature
9-
10-
```ts
11-
function useStore<TState, TSelected>(
12-
store,
13-
selector?,
14-
options?): TSelected;
15-
```
16-
17-
Defined in: [index.ts:104](https://github.com/TanStack/store/blob/main/packages/preact-store/src/index.ts#L104)
18-
19-
### Type Parameters
20-
21-
#### TState
22-
23-
`TState`
24-
25-
#### TSelected
26-
27-
`TSelected` = `NoInfer`\<`TState`\>
28-
29-
### Parameters
30-
31-
#### store
32-
33-
`Store`\<`TState`, `any`\>
34-
35-
#### selector?
36-
37-
(`state`) => `TSelected`
38-
39-
#### options?
40-
41-
`UseStoreOptions`\<`TSelected`\>
42-
43-
### Returns
44-
45-
`TSelected`
46-
47-
## Call Signature
48-
498
```ts
509
function useStore<TState, TSelected>(
5110
store,
52-
selector?,
53-
options?): TSelected;
11+
selector,
12+
options): TSelected;
5413
```
5514

56-
Defined in: [index.ts:109](https://github.com/TanStack/store/blob/main/packages/preact-store/src/index.ts#L109)
15+
Defined in: [index.ts:100](https://github.com/TanStack/store/blob/main/packages/preact-store/src/index.ts#L100)
5716

58-
### Type Parameters
17+
## Type Parameters
5918

60-
#### TState
19+
### TState
6120

6221
`TState`
6322

64-
#### TSelected
23+
### TSelected
6524

6625
`TSelected` = `NoInfer`\<`TState`\>
6726

68-
### Parameters
27+
## Parameters
6928

70-
#### store
29+
### store
7130

72-
`Derived`\<`TState`, `any`\>
31+
`Atom`\<`TState`\> | `ReadonlyAtom`\<`TState`\>
7332

74-
#### selector?
33+
### selector
7534

7635
(`state`) => `TSelected`
7736

78-
#### options?
37+
### options
7938

80-
`UseStoreOptions`\<`TSelected`\>
39+
`UseStoreOptions`\<`TSelected`\> = `{}`
8140

82-
### Returns
41+
## Returns
8342

8443
`TSelected`

docs/framework/react/quick-start.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ The basic react app example to get started with the TanStack react-store.
88
```tsx
99
import React from "react";
1010
import ReactDOM from "react-dom/client";
11-
import { Store, useStore } from "@tanstack/react-store";
11+
import { createStore, useStore } from "@tanstack/react-store";
1212

1313
// You can instantiate the store outside of React components too!
14-
export const store = new Store({
14+
export const store = createStore({
1515
dogs: 0,
1616
cats: 0,
1717
});

docs/framework/react/reference/functions/shallow.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ title: shallow
99
function shallow<T>(objA, objB): boolean;
1010
```
1111

12-
Defined in: [index.ts:42](https://github.com/TanStack/store/blob/main/packages/react-store/src/index.ts#L42)
12+
Defined in: [index.ts:5](https://github.com/TanStack/store/blob/main/packages/react-store/src/index.ts#L5)
1313

1414
## Type Parameters
1515

docs/framework/react/reference/functions/useStore.md

Lines changed: 19 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -5,80 +5,39 @@ title: useStore
55

66
# Function: useStore()
77

8-
## Call Signature
9-
10-
```ts
11-
function useStore<TState, TSelected>(
12-
store,
13-
selector?,
14-
options?): TSelected;
15-
```
16-
17-
Defined in: [index.ts:15](https://github.com/TanStack/store/blob/main/packages/react-store/src/index.ts#L15)
18-
19-
### Type Parameters
20-
21-
#### TState
22-
23-
`TState`
24-
25-
#### TSelected
26-
27-
`TSelected` = `NoInfer`\<`TState`\>
28-
29-
### Parameters
30-
31-
#### store
32-
33-
`Store`\<`TState`, `any`\>
34-
35-
#### selector?
36-
37-
(`state`) => `TSelected`
38-
39-
#### options?
40-
41-
`UseStoreOptions`\<`TSelected`\>
42-
43-
### Returns
44-
45-
`TSelected`
46-
47-
## Call Signature
48-
498
```ts
50-
function useStore<TState, TSelected>(
51-
store,
52-
selector?,
53-
options?): TSelected;
9+
function useStore<TAtom, T>(
10+
atom,
11+
selector,
12+
compare): T;
5413
```
5514

56-
Defined in: [index.ts:20](https://github.com/TanStack/store/blob/main/packages/react-store/src/index.ts#L20)
15+
Defined in: [useStore.ts:13](https://github.com/TanStack/store/blob/main/packages/react-store/src/useStore.ts#L13)
5716

58-
### Type Parameters
17+
## Type Parameters
5918

60-
#### TState
19+
### TAtom
6120

62-
`TState`
21+
`TAtom` *extends* `AnyAtom` \| `undefined`
6322

64-
#### TSelected
23+
### T
6524

66-
`TSelected` = `NoInfer`\<`TState`\>
25+
`T`
6726

68-
### Parameters
27+
## Parameters
6928

70-
#### store
29+
### atom
7130

72-
`Derived`\<`TState`, `any`\>
31+
`TAtom`
7332

74-
#### selector?
33+
### selector
7534

76-
(`state`) => `TSelected`
35+
(`snapshot`) => `T`
7736

78-
#### options?
37+
### compare
7938

80-
`UseStoreOptions`\<`TSelected`\>
39+
(`a`, `b`) => `boolean`
8140

82-
### Returns
41+
## Returns
8342

84-
`TSelected`
43+
`T`

docs/framework/solid/quick-start.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ id: quick-start
66
The basic Solid app example to get started with the TanStack Solid-store.
77

88
```jsx
9-
import { Store, useStore } from '@tanstack/solid-store';
9+
import { createStore, useStore } from '@tanstack/solid-store';
1010

1111
// You can instantiate the store outside of Solid components too!
12-
export const store = new Store({
13-
  cats: 0,
14-
  dogs: 0
12+
export const store = createStore({
13+
cats: 0,
14+
dogs: 0
1515
})
1616

1717
export const Display = (props) => {

0 commit comments

Comments
 (0)