nft.storage
Version:
A client library for the https://nft.storage/ service. It provides a convenient interface for working with the HTTP API from a web browser or Node.js
1 lines • 2.37 kB
Source Map (JSON)
{"version":3,"file":"bs-car-reader.cjs","sources":["../../src/bs-car-reader.js"],"sourcesContent":["/**\n * An implementation of the CAR reader interface that is backed by a blockstore.\n *\n * @typedef {import('multiformats').CID} CID\n * @typedef {import('@ipld/car/api').CarReader} CarReader\n * @implements {CarReader}\n */\nexport class BlockstoreCarReader {\n /**\n * @param {number} version\n * @param {CID[]} roots\n * @param {import('ipfs-car/blockstore').Blockstore} blockstore\n */\n constructor(version, roots, blockstore) {\n /**\n * @private\n */\n this._version = version\n /**\n * @private\n */\n this._roots = roots\n /**\n * @private\n */\n this._blockstore = blockstore\n }\n\n get version() {\n return this._version\n }\n\n get blockstore() {\n return this._blockstore\n }\n\n async getRoots() {\n return this._roots\n }\n\n /**\n * @param {CID} cid\n */\n has(cid) {\n return this._blockstore.has(cid)\n }\n\n /**\n * @param {CID} cid\n */\n async get(cid) {\n const bytes = await this._blockstore.get(cid)\n return { cid, bytes }\n }\n\n blocks() {\n return this._blockstore.blocks()\n }\n\n async *cids() {\n for await (const b of this.blocks()) {\n yield b.cid\n }\n }\n}\n"],"names":[],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAM,mBAAmB,CAAC;AACjC;AACA;AACA;AACA;AACA;AACA,EAAE,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE;AAC1C;AACA;AACA;AACA,IAAI,IAAI,CAAC,QAAQ,GAAG,QAAO;AAC3B;AACA;AACA;AACA,IAAI,IAAI,CAAC,MAAM,GAAG,MAAK;AACvB;AACA;AACA;AACA,IAAI,IAAI,CAAC,WAAW,GAAG,WAAU;AACjC,GAAG;AACH;AACA,EAAE,IAAI,OAAO,GAAG;AAChB,IAAI,OAAO,IAAI,CAAC,QAAQ;AACxB,GAAG;AACH;AACA,EAAE,IAAI,UAAU,GAAG;AACnB,IAAI,OAAO,IAAI,CAAC,WAAW;AAC3B,GAAG;AACH;AACA,EAAE,MAAM,QAAQ,GAAG;AACnB,IAAI,OAAO,IAAI,CAAC,MAAM;AACtB,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE,GAAG,CAAC,GAAG,EAAE;AACX,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC;AACpC,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE;AACjB,IAAI,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,EAAC;AACjD,IAAI,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE;AACzB,GAAG;AACH;AACA,EAAE,MAAM,GAAG;AACX,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;AACpC,GAAG;AACH;AACA,EAAE,OAAO,IAAI,GAAG;AAChB,IAAI,WAAW,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;AACzC,MAAM,MAAM,CAAC,CAAC,IAAG;AACjB,KAAK;AACL,GAAG;AACH;;;;"}