UNPKG

@ipfn/cell-codecs

Version:
33 lines (32 loc) 993 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const varintTable = require("multicodec/src/varint-table"); const util_1 = require("multicodec/src/util"); exports.CODEC_BY_HEX = {}; exports.CODEC_BY_NAME = {}; function register(codec) { if (codec.hex) { const base = Buffer.from(codec.hex, 'hex'); const varint = util_1.varintBufferEncode(base); varintTable[codec.name] = varint; exports.CODEC_BY_HEX[codec.hex] = codec; } exports.CODEC_BY_NAME[codec.name] = codec; } exports.register = register; function codecByName(name) { const codec = exports.CODEC_BY_NAME[name]; if (!codec) { throw new Error(`cell codec not found: "${name}"`); } return codec; } exports.codecByName = codecByName; function codecByHex(hex) { const codec = exports.CODEC_BY_HEX[hex]; if (!codec) { throw new Error(`cell codec not found: "${hex}"`); } return codec; } exports.codecByHex = codecByHex;