@yoroi/api
Version:
The API package of Yoroi SDK
48 lines (47 loc) • 2.21 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.isFtMetadata = isFtMetadata;
exports.isMetadataFile = isMetadataFile;
exports.isNftMetadata = isNftMetadata;
exports.parseFtMetadataRecord = parseFtMetadataRecord;
exports.parseNftMetadataRecord = parseNftMetadataRecord;
var _common = require("@yoroi/common");
function isMetadataFile(data) {
if (!(0, _common.isRecord)(data)) return false;
const file = data;
if (file.name && !(0, _common.isString)(file.name)) return false;
if (!(0, _common.isString)(file.mediaType)) return false;
if (!(0, _common.isStringOrArrayOfString)(file.src)) return false;
return true;
}
function isNftMetadata(data) {
if (!(0, _common.isRecord)(data)) return false;
const metadata = data;
if (!(0, _common.isString)(metadata.name)) return false;
if (!(0, _common.isStringOrArrayOfString)(metadata.image)) return false;
if (metadata.mediaType && !(0, _common.isString)(metadata.mediaType)) return false;
if (metadata.description && !(0, _common.isStringOrArrayOfString)(metadata.description)) return false;
if (metadata.files && !(0, _common.isArrayOfType)(metadata.files, isMetadataFile) && !isMetadataFile(metadata.files)) return false;
return true;
}
function isFtMetadata(data) {
if (!(0, _common.isRecord)(data)) return false;
const metadata = data;
if (!(0, _common.isString)(metadata.name)) return false;
if (metadata.description && !(0, _common.isStringOrArrayOfString)(metadata.description)) return false;
if (metadata.policy && !(0, _common.isStringOrArrayOfString)(metadata.policy)) return false;
if (metadata.logo && !(0, _common.isStringOrArrayOfString)(metadata.logo)) return false;
if (metadata.ticker && !(0, _common.isString)(metadata.ticker)) return false;
if (metadata.url && !(0, _common.isStringOrArrayOfString)(metadata.url)) return false;
if (metadata.decimals !== undefined && !(0, _common.isPositiveNumber)(metadata.decimals)) return false;
return true;
}
function parseNftMetadataRecord(data) {
return isNftMetadata(data) ? data : undefined;
}
function parseFtMetadataRecord(data) {
return isFtMetadata(data) ? data : undefined;
}
//# sourceMappingURL=parsers.js.map