@atproto/repo 0.3.7 → 0.3.9-next.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.
Files changed (109) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/block-map.d.ts +1 -0
  3. package/dist/block-map.d.ts.map +1 -0
  4. package/dist/block-map.js +119 -0
  5. package/dist/block-map.js.map +1 -0
  6. package/dist/cid-set.d.ts +1 -0
  7. package/dist/cid-set.d.ts.map +1 -0
  8. package/dist/cid-set.js +48 -0
  9. package/dist/cid-set.js.map +1 -0
  10. package/dist/data-diff.d.ts +1 -0
  11. package/dist/data-diff.d.ts.map +1 -0
  12. package/dist/data-diff.js +134 -0
  13. package/dist/data-diff.js.map +1 -0
  14. package/dist/error.d.ts +1 -0
  15. package/dist/error.d.ts.map +1 -0
  16. package/dist/error.js +76 -0
  17. package/dist/error.js.map +1 -0
  18. package/dist/index.d.ts +1 -0
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +26 -27225
  21. package/dist/index.js.map +1 -7
  22. package/dist/logger.d.ts +1 -0
  23. package/dist/logger.d.ts.map +1 -0
  24. package/dist/logger.js +7 -0
  25. package/dist/logger.js.map +1 -0
  26. package/dist/mst/diff.d.ts +1 -0
  27. package/dist/mst/diff.d.ts.map +1 -0
  28. package/dist/mst/diff.js +120 -0
  29. package/dist/mst/diff.js.map +1 -0
  30. package/dist/mst/index.d.ts +1 -0
  31. package/dist/mst/index.d.ts.map +1 -0
  32. package/dist/mst/index.js +34 -0
  33. package/dist/mst/index.js.map +1 -0
  34. package/dist/mst/mst.d.ts +6 -5
  35. package/dist/mst/mst.d.ts.map +1 -0
  36. package/dist/mst/mst.js +770 -0
  37. package/dist/mst/mst.js.map +1 -0
  38. package/dist/mst/util.d.ts +1 -0
  39. package/dist/mst/util.d.ts.map +1 -0
  40. package/dist/mst/util.js +167 -0
  41. package/dist/mst/util.js.map +1 -0
  42. package/dist/mst/walker.d.ts +1 -0
  43. package/dist/mst/walker.d.ts.map +1 -0
  44. package/dist/mst/walker.js +123 -0
  45. package/dist/mst/walker.js.map +1 -0
  46. package/dist/parse.d.ts +1 -0
  47. package/dist/parse.d.ts.map +1 -0
  48. package/dist/parse.js +35 -0
  49. package/dist/parse.js.map +1 -0
  50. package/dist/readable-repo.d.ts +1 -0
  51. package/dist/readable-repo.d.ts.map +1 -0
  52. package/dist/readable-repo.js +117 -0
  53. package/dist/readable-repo.js.map +1 -0
  54. package/dist/repo.d.ts +1 -0
  55. package/dist/repo.d.ts.map +1 -0
  56. package/dist/repo.js +190 -0
  57. package/dist/repo.js.map +1 -0
  58. package/dist/storage/index.d.ts +1 -0
  59. package/dist/storage/index.d.ts.map +1 -0
  60. package/dist/storage/index.js +21 -0
  61. package/dist/storage/index.js.map +1 -0
  62. package/dist/storage/memory-blockstore.d.ts +1 -0
  63. package/dist/storage/memory-blockstore.d.ts.map +1 -0
  64. package/dist/storage/memory-blockstore.js +80 -0
  65. package/dist/storage/memory-blockstore.js.map +1 -0
  66. package/dist/storage/readable-blockstore.d.ts +1 -0
  67. package/dist/storage/readable-blockstore.d.ts.map +1 -0
  68. package/dist/storage/readable-blockstore.js +66 -0
  69. package/dist/storage/readable-blockstore.js.map +1 -0
  70. package/dist/storage/sync-storage.d.ts +1 -0
  71. package/dist/storage/sync-storage.d.ts.map +1 -0
  72. package/dist/storage/sync-storage.js +46 -0
  73. package/dist/storage/sync-storage.js.map +1 -0
  74. package/dist/storage/types.d.ts +1 -0
  75. package/dist/storage/types.d.ts.map +1 -0
  76. package/dist/storage/types.js +7 -0
  77. package/dist/storage/types.js.map +1 -0
  78. package/dist/sync/consumer.d.ts +1 -0
  79. package/dist/sync/consumer.d.ts.map +1 -0
  80. package/dist/sync/consumer.js +178 -0
  81. package/dist/sync/consumer.js.map +1 -0
  82. package/dist/sync/index.d.ts +1 -0
  83. package/dist/sync/index.d.ts.map +1 -0
  84. package/dist/sync/index.js +19 -0
  85. package/dist/sync/index.js.map +1 -0
  86. package/dist/sync/provider.d.ts +1 -0
  87. package/dist/sync/provider.d.ts.map +1 -0
  88. package/dist/sync/provider.js +67 -0
  89. package/dist/sync/provider.js.map +1 -0
  90. package/dist/types.d.ts +22 -19
  91. package/dist/types.d.ts.map +1 -0
  92. package/dist/types.js +62 -0
  93. package/dist/types.js.map +1 -0
  94. package/dist/util.d.ts +2 -1
  95. package/dist/util.d.ts.map +1 -0
  96. package/dist/util.js +219 -0
  97. package/dist/util.js.map +1 -0
  98. package/jest.config.js +3 -3
  99. package/package.json +11 -14
  100. package/src/mst/mst.ts +1 -1
  101. package/src/types.ts +4 -2
  102. package/src/util.ts +1 -1
  103. package/tests/_util.ts +4 -0
  104. package/tsconfig.build.json +6 -2
  105. package/tsconfig.json +3 -11
  106. package/tsconfig.tests.json +7 -0
  107. package/babel.config.js +0 -1
  108. package/build.js +0 -14
  109. package/jest.bench.config.js +0 -8
