UNPKG

kubo-rpc-client-esm-cjs

Version:
57 lines 2.75 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createGet = void 0; const configure_js_1 = require("../lib/configure.js"); const resolve_js_1 = require("../lib/resolve.js"); const it_first_1 = __importDefault(require("it-first")); const it_last_1 = __importDefault(require("it-last")); const err_code_1 = __importDefault(require("err-code")); const get_js_1 = require("../block/get.js"); /** * @param {import('../types').Multicodecs} codecs * @param {import('../types').Options} options */ const createGet = (codecs, options) => { const fn = (0, configure_js_1.configure)((api, opts) => { const getBlock = (0, get_js_1.createGet)(opts); /** * @type {import('../types').DAGAPI["get"]} */ const get = (cid, options = {}) => __awaiter(void 0, void 0, void 0, function* () { if (options.path) { const entry = options.localResolve ? yield (0, it_first_1.default)((0, resolve_js_1.resolve)(cid, options.path, codecs, getBlock, options)) : yield (0, it_last_1.default)((0, resolve_js_1.resolve)(cid, options.path, codecs, getBlock, options)); /** @type {import('../types').GetResult | undefined} - first and last will return undefined when empty */ const result = (entry); if (!result) { throw (0, err_code_1.default)(new Error('Not found'), 'ERR_NOT_FOUND'); } return result; } const codec = yield codecs.getCodec(cid.code); const block = yield getBlock(cid, options); const node = codec.decode(block); return { value: node, remainderPath: '' }; }); return get; }); return fn(options); }; exports.createGet = createGet; //# sourceMappingURL=get.js.map