@dxos/random-access-storage 0.10.0 → 0.11.1
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.
- package/dist/lib/browser/browser/index.mjs +22 -59
- package/dist/lib/browser/browser/index.mjs.map +3 -3
- package/dist/lib/browser/{chunk-V3ALAPAH.mjs → chunk-FZVWJO4G.mjs} +6 -2
- package/dist/lib/browser/{chunk-V3ALAPAH.mjs.map → chunk-FZVWJO4G.mjs.map} +1 -1
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/node/index.mjs +1 -1
- package/dist/lib/node-esm/browser/index.mjs +22 -59
- package/dist/lib/node-esm/browser/index.mjs.map +3 -3
- package/dist/lib/node-esm/{chunk-7W2LPI7I.mjs → chunk-HVHBR565.mjs} +6 -2
- package/dist/lib/node-esm/{chunk-7W2LPI7I.mjs.map → chunk-HVHBR565.mjs.map} +1 -1
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/node/index.mjs +1 -1
- package/dist/types/src/browser/web-fs.d.ts +0 -6
- package/dist/types/src/browser/web-fs.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -8
- package/src/browser/web-fs.ts +0 -42
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dxos/random-access-storage",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.1",
|
|
4
4
|
"description": "Multiple random storage types.",
|
|
5
5
|
"homepage": "https://dxos.org",
|
|
6
6
|
"bugs": "https://github.com/dxos/dxos/issues",
|
|
@@ -47,13 +47,13 @@
|
|
|
47
47
|
"random-access-file": "^2.2.1",
|
|
48
48
|
"random-access-memory": "^4.1.0",
|
|
49
49
|
"random-access-storage": "^1.3.0",
|
|
50
|
-
"@dxos/async": "0.
|
|
51
|
-
"@dxos/debug": "0.
|
|
52
|
-
"@dxos/invariant": "0.
|
|
53
|
-
"@dxos/log": "0.
|
|
54
|
-
"@dxos/node-std": "0.
|
|
55
|
-
"@dxos/tracing": "0.
|
|
56
|
-
"@dxos/util": "0.
|
|
50
|
+
"@dxos/async": "0.11.1",
|
|
51
|
+
"@dxos/debug": "0.11.1",
|
|
52
|
+
"@dxos/invariant": "0.11.1",
|
|
53
|
+
"@dxos/log": "0.11.1",
|
|
54
|
+
"@dxos/node-std": "0.11.1",
|
|
55
|
+
"@dxos/tracing": "0.11.1",
|
|
56
|
+
"@dxos/util": "0.11.1"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
59
|
"@types/pify": "^3.0.2",
|
package/src/browser/web-fs.ts
CHANGED
|
@@ -9,7 +9,6 @@ import { type RandomAccessStorage } from 'random-access-storage';
|
|
|
9
9
|
import { synchronized } from '@dxos/async';
|
|
10
10
|
import { invariant } from '@dxos/invariant';
|
|
11
11
|
import { log } from '@dxos/log';
|
|
12
|
-
import { TimeSeriesCounter, trace } from '@dxos/tracing';
|
|
13
12
|
|
|
14
13
|
import { Directory, type DiskInfo, type File, type Storage, StorageType, getFullPath } from '../common';
|
|
15
14
|
|
|
@@ -179,9 +178,7 @@ export class WebFS implements Storage {
|
|
|
179
178
|
}
|
|
180
179
|
|
|
181
180
|
// TODO(mykola): Remove EventEmitter.
|
|
182
|
-
// @trace.resource()
|
|
183
181
|
export class WebFile extends EventEmitter implements File {
|
|
184
|
-
@trace.info()
|
|
185
182
|
readonly fileName: string;
|
|
186
183
|
|
|
187
184
|
private readonly _fileHandle: Promise<FileSystemFileHandle>;
|
|
@@ -202,29 +199,6 @@ export class WebFile extends EventEmitter implements File {
|
|
|
202
199
|
*/
|
|
203
200
|
private _flushSequence = 0;
|
|
204
201
|
|
|
205
|
-
//
|
|
206
|
-
// Metrics
|
|
207
|
-
//
|
|
208
|
-
|
|
209
|
-
@trace.metricsCounter()
|
|
210
|
-
private _flushes = new TimeSeriesCounter();
|
|
211
|
-
|
|
212
|
-
@trace.metricsCounter()
|
|
213
|
-
private _operations = new TimeSeriesCounter();
|
|
214
|
-
|
|
215
|
-
@trace.metricsCounter()
|
|
216
|
-
private _reads = new TimeSeriesCounter();
|
|
217
|
-
|
|
218
|
-
@trace.metricsCounter()
|
|
219
|
-
private _readBytes = new TimeSeriesCounter();
|
|
220
|
-
|
|
221
|
-
@trace.metricsCounter()
|
|
222
|
-
private _writes = new TimeSeriesCounter();
|
|
223
|
-
|
|
224
|
-
@trace.metricsCounter()
|
|
225
|
-
private _writeBytes = new TimeSeriesCounter();
|
|
226
|
-
|
|
227
|
-
@trace.info()
|
|
228
202
|
get _bufferSize() {
|
|
229
203
|
return this._buffer?.length;
|
|
230
204
|
}
|
|
@@ -294,8 +268,6 @@ export class WebFile extends EventEmitter implements File {
|
|
|
294
268
|
}
|
|
295
269
|
this._flushSequence = sequence + 1;
|
|
296
270
|
|
|
297
|
-
this._flushes.inc();
|
|
298
|
-
|
|
299
271
|
await this._loadBufferGuarded();
|
|
300
272
|
invariant(this._buffer);
|
|
301
273
|
|
|
@@ -330,10 +302,6 @@ export class WebFile extends EventEmitter implements File {
|
|
|
330
302
|
async read(offset: number, size: number): Promise<Buffer> {
|
|
331
303
|
this.assertNotDestroyed('Read');
|
|
332
304
|
|
|
333
|
-
this._operations.inc();
|
|
334
|
-
this._reads.inc();
|
|
335
|
-
this._readBytes.inc(size);
|
|
336
|
-
|
|
337
305
|
if (!this._buffer) {
|
|
338
306
|
await this._loadBufferGuarded();
|
|
339
307
|
invariant(this._buffer);
|
|
@@ -350,10 +318,6 @@ export class WebFile extends EventEmitter implements File {
|
|
|
350
318
|
async write(offset: number, data: Buffer): Promise<void> {
|
|
351
319
|
this.assertNotDestroyed('Write');
|
|
352
320
|
|
|
353
|
-
this._operations.inc();
|
|
354
|
-
this._writes.inc();
|
|
355
|
-
this._writeBytes.inc(data.length);
|
|
356
|
-
|
|
357
321
|
if (!this._buffer) {
|
|
358
322
|
await this._loadBufferGuarded();
|
|
359
323
|
invariant(this._buffer);
|
|
@@ -375,8 +339,6 @@ export class WebFile extends EventEmitter implements File {
|
|
|
375
339
|
async del(offset: number, size: number): Promise<void> {
|
|
376
340
|
this.assertNotDestroyed('Del');
|
|
377
341
|
|
|
378
|
-
this._operations.inc();
|
|
379
|
-
|
|
380
342
|
if (offset < 0 || size <= 0) {
|
|
381
343
|
return;
|
|
382
344
|
}
|
|
@@ -400,8 +362,6 @@ export class WebFile extends EventEmitter implements File {
|
|
|
400
362
|
async stat(): Promise<{ size: number }> {
|
|
401
363
|
this.assertNotDestroyed('Truncate');
|
|
402
364
|
|
|
403
|
-
this._operations.inc();
|
|
404
|
-
|
|
405
365
|
// NOTE: This will load all data from the file just to get it's size. While this is a lot of overhead, this works ok for out use cases.
|
|
406
366
|
if (!this._buffer) {
|
|
407
367
|
await this._loadBufferGuarded();
|
|
@@ -416,8 +376,6 @@ export class WebFile extends EventEmitter implements File {
|
|
|
416
376
|
async truncate(offset: number): Promise<void> {
|
|
417
377
|
this.assertNotDestroyed('Truncate');
|
|
418
378
|
|
|
419
|
-
this._operations.inc();
|
|
420
|
-
|
|
421
379
|
if (!this._buffer) {
|
|
422
380
|
await this._loadBufferGuarded();
|
|
423
381
|
invariant(this._buffer);
|