package/dist/repo.js ADDED
@@ -0,0 +1,190 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.Repo = void 0;
30
+ const common_1 = require("@atproto/common");
31
+ const types_1 = require("./types");
32
+ const mst_1 = require("./mst");
33
+ const data_diff_1 = __importDefault(require("./data-diff"));
34
+ const logger_1 = __importDefault(require("./logger"));
35
+ const block_map_1 = __importDefault(require("./block-map"));
36
+ const readable_repo_1 = require("./readable-repo");
37
+ const util = __importStar(require("./util"));
38
+ const cid_set_1 = __importDefault(require("./cid-set"));
39
+ class Repo extends readable_repo_1.ReadableRepo {
40
+ constructor(params) {
41
+ super(params);
42
+ Object.defineProperty(this, "storage", {
43
+ enumerable: true,
44
+ configurable: true,
45
+ writable: true,
46
+ value: void 0
47
+ });
48
+ this.storage = params.storage;
49
+ }
50
+ static async formatInitCommit(storage, did, keypair, initialWrites = []) {
51
+ const newBlocks = new block_map_1.default();
52
+ let data = await mst_1.MST.create(storage);
53
+ for (const record of initialWrites) {
54
+ const cid = await newBlocks.add(record.record);
55
+ const dataKey = util.formatDataKey(record.collection, record.rkey);
56
+ data = await data.add(dataKey, cid);
57
+ }
58
+ const dataCid = await data.getPointer();
59
+ const diff = await data_diff_1.default.of(data, null);
60
+ newBlocks.addMap(diff.newMstBlocks);
61
+ const rev = common_1.TID.nextStr();
62
+ const commit = await util.signCommit({
63
+ did,
64
+ version: 3,
65
+ rev,
66
+ prev: null, // added for backwards compatibility with v2
67
+ data: dataCid,
68
+ }, keypair);
69
+ const commitCid = await newBlocks.add(commit);
70
+ return {
71
+ cid: commitCid,
72
+ rev,
73
+ since: null,
74
+ prev: null,
75
+ newBlocks,
76
+ removedCids: diff.removedCids,
77
+ };
78
+ }
79
+ static async createFromCommit(storage, commit) {
80
+ await storage.applyCommit(commit);
81
+ return Repo.load(storage, commit.cid);
82
+ }
83
+ static async create(storage, did, keypair, initialWrites = []) {
84
+ const commit = await Repo.formatInitCommit(storage, did, keypair, initialWrites);
85
+ return Repo.createFromCommit(storage, commit);
86
+ }
87
+ static async load(storage, cid) {
88
+ const commitCid = cid || (await storage.getRoot());
89
+ if (!commitCid) {
90
+ throw new Error('No cid provided and none in storage');
91
+ }
92
+ const commit = await storage.readObj(commitCid, types_1.def.versionedCommit);
93
+ const data = await mst_1.MST.load(storage, commit.data);
94
+ logger_1.default.info({ did: commit.did }, 'loaded repo for');
95
+ return new Repo({
96
+ storage,
97
+ data,
98
+ commit: util.ensureV3Commit(commit),
99
+ cid: commitCid,
100
+ });
101
+ }
102
+ async formatCommit(toWrite, keypair) {
103
+ const writes = Array.isArray(toWrite) ? toWrite : [toWrite];
104
+ const leaves = new block_map_1.default();
105
+ let data = this.data;
106
+ for (const write of writes) {
107
+ if (write.action === types_1.WriteOpAction.Create) {
108
+ const cid = await leaves.add(write.record);
109
+ const dataKey = write.collection + '/' + write.rkey;
110
+ data = await data.add(dataKey, cid);
111
+ }
112
+ else if (write.action === types_1.WriteOpAction.Update) {
113
+ const cid = await leaves.add(write.record);
114
+ const dataKey = write.collection + '/' + write.rkey;
115
+ data = await data.update(dataKey, cid);
116
+ }
117
+ else if (write.action === types_1.WriteOpAction.Delete) {
118
+ const dataKey = write.collection + '/' + write.rkey;
119
+ data = await data.delete(dataKey);
120
+ }
121
+ }
122
+ const dataCid = await data.getPointer();
123
+ const diff = await data_diff_1.default.of(data, this.data);
124
+ const newBlocks = diff.newMstBlocks;
125
+ const removedCids = diff.removedCids;
126
+ const addedLeaves = leaves.getMany(diff.newLeafCids.toList());
127
+ if (addedLeaves.missing.length > 0) {
128
+ throw new Error(`Missing leaf blocks: ${addedLeaves.missing}`);
129
+ }
130
+ newBlocks.addMap(addedLeaves.blocks);
131
+ const rev = common_1.TID.nextStr(this.commit.rev);
132
+ const commit = await util.signCommit({
133
+ did: this.did,
134
+ version: 3,
135
+ rev,
136
+ prev: null, // added for backwards compatibility with v2
137
+ data: dataCid,
138
+ }, keypair);
139
+ const commitCid = await newBlocks.add(commit);
140
+ // ensure the commit cid actually changed
141
+ if (commitCid.equals(this.cid)) {
142
+ newBlocks.delete(commitCid);
143
+ }
144
+ else {
145
+ removedCids.add(this.cid);
146
+ }
147
+ return {
148
+ cid: commitCid,
149
+ rev,
150
+ since: this.commit.rev,
151
+ prev: this.cid,
152
+ newBlocks,
153
+ removedCids,
154
+ };
155
+ }
156
+ async applyCommit(commitData) {
157
+ await this.storage.applyCommit(commitData);
158
+ return Repo.load(this.storage, commitData.cid);
159
+ }
160
+ async applyWrites(toWrite, keypair) {
161
+ const commit = await this.formatCommit(toWrite, keypair);
162
+ return this.applyCommit(commit);
163
+ }
164
+ async formatResignCommit(rev, keypair) {
165
+ const commit = await util.signCommit({
166
+ did: this.did,
167
+ version: 3,
168
+ rev,
169
+ prev: null, // added for backwards compatibility with v2
170
+ data: this.commit.data,
171
+ }, keypair);
172
+ const newBlocks = new block_map_1.default();
173
+ const commitCid = await newBlocks.add(commit);
174
+ return {
175
+ cid: commitCid,
176
+ rev,
177
+ since: null,
178
+ prev: null,
179
+ newBlocks,
180
+ removedCids: new cid_set_1.default([this.cid]),
181
+ };
182
+ }
183
+ async resignCommit(rev, keypair) {
184
+ const formatted = await this.formatResignCommit(rev, keypair);
185
+ return this.applyCommit(formatted);
186
+ }
187
+ }
188
+ exports.Repo = Repo;
189
+ exports.default = Repo;
190
+ //# sourceMappingURL=repo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo.js","sourceRoot":"","sources":["../src/repo.ts"],"names":[],"mappings":"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"}
@@ -2,3 +2,4 @@ export * from './readable-blockstore';
2
2
  export * from './memory-blockstore';
