@fireproof/core 0.15.1 → 0.16.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/LICENSE.md +232 -0
- package/README.md +2 -0
- package/dist/browser/fireproof.cjs +27910 -14036
- package/dist/browser/fireproof.cjs.map +4 -4
- package/dist/browser/fireproof.esm.js +27910 -14036
- package/dist/browser/fireproof.esm.js.map +4 -4
- package/dist/browser/fireproof.iife.js +27910 -14036
- package/dist/browser/fireproof.iife.js.map +4 -4
- package/dist/node/fireproof.cjs +37969 -24187
- package/dist/node/fireproof.cjs.map +4 -4
- package/dist/node/fireproof.esm.js +37978 -24185
- package/dist/node/fireproof.esm.js.map +4 -4
- package/dist/types/crdt-clock.d.ts +2 -2
- package/dist/types/crdt-helpers.d.ts +9 -14
- package/dist/types/crdt.d.ts +8 -9
- package/dist/types/database.d.ts +6 -6
- package/dist/types/eb-edge.d.ts +0 -0
- package/dist/types/eb-node.d.ts +3 -0
- package/dist/types/eb-web.d.ts +3 -0
- package/dist/types/fireproof.d.ts +0 -4
- package/dist/types/index.d.ts +3 -3
- package/dist/types/indexer-helpers.d.ts +3 -3
- package/dist/types/types.d.ts +35 -69
- package/dist/types/version.d.ts +1 -1
- package/dist/types/write-queue.d.ts +3 -3
- package/package.json +31 -30
- package/dist/memory/fireproof.esm.js +0 -21349
- package/dist/memory/fireproof.esm.js.map +0 -7
- package/dist/types/commit-queue.d.ts +0 -6
- package/dist/types/crypto-ipld.d.ts +0 -20
- package/dist/types/crypto-node.d.ts +0 -4
- package/dist/types/crypto-web.d.ts +0 -4
- package/dist/types/encrypt-helpers.d.ts +0 -8
- package/dist/types/encrypted-block.d.ts +0 -44
- package/dist/types/loader-helpers.d.ts +0 -5
- package/dist/types/loader.d.ts +0 -62
- package/dist/types/loaders.d.ts +0 -51
- package/dist/types/remote-wal.d.ts +0 -26
- package/dist/types/store-browser.d.ts +0 -24
- package/dist/types/store-fs.d.ts +0 -26
- package/dist/types/store-memory.d.ts +0 -24
- package/dist/types/store.d.ts +0 -28
- package/dist/types/transaction.d.ts +0 -50
| @@ -1,20 +0,0 @@ | |
| 1 | 
            -
            import type { AnyBlock, AnyLink } from './types.js';
         | 
| 2 | 
            -
            import type { MultihashHasher } from 'multiformats';
         | 
| 3 | 
            -
            declare const encrypt: ({ get, cids, hasher, key, cache, chunker, root }: {
         | 
| 4 | 
            -
                get: (cid: AnyLink) => Promise<AnyBlock | undefined>;
         | 
| 5 | 
            -
                key: ArrayBuffer;
         | 
| 6 | 
            -
                cids: AnyLink[];
         | 
| 7 | 
            -
                hasher: MultihashHasher<number>;
         | 
| 8 | 
            -
                chunker: (bytes: Uint8Array) => AsyncGenerator<Uint8Array>;
         | 
| 9 | 
            -
                cache: (cid: AnyLink) => Promise<AnyBlock>;
         | 
| 10 | 
            -
                root: AnyLink;
         | 
| 11 | 
            -
            }) => AsyncGenerator<any, void, unknown>;
         | 
| 12 | 
            -
            declare const decrypt: ({ root, get, key, cache, chunker, hasher }: {
         | 
| 13 | 
            -
                root: AnyLink;
         | 
| 14 | 
            -
                get: (cid: AnyLink) => Promise<AnyBlock | undefined>;
         | 
| 15 | 
            -
                key: ArrayBuffer;
         | 
| 16 | 
            -
                cache: (cid: AnyLink) => Promise<AnyBlock>;
         | 
| 17 | 
            -
                chunker: (bytes: Uint8Array) => AsyncGenerator<Uint8Array>;
         | 
| 18 | 
            -
                hasher: MultihashHasher<number>;
         | 
| 19 | 
            -
            }) => AsyncGenerator<AnyBlock, void, undefined>;
         | 
