From cda2bdf90f37b9715020c53142101bfb15b1b4ba Mon Sep 17 00:00:00 2001 From: Patrick Borowy Date: Mon, 5 Aug 2019 11:28:10 +0200 Subject: [PATCH 1/2] naive modification to get params in subscribers --- package.json | 2 +- src/index.js | 15 +++++++++------ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 4345921..df52f42 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "bundlesize": [ { "path": "full/preact.js", - "maxSize": "760b" + "maxSize": "783b" }, { "path": "dist/unistore.js", diff --git a/src/index.js b/src/index.js index 4df2006..93e2138 100644 --- a/src/index.js +++ b/src/index.js @@ -28,10 +28,10 @@ export default function createStore(state) { listeners = out; } - function setState(update, overwrite, action) { + function setState(update, overwrite, action, params) { state = overwrite ? update : assign(assign({}, state), update); let currentListeners = listeners; - for (let i=0; i Date: Tue, 6 Aug 2019 03:14:17 +0200 Subject: [PATCH 2/2] test "correction" --- package.json | 2 +- src/index.js | 2 +- test/unistore.test.js | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index df52f42..f8e1537 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "bundlesize": [ { "path": "full/preact.js", - "maxSize": "783b" + "maxSize": "785b" }, { "path": "dist/unistore.js", diff --git a/src/index.js b/src/index.js index 93e2138..6409290 100644 --- a/src/index.js +++ b/src/index.js @@ -50,7 +50,7 @@ export default function createStore(state) { */ action(action) { function apply(result, args) { - if (args.length === 2) + if (args && args.length === 2) setState(result, false, action, args[1]); else setState(result, false, action); diff --git a/test/unistore.test.js b/test/unistore.test.js index 7bc3a40..17882ca 100644 --- a/test/unistore.test.js +++ b/test/unistore.test.js @@ -37,14 +37,14 @@ describe('createStore()', () => { expect(rval).toBeInstanceOf(Function); store.setState({ a: 'b' }); - expect(sub1).toBeCalledWith(store.getState(), action); + expect(sub1).toBeCalledWith(store.getState(), action, { a: 'b' }, undefined); store.subscribe(sub2); store.setState({ c: 'd' }); expect(sub1).toHaveBeenCalledTimes(2); - expect(sub1).toHaveBeenLastCalledWith(store.getState(), action); - expect(sub2).toBeCalledWith(store.getState(), action); + expect(sub1).toHaveBeenLastCalledWith(store.getState(), action, { c: 'd' }, undefined); + expect(sub2).toBeCalledWith(store.getState(), action, { c: 'd' }, undefined); }); it('should unsubscribe', () => {