3
3
  export * from './sync-storage';
4
4
  export * from './types';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,SAAS,CAAA"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./readable-blockstore"), exports);
18
+ __exportStar(require("./memory-blockstore"), exports);
19
+ __exportStar(require("./sync-storage"), exports);
20
+ __exportStar(require("./types"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAqC;AACrC,sDAAmC;AACnC,iDAA8B;AAC9B,0CAAuB"}
@@ -23,3 +23,4 @@ export declare class MemoryBlockstore extends ReadableBlockstore implements Repo
23
23
  destroy(): Promise<void>;
24
24
  }
25
25
  export default MemoryBlockstore;
26
+ //# sourceMappingURL=memory-blockstore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-blockstore.d.ts","sourceRoot":"","sources":["../../src/storage/memory-blockstore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,QAAQ,MAAM,cAAc,CAAA;AACnC,OAAO,kBAAkB,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAErC,qBAAa,gBACX,SAAQ,kBACR,YAAW,WAAW;IAEtB,MAAM,EAAE,QAAQ,CAAA;IAChB,IAAI,EAAE,GAAG,GAAG,IAAI,CAAO;IACvB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAO;gBAEb,MAAM,CAAC,EAAE,QAAQ;IAQvB,OAAO,IAAI,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAI9B,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAI9C,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAI/B,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,QAAQ,CAAC;QAAC,OAAO,EAAE,GAAG,EAAE,CAAA;KAAE,CAAC;IAIrE,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD,OAAO,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKhD,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAW9C,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAQ9B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B;AAED,eAAe,gBAAgB,CAAA"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.MemoryBlockstore = void 0;
7
+ const block_map_1 = __importDefault(require("../block-map"));
8
+ const readable_blockstore_1 = __importDefault(require("./readable-blockstore"));
9
+ class MemoryBlockstore extends readable_blockstore_1.default {
10
+ constructor(blocks) {
11
+ super();
12
+ Object.defineProperty(this, "blocks", {
13
+ enumerable: true,
14
+ configurable: true,
15
+ writable: true,
16
+ value: void 0
17
+ });
18
+ Object.defineProperty(this, "root", {
19
+ enumerable: true,
20
+ configurable: true,
21
+ writable: true,
22
+ value: null
23
+ });
24
+ Object.defineProperty(this, "rev", {
25
+ enumerable: true,
26
+ configurable: true,
27
+ writable: true,
28
+ value: null
29
+ });
30
+ this.blocks = new block_map_1.default();
31
+ if (blocks) {
32
+ this.blocks.addMap(blocks);
33
+ }
34
+ }
35
+ async getRoot() {
36
+ return this.root;
37
+ }
38
+ async getBytes(cid) {
39
+ return this.blocks.get(cid) || null;
40
+ }
41
+ async has(cid) {
42
+ return this.blocks.has(cid);
43
+ }
44
+ async getBlocks(cids) {
45
+ return this.blocks.getMany(cids);
46
+ }
47
+ async putBlock(cid, block) {
48
+ this.blocks.set(cid, block);
49
+ }
50
+ async putMany(blocks) {
51
+ this.blocks.addMap(blocks);
52
+ }
53
+ async updateRoot(cid, rev) {
54
+ this.root = cid;
55
+ this.rev = rev;
56
+ }
57
+ async applyCommit(commit) {
58
+ this.root = commit.cid;
59
+ const rmCids = commit.removedCids.toList();
60
+ for (const cid of rmCids) {
61
+ this.blocks.delete(cid);
62
+ }
63
+ commit.newBlocks.forEach((bytes, cid) => {
64
+ this.blocks.set(cid, bytes);
65
+ });
66
+ }
67
+ async sizeInBytes() {
68
+ let total = 0;
69
+ this.blocks.forEach((bytes) => {
70
+ total += bytes.byteLength;
71
+ });
72
+ return total;
73
+ }
74
+ async destroy() {
75
+ this.blocks.clear();
76
+ }
77
+ }
78
+ exports.MemoryBlockstore = MemoryBlockstore;
79
+ exports.default = MemoryBlockstore;
80
+ //# sourceMappingURL=memory-blockstore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-blockstore.js","sourceRoot":"","sources":["../../src/storage/memory-blockstore.ts"],"names":[],"mappings":";;;;;;AAEA,6DAAmC;AACnC,gFAAsD;AAGtD,MAAa,gBACX,SAAQ,6BAAkB;IAO1B,YAAY,MAAiB;QAC3B,KAAK,EAAE,CAAA;QALT;;;;;WAAgB;QAChB;;;;mBAAmB,IAAI;WAAA;QACvB;;;;mBAAqB,IAAI;WAAA;QAIvB,IAAI,CAAC,MAAM,GAAG,IAAI,mBAAQ,EAAE,CAAA;QAC5B,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC5B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAQ;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAA;IACrC,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAQ;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC7B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAW;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IAClC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAQ,EAAE,KAAiB;QACxC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC7B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAgB;QAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC5B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAQ,EAAE,GAAW;QACpC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA;QACf,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAkB;QAClC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,CAAA;QACtB,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,CAAA;QAC1C,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACzB,CAAC;QACD,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACtC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAC7B,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,WAAW;QACf,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC5B,KAAK,IAAI,KAAK,CAAC,UAAU,CAAA;QAC3B,CAAC,CAAC,CAAA;QACF,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;IACrB,CAAC;CACF;AAnED,4CAmEC;AAED,kBAAe,gBAAgB,CAAA"}
@@ -22,3 +22,4 @@ export declare abstract class ReadableBlockstore {
22
22
  readRecord(cid: CID): Promise<RepoRecord>;
23
23
  }
24
24
  export default ReadableBlockstore;
25
+ //# sourceMappingURL=readable-blockstore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readable-blockstore.d.ts","sourceRoot":"","sources":["../../src/storage/readable-blockstore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,QAAQ,MAAM,cAAc,CAAA;AAKnC,8BAAsB,kBAAkB;IACtC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IACvD,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IACxC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,QAAQ,CAAC;QAAC,OAAO,EAAE,GAAG,EAAE,CAAA;KAAE,CAAC;IAExE,WAAW,CAAC,CAAC,EACjB,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAChB,OAAO,CAAC;QAAE,GAAG,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,GAAG,IAAI,CAAC;IAM1C,eAAe,CAAC,CAAC,EACrB,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAChB,OAAO,CAAC;QAAE,GAAG,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,UAAU,CAAA;KAAE,CAAC;IAQnC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAKnD,iBAAiB,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAQvD,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC;CAOhD;AAED,eAAe,kBAAkB,CAAA"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.ReadableBlockstore = void 0;
27
+ const error_1 = require("../error");
28
+ const parse = __importStar(require("../parse"));
29
+ const util_1 = require("../util");
30
+ class ReadableBlockstore {
31
+ async attemptRead(cid, def) {
32
+ const bytes = await this.getBytes(cid);
33
+ if (!bytes)
34
+ return null;
35
+ return parse.parseObjByDef(bytes, cid, def);
36
+ }
37
+ async readObjAndBytes(cid, def) {
38
+ const read = await this.attemptRead(cid, def);
39
+ if (!read) {
40
+ throw new error_1.MissingBlockError(cid, def.name);
41
+ }
42
+ return read;
43
+ }
44
+ async readObj(cid, def) {
45
+ const obj = await this.readObjAndBytes(cid, def);
46
+ return obj.obj;
47
+ }
48
+ async attemptReadRecord(cid) {
49
+ try {
50
+ return await this.readRecord(cid);
51
+ }
52
+ catch {
53
+ return null;
54
+ }
55
+ }
56
+ async readRecord(cid) {
57
+ const bytes = await this.getBytes(cid);
58
+ if (!bytes) {
59
+ throw new error_1.MissingBlockError(cid);
60
+ }
61
+ return (0, util_1.cborToLexRecord)(bytes);
62
+ }
63
+ }
64
+ exports.ReadableBlockstore = ReadableBlockstore;
65
+ exports.default = ReadableBlockstore;
66
+ //# sourceMappingURL=readable-blockstore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"readable-blockstore.js","sourceRoot":"","sources":["../../src/storage/readable-blockstore.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,oCAA4C;AAC5C,gDAAiC;AACjC,kCAAyC;AAEzC,MAAsB,kBAAkB;IAKtC,KAAK,CAAC,WAAW,CACf,GAAQ,EACR,GAAiB;QAEjB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QACtC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAA;QACvB,OAAO,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;IAC7C,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,GAAQ,EACR,GAAiB;QAEjB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,yBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;QAC5C,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,OAAO,CAAI,GAAQ,EAAE,GAAiB;QAC1C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAChD,OAAO,GAAG,CAAC,GAAG,CAAA;IAChB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,GAAQ;QAC9B,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,GAAQ;QACvB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QACtC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,yBAAiB,CAAC,GAAG,CAAC,CAAA;QAClC,CAAC;QACD,OAAO,IAAA,sBAAe,EAAC,KAAK,CAAC,CAAA;IAC/B,CAAC;CACF;AA7CD,gDA6CC;AAED,kBAAe,kBAAkB,CAAA"}
@@ -13,3 +13,4 @@ export declare class SyncStorage extends ReadableBlockstore {
13
13
  has(cid: CID): Promise<boolean>;
14
14
  }
15
15
  export default SyncStorage;
16
+ //# sourceMappingURL=sync-storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-storage.d.ts","sourceRoot":"","sources":["../../src/storage/sync-storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,QAAQ,MAAM,cAAc,CAAA;AACnC,OAAO,kBAAkB,MAAM,uBAAuB,CAAA;AAEtD,qBAAa,WAAY,SAAQ,kBAAkB;IAExC,MAAM,EAAE,kBAAkB;IAC1B,KAAK,EAAE,kBAAkB;gBADzB,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,kBAAkB;IAK5B,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAM9C,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,QAAQ,CAAC;QAAC,OAAO,EAAE,GAAG,EAAE,CAAA;KAAE,CAAC;IAWrE,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;CAGtC;AAED,eAAe,WAAW,CAAA"}
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.SyncStorage = void 0;
7
+ const readable_blockstore_1 = __importDefault(require("./readable-blockstore"));
8
+ class SyncStorage extends readable_blockstore_1.default {
9
+ constructor(staged, saved) {
10
+ super();
11
+ Object.defineProperty(this, "staged", {
12
+ enumerable: true,
13
+ configurable: true,
14
+ writable: true,
15
+ value: staged
16
+ });
17
+ Object.defineProperty(this, "saved", {
18
+ enumerable: true,
19
+ configurable: true,
20
+ writable: true,
21
+ value: saved
22
+ });
23
+ }
24
+ async getBytes(cid) {
25
+ const got = await this.staged.getBytes(cid);
26
+ if (got)
27
+ return got;
28
+ return this.saved.getBytes(cid);
29
+ }
30
+ async getBlocks(cids) {
31
+ const fromStaged = await this.staged.getBlocks(cids);
32
+ const fromSaved = await this.saved.getBlocks(fromStaged.missing);
33
+ const blocks = fromStaged.blocks;
34
+ blocks.addMap(fromSaved.blocks);
35
+ return {
36
+ blocks,
37
+ missing: fromSaved.missing,
38
+ };
39
+ }
40
+ async has(cid) {
41
+ return (await this.staged.has(cid)) || (await this.saved.has(cid));
42
+ }
43
+ }
44
+ exports.SyncStorage = SyncStorage;
45
+ exports.default = SyncStorage;
46
+ //# sourceMappingURL=sync-storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-storage.js","sourceRoot":"","sources":["../../src/storage/sync-storage.ts"],"names":[],"mappings":";;;;;;AAEA,gFAAsD;AAEtD,MAAa,WAAY,SAAQ,6BAAkB;IACjD,YACS,MAA0B,EAC1B,KAAyB;QAEhC,KAAK,EAAE,CAAA;QAHP;;;;mBAAO,MAAM;WAAoB;QACjC;;;;mBAAO,KAAK;WAAoB;IAGlC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAQ;QACrB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QAC3C,IAAI,GAAG;YAAE,OAAO,GAAG,CAAA;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IACjC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAW;QACzB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QACpD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QAChE,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;QAChC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QAC/B,OAAO;YACL,MAAM;YACN,OAAO,EAAE,SAAS,CAAC,OAAO;SAC3B,CAAA;IACH,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAQ;QAChB,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IACpE,CAAC;CACF;AA5BD,kCA4BC;AAED,kBAAe,WAAW,CAAA"}
@@ -44,3 +44,4 @@ export interface BlobStore {
44
44
  }
45
45
  export declare class BlobNotFoundError extends Error {
46
46
  }
47
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/storage/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BlobNotFoundError = void 0;
4
+ class BlobNotFoundError extends Error {
5
+ }
6
+ exports.BlobNotFoundError = BlobNotFoundError;
7
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/storage/types.ts"],"names":[],"mappings":";;;AA8CA,MAAa,iBAAkB,SAAQ,KAAK;CAAG;AAA/C,8CAA+C"}
@@ -19,3 +19,4 @@ export declare const verifyProofs: (proofs: Uint8Array, claims: RecordClaim[], d
19
19
  export declare const verifyRecords: (proofs: Uint8Array, did: string, signingKey: string) => Promise<RecordClaim[]>;
20
20
  export declare class RepoVerificationError extends Error {
21
21
  }
22
+ //# sourceMappingURL=consumer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"consumer.d.ts","sourceRoot":"","sources":["../../src/sync/consumer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAGtC,OAAO,YAAY,MAAM,kBAAkB,CAAA;AAE3C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAIlE,OAAO,QAAQ,MAAM,cAAc,CAAA;AAEnC,eAAO,MAAM,aAAa,aACd,UAAU,QACd,MAAM,eACC,MAAM,KAClB,QAAQ,YAAY,CAGtB,CAAA;AAED,eAAO,MAAM,UAAU,WACb,QAAQ,QACV,GAAG,QACH,MAAM,eACC,MAAM,SACZ;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,KAChC,QAAQ,YAAY,CAOtB,CAAA;AAED,eAAO,MAAM,aAAa,SAClB,YAAY,GAAG,IAAI,YACf,UAAU,QACd,MAAM,eACC,MAAM,SACZ;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,KAChC,QAAQ,YAAY,CAGtB,CAAA;AAED,eAAO,MAAM,UAAU,SACf,YAAY,GAAG,IAAI,gBACX,QAAQ,cACV,GAAG,QACT,MAAM,eACC,MAAM,SACZ;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,KAChC,QAAQ,YAAY,CAyCtB,CAAA;AAwBD,eAAO,MAAM,YAAY,WACf,UAAU,UACV,WAAW,EAAE,OAChB,MAAM,UACH,MAAM;cACO,WAAW,EAAE;gBAAc,WAAW,EAAE;EAqC9D,CAAA;AAED,eAAO,MAAM,aAAa,WAChB,UAAU,OACb,MAAM,cACC,MAAM,KACjB,QAAQ,WAAW,EAAE,CA6BvB,CAAA;AAED,qBAAa,qBAAsB,SAAQ,KAAK;CAAG"}