| 20 | 
            -
            export { encrypt, decrypt };
         | 
| @@ -1,8 +0,0 @@ | |
| 1 | 
            -
            import type { CarReader } from '@ipld/car';
         | 
| 2 | 
            -
            import type { AnyBlock, CarMakeable, AnyLink } from './types';
         | 
| 3 | 
            -
            import { MemoryBlockstore } from '@alanshaw/pail/block';
         | 
| 4 | 
            -
            export declare function encryptedEncodeCarFile(key: string, rootCid: AnyLink, t: CarMakeable): Promise<AnyBlock>;
         | 
| 5 | 
            -
            export declare function decodeEncryptedCar(key: string, reader: CarReader): Promise<{
         | 
| 6 | 
            -
                blocks: MemoryBlockstore;
         | 
| 7 | 
            -
                root: AnyLink;
         | 
| 8 | 
            -
            }>;
         | 
| @@ -1,44 +0,0 @@ | |
| 1 | 
            -
            import type { AnyLink } from './types';
         | 
| 2 | 
            -
            declare const encode: ({ iv, bytes }: {
         | 
| 3 | 
            -
                iv: Uint8Array;
         | 
| 4 | 
            -
                bytes: Uint8Array;
         | 
| 5 | 
            -
            }) => Uint8Array;
         | 
| 6 | 
            -
            declare const decode: (bytes: Uint8Array) => {
         | 
| 7 | 
            -
                iv: Uint8Array;
         | 
| 8 | 
            -
                bytes: Uint8Array;
         | 
| 9 | 
            -
            };
         | 
| 10 | 
            -
            declare const code: number;
         | 
| 11 | 
            -
            declare const decrypt: ({ key, value }: {
         | 
| 12 | 
            -
                key: ArrayBuffer;
         | 
| 13 | 
            -
                value: {
         | 
| 14 | 
            -
                    bytes: Uint8Array;
         | 
| 15 | 
            -
                    iv: Uint8Array;
         | 
| 16 | 
            -
                };
         | 
| 17 | 
            -
            }) => Promise<{
         | 
| 18 | 
            -
                cid: AnyLink;
         | 
| 19 | 
            -
                bytes: Uint8Array;
         | 
| 20 | 
            -
            }>;
         | 
| 21 | 
            -
            declare const encrypt: ({ key, cid, bytes }: {
         | 
| 22 | 
            -
                key: ArrayBuffer;
         | 
| 23 | 
            -
                cid: AnyLink;
         | 
| 24 | 
            -
                bytes: Uint8Array;
         | 
| 25 | 
            -
            }) => Promise<{
         | 
| 26 | 
            -
                value: {
         | 
| 27 | 
            -
                    bytes: Uint8Array;
         | 
| 28 | 
            -
                    iv: Uint8Array;
         | 
| 29 | 
            -
                };
         | 
| 30 | 
            -
            }>;
         | 
| 31 | 
            -
            declare const cryptoFn: (key: Uint8Array) => {
         | 
| 32 | 
            -
                encrypt: (opts: any) => Promise<{
         | 
| 33 | 
            -
                    value: {
         | 
| 34 | 
            -
                        bytes: Uint8Array;
         | 
| 35 | 
            -
                        iv: Uint8Array;
         | 
| 36 | 
            -
                    };
         | 
| 37 | 
            -
                }>;
         | 
| 38 | 
            -
                decrypt: (opts: any) => Promise<{
         | 
| 39 | 
            -
                    cid: AnyLink;
         | 
| 40 | 
            -
                    bytes: Uint8Array;
         | 
| 41 | 
            -
                }>;
         | 
| 42 | 
            -
            };
         | 
| 43 | 
            -
            declare const name = "jchris@encrypted-block:aes-gcm";
         | 
| 44 | 
            -
            export { encode, decode, code, name, encrypt, decrypt, cryptoFn as crypto };
         | 
| @@ -1,5 +0,0 @@ | |
| 1 | 
            -
            import { CarReader } from '@ipld/car';
         | 
| 2 | 
            -
            import { AnyBlock, AnyCarHeader, AnyLink, CarMakeable } from './types';
         | 
| 3 | 
            -
            export declare function encodeCarFile(roots: AnyLink[], t: CarMakeable): Promise<AnyBlock>;
         | 
