@fireproof/core 0.7.0-alpha.0 → 0.7.0-alpha.10
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/README.md +2 -2
- package/dist/fireproof.js +6 -15
- package/dist/loader.js +3 -13
- package/dist/src/fireproof.d.ts +7 -118
- package/dist/src/fireproof.js +20481 -27157
- package/dist/src/fireproof.js.map +1 -1
- package/dist/src/fireproof.mjs +20481 -27157
- package/dist/src/fireproof.mjs.map +1 -1
- package/dist/storage/base.js +5 -3
- package/dist/storage/filesystem.js +7 -4
- package/dist/storage/rest.js +1 -1
- package/package.json +5 -12
- package/src/fireproof.js +6 -16
- package/src/loader.js +4 -14
- package/src/storage/base.js +5 -3
- package/src/storage/filesystem.js +8 -4
- package/src/storage/rest.js +1 -1
package/README.md
CHANGED
@@ -8,8 +8,8 @@
|
|
8
8
|
</h3>
|
9
9
|
|
10
10
|
<p align="center">
|
11
|
-
<a href="https://github.com/
|
12
|
-
<img src="https://github.com/
|
11
|
+
<a href="https://github.com/fireproof-storage/fireproof/actions/workflows/test.yml">
|
12
|
+
<img src="https://github.com/fireproof-storage/fireproof/actions/workflows/test.yml/badge.svg" alt="Test" style="max-width: 100%;">
|
13
13
|
</a>
|
14
14
|
<a href="https://standardjs.com" rel="nofollow">
|
15
15
|
<img src="https://img.shields.io/badge/code_style-standard-brightgreen.svg" alt="JavaScript Style Guide" style="max-width: 100%;">
|
package/dist/fireproof.js
CHANGED
@@ -9,21 +9,10 @@ class Fireproof {
|
|
9
9
|
* Creates a new Fireproof instance with default storage settings
|
10
10
|
* Most apps should use this and not worry about the details.
|
11
11
|
* @static
|
12
|
-
* @returns {Database
|
12
|
+
* @returns {Database} - a new Fireproof instance
|
13
13
|
*/
|
14
14
|
static storage = (name = null, opts = {}) => {
|
15
|
-
|
16
|
-
return new Database(null, opts);
|
17
|
-
}
|
18
|
-
else {
|
19
|
-
// const primaryLoader = Loader.appropriate(name, opts.primary, { key: null })
|
20
|
-
// const secondaryLoader = opts.secondary ? Loader.appropriate(name, opts.secondary, { key: null }) : null
|
21
|
-
const db = new Database(name, opts);
|
22
|
-
return db;
|
23
|
-
// const loaders = [pr]
|
24
|
-
// todo we need branch names here
|
25
|
-
// console.log('storage', name, opts, primaryLoader, secondaryLoader)
|
26
|
-
}
|
15
|
+
return new Database(name, opts);
|
27
16
|
};
|
28
17
|
// static fromConfig (name, primary, secondary, opts = {}) {
|
29
18
|
// console.log('fromConfig', name, primary, secondary, opts)
|
@@ -49,7 +38,7 @@ class Fireproof {
|
|
49
38
|
clock: {
|
50
39
|
byId: byId ? parseCID(byId) : null,
|
51
40
|
byKey: byKey ? parseCID(byKey) : null,
|
52
|
-
db:
|
41
|
+
db: db && db.length > 0 ? db.map(c => parseCID(c)) : null
|
53
42
|
},
|
54
43
|
code,
|
55
44
|
name
|
@@ -70,7 +59,9 @@ class Fireproof {
|
|
70
59
|
}
|
71
60
|
const withBlocks = new Database(database.name);
|
72
61
|
withBlocks.blocks = database.blocks;
|
73
|
-
withBlocks.
|
62
|
+
withBlocks.ready.then(() => {
|
63
|
+
withBlocks.clock = definition.clock.map(c => parseCID(c));
|
64
|
+
});
|
74
65
|
const snappedDb = Fireproof.fromJSON(definition, null, withBlocks);
|
75
66
|
[...database.indexes.values()].forEach(index => {
|
76
67
|
snappedDb.indexes.get(index.mapFnString).mapFn = index.mapFn;
|
package/dist/loader.js
CHANGED
@@ -1,23 +1,13 @@
|
|
1
1
|
import { Browser } from './storage/browser.js';
|
2
|
-
import { Filesystem } from './storage/filesystem.js';
|
3
2
|
import { Rest } from './storage/rest.js';
|
4
|
-
const FORCE_IDB = typeof process !== 'undefined' && !!process.env?.FORCE_IDB;
|
5
|
-
/* global window */
|
6
3
|
export const Loader = {
|
7
4
|
appropriate: (name, config = {}) => {
|
8
|
-
|
9
|
-
|
10
|
-
isBrowser = window.localStorage && true;
|
5
|
+
if (config.StorageClass) {
|
6
|
+
return new config.StorageClass(name, config);
|
11
7
|
}
|
12
|
-
catch (e) { }
|
13
8
|
if (config.type === 'rest') {
|
14
9
|
return new Rest(name, config);
|
15
10
|
}
|
16
|
-
|
17
|
-
return new Browser(name, config);
|
18
|
-
}
|
19
|
-
else {
|
20
|
-
return new Filesystem(name, config);
|
21
|
-
}
|
11
|
+
return new Browser(name, config);
|
22
12
|
}
|
23
13
|
};
|
package/dist/src/fireproof.d.ts
CHANGED
@@ -1,119 +1,8 @@
|
|
1
1
|
import * as multiformats from 'multiformats';
|
2
2
|
import { Link, CID } from 'multiformats';
|
3
|
-
import * as multiformats_link from 'multiformats/link';
|
4
|
-
import * as _ipld_car_dist_src_api_js from '@ipld/car/dist/src/api.js';
|
5
|
-
import * as idb from 'idb';
|
6
3
|
|
7
4
|
type AnyLink = Link<unknown, number, number, 1|0>
|
8
5
|
|
9
|
-
declare class Base {
|
10
|
-
constructor(name: any, config?: {});
|
11
|
-
valetRootCarCid: any;
|
12
|
-
keyMaterial: any;
|
13
|
-
keyId: string;
|
14
|
-
instanceId: string;
|
15
|
-
name: any;
|
16
|
-
config: {};
|
17
|
-
ready: Promise<{}>;
|
18
|
-
setCarCidMapCarCid(carCid: any): void;
|
19
|
-
valetCarCidMap: Map<any, any>;
|
20
|
-
setKeyMaterial(km: any): void;
|
21
|
-
saveCar(carCid: any, value: any, cids: any): Promise<multiformats.BlockView<Uint8Array, 85, 18, 1>>;
|
22
|
-
applyHeaders(headers: any): void;
|
23
|
-
headers: any;
|
24
|
-
getHeaders(): Promise<{}>;
|
25
|
-
loadHeader(branch?: string): void;
|
26
|
-
saveHeader(header: any): Promise<void>;
|
27
|
-
prepareHeader(header: any, json?: boolean): any;
|
28
|
-
writeHeader(branch: any, header: any): void;
|
29
|
-
getCarCIDForCID(cid: any): Promise<{
|
30
|
-
result: any;
|
31
|
-
}>;
|
32
|
-
readCar(carCid: any): Promise<Uint8Array>;
|
33
|
-
getLoaderBlock(dataCID: any): Promise<{
|
34
|
-
block: any;
|
35
|
-
reader: {
|
36
|
-
entries: () => Generator<any, void, unknown>;
|
37
|
-
root: any;
|
38
|
-
gat: (dataCID: any) => Promise<any>;
|
39
|
-
get: (dataCID: any) => Promise<any>;
|
40
|
-
} | {
|
41
|
-
entries: any;
|
42
|
-
root: any;
|
43
|
-
gat: (dataCID: any) => Promise<_ipld_car_dist_src_api_js.Block>;
|
44
|
-
get: (dataCID: any) => Promise<Uint8Array>;
|
45
|
-
};
|
46
|
-
carCid: any;
|
47
|
-
}>;
|
48
|
-
/** Private - internal **/
|
49
|
-
getCidCarMap(): Promise<Map<any, any>>;
|
50
|
-
mapForIPLDHashmapCarCid(carCid: any): Promise<Map<any, any>>;
|
51
|
-
getWriteableCarReader(carCid: any): Promise<{
|
52
|
-
blocks: VMemoryBlockstore;
|
53
|
-
root: any;
|
54
|
-
put: (cid: any, bytes: any) => Promise<void>;
|
55
|
-
get: (cid: any) => Promise<any>;
|
56
|
-
}>;
|
57
|
-
getCarReader(carCid: any): Promise<{
|
58
|
-
entries: () => Generator<any, void, unknown>;
|
59
|
-
root: any;
|
60
|
-
gat: (dataCID: any) => Promise<any>;
|
61
|
-
get: (dataCID: any) => Promise<any>;
|
62
|
-
} | {
|
63
|
-
entries: any;
|
64
|
-
root: any;
|
65
|
-
gat: (dataCID: any) => Promise<_ipld_car_dist_src_api_js.Block>;
|
66
|
-
get: (dataCID: any) => Promise<Uint8Array>;
|
67
|
-
}>;
|
68
|
-
writeCars(cars: any): void;
|
69
|
-
updateCarCidMap(carCid: any, cids: any): Promise<multiformats.BlockView<Uint8Array, 85, 18, 1>>;
|
70
|
-
persistCarMap(theCarMap: any): Promise<multiformats.BlockView<Uint8Array, 85, 18, 1>>;
|
71
|
-
}
|
72
|
-
declare class VMemoryBlockstore {
|
73
|
-
/** @type {Map<string, Uint8Array>} */
|
74
|
-
blocks: Map<string, Uint8Array>;
|
75
|
-
instanceId: string;
|
76
|
-
get(cid: any): Promise<{
|
77
|
-
cid: any;
|
78
|
-
bytes: Uint8Array;
|
79
|
-
}>;
|
80
|
-
/**
|
81
|
-
* @param {any} cid
|
82
|
-
* @param {Uint8Array} bytes
|
83
|
-
*/
|
84
|
-
put(cid: any, bytes: Uint8Array): Promise<void>;
|
85
|
-
entries(): Generator<{
|
86
|
-
cid: multiformats_link.Link<unknown, number, number, multiformats_link.Version>;
|
87
|
-
bytes: Uint8Array;
|
88
|
-
}, void, unknown>;
|
89
|
-
}
|
90
|
-
|
91
|
-
declare class Rest extends Base {
|
92
|
-
headerURL(branch?: string): string;
|
93
|
-
writeCars(cars: any): Promise<void>;
|
94
|
-
loadHeader(branch?: string): Promise<unknown>;
|
95
|
-
writeHeader(branch: any, header: any): Promise<void>;
|
96
|
-
}
|
97
|
-
|
98
|
-
declare class Filesystem extends Base {
|
99
|
-
writeCars(cars: any): Promise<void>;
|
100
|
-
readCar(carCid: any): Promise<any>;
|
101
|
-
loadHeader(branch?: string): any;
|
102
|
-
writeHeader(branch: any, header: any): Promise<void>;
|
103
|
-
headerFilename(branch?: string): any;
|
104
|
-
}
|
105
|
-
|
106
|
-
declare class Browser extends Base {
|
107
|
-
isBrowser: boolean;
|
108
|
-
withDB: (dbWorkFun: any) => Promise<any>;
|
109
|
-
idb: idb.IDBPDatabase<unknown>;
|
110
|
-
writeCars(cars: any): Promise<any>;
|
111
|
-
readCar(carCid: any): Promise<any>;
|
112
|
-
loadHeader(branch?: string): string;
|
113
|
-
writeHeader(branch: any, header: any): Promise<void>;
|
114
|
-
headerKey(branch?: string): string;
|
115
|
-
}
|
116
|
-
|
117
6
|
declare class Valet {
|
118
7
|
constructor(name?: string, config?: {});
|
119
8
|
idb: any;
|
@@ -121,10 +10,10 @@ declare class Valet {
|
|
121
10
|
uploadQueue: any;
|
122
11
|
alreadyEnqueued: Set<any>;
|
123
12
|
instanceId: string;
|
124
|
-
primary:
|
125
|
-
secondary:
|
126
|
-
ready: Promise<
|
127
|
-
saveHeader(header: any): Promise<
|
13
|
+
primary: any;
|
14
|
+
secondary: any;
|
15
|
+
ready: Promise<any[]>;
|
16
|
+
saveHeader(header: any): Promise<any>;
|
128
17
|
/**
|
129
18
|
* Group the blocks into a car and write it to the valet.
|
130
19
|
* @param {import('./blockstore.js').InnerBlockstore} innerBlockstore
|
@@ -167,7 +56,7 @@ declare class TransactionBlockstore {
|
|
167
56
|
instanceId: string;
|
168
57
|
inflightTransactions: Set<any>;
|
169
58
|
syncs: Set<any>;
|
170
|
-
ready: Promise<void> | Promise<
|
59
|
+
ready: Promise<void> | Promise<any[]>;
|
171
60
|
remoteBlockFunction: any;
|
172
61
|
/**
|
173
62
|
* Get a block from the store.
|
@@ -569,9 +458,9 @@ declare class Fireproof {
|
|
569
458
|
* Creates a new Fireproof instance with default storage settings
|
570
459
|
* Most apps should use this and not worry about the details.
|
571
460
|
* @static
|
572
|
-
* @returns {Database
|
461
|
+
* @returns {Database} - a new Fireproof instance
|
573
462
|
*/
|
574
|
-
static storage: (name?: any, opts?: {}) => Database
|
463
|
+
static storage: (name?: any, opts?: {}) => Database;
|
575
464
|
static fromJSON(primary: any, secondary: any, database: any): any;
|
576
465
|
static snapshot(database: any, clock: any): any;
|
577
466
|
static zoom(database: any, clock: any): Promise<any>;
|