import { deleteManyBlockstoreItems, getManyBlockstoreItems, putManyBlockstoreItems, } from './blockstore-utils.js';
/**
 * Mock implementation for the Blockstore interface.
 *
 * WARNING!!! Purely to be used with `ipfs-unixfs-importer` to compute CID without needing consume any memory.
 * This is particularly useful when dealing with large files and a necessity in a large-scale production service environment.
 */
export class BlockstoreMock {
    async open() {
    }
    async close() {
    }
    async put(key, _val, _options) {
        return key;
    }
    async *get(_key, _options) {
        yield new Uint8Array();
    }
    async has(_key, _options) {
        return false;
    }
    async delete(_key, _options) {
        return;
    }
    async isEmpty(_options) {
        return true;
    }
    async *putMany(source, options) {
        yield* putManyBlockstoreItems(this, source, options);
    }
    async *getMany(source, options) {
        yield* getManyBlockstoreItems(this, source, options);
    }
    async *getAll(_options) {
        yield* [];
    }
    async *deleteMany(source, options) {
        yield* deleteManyBlockstoreItems(this, source, options);
    }
    /**
     * deletes all entries
     */
    async clear() {
    }
}
//# sourceMappingURL=blockstore-mock.js.map