| 4 | 
            -
            export declare function encodeCarHeader(fp: AnyCarHeader): Promise<AnyBlock>;
         | 
| 5 | 
            -
            export declare function parseCarFile(reader: CarReader): Promise<AnyCarHeader>;
         | 
    
        package/dist/types/loader.d.ts
    DELETED
    
    | @@ -1,62 +0,0 @@ | |
| 1 | 
            -
            import { CarReader } from '@ipld/car';
         | 
| 2 | 
            -
            import { DataStore, MetaStore, RemoteWAL } from './store-browser';
         | 
| 3 | 
            -
            import { DataStore as AbstractDataStore, MetaStore as AbstractMetaStore } from './store';
         | 
| 4 | 
            -
            import type { Transaction } from './transaction';
         | 
| 5 | 
            -
            import type { AnyBlock, AnyCarHeader, AnyLink, BulkResult, CarLoaderHeader, CommitOpts, DbMeta, FileCarHeader, FileResult, FireproofOptions } from './types';
         | 
| 6 | 
            -
            import { type IndexerResult } from './loaders';
         | 
| 7 | 
            -
            import { CommitQueue } from './commit-queue';
         | 
| 8 | 
            -
            export declare function cidListIncludes(list: AnyLink[], cid: AnyLink): boolean;
         | 
| 9 | 
            -
            export declare function uniqueCids(list: AnyLink[], remove?: Set<string>): AnyLink[];
         | 
| 10 | 
            -
            export declare function toHexString(byteArray: Uint8Array): string;
         | 
| 11 | 
            -
            declare abstract class AbstractRemoteMetaStore extends AbstractMetaStore {
         | 
| 12 | 
            -
                abstract handleByteHeads(byteHeads: Uint8Array[], branch?: string): Promise<DbMeta[]>;
         | 
| 13 | 
            -
            }
         | 
| 14 | 
            -
            export declare abstract class Loader {
         | 
| 15 | 
            -
                name: string;
         | 
| 16 | 
            -
                opts: FireproofOptions;
         | 
| 17 | 
            -
                commitQueue: CommitQueue<AnyLink>;
         | 
| 18 | 
            -
                isCompacting: boolean;
         | 
| 19 | 
            -
                isWriting: boolean;
         | 
| 20 | 
            -
                remoteMetaLoading: Promise<void> | undefined;
         | 
| 21 | 
            -
                remoteMetaStore: AbstractRemoteMetaStore | undefined;
         | 
| 22 | 
            -
                remoteCarStore: AbstractDataStore | undefined;
         | 
| 23 | 
            -
                remoteWAL: RemoteWAL;
         | 
| 24 | 
            -
                metaStore: MetaStore;
         | 
| 25 | 
            -
                carStore: DataStore;
         | 
| 26 | 
            -
                carLog: AnyLink[];
         | 
| 27 | 
            -
                carReaders: Map<string, Promise<CarReader>>;
         | 
| 28 | 
            -
                ready: Promise<void>;
         | 
| 29 | 
            -
                key: string | undefined;
         | 
| 30 | 
            -
                keyId: string | undefined;
         | 
| 31 | 
            -
                seenCompacted: Set<string>;
         | 
| 32 | 
            -
                private getBlockCache;
         | 
| 33 | 
            -
                private seenMeta;
         | 
| 34 | 
            -
                static defaultHeader: AnyCarHeader;
         | 
| 35 | 
            -
                abstract defaultHeader: AnyCarHeader;
         | 
| 36 | 
            -
                constructor(name: string, opts?: FireproofOptions);
         | 
| 37 | 
            -
                snapToCar(carCid: AnyLink | string): Promise<void>;
         | 
| 38 | 
            -
                _readyForMerge(): Promise<void>;
         | 
| 39 | 
            -
                _setWaitForWrite(_writing: () => Promise<void>): Promise<void>;
         | 
| 40 | 
            -
                handleDbMetasFromStore(metas: DbMeta[]): Promise<void>;
         | 
| 41 | 
            -
                mergeDbMetaIntoClock(meta: DbMeta): Promise<void>;
         | 
| 42 | 
            -
                protected ingestKeyFromMeta(meta: DbMeta): Promise<void>;
         | 
| 43 | 
            -
                loadCarHeaderFromMeta({ car: cid }: DbMeta): Promise<CarLoaderHeader>;
         | 
| 44 | 
            -
                protected abstract _applyCarHeader(_carHeader: CarLoaderHeader, snap?: boolean): Promise<void>;
         | 
| 45 | 
            -
                _getKey(): Promise<string | undefined>;
         | 
| 46 | 
            -
                commit(t: Transaction, done: IndexerResult | BulkResult | FileResult, opts?: CommitOpts): Promise<AnyLink>;
         | 
| 47 | 
            -
                _commitInternal(t: Transaction, done: IndexerResult | BulkResult | FileResult, opts?: CommitOpts): Promise<AnyLink>;
         | 
| 48 | 
            -
                flushCars(): Promise<void>;
         | 
| 49 | 
            -
                entries(): AsyncIterableIterator<AnyBlock>;
         | 
| 50 | 
            -
                getBlock(cid: AnyLink): Promise<AnyBlock | undefined>;
         | 
| 51 | 
            -
                protected abstract makeCarHeader(_result: BulkResult | IndexerResult | FileResult, _cars: AnyLink[], _compact: boolean): AnyCarHeader | FileCarHeader;
         | 
| 52 | 
            -
                protected loadCar(cid: AnyLink): Promise<CarReader>;
         | 
| 53 | 
            -
                protected storesLoadCar(cid: AnyLink, local: AbstractDataStore, remote?: AbstractDataStore, publicFiles?: boolean): Promise<CarReader>;
         | 
| 54 | 
            -
                protected ensureDecryptedReader(reader: CarReader): Promise<CarReader>;
         | 
| 55 | 
            -
                protected setKey(key: string): Promise<void>;
         | 
| 56 | 
            -
                protected getMoreReaders(cids: AnyLink[]): Promise<void>;
         | 
| 57 | 
            -
            }
         | 
