981 lines
20 KiB
Markdown
981 lines
20 KiB
Markdown
[updux - v1.2.0](README.md) › [Globals](globals.md)
|
||
|
||
# updux - v1.2.0
|
||
|
||
## Index
|
||
|
||
### Classes
|
||
|
||
* [Updux](classes/updux.md)
|
||
|
||
### Type aliases
|
||
|
||
* [Action](globals.md#action)
|
||
* [ActionPair](globals.md#actionpair)
|
||
* [ActionPayloadGenerator](globals.md#actionpayloadgenerator)
|
||
* [ActionsOf](globals.md#actionsof)
|
||
* [CoduxesOf](globals.md#coduxesof)
|
||
* [Dictionary](globals.md#dictionary)
|
||
* [Dux](globals.md#dux)
|
||
* [DuxActions](globals.md#duxactions)
|
||
* [DuxActionsCoduxes](globals.md#duxactionscoduxes)
|
||
* [DuxActionsSubduxes](globals.md#duxactionssubduxes)
|
||
* [DuxSelectors](globals.md#duxselectors)
|
||
* [DuxState](globals.md#duxstate)
|
||
* [DuxStateCoduxes](globals.md#duxstatecoduxes)
|
||
* [DuxStateGlobSub](globals.md#duxstateglobsub)
|
||
* [DuxStateSubduxes](globals.md#duxstatesubduxes)
|
||
* [Effect](globals.md#effect)
|
||
* [GenericActions](globals.md#genericactions)
|
||
* [ItemsOf](globals.md#itemsof)
|
||
* [LocalDuxState](globals.md#localduxstate)
|
||
* [MaybePayload](globals.md#maybepayload)
|
||
* [MaybeReturnType](globals.md#maybereturntype)
|
||
* [Merge](globals.md#merge)
|
||
* [Mutation](globals.md#mutation)
|
||
* [MutationEntry](globals.md#mutationentry)
|
||
* [MwGen](globals.md#mwgen)
|
||
* [Next](globals.md#next)
|
||
* [RebaseSelector](globals.md#rebaseselector)
|
||
* [Selector](globals.md#selector)
|
||
* [SelectorsOf](globals.md#selectorsof)
|
||
* [StateOf](globals.md#stateof)
|
||
* [StoreWithDispatchActions](globals.md#storewithdispatchactions)
|
||
* [SubMutations](globals.md#submutations)
|
||
* [Submws](globals.md#submws)
|
||
* [UnionToIntersection](globals.md#uniontointersection)
|
||
* [UpduxActions](globals.md#upduxactions)
|
||
* [UpduxConfig](globals.md#upduxconfig)
|
||
* [UpduxLocalActions](globals.md#upduxlocalactions)
|
||
* [UpduxMiddleware](globals.md#upduxmiddleware)
|
||
* [Upreducer](globals.md#upreducer)
|
||
|
||
### Variables
|
||
|
||
* [subEffects](globals.md#const-subeffects)
|
||
* [updux](globals.md#const-updux)
|
||
|
||
### Functions
|
||
|
||
* [MiddlewareFor](globals.md#const-middlewarefor)
|
||
* [buildActions](globals.md#buildactions)
|
||
* [buildCreateStore](globals.md#buildcreatestore)
|
||
* [buildInitial](globals.md#buildinitial)
|
||
* [buildMiddleware](globals.md#buildmiddleware)
|
||
* [buildMutations](globals.md#buildmutations)
|
||
* [buildSelectors](globals.md#buildselectors)
|
||
* [buildUpreducer](globals.md#buildupreducer)
|
||
* [coduxes](globals.md#const-coduxes)
|
||
* [composeMutations](globals.md#const-composemutations)
|
||
* [composeMw](globals.md#const-composemw)
|
||
* [dux](globals.md#const-dux)
|
||
* [effectToMw](globals.md#const-effecttomw)
|
||
* [sliceMw](globals.md#slicemw)
|
||
* [subMiddleware](globals.md#const-submiddleware)
|
||
* [subSelectors](globals.md#subselectors)
|
||
|
||
## Type aliases
|
||
|
||
### Action
|
||
|
||
Ƭ **Action**: *object & [MaybePayload](globals.md#maybepayload)‹P›*
|
||
|
||
___
|
||
|
||
### ActionPair
|
||
|
||
Ƭ **ActionPair**: *[string, ActionCreator]*
|
||
|
||
___
|
||
|
||
### ActionPayloadGenerator
|
||
|
||
Ƭ **ActionPayloadGenerator**: *function*
|
||
|
||
#### Type declaration:
|
||
|
||
▸ (...`args`: any[]): *any*
|
||
|
||
**Parameters:**
|
||
|
||
Name | Type |
|
||
------ | ------ |
|
||
`...args` | any[] |
|
||
|
||
___
|
||
|
||
### ActionsOf
|
||
|
||
Ƭ **ActionsOf**: *U extends Updux ? U["actions"] : object*
|
||
|
||
___
|
||
|
||
### CoduxesOf
|
||
|
||
Ƭ **CoduxesOf**: *U extends Updux<any, any, any, infer S> ? S : []*
|
||
|
||
___
|
||
|
||
### Dictionary
|
||
|
||
Ƭ **Dictionary**: *object*
|
||
|
||
#### Type declaration:
|
||
|
||
* \[ **key**: *string*\]: T
|
||
|
||
___
|
||
|
||
### Dux
|
||
|
||
Ƭ **Dux**: *object*
|
||
|
||
#### Type declaration:
|
||
|
||
* **actions**: *A*
|
||
|
||
* **coduxes**: *[Dux](globals.md#dux)[]*
|
||
|
||
* **initial**: *AggDuxState‹S, C›*
|
||
|
||
* **subduxes**: *[Dictionary](globals.md#dictionary)‹[Dux](globals.md#dux)›*
|
||
|
||
___
|
||
|
||
### DuxActions
|
||
|
||
Ƭ **DuxActions**:
|
||
|
||
___
|
||
|
||
### DuxActionsCoduxes
|
||
|
||
Ƭ **DuxActionsCoduxes**: *C extends Array<infer I> ? UnionToIntersection<ActionsOf<I>> : object*
|
||
|
||
___
|
||
|
||
### DuxActionsSubduxes
|
||
|
||
Ƭ **DuxActionsSubduxes**: *C extends object ? ActionsOf<C[keyof C]> : unknown*
|
||
|
||
___
|
||
|
||
### DuxSelectors
|
||
|
||
Ƭ **DuxSelectors**: *unknown extends X ? object : X*
|
||
|
||
___
|
||
|
||
### DuxState
|
||
|
||
Ƭ **DuxState**: *D extends object ? S : unknown*
|
||
|
||
___
|
||
|
||
### DuxStateCoduxes
|
||
|
||
Ƭ **DuxStateCoduxes**: *C extends Array<infer U> ? UnionToIntersection<StateOf<U>> : unknown*
|
||
|
||
___
|
||
|
||
### DuxStateGlobSub
|
||
|
||
Ƭ **DuxStateGlobSub**: *S extends object ? StateOf<I> : unknown*
|
||
|
||
___
|
||
|
||
### DuxStateSubduxes
|
||
|
||
Ƭ **DuxStateSubduxes**: *C extends object ? object : C extends object ? object : unknown*
|
||
|
||
___
|
||
|
||
### Effect
|
||
|
||
Ƭ **Effect**: *[string, [UpduxMiddleware](globals.md#upduxmiddleware) | [MwGen](globals.md#mwgen), undefined | false | true]*
|
||
|
||
___
|
||
|
||
### GenericActions
|
||
|
||
Ƭ **GenericActions**: *[Dictionary](globals.md#dictionary)‹ActionCreator‹string, function››*
|
||
|
||
___
|
||
|
||
### ItemsOf
|
||
|
||
Ƭ **ItemsOf**: *C extends object ? C[keyof C] : unknown*
|
||
|
||
___
|
||
|
||
### LocalDuxState
|
||
|
||
Ƭ **LocalDuxState**: *S extends never[] ? unknown[] : S*
|
||
|
||
___
|
||
|
||
### MaybePayload
|
||
|
||
Ƭ **MaybePayload**: *P extends object | string | boolean | number ? object : object*
|
||
|
||
___
|
||
|
||
### MaybeReturnType
|
||
|
||
Ƭ **MaybeReturnType**: *X extends function ? ReturnType<X> : unknown*
|
||
|
||
___
|
||
|
||
### Merge
|
||
|
||
Ƭ **Merge**: *[UnionToIntersection](globals.md#uniontointersection)‹T[keyof T]›*
|
||
|
||
___
|
||
|
||
### Mutation
|
||
|
||
Ƭ **Mutation**: *function*
|
||
|
||
#### Type declaration:
|
||
|
||
▸ (`payload`: A["payload"], `action`: A): *function*
|
||
|
||
**Parameters:**
|
||
|
||
Name | Type |
|
||
------ | ------ |
|
||
`payload` | A["payload"] |
|
||
`action` | A |
|
||
|
||
▸ (`state`: S): *S*
|
||
|
||
**Parameters:**
|
||
|
||
Name | Type |
|
||
------ | ------ |
|
||
`state` | S |
|
||
|
||
___
|
||
|
||
### MutationEntry
|
||
|
||
Ƭ **MutationEntry**: *[ActionCreator | string, [Mutation](globals.md#mutation)‹any, [Action](globals.md#action)‹string, any››, undefined | false | true]*
|
||
|
||
___
|
||
|
||
### MwGen
|
||
|
||
Ƭ **MwGen**: *function*
|
||
|
||
#### Type declaration:
|
||
|
||
▸ (): *[UpduxMiddleware](globals.md#upduxmiddleware)*
|
||
|
||
___
|
||
|
||
### Next
|
||
|
||
Ƭ **Next**: *function*
|
||
|
||
#### Type declaration:
|
||
|
||
▸ (`action`: [Action](globals.md#action)): *any*
|
||
|
||
**Parameters:**
|
||
|
||
Name | Type |
|
||
------ | ------ |
|
||
`action` | [Action](globals.md#action) |
|
||
|
||
___
|
||
|
||
### RebaseSelector
|
||
|
||
Ƭ **RebaseSelector**: *object*
|
||
|
||
#### Type declaration:
|
||
|
||
___
|
||
|
||
### Selector
|
||
|
||
Ƭ **Selector**: *function*
|
||
|
||
#### Type declaration:
|
||
|
||
▸ (`state`: S): *unknown*
|
||
|
||
**Parameters:**
|
||
|
||
Name | Type |
|
||
------ | ------ |
|
||
`state` | S |
|
||
|
||
___
|
||
|
||
### SelectorsOf
|
||
|
||
Ƭ **SelectorsOf**: *C extends object ? S : unknown*
|
||
|
||
___
|
||
|
||
### StateOf
|
||
|
||
Ƭ **StateOf**: *D extends object ? I : unknown*
|
||
|
||
___
|
||
|
||
### StoreWithDispatchActions
|
||
|
||
Ƭ **StoreWithDispatchActions**: *Store‹S› & object*
|
||
|
||
___
|
||
|
||
### SubMutations
|
||
|
||
Ƭ **SubMutations**: *object*
|
||
|
||
#### Type declaration:
|
||
|
||
* \[ **slice**: *string*\]: [Dictionary](globals.md#dictionary)‹[Mutation](globals.md#mutation)›
|
||
|
||
___
|
||
|
||
### Submws
|
||
|
||
Ƭ **Submws**: *[Dictionary](globals.md#dictionary)‹[UpduxMiddleware](globals.md#upduxmiddleware)›*
|
||
|
||
___
|
||
|
||
### UnionToIntersection
|
||
|
||
Ƭ **UnionToIntersection**: *U extends any ? function : never extends function ? I : never*
|
||
|
||
___
|
||
|
||
### UpduxActions
|
||
|
||
Ƭ **UpduxActions**: *U extends Updux ? UnionToIntersection<UpduxLocalActions<U> | ActionsOf<CoduxesOf<U>[keyof CoduxesOf<U>]>> : object*
|
||
|
||
___
|
||
|
||
### UpduxConfig
|
||
|
||
Ƭ **UpduxConfig**: *Partial‹object›*
|
||
|
||
Configuration object given to Updux's constructor.
|
||
|
||
#### arguments
|
||
|
||
##### initial
|
||
|
||
Default initial state of the reducer. If applicable, is merged with
|
||
the subduxes initial states, with the parent having precedence.
|
||
|
||
If not provided, defaults to an empty object.
|
||
|
||
##### actions
|
||
|
||
[Actions](/concepts/Actions) used by the updux.
|
||
|
||
```js
|
||
import { dux } from 'updux';
|
||
import { action, payload } from 'ts-action';
|
||
|
||
const bar = action('BAR', payload<int>());
|
||
const foo = action('FOO');
|
||
|
||
const myDux = dux({
|
||
actions: {
|
||
bar
|
||
},
|
||
mutations: [
|
||
[ foo, () => state => state ]
|
||
]
|
||
});
|
||
|
||
myDux.actions.foo({ x: 1, y: 2 }); // => { type: foo, x:1, y:2 }
|
||
myDux.actions.bar(2); // => { type: bar, payload: 2 }
|
||
```
|
||
|
||
New actions used directly in mutations and effects will be added to the
|
||
dux actions -- that is, they will be accessible via `dux.actions` -- but will
|
||
not appear as part of its Typescript type.
|
||
|
||
##### selectors
|
||
|
||
Dictionary of selectors for the current updux. The updux also
|
||
inherit its subduxes' selectors.
|
||
|
||
The selectors are available via the class' getter.
|
||
|
||
##### mutations
|
||
|
||
mutations: [
|
||
[ action, mutation, isSink ],
|
||
...
|
||
]
|
||
|
||
or
|
||
|
||
mutations: {
|
||
action: mutation,
|
||
...
|
||
}
|
||
|
||
List of mutations for assign to the dux. If you want Typescript goodness, you
|
||
probably want to use `addMutation()` instead.
|
||
|
||
In its generic array-of-array form,
|
||
each mutation tuple contains: the action, the mutation,
|
||
and boolean indicating if this is a sink mutation.
|
||
|
||
The action can be an action creator function or a string. If it's a string, it's considered to be the
|
||
action type and a generic `action( actionName, payload() )` creator will be
|
||
generated for it. If an action is not already defined in the `actions`
|
||
parameter, it'll be automatically added.
|
||
|
||
The pseudo-action type `*` can be used to match any action not explicitly matched by other mutations.
|
||
|
||
```js
|
||
const todosUpdux = updux({
|
||
mutations: {
|
||
add: todo => state => [ ...state, todo ],
|
||
done: done_id => u.map( u.if( ({id} => id === done_id), {done: true} ) ),
|
||
'*' (payload,action) => state => {
|
||
console.warn( "unexpected action ", action.type );
|
||
return state;
|
||
},
|
||
}
|
||
});
|
||
```
|
||
|
||
The signature of the mutations is `(payload,action) => state => newState`.
|
||
It is designed to play well with `Updeep` (and [Immer](https://immerjs.github.io/immer/docs/introduction)). This way, instead of doing
|
||
|
||
```js
|
||
mutation: {
|
||
renameTodo: newName => state => { ...state, name: newName }
|
||
}
|
||
```
|
||
|
||
we can do
|
||
|
||
```js
|
||
mutation: {
|
||
renameTodo: newName => u({ name: newName })
|
||
}
|
||
```
|
||
|
||
The final argument is the optional boolean `isSink`. If it is true, it'll
|
||
prevent subduxes' mutations on the same action. It defaults to `false`.
|
||
|
||
The object version of the argument can be used as a shortcut when all actions
|
||
are strings. In that case, `isSink` is `false` for all mutations.
|
||
|
||
##### groomMutations
|
||
|
||
Function that can be provided to alter all local mutations of the updux
|
||
(the mutations of subduxes are left untouched).
|
||
|
||
Can be used, for example, for Immer integration:
|
||
|
||
```js
|
||
import Updux from 'updux';
|
||
import { produce } from 'Immer';
|
||
|
||
const updux = new Updux({
|
||
initial: { counter: 0 },
|
||
groomMutations: mutation => (...args) => produce( mutation(...args) ),
|
||
mutations: {
|
||
add: (inc=1) => draft => draft.counter += inc
|
||
}
|
||
});
|
||
```
|
||
|
||
Or perhaps for debugging:
|
||
|
||
```js
|
||
import Updux from 'updux';
|
||
|
||
const updux = new Updux({
|
||
initial: { counter: 0 },
|
||
groomMutations: mutation => (...args) => state => {
|
||
console.log( "got action ", args[1] );
|
||
return mutation(...args)(state);
|
||
}
|
||
});
|
||
```
|
||
##### subduxes
|
||
|
||
Object mapping slices of the state to sub-upduxes. In addition to creating
|
||
sub-reducers for those slices, it'll make the parend updux inherit all the
|
||
actions and middleware from its subduxes.
|
||
|
||
For example, if in plain Redux you would do
|
||
|
||
```js
|
||
import { combineReducers } from 'redux';
|
||
import todosReducer from './todos';
|
||
import statisticsReducer from './statistics';
|
||
|
||
const rootReducer = combineReducers({
|
||
todos: todosReducer,
|
||
stats: statisticsReducer,
|
||
});
|
||
```
|
||
|
||
then with Updux you'd do
|
||
|
||
```js
|
||
import { updux } from 'updux';
|
||
import todos from './todos';
|
||
import statistics from './statistics';
|
||
|
||
const rootUpdux = updux({
|
||
subduxes: {
|
||
todos,
|
||
statistics
|
||
}
|
||
});
|
||
```
|
||
|
||
##### effects
|
||
|
||
Array of arrays or plain object defining asynchronous actions and side-effects triggered by actions.
|
||
The effects themselves are Redux middleware, with the `dispatch`
|
||
property of the first argument augmented with all the available actions.
|
||
|
||
```
|
||
updux({
|
||
effects: {
|
||
fetch: ({dispatch}) => next => async (action) => {
|
||
next(action);
|
||
|
||
let result = await fetch(action.payload.url).then( result => result.json() );
|
||
dispatch.fetchSuccess(result);
|
||
}
|
||
}
|
||
});
|
||
```
|
||
|
||
**`example`**
|
||
|
||
```
|
||
import Updux from 'updux';
|
||
import { actions, payload } from 'ts-action';
|
||
import u from 'updeep';
|
||
|
||
const todoUpdux = new Updux({
|
||
initial: {
|
||
done: false,
|
||
note: "",
|
||
},
|
||
actions: {
|
||
finish: action('FINISH', payload()),
|
||
edit: action('EDIT', payload()),
|
||
},
|
||
mutations: [
|
||
[ edit, note => u({note}) ]
|
||
],
|
||
selectors: {
|
||
getNote: state => state.note
|
||
},
|
||
groomMutations: mutation => transform(mutation),
|
||
subduxes: {
|
||
foo
|
||
},
|
||
effects: {
|
||
finish: () => next => action => {
|
||
console.log( "Woo! one more bites the dust" );
|
||
}
|
||
}
|
||
})
|
||
```
|
||
|
||
___
|
||
|
||
### UpduxLocalActions
|
||
|
||
Ƭ **UpduxLocalActions**: *S extends Updux<any, null> ? object : S extends Updux<any, infer A> ? A : object*
|
||
|
||
___
|
||
|
||
### UpduxMiddleware
|
||
|
||
Ƭ **UpduxMiddleware**: *function*
|
||
|
||
#### Type declaration:
|
||
|
||
▸ (`api`: UpduxMiddlewareAPI‹S, X›): *function*
|
||
|
||
**Parameters:**
|
||
|
||
Name | Type |
|
||
------ | ------ |
|
||
`api` | UpduxMiddlewareAPI‹S, X› |
|
||
|
||
▸ (`next`: Function): *function*
|
||
|
||
**Parameters:**
|
||
|
||
Name | Type |
|
||
------ | ------ |
|
||
`next` | Function |
|
||
|
||
▸ (`action`: A): *any*
|
||
|
||
**Parameters:**
|
||
|
||
Name | Type |
|
||
------ | ------ |
|
||
`action` | A |
|
||
|
||
___
|
||
|
||
### Upreducer
|
||
|
||
Ƭ **Upreducer**: *function*
|
||
|
||
#### Type declaration:
|
||
|
||
▸ (`action`: [Action](globals.md#action)): *function*
|
||
|
||
**Parameters:**
|
||
|
||
Name | Type |
|
||
------ | ------ |
|
||
`action` | [Action](globals.md#action) |
|
||
|
||
▸ (`state`: S): *S*
|
||
|
||
**Parameters:**
|
||
|
||
Name | Type |
|
||
------ | ------ |
|
||
`state` | S |
|
||
|
||
## Variables
|
||
|
||
### `Const` subEffects
|
||
|
||
• **subEffects**: *[Effect](globals.md#effect)* = [ '*', subMiddleware ] as any
|
||
|
||
___
|
||
|
||
### `Const` updux
|
||
|
||
• **updux**: *[Updux](classes/updux.md)‹unknown, null, unknown, object›* = new Updux({
|
||
subduxes: {
|
||
foo: dux({ initial: "banana" })
|
||
}
|
||
})
|
||
|
||
## Functions
|
||
|
||
### `Const` MiddlewareFor
|
||
|
||
▸ **MiddlewareFor**(`type`: any, `mw`: Middleware): *Middleware*
|
||
|
||
**Parameters:**
|
||
|
||
Name | Type |
|
||
------ | ------ |
|
||
`type` | any |
|
||
`mw` | Middleware |
|
||
|
||
**Returns:** *Middleware*
|
||
|
||
___
|
||
|
||
### buildActions
|
||
|
||
▸ **buildActions**(`actions`: [ActionPair](globals.md#actionpair)[]): *[Dictionary](globals.md#dictionary)‹ActionCreator‹string, function››*
|
||
|
||
**Parameters:**
|
||
|
||
Name | Type | Default |
|
||
------ | ------ | ------ |
|
||
`actions` | [ActionPair](globals.md#actionpair)[] | [] |
|
||
|
||
**Returns:** *[Dictionary](globals.md#dictionary)‹ActionCreator‹string, function››*
|
||
|
||
___
|
||
|
||
### buildCreateStore
|
||
|
||
▸ **buildCreateStore**<**S**, **A**>(`reducer`: Reducer‹S›, `middleware`: Middleware, `actions`: A): *function*
|
||
|
||
**Type parameters:**
|
||
|
||
▪ **S**
|
||
|
||
▪ **A**
|
||
|
||
**Parameters:**
|
||
|
||
Name | Type | Default |
|
||
------ | ------ | ------ |
|
||
`reducer` | Reducer‹S› | - |
|
||
`middleware` | Middleware | - |
|
||
`actions` | A | {} as A |
|
||
|
||
**Returns:** *function*
|
||
|
||
▸ (`initial?`: S, `injectEnhancer?`: Function): *Store‹S› & object*
|
||
|
||
**Parameters:**
|
||
|
||
Name | Type |
|
||
------ | ------ |
|
||
`initial?` | S |
|
||
`injectEnhancer?` | Function |
|
||
|
||
___
|
||
|
||
### buildInitial
|
||
|
||
▸ **buildInitial**(`initial`: any, `coduxes`: any, `subduxes`: any): *any*
|
||
|
||
**Parameters:**
|
||
|
||
Name | Type | Default |
|
||
------ | ------ | ------ |
|
||
`initial` | any | - |
|
||
`coduxes` | any | [] |
|
||
`subduxes` | any | {} |
|
||
|
||
**Returns:** *any*
|
||
|
||
___
|
||
|
||
### buildMiddleware
|
||
|
||
▸ **buildMiddleware**<**S**>(`local`: [UpduxMiddleware](globals.md#upduxmiddleware)[], `co`: [UpduxMiddleware](globals.md#upduxmiddleware)[], `sub`: [Submws](globals.md#submws)): *[UpduxMiddleware](globals.md#upduxmiddleware)‹S›*
|
||
|
||
**Type parameters:**
|
||
|
||
▪ **S**
|
||
|
||
**Parameters:**
|
||
|
||
Name | Type | Default |
|
||
------ | ------ | ------ |
|
||
`local` | [UpduxMiddleware](globals.md#upduxmiddleware)[] | [] |
|
||
`co` | [UpduxMiddleware](globals.md#upduxmiddleware)[] | [] |
|
||
`sub` | [Submws](globals.md#submws) | {} |
|
||
|
||
**Returns:** *[UpduxMiddleware](globals.md#upduxmiddleware)‹S›*
|
||
|
||
___
|
||
|
||
### buildMutations
|
||
|
||
▸ **buildMutations**(`mutations`: [Dictionary](globals.md#dictionary)‹[Mutation](globals.md#mutation) | [[Mutation](globals.md#mutation), boolean | undefined]›, `subduxes`: object, `coduxes`: [Upreducer](globals.md#upreducer)[]): *object*
|
||
|
||
**Parameters:**
|
||
|
||
Name | Type | Default |
|
||
------ | ------ | ------ |
|
||
`mutations` | [Dictionary](globals.md#dictionary)‹[Mutation](globals.md#mutation) | [[Mutation](globals.md#mutation), boolean | undefined]› | {} |
|
||
`subduxes` | object | {} |
|
||
`coduxes` | [Upreducer](globals.md#upreducer)[] | [] |
|
||
|
||
**Returns:** *object*
|
||
|
||
___
|
||
|
||
### buildSelectors
|
||
|
||
▸ **buildSelectors**(`localSelectors`: [Dictionary](globals.md#dictionary)‹[Selector](globals.md#selector)›, `coduxes`: [Dictionary](globals.md#dictionary)‹[Selector](globals.md#selector)›[], `subduxes`: [Dictionary](globals.md#dictionary)‹[Selector](globals.md#selector)›): *object*
|
||
|
||
**Parameters:**
|
||
|
||
Name | Type | Default |
|
||
------ | ------ | ------ |
|
||
`localSelectors` | [Dictionary](globals.md#dictionary)‹[Selector](globals.md#selector)› | {} |
|
||
`coduxes` | [Dictionary](globals.md#dictionary)‹[Selector](globals.md#selector)›[] | [] |
|
||
`subduxes` | [Dictionary](globals.md#dictionary)‹[Selector](globals.md#selector)› | {} |
|
||
|
||
**Returns:** *object*
|
||
|
||
___
|
||
|
||
### buildUpreducer
|
||
|
||
▸ **buildUpreducer**<**S**>(`initial`: S, `mutations`: [Dictionary](globals.md#dictionary)‹[Mutation](globals.md#mutation)‹S››): *[Upreducer](globals.md#upreducer)‹S›*
|
||
|
||
**Type parameters:**
|
||
|
||
▪ **S**
|
||
|
||
**Parameters:**
|
||
|
||
Name | Type |
|
||
------ | ------ |
|
||
`initial` | S |
|
||
`mutations` | [Dictionary](globals.md#dictionary)‹[Mutation](globals.md#mutation)‹S›› |
|
||
|
||
**Returns:** *[Upreducer](globals.md#upreducer)‹S›*
|
||
|
||
___
|
||
|
||
### `Const` coduxes
|
||
|
||
▸ **coduxes**<**C**, **U**>(...`coduxes`: U): *object*
|
||
|
||
**Type parameters:**
|
||
|
||
▪ **C**: *[Dux](globals.md#dux)*
|
||
|
||
▪ **U**: *[C]*
|
||
|
||
**Parameters:**
|
||
|
||
Name | Type |
|
||
------ | ------ |
|
||
`...coduxes` | U |
|
||
|
||
**Returns:** *object*
|
||
|
||
* **coduxes**: *U*
|
||
|
||
___
|
||
|
||
### `Const` composeMutations
|
||
|
||
▸ **composeMutations**(`mutations`: [Mutation](globals.md#mutation)[]): *function | (Anonymous function)*
|
||
|
||
**Parameters:**
|
||
|
||
Name | Type |
|
||
------ | ------ |
|
||
`mutations` | [Mutation](globals.md#mutation)[] |
|
||
|
||
**Returns:** *function | (Anonymous function)*
|
||
|
||
___
|
||
|
||
### `Const` composeMw
|
||
|
||
▸ **composeMw**(`mws`: [UpduxMiddleware](globals.md#upduxmiddleware)[]): *(Anonymous function)*
|
||
|
||
**Parameters:**
|
||
|
||
Name | Type |
|
||
------ | ------ |
|
||
`mws` | [UpduxMiddleware](globals.md#upduxmiddleware)[] |
|
||
|
||
**Returns:** *(Anonymous function)*
|
||
|
||
___
|
||
|
||
### `Const` dux
|
||
|
||
▸ **dux**<**S**, **A**, **X**, **C**>(`config`: C): *object*
|
||
|
||
**Type parameters:**
|
||
|
||
▪ **S**
|
||
|
||
▪ **A**
|
||
|
||
▪ **X**
|
||
|
||
▪ **C**: *[UpduxConfig](globals.md#upduxconfig)*
|
||
|
||
**Parameters:**
|
||
|
||
Name | Type |
|
||
------ | ------ |
|
||
`config` | C |
|
||
|
||
**Returns:** *object*
|
||
|
||
* **actions**: = this.actions
|
||
|
||
* **coduxes**: *object[]* = this.coduxes
|
||
|
||
* **createStore**(): *function*
|
||
|
||
* (`initial?`: S, `injectEnhancer?`: Function): *Store‹S› & object*
|
||
|
||
* **initial**: = this.initial
|
||
|
||
* **middleware**(): *function*
|
||
|
||
* (`api`: UpduxMiddlewareAPI‹S, X›): *function*
|
||
|
||
* (`next`: Function): *function*
|
||
|
||
* (`action`: A): *any*
|
||
|
||
* **mutations**(): *object*
|
||
|
||
* **reducer**(): *function*
|
||
|
||
* (`state`: S | undefined, `action`: [Action](globals.md#action)): *S*
|
||
|
||
* **selectors**: = this.selectors
|
||
|
||
* **subduxes**(): *object*
|
||
|
||
* **upreducer**(): *function*
|
||
|
||
* (`action`: [Action](globals.md#action)): *function*
|
||
|
||
* (`state`: S): *S*
|
||
|
||
___
|
||
|
||
### `Const` effectToMw
|
||
|
||
▸ **effectToMw**(`effect`: [Effect](globals.md#effect), `actions`: [Dictionary](globals.md#dictionary)‹ActionCreator›, `selectors`: [Dictionary](globals.md#dictionary)‹[Selector](globals.md#selector)›): *subMiddleware | augmented*
|
||
|
||
**Parameters:**
|
||
|
||
Name | Type |
|
||
------ | ------ |
|
||
`effect` | [Effect](globals.md#effect) |
|
||
`actions` | [Dictionary](globals.md#dictionary)‹ActionCreator› |
|
||
`selectors` | [Dictionary](globals.md#dictionary)‹[Selector](globals.md#selector)› |
|
||
|
||
**Returns:** *subMiddleware | augmented*
|
||
|
||
___
|
||
|
||
### sliceMw
|
||
|
||
▸ **sliceMw**(`slice`: string, `mw`: [UpduxMiddleware](globals.md#upduxmiddleware)): *[UpduxMiddleware](globals.md#upduxmiddleware)*
|
||
|
||
**Parameters:**
|
||
|
||
Name | Type |
|
||
------ | ------ |
|
||
`slice` | string |
|
||
`mw` | [UpduxMiddleware](globals.md#upduxmiddleware) |
|
||
|
||
**Returns:** *[UpduxMiddleware](globals.md#upduxmiddleware)*
|
||
|
||
___
|
||
|
||
### `Const` subMiddleware
|
||
|
||
▸ **subMiddleware**(): *(Anonymous function)*
|
||
|
||
**Returns:** *(Anonymous function)*
|
||
|
||
___
|
||
|
||
### subSelectors
|
||
|
||
▸ **subSelectors**(`__namedParameters`: [string, Function]): *[string, [Selector](globals.md#selector)][]*
|
||
|
||
**Parameters:**
|
||
|
||
Name | Type |
|
||
------ | ------ |
|
||
`__namedParameters` | [string, Function] |
|
||
|
||
**Returns:** *[string, [Selector](globals.md#selector)][]*
|