Skip to content

Commit f456548

Browse files
committed
Bumped version to v6 of nact
1 parent 918ae5e commit f456548

File tree

5 files changed

+27
-110
lines changed

5 files changed

+27
-110
lines changed

lib/index.js

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,20 @@
11
const { AbstractPersistenceEngine, PersistedEvent, PersistedSnapshot } = require('nact/lib/persistence');
2-
require('rxjs');
32
const pgp = require('pg-promise')();
4-
const Rx = require('rxjs');
53
const { create } = require('./schema');
64
const assert = require('assert');
75

6+
class Result {
7+
constructor (promise) {
8+
this.promise = promise;
9+
}
10+
then (...args) {
11+
return this.promise.then(...args);
12+
}
13+
reduce (...args) {
14+
return this.promise.then(result => result.reduce(...args));
15+
}
16+
}
17+
818
class PostgresPersistenceEngine extends AbstractPersistenceEngine {
919
constructor (connectionString, { createIfNotExists = true, tablePrefix = '', ...settings } = {}) {
1020
super();
@@ -52,16 +62,8 @@ class PostgresPersistenceEngine extends AbstractPersistenceEngine {
5262
`;
5363

5464
const args = [persistenceKey, offset, limit, tags].filter(x => x !== undefined);
55-
56-
return Rx.Observable
57-
.of([1])
58-
// Perform query
59-
.mergeMap((_) => this.db.any(query, args))
60-
// Retry the query if it fails
61-
.retry(5)
62-
// Flatten array so that it is returned as a stream of events
63-
.mergeMap(x => x)
64-
.map(PostgresPersistenceEngine.mapDbModelToDomainModel);
65+
const result = this.db.any(query, args).then(results => results.map(PostgresPersistenceEngine.mapDbModelToDomainModel));
66+
return new Result(result);
6567
}
6668

6769
persist (persistedEvent) {

package.json

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "nact-persistence-postgres",
3-
"version": "4.3.1",
3+
"version": "6.0.0",
44
"description": "nact-persistence-postgres ⇒ nact + postresql = your services have never been so persistent",
55
"main": "lib/index.js",
66
"scripts": {
@@ -32,21 +32,20 @@
3232
"url": "http://github.com/ncthbrt/nact-persistence-postgres/issues"
3333
},
3434
"dependencies": {
35-
"pg-promise": "^7.3.2",
36-
"rxjs": "^5.4.3"
35+
"pg-promise": "^7.3.2"
3736
},
38-
"devDependencies": {
37+
"devDependencies": {
3938
"chai": "^4.1.1",
4039
"chai-as-promised": "^7.1.1",
4140
"coveralls": "^3.0.0",
4241
"eslint": "^4.8.0",
4342
"husky": "^0.14.3",
4443
"mocha": "^4.0.0",
45-
"nact": "^4.3.0",
44+
"nact": "^6.0.0",
4645
"nyc": "^11.2.1",
4746
"semistandard": "^11.0.0"
4847
},
4948
"peerDependencies": {
50-
"nact": "^4.3.0"
49+
"nact": "^6.0.0"
5150
}
52-
}
51+
}

package.json.orig

Lines changed: 0 additions & 53 deletions
This file was deleted.

test/postgres-persistence.js

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ describe('PostgresPersistenceEngine', function () {
5454
const engine = new PostgresPersistenceEngine(connectionString);
5555
await retry(async () => {
5656
const event1 = new PersistedEvent({ message: 'hello' }, 1, 'test', ['a', 'b', 'c']);
57-
const event2 = new PersistedEvent([ 'message', 'goodbye' ], 2, 'test');
57+
const event2 = new PersistedEvent(['message', 'goodbye'], 2, 'test');
5858
const event3 = new PersistedEvent({ message: 'hello' }, 1, 'test2');
5959
await engine.persist(event1);
6060
await engine.persist(event2);
@@ -145,32 +145,17 @@ describe('PostgresPersistenceEngine', function () {
145145
});
146146

147147
it('should be able to retrieve previously persisted events', async function () {
148-
const result = await new Promise((resolve, reject) => {
149-
engine.events('test3')
150-
.reduce((prev, evt) => [...prev, evt], [])
151-
.catch(e => { reject(e); return e; })
152-
.subscribe(resolve);
153-
});
148+
const result = await engine.events('test3').reduce((prev, evt) => [...prev, evt], []);
154149
result.should.deep.equal([event1, event2, event3]);
155150
});
156151

157152
it('should be able to specify an offset of previously persisted events', async function () {
158-
const result = await new Promise((resolve, reject) => {
159-
engine.events('test3', 1)
160-
.reduce((prev, evt) => [...prev, evt], [])
161-
.catch(e => { reject(e); return e; })
162-
.subscribe(resolve);
163-
});
153+
const result = await engine.events('test3', 1).reduce((prev, evt) => [...prev, evt], []);
164154
result.should.deep.equal([event2, event3]);
165155
});
166156

167157
it('should be able to filter by tag', async function () {
168-
const result = await new Promise((resolve, reject) => {
169-
engine.events('test3', undefined, undefined, ['b', 'c'])
170-
.reduce((prev, evt) => [...prev, evt], [])
171-
.catch(e => { reject(e); return e; })
172-
.subscribe(resolve);
173-
});
158+
const result = await engine.events('test3', undefined, undefined, ['b', 'c']);
174159
result.should.deep.equal([event1, event3]);
175160
});
176161
});

yarn.lock

Lines changed: 3 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -526,10 +526,6 @@ deep-eql@^3.0.0:
526526
dependencies:
527527
type-detect "^4.0.0"
528528

529-
deep-freeze-node@^1.1.3:
530-
version "1.1.3"
531-
resolved "https://registry.yarnpkg.com/deep-freeze-node/-/deep-freeze-node-1.1.3.tgz#ce9c14b3210e6f5607a578254f4b53fe01dd9467"
532-
533529
deep-is@~0.1.3:
534530
version "0.1.3"
535531
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
@@ -1785,13 +1781,11 @@ [email protected]:
17851781
version "0.0.7"
17861782
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
17871783

1788-
nact@^4.3.0:
1789-
version "4.3.0"
1790-
resolved "https://registry.yarnpkg.com/nact/-/nact-4.3.0.tgz#e2856ad316d95d1cc33fcb6a19ab07e60568f0a4"
1784+
nact@^6.0.0:
1785+
version "6.0.0"
1786+
resolved "https://registry.yarnpkg.com/nact/-/nact-6.0.0.tgz#e71f8da8fc11bef87fcd37a47d4ad1f5d34add83"
17911787
dependencies:
1792-
deep-freeze-node "^1.1.3"
17931788
denque "^1.2.2"
1794-
rxjs "^5.4.3"
17951789

17961790
natural-compare@^1.4.0:
17971791
version "1.4.0"
@@ -2346,12 +2340,6 @@ rx-lite@^3.1.2:
23462340
version "3.1.2"
23472341
resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102"
23482342

2349-
rxjs@^5.4.3:
2350-
version "5.5.3"
2351-
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.5.3.tgz#b62227e74b84f4e77bdf440e50b5ee01a1bc7dcd"
2352-
dependencies:
2353-
symbol-observable "^1.0.1"
2354-
23552343
safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
23562344
version "5.1.1"
23572345
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"
@@ -2582,10 +2570,6 @@ supports-color@^4.0.0:
25822570
dependencies:
25832571
has-flag "^2.0.0"
25842572

2585-
symbol-observable@^1.0.1:
2586-
version "1.1.0"
2587-
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.1.0.tgz#5c68fd8d54115d9dfb72a84720549222e8db9b32"
2588-
25892573
table@^3.7.8:
25902574
version "3.8.3"
25912575
resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f"

0 commit comments

Comments
 (0)