| 58 | 
            -
            export interface Connection {
         | 
| 59 | 
            -
                loader: Loader;
         | 
| 60 | 
            -
                loaded: Promise<void>;
         | 
| 61 | 
            -
            }
         | 
| 62 | 
            -
            export {};
         | 
    
        package/dist/types/loaders.d.ts
    DELETED
    
    | @@ -1,51 +0,0 @@ | |
| 1 | 
            -
            import type { CarReader } from '@ipld/car';
         | 
| 2 | 
            -
            import type { AnyLink, BulkResult, CarCommit, DbCarHeader, FileCarHeader, FileResult, FireproofOptions, IdxCarHeader, IdxMeta, IdxMetaMap } from './types';
         | 
| 3 | 
            -
            import type { CRDT } from './crdt';
         | 
| 4 | 
            -
            import type { CRDTClock } from './crdt-clock';
         | 
| 5 | 
            -
            import { Loader } from './loader';
         | 
| 6 | 
            -
            import type { DataStore as AbstractDataStore } from './store';
         | 
| 7 | 
            -
            import { DataStore } from './store-browser';
         | 
| 8 | 
            -
            import { TransactionBlockstore } from './transaction';
         | 
| 9 | 
            -
            export declare class IdxLoader extends Loader {
         | 
| 10 | 
            -
                crdt: CRDT;
         | 
| 11 | 
            -
                static defaultHeader: {
         | 
| 12 | 
            -
                    cars: never[];
         | 
| 13 | 
            -
                    compact: never[];
         | 
| 14 | 
            -
                    indexes: Map<string, IdxMeta>;
         | 
| 15 | 
            -
                };
         | 
| 16 | 
            -
                defaultHeader: {
         | 
| 17 | 
            -
                    cars: never[];
         | 
| 18 | 
            -
                    compact: never[];
         | 
| 19 | 
            -
                    indexes: Map<string, IdxMeta>;
         | 
| 20 | 
            -
                };
         | 
| 21 | 
            -
                constructor(name: string, crdt: CRDT, opts?: FireproofOptions);
         | 
| 22 | 
            -
                _applyCarHeader(header: IdxCarHeader): Promise<void>;
         | 
| 23 | 
            -
                protected makeCarHeader({ indexes }: IndexerResult, cars: AnyLink[], compact?: boolean): IdxCarHeader;
         | 
| 24 | 
            -
            }
         | 
