kubo-rpc-client-esm-cjs
Version:
A client library for the Kubo RPC API
89 lines • 2.57 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.encodeAddParams = exports.encodeQuery = exports.encodeCID = exports.encodeService = exports.decodePin = void 0;
const cid_1 = require("multiformats/cid");
const to_url_search_params_js_1 = require("../../lib/to-url-search-params.js");
/**
* @param {object} json
* @param {string} json.Name
* @param {string} json.Cid
* @param {import('../../types.js').Status} json.Status
* @returns {import('../../types.js').Pin}
*/
const decodePin = ({ Name: name, Status: status, Cid: cid }) => {
return {
cid: cid_1.CID.parse(cid),
name,
status
};
};
exports.decodePin = decodePin;
/**
* @param {any} service
* @returns {string}
*/
const encodeService = (service) => {
if (typeof service === 'string' && service !== '') {
return service;
}
else {
throw new TypeError('service name must be passed');
}
};
exports.encodeService = encodeService;
/**
* @param {any} cid
* @returns {string}
*/
const encodeCID = (cid) => {
if (cid_1.CID.asCID(cid)) {
return cid.toString();
}
else {
throw new TypeError(`CID instance expected instead of ${typeof cid}`);
}
};
exports.encodeCID = encodeCID;
/**
* @param {import('../../types.js').Query & { all?: boolean }} query
* @returns {URLSearchParams}
*/
const encodeQuery = ({ service, cid, name, status, all }) => {
const query = (0, to_url_search_params_js_1.toUrlSearchParams)({
service: (0, exports.encodeService)(service),
name,
force: all ? true : undefined
});
if (cid) {
for (const value of cid) {
query.append('cid', (0, exports.encodeCID)(value));
}
}
if (status) {
for (const value of status) {
query.append('status', value);
}
}
return query;
};
exports.encodeQuery = encodeQuery;
/**
* @param {import('../../types.js').AddOptions & {cid:CID}} options
* @returns {URLSearchParams}
*/
const encodeAddParams = ({ cid, service, background, name, origins }) => {
const params = (0, to_url_search_params_js_1.toUrlSearchParams)({
arg: (0, exports.encodeCID)(cid),
service: (0, exports.encodeService)(service),
name,
background: background ? true : undefined
});
if (origins) {
for (const origin of origins) {
params.append('origin', origin.toString());
}
}
return params;
};
exports.encodeAddParams = encodeAddParams;
//# sourceMappingURL=utils.js.map