frakt-client
Version:
Client library for interacting with FRAKT solana program
38 lines (37 loc) • 1.19 kB
JavaScript
;
// export * from './eventEmitter';
// export * from './ids';
// export * as Layout from './layout';
// export * from './strings';
// export * as shortvec from './shortvec';
// export * from './borsh';
Object.defineProperty(exports, "__esModule", { value: true });
exports.uriToCid = exports.ipfsUriToGatewayUrl = exports.ipfsUriToCid = void 0;
function ipfsUriToCid(uri) {
const baseRegex = /^ipfs:\/\//;
const ipfsRegex = new RegExp(baseRegex.source + ".+");
if (ipfsRegex.test(uri)) {
return uri.replace(baseRegex, "");
}
return null;
}
exports.ipfsUriToCid = ipfsUriToCid;
function ipfsUriToGatewayUrl(uri) {
const ipfsHost = "https://ipfs.io";
const cid = ipfsUriToCid(uri);
return cid ? `${ipfsHost}/ipfs/${cid}` : uri;
}
exports.ipfsUriToGatewayUrl = ipfsUriToGatewayUrl;
function uriToCid(uri) {
const ipfsUriCid = ipfsUriToCid(uri);
if (ipfsUriCid) {
return ipfsUriCid;
}
const baseRegex = /^https:\/\/.*\/ipfs\//;
const httpRegex = new RegExp(baseRegex.source + ".+");
if (httpRegex.test(uri)) {
return uri.replace(baseRegex, "");
}
return null;
}
exports.uriToCid = uriToCid;