@dxos/random-access-storage 0.4.10-main.d9dc7ae → 0.4.10-main.dd2b9ae
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/index.mjs +25 -337
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/node/index.cjs +5 -5
- package/dist/lib/node/index.cjs.map +2 -2
- package/dist/lib/node/meta.json +1 -1
- package/dist/types/src/browser/idb-storage.d.ts +8 -4
- package/dist/types/src/browser/idb-storage.d.ts.map +1 -1
- package/dist/types/src/browser/storage.d.ts.map +1 -1
- package/dist/types/src/common/abstract-storage.d.ts +1 -1
- package/dist/types/src/common/abstract-storage.d.ts.map +1 -1
- package/dist/types/src/common/storage.d.ts +3 -0
- package/dist/types/src/common/storage.d.ts.map +1 -1
- package/dist/types/src/testing/storage.blueprint-test.d.ts +1 -1
- package/dist/types/src/testing/storage.blueprint-test.d.ts.map +1 -1
- package/package.json +10 -15
- package/src/browser/idb-storage.ts +26 -4
- package/src/browser/storage.browser.test.ts +1 -1
- package/src/browser/storage.ts +2 -3
- package/src/common/abstract-storage.ts +2 -1
- package/src/common/storage.ts +3 -0
- package/src/testing/storage.blueprint-test.ts +70 -37
- package/dist/types/src/browser/browser-storage.d.ts +0 -13
- package/dist/types/src/browser/browser-storage.d.ts.map +0 -1
- package/dist/types/src/browser/firefox-storage.d.ts +0 -11
- package/dist/types/src/browser/firefox-storage.d.ts.map +0 -1
- package/src/browser/browser-storage.ts +0 -45
- package/src/browser/firefox-storage.ts +0 -23
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { BrowserStorage } from './browser-storage';
|
|
2
|
-
import { StorageType } from '../common';
|
|
3
|
-
/**
|
|
4
|
-
* Storage interface implementation for Firefox browser.
|
|
5
|
-
* https://github.com/random-access-storage/random-access-web
|
|
6
|
-
*/
|
|
7
|
-
export declare class FirefoxStorage extends BrowserStorage {
|
|
8
|
-
type: StorageType;
|
|
9
|
-
protected _createFileStorage(path: string): any;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=firefox-storage.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"firefox-storage.d.ts","sourceRoot":"","sources":["../../../../src/browser/firefox-storage.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAExC;;;GAGG;AACH,qBAAa,cAAe,SAAQ,cAAc;IAChC,IAAI,EAAE,WAAW,CAAuB;cAErC,kBAAkB,CAAC,IAAI,EAAE,MAAM;CAGnD"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2021 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
import type { RandomAccessStorage } from 'random-access-storage';
|
|
6
|
-
|
|
7
|
-
import { AbstractStorage, getFullPath } from '../common';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Base class for random access files based on IDB.
|
|
11
|
-
*/
|
|
12
|
-
export abstract class BrowserStorage extends AbstractStorage {
|
|
13
|
-
protected readonly _fileStorage: (filename: string, opts?: {}) => RandomAccessStorage;
|
|
14
|
-
|
|
15
|
-
constructor(path: string) {
|
|
16
|
-
super(path);
|
|
17
|
-
this._fileStorage = this._createFileStorage(path);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
protected _createFile(path: string, filename: string): RandomAccessStorage {
|
|
21
|
-
const fullPath = getFullPath(path, filename);
|
|
22
|
-
return this._fileStorage(fullPath);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
protected abstract _createFileStorage(path: string): (filename: string, opts?: {}) => RandomAccessStorage;
|
|
26
|
-
|
|
27
|
-
protected override async _destroy() {
|
|
28
|
-
// eslint-disable-next-line no-undef
|
|
29
|
-
return new Promise<void>((resolve, reject) => {
|
|
30
|
-
const request = indexedDB.deleteDatabase(this.path);
|
|
31
|
-
request.onsuccess = () => {
|
|
32
|
-
resolve();
|
|
33
|
-
};
|
|
34
|
-
request.onupgradeneeded = () => {
|
|
35
|
-
reject(new Error('Upgrade needed.'));
|
|
36
|
-
};
|
|
37
|
-
request.onblocked = () => {
|
|
38
|
-
reject(new Error('Blocked.'));
|
|
39
|
-
};
|
|
40
|
-
request.onerror = (err: any) => {
|
|
41
|
-
reject(err);
|
|
42
|
-
};
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// Copyright 2021 DXOS.org
|
|
3
|
-
//
|
|
4
|
-
|
|
5
|
-
// NOTE: Removing the .js extension here breaks usage in create-react-app.
|
|
6
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
7
|
-
// @ts-ignore
|
|
8
|
-
import raw from 'random-access-web/mutable-file-wrapper.js';
|
|
9
|
-
|
|
10
|
-
import { BrowserStorage } from './browser-storage';
|
|
11
|
-
import { StorageType } from '../common';
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Storage interface implementation for Firefox browser.
|
|
15
|
-
* https://github.com/random-access-storage/random-access-web
|
|
16
|
-
*/
|
|
17
|
-
export class FirefoxStorage extends BrowserStorage {
|
|
18
|
-
public override type: StorageType = StorageType.FIREFOX;
|
|
19
|
-
|
|
20
|
-
protected override _createFileStorage(path: string) {
|
|
21
|
-
return raw({ name: path });
|
|
22
|
-
}
|
|
23
|
-
}
|