@dxos/feed-store 2.12.20 → 2.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18,13 +18,12 @@ void (async () => {
18
18
  }
19
19
  };
20
20
  const fs = new feed_store_1.FeedStore(random_access_multi_storage_1.createStorage('.benchmark'), { valueEncoding: 'utf8' });
21
- await fs.open();
22
21
  const suite = new benchmark_suite_1.Suite(fs, { maxFeeds, maxMessages });
23
22
  suite.beforeAll(() => {
24
23
  return Promise.all(range(maxFeeds).map(async (i) => {
25
24
  const name = `feed/${i}`;
26
25
  const { publicKey, secretKey } = crypto_1.createKeyPair();
27
- const feed = await fs.createReadWriteFeed({ key: crypto_1.PublicKey.from(publicKey), secretKey });
26
+ const { feed } = await fs.openReadWriteFeed(crypto_1.PublicKey.from(publicKey), secretKey);
28
27
  for (let i = 0; i < maxMessages; i++) {
29
28
  await new Promise((resolve, reject) => {
30
29
  feed.append(`${name}/${i}`, (err) => {
@@ -40,7 +39,7 @@ void (async () => {
40
39
  });
41
40
  suite.test('getBatch', async () => {
42
41
  let count = 0;
43
- await Promise.all(fs.getOpenFeeds().map(feed => {
42
+ await Promise.all(Array.from(fs._descriptors.values()).map(({ feed }) => {
44
43
  return new Promise((resolve, reject) => {
45
44
  feed.getBatch(0, maxMessages, (err, result) => {
46
45
  count += result.length;
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../../src/benchmark.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../../src/benchmark.ts"],"names":[],"mappings":"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"}
@@ -14,9 +14,8 @@ const create_batch_stream_1 = require("./create-batch-stream");
14
14
  const feed_store_1 = require("./feed-store");
15
15
  const createFeed = async () => {
16
16
  const feedStore = new feed_store_1.FeedStore(random_access_multi_storage_1.createStorage('', random_access_multi_storage_1.STORAGE_RAM), { valueEncoding: 'utf-8' });
17
- await feedStore.open();
18
17
  const { publicKey, secretKey } = crypto_1.createKeyPair();
19
- const feed = await feedStore.createReadWriteFeed({ key: crypto_1.PublicKey.from(publicKey), secretKey: secretKey });
18
+ const { feed } = await feedStore.openReadWriteFeed(crypto_1.PublicKey.from(publicKey), secretKey);
20
19
  return feed;
21
20
  };
22
21
  const append = (feed, message) => {
@@ -1 +1 @@
1
- {"version":3,"file":"create-batch-stream.test.js","sourceRoot":"","sources":["../../src/create-batch-stream.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-batch-stream.test.js","sourceRoot":"","sources":["../../src/create-batch-stream.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  /// <reference types="node" />
2
- import { Lock } from '@dxos/async';
3
2
  import { PublicKey } from '@dxos/crypto';
4
3
  import type { IStorage } from '@dxos/random-access-multi-storage';
5
4
  import type { HypercoreFeed, Hypercore } from './hypercore-types';
@@ -7,37 +6,30 @@ import type { ValueEncoding } from './types';
7
6
  interface FeedDescriptorOptions {
8
7
  storage: IStorage;
9
8
  key: PublicKey;
9
+ hypercore: Hypercore;
10
10
  secretKey?: Buffer;
11
11
  valueEncoding?: ValueEncoding;
12
- metadata?: any;
13
- hypercore?: Hypercore;
14
12
  }
15
- declare type Listener = ((...args: any) => Promise<void> | void) | null;
16
13
  /**
17
14
  * FeedDescriptor
18
15
  *
19
16
  * Abstract handler for an Hypercore instance.
20
17
  */
21
18
  export declare class FeedDescriptor {
22
- private _storage;
23
- private _key;
24
- private _secretKey?;
25
- private _valueEncoding?;
26
- private _hypercore;
27
- private _metadata;
28
- private _discoveryKey;
29
- readonly lock: Lock;
19
+ private readonly _storage;
20
+ private readonly _key;
21
+ private readonly _secretKey?;
22
+ private readonly _valueEncoding?;
23
+ private readonly _hypercore;
24
+ private readonly _lock;
30
25
  private _feed;
31
- private _listeners;
32
26
  constructor(options: FeedDescriptorOptions);
33
- get feed(): HypercoreFeed | null;
27
+ get feed(): HypercoreFeed;
34
28
  get opened(): boolean;
35
29
  get key(): PublicKey;
36
30
  get secretKey(): Buffer | undefined;
37
- get discoveryKey(): Buffer;
38
31
  get valueEncoding(): ValueEncoding | undefined;
39
- get metadata(): any;
40
- setMetadata(metadata: any): Promise<void>;
32
+ get writable(): boolean;
41
33
  /**
42
34
  * Open an Hypercore feed based on the related feed options.
43
35
  *
@@ -49,22 +41,12 @@ export declare class FeedDescriptor {
49
41
  * Close the Hypercore referenced by the descriptor.
50
42
  */
51
43
  close(): Promise<void>;
52
- /**
53
- * Watch for descriptor events.
54
- *
55
- * @param {function} listener
56
- */
57
- watch(listener: Listener): void;
58
44
  /**
59
45
  * Defines the real path where the Hypercore is going
60
46
  * to work with the RandomAccessStorage specified.
61
47
  */
62
48
  private _createStorage;
63
49
  private _open;
64
- /**
65
- * Asynchronous emitter.
66
- */
67
- private _emit;
68
50
  }
69
51
  export default FeedDescriptor;
70
52
  //# sourceMappingURL=feed-descriptor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feed-descriptor.d.ts","sourceRoot":"","sources":["../../src/feed-descriptor.ts"],"names":[],"mappings":";AAQA,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,SAAS,EAAgB,MAAM,cAAc,CAAC;AACvD,OAAO,KAAK,EAAS,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,UAAU,qBAAqB;IAC7B,OAAO,EAAE,QAAQ,CAAC;IAClB,GAAG,EAAE,SAAS,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AAED,aAAK,QAAQ,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;AAEhE;;;;GAIG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,IAAI,CAAY;IACxB,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,cAAc,CAAC,CAAgB;IACvC,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,aAAa,CAAS;IAC9B,SAAgB,IAAI,EAAE,IAAI,CAAC;IAC3B,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,UAAU,CAAkB;gBAEvB,OAAO,EAAE,qBAAqB;IAwB3C,IAAI,IAAI,IAAK,aAAa,GAAG,IAAI,CAEhC;IAED,IAAI,MAAM,YAET;IAED,IAAI,GAAG,cAEN;IAED,IAAI,SAAS,uBAEZ;IAED,IAAI,YAAY,WAEf;IAED,IAAI,aAAa,8BAEhB;IAED,IAAI,QAAQ,QAEX;IAEK,WAAW,CAAE,QAAQ,EAAE,GAAG;IAKhC;;;;;OAKG;IACG,IAAI,IAAK,OAAO,CAAC,aAAa,CAAC;IAcrC;;OAEG;IACG,KAAK;IAWX;;;;OAIG;IACH,KAAK,CAAE,QAAQ,EAAE,QAAQ;IAIzB;;;OAGG;IACH,OAAO,CAAC,cAAc;YAMR,KAAK;IAanB;;OAEG;YACW,KAAK;CAKpB;AAED,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"feed-descriptor.d.ts","sourceRoot":"","sources":["../../src/feed-descriptor.ts"],"names":[],"mappings":";AASA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAS,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,UAAU,qBAAqB;IAC7B,OAAO,EAAE,QAAQ,CAAC;IAClB,GAAG,EAAE,SAAS,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,aAAa,CAAA;CAC9B;AAED;;;;GAIG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAY;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAgB;IAChD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAO;IAE7B,OAAO,CAAC,KAAK,CAAuB;gBAEvB,OAAO,EAAE,qBAAqB;IAoB3C,IAAI,IAAI,IAAK,aAAa,CAGzB;IAED,IAAI,MAAM,YAET;IAED,IAAI,GAAG,cAEN;IAED,IAAI,SAAS,uBAEZ;IAED,IAAI,aAAa,8BAEhB;IAED,IAAI,QAAQ,YAEX;IAED;;;;;OAKG;IACG,IAAI,IAAK,OAAO,CAAC,aAAa,CAAC;IAWrC;;OAEG;IACG,KAAK;IAUX;;;OAGG;IACH,OAAO,CAAC,cAAc;YAMR,KAAK;CAYpB;AAED,eAAe,cAAc,CAAC"}
@@ -11,7 +11,6 @@ const assert_1 = __importDefault(require("assert"));
11
11
  const hypercore_1 = __importDefault(require("hypercore"));
12
12
  const pify_1 = __importDefault(require("pify"));
13
13
  const async_1 = require("@dxos/async");
14
- const crypto_1 = require("@dxos/crypto");
15
14
  /**
16
15
  * FeedDescriptor
17
16
  *
@@ -19,19 +18,17 @@ const crypto_1 = require("@dxos/crypto");
19
18
  */
20
19
  class FeedDescriptor {
21
20
  constructor(options) {
22
- this._listeners = [];
23
- const { storage, key, secretKey, valueEncoding, hypercore = hypercore_1.default, metadata } = options;
21
+ const { storage, key, secretKey, valueEncoding, hypercore = hypercore_1.default } = options;
24
22
  this._storage = storage;
25
23
  this._valueEncoding = valueEncoding;
26
24
  this._hypercore = hypercore;
27
- this._metadata = metadata;
28
25
  this._key = key;
29
26
  this._secretKey = secretKey;
30
- this._discoveryKey = crypto_1.discoveryKey(this._key);
31
- this.lock = new async_1.Lock();
27
+ this._lock = new async_1.Lock();
32
28
  this._feed = null;
33
29
  }
34
30
  get feed() {
31
+ assert_1.default(this._feed, 'Feed is not initialized');
35
32
  return this._feed;
36
33
  }
37
34
  get opened() {
@@ -43,18 +40,11 @@ class FeedDescriptor {
43
40
  get secretKey() {
44
41
  return this._secretKey;
45
42
  }
46
- get discoveryKey() {
47
- return this._discoveryKey;
48
- }
49
43
  get valueEncoding() {
50
44
  return this._valueEncoding;
51
45
  }
52
- get metadata() {
53
- return this._metadata;
54
- }
55
- async setMetadata(metadata) {
56
- this._metadata = metadata;
57
- await this._emit('updated');
46
+ get writable() {
47
+ return !!this.secretKey;
58
48
  }
59
49
  /**
60
50
  * Open an Hypercore feed based on the related feed options.
@@ -64,15 +54,12 @@ class FeedDescriptor {
64
54
  */
65
55
  async open() {
66
56
  if (this.opened) {
67
- assert_1.default(this._feed, 'Feed is not initialized');
68
- return this._feed;
57
+ return this.feed;
69
58
  }
70
- await this.lock.executeSynchronized(async () => {
59
+ await this._lock.executeSynchronized(async () => {
71
60
  await this._open();
72
- await this._emit('opened');
73
61
  });
74
- assert_1.default(this._feed, 'Feed is not initialized');
75
- return this._feed;
62
+ return this.feed;
76
63
  }
77
64
  /**
78
65
  * Close the Hypercore referenced by the descriptor.
@@ -81,20 +68,11 @@ class FeedDescriptor {
81
68
  if (!this.opened) {
82
69
  return;
83
70
  }
84
- await this.lock.executeSynchronized(async () => {
71
+ await this._lock.executeSynchronized(async () => {
85
72
  var _a;
86
73
  await pify_1.default((_a = this._feed) === null || _a === void 0 ? void 0 : _a.close.bind(this._feed))();
87
- await this._emit('closed');
88
74
  });
89
75
  }
90
- /**
91
- * Watch for descriptor events.
92
- *
93
- * @param {function} listener
94
- */
95
- watch(listener) {
96
- this._listeners.push(listener);
97
- }
98
76
  /**
99
77
  * Defines the real path where the Hypercore is going
100
78
  * to work with the RandomAccessStorage specified.
@@ -111,14 +89,6 @@ class FeedDescriptor {
111
89
  });
112
90
  await pify_1.default(this._feed.ready.bind(this._feed))();
113
91
  }
114
- /**
115
- * Asynchronous emitter.
116
- */
117
- async _emit(event, ...args) {
118
- for (const listener of this._listeners) {
119
- await (listener === null || listener === void 0 ? void 0 : listener(event, ...args));
120
- }
121
- }
122
92
  }
123
93
  exports.FeedDescriptor = FeedDescriptor;
124
94
  exports.default = FeedDescriptor;
@@ -1 +1 @@
1
- {"version":3,"file":"feed-descriptor.js","sourceRoot":"","sources":["../../src/feed-descriptor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feed-descriptor.js","sourceRoot":"","sources":["../../src/feed-descriptor.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,oDAA4B;AAC5B,0DAAyC;AACzC,gDAAwB;AAExB,uCAAmC;AAenC;;;;GAIG;AACH,MAAa,cAAc;IAUzB,YAAa,OAA8B;QACzC,MAAM,EACJ,OAAO,EACP,GAAG,EACH,SAAS,EACT,aAAa,EACb,SAAS,GAAG,mBAAgB,EAC7B,GAAG,OAAO,CAAC;QAEZ,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAE5B,IAAI,CAAC,KAAK,GAAG,IAAI,YAAI,EAAE,CAAC;QAExB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,IAAI,IAAI;QACN,gBAAM,CAAC,IAAI,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,OAAO,IAAI,CAAC,IAAI,CAAC;SAClB;QAED,MAAM,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,KAAK,IAAI,EAAE;YAC9C,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,OAAO;SACR;QAED,MAAM,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,KAAK,IAAI,EAAE;;YAC9C,MAAM,cAAI,CAAC,MAAA,IAAI,CAAC,KAAK,0CAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,cAAc,CAAE,GAAG,GAAG,EAAE;QAC9B,OAAO,CAAC,IAAI,EAAE,EAAE;YACd,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,KAAK;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAC1B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EACzC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EACpB;YACE,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,aAAa,EAAE,IAAI,CAAC,cAAc;SACnC,CACF,CAAC;QAEF,MAAM,cAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;IAClD,CAAC;CACF;AA3GD,wCA2GC;AAED,kBAAe,cAAc,CAAC"}
@@ -8,22 +8,27 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  /* eslint-disable jest/no-done-callback */
10
10
  const assert_1 = __importDefault(require("assert"));
11
+ const hypercore_1 = __importDefault(require("hypercore"));
11
12
  const pify_1 = __importDefault(require("pify"));
12
13
  const tempy_1 = __importDefault(require("tempy"));
13
- const wait_for_expect_1 = __importDefault(require("wait-for-expect"));
14
14
  const crypto_1 = require("@dxos/crypto");
15
15
  const random_access_multi_storage_1 = require("@dxos/random-access-multi-storage");
16
16
  const feed_descriptor_1 = __importDefault(require("./feed-descriptor"));
17
- // Caution: the tests depend on each other in sequence.
18
17
  describe('FeedDescriptor', () => {
19
18
  let fd;
20
- test('Create', () => {
19
+ beforeEach(async () => {
21
20
  const { publicKey, secretKey } = crypto_1.createKeyPair();
22
- const fd = new feed_descriptor_1.default({
23
- storage: random_access_multi_storage_1.createStorage('', random_access_multi_storage_1.STORAGE_NODE),
21
+ fd = new feed_descriptor_1.default({
22
+ storage: random_access_multi_storage_1.createStorage('', random_access_multi_storage_1.STORAGE_RAM),
24
23
  key: crypto_1.PublicKey.from(publicKey),
25
- secretKey
24
+ secretKey,
25
+ hypercore: hypercore_1.default
26
26
  });
27
+ });
28
+ afterEach(async () => {
29
+ await fd.close();
30
+ });
31
+ test('Create', () => {
27
32
  expect(fd).toBeInstanceOf(feed_descriptor_1.default);
28
33
  expect(fd.key).toBeDefined();
29
34
  expect(fd.secretKey).toBeDefined();
@@ -32,30 +37,25 @@ describe('FeedDescriptor', () => {
32
37
  // When this behaviour was changed, suddenly `protocol-plugin-replicator` tests started hanging forever on network generation.
33
38
  const { publicKey } = crypto_1.createKeyPair();
34
39
  const key = crypto_1.PublicKey.from(publicKey);
35
- const fd = new feed_descriptor_1.default({ key, storage: random_access_multi_storage_1.createStorage('', random_access_multi_storage_1.STORAGE_NODE) });
40
+ const fd = new feed_descriptor_1.default({ key, storage: random_access_multi_storage_1.createStorage('', random_access_multi_storage_1.STORAGE_NODE), hypercore: hypercore_1.default });
36
41
  expect(fd.key).toEqual(key);
37
42
  expect(fd.secretKey).toBeUndefined();
38
43
  });
39
44
  test('Create custom options', () => {
40
45
  const { publicKey, secretKey } = crypto_1.createKeyPair();
41
- const metadata = {
42
- subject: 'books'
43
- };
44
- fd = new feed_descriptor_1.default({
46
+ const fd = new feed_descriptor_1.default({
45
47
  storage: random_access_multi_storage_1.createStorage('', random_access_multi_storage_1.STORAGE_RAM),
46
48
  key: crypto_1.PublicKey.from(publicKey),
47
49
  secretKey,
48
50
  valueEncoding: 'json',
49
- metadata
51
+ hypercore: hypercore_1.default
50
52
  });
51
53
  expect(fd).toBeInstanceOf(feed_descriptor_1.default);
52
54
  expect(fd.key).toBeInstanceOf(crypto_1.PublicKey);
53
55
  expect(fd.secretKey).toBeInstanceOf(Buffer);
54
- expect(fd.metadata).toEqual(metadata);
55
56
  expect(fd.valueEncoding).toBe('json');
56
57
  });
57
58
  test('Open', async () => {
58
- expect(fd.feed).toBeNull();
59
59
  expect(fd.opened).toBe(false);
60
60
  // Opening multiple times should actually open once.
61
61
  const [feed1, feed2] = await Promise.all([fd.open(), fd.open()]);
@@ -66,6 +66,7 @@ describe('FeedDescriptor', () => {
66
66
  expect(fd.opened).toBe(true);
67
67
  });
68
68
  test('Close', async () => {
69
+ await fd.open();
69
70
  // Closing multiple times should actually close once.
70
71
  await Promise.all([fd.close(), fd.close()]);
71
72
  expect(fd.opened).toBe(false);
@@ -78,7 +79,8 @@ describe('FeedDescriptor', () => {
78
79
  const fd2 = new feed_descriptor_1.default({
79
80
  storage: random_access_multi_storage_1.createStorage('', random_access_multi_storage_1.STORAGE_RAM),
80
81
  key: crypto_1.PublicKey.from(publicKey),
81
- secretKey
82
+ secretKey,
83
+ hypercore: hypercore_1.default
82
84
  });
83
85
  await fd2.open();
84
86
  await expect(fd2.close()).resolves.toBeUndefined();
@@ -91,7 +93,8 @@ describe('FeedDescriptor', () => {
91
93
  storage: random_access_multi_storage_1.createStorage(root, random_access_multi_storage_1.STORAGE_NODE),
92
94
  key: crypto_1.PublicKey.from(publicKey),
93
95
  secretKey,
94
- valueEncoding: 'utf-8'
96
+ valueEncoding: 'utf-8',
97
+ hypercore: hypercore_1.default
95
98
  });
96
99
  await fd.open();
97
100
  expect(fd.opened).toBe(true);
@@ -104,21 +107,6 @@ describe('FeedDescriptor', () => {
104
107
  const msg = await pify_1.default(fd.feed.head.bind(fd.feed))();
105
108
  expect(msg).toBe('test');
106
109
  });
107
- test('Watch data', async () => {
108
- const { publicKey, secretKey } = crypto_1.createKeyPair();
109
- const fd = new feed_descriptor_1.default({
110
- storage: random_access_multi_storage_1.createStorage('', random_access_multi_storage_1.STORAGE_RAM),
111
- key: crypto_1.PublicKey.from(publicKey),
112
- secretKey
113
- });
114
- const events = [];
115
- fd.watch(event => {
116
- events.push(event);
117
- });
118
- await fd.open();
119
- await wait_for_expect_1.default(() => expect(events).toContain('opened'));
120
- await fd.close();
121
- });
122
110
  test('on open error should unlock the resource', async () => {
123
111
  const { publicKey, secretKey } = crypto_1.createKeyPair();
124
112
  const fd = new feed_descriptor_1.default({
@@ -130,7 +118,6 @@ describe('FeedDescriptor', () => {
130
118
  }
131
119
  });
132
120
  await expect(fd.open()).rejects.toThrow(/open error/);
133
- await expect(fd.lock.executeSynchronized(async () => 'Unlocked')).resolves.toBe('Unlocked');
134
121
  });
135
122
  test('on close error should unlock the resource', async () => {
136
123
  const { publicKey, secretKey } = crypto_1.createKeyPair();
@@ -151,7 +138,6 @@ describe('FeedDescriptor', () => {
151
138
  });
152
139
  await fd.open();
153
140
  await expect(fd.close()).rejects.toThrow(/close error/);
154
- await expect(fd.lock.executeSynchronized(async () => 'Unlocked')).resolves.toBe('Unlocked');
155
141
  });
156
142
  });
157
143
  //# sourceMappingURL=feed-descriptor.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"feed-descriptor.test.js","sourceRoot":"","sources":["../../src/feed-descriptor.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feed-descriptor.test.js","sourceRoot":"","sources":["../../src/feed-descriptor.test.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,20 @@
1
1
  /// <reference types="node" />
2
2
  import { Event } from '@dxos/async';
3
- import { PublicKey, PublicKeyLike } from '@dxos/crypto';
3
+ import { PublicKey } from '@dxos/crypto';
4
4
  import { IStorage } from '@dxos/random-access-multi-storage';
5
5
  import FeedDescriptor from './feed-descriptor';
6
- import type { HypercoreFeed, Hypercore } from './hypercore-types';
6
+ import type { Hypercore } from './hypercore-types';
7
7
  import type { ValueEncoding } from './types';
8
- declare type DescriptorCallback = (descriptor: FeedDescriptor) => boolean;
9
8
  export interface CreateDescriptorOptions {
10
9
  key: PublicKey;
11
10
  secretKey?: Buffer;
12
- metadata?: any;
13
11
  }
14
12
  export interface CreateReadWriteFeedOptions {
15
13
  key: PublicKey;
16
14
  secretKey: Buffer;
17
- metadata?: any;
18
15
  }
19
16
  export interface CreateReadOnlyFeedOptions {
20
17
  key: PublicKey;
21
- metadata?: any;
22
18
  }
23
19
  export interface FeedStoreOptions {
24
20
  /**
@@ -41,11 +37,6 @@ export declare class FeedStore {
41
37
  private _valueEncoding;
42
38
  private _hypercore;
43
39
  private _descriptors;
44
- private _open;
45
- /**
46
- * Is emitted when data gets appended to one of the FeedStore's feeds represented by FeedDescriptors.
47
- */
48
- readonly appendEvent: Event<FeedDescriptor>;
49
40
  /**
50
41
  * Is emitted when a new feed represented by FeedDescriptor is opened.
51
42
  */
@@ -55,62 +46,22 @@ export declare class FeedStore {
55
46
  * @param options Feedstore options.
56
47
  */
57
48
  constructor(storage: IStorage, options?: FeedStoreOptions);
58
- get opened(): boolean;
59
- get closed(): boolean;
60
49
  /**
61
50
  * @type {RandomAccessStorage}
62
51
  */
63
52
  get storage(): IStorage;
64
- open(): Promise<void>;
65
53
  close(): Promise<void>;
66
- /**
67
- * Get the list of descriptors.
68
- */
69
- getDescriptors(): FeedDescriptor[];
70
- /**
71
- * Get desciptor by its public key
72
- */
73
- getDescriptor(key: PublicKeyLike): FeedDescriptor | undefined;
74
- /**
75
- * Fast access to a descriptor
76
- */
77
- getDescriptorByDiscoveryKey(discoverKey: Buffer): FeedDescriptor | undefined;
78
- /**
79
- * Get the list of opened feeds, with optional filter.
80
- */
81
- getOpenFeeds(callback?: DescriptorCallback): HypercoreFeed[];
82
- /**
83
- * Find an opened feed using a filter callback.
84
- */
85
- getOpenFeed(callback: DescriptorCallback): HypercoreFeed | undefined;
86
- /**
87
- * Checks if feedstore has a feed with specified key.
88
- */
89
- hasFeed(key: PublicKeyLike): boolean;
90
- /**
91
- * Open multiple feeds using a filter callback.
92
- */
93
- openFeeds(callback: DescriptorCallback): Promise<HypercoreFeed[]>;
94
- /**
95
- * Open a feed to FeedStore.
96
- */
97
- openFeed(key: PublicKey): Promise<HypercoreFeed>;
98
54
  /**
99
55
  * Create a feed to Feedstore
100
56
  */
101
- createReadWriteFeed(options: CreateReadWriteFeedOptions): Promise<HypercoreFeed>;
57
+ openReadWriteFeed(key: PublicKey, secretKey: Buffer): Promise<FeedDescriptor>;
102
58
  /**
103
59
  * Create a readonly feed to Feedstore
104
60
  */
105
- createReadOnlyFeed(options: CreateReadOnlyFeedOptions): Promise<HypercoreFeed>;
106
- /**
107
- * Close a feed by the key.
108
- */
109
- closeFeed(key: PublicKey): Promise<void>;
61
+ openReadOnlyFeed(key: PublicKey): Promise<FeedDescriptor>;
110
62
  /**
111
63
  * Factory to create a new FeedDescriptor.
112
64
  */
113
65
  private _createDescriptor;
114
66
  }
115
- export {};
116
67
  //# sourceMappingURL=feed-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"feed-store.d.ts","sourceRoot":"","sources":["../../src/feed-store.ts"],"names":[],"mappings":";AAOA,OAAO,EAAgB,KAAK,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAE7D,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,aAAK,kBAAkB,GAAG,CAAC,UAAU,EAAE,cAAc,KAAK,OAAO,CAAC;AAElE,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,SAAS,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,GAAG,CAAA;CACf;AAED,MAAM,WAAW,0BAA0B;IACzC,GAAG,EAAE,SAAS,CAAC;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,GAAG,CAAA;CACf;AAED,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE,SAAS,CAAA;IACd,QAAQ,CAAC,EAAE,GAAG,CAAA;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AAED;;;;;GAKG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,KAAK,CAAU;IAEvB;;OAEG;IACH,QAAQ,CAAC,WAAW,wBAA+B;IAEnD;;OAEG;IACH,QAAQ,CAAC,eAAe,wBAA+B;IAEvD;;;OAGG;gBACU,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAE,gBAAqB;IAkB9D,IAAI,MAAM,YAET;IAED,IAAI,MAAM,YAET;IAED;;OAEG;IACH,IAAI,OAAO,aAEV;IAGK,IAAI;IAQJ,KAAK;IAcX;;OAEG;IACH,cAAc;IAId;;OAEG;IACH,aAAa,CAAE,GAAG,EAAE,aAAa;IAIjC;;OAEG;IACH,2BAA2B,CAAE,WAAW,EAAE,MAAM;IAIhD;;OAEG;IACH,YAAY,CAAE,QAAQ,CAAC,EAAE,kBAAkB,GAAG,aAAa,EAAE;IAQ7D;;OAEG;IACH,WAAW,CAAE,QAAQ,EAAE,kBAAkB,GAAG,aAAa,GAAG,SAAS;IAWrE;;OAEG;IACH,OAAO,CAAE,GAAG,EAAE,aAAa,GAAG,OAAO;IAIrC;;OAEG;IAEG,SAAS,CAAE,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IASxE;;OAEG;IAEG,QAAQ,CAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC;IAYvD;;OAEG;IACG,mBAAmB,CAAE,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,aAAa,CAAC;IAKvF;;OAEG;IACG,kBAAkB,CAAE,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,aAAa,CAAC;IAKrF;;OAEG;IAEG,SAAS,CAAE,GAAG,EAAE,SAAS;IAY/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;CA4C1B"}
1
+ {"version":3,"file":"feed-store.d.ts","sourceRoot":"","sources":["../../src/feed-store.ts"],"names":[],"mappings":";AAOA,OAAO,EAAgB,KAAK,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAE7D,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,SAAS,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,0BAA0B;IACzC,GAAG,EAAE,SAAS,CAAC;IACf,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE,SAAS,CAAA;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAA;CACtB;AAED;;;;;GAKG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,YAAY,CAA8B;IAElD;;OAEG;IACH,QAAQ,CAAC,eAAe,wBAA+B;IAEvD;;;OAGG;gBACU,OAAO,EAAE,QAAQ,EAAE,OAAO,GAAE,gBAAqB;IAgB9D;;OAEG;IACH,IAAI,OAAO,aAEV;IAGK,KAAK;IAKX;;OAEG;IACG,iBAAiB,CAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAQpF;;OAEG;IACG,gBAAgB,CAAE,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC;IAKhE;;OAEG;YACW,iBAAiB;CAqBhC"}