ipfs-http-client
Version:
A client library for the IPFS HTTP API
36 lines • 847 B
JavaScript
export function encodeEndpoint(url) {
const href = String(url);
if (href === 'undefined') {
throw Error('endpoint is required');
}
return href[href.length - 1] === '/' ? href.slice(0, -1) : href;
}
export function decodeRemoteService(json) {
return {
service: json.Service,
endpoint: new URL(json.ApiEndpoint),
...json.Stat && { stat: decodeStat(json.Stat) }
};
}
export function decodeStat(json) {
switch (json.Status) {
case 'valid': {
const {Pinning, Pinned, Queued, Failed} = json.PinCount;
return {
status: 'valid',
pinCount: {
queued: Queued,
pinning: Pinning,
pinned: Pinned,
failed: Failed
}
};
}
case 'invalid': {
return { status: 'invalid' };
}
default: {
return { status: json.Status };
}
}
}