From 6d351524716411d520258831a66a17166f02a243 Mon Sep 17 00:00:00 2001 From: Mikhail Nasyrov Date: Thu, 27 Oct 2022 02:06:51 +0300 Subject: [PATCH] v0.7.0 --- CHANGELOG.md | 10 ++ lerna.json | 2 +- packages/examples/CHANGELOG.md | 4 + packages/examples/package.json | 6 +- packages/rx-effects-react/CHANGELOG.md | 4 + packages/rx-effects-react/docs/README.md | 42 +---- packages/rx-effects-react/package.json | 4 +- packages/rx-effects/CHANGELOG.md | 10 ++ packages/rx-effects/docs/README.md | 210 ++++++++++------------- packages/rx-effects/package.json | 2 +- 10 files changed, 131 insertions(+), 163 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5073abf..78c7fb4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,16 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.7.0](https://github.com/mnasyrov/rx-effects/compare/v0.6.0...v0.7.0) (2022-10-26) + +### Bug Fixes + +- Fixed usage of Effect's options by `handleAction()` and `scope.createEffect()` ([#7](https://github.com/mnasyrov/rx-effects/issues/7)) ([e44bd23](https://github.com/mnasyrov/rx-effects/commit/e44bd23b563f7a61ea1ecfa291b311f52d55e577)) + +### Features + +- New scope's methods: `handleQuery()` and `subscribe()` ([#8](https://github.com/mnasyrov/rx-effects/issues/8)) ([5242c3e](https://github.com/mnasyrov/rx-effects/commit/5242c3e91b042b5eb060a0d1899a018c4b29294a)) + # [0.6.0](https://github.com/mnasyrov/rx-effects/compare/v0.5.2...v0.6.0) (2022-08-28) ### Features diff --git a/lerna.json b/lerna.json index 901cad6..6b0544b 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "0.6.0", + "version": "0.7.0", "hoist": "**", "forceLocal": true, "command": { diff --git a/packages/examples/CHANGELOG.md b/packages/examples/CHANGELOG.md index e80a1f1..813a9ba 100644 --- a/packages/examples/CHANGELOG.md +++ b/packages/examples/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.7.0](https://github.com/mnasyrov/rx-effects/compare/v0.6.0...v0.7.0) (2022-10-26) + +**Note:** Version bump only for package rx-effects-examples + # [0.6.0](https://github.com/mnasyrov/rx-effects/compare/v0.5.2...v0.6.0) (2022-08-28) ### Features diff --git a/packages/examples/package.json b/packages/examples/package.json index 6de28c4..fced2f2 100644 --- a/packages/examples/package.json +++ b/packages/examples/package.json @@ -1,12 +1,12 @@ { "private": true, "name": "rx-effects-examples", - "version": "0.6.0", + "version": "0.7.0", "type": "module", "sideEffects": false, "dependencies": { - "rx-effects": "0.6.0", - "rx-effects-react": "0.6.0" + "rx-effects": "0.7.0", + "rx-effects-react": "0.7.0" }, "peerDependencies": { "react": ">=17.0.0", diff --git a/packages/rx-effects-react/CHANGELOG.md b/packages/rx-effects-react/CHANGELOG.md index df5f477..573e01b 100644 --- a/packages/rx-effects-react/CHANGELOG.md +++ b/packages/rx-effects-react/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.7.0](https://github.com/mnasyrov/rx-effects/compare/v0.6.0...v0.7.0) (2022-10-26) + +**Note:** Version bump only for package rx-effects-react + # [0.6.0](https://github.com/mnasyrov/rx-effects/compare/v0.5.2...v0.6.0) (2022-08-28) ### Features diff --git a/packages/rx-effects-react/docs/README.md b/packages/rx-effects-react/docs/README.md index c182101..e0336bc 100644 --- a/packages/rx-effects-react/docs/README.md +++ b/packages/rx-effects-react/docs/README.md @@ -40,10 +40,6 @@ If the factory is provided, it is called only once. `T` -#### Defined in - -[rx-effects-react/src/useConst.ts:12](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects-react/src/useConst.ts#L12) - --- ### useController @@ -73,10 +69,6 @@ included explicitly when it is needed. `T` -#### Defined in - -[rx-effects-react/src/useController.ts:18](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects-react/src/useController.ts#L18) - --- ### useObservable @@ -88,7 +80,7 @@ Returns a value provided by `source$`. The hook returns the initial value and subscribes on the `source$`. After that, the hook returns values which are provided by the source. -**`example`** +**`Example`** ```ts const value = useObservable(source$, undefined); @@ -112,10 +104,6 @@ const value = useObservable(source$, undefined); `T` -#### Defined in - -[rx-effects-react/src/useObservable.ts:19](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects-react/src/useObservable.ts#L19) - --- ### useObserver @@ -126,7 +114,7 @@ Subscribes the provided observer or `next` handler on `source$` observable. This hook allows to do fine handling of the source observable. -**`example`** +**`Example`** ```ts const observer = useCallback((nextValue) => { @@ -152,10 +140,6 @@ useObserver(source$, observer); `Subscription` -#### Defined in - -[rx-effects-react/src/useObserver.ts:21](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects-react/src/useObserver.ts#L21) - --- ### useQuery @@ -174,16 +158,12 @@ Returns a value which is provided by the query. | Name | Type | Description | | :------ | :--------------------------------------------------------------- | :-------------------- | -| `query` | `Readonly`<{ `value$`: `Observable`<`T`\> ; `get`: () => `T` }\> | – a query for a value | +| `query` | `Readonly`<{ `get`: () => `T` ; `value$`: `Observable`<`T`\> }\> | – a query for a value | #### Returns `T` -#### Defined in - -[rx-effects-react/src/useQuery.ts:9](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects-react/src/useQuery.ts#L9) - --- ### useSelector @@ -195,7 +175,7 @@ Returns a value provided by `source$`. The hook returns the initial value and subscribes on the `source$`. After that, the hook returns values which are provided by the source. -**`example`** +**`Example`** ```ts const value = useSelector<{ data: Record }>( @@ -226,10 +206,6 @@ const value = useSelector<{ data: Record }>( `R` -#### Defined in - -[rx-effects-react/src/useSelector.ts:27](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects-react/src/useSelector.ts#L27) - --- ### useStateQuery @@ -238,7 +214,9 @@ const value = useSelector<{ data: Record }>( Returns a value which is provided by the query. -**`deprecated`** Use `useQuery()`. +**`Deprecated`** + +Use `useQuery()`. #### Type parameters @@ -250,12 +228,8 @@ Returns a value which is provided by the query. | Name | Type | Description | | :------ | :--------------------------------------------------------------- | :-------------------- | -| `query` | `Readonly`<{ `value$`: `Observable`<`T`\> ; `get`: () => `T` }\> | – a query for a value | +| `query` | `Readonly`<{ `get`: () => `T` ; `value$`: `Observable`<`T`\> }\> | – a query for a value | #### Returns `T` - -#### Defined in - -[rx-effects-react/src/useQuery.ts:30](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects-react/src/useQuery.ts#L30) diff --git a/packages/rx-effects-react/package.json b/packages/rx-effects-react/package.json index 7b4f119..33c966b 100644 --- a/packages/rx-effects-react/package.json +++ b/packages/rx-effects-react/package.json @@ -1,6 +1,6 @@ { "name": "rx-effects-react", - "version": "0.6.0", + "version": "0.7.0", "description": "Reactive state and effects management. Tooling for React.js", "license": "MIT", "author": "Mikhail Nasyrov (https://github.com/mnasyrov)", @@ -45,7 +45,7 @@ "build:esm": "tsc -p tsconfig.build.json --outDir dist/esm --module es2015" }, "dependencies": { - "rx-effects": "0.6.0" + "rx-effects": "0.7.0" }, "peerDependencies": { "react": ">=17.0.0", diff --git a/packages/rx-effects/CHANGELOG.md b/packages/rx-effects/CHANGELOG.md index 8f0fa92..a89a113 100644 --- a/packages/rx-effects/CHANGELOG.md +++ b/packages/rx-effects/CHANGELOG.md @@ -3,6 +3,16 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [0.7.0](https://github.com/mnasyrov/rx-effects/compare/v0.6.0...v0.7.0) (2022-10-26) + +### Bug Fixes + +- Fixed usage of Effect's options by `handleAction()` and `scope.createEffect()` ([#7](https://github.com/mnasyrov/rx-effects/issues/7)) ([e44bd23](https://github.com/mnasyrov/rx-effects/commit/e44bd23b563f7a61ea1ecfa291b311f52d55e577)) + +### Features + +- New scope's methods: `handleQuery()` and `subscribe()` ([#8](https://github.com/mnasyrov/rx-effects/issues/8)) ([5242c3e](https://github.com/mnasyrov/rx-effects/commit/5242c3e91b042b5eb060a0d1899a018c4b29294a)) + # [0.6.0](https://github.com/mnasyrov/rx-effects/compare/v0.5.2...v0.6.0) (2022-08-28) ### Features diff --git a/packages/rx-effects/docs/README.md b/packages/rx-effects/docs/README.md index 9e5cb79..329bcc0 100644 --- a/packages/rx-effects/docs/README.md +++ b/packages/rx-effects/docs/README.md @@ -4,7 +4,7 @@ rx-effects ## Table of contents -### Type aliases +### Type Aliases - [Action](README.md#action) - [Controller](README.md#controller) @@ -56,7 +56,7 @@ rx-effects - [pipeStateMutations](README.md#pipestatemutations) - [registerStoreExtension](README.md#registerstoreextension) -## Type aliases +## Type Aliases ### Action @@ -64,9 +64,11 @@ rx-effects Action is an event emitter -**`field`** event$ - Observable for emitted events. +**`Field`** -**`example`** +event$ - Observable for emitted events. + +**`Example`** ```ts // Create the action @@ -89,7 +91,7 @@ submitForm.even$.subscribe((formData) => { #### Defined in -[packages/rx-effects/src/action.ts:22](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/action.ts#L22) +[packages/rx-effects/src/action.ts:22](https://github.com/mnasyrov/rx-effects/blob/5242c3e/packages/rx-effects/src/action.ts#L22) --- @@ -102,7 +104,7 @@ Effects and business logic controller. Implementation of the controller must provide `destroy()` method. It should be used for closing subscriptions and disposing resources. -**`example`** +**`Example`** ```ts type LoggerController = Controller<{ @@ -118,13 +120,13 @@ type LoggerController = Controller<{ #### Defined in -[packages/rx-effects/src/controller.ts:16](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/controller.ts#L16) +[packages/rx-effects/src/controller.ts:16](https://github.com/mnasyrov/rx-effects/blob/5242c3e/packages/rx-effects/src/controller.ts#L16) --- ### Effect -Ƭ **Effect**<`Event`, `Result`, `ErrorType`\>: [`Controller`](README.md#controller)<[`EffectState`](README.md#effectstate)<`Event`, `Result`, `ErrorType`\> & { `handle`: (`source`: [`Action`](README.md#action)<`Event`\> \| `Observable`<`Event`\>, `options?`: `Readonly`<{ `onSourceCompleted?`: () => `void` ; `onSourceFailed?`: (`error`: `ErrorType`) => `void` }\>) => `Subscription` }\> +Ƭ **Effect**<`Event`, `Result`, `ErrorType`\>: [`Controller`](README.md#controller)<[`EffectState`](README.md#effectstate)<`Event`, `Result`, `ErrorType`\> & { `handle`: (`source`: [`Action`](README.md#action)<`Event`\> \| `Observable`<`Event`\>, `options?`: [`HandlerOptions`](README.md#handleroptions)<`ErrorType`\>) => `Subscription` }\> Effect encapsulates a handler for Action or Observable. @@ -144,7 +146,7 @@ unsubscribe from them and deactivate the effect. #### Defined in -[packages/rx-effects/src/effect.ts:105](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/effect.ts#L105) +[packages/rx-effects/src/effect.ts:110](https://github.com/mnasyrov/rx-effects/blob/5242c3e/packages/rx-effects/src/effect.ts#L110) --- @@ -175,7 +177,7 @@ unsubscribe from them and deactivate the effect. #### Defined in -[packages/rx-effects/src/effect.ts:76](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/effect.ts#L76) +[packages/rx-effects/src/effect.ts:81](https://github.com/mnasyrov/rx-effects/blob/5242c3e/packages/rx-effects/src/effect.ts#L81) --- @@ -196,7 +198,9 @@ unsubscribe from them and deactivate the effect. Handler for an event. It can be asynchronous. -**`result`** a result, Promise or Observable +**`Result`** + +a result, Promise or Observable ##### Parameters @@ -210,7 +214,7 @@ Handler for an event. It can be asynchronous. #### Defined in -[packages/rx-effects/src/effect.ts:41](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/effect.ts#L41) +[packages/rx-effects/src/effect.ts:41](https://github.com/mnasyrov/rx-effects/blob/5242c3e/packages/rx-effects/src/effect.ts#L41) --- @@ -227,7 +231,7 @@ Handler for an event. It can be asynchronous. #### Defined in -[packages/rx-effects/src/effect.ts:87](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/effect.ts#L87) +[packages/rx-effects/src/effect.ts:92](https://github.com/mnasyrov/rx-effects/blob/5242c3e/packages/rx-effects/src/effect.ts#L92) --- @@ -258,7 +262,7 @@ Handler for an event. It can be asynchronous. #### Defined in -[packages/rx-effects/src/effect.ts:80](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/effect.ts#L80) +[packages/rx-effects/src/effect.ts:85](https://github.com/mnasyrov/rx-effects/blob/5242c3e/packages/rx-effects/src/effect.ts#L85) --- @@ -278,7 +282,7 @@ Details about performing the effect. #### Defined in -[packages/rx-effects/src/effect.ts:56](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/effect.ts#L56) +[packages/rx-effects/src/effect.ts:61](https://github.com/mnasyrov/rx-effects/blob/5242c3e/packages/rx-effects/src/effect.ts#L61) --- @@ -290,7 +294,7 @@ Details about performing the effect. #### Defined in -[packages/rx-effects/src/scope.ts:70](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/scope.ts#L70) +[packages/rx-effects/src/scope.ts:96](https://github.com/mnasyrov/rx-effects/blob/5242c3e/packages/rx-effects/src/scope.ts#L96) --- @@ -300,6 +304,10 @@ Details about performing the effect. Options for handling an action or observable. +**`Deprecated`** + +Will be removed in the next version. + #### Type parameters | Name | Type | @@ -308,13 +316,13 @@ Options for handling an action or observable. #### Defined in -[packages/rx-effects/src/effect.ts:48](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/effect.ts#L48) +[packages/rx-effects/src/effect.ts:50](https://github.com/mnasyrov/rx-effects/blob/5242c3e/packages/rx-effects/src/effect.ts#L50) --- ### Query -Ƭ **Query**<`T`\>: `Readonly`<{ `value$`: `Observable`<`T`\> ; `get`: () => `T` }\> +Ƭ **Query**<`T`\>: `Readonly`<{ `get`: () => `T` ; `value$`: `Observable`<`T`\> }\> Provider for a value of a state. @@ -326,7 +334,7 @@ Provider for a value of a state. #### Defined in -[packages/rx-effects/src/queries/query.ts:6](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/queries/query.ts#L6) +[packages/rx-effects/src/queries/query.ts:6](https://github.com/mnasyrov/rx-effects/blob/5242c3e/packages/rx-effects/src/queries/query.ts#L6) --- @@ -336,11 +344,17 @@ Provider for a value of a state. Options for processing the query result -**`property`** distinct Enables distinct results +**`Property`** + +Enables distinct results + +**`Property`** + +Custom comparator for values. Strict equality `===` is used by default. -**`property`** distinct.comparator Custom comparator for values. Strict equality `===` is used by default. +**`Property`** -**`property`** distinct.keySelector Getter for keys of values to compare. Values itself are used for comparing by default. +Getter for keys of values to compare. Values itself are used for comparing by default. #### Type parameters @@ -351,13 +365,13 @@ Options for processing the query result #### Defined in -[packages/rx-effects/src/queries/query.ts:21](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/queries/query.ts#L21) +[packages/rx-effects/src/queries/query.ts:21](https://github.com/mnasyrov/rx-effects/blob/5242c3e/packages/rx-effects/src/queries/query.ts#L21) --- ### Scope -Ƭ **Scope**: [`Controller`](README.md#controller)<{ `add`: (`teardown`: `TeardownLogic`) => `void` ; `createController`: (`factory`: () => `Readonly`<{ `destroy`: () => `void` } & `ControllerProps`\>) => `Readonly`<{ `destroy`: () => `void` } & `ControllerProps`\> ; `createDeclaredStore`: (`stateDeclaration`: `Readonly`<{ `createState`: [`StateFactory`](README.md#statefactory)<`State`\> ; `initialState`: `State` ; `name?`: `string` ; `createStore`: (`initialState?`: `Partial`<`State`\>) => `Readonly`<`Readonly`<`Readonly`<{ `value$`: `Observable`<`T`\> ; `get`: () => `T` }\> & { `id`: `number` ; `name?`: `string` ; `asQuery`: () => `Readonly`<{ `value$`: `Observable`<`T`\> ; `get`: () => `T` }\> ; `query`: (`selector`: (`state`: `State`) => `R`, `options?`: `Readonly`<{ `distinct?`: `boolean` \| { `comparator?`: (`previous`: `K`, `current`: `K`) => `boolean` ; `keySelector?`: (`value`: `T`) => `K` } }\>) => `Readonly`<{ `value$`: `Observable`<`T`\> ; `get`: () => `T` }\> ; `select`: (`selector`: (`state`: `State`) => `R`, `options?`: `Readonly`<{ `distinct?`: `boolean` \| { `comparator?`: (`previous`: `K`, `current`: `K`) => `boolean` ; `keySelector?`: (`value`: `T`) => `K` } }\>) => `Observable`<`R`\> }\> & `Readonly`<{ `destroy`: () => `void` } & { `set`: (`state`: `State`) => `void` ; `update`: (`mutation`: [`StateMutation`](README.md#statemutation)<`State`\> \| readonly (`undefined` \| `null` \| `false` \| [`StateMutation`](README.md#statemutation)<`State`\>)[]) => `void` }\>\> ; `createStoreActions`: (`store`: `Readonly`<`Readonly`<`Readonly`<{ `value$`: `Observable`<`T`\> ; `get`: () => `T` }\> & { `id`: `number` ; `name?`: `string` ; `asQuery`: () => `Readonly`<{ `value$`: `Observable`<`T`\> ; `get`: () => `T` }\> ; `query`: (`selector`: (`state`: `State`) => `R`, `options?`: `Readonly`<{ `distinct?`: `boolean` \| { `comparator?`: (`previous`: `K`, `current`: `K`) => `boolean` ; `keySelector?`: (`value`: `T`) => `K` } }\>) => `Readonly`<{ `value$`: `Observable`<`T`\> ; `get`: () => `T` }\> ; `select`: (`selector`: (`state`: `State`) => `R`, `options?`: `Readonly`<{ `distinct?`: `boolean` \| { `comparator?`: (`previous`: `K`, `current`: `K`) => `boolean` ; `keySelector?`: (`value`: `T`) => `K` } }\>) => `Observable`<`R`\> }\> & `Readonly`<{ `destroy`: () => `void` } & { `set`: (`state`: `State`) => `void` ; `update`: (`mutation`: [`StateMutation`](README.md#statemutation)<`State`\> \| readonly (`undefined` \| `null` \| `false` \| [`StateMutation`](README.md#statemutation)<`State`\>)[]) => `void` }\>\>, `mutations`: `Mutations`) => [`StoreActions`](README.md#storeactions)<`State`, `Mutations`\>(`mutations`: `Mutations`) => [`StoreActionsFactory`](README.md#storeactionsfactory)<`State`, `Mutations`\> }\>, `initialState?`: `Partial`<`State`\>) => `Readonly`<`Readonly`<`Readonly`<{ `value$`: `Observable`<`T`\> ; `get`: () => `T` }\> & { `id`: `number` ; `name?`: `string` ; `asQuery`: () => `Readonly`<{ `value$`: `Observable`<`T`\> ; `get`: () => `T` }\> ; `query`: (`selector`: (`state`: `State`) => `R`, `options?`: `Readonly`<{ `distinct?`: `boolean` \| { `comparator?`: (`previous`: `K`, `current`: `K`) => `boolean` ; `keySelector?`: (`value`: `T`) => `K` } }\>) => `Readonly`<{ `value$`: `Observable`<`T`\> ; `get`: () => `T` }\> ; `select`: (`selector`: (`state`: `State`) => `R`, `options?`: `Readonly`<{ `distinct?`: `boolean` \| { `comparator?`: (`previous`: `K`, `current`: `K`) => `boolean` ; `keySelector?`: (`value`: `T`) => `K` } }\>) => `Observable`<`R`\> }\> & `Readonly`<{ `destroy`: () => `void` } & { `set`: (`state`: `State`) => `void` ; `update`: (`mutation`: [`StateMutation`](README.md#statemutation)<`State`\> \| readonly (`undefined` \| `null` \| `false` \| [`StateMutation`](README.md#statemutation)<`State`\>)[]) => `void` }\>\> ; `createEffect`: (`handler`: [`EffectHandler`](README.md#effecthandler)<`Event`, `Result`\>) => `Readonly`<{ `destroy`: () => `void` } & `Readonly`<{ `done$`: `Observable`<{ `event`: `Event` ; `result`: `Result` }\> ; `error$`: `Observable`<{ `error`: `ErrorType` ; `event`: `Event` }\> ; `final$`: `Observable`<`Event`\> ; `pending`: [`Query`](README.md#query)<`boolean`\> ; `pendingCount`: [`Query`](README.md#query)<`number`\> ; `result$`: `Observable`<`Result`\> }\> & { `handle`: (`source`: [`Action`](README.md#action)<`Event`\> \| `Observable`<`Event`\>, `options?`: `Readonly`<{ `onSourceCompleted?`: () => `void` ; `onSourceFailed?`: (`error`: `ErrorType`) => `void` }\>) => `Subscription` }\> ; `createStore`: (`initialState`: `State`, `options?`: `Readonly`<{ `internal?`: `boolean` ; `name?`: `string` ; `stateComparator?`: (`prevState`: `State`, `nextState`: `State`) => `boolean` }\>) => `Readonly`<`Readonly`<`Readonly`<{ `value$`: `Observable`<`T`\> ; `get`: () => `T` }\> & { `id`: `number` ; `name?`: `string` ; `asQuery`: () => `Readonly`<{ `value$`: `Observable`<`T`\> ; `get`: () => `T` }\> ; `query`: (`selector`: (`state`: `State`) => `R`, `options?`: `Readonly`<{ `distinct?`: `boolean` \| { `comparator?`: (`previous`: `K`, `current`: `K`) => `boolean` ; `keySelector?`: (`value`: `T`) => `K` } }\>) => `Readonly`<{ `value$`: `Observable`<`T`\> ; `get`: () => `T` }\> ; `select`: (`selector`: (`state`: `State`) => `R`, `options?`: `Readonly`<{ `distinct?`: `boolean` \| { `comparator?`: (`previous`: `K`, `current`: `K`) => `boolean` ; `keySelector?`: (`value`: `T`) => `K` } }\>) => `Observable`<`R`\> }\> & `Readonly`<{ `destroy`: () => `void` } & { `set`: (`state`: `State`) => `void` ; `update`: (`mutation`: [`StateMutation`](README.md#statemutation)<`State`\> \| readonly (`undefined` \| `null` \| `false` \| [`StateMutation`](README.md#statemutation)<`State`\>)[]) => `void` }\>\> ; `handleAction`: (`source`: `Observable`<`Event`\> \| [`Action`](README.md#action)<`Event`\>, `handler`: [`EffectHandler`](README.md#effecthandler)<`Event`, `Result`\>, `options?`: `Readonly`<{ `onSourceCompleted?`: () => `void` ; `onSourceFailed?`: (`error`: `ErrorType`) => `void` }\>) => `Readonly`<{ `destroy`: () => `void` } & `Readonly`<{ `done$`: `Observable`<{ `event`: `Event` ; `result`: `Result` }\> ; `error$`: `Observable`<{ `error`: `ErrorType` ; `event`: `Event` }\> ; `final$`: `Observable`<`Event`\> ; `pending`: [`Query`](README.md#query)<`boolean`\> ; `pendingCount`: [`Query`](README.md#query)<`number`\> ; `result$`: `Observable`<`Result`\> }\> & { `handle`: (`source`: [`Action`](README.md#action)<`Event`\> \| `Observable`<`Event`\>, `options?`: `Readonly`<{ `onSourceCompleted?`: () => `void` ; `onSourceFailed?`: (`error`: `ErrorType`) => `void` }\>) => `Subscription` }\> }\> +Ƭ **Scope**: [`Controller`](README.md#controller)<{ `add`: (`teardown`: `TeardownLogic`) => `void` ; `createController`: (`factory`: () => [`Controller`](README.md#controller)<`ControllerProps`\>) => [`Controller`](README.md#controller)<`ControllerProps`\> ; `createEffect`: (`handler`: [`EffectHandler`](README.md#effecthandler)<`Event`, `Result`\>) => [`Effect`](README.md#effect)<`Event`, `Result`, `ErrorType`\> ; `handleAction`: (`source`: `Observable`<`Event`\> \| [`Action`](README.md#action)<`Event`\>, `handler`: [`EffectHandler`](README.md#effecthandler)<`Event`, `Result`\>, `options?`: [`HandlerOptions`](README.md#handleroptions)<`ErrorType`\> & [`EffectOptions`](README.md#effectoptions)<`Event`, `Result`\>) => [`Effect`](README.md#effect)<`Event`, `Result`, `ErrorType`\> ; `handleQuery`: (`query`: [`Query`](README.md#query)<`Value`\>, `handler`: [`EffectHandler`](README.md#effecthandler)<`Value`, `Result`\>, `options?`: [`EffectOptions`](README.md#effectoptions)<`Value`, `Result`\>) => [`Effect`](README.md#effect)<`Value`, `Result`, `ErrorType`\> ; `subscribe`: (...`args`: [source: Observable, args: Parameters["subscribe"]\>]) => `Subscription` ; `createDeclaredStore`: (`stateDeclaration`: `Readonly`<{ `createState`: [`StateFactory`](README.md#statefactory)<`State`\> ; `createStore`: (`initialState?`: `Partial`<`State`\>) => [`Store`](README.md#store)<`State`\> ; `initialState`: `State` ; `name?`: `string` ; `createStoreActions`: (`store`: `Readonly`<`Readonly`<`Readonly`<{ `get`: () => `T` ; `value$`: `Observable`<`T`\> }\> & { `asQuery`: () => [`Query`](README.md#query)<`State`\> ; `id`: `number` ; `name?`: `string` ; `query`: (`selector`: (`state`: `State`) => `R`, `options?`: [`QueryOptions`](README.md#queryoptions)<`R`, `K`\>) => [`Query`](README.md#query)<`R`\> ; `select`: (`selector`: (`state`: `State`) => `R`, `options?`: [`QueryOptions`](README.md#queryoptions)<`R`, `K`\>) => `Observable`<`R`\> }\> & `Readonly`<{ `destroy`: () => `void` } & { `set`: (`state`: `State`) => `void` ; `update`: (`mutation`: [`StateMutation`](README.md#statemutation)<`State`\> \| `ReadonlyArray`<[`StateMutation`](README.md#statemutation)<`State`\> \| `undefined` \| `null` \| `false`\>) => `void` }\>\>, `mutations`: `Mutations`) => [`StoreActions`](README.md#storeactions)<`State`, `Mutations`\>(`mutations`: `Mutations`) => [`StoreActionsFactory`](README.md#storeactionsfactory)<`State`, `Mutations`\> }\>, `initialState?`: `Partial`<`State`\>) => `Readonly`<`Readonly`<`Readonly`<{ `get`: () => `T` ; `value$`: `Observable`<`T`\> }\> & { `asQuery`: () => [`Query`](README.md#query)<`State`\> ; `id`: `number` ; `name?`: `string` ; `query`: (`selector`: (`state`: `State`) => `R`, `options?`: [`QueryOptions`](README.md#queryoptions)<`R`, `K`\>) => [`Query`](README.md#query)<`R`\> ; `select`: (`selector`: (`state`: `State`) => `R`, `options?`: [`QueryOptions`](README.md#queryoptions)<`R`, `K`\>) => `Observable`<`R`\> }\> & `Readonly`<{ `destroy`: () => `void` } & { `set`: (`state`: `State`) => `void` ; `update`: (`mutation`: [`StateMutation`](README.md#statemutation)<`State`\> \| `ReadonlyArray`<[`StateMutation`](README.md#statemutation)<`State`\> \| `undefined` \| `null` \| `false`\>) => `void` }\>\> ; `createStore`: (`initialState`: `State`, `options?`: `Readonly`<{ `internal?`: `boolean` ; `name?`: `string` ; `stateComparator?`: (`prevState`: `State`, `nextState`: `State`) => `boolean` }\>) => `Readonly`<`Readonly`<`Readonly`<{ `get`: () => `T` ; `value$`: `Observable`<`T`\> }\> & { `asQuery`: () => [`Query`](README.md#query)<`State`\> ; `id`: `number` ; `name?`: `string` ; `query`: (`selector`: (`state`: `State`) => `R`, `options?`: [`QueryOptions`](README.md#queryoptions)<`R`, `K`\>) => [`Query`](README.md#query)<`R`\> ; `select`: (`selector`: (`state`: `State`) => `R`, `options?`: [`QueryOptions`](README.md#queryoptions)<`R`, `K`\>) => `Observable`<`R`\> }\> & `Readonly`<{ `destroy`: () => `void` } & { `set`: (`state`: `State`) => `void` ; `update`: (`mutation`: [`StateMutation`](README.md#statemutation)<`State`\> \| `ReadonlyArray`<[`StateMutation`](README.md#statemutation)<`State`\> \| `undefined` \| `null` \| `false`\>) => `void` }\>\> }\> A controller-like boundary for effects and business logic. @@ -366,13 +380,13 @@ A controller-like boundary for effects and business logic. #### Defined in -[packages/rx-effects/src/scope.ts:15](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/scope.ts#L15) +[packages/rx-effects/src/scope.ts:21](https://github.com/mnasyrov/rx-effects/blob/5242c3e/packages/rx-effects/src/scope.ts#L21) --- ### StateDeclaration -Ƭ **StateDeclaration**<`State`\>: `Readonly`<{ `createState`: [`StateFactory`](README.md#statefactory)<`State`\> ; `initialState`: `State` ; `name?`: `string` ; `createStore`: (`initialState?`: `Partial`<`State`\>) => `Readonly`<`Readonly`<`Readonly`<{ `value$`: `Observable`<`T`\> ; `get`: () => `T` }\> & { `id`: `number` ; `name?`: `string` ; `asQuery`: () => `Readonly`<{ `value$`: `Observable`<`T`\> ; `get`: () => `T` }\> ; `query`: (`selector`: (`state`: `State`) => `R`, `options?`: `Readonly`<{ `distinct?`: `boolean` \| { `comparator?`: (`previous`: `K`, `current`: `K`) => `boolean` ; `keySelector?`: (`value`: `T`) => `K` } }\>) => `Readonly`<{ `value$`: `Observable`<`T`\> ; `get`: () => `T` }\> ; `select`: (`selector`: (`state`: `State`) => `R`, `options?`: `Readonly`<{ `distinct?`: `boolean` \| { `comparator?`: (`previous`: `K`, `current`: `K`) => `boolean` ; `keySelector?`: (`value`: `T`) => `K` } }\>) => `Observable`<`R`\> }\> & `Readonly`<{ `destroy`: () => `void` } & { `set`: (`state`: `State`) => `void` ; `update`: (`mutation`: [`StateMutation`](README.md#statemutation)<`State`\> \| readonly (`undefined` \| `null` \| `false` \| [`StateMutation`](README.md#statemutation)<`State`\>)[]) => `void` }\>\> ; `createStoreActions`: (`store`: `Readonly`<`Readonly`<`Readonly`<{ `value$`: `Observable`<`T`\> ; `get`: () => `T` }\> & { `id`: `number` ; `name?`: `string` ; `asQuery`: () => `Readonly`<{ `value$`: `Observable`<`T`\> ; `get`: () => `T` }\> ; `query`: (`selector`: (`state`: `State`) => `R`, `options?`: `Readonly`<{ `distinct?`: `boolean` \| { `comparator?`: (`previous`: `K`, `current`: `K`) => `boolean` ; `keySelector?`: (`value`: `T`) => `K` } }\>) => `Readonly`<{ `value$`: `Observable`<`T`\> ; `get`: () => `T` }\> ; `select`: (`selector`: (`state`: `State`) => `R`, `options?`: `Readonly`<{ `distinct?`: `boolean` \| { `comparator?`: (`previous`: `K`, `current`: `K`) => `boolean` ; `keySelector?`: (`value`: `T`) => `K` } }\>) => `Observable`<`R`\> }\> & `Readonly`<{ `destroy`: () => `void` } & { `set`: (`state`: `State`) => `void` ; `update`: (`mutation`: [`StateMutation`](README.md#statemutation)<`State`\> \| readonly (`undefined` \| `null` \| `false` \| [`StateMutation`](README.md#statemutation)<`State`\>)[]) => `void` }\>\>, `mutations`: `Mutations`) => [`StoreActions`](README.md#storeactions)<`State`, `Mutations`\>(`mutations`: `Mutations`) => [`StoreActionsFactory`](README.md#storeactionsfactory)<`State`, `Mutations`\> }\> +Ƭ **StateDeclaration**<`State`\>: `Readonly`<{ `createState`: [`StateFactory`](README.md#statefactory)<`State`\> ; `createStore`: (`initialState?`: `Partial`<`State`\>) => [`Store`](README.md#store)<`State`\> ; `initialState`: `State` ; `name?`: `string` ; `createStoreActions`: (`store`: `Readonly`<`Readonly`<`Readonly`<{ `get`: () => `T` ; `value$`: `Observable`<`T`\> }\> & { `asQuery`: () => [`Query`](README.md#query)<`State`\> ; `id`: `number` ; `name?`: `string` ; `query`: (`selector`: (`state`: `State`) => `R`, `options?`: [`QueryOptions`](README.md#queryoptions)<`R`, `K`\>) => [`Query`](README.md#query)<`R`\> ; `select`: (`selector`: (`state`: `State`) => `R`, `options?`: [`QueryOptions`](README.md#queryoptions)<`R`, `K`\>) => `Observable`<`R`\> }\> & `Readonly`<{ `destroy`: () => `void` } & { `set`: (`state`: `State`) => `void` ; `update`: (`mutation`: [`StateMutation`](README.md#statemutation)<`State`\> \| `ReadonlyArray`<[`StateMutation`](README.md#statemutation)<`State`\> \| `undefined` \| `null` \| `false`\>) => `void` }\>\>, `mutations`: `Mutations`) => [`StoreActions`](README.md#storeactions)<`State`, `Mutations`\>(`mutations`: `Mutations`) => [`StoreActionsFactory`](README.md#storeactionsfactory)<`State`, `Mutations`\> }\> Declaration of a state. @@ -384,7 +398,7 @@ Declaration of a state. #### Defined in -[packages/rx-effects/src/stateDeclaration.ts:18](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/stateDeclaration.ts#L18) +[packages/rx-effects/src/stateDeclaration.ts:18](https://github.com/mnasyrov/rx-effects/blob/5242c3e/packages/rx-effects/src/stateDeclaration.ts#L18) --- @@ -400,7 +414,7 @@ Declaration of a state. #### Defined in -[packages/rx-effects/src/stateDeclaration.ts:42](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/stateDeclaration.ts#L42) +[packages/rx-effects/src/stateDeclaration.ts:42](https://github.com/mnasyrov/rx-effects/blob/5242c3e/packages/rx-effects/src/stateDeclaration.ts#L42) --- @@ -433,7 +447,7 @@ state. #### Defined in -[packages/rx-effects/src/stateDeclaration.ts:13](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/stateDeclaration.ts#L13) +[packages/rx-effects/src/stateDeclaration.ts:13](https://github.com/mnasyrov/rx-effects/blob/5242c3e/packages/rx-effects/src/stateDeclaration.ts#L13) --- @@ -482,7 +496,7 @@ a next state #### Defined in -[packages/rx-effects/src/stateMutation.ts:19](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/stateMutation.ts#L19) +[packages/rx-effects/src/stateMutation.ts:19](https://github.com/mnasyrov/rx-effects/blob/5242c3e/packages/rx-effects/src/stateMutation.ts#L19) --- @@ -492,7 +506,7 @@ a next state #### Defined in -[packages/rx-effects/src/storeMetadata.ts:7](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/storeMetadata.ts#L7) +[packages/rx-effects/src/storeMetadata.ts:7](https://github.com/mnasyrov/rx-effects/blob/5242c3e/packages/rx-effects/src/storeMetadata.ts#L7) --- @@ -510,7 +524,7 @@ A record of state mutations. #### Defined in -[packages/rx-effects/src/stateMutation.ts:24](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/stateMutation.ts#L24) +[packages/rx-effects/src/stateMutation.ts:24](https://github.com/mnasyrov/rx-effects/blob/5242c3e/packages/rx-effects/src/stateMutation.ts#L24) --- @@ -518,7 +532,9 @@ A record of state mutations. Ƭ **StateQuery**<`T`\>: [`Query`](README.md#query)<`T`\> -**`deprecated`** Deprecated, use `Query` type. +**`Deprecated`** + +Deprecated, use `Query` type. #### Type parameters @@ -528,7 +544,7 @@ A record of state mutations. #### Defined in -[packages/rx-effects/src/queries/query.ts:33](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/queries/query.ts#L33) +[packages/rx-effects/src/queries/query.ts:33](https://github.com/mnasyrov/rx-effects/blob/5242c3e/packages/rx-effects/src/queries/query.ts#L33) --- @@ -536,7 +552,9 @@ A record of state mutations. Ƭ **StateQueryOptions**<`T`, `K`\>: [`QueryOptions`](README.md#queryoptions)<`T`, `K`\> -**`deprecated`** Deprecated, use `QueryOptions` type. +**`Deprecated`** + +Deprecated, use `QueryOptions` type. #### Type parameters @@ -547,13 +565,13 @@ A record of state mutations. #### Defined in -[packages/rx-effects/src/queries/query.ts:38](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/queries/query.ts#L38) +[packages/rx-effects/src/queries/query.ts:38](https://github.com/mnasyrov/rx-effects/blob/5242c3e/packages/rx-effects/src/queries/query.ts#L38) --- ### StateReader -Ƭ **StateReader**<`State`\>: `Readonly`<[`Query`](README.md#query)<`State`\> & { `id`: `number` ; `name?`: `string` ; `asQuery`: () => `Readonly`<{ `value$`: `Observable`<`T`\> ; `get`: () => `T` }\> ; `query`: (`selector`: (`state`: `State`) => `R`, `options?`: `Readonly`<{ `distinct?`: `boolean` \| { `comparator?`: (`previous`: `K`, `current`: `K`) => `boolean` ; `keySelector?`: (`value`: `T`) => `K` } }\>) => `Readonly`<{ `value$`: `Observable`<`T`\> ; `get`: () => `T` }\> ; `select`: (`selector`: (`state`: `State`) => `R`, `options?`: `Readonly`<{ `distinct?`: `boolean` \| { `comparator?`: (`previous`: `K`, `current`: `K`) => `boolean` ; `keySelector?`: (`value`: `T`) => `K` } }\>) => `Observable`<`R`\> }\> +Ƭ **StateReader**<`State`\>: `Readonly`<[`Query`](README.md#query)<`State`\> & { `asQuery`: () => [`Query`](README.md#query)<`State`\> ; `id`: `number` ; `name?`: `string` ; `query`: (`selector`: (`state`: `State`) => `R`, `options?`: [`QueryOptions`](README.md#queryoptions)<`R`, `K`\>) => [`Query`](README.md#query)<`R`\> ; `select`: (`selector`: (`state`: `State`) => `R`, `options?`: [`QueryOptions`](README.md#queryoptions)<`R`, `K`\>) => `Observable`<`R`\> }\> Read-only type of the state store. @@ -565,13 +583,13 @@ Read-only type of the state store. #### Defined in -[packages/rx-effects/src/store.ts:14](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/store.ts#L14) +[packages/rx-effects/src/store.ts:14](https://github.com/mnasyrov/rx-effects/blob/5242c3e/packages/rx-effects/src/store.ts#L14) --- ### Store -Ƭ **Store**<`State`\>: `Readonly`<[`StateReader`](README.md#statereader)<`State`\> & [`Controller`](README.md#controller)<{ `set`: (`state`: `State`) => `void` ; `update`: (`mutation`: [`StateMutation`](README.md#statemutation)<`State`\> \| readonly (`undefined` \| `null` \| `false` \| [`StateMutation`](README.md#statemutation)<`State`\>)[]) => `void` }\>\> +Ƭ **Store**<`State`\>: `Readonly`<[`StateReader`](README.md#statereader)<`State`\> & [`Controller`](README.md#controller)<{ `set`: (`state`: `State`) => `void` ; `update`: (`mutation`: [`StateMutation`](README.md#statemutation)<`State`\> \| `ReadonlyArray`<[`StateMutation`](README.md#statemutation)<`State`\> \| `undefined` \| `null` \| `false`\>) => `void` }\>\> #### Type parameters @@ -581,7 +599,7 @@ Read-only type of the state store. #### Defined in -[packages/rx-effects/src/store.ts:56](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/store.ts#L56) +[packages/rx-effects/src/store.ts:56](https://github.com/mnasyrov/rx-effects/blob/5242c3e/packages/rx-effects/src/store.ts#L56) --- @@ -613,7 +631,7 @@ Store's action for changing its state #### Defined in -[packages/rx-effects/src/storeActions.ts:6](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/storeActions.ts#L6) +[packages/rx-effects/src/storeActions.ts:6](https://github.com/mnasyrov/rx-effects/blob/5242c3e/packages/rx-effects/src/storeActions.ts#L6) --- @@ -632,7 +650,7 @@ Record of store actions #### Defined in -[packages/rx-effects/src/storeActions.ts:9](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/storeActions.ts#L9) +[packages/rx-effects/src/storeActions.ts:9](https://github.com/mnasyrov/rx-effects/blob/5242c3e/packages/rx-effects/src/storeActions.ts#L9) --- @@ -663,7 +681,7 @@ Record of store actions #### Defined in -[packages/rx-effects/src/storeActions.ts:13](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/storeActions.ts#L13) +[packages/rx-effects/src/storeActions.ts:13](https://github.com/mnasyrov/rx-effects/blob/5242c3e/packages/rx-effects/src/storeActions.ts#L13) --- @@ -679,7 +697,7 @@ Record of store actions #### Defined in -[packages/rx-effects/src/storeEvents.ts:5](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/storeEvents.ts#L5) +[packages/rx-effects/src/storeEvents.ts:5](https://github.com/mnasyrov/rx-effects/blob/5242c3e/packages/rx-effects/src/storeEvents.ts#L5) --- @@ -713,7 +731,7 @@ Record of store actions #### Defined in -[packages/rx-effects/src/storeExtensions.ts:9](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/storeExtensions.ts#L9) +[packages/rx-effects/src/storeExtensions.ts:9](https://github.com/mnasyrov/rx-effects/blob/5242c3e/packages/rx-effects/src/storeExtensions.ts#L9) --- @@ -729,23 +747,23 @@ Record of store actions #### Defined in -[packages/rx-effects/src/store.ts:75](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/store.ts#L75) +[packages/rx-effects/src/store.ts:75](https://github.com/mnasyrov/rx-effects/blob/5242c3e/packages/rx-effects/src/store.ts#L75) ## Variables ### GLOBAL_EFFECT_UNHANDLED_ERROR$ -• **GLOBAL_EFFECT_UNHANDLED_ERROR$**: `Observable`<{ `error`: `unknown` ; `event`: `unknown` }\> +• `Const` **GLOBAL_EFFECT_UNHANDLED_ERROR$**: `Observable`<{ `error`: `unknown` ; `event`: `unknown` }\> #### Defined in -[packages/rx-effects/src/effect.ts:25](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/effect.ts#L25) +[packages/rx-effects/src/effect.ts:25](https://github.com/mnasyrov/rx-effects/blob/5242c3e/packages/rx-effects/src/effect.ts#L25) ## Functions ### OBJECT_COMPARATOR -▸ `Const` **OBJECT_COMPARATOR**(`objA`, `objB`): `boolean` +▸ **OBJECT_COMPARATOR**(`objA`, `objB`): `boolean` Makes shallow comparison of two objects. @@ -760,10 +778,6 @@ Makes shallow comparison of two objects. `boolean` -#### Defined in - -[packages/rx-effects/src/utils.ts:8](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/utils.ts#L8) - --- ### createAction @@ -780,10 +794,6 @@ Makes shallow comparison of two objects. [`Action`](README.md#action)<`Event`\> -#### Defined in - -[packages/rx-effects/src/action.ts:29](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/action.ts#L29) - --- ### createEffect @@ -792,7 +802,7 @@ Makes shallow comparison of two objects. Creates `Effect` from the provided handler. -**`example`** +**`Example`** ```ts const sumEffect = createEffect<{ a: number; b: number }, number>((event) => { @@ -819,10 +829,6 @@ const sumEffect = createEffect<{ a: number; b: number }, number>((event) => { [`Effect`](README.md#effect)<`Event`, `Result`, `ErrorType`\> -#### Defined in - -[packages/rx-effects/src/effect.ts:128](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/effect.ts#L128) - --- ### createScope @@ -835,10 +841,6 @@ Creates `Scope` instance. [`Scope`](README.md#scope) -#### Defined in - -[packages/rx-effects/src/scope.ts:75](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/scope.ts#L75) - --- ### createStore @@ -864,10 +866,6 @@ Creates the state store. [`Store`](README.md#store)<`State`\> -#### Defined in - -[packages/rx-effects/src/store.ts:91](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/store.ts#L91) - --- ### createStoreActions @@ -885,19 +883,15 @@ Creates store actions for the store by state mutations #### Parameters -| Name | Type | -| :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `store` | `Readonly`<`Readonly`<`Readonly`<{ `value$`: `Observable`<`State`\> ; `get`: () => `T` }\> & { `id`: `number` ; `name?`: `string` ; `asQuery`: () => `Readonly`<{ `value$`: `Observable`<`State`\> ; `get`: () => `T` }\> ; `query`: (`selector`: (`state`: `State`) => `R`, `options?`: `Readonly`<{ `distinct?`: `boolean` \| { `comparator?`: (`previous`: `K`, `current`: `K`) => `boolean` ; `keySelector?`: (`value`: `T`) => `K` } }\>) => `Readonly`<{ `value$`: `Observable`<`R`\> ; `get`: () => `T` }\> ; `select`: (`selector`: (`state`: `State`) => `R`, `options?`: `Readonly`<{ `distinct?`: `boolean` \| { `comparator?`: (`previous`: `K`, `current`: `K`) => `boolean` ; `keySelector?`: (`value`: `T`) => `K` } }\>) => `Observable`<`R`\> }\> & `Readonly`<{ `destroy`: () => `void` } & { `set`: (`state`: `State`) => `void` ; `update`: (`mutation`: [`StateMutation`](README.md#statemutation)<`State`\> \| readonly (`undefined` \| `null` \| `false` \| [`StateMutation`](README.md#statemutation)<`State`\>)[]) => `void` }\>\> | -| `mutations` | `Mutations` | +| Name | Type | +| :---------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `store` | `Readonly`<`Readonly`<`Readonly`<{ `get`: () => `State` ; `value$`: `Observable`<`State`\> }\> & { `asQuery`: () => `Readonly`<{ `get`: () => `State` ; `value$`: `Observable`<`State`\> }\> ; `id`: `number` ; `name?`: `string` ; `query`: (`selector`: (`state`: `State`) => `R`, `options?`: `Readonly`<{ `distinct?`: `boolean` \| { `comparator?`: (`previous`: `K`, `current`: `K`) => `boolean` ; `keySelector?`: (`value`: `R`) => `K` } }\>) => `Readonly`<{ `get`: () => `R` ; `value$`: `Observable`<`R`\> }\> ; `select`: (`selector`: (`state`: `State`) => `R`, `options?`: `Readonly`<{ `distinct?`: `boolean` \| { `comparator?`: (`previous`: `K`, `current`: `K`) => `boolean` ; `keySelector?`: (`value`: `R`) => `K` } }\>) => `Observable`<`R`\> }\> & `Readonly`<{ `destroy`: () => `void` } & { `set`: (`state`: `State`) => `void` ; `update`: (`mutation`: [`StateMutation`](README.md#statemutation)<`State`\> \| readonly (`undefined` \| `null` \| `false` \| [`StateMutation`](README.md#statemutation)<`State`\>)[]) => `void` }\>\> | +| `mutations` | `Mutations` | #### Returns [`StoreActions`](README.md#storeactions)<`State`, `Mutations`\> -#### Defined in - -[packages/rx-effects/src/storeActions.ts:19](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/storeActions.ts#L19) - ▸ **createStoreActions**<`State`, `Mutations`\>(`mutations`): [`StoreActionsFactory`](README.md#storeactionsfactory)<`State`, `Mutations`\> Creates a factory of store actions by state mutations @@ -919,10 +913,6 @@ Creates a factory of store actions by state mutations [`StoreActionsFactory`](README.md#storeactionsfactory)<`State`, `Mutations`\> -#### Defined in - -[packages/rx-effects/src/storeActions.ts:25](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/storeActions.ts#L25) - --- ### createStoreLoggerExtension @@ -939,10 +929,6 @@ Creates a factory of store actions by state mutations [`StoreExtension`](README.md#storeextension)<`unknown`\> -#### Defined in - -[packages/rx-effects/src/storeLoggerExtension.ts:3](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/storeLoggerExtension.ts#L3) - --- ### declareState @@ -968,10 +954,6 @@ Declares the state. [`StateDeclaration`](README.md#statedeclaration)<`State`\> -#### Defined in - -[packages/rx-effects/src/stateDeclaration.ts:58](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/stateDeclaration.ts#L58) - --- ### handleAction @@ -980,6 +962,10 @@ Declares the state. This helper creates `Effect` from `handler` and subscribes it to `source`. +**`Deprecated`** + +Will be removed in the next version. + #### Type parameters | Name | Type | @@ -990,20 +976,16 @@ This helper creates `Effect` from `handler` and subscribes it to `source`. #### Parameters -| Name | Type | -| :--------- | :-------------------------------------------------------------------------------------------------------- | -| `source` | `Observable`<`Event`\> \| [`Action`](README.md#action)<`Event`\> | -| `handler` | [`EffectHandler`](README.md#effecthandler)<`Event`, `Result`\> | -| `options?` | `Readonly`<{ `onSourceCompleted?`: () => `void` ; `onSourceFailed?`: (`error`: `ErrorType`) => `void` }\> | +| Name | Type | +| :--------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `source` | `Observable`<`Event`\> \| [`Action`](README.md#action)<`Event`\> | +| `handler` | [`EffectHandler`](README.md#effecthandler)<`Event`, `Result`\> | +| `options?` | `Readonly`<{ `onSourceCompleted?`: () => `void` ; `onSourceFailed?`: (`error`: `ErrorType`) => `void` }\> & `Readonly`<{ `pipeline?`: [`EffectPipeline`](README.md#effectpipeline)<`Event`, `Result`\> }\> | #### Returns [`Effect`](README.md#effect)<`Event`, `Result`, `ErrorType`\> -#### Defined in - -[packages/rx-effects/src/handleAction.ts:8](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/handleAction.ts#L8) - --- ### mapQuery @@ -1025,18 +1007,14 @@ function. | Name | Type | Description | | :--------- | :--------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------- | -| `query` | `Readonly`<{ `value$`: `Observable`<`T`\> ; `get`: () => `T` }\> | source query | +| `query` | `Readonly`<{ `get`: () => `T` ; `value$`: `Observable`<`T`\> }\> | source query | | `mapper` | (`value`: `T`) => `R` | value mapper | -| `options?` | `Readonly`<{ `distinct?`: `boolean` \| { `comparator?`: (`previous`: `K`, `current`: `K`) => `boolean` ; `keySelector?`: (`value`: `T`) => `K` } }\> | options for processing the result value | +| `options?` | `Readonly`<{ `distinct?`: `boolean` \| { `comparator?`: (`previous`: `K`, `current`: `K`) => `boolean` ; `keySelector?`: (`value`: `R`) => `K` } }\> | options for processing the result value | #### Returns [`Query`](README.md#query)<`R`\> -#### Defined in - -[packages/rx-effects/src/queries/queryMappers.ts:14](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/queries/queryMappers.ts#L14) - --- ### mergeQueries @@ -1056,20 +1034,16 @@ and merges them into a single value. #### Parameters -| Name | Type | Description | -| :--------- | :--------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------- | -| `queries` | [...{ [K in string \| number \| symbol]: Readonly }[]] | source queries | -| `merger` | (...`values`: `Values`) => `Result` | value merger | -| `options?` | `Readonly`<{ `distinct?`: `boolean` \| { `comparator?`: (`previous`: `K`, `current`: `K`) => `boolean` ; `keySelector?`: (`value`: `T`) => `K` } }\> | options for processing the result value | +| Name | Type | Description | +| :--------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------- | +| `queries` | [...{ [K in string \| number \| symbol]: Readonly }[]] | source queries | +| `merger` | (...`values`: `Values`) => `Result` | value merger | +| `options?` | `Readonly`<{ `distinct?`: `boolean` \| { `comparator?`: (`previous`: `ResultKey`, `current`: `ResultKey`) => `boolean` ; `keySelector?`: (`value`: `Result`) => `ResultKey` } }\> | options for processing the result value | #### Returns [`Query`](README.md#query)<`Result`\> -#### Defined in - -[packages/rx-effects/src/queries/queryMappers.ts:39](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/queries/queryMappers.ts#L39) - --- ### pipeStateMutations @@ -1096,10 +1070,6 @@ You can use this helper to apply multiple changes at the same time. [`StateMutation`](README.md#statemutation)<`State`\> -#### Defined in - -[packages/rx-effects/src/stateMutation.ts:33](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/stateMutation.ts#L33) - --- ### registerStoreExtension @@ -1115,7 +1085,3 @@ You can use this helper to apply multiple changes at the same time. #### Returns `Subscription` - -#### Defined in - -[packages/rx-effects/src/storeExtensions.ts:13](https://github.com/mnasyrov/rx-effects/blob/718c5a2/packages/rx-effects/src/storeExtensions.ts#L13) diff --git a/packages/rx-effects/package.json b/packages/rx-effects/package.json index 91586b1..4076cc5 100644 --- a/packages/rx-effects/package.json +++ b/packages/rx-effects/package.json @@ -1,7 +1,7 @@ { "name": "rx-effects", "description": "Reactive state and effects management", - "version": "0.6.0", + "version": "0.7.0", "license": "MIT", "author": "Mikhail Nasyrov (https://github.com/mnasyrov)", "homepage": "https://github.com/mnasyrov/rx-effects",