| 25 | 
            -
            export type IndexerResult = CarCommit & IdxMetaMap;
         | 
| 26 | 
            -
            export declare class DbLoader extends Loader {
         | 
| 27 | 
            -
                static defaultHeader: {
         | 
| 28 | 
            -
                    cars: never[];
         | 
| 29 | 
            -
                    compact: never[];
         | 
| 30 | 
            -
                    head: never[];
         | 
| 31 | 
            -
                };
         | 
| 32 | 
            -
                defaultHeader: {
         | 
| 33 | 
            -
                    cars: never[];
         | 
| 34 | 
            -
                    compact: never[];
         | 
| 35 | 
            -
                    head: never[];
         | 
| 36 | 
            -
                };
         | 
| 37 | 
            -
                clock: CRDTClock;
         | 
| 38 | 
            -
                awaitingCompact: boolean;
         | 
| 39 | 
            -
                compacting: Promise<AnyLink | void>;
         | 
| 40 | 
            -
                writing: Promise<BulkResult | void>;
         | 
| 41 | 
            -
                remoteFileStore: AbstractDataStore | undefined;
         | 
| 42 | 
            -
                fileStore: DataStore;
         | 
| 43 | 
            -
                constructor(name: string, clock: CRDTClock, opts?: FireproofOptions);
         | 
| 44 | 
            -
                _readyForMerge(): Promise<void>;
         | 
| 45 | 
            -
                _setWaitForWrite(_writingFn: () => Promise<any>): Promise<void>;
         | 
| 46 | 
            -
                compact(blocks: TransactionBlockstore): Promise<void>;
         | 
| 47 | 
            -
                loadFileCar(cid: AnyLink, isPublic?: boolean): Promise<CarReader>;
         | 
| 48 | 
            -
                protected _applyCarHeader(carHeader: DbCarHeader, snap?: boolean): Promise<void>;
         | 
| 49 | 
            -
                protected makeCarHeader(result: BulkResult | FileResult, cars: AnyLink[], compact?: boolean): DbCarHeader | FileCarHeader;
         | 
| 50 | 
            -
            }
         | 
| 51 | 
            -
            export declare function isFileResult(result: IndexerResult | BulkResult | FileResult): result is FileResult;
         | 
| @@ -1,26 +0,0 @@ | |
| 1 | 
            -
            import { AnyLink, CommitOpts, DbMeta } from './types';
         | 
| 2 | 
            -
            import { type Loader } from './loader';
         | 
| 3 | 
            -
            export type WALState = {
         | 
| 4 | 
            -
                operations: DbMeta[];
         | 
| 5 | 
            -
                noLoaderOps: DbMeta[];
         | 
| 6 | 
            -
                fileOperations: {
         | 
| 7 | 
            -
                    cid: AnyLink;
         | 
| 8 | 
            -
                    public: boolean;
         | 
| 9 | 
            -
                }[];
         | 
| 10 | 
            -
            };
         | 
| 11 | 
            -
            export declare abstract class RemoteWAL {
         | 
| 12 | 
            -
                tag: string;
         | 
| 13 | 
            -
                STORAGE_VERSION: string;
         | 
| 14 | 
            -
                loader: Loader;
         | 
| 15 | 
            -
                ready: Promise<void>;
         | 
| 16 | 
            -
                walState: WALState;
         | 
| 17 | 
            -
                processing: Promise<void> | undefined;
         | 
| 18 | 
            -
                private processQueue;
         | 
| 19 | 
            -
                constructor(loader: Loader);
         | 
| 20 | 
            -
                enqueue(dbMeta: DbMeta, opts: CommitOpts): Promise<void>;
         | 
| 21 | 
            -
                enqueueFile(fileCid: AnyLink, publicFile?: boolean): Promise<void>;
         | 
| 22 | 
            -
                _process(): Promise<void>;
         | 
| 23 | 
            -
                _doProcess(): Promise<void>;
         | 
| 24 | 
            -
                abstract load(branch?: string): Promise<WALState | null>;
         | 
| 25 | 
            -
                abstract save(state: WALState, branch?: string): Promise<void>;
         | 
| 26 | 
            -
            }
         | 
| @@ -1,24 +0,0 @@ | |
| 1 | 
            -
            import { IDBPDatabase } from 'idb';
         | 
