This commit is contained in:
Yanick Champoux 2019-11-06 19:07:06 -05:00
parent 5c5e614f4b
commit 057226dfd1
17 changed files with 594 additions and 76 deletions

View File

@ -1,5 +1,4 @@
import { Middleware } from 'redux'; import { Dictionary, ActionCreator, UpduxMiddleware } from '../types';
import { Dictionary, ActionCreator, UpduxDispatch } from '../types'; declare function buildMiddleware<S = any>(effects?: Dictionary<UpduxMiddleware<S>>, actions?: Dictionary<ActionCreator>, subduxes?: any): UpduxMiddleware<S>;
declare function buildMiddleware<S = any>(effects?: Dictionary<Middleware<{}, S, UpduxDispatch>>, actions?: Dictionary<ActionCreator>, subMiddlewares?: Middleware<{}, S, UpduxDispatch>[]): Middleware<{}, S, UpduxDispatch>;
export default buildMiddleware; export default buildMiddleware;
//# sourceMappingURL=index.d.ts.map //# sourceMappingURL=index.d.ts.map

View File

@ -1 +1 @@
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/buildMiddleware/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAA2B,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAU,aAAa,EAAE,MAAM,UAAU,CAAC;AAU5E,iBAAS,eAAe,CAAC,CAAC,GAAC,GAAG,EAC1B,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,EAAE,EAAC,CAAC,EAAC,aAAa,CAAC,CAAK,EACxD,OAAO,GAAG,UAAU,CAAC,aAAa,CAAK,EACvC,cAAc,GAAE,UAAU,CAAC,EAAE,EAAC,CAAC,EAAC,aAAa,CAAC,EAAO,GACtD,UAAU,CAAC,EAAE,EAAC,CAAC,EAAC,aAAa,CAAC,CAoBhC;AAED,eAAe,eAAe,CAAC"} {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/buildMiddleware/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAyB,eAAe,EAAsB,MAAM,UAAU,CAAC;AAkBjH,iBAAS,eAAe,CAAC,CAAC,GAAC,GAAG,EAC1B,OAAO,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAK,EAC5C,OAAO,GAAG,UAAU,CAAC,aAAa,CAAK,EACvC,QAAQ,GAAE,GAAQ,GACnB,eAAe,CAAC,CAAC,CAAC,CA4BpB;AAED,eAAe,eAAe,CAAC"}

View File

