UNPKG

@1hive/connect-core

Version:

Access and interact with Aragon Organizations and their apps.

45 lines 1.73 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.resolveArtifact = exports.resolveManifest = exports.resolveMetadata = exports.fetchMetadata = exports.parseMetadata = void 0; const errors_1 = require("../errors"); const index_1 = require("./overrides/index"); function parseMetadata(name, metadata) { try { return JSON.parse(metadata); } catch (error) { throw new errors_1.ErrorInvalid(`Can’t parse ${name}: invalid JSON.`); } } exports.parseMetadata = parseMetadata; async function fetchMetadata(ipfs, fileName, contentUri) { var _a; const cid = (_a = contentUri.match(/ipfs:(.*)/)) === null || _a === void 0 ? void 0 : _a[1]; return cid ? ipfs.json(cid, fileName) : {}; } exports.fetchMetadata = fetchMetadata; async function resolveMetadata(ipfs, fileName, contentUri, metadata) { if (metadata) { return parseMetadata(fileName, metadata); } if (contentUri) { return fetchMetadata(ipfs, fileName, contentUri); } return {}; } exports.resolveMetadata = resolveMetadata; async function resolveManifest(ipfs, data) { return resolveMetadata(ipfs, 'manifest.json', data.contentUri, data.manifest); } exports.resolveManifest = resolveManifest; async function resolveArtifact(ipfs, data) { if (data.appId && index_1.hasAppInfo(data.appId, 'apm')) { return index_1.getApmInternalAppInfo(data.appId); } if (data.appId && index_1.hasAppInfo(data.appId, 'aragon')) { return index_1.getAragonOsInternalAppInfo(data.appId); } return resolveMetadata(ipfs, 'artifact.json', data.contentUri, data.artifact); } exports.resolveArtifact = resolveArtifact; //# sourceMappingURL=metadata.js.map