@rarible/types
Version:
`@rarible/types` is a TypeScript library that provides type definitions and interfaces for the Rarible ecosystem. This package is designed to facilitate seamless integration with Rarible's APIs and services, ensuring type safety and improved developer exp
51 lines (50 loc) • 2.18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.BlockchainParseError = exports.parseBlockchainSafe = exports.parseBlockchain = exports.toLayerOneBlockchain = exports.withBlockchain = exports.isRealBlockchainSpecified = exports.withBlockchainRegExp = exports.withLayer1Blockchain = exports.isBlockchainSpecified = exports.withLayer1BlockchainRegExp = void 0;
const utils_1 = require("@rarible/utils");
const domain_js_1 = require("./domain.js");
exports.withLayer1BlockchainRegExp = new RegExp(`^(${domain_js_1.blockchainsLayer1.join("|")}):(.*?)$`);
function isBlockchainSpecified(value) {
return exports.withLayer1BlockchainRegExp.test(value);
}
exports.isBlockchainSpecified = isBlockchainSpecified;
function withLayer1Blockchain(blockchain, raw) {
return `${blockchain}:${raw}`;
}
exports.withLayer1Blockchain = withLayer1Blockchain;
exports.withBlockchainRegExp = new RegExp(`^(${domain_js_1.blockchains.join("|")}):(.*?)$`);
function isRealBlockchainSpecified(value) {
return exports.withBlockchainRegExp.test(value);
}
exports.isRealBlockchainSpecified = isRealBlockchainSpecified;
function withBlockchain(blockchain, raw) {
return `${blockchain}:${raw}`;
}
exports.withBlockchain = withBlockchain;
function toLayerOneBlockchain(blockchain) {
const converted = domain_js_1.L1BlockchainByBlockchainDictionary[blockchain];
if (converted)
return converted;
throw new Error(`Unknown blockchain - ${blockchain}`);
}
exports.toLayerOneBlockchain = toLayerOneBlockchain;
function parseBlockchain(value) {
const safe = parseBlockchainSafe(value);
if (!safe)
throw new BlockchainParseError(value);
return safe;
}
exports.parseBlockchain = parseBlockchain;
function parseBlockchainSafe(value) {
const match = exports.withBlockchainRegExp.exec(value);
if (!match)
return undefined;
return [match[1], match[2]];
}
exports.parseBlockchainSafe = parseBlockchainSafe;
class BlockchainParseError extends utils_1.CustomError {
constructor(value) {
super(`Can't parse blockchain from value ${value}`);
}
}
exports.BlockchainParseError = BlockchainParseError;