@ -9,7 +9,15 @@ const MiddlewareFor = (type, mw) => api => next => action => {
return next(action); return next(action);
return mw(api)(next)(action); return mw(api)(next)(action);
}; };
function buildMiddleware(effects = {}, actions = {}, subMiddlewares = []) { function sliceMw(slice, mw) {
return (api) => {
const getSliceState = () => fp_1.default.get(slice, api.getState());
const getRootState = api.getRootState || api.getState;
return mw({ ...api, getState: getSliceState, getRootState });
};
}
function buildMiddleware(effects = {}, actions = {}, subduxes = {}) {
const subMiddlewares = fp_1.default.flow(fp_1.default.mapValues(fp_1.default.get('middleware')), fp_1.default.toPairs, fp_1.default.filter(x => x[1]), fp_1.default.map(([slice, mw]) => sliceMw(slice, mw)))(subduxes);
return (api) => { return (api) => {
for (let type in actions) { for (let type in actions) {
const ac = actions[type]; const ac = actions[type];

View File

@ -1 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/buildMiddleware/index.ts"],"names":[],"mappings":";;;;;AAAA,mDAA2B;AAK3B,MAAM,aAAa,GAAG,CAAC,IAAS,EAAE,EAAc,EAAe,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;IACtF,IAAI,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;IAE9D,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC,CAAC;AAIF,SAAS,eAAe,CACpB,UAAsD,EAAE,EACxD,UAAqC,EAAE,EACvC,iBAAmD,EAAE;IAGvD,OAAO,CAAC,GAAmC,EAAE,EAAE;QAE7C,KAAK,IAAI,IAAI,IAAI,OAAO,EAAE;YACxB,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YACzB,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAU,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;SACnE;QAED,OAAO,CAAC,aAAmB,EAAC,EAAE;YAC5B,OAAO;gBACL,GAAG,YAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAC1C,aAAa,CAAC,IAAI,EAAC,MAAoB,CAAC,CAC3C;gBACD,GAAG,cAAc;aAClB;iBACE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBACd,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC;QAC7D,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,kBAAe,eAAe,CAAC"} {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/buildMiddleware/index.ts"],"names":[],"mappings":";;;;;AAAA,mDAA2B;AAK3B,MAAM,aAAa,GAAG,CAAC,IAAS,EAAE,EAAc,EAAe,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;IACtF,IAAI,IAAI,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;IAE9D,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC,CAAC;AAIF,SAAS,OAAO,CAAE,KAAa,EAAE,EAAc;IAC3C,OAAO,CAAC,GAAG,EAAE,EAAE;QACX,MAAM,aAAa,GAAG,GAAG,EAAE,CAAC,YAAE,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAE,CAAC;QAC3D,MAAM,YAAY,GAAI,GAAW,CAAC,YAAY,IAAI,GAAG,CAAC,QAAQ,CAAC;QAC/D,OAAO,EAAE,CAAC,EAAC,GAAG,GAAG,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAQ,CAAE,CAAA;IACtE,CAAC,CAAC;AACN,CAAC;AAED,SAAS,eAAe,CACpB,UAA0C,EAAE,EAC5C,UAAqC,EAAE,EACvC,WAAgB,EAAE;IAIlB,MAAM,cAAc,GAAG,YAAE,CAAC,IAAI,CAC1B,YAAE,CAAC,SAAS,CAAE,YAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAE,EACpC,YAAE,CAAC,OAAO,EACV,YAAE,CAAC,MAAM,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,CAAC,CAAC,CAAC,EAClB,YAAE,CAAC,GAAG,CAAE,CAAC,CAAE,KAAK,EAAE,EAAE,CAAyB,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAC,EAAE,CAAC,CAAE,CACxE,CAAE,QAAQ,CAAE,CAAC;IAEhB,OAAO,CAAC,GAA0B,EAAE,EAAE;QAEpC,KAAK,IAAI,IAAI,IAAI,OAAO,EAAE;YACxB,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YACzB,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAU,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;SACnE;QAED,OAAO,CAAC,aAAmB,EAAC,EAAE;YAC5B,OAAO;gBACL,GAAG,YAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAC1C,aAAa,CAAC,IAAI,EAAC,MAAoB,CAAC,CAC3C;gBACD,GAAG,cAAc;aAClB;iBACE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBACd,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,CAAC;QAC7D,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,kBAAe,eAAe,CAAC"}

View File

@ -6,14 +6,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
const _1 = __importDefault(require(".")); const _1 = __importDefault(require("."));
test('simple effect', () => { test('simple effect', () => {
const tracer = jest.fn(); const tracer = jest.fn();
const store = (new _1.default({ const store = new _1.default({
effects: { effects: {
foo: (api) => (next) => (action) => { foo: (api) => (next) => (action) => {
tracer(); tracer();
next(action); next(action);
}, },
}, },
})).createStore(); }).createStore();
expect(tracer).not.toHaveBeenCalled(); expect(tracer).not.toHaveBeenCalled();
store.dispatch({ type: 'bar' }); store.dispatch({ type: 'bar' });
expect(tracer).not.toHaveBeenCalled(); expect(tracer).not.toHaveBeenCalled();
@ -26,17 +26,18 @@ test('effect and sub-effect', () => {
tracer(signature); tracer(signature);
next(action); next(action);
}; };
const store = (new _1.default({ const store = new _1.default({
effects: { effects: {
foo: tracerEffect('root'), foo: tracerEffect('root'),
}, },
subduxes: { subduxes: {
zzz: { effects: { zzz: {
effects: {
foo: tracerEffect('child'), foo: tracerEffect('child'),
}
}
}, },
})).createStore(); },
},
}).createStore();
expect(tracer).not.toHaveBeenCalled(); expect(tracer).not.toHaveBeenCalled();
store.dispatch({ type: 'bar' }); store.dispatch({ type: 'bar' });
expect(tracer).not.toHaveBeenCalled(); expect(tracer).not.toHaveBeenCalled();
@ -46,14 +47,14 @@ test('effect and sub-effect', () => {
}); });
test('"*" effect', () => { test('"*" effect', () => {
const tracer = jest.fn(); const tracer = jest.fn();
const store = (new _1.default({ const store = new _1.default({
effects: { effects: {
'*': api => next => action => { '*': api => next => action => {
tracer(); tracer();
next(action); next(action);
}, },
}, },
})).createStore(); }).createStore();
expect(tracer).not.toHaveBeenCalled(); expect(tracer).not.toHaveBeenCalled();
store.dispatch({ type: 'bar' }); store.dispatch({ type: 'bar' });
expect(tracer).toHaveBeenCalled(); expect(tracer).toHaveBeenCalled();
@ -63,7 +64,7 @@ test('async effect', async () => {
return new Promise(resolve => setTimeout(resolve, ms)); return new Promise(resolve => setTimeout(resolve, ms));
} }
const tracer = jest.fn(); const tracer = jest.fn();
const store = (new _1.default({ const store = new _1.default({
effects: { effects: {
foo: api => next => async (action) => { foo: api => next => async (action) => {
next(action); next(action);
@ -71,11 +72,41 @@ test('async effect', async () => {
tracer(); tracer();
}, },
}, },
})).createStore(); }).createStore();
expect(tracer).not.toHaveBeenCalled(); expect(tracer).not.toHaveBeenCalled();
store.dispatch.foo(); store.dispatch.foo();
expect(tracer).not.toHaveBeenCalled(); expect(tracer).not.toHaveBeenCalled();
await timeout(1000); await timeout(1000);
expect(tracer).toHaveBeenCalled(); expect(tracer).toHaveBeenCalled();
}); });
test('getState is local', () => {
let childState;
let rootState;
let rootFromChild;
const child = new _1.default({
initial: { alpha: 12 },
effects: {
doIt: ({ getState, getRootState }) => next => action => {
childState = getState();
rootFromChild = getRootState();
next(action);
},
},
});
const root = new _1.default({
initial: { beta: 24 },
subduxes: { child },
effects: {
doIt: ({ getState }) => next => action => {
rootState = getState();
next(action);
},
},
});
const store = root.createStore();
store.dispatch.doIt();
expect(rootState).toEqual({ beta: 24, child: { alpha: 12 } });
expect(rootFromChild).toEqual({ beta: 24, child: { alpha: 12 } });
expect(childState).toEqual({ alpha: 12 });
});
//# sourceMappingURL=middleware.test.js.map //# sourceMappingURL=middleware.test.js.map

View File

@ -1 +1 @@
{"version":3,"file":"middleware.test.js","sourceRoot":"","sources":["../src/middleware.test.ts"],"names":[],"mappings":"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"} {"version":3,"file":"middleware.test.js","sourceRoot":"","sources":["../src/middleware.test.ts"],"names":[],"mappings":"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"}

10
dist/types.d.ts vendored
View File

@ -1,4 +1,4 @@
import { Dispatch, Middleware } from 'redux'; import { Dispatch } from 'redux';
declare type MaybePayload<P> = P extends object | string | boolean | number ? { declare type MaybePayload<P> = P extends object | string | boolean | number ? {
payload: P; payload: P;
} : { } : {
@ -25,8 +25,14 @@ export declare type UpduxConfig<S = any> = {
}; };
mutations?: any; mutations?: any;
groomMutations?: (m: Mutation<S>) => Mutation<S>; groomMutations?: (m: Mutation<S>) => Mutation<S>;
effects?: Dictionary<Middleware<{}, S, UpduxDispatch>>; effects?: Dictionary<UpduxMiddleware<S>>;
}; };
export declare type Upreducer<S = any> = (action: Action) => (state: S) => S; export declare type Upreducer<S = any> = (action: Action) => (state: S) => S;
export interface UpduxMiddlewareAPI<S> {
dispatch: UpduxDispatch;
getState(): any;
getRootState(): S;
}
export declare type UpduxMiddleware<S = any> = (api: UpduxMiddlewareAPI<S>) => (next: UpduxDispatch) => (action: Action) => any;
export {}; export {};
//# sourceMappingURL=types.d.ts.map //# sourceMappingURL=types.d.ts.map

2
dist/types.d.ts.map vendored
View File

@ -1 +1 @@
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,UAAU,EAAC,MAAM,OAAO,CAAC;AAE3C,aAAK,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAC/D;IACE,OAAO,EAAE,CAAC,CAAC;CACZ,GACD;IAAC,OAAO,CAAC,EAAE,CAAC,CAAA;CAAC,CAAC;AAElB,oBAAY,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,GAAG,IAAI;IACvD,IAAI,EAAE,CAAC,CAAC;CACT,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;AAEpB,oBAAY,UAAU,CAAC,CAAC,IAAI;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAA;CAAC,CAAC;AAE/C,oBAAY,QAAQ,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,CACzD,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,EACrB,MAAM,EAAE,CAAC,KACN,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AAErB,oBAAY,sBAAsB,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;AAE7D,oBAAY,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,GAAG,IAAI;IAC9D,IAAI,EAAE,CAAC,CAAC;IACR,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEvC,oBAAY,aAAa,GAAG,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;AAO5D,oBAAY,WAAW,CAAC,CAAC,GAAC,GAAG,IAAI;IAK/B,OAAO,CAAC,EAAE,CAAC,CAAC;IA+BZ,QAAQ,CAAC,EAAE,EAAE,CAAC;IAsBd,OAAO,CAAC,EAAE;QACR,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC;KAC/B,CAAC;IAgEF,SAAS,CAAC,EAAE,GAAG,CAAC;IAEhB,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC;IAqBjD,OAAO,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC;CACxD,CAAC;AAEF,oBAAY,SAAS,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC"} {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAa,MAAM,OAAO,CAAC;AAE3C,aAAK,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAC/D;IACE,OAAO,EAAE,CAAC,CAAC;CACZ,GACD;IAAC,OAAO,CAAC,EAAE,CAAC,CAAA;CAAC,CAAC;AAElB,oBAAY,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,GAAG,IAAI;IACvD,IAAI,EAAE,CAAC,CAAC;CACT,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;AAEpB,oBAAY,UAAU,CAAC,CAAC,IAAI;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAA;CAAC,CAAC;AAE/C,oBAAY,QAAQ,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,CACzD,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,EACrB,MAAM,EAAE,CAAC,KACN,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AAErB,oBAAY,sBAAsB,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;AAE7D,oBAAY,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,GAAG,IAAI;IAC9D,IAAI,EAAE,CAAC,CAAC;IACR,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAEvC,oBAAY,aAAa,GAAG,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;AAO5D,oBAAY,WAAW,CAAC,CAAC,GAAC,GAAG,IAAI;IAK/B,OAAO,CAAC,EAAE,CAAC,CAAC;IA+BZ,QAAQ,CAAC,EAAE,EAAE,CAAC;IAsBd,OAAO,CAAC,EAAE;QACR,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC;KAC/B,CAAC;IAgEF,SAAS,CAAC,EAAE,GAAG,CAAC;IAEhB,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC;IAqBjD,OAAO,CAAC,EAAE,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;CAC1C,CAAC;AAEF,oBAAY,SAAS,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AAErE,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACjC,QAAQ,EAAE,aAAa,CAAC;IACxB,QAAQ,IAAI,GAAG,CAAC;IAChB,YAAY,IAAI,CAAC,CAAA;CAEpB;AACD,oBAAY,eAAe,CAAC,CAAC,GAAC,GAAG,IAAI,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC,CAAC,KAAM,CAAE,IAAI,EAAE,aAAa,KAAM,CAAE,MAAM,EAAE,MAAM,KAAM,GAAG,CAAC"}

6
dist/updux.d.ts vendored
View File

@ -1,5 +1,5 @@
import { UpduxConfig, Dictionary, Action, ActionCreator, Mutation, Upreducer, UpduxDispatch } from './types'; import { UpduxConfig, Dictionary, Action, ActionCreator, Mutation, Upreducer, UpduxMiddleware } from './types';
import { Middleware, Store } from 'redux'; import { Store } from 'redux';
export { actionCreator } from './buildActions'; export { actionCreator } from './buildActions';
declare type StoreWithDispatchActions<S = any, Actions = { declare type StoreWithDispatchActions<S = any, Actions = {
[action: string]: (...args: any) => Action; [action: string]: (...args: any) => Action;
@ -17,7 +17,7 @@ export declare class Updux<S = any> {
private localActions; private localActions;
private localMutations; private localMutations;
constructor(config?: UpduxConfig); constructor(config?: UpduxConfig);
readonly middleware: Middleware<{}, S, UpduxDispatch>; readonly middleware: UpduxMiddleware<S>;
readonly actions: Dictionary<ActionCreator>; readonly actions: Dictionary<ActionCreator>;
readonly upreducer: Upreducer<S>; readonly upreducer: Upreducer<S>;
readonly reducer: (state: S | undefined, action: Action) => S; readonly reducer: (state: S | undefined, action: Action) => S;

2
dist/updux.d.ts.map vendored
View File

@ -1 +1 @@
{"version":3,"file":"updux.d.ts","sourceRoot":"","sources":["../src/updux.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,WAAW,EACX,UAAU,EACV,MAAM,EACN,aAAa,EACb,QAAQ,EACR,SAAS,EACT,aAAa,EACd,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAC,UAAU,EAAE,KAAK,EAAC,MAAM,OAAO,CAAC;AACxC,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAE7C,aAAK,wBAAwB,CAC3B,CAAC,GAAG,GAAG,EACP,OAAO,GAAG;IAAC,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,MAAM,CAAA;CAAC,IACpD,KAAK,CAAC,CAAC,CAAC,GAAG;IACb,QAAQ,EAAE;SAAE,IAAI,IAAI,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI;KAAC,CAAC;CAC7D,CAAC;AAEF,oBAAY,GAAG,CAAC,CAAC,IAAI,IAAI,CACvB,KAAK,CAAC,CAAC,CAAC,EACN,UAAU,GACV,SAAS,GACT,SAAS,GACT,WAAW,GACX,SAAS,GACT,YAAY,GACZ,aAAa,GACb,WAAW,CACd,CAAC;AASF,qBAAa,KAAK,CAAC,CAAC,GAAG,GAAG;IACxB,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAS5B,OAAO,EAAE,CAAC,CAAC;IAqCX,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE3C,OAAO,CAAC,YAAY,CAE9B;IAEU,OAAO,CAAC,YAAY,CAA4B;IAEhD,OAAO,CAAC,cAAc,CAEhC;gBAEU,MAAM,GAAE,WAAgB;aA0BtB,UAAU,EAAI,UAAU,CAAC,EAAE,EAAE,CAAC,EAAE,aAAa,CAAC;aAsB9C,OAAO,EAAI,UAAU,CAAC,aAAa,CAAC;aAYpC,SAAS,EAAI,SAAS,CAAC,CAAC,CAAC;aAQzB,OAAO,EAAI,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;aAStD,SAAS,EAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aAqBpC,eAAe;aA6Bf,WAAW,EAAI,MAAM,wBAAwB,CAAC,CAAC,CAAC;aAiB1D,KAAK,EAAI,GAAG,CAAC,CAAC,CAAC;IAyBnB,WAAW,CAAC,CAAC,SAAS,aAAa,EACjC,OAAO,EAAE,CAAC,EACV,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,EACxE,MAAM,CAAC,EAAE,OAAO;CAQnB;AAED,eAAe,KAAK,CAAC"} {"version":3,"file":"updux.d.ts","sourceRoot":"","sources":["../src/updux.ts"],"names":[],"mappings":"AAWA,OAAO,EACL,WAAW,EACX,UAAU,EACV,MAAM,EACN,aAAa,EACb,QAAQ,EACR,SAAS,EAET,eAAe,EAChB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAa,KAAK,EAAC,MAAM,OAAO,CAAC;AACxC,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAE7C,aAAK,wBAAwB,CAC3B,CAAC,GAAG,GAAG,EACP,OAAO,GAAG;IAAC,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,MAAM,CAAA;CAAC,IACpD,KAAK,CAAC,CAAC,CAAC,GAAG;IACb,QAAQ,EAAE;SAAE,IAAI,IAAI,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,IAAI;KAAC,CAAC;CAC7D,CAAC;AAEF,oBAAY,GAAG,CAAC,CAAC,IAAI,IAAI,CACvB,KAAK,CAAC,CAAC,CAAC,EACN,UAAU,GACV,SAAS,GACT,SAAS,GACT,WAAW,GACX,SAAS,GACT,YAAY,GACZ,aAAa,GACb,WAAW,CACd,CAAC;AASF,qBAAa,KAAK,CAAC,CAAC,GAAG,GAAG;IACxB,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAS5B,OAAO,EAAE,CAAC,CAAC;IAqCX,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE3C,OAAO,CAAC,YAAY,CAE9B;IAEU,OAAO,CAAC,YAAY,CAA4B;IAEhD,OAAO,CAAC,cAAc,CAEhC;gBAEU,MAAM,GAAE,WAAgB;aA6BtB,UAAU,EAAI,eAAe,CAAC,CAAC,CAAC;aAsBhC,OAAO,EAAI,UAAU,CAAC,aAAa,CAAC;aAYpC,SAAS,EAAI,SAAS,CAAC,CAAC,CAAC;aAQzB,OAAO,EAAI,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;aAStD,SAAS,EAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aAqBpC,eAAe;aA6Bf,WAAW,EAAI,MAAM,wBAAwB,CAAC,CAAC,CAAC;aAiB1D,KAAK,EAAI,GAAG,CAAC,CAAC,CAAC;IAyBnB,WAAW,CAAC,CAAC,SAAS,aAAa,EACjC,OAAO,EAAE,CAAC,EACV,QAAQ,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,EACxE,MAAM,CAAC,EAAE,OAAO;CAQnB;AAED,eAAe,KAAK,CAAC"}

2
dist/updux.js vendored
View File

@ -29,7 +29,7 @@ class Updux {
this.localMutations = fp_1.default.mapValues((m) => this.groomMutations(m))(fp_1.default.getOr({}, 'mutations', config)); this.localMutations = fp_1.default.mapValues((m) => this.groomMutations(m))(fp_1.default.getOr({}, 'mutations', config));
} }
get middleware() { get middleware() {
return buildMiddleware_1.default(this.localEffects, this.actions, Object.values(this.subduxes).map(sd => sd.middleware)); return buildMiddleware_1.default(this.localEffects, this.actions, this.subduxes);
} }
get actions() { get actions() {
return buildActions_1.default(this.localActions, [...Object.keys(this.localMutations), ...Object.keys(this.localEffects)], fp_1.default.flatten(Object.values(this.subduxes).map(({ actions }) => Object.entries(actions)))); return buildActions_1.default(this.localActions, [...Object.keys(this.localMutations), ...Object.keys(this.localEffects)], fp_1.default.flatten(Object.values(this.subduxes).map(({ actions }) => Object.entries(actions))));

2
dist/updux.js.map vendored
View File

@ -1 +1 @@
{"version":3,"file":"updux.js","sourceRoot":"","sources":["../src/updux.ts"],"names":[],"mappings":"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"} {"version":3,"file":"updux.js","sourceRoot":"","sources":["../src/updux.ts"],"names":[],"mappings":"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"}

File diff suppressed because one or more lines are too long

View File

@ -149,7 +149,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in updux.ts:108</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/updux.ts#L109">updux.ts:109</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-parameters-title">Parameters</h4> <h4 class="tsd-parameters-title">Parameters</h4>
@ -171,7 +171,7 @@
<div class="tsd-signature tsd-kind-icon">groom<wbr>Mutations<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">function</span></div> <div class="tsd-signature tsd-kind-icon">groom<wbr>Mutations<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">function</span></div>
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in updux.ts:98</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/updux.ts#L99">updux.ts:99</a></li>
</ul> </ul>
</aside> </aside>
<div class="tsd-comment tsd-typography"> <div class="tsd-comment tsd-typography">
@ -230,7 +230,7 @@
<div class="tsd-signature tsd-kind-icon">initial<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">S</span></div> <div class="tsd-signature tsd-kind-icon">initial<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">S</span></div>
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in updux.ts:61</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/updux.ts#L62">updux.ts:62</a></li>
</ul> </ul>
</aside> </aside>
<div class="tsd-comment tsd-typography"> <div class="tsd-comment tsd-typography">
@ -248,7 +248,7 @@
<div class="tsd-signature tsd-kind-icon">subduxes<span class="tsd-signature-symbol">:</span> <a href="../globals.html#dictionary" class="tsd-signature-type">Dictionary</a><span class="tsd-signature-symbol">&lt;</span><a href="updux.html" class="tsd-signature-type">Updux</a><span class="tsd-signature-symbol">&gt;</span></div> <div class="tsd-signature tsd-kind-icon">subduxes<span class="tsd-signature-symbol">:</span> <a href="../globals.html#dictionary" class="tsd-signature-type">Dictionary</a><span class="tsd-signature-symbol">&lt;</span><a href="updux.html" class="tsd-signature-type">Updux</a><span class="tsd-signature-symbol">&gt;</span></div>
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in updux.ts:52</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/updux.ts#L53">updux.ts:53</a></li>
</ul> </ul>
</aside> </aside>
</section> </section>
@ -265,7 +265,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in updux.ts:158</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/updux.ts#L162">updux.ts:162</a></li>
</ul> </ul>
</aside> </aside>
<div class="tsd-comment tsd-typography"> <div class="tsd-comment tsd-typography">
@ -295,7 +295,7 @@ payload,meta})</code> (with the extra sugar that if <code>meta</code> or <code>p
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in updux.ts:254</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/updux.ts#L258">updux.ts:258</a></li>
</ul> </ul>
</aside> </aside>
<div class="tsd-comment tsd-typography"> <div class="tsd-comment tsd-typography">
@ -320,7 +320,7 @@ payload,meta})</code> (with the extra sugar that if <code>meta</code> or <code>p
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in updux.ts:237</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/updux.ts#L241">updux.ts:241</a></li>
</ul> </ul>
</aside> </aside>
<div class="tsd-comment tsd-typography"> <div class="tsd-comment tsd-typography">
@ -363,23 +363,26 @@ store.dispatch<span class="hljs-comment">( actions.addTodo(...)</span> );</code>
<a name="middleware" class="tsd-anchor"></a> <a name="middleware" class="tsd-anchor"></a>
<h3>middleware</h3> <h3>middleware</h3>
<ul class="tsd-signatures tsd-kind-get-signature tsd-parent-kind-class"> <ul class="tsd-signatures tsd-kind-get-signature tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">get</span> middleware<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Middleware</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">__type</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">S</span><span class="tsd-signature-symbol">, </span><a href="../globals.html#upduxdispatch" class="tsd-signature-type">UpduxDispatch</a><span class="tsd-signature-symbol">&gt;</span></li> <li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">get</span> middleware<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../globals.html#upduxmiddleware" class="tsd-signature-type">UpduxMiddleware</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">S</span><span class="tsd-signature-symbol">&gt;</span></li>
</ul> </ul>
<ul class="tsd-descriptions"> <ul class="tsd-descriptions">
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in updux.ts:136</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/updux.ts#L140">updux.ts:140</a></li>
</ul> </ul>
</aside> </aside>
<div class="tsd-comment tsd-typography"> <div class="tsd-comment tsd-typography">
<div class="lead"> <div class="lead">
<p>A middleware aggregating all the effects defined in the <p>A middleware aggregating all the effects defined in the
updux and its subduxes. Effects of the updux itself are updux and its subduxes. Effects of the updux itself are
done before the subduxes effects.</p> done before the subduxes effects.
Note that <code>getState</code> will always return the state of the
local updux. The function <code>getRootState</code> is provided
alongside <code>getState</code> to get the root state.</p>
</div> </div>
</div> </div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Middleware</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">__type</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">S</span><span class="tsd-signature-symbol">, </span><a href="../globals.html#upduxdispatch" class="tsd-signature-type">UpduxDispatch</a><span class="tsd-signature-symbol">&gt;</span></h4> <h4 class="tsd-returns-title">Returns <a href="../globals.html#upduxmiddleware" class="tsd-signature-type">UpduxMiddleware</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">S</span><span class="tsd-signature-symbol">&gt;</span></h4>
</li> </li>
</ul> </ul>
</section> </section>
@ -393,7 +396,7 @@ store.dispatch<span class="hljs-comment">( actions.addTodo(...)</span> );</code>
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in updux.ts:187</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/updux.ts#L191">updux.ts:191</a></li>
</ul> </ul>
</aside> </aside>
<div class="tsd-comment tsd-typography"> <div class="tsd-comment tsd-typography">
@ -417,7 +420,7 @@ store.dispatch<span class="hljs-comment">( actions.addTodo(...)</span> );</code>
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in updux.ts:178</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/updux.ts#L182">updux.ts:182</a></li>
</ul> </ul>
</aside> </aside>
<div class="tsd-comment tsd-typography"> <div class="tsd-comment tsd-typography">
@ -461,7 +464,7 @@ store.dispatch<span class="hljs-comment">( actions.addTodo(...)</span> );</code>
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in updux.ts:208</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/updux.ts#L212">updux.ts:212</a></li>
</ul> </ul>
</aside> </aside>
<div class="tsd-comment tsd-typography"> <div class="tsd-comment tsd-typography">
@ -533,7 +536,7 @@ todos.addMutation(
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in updux.ts:170</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/updux.ts#L174">updux.ts:174</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-returns-title">Returns <a href="../globals.html#upreducer" class="tsd-signature-type">Upreducer</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">S</span><span class="tsd-signature-symbol">&gt;</span></h4> <h4 class="tsd-returns-title">Returns <a href="../globals.html#upreducer" class="tsd-signature-type">Upreducer</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">S</span><span class="tsd-signature-symbol">&gt;</span></h4>
@ -553,7 +556,7 @@ todos.addMutation(
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in updux.ts:279</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/updux.ts#L283">updux.ts:283</a></li>
</ul> </ul>
</aside> </aside>
<div class="tsd-comment tsd-typography"> <div class="tsd-comment tsd-typography">
@ -653,6 +656,9 @@ todos.addMutation(
</li> </li>
</ul> </ul>
<ul class="after-current"> <ul class="after-current">
<li class=" tsd-kind-interface tsd-has-type-parameter">
<a href="../interfaces/upduxmiddlewareapi.html" class="tsd-kind-icon">Updux<wbr>MiddlewareAPI</a>
</li>
<li class=" tsd-kind-type-alias tsd-has-type-parameter"> <li class=" tsd-kind-type-alias tsd-has-type-parameter">
<a href="../globals.html#action" class="tsd-kind-icon">Action</a> <a href="../globals.html#action" class="tsd-kind-icon">Action</a>
</li> </li>
@ -692,6 +698,9 @@ todos.addMutation(
<li class=" tsd-kind-type-alias"> <li class=" tsd-kind-type-alias">
<a href="../globals.html#upduxdispatch" class="tsd-kind-icon">Updux<wbr>Dispatch</a> <a href="../globals.html#upduxdispatch" class="tsd-kind-icon">Updux<wbr>Dispatch</a>
</li> </li>
<li class=" tsd-kind-type-alias tsd-has-type-parameter">
<a href="../globals.html#upduxmiddleware" class="tsd-kind-icon">Updux<wbr>Middleware</a>
</li>
<li class=" tsd-kind-type-alias tsd-has-type-parameter"> <li class=" tsd-kind-type-alias tsd-has-type-parameter">
<a href="../globals.html#upreducer" class="tsd-kind-icon">Upreducer</a> <a href="../globals.html#upreducer" class="tsd-kind-icon">Upreducer</a>
</li> </li>
@ -725,6 +734,9 @@ todos.addMutation(
<li class=" tsd-kind-function tsd-is-not-exported"> <li class=" tsd-kind-function tsd-is-not-exported">
<a href="../globals.html#composemutations" class="tsd-kind-icon">compose<wbr>Mutations</a> <a href="../globals.html#composemutations" class="tsd-kind-icon">compose<wbr>Mutations</a>
</li> </li>
<li class=" tsd-kind-function tsd-is-not-exported">
<a href="../globals.html#slicemw" class="tsd-kind-icon">slice<wbr>Mw</a>
</li>
</ul> </ul>
</nav> </nav>
</div> </div>

View File

@ -73,6 +73,12 @@
<li class="tsd-kind-class tsd-has-type-parameter"><a href="classes/updux.html" class="tsd-kind-icon">Updux</a></li> <li class="tsd-kind-class tsd-has-type-parameter"><a href="classes/updux.html" class="tsd-kind-icon">Updux</a></li>
</ul> </ul>
</section> </section>
<section class="tsd-index-section ">
<h3>Interfaces</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-interface tsd-has-type-parameter"><a href="interfaces/upduxmiddlewareapi.html" class="tsd-kind-icon">Updux<wbr>MiddlewareAPI</a></li>
</ul>
</section>
<section class="tsd-index-section "> <section class="tsd-index-section ">
<h3>Type aliases</h3> <h3>Type aliases</h3>
<ul class="tsd-index-list"> <ul class="tsd-index-list">
@ -89,6 +95,7 @@
<li class="tsd-kind-type-alias tsd-is-not-exported"><a href="globals.html#submutations" class="tsd-kind-icon">Sub<wbr>Mutations</a></li> <li class="tsd-kind-type-alias tsd-is-not-exported"><a href="globals.html#submutations" class="tsd-kind-icon">Sub<wbr>Mutations</a></li>
<li class="tsd-kind-type-alias tsd-has-type-parameter"><a href="globals.html#upduxconfig" class="tsd-kind-icon">Updux<wbr>Config</a></li> <li class="tsd-kind-type-alias tsd-has-type-parameter"><a href="globals.html#upduxconfig" class="tsd-kind-icon">Updux<wbr>Config</a></li>
<li class="tsd-kind-type-alias"><a href="globals.html#upduxdispatch" class="tsd-kind-icon">Updux<wbr>Dispatch</a></li> <li class="tsd-kind-type-alias"><a href="globals.html#upduxdispatch" class="tsd-kind-icon">Updux<wbr>Dispatch</a></li>
<li class="tsd-kind-type-alias tsd-has-type-parameter"><a href="globals.html#upduxmiddleware" class="tsd-kind-icon">Updux<wbr>Middleware</a></li>
<li class="tsd-kind-type-alias tsd-has-type-parameter"><a href="globals.html#upreducer" class="tsd-kind-icon">Upreducer</a></li> <li class="tsd-kind-type-alias tsd-has-type-parameter"><a href="globals.html#upreducer" class="tsd-kind-icon">Upreducer</a></li>
</ul> </ul>
</section> </section>
@ -105,6 +112,7 @@
<li class="tsd-kind-function"><a href="globals.html#buildmutations" class="tsd-kind-icon">build<wbr>Mutations</a></li> <li class="tsd-kind-function"><a href="globals.html#buildmutations" class="tsd-kind-icon">build<wbr>Mutations</a></li>
<li class="tsd-kind-function tsd-has-type-parameter"><a href="globals.html#buildupreducer" class="tsd-kind-icon">build<wbr>Upreducer</a></li> <li class="tsd-kind-function tsd-has-type-parameter"><a href="globals.html#buildupreducer" class="tsd-kind-icon">build<wbr>Upreducer</a></li>
<li class="tsd-kind-function tsd-is-not-exported"><a href="globals.html#composemutations" class="tsd-kind-icon">compose<wbr>Mutations</a></li> <li class="tsd-kind-function tsd-is-not-exported"><a href="globals.html#composemutations" class="tsd-kind-icon">compose<wbr>Mutations</a></li>
<li class="tsd-kind-function tsd-is-not-exported"><a href="globals.html#slicemw" class="tsd-kind-icon">slice<wbr>Mw</a></li>
</ul> </ul>
</section> </section>
</div> </div>
@ -118,7 +126,7 @@
<div class="tsd-signature tsd-kind-icon">Action&lt;T, P&gt;<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span><span class="tsd-signature-symbol"> &amp; </span><a href="globals.html#maybepayload" class="tsd-signature-type">MaybePayload</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">P</span><span class="tsd-signature-symbol">&gt;</span></div> <div class="tsd-signature tsd-kind-icon">Action&lt;T, P&gt;<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span><span class="tsd-signature-symbol"> &amp; </span><a href="globals.html#maybepayload" class="tsd-signature-type">MaybePayload</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">P</span><span class="tsd-signature-symbol">&gt;</span></div>
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in types.ts:9</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/types.ts#L9">types.ts:9</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-type-parameters-title">Type parameters</h4> <h4 class="tsd-type-parameters-title">Type parameters</h4>
@ -137,7 +145,7 @@
<div class="tsd-signature tsd-kind-icon">Action<wbr>Creator&lt;T, P&gt;<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-type">function</span></div> <div class="tsd-signature tsd-kind-icon">Action<wbr>Creator&lt;T, P&gt;<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-type">function</span></div>
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in types.ts:22</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/types.ts#L22">types.ts:22</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-type-parameters-title">Type parameters</h4> <h4 class="tsd-type-parameters-title">Type parameters</h4>
@ -156,7 +164,7 @@
<div class="tsd-signature tsd-kind-icon">Action<wbr>Pair<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><a href="globals.html#actioncreator" class="tsd-signature-type">ActionCreator</a><span class="tsd-signature-symbol">]</span></div> <div class="tsd-signature tsd-kind-icon">Action<wbr>Pair<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><a href="globals.html#actioncreator" class="tsd-signature-type">ActionCreator</a><span class="tsd-signature-symbol">]</span></div>
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in buildActions/index.ts:33</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/buildActions/index.ts#L33">buildActions/index.ts:33</a></li>
</ul> </ul>
</aside> </aside>
</section> </section>
@ -166,7 +174,7 @@
<div class="tsd-signature tsd-kind-icon">Action<wbr>Payload<wbr>Generator<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">function</span></div> <div class="tsd-signature tsd-kind-icon">Action<wbr>Payload<wbr>Generator<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">function</span></div>
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in types.ts:20</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/types.ts#L20">types.ts:20</a></li>
</ul> </ul>
</aside> </aside>
<div class="tsd-type-declaration"> <div class="tsd-type-declaration">
@ -197,7 +205,7 @@
<div class="tsd-signature tsd-kind-icon">Dictionary&lt;T&gt;<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span></div> <div class="tsd-signature tsd-kind-icon">Dictionary&lt;T&gt;<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span></div>
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in types.ts:13</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/types.ts#L13">types.ts:13</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-type-parameters-title">Type parameters</h4> <h4 class="tsd-type-parameters-title">Type parameters</h4>
@ -221,7 +229,7 @@
<div class="tsd-signature tsd-kind-icon">Dux&lt;S&gt;<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Pick</span><span class="tsd-signature-symbol">&lt;</span><a href="classes/updux.html" class="tsd-signature-type">Updux</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">S</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">"subduxes"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"actions"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"initial"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"mutations"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"reducer"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"middleware"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"createStore"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"upreducer"</span><span class="tsd-signature-symbol">&gt;</span></div> <div class="tsd-signature tsd-kind-icon">Dux&lt;S&gt;<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Pick</span><span class="tsd-signature-symbol">&lt;</span><a href="classes/updux.html" class="tsd-signature-type">Updux</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">S</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">"subduxes"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"actions"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"initial"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"mutations"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"reducer"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"middleware"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"createStore"</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">"upreducer"</span><span class="tsd-signature-symbol">&gt;</span></div>
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in updux.ts:32</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/updux.ts#L33">updux.ts:33</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-type-parameters-title">Type parameters</h4> <h4 class="tsd-type-parameters-title">Type parameters</h4>
@ -237,7 +245,7 @@
<div class="tsd-signature tsd-kind-icon">Maybe<wbr>Payload&lt;P&gt;<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">MaybePayload&lt;P&gt;</span></div> <div class="tsd-signature tsd-kind-icon">Maybe<wbr>Payload&lt;P&gt;<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">MaybePayload&lt;P&gt;</span></div>
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in types.ts:3</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/types.ts#L3">types.ts:3</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-type-parameters-title">Type parameters</h4> <h4 class="tsd-type-parameters-title">Type parameters</h4>
@ -253,7 +261,7 @@
<div class="tsd-signature tsd-kind-icon">Mutation&lt;S, A&gt;<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">function</span></div> <div class="tsd-signature tsd-kind-icon">Mutation&lt;S, A&gt;<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">function</span></div>
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in types.ts:15</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/types.ts#L15">types.ts:15</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-type-parameters-title">Type parameters</h4> <h4 class="tsd-type-parameters-title">Type parameters</h4>
@ -314,7 +322,7 @@
<div class="tsd-signature tsd-kind-icon">Next<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">function</span></div> <div class="tsd-signature tsd-kind-icon">Next<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">function</span></div>
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in buildMiddleware/index.ts:12</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/buildMiddleware/index.ts#L12">buildMiddleware/index.ts:12</a></li>
</ul> </ul>
</aside> </aside>
<div class="tsd-type-declaration"> <div class="tsd-type-declaration">
@ -345,7 +353,7 @@
<div class="tsd-signature tsd-kind-icon">Store<wbr>With<wbr>Dispatch<wbr>Actions&lt;S, Actions&gt;<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Store</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">S</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-type">object</span></div> <div class="tsd-signature tsd-kind-icon">Store<wbr>With<wbr>Dispatch<wbr>Actions&lt;S, Actions&gt;<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Store</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">S</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-type">object</span></div>
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in updux.ts:25</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/updux.ts#L26">updux.ts:26</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-type-parameters-title">Type parameters</h4> <h4 class="tsd-type-parameters-title">Type parameters</h4>
@ -364,7 +372,7 @@
<div class="tsd-signature tsd-kind-icon">Sub<wbr>Mutations<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span></div> <div class="tsd-signature tsd-kind-icon">Sub<wbr>Mutations<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span></div>
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in buildMutations/index.ts:10</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/buildMutations/index.ts#L10">buildMutations/index.ts:10</a></li>
</ul> </ul>
</aside> </aside>
<div class="tsd-type-declaration"> <div class="tsd-type-declaration">
@ -382,7 +390,7 @@
<div class="tsd-signature tsd-kind-icon">Updux<wbr>Config&lt;S&gt;<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span></div> <div class="tsd-signature tsd-kind-icon">Updux<wbr>Config&lt;S&gt;<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">object</span></div>
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in types.ts:34</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/types.ts#L34">types.ts:34</a></li>
</ul> </ul>
</aside> </aside>
<div class="tsd-comment tsd-typography"> <div class="tsd-comment tsd-typography">
@ -426,7 +434,7 @@
</div> </div>
</li> </li>
<li class="tsd-parameter"> <li class="tsd-parameter">
<h5><span class="tsd-flag ts-flagOptional">Optional</span> effects<span class="tsd-signature-symbol">?: </span><a href="globals.html#dictionary" class="tsd-signature-type">Dictionary</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Middleware</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">__type</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">S</span><span class="tsd-signature-symbol">, </span><a href="globals.html#upduxdispatch" class="tsd-signature-type">UpduxDispatch</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h5> <h5><span class="tsd-flag ts-flagOptional">Optional</span> effects<span class="tsd-signature-symbol">?: </span><a href="globals.html#dictionary" class="tsd-signature-type">Dictionary</a><span class="tsd-signature-symbol">&lt;</span><a href="globals.html#upduxmiddleware" class="tsd-signature-type">UpduxMiddleware</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">S</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span></h5>
<div class="tsd-comment tsd-typography"> <div class="tsd-comment tsd-typography">
<div class="lead"> <div class="lead">
<p>Plain object defining asynchronous actions and side-effects triggered by actions. <p>Plain object defining asynchronous actions and side-effects triggered by actions.
@ -536,17 +544,90 @@ const rootUpdux = updux({
<div class="tsd-signature tsd-kind-icon">Updux<wbr>Dispatch<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Dispatch</span><span class="tsd-signature-symbol"> &amp; </span><a href="globals.html#dictionary" class="tsd-signature-type">Dictionary</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Function</span><span class="tsd-signature-symbol">&gt;</span></div> <div class="tsd-signature tsd-kind-icon">Updux<wbr>Dispatch<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Dispatch</span><span class="tsd-signature-symbol"> &amp; </span><a href="globals.html#dictionary" class="tsd-signature-type">Dictionary</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Function</span><span class="tsd-signature-symbol">&gt;</span></div>
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in types.ts:27</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/types.ts#L27">types.ts:27</a></li>
</ul> </ul>
</aside> </aside>
</section> </section>
<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-has-type-parameter">
<a name="upduxmiddleware" class="tsd-anchor"></a>
<h3>Updux<wbr>Middleware</h3>
<div class="tsd-signature tsd-kind-icon">Updux<wbr>Middleware&lt;S&gt;<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">function</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/types.ts#L192">types.ts:192</a></li>
</ul>
</aside>
<h4 class="tsd-type-parameters-title">Type parameters</h4>
<ul class="tsd-type-parameters">
<li>
<h4>S</h4>
</li>
</ul>
<div class="tsd-type-declaration">
<h4>Type declaration</h4>
<ul class="tsd-parameters">
<li class="tsd-parameter-siganture">
<ul class="tsd-signatures tsd-kind-type-literal tsd-parent-kind-type-alias tsd-is-not-exported">
<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>api<span class="tsd-signature-symbol">: </span><a href="interfaces/upduxmiddlewareapi.html" class="tsd-signature-type">UpduxMiddlewareAPI</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">S</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">function</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>api: <a href="interfaces/upduxmiddlewareapi.html" class="tsd-signature-type">UpduxMiddlewareAPI</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">S</span><span class="tsd-signature-symbol">&gt;</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">function</span></h4>
<ul class="tsd-parameters">
<li class="tsd-parameter-siganture">
<ul class="tsd-signatures tsd-kind-type-literal tsd-is-not-exported">
<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>next<span class="tsd-signature-symbol">: </span><a href="globals.html#upduxdispatch" class="tsd-signature-type">UpduxDispatch</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">function</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>next: <a href="globals.html#upduxdispatch" class="tsd-signature-type">UpduxDispatch</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">function</span></h4>
<ul class="tsd-parameters">
<li class="tsd-parameter-siganture">
<ul class="tsd-signatures tsd-kind-type-literal tsd-is-not-exported">
<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>action<span class="tsd-signature-symbol">: </span><a href="globals.html#action" class="tsd-signature-type">Action</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>action: <a href="globals.html#action" class="tsd-signature-type">Action</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">any</span></h4>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-has-type-parameter"> <section class="tsd-panel tsd-member tsd-kind-type-alias tsd-has-type-parameter">
<a name="upreducer" class="tsd-anchor"></a> <a name="upreducer" class="tsd-anchor"></a>
<h3>Upreducer</h3> <h3>Upreducer</h3>
<div class="tsd-signature tsd-kind-icon">Upreducer&lt;S&gt;<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">function</span></div> <div class="tsd-signature tsd-kind-icon">Upreducer&lt;S&gt;<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">function</span></div>
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in types.ts:184</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/types.ts#L184">types.ts:184</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-type-parameters-title">Type parameters</h4> <h4 class="tsd-type-parameters-title">Type parameters</h4>
@ -608,7 +689,7 @@ const rootUpdux = updux({
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in buildMiddleware/index.ts:6</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/buildMiddleware/index.ts#L6">buildMiddleware/index.ts:6</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-parameters-title">Parameters</h4> <h4 class="tsd-parameters-title">Parameters</h4>
@ -636,7 +717,7 @@ const rootUpdux = updux({
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in buildActions/index.ts:4</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/buildActions/index.ts#L4">buildActions/index.ts:4</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-type-parameters-title">Type parameters</h4> <h4 class="tsd-type-parameters-title">Type parameters</h4>
@ -680,7 +761,7 @@ const rootUpdux = updux({
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in buildActions/index.ts:5</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/buildActions/index.ts#L5">buildActions/index.ts:5</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-type-parameters-title">Type parameters</h4> <h4 class="tsd-type-parameters-title">Type parameters</h4>
@ -703,7 +784,7 @@ const rootUpdux = updux({
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in buildActions/index.ts:6</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/buildActions/index.ts#L6">buildActions/index.ts:6</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-type-parameters-title">Type parameters</h4> <h4 class="tsd-type-parameters-title">Type parameters</h4>
@ -735,7 +816,7 @@ const rootUpdux = updux({
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in buildActions/index.ts:22</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/buildActions/index.ts#L22">buildActions/index.ts:22</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-parameters-title">Parameters</h4> <h4 class="tsd-parameters-title">Parameters</h4>
@ -758,7 +839,7 @@ const rootUpdux = updux({
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in buildActions/index.ts:35</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/buildActions/index.ts#L35">buildActions/index.ts:35</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-parameters-title">Parameters</h4> <h4 class="tsd-parameters-title">Parameters</h4>
@ -787,7 +868,7 @@ const rootUpdux = updux({
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in buildCreateStore/index.ts:9</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/buildCreateStore/index.ts#L9">buildCreateStore/index.ts:9</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-type-parameters-title">Type parameters</h4> <h4 class="tsd-type-parameters-title">Type parameters</h4>
@ -826,7 +907,7 @@ const rootUpdux = updux({
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in buildInitial/index.ts:4</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/buildInitial/index.ts#L4">buildInitial/index.ts:4</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-type-parameters-title">Type parameters</h4> <h4 class="tsd-type-parameters-title">Type parameters</h4>
@ -849,7 +930,7 @@ const rootUpdux = updux({
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in buildInitial/index.ts:5</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/buildInitial/index.ts#L5">buildInitial/index.ts:5</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-type-parameters-title">Type parameters</h4> <h4 class="tsd-type-parameters-title">Type parameters</h4>
@ -875,13 +956,13 @@ const rootUpdux = updux({
<a name="buildmiddleware" class="tsd-anchor"></a> <a name="buildmiddleware" class="tsd-anchor"></a>
<h3>build<wbr>Middleware</h3> <h3>build<wbr>Middleware</h3>
<ul class="tsd-signatures tsd-kind-function tsd-has-type-parameter"> <ul class="tsd-signatures tsd-kind-function tsd-has-type-parameter">
<li class="tsd-signature tsd-kind-icon">build<wbr>Middleware&lt;S&gt;<span class="tsd-signature-symbol">(</span>effects<span class="tsd-signature-symbol">?: </span><a href="globals.html#dictionary" class="tsd-signature-type">Dictionary</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Middleware</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">__type</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">S</span><span class="tsd-signature-symbol">, </span><a href="globals.html#upduxdispatch" class="tsd-signature-type">UpduxDispatch</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span>, actions<span class="tsd-signature-symbol">?: </span><a href="globals.html#dictionary" class="tsd-signature-type">Dictionary</a><span class="tsd-signature-symbol">&lt;</span><a href="globals.html#actioncreator" class="tsd-signature-type">ActionCreator</a><span class="tsd-signature-symbol">&gt;</span>, subMiddlewares<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">Middleware</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">__type</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">S</span><span class="tsd-signature-symbol">, </span><a href="globals.html#upduxdispatch" class="tsd-signature-type">UpduxDispatch</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Middleware</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">__type</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">S</span><span class="tsd-signature-symbol">, </span><a href="globals.html#upduxdispatch" class="tsd-signature-type">UpduxDispatch</a><span class="tsd-signature-symbol">&gt;</span></li> <li class="tsd-signature tsd-kind-icon">build<wbr>Middleware&lt;S&gt;<span class="tsd-signature-symbol">(</span>effects<span class="tsd-signature-symbol">?: </span><a href="globals.html#dictionary" class="tsd-signature-type">Dictionary</a><span class="tsd-signature-symbol">&lt;</span><a href="globals.html#upduxmiddleware" class="tsd-signature-type">UpduxMiddleware</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">S</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span>, actions<span class="tsd-signature-symbol">?: </span><a href="globals.html#dictionary" class="tsd-signature-type">Dictionary</a><span class="tsd-signature-symbol">&lt;</span><a href="globals.html#actioncreator" class="tsd-signature-type">ActionCreator</a><span class="tsd-signature-symbol">&gt;</span>, subduxes<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="globals.html#upduxmiddleware" class="tsd-signature-type">UpduxMiddleware</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">S</span><span class="tsd-signature-symbol">&gt;</span></li>
</ul> </ul>
<ul class="tsd-descriptions"> <ul class="tsd-descriptions">
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in buildMiddleware/index.ts:14</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/buildMiddleware/index.ts#L22">buildMiddleware/index.ts:22</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-type-parameters-title">Type parameters</h4> <h4 class="tsd-type-parameters-title">Type parameters</h4>
@ -893,16 +974,16 @@ const rootUpdux = updux({
<h4 class="tsd-parameters-title">Parameters</h4> <h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters"> <ul class="tsd-parameters">
<li> <li>
<h5><span class="tsd-flag ts-flagDefault value">Default value</span> effects: <a href="globals.html#dictionary" class="tsd-signature-type">Dictionary</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">Middleware</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">__type</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">S</span><span class="tsd-signature-symbol">, </span><a href="globals.html#upduxdispatch" class="tsd-signature-type">UpduxDispatch</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> =&nbsp;{}</span></h5> <h5><span class="tsd-flag ts-flagDefault value">Default value</span> effects: <a href="globals.html#dictionary" class="tsd-signature-type">Dictionary</a><span class="tsd-signature-symbol">&lt;</span><a href="globals.html#upduxmiddleware" class="tsd-signature-type">UpduxMiddleware</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">S</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> =&nbsp;{}</span></h5>
</li> </li>
<li> <li>
<h5><span class="tsd-flag ts-flagDefault value">Default value</span> actions: <a href="globals.html#dictionary" class="tsd-signature-type">Dictionary</a><span class="tsd-signature-symbol">&lt;</span><a href="globals.html#actioncreator" class="tsd-signature-type">ActionCreator</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> =&nbsp;{}</span></h5> <h5><span class="tsd-flag ts-flagDefault value">Default value</span> actions: <a href="globals.html#dictionary" class="tsd-signature-type">Dictionary</a><span class="tsd-signature-symbol">&lt;</span><a href="globals.html#actioncreator" class="tsd-signature-type">ActionCreator</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> =&nbsp;{}</span></h5>
</li> </li>
<li> <li>
<h5><span class="tsd-flag ts-flagDefault value">Default value</span> subMiddlewares: <span class="tsd-signature-type">Middleware</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">__type</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">S</span><span class="tsd-signature-symbol">, </span><a href="globals.html#upduxdispatch" class="tsd-signature-type">UpduxDispatch</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> =&nbsp;[]</span></h5> <h5><span class="tsd-flag ts-flagDefault value">Default value</span> subduxes: <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> =&nbsp;{}</span></h5>
</li> </li>
</ul> </ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Middleware</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">__type</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">S</span><span class="tsd-signature-symbol">, </span><a href="globals.html#upduxdispatch" class="tsd-signature-type">UpduxDispatch</a><span class="tsd-signature-symbol">&gt;</span></h4> <h4 class="tsd-returns-title">Returns <a href="globals.html#upduxmiddleware" class="tsd-signature-type">UpduxMiddleware</a><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">S</span><span class="tsd-signature-symbol">&gt;</span></h4>
</li> </li>
</ul> </ul>
</section> </section>
@ -916,7 +997,7 @@ const rootUpdux = updux({
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in buildMutations/index.ts:14</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/buildMutations/index.ts#L14">buildMutations/index.ts:14</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-parameters-title">Parameters</h4> <h4 class="tsd-parameters-title">Parameters</h4>
@ -944,7 +1025,7 @@ const rootUpdux = updux({
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in buildUpreducer/index.ts:5</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/buildUpreducer/index.ts#L5">buildUpreducer/index.ts:5</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-type-parameters-title">Type parameters</h4> <h4 class="tsd-type-parameters-title">Type parameters</h4>
@ -976,7 +1057,7 @@ const rootUpdux = updux({
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in buildMutations/index.ts:5</li> <li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/buildMutations/index.ts#L5">buildMutations/index.ts:5</a></li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-parameters-title">Parameters</h4> <h4 class="tsd-parameters-title">Parameters</h4>
@ -1028,6 +1109,32 @@ const rootUpdux = updux({
</li> </li>
</ul> </ul>
</section> </section>
<section class="tsd-panel tsd-member tsd-kind-function tsd-is-not-exported">
<a name="slicemw" class="tsd-anchor"></a>
<h3>slice<wbr>Mw</h3>
<ul class="tsd-signatures tsd-kind-function tsd-is-not-exported">
<li class="tsd-signature tsd-kind-icon">slice<wbr>Mw<span class="tsd-signature-symbol">(</span>slice<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, mw<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Middleware</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Middleware</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/buildMiddleware/index.ts#L14">buildMiddleware/index.ts:14</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>slice: <span class="tsd-signature-type">string</span></h5>
</li>
<li>
<h5>mw: <span class="tsd-signature-type">Middleware</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Middleware</span></h4>
</li>
</ul>
</section>
</section> </section>
</div> </div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight"> <div class="col-4 col-menu menu-sticky-wrap menu-highlight">
@ -1043,6 +1150,9 @@ const rootUpdux = updux({
<li class=" tsd-kind-class tsd-has-type-parameter"> <li class=" tsd-kind-class tsd-has-type-parameter">
<a href="classes/updux.html" class="tsd-kind-icon">Updux</a> <a href="classes/updux.html" class="tsd-kind-icon">Updux</a>
</li> </li>
<li class=" tsd-kind-interface tsd-has-type-parameter">
<a href="interfaces/upduxmiddlewareapi.html" class="tsd-kind-icon">Updux<wbr>MiddlewareAPI</a>
</li>
<li class=" tsd-kind-type-alias tsd-has-type-parameter"> <li class=" tsd-kind-type-alias tsd-has-type-parameter">
<a href="globals.html#action" class="tsd-kind-icon">Action</a> <a href="globals.html#action" class="tsd-kind-icon">Action</a>
</li> </li>
@ -1082,6 +1192,9 @@ const rootUpdux = updux({
<li class=" tsd-kind-type-alias"> <li class=" tsd-kind-type-alias">
<a href="globals.html#upduxdispatch" class="tsd-kind-icon">Updux<wbr>Dispatch</a> <a href="globals.html#upduxdispatch" class="tsd-kind-icon">Updux<wbr>Dispatch</a>
</li> </li>
<li class=" tsd-kind-type-alias tsd-has-type-parameter">
<a href="globals.html#upduxmiddleware" class="tsd-kind-icon">Updux<wbr>Middleware</a>
</li>
<li class=" tsd-kind-type-alias tsd-has-type-parameter"> <li class=" tsd-kind-type-alias tsd-has-type-parameter">
<a href="globals.html#upreducer" class="tsd-kind-icon">Upreducer</a> <a href="globals.html#upreducer" class="tsd-kind-icon">Upreducer</a>
</li> </li>
@ -1115,6 +1228,9 @@ const rootUpdux = updux({
<li class=" tsd-kind-function tsd-is-not-exported"> <li class=" tsd-kind-function tsd-is-not-exported">
<a href="globals.html#composemutations" class="tsd-kind-icon">compose<wbr>Mutations</a> <a href="globals.html#composemutations" class="tsd-kind-icon">compose<wbr>Mutations</a>
</li> </li>
<li class=" tsd-kind-function tsd-is-not-exported">
<a href="globals.html#slicemw" class="tsd-kind-icon">slice<wbr>Mw</a>
</li>
</ul> </ul>
</nav> </nav>
</div> </div>

View File

@ -263,6 +263,9 @@ todos.addMutation(
<li class=" tsd-kind-class tsd-has-type-parameter"> <li class=" tsd-kind-class tsd-has-type-parameter">
<a href="classes/updux.html" class="tsd-kind-icon">Updux</a> <a href="classes/updux.html" class="tsd-kind-icon">Updux</a>
</li> </li>
<li class=" tsd-kind-interface tsd-has-type-parameter">
<a href="interfaces/upduxmiddlewareapi.html" class="tsd-kind-icon">Updux<wbr>MiddlewareAPI</a>
</li>
<li class=" tsd-kind-type-alias tsd-has-type-parameter"> <li class=" tsd-kind-type-alias tsd-has-type-parameter">
<a href="globals.html#action" class="tsd-kind-icon">Action</a> <a href="globals.html#action" class="tsd-kind-icon">Action</a>
</li> </li>
@ -302,6 +305,9 @@ todos.addMutation(
<li class=" tsd-kind-type-alias"> <li class=" tsd-kind-type-alias">
<a href="globals.html#upduxdispatch" class="tsd-kind-icon">Updux<wbr>Dispatch</a> <a href="globals.html#upduxdispatch" class="tsd-kind-icon">Updux<wbr>Dispatch</a>
</li> </li>
<li class=" tsd-kind-type-alias tsd-has-type-parameter">
<a href="globals.html#upduxmiddleware" class="tsd-kind-icon">Updux<wbr>Middleware</a>
</li>
<li class=" tsd-kind-type-alias tsd-has-type-parameter"> <li class=" tsd-kind-type-alias tsd-has-type-parameter">
<a href="globals.html#upreducer" class="tsd-kind-icon">Upreducer</a> <a href="globals.html#upreducer" class="tsd-kind-icon">Upreducer</a>
</li> </li>
@ -335,6 +341,9 @@ todos.addMutation(
<li class=" tsd-kind-function tsd-is-not-exported"> <li class=" tsd-kind-function tsd-is-not-exported">
<a href="globals.html#composemutations" class="tsd-kind-icon">compose<wbr>Mutations</a> <a href="globals.html#composemutations" class="tsd-kind-icon">compose<wbr>Mutations</a>
</li> </li>
<li class=" tsd-kind-function tsd-is-not-exported">
<a href="globals.html#slicemw" class="tsd-kind-icon">slice<wbr>Mw</a>
</li>
</ul> </ul>
</nav> </nav>
</div> </div>

View File

@ -0,0 +1,337 @@
<!doctype html>
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>UpduxMiddlewareAPI | updux</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.js" data-base="..">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="../index.html" class="title">updux</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
<input type="checkbox" id="tsd-filter-externals" checked />
<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
<input type="checkbox" id="tsd-filter-only-exported" />
<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../globals.html">Globals</a>
</li>
<li>
<a href="upduxmiddlewareapi.html">UpduxMiddlewareAPI</a>
</li>
</ul>
<h1>Interface UpduxMiddlewareAPI&lt;S&gt;</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-type-parameters">
<h3>Type parameters</h3>
<ul class="tsd-type-parameters">
<li>
<h4>S</h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-hierarchy">
<h3>Hierarchy</h3>
<ul class="tsd-hierarchy">
<li>
<span class="target">UpduxMiddlewareAPI</span>
</li>
</ul>
</section>
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section ">
<h3>Properties</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="upduxmiddlewareapi.html#dispatch" class="tsd-kind-icon">dispatch</a></li>
</ul>
</section>
<section class="tsd-index-section ">
<h3>Methods</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="upduxmiddlewareapi.html#getrootstate" class="tsd-kind-icon">get<wbr>Root<wbr>State</a></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><a href="upduxmiddlewareapi.html#getstate" class="tsd-kind-icon">get<wbr>State</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Properties</h2>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="dispatch" class="tsd-anchor"></a>
<h3>dispatch</h3>
<div class="tsd-signature tsd-kind-icon">dispatch<span class="tsd-signature-symbol">:</span> <a href="../globals.html#upduxdispatch" class="tsd-signature-type">UpduxDispatch</a></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/types.ts#L187">types.ts:187</a></li>
</ul>
</aside>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Methods</h2>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
<a name="getrootstate" class="tsd-anchor"></a>
<h3>get<wbr>Root<wbr>State</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
<li class="tsd-signature tsd-kind-icon">get<wbr>Root<wbr>State<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">S</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/types.ts#L189">types.ts:189</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">S</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-interface">
<a name="getstate" class="tsd-anchor"></a>
<h3>get<wbr>State</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-interface">
<li class="tsd-signature tsd-kind-icon">get<wbr>State<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/yanick/updux/blob/8d4542f/src/types.ts#L188">types.ts:188</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">any</span></h4>
</li>
</ul>
</section>
</section>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class="globals ">
<a href="../globals.html"><em>Globals</em></a>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
<li class=" tsd-kind-class tsd-has-type-parameter">
<a href="../classes/updux.html" class="tsd-kind-icon">Updux</a>
</li>
</ul>
<ul class="current">
<li class="current tsd-kind-interface tsd-has-type-parameter">
<a href="upduxmiddlewareapi.html" class="tsd-kind-icon">Updux<wbr>MiddlewareAPI</a>
<ul>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="upduxmiddlewareapi.html#dispatch" class="tsd-kind-icon">dispatch</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-interface">
<a href="upduxmiddlewareapi.html#getrootstate" class="tsd-kind-icon">get<wbr>Root<wbr>State</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-interface">
<a href="upduxmiddlewareapi.html#getstate" class="tsd-kind-icon">get<wbr>State</a>
</li>
</ul>
</li>
</ul>
<ul class="after-current">
<li class=" tsd-kind-type-alias tsd-has-type-parameter">
<a href="../globals.html#action" class="tsd-kind-icon">Action</a>
</li>
<li class=" tsd-kind-type-alias tsd-has-type-parameter">
<a href="../globals.html#actioncreator" class="tsd-kind-icon">Action<wbr>Creator</a>
</li>
<li class=" tsd-kind-type-alias tsd-is-not-exported">
<a href="../globals.html#actionpair" class="tsd-kind-icon">Action<wbr>Pair</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../globals.html#actionpayloadgenerator" class="tsd-kind-icon">Action<wbr>Payload<wbr>Generator</a>
</li>
<li class=" tsd-kind-type-alias tsd-has-type-parameter">
<a href="../globals.html#dictionary" class="tsd-kind-icon">Dictionary</a>
</li>
<li class=" tsd-kind-type-alias tsd-has-type-parameter">
<a href="../globals.html#dux" class="tsd-kind-icon">Dux</a>
</li>
<li class=" tsd-kind-type-alias tsd-has-type-parameter tsd-is-not-exported">
<a href="../globals.html#maybepayload" class="tsd-kind-icon">Maybe<wbr>Payload</a>
</li>
<li class=" tsd-kind-type-alias tsd-has-type-parameter">
<a href="../globals.html#mutation" class="tsd-kind-icon">Mutation</a>
</li>
<li class=" tsd-kind-type-alias tsd-is-not-exported">
<a href="../globals.html#next" class="tsd-kind-icon">Next</a>
</li>
<li class=" tsd-kind-type-alias tsd-has-type-parameter tsd-is-not-exported">
<a href="../globals.html#storewithdispatchactions" class="tsd-kind-icon">Store<wbr>With<wbr>Dispatch<wbr>Actions</a>
</li>
<li class=" tsd-kind-type-alias tsd-is-not-exported">
<a href="../globals.html#submutations" class="tsd-kind-icon">Sub<wbr>Mutations</a>
</li>
<li class=" tsd-kind-type-alias tsd-has-type-parameter">
<a href="../globals.html#upduxconfig" class="tsd-kind-icon">Updux<wbr>Config</a>
</li>
<li class=" tsd-kind-type-alias">
<a href="../globals.html#upduxdispatch" class="tsd-kind-icon">Updux<wbr>Dispatch</a>
</li>
<li class=" tsd-kind-type-alias tsd-has-type-parameter">
<a href="../globals.html#upduxmiddleware" class="tsd-kind-icon">Updux<wbr>Middleware</a>
</li>
<li class=" tsd-kind-type-alias tsd-has-type-parameter">
<a href="../globals.html#upreducer" class="tsd-kind-icon">Upreducer</a>
</li>
<li class=" tsd-kind-function tsd-is-not-exported">
<a href="../globals.html#middlewarefor" class="tsd-kind-icon">Middleware<wbr>For</a>
</li>
<li class=" tsd-kind-function tsd-has-type-parameter">
<a href="../globals.html#actioncreator" class="tsd-kind-icon">action<wbr>Creator</a>
</li>
<li class=" tsd-kind-function tsd-is-not-exported">
<a href="../globals.html#actionfor" class="tsd-kind-icon">action<wbr>For</a>
</li>
<li class=" tsd-kind-function">
<a href="../globals.html#buildactions" class="tsd-kind-icon">build<wbr>Actions</a>
</li>
<li class=" tsd-kind-function tsd-has-type-parameter">
<a href="../globals.html#buildcreatestore" class="tsd-kind-icon">build<wbr>Create<wbr>Store</a>
</li>
<li class=" tsd-kind-function tsd-has-type-parameter">
<a href="../globals.html#buildinitial" class="tsd-kind-icon">build<wbr>Initial</a>
</li>
<li class=" tsd-kind-function tsd-has-type-parameter">
<a href="../globals.html#buildmiddleware" class="tsd-kind-icon">build<wbr>Middleware</a>
</li>
<li class=" tsd-kind-function">
<a href="../globals.html#buildmutations" class="tsd-kind-icon">build<wbr>Mutations</a>
</li>
<li class=" tsd-kind-function tsd-has-type-parameter">
<a href="../globals.html#buildupreducer" class="tsd-kind-icon">build<wbr>Upreducer</a>
</li>
<li class=" tsd-kind-function tsd-is-not-exported">
<a href="../globals.html#composemutations" class="tsd-kind-icon">compose<wbr>Mutations</a>
</li>
<li class=" tsd-kind-function tsd-is-not-exported">
<a href="../globals.html#slicemw" class="tsd-kind-icon">slice<wbr>Mw</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<footer class="with-border-bottom">
<div class="container">
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-module"><span class="tsd-kind-icon">Module</span></li>
<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
<li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li>
<li class="tsd-kind-index-signature"><span class="tsd-kind-icon">Index signature</span></li>
<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
<li class="tsd-kind-type-alias tsd-has-type-parameter"><span class="tsd-kind-icon">Type alias with type parameter</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-enum"><span class="tsd-kind-icon">Enumeration</span></li>
<li class="tsd-kind-enum-member"><span class="tsd-kind-icon">Enumeration member</span></li>
<li class="tsd-kind-property tsd-parent-kind-enum"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-enum"><span class="tsd-kind-icon">Method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
<li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-interface"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-interface"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li>
<li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class"><span class="tsd-kind-icon">Accessor</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-class"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static property</span></li>
<li class="tsd-kind-call-signature tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
</ul>
</div>
</div>
</footer>
<div class="container tsd-generator">
<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
</div>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
<script>if (location.protocol == 'file:') document.write('<script src="../assets/js/search.js"><' + '/script>');</script>
</body>
</html>