@harmoniclabs/buildooor
Version:
Cardano transaction builder in typescript
35 lines (34 loc) • 1.6 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.numberFromRational = exports.tryCborFromRational = exports.cborFromRational = exports.isRationalOrUndefined = exports.isRational = exports.canBeCborPostiveRational = void 0;
var cbor_1 = require("@harmoniclabs/cbor");
function canBeCborPostiveRational(cbor) {
return cbor instanceof cbor_1.CborPositiveRational || (cbor instanceof cbor_1.CborTag &&
Number(cbor.tag) === 30 &&
cbor.data instanceof cbor_1.CborArray &&
cbor.data.array.length === 2 &&
cbor.data.array[0] instanceof cbor_1.CborUInt &&
cbor.data.array[1] instanceof cbor_1.CborUInt);
}
exports.canBeCborPostiveRational = canBeCborPostiveRational;
function isRational(n) {
return typeof n === "number" || n instanceof cbor_1.CborPositiveRational;
}
exports.isRational = isRational;
function isRationalOrUndefined(n) {
return typeof n == "undefined" || isRational(n);
}
exports.isRationalOrUndefined = isRationalOrUndefined;
function cborFromRational(n) {
return n instanceof cbor_1.CborPositiveRational ? n : cbor_1.CborPositiveRational.fromNumber(n);
}
exports.cborFromRational = cborFromRational;
function tryCborFromRational(n) {
return n instanceof cbor_1.CborPositiveRational ? n : (typeof n === "number" ? cbor_1.CborPositiveRational.fromNumber(n) :
undefined);
}
exports.tryCborFromRational = tryCborFromRational;
function numberFromRational(n) {
return n instanceof cbor_1.CborPositiveRational ? n.toNumber() : Number(n);
}
exports.numberFromRational = numberFromRational;