kubo-rpc-client-esm-cjs
Version:
A client library for the Kubo RPC API
170 lines • 8.49 kB
JavaScript
"use strict";
/* eslint-env browser */
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.globSource = exports.urlSource = exports.multiaddr = exports.CID = exports.create = void 0;
const multibases_1 = require("ipfs-core-utils/multibases");
const multicodecs_1 = require("ipfs-core-utils/multicodecs");
const multihashes_1 = require("ipfs-core-utils/multihashes");
const dagPB = __importStar(require("@ipld/dag-pb"));
const dagCBOR = __importStar(require("@ipld/dag-cbor"));
const dagJSON = __importStar(require("@ipld/dag-json"));
const dagJOSE = __importStar(require("dag-jose"));
const identity_1 = require("multiformats/hashes/identity");
const basics_1 = require("multiformats/basics");
const index_js_1 = require("./bitswap/index.js");
const index_js_2 = require("./block/index.js");
const index_js_3 = require("./bootstrap/index.js");
const index_js_4 = require("./config/index.js");
const index_js_5 = require("./dag/index.js");
const index_js_6 = require("./dht/index.js");
const index_js_7 = require("./diag/index.js");
const index_js_8 = require("./files/index.js");
const index_js_9 = require("./key/index.js");
const index_js_10 = require("./log/index.js");
const index_js_11 = require("./name/index.js");
const index_js_12 = require("./object/index.js");
const index_js_13 = require("./pin/index.js");
const index_js_14 = require("./pubsub/index.js");
const index_js_15 = require("./refs/index.js");
const index_js_16 = require("./repo/index.js");
const index_js_17 = require("./stats/index.js");
const index_js_18 = require("./swarm/index.js");
const add_js_1 = require("./add.js");
const add_all_js_1 = require("./add-all.js");
const cat_js_1 = require("./cat.js");
const commands_js_1 = require("./commands.js");
const dns_js_1 = require("./dns.js");
const get_endpoint_config_js_1 = require("./get-endpoint-config.js");
const get_js_1 = require("./get.js");
const id_js_1 = require("./id.js");
const is_online_js_1 = require("./is-online.js");
const ls_js_1 = require("./ls.js");
const mount_js_1 = require("./mount.js");
const ping_js_1 = require("./ping.js");
const resolve_js_1 = require("./resolve.js");
const start_js_1 = require("./start.js");
const stop_js_1 = require("./stop.js");
const version_js_1 = require("./version.js");
const glob_source_js_1 = __importDefault(require("ipfs-utils/src/files/glob-source.js"));
/**
*
* @typedef {import('./types').Options} Options
* @typedef {import('./types').LoadBaseFn} LoadBaseFn
* @typedef {import('./types').LoadCodecFn} LoadCodecFn
* @typedef {import('./types').LoadHasherFn} LoadHasherFn
* @typedef {import('./types').IPLDOptions} IPLDOptions
* @typedef {import('./types').HTTPClientExtraOptions} HTTPClientExtraOptions
* @typedef {import('./types').EndpointConfig} EndpointConfig
* @typedef {import('./types').IPFSHTTPClient} IPFSHTTPClient
*/
/**
* @param {import('./types').Options} options
*/
function create(options = {}) {
/**
* @type {import('./types').BlockCodec}
*/
const id = {
name: identity_1.identity.name,
code: identity_1.identity.code,
encode: (id) => id,
decode: (id) => id
};
/** @type {import('./types').MultibaseCodec[]} */
const multibaseCodecs = Object.values(basics_1.bases);
(options.ipld && options.ipld.bases ? options.ipld.bases : []).forEach(base => multibaseCodecs.push(base));
const multibases = new multibases_1.Multibases({
bases: multibaseCodecs,
loadBase: options.ipld && options.ipld.loadBase
});
/** @type {import('./types').BlockCodec[]} */
const blockCodecs = Object.values(basics_1.codecs);
[dagPB, dagCBOR, dagJSON, dagJOSE, id].concat((options.ipld && options.ipld.codecs) || []).forEach(codec => blockCodecs.push(codec));
const multicodecs = new multicodecs_1.Multicodecs({
codecs: blockCodecs,
loadCodec: options.ipld && options.ipld.loadCodec
});
/** @type {import('./types').MultihashHasher[]} */
const multihashHashers = Object.values(basics_1.hashes);
(options.ipld && options.ipld.hashers ? options.ipld.hashers : []).forEach(hasher => multihashHashers.push(hasher));
const multihashes = new multihashes_1.Multihashes({
hashers: multihashHashers,
loadHasher: options.ipld && options.ipld.loadHasher
});
/** @type {IPFSHTTPClient} */
const client = {
add: (0, add_js_1.createAdd)(options),
addAll: (0, add_all_js_1.createAddAll)(options),
bitswap: (0, index_js_1.createBitswap)(options),
block: (0, index_js_2.createBlock)(options),
bootstrap: (0, index_js_3.createBootstrap)(options),
cat: (0, cat_js_1.createCat)(options),
commands: (0, commands_js_1.createCommands)(options),
config: (0, index_js_4.createConfig)(options),
dag: (0, index_js_5.createDag)(multicodecs, options),
dht: (0, index_js_6.createDht)(options),
diag: (0, index_js_7.createDiag)(options),
dns: (0, dns_js_1.createDns)(options),
files: (0, index_js_8.createFiles)(options),
get: (0, get_js_1.createGet)(options),
getEndpointConfig: (0, get_endpoint_config_js_1.createGetEndpointConfig)(options),
id: (0, id_js_1.createId)(options),
isOnline: (0, is_online_js_1.createIsOnline)(options),
key: /** @type {import('./types').IPFS<HTTPClientExtraOptions>['key']} */ ((0, index_js_9.createKey)(options)),
log: (0, index_js_10.createLog)(options),
ls: (0, ls_js_1.createLs)(options),
mount: (0, mount_js_1.createMount)(options),
name: /** @type {import('./types').IPFS<HTTPClientExtraOptions>['name']} */ ((0, index_js_11.createName)(options)),
object: (0, index_js_12.createObject)(multicodecs, options),
pin: /** @type {import('./types').IPFS<HTTPClientExtraOptions>['pin']} */ ((0, index_js_13.createPin)(options)),
ping: (0, ping_js_1.createPing)(options),
pubsub: (0, index_js_14.createPubsub)(options),
refs: (0, index_js_15.createRefs)(options),
repo: (0, index_js_16.createRepo)(options),
resolve: (0, resolve_js_1.createResolve)(options),
start: (0, start_js_1.createStart)(options),
stats: (0, index_js_17.createStats)(options),
stop: (0, stop_js_1.createStop)(options),
swarm: /** @type {import('./types').IPFS<HTTPClientExtraOptions>['swarm']} */ ((0, index_js_18.createSwarm)(options)),
version: /** @type {import('./types').IPFS<HTTPClientExtraOptions>['version']} */ ((0, version_js_1.createVersion)(options)),
bases: multibases,
codecs: multicodecs,
hashers: multihashes
};
return client;
}
exports.create = create;
var cid_1 = require("multiformats/cid");
Object.defineProperty(exports, "CID", { enumerable: true, get: function () { return cid_1.CID; } });
var multiaddr_1 = require("@multiformats/multiaddr");
Object.defineProperty(exports, "multiaddr", { enumerable: true, get: function () { return multiaddr_1.multiaddr; } });
var url_source_js_1 = require("ipfs-utils/src/files/url-source.js");
Object.defineProperty(exports, "urlSource", { enumerable: true, get: function () { return __importDefault(url_source_js_1).default; } });
exports.globSource = glob_source_js_1.default;
//# sourceMappingURL=index.js.map