| 2 | 
            -
            import { AnyBlock, AnyLink, DbMeta } from './types';
         | 
| 3 | 
            -
            import { DataStore as DataStoreBase, MetaStore as MetaStoreBase } from './store';
         | 
| 4 | 
            -
            import { RemoteWAL as RemoteWALBase, WALState } from './remote-wal';
         | 
| 5 | 
            -
            export declare class DataStore extends DataStoreBase {
         | 
| 6 | 
            -
                tag: string;
         | 
| 7 | 
            -
                idb: IDBPDatabase<unknown> | null;
         | 
| 8 | 
            -
                _withDB(dbWorkFun: (arg0: any) => any): Promise<any>;
         | 
| 9 | 
            -
                load(cid: AnyLink): Promise<AnyBlock>;
         | 
| 10 | 
            -
                save(car: AnyBlock): Promise<void>;
         | 
| 11 | 
            -
                remove(cid: AnyLink): Promise<void>;
         | 
| 12 | 
            -
            }
         | 
| 13 | 
            -
            export declare class RemoteWAL extends RemoteWALBase {
         | 
| 14 | 
            -
                tag: string;
         | 
| 15 | 
            -
                headerKey(branch: string): string;
         | 
| 16 | 
            -
                load(branch?: string): Promise<WALState | null>;
         | 
| 17 | 
            -
                save(state: WALState, branch?: string): Promise<void>;
         | 
| 18 | 
            -
            }
         | 
| 19 | 
            -
            export declare class MetaStore extends MetaStoreBase {
         | 
| 20 | 
            -
                tag: string;
         | 
| 21 | 
            -
                headerKey(branch: string): string;
         | 
| 22 | 
            -
                load(branch?: string): Promise<DbMeta[] | null>;
         | 
| 23 | 
            -
                save(meta: DbMeta, branch?: string): Promise<null>;
         | 
| 24 | 
            -
            }
         | 
    
        package/dist/types/store-fs.d.ts
    DELETED
    
    | @@ -1,26 +0,0 @@ | |
| 1 | 
            -
            import type { AnyBlock, AnyLink, DbMeta } from './types';
         | 
| 2 | 
            -
            import { MetaStore as MetaStoreBase, DataStore as DataStoreBase } from './store';
         | 
| 3 | 
            -
            import { RemoteWAL as RemoteWALBase, WALState } from './remote-wal';
         | 
| 4 | 
            -
            export declare class RemoteWAL extends RemoteWALBase {
         | 
| 5 | 
            -
                filePathForBranch(branch: string): string;
         | 
| 6 | 
            -
                load(branch?: string): Promise<WALState | null>;
         | 
| 7 | 
            -
                save(state: WALState, branch?: string): Promise<void>;
         | 
| 8 | 
            -
            }
         | 
| 9 | 
            -
            export declare class MetaStore extends MetaStoreBase {
         | 
| 10 | 
            -
                tag: string;
         | 
| 11 | 
            -
                static dataDir: string;
         | 
| 12 | 
            -
                filePathForBranch(branch: string): string;
         | 
| 13 | 
            -
                load(branch?: string): Promise<DbMeta[] | null>;
         | 
| 14 | 
            -
                save(meta: DbMeta, branch?: string): Promise<null>;
         | 
| 15 | 
            -
            }
         | 
| 16 | 
            -
            export declare const testConfig: {
         | 
| 17 | 
            -
                dataDir: string;
         | 
| 18 | 
            -
            };
         | 
| 19 | 
            -
            export declare class DataStore extends DataStoreBase {
         | 
| 20 | 
            -
                tag: string;
         | 
| 21 | 
            -
                static dataDir: string;
         | 
| 22 | 
            -
                save(car: AnyBlock): Promise<void>;
         | 
| 23 | 
            -
                private cidPath;
         | 
| 24 | 
            -
                load(cid: AnyLink): Promise<AnyBlock>;
         | 
| 25 | 
            -
                remove(cid: AnyLink): Promise<void>;
         | 
| 26 | 
            -
            }
         | 
| @@ -1,24 +0,0 @@ | |
| 1 | 
            -
            import { AnyBlock, AnyLink, DbMeta } from './types';
         | 
| 2 | 
            -
            import { DataStore as DataStoreBase, MetaStore as MetaStoreBase } from './store';
         | 
| 3 | 
            -
            import { RemoteWAL as RemoteWALBase, WALState } from './remote-wal';
         | 
| 4 | 
            -
            export declare class DataStore extends DataStoreBase {
         | 
| 5 | 
            -
                tag: string;
         | 
| 6 | 
            -
                store: Map<string, Uint8Array>;
         | 
| 7 | 
            -
                load(cid: AnyLink): Promise<AnyBlock>;
         | 
| 8 | 
            -
                save(car: AnyBlock): Promise<void>;
         | 
| 9 | 
            -
                remove(cid: AnyLink): Promise<void>;
         | 
| 10 | 
            -
            }
         | 
| 11 | 
            -
            export declare class MetaStore extends MetaStoreBase {
         | 
| 12 | 
            -
                tag: string;
         | 
| 13 | 
            -
                store: Map<string, string>;
         | 
| 14 | 
            -
                headerKey(branch: string): string;
         | 
| 15 | 
            -
                load(branch?: string): Promise<DbMeta[] | null>;
         | 
| 16 | 
            -
                save(meta: DbMeta, branch?: string): Promise<null>;
         | 
| 17 | 
            -
            }
         | 
| 18 | 
            -
            export declare class RemoteWAL extends RemoteWALBase {
         | 
| 19 | 
            -
                tag: string;
         | 
| 20 | 
            -
                store: Map<string, string>;
         | 
| 21 | 
            -
                headerKey(branch: string): string;
         | 
| 22 | 
            -
                load(branch?: string): Promise<WALState | null>;
         | 
| 23 | 
            -
                save(state: WALState, branch?: string): Promise<void>;
         | 
| 24 | 
            -
            }
         | 
    
        package/dist/types/store.d.ts
    DELETED
    
    | @@ -1,28 +0,0 @@ | |
| 1 | 
            -
            import { ToString } from '@ipld/dag-json';
         | 
| 2 | 
            -
            import { AnyBlock, AnyLink, DbMeta } from './types';
         | 
| 3 | 
            -
            export declare const STORAGE_VERSION: string;
         | 
| 4 | 
            -
            declare abstract class VersionedStore {
         | 
| 5 | 
            -
                STORAGE_VERSION: string;
         | 
| 6 | 
            -
                name: string;
         | 
| 7 | 
            -
                constructor(name: string);
         | 
| 8 | 
            -
            }
         | 
| 9 | 
            -
            export declare abstract class MetaStore extends VersionedStore {
         | 
| 10 | 
            -
                tag: string;
         | 
| 11 | 
            -
                makeHeader({ car, key }: DbMeta): ToString<DbMeta>;
         | 
| 12 | 
            -
                parseHeader(headerData: ToString<DbMeta>): DbMeta;
         | 
| 13 | 
            -
                abstract load(branch?: string): Promise<DbMeta[] | null>;
         | 
| 14 | 
            -
                abstract save(dbMeta: DbMeta, branch?: string): Promise<DbMeta[] | null>;
         | 
| 15 | 
            -
            }
         | 
| 16 | 
            -
            type DataSaveOpts = {
         | 
| 17 | 
            -
                public?: boolean;
         | 
| 18 | 
            -
            };
         | 
| 19 | 
            -
            export declare abstract class DataStore {
         | 
| 20 | 
            -
                tag: string;
         | 
| 21 | 
            -
                STORAGE_VERSION: string;
         | 
| 22 | 
            -
                name: string;
         | 
| 23 | 
            -
                constructor(name: string);
         | 
| 24 | 
            -
                abstract load(cid: AnyLink): Promise<AnyBlock>;
         | 
| 25 | 
            -
                abstract save(car: AnyBlock, opts?: DataSaveOpts): Promise<void | AnyLink>;
         | 
| 26 | 
            -
                abstract remove(cid: AnyLink): Promise<void>;
         | 
| 27 | 
            -
            }
         | 
| 28 | 
            -
            export {};
         | 
| @@ -1,50 +0,0 @@ | |
| 1 | 
            -
            import { MemoryBlockstore } from '@alanshaw/pail/block';
         | 
| 2 | 
            -
            import { BlockFetcher, AnyBlock, AnyLink, BulkResult, ClockHead, IdxMeta, CarCommit, CarMakeable, FireproofOptions } from './types';
         | 
| 3 | 
            -
            import { DbLoader, IdxLoader } from './loaders';
         | 
| 4 | 
            -
            import { CRDT } from './crdt';
         | 
| 5 | 
            -
            import { CRDTClock } from './crdt-clock';
         | 
| 6 | 
            -
            export declare class Transaction extends MemoryBlockstore implements CarMakeable {
         | 
| 7 | 
            -
                parent: FireproofBlockstore;
         | 
| 8 | 
            -
                constructor(parent: FireproofBlockstore);
         | 
| 9 | 
            -
                get(cid: AnyLink): Promise<AnyBlock | undefined>;
         | 
| 10 | 
            -
                superGet(cid: AnyLink): Promise<AnyBlock | undefined>;
         | 
| 11 | 
            -
            }
         | 
| 12 | 
            -
            declare abstract class FireproofBlockstore implements BlockFetcher {
         | 
| 13 | 
            -
                ready: Promise<void>;
         | 
| 14 | 
            -
                name: string | null;
         | 
| 15 | 
            -
                loader: DbLoader | IdxLoader | null;
         | 
| 16 | 
            -
                opts: FireproofOptions;
         | 
| 17 | 
            -
                transactions: Set<Transaction>;
         | 
| 18 | 
            -
                constructor(name: string | null, loader?: DbLoader | IdxLoader, opts?: FireproofOptions);
         | 
| 19 | 
            -
                abstract transaction(fn: (t: Transaction) => Promise<IdxMeta | BulkResult>, indexes?: Map<string, IdxMeta>, opts?: {
         | 
| 20 | 
            -
                    noLoader: boolean;
         | 
| 21 | 
            -
                }): Promise<BulkResultCar | IdxMetaCar>;
         | 
| 22 | 
            -
                put(): Promise<void>;
         | 
| 23 | 
            -
                get(cid: AnyLink): Promise<AnyBlock | undefined>;
         | 
| 24 | 
            -
                commitCompaction(t: Transaction, head: ClockHead): Promise<AnyLink>;
         | 
| 25 | 
            -
                entries(): AsyncIterableIterator<AnyBlock>;
         | 
| 26 | 
            -
                protected executeTransaction<T, R>(fn: (t: Transaction) => Promise<T>, commitHandler: (t: Transaction, done: T) => Promise<{
         | 
| 27 | 
            -
                    car?: AnyLink;
         | 
| 28 | 
            -
                    done: R;
         | 
| 29 | 
            -
                }>): Promise<R>;
         | 
| 30 | 
            -
            }
         | 
| 31 | 
            -
            export declare class IndexBlockstore extends FireproofBlockstore {
         | 
| 32 | 
            -
                constructor(name: string | null, crdt: CRDT, opts?: FireproofOptions);
         | 
| 33 | 
            -
                transaction(fn: (t: Transaction) => Promise<IdxMeta>, indexes: Map<string, IdxMeta>): Promise<IdxMetaCar>;
         | 
| 34 | 
            -
            }
         | 
| 35 | 
            -
            export declare class TransactionBlockstore extends FireproofBlockstore {
         | 
| 36 | 
            -
                constructor(name: string | null, clock: CRDTClock, opts?: FireproofOptions);
         | 
| 37 | 
            -
                transaction(fn: (t: Transaction) => Promise<BulkResult>, _indexes?: undefined, opts?: {
         | 
| 38 | 
            -
                    noLoader: boolean;
         | 
| 39 | 
            -
                }): Promise<BulkResultCar>;
         | 
| 40 | 
            -
            }
         | 
| 41 | 
            -
            type IdxMetaCar = IdxMeta & CarCommit;
         | 
| 42 | 
            -
            type BulkResultCar = BulkResult & CarCommit;
         | 
| 43 | 
            -
            export declare class LoggingFetcher implements BlockFetcher {
         | 
| 44 | 
            -
                blocks: TransactionBlockstore;
         | 
| 45 | 
            -
                loader: DbLoader | IdxLoader | null;
         | 
| 46 | 
            -
                loggedBlocks: Transaction;
         | 
| 47 | 
            -
                constructor(blocks: TransactionBlockstore);
         | 
| 48 | 
            -
                get(cid: AnyLink): Promise<AnyBlock | undefined>;
         | 
| 49 | 
            -
            }
         | 
| 50 | 
            -
            export {};
         |