@harmoniclabs/plu-ts-onchain
Version:
An embedded DSL for Cardano smart contracts creation coupled with a library for Cardano transactions, all in Typescript
26 lines (25 loc) • 976 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.unsafeForceUInt = exports.forceBigUInt = exports.canBeUInteger = void 0;
function canBeUInteger(something) {
return ((typeof something === "bigint" && something >= BigInt(0)) ||
(typeof something === "number" && something === Math.round(Math.abs(something))));
}
exports.canBeUInteger = canBeUInteger;
function forceBigUInt(toForce) {
if (!canBeUInteger(toForce)) {
// console.error( toForce );
throw new Error("trying to convert an integer to an unsigned Integer, the number was negative");
}
return BigInt(toForce);
}
exports.forceBigUInt = forceBigUInt;
;
function unsafeForceUInt(toForce) {
if (!canBeUInteger(toForce)) {
// console.error( toForce );
throw new Error("trying to convert an integer to an unsigned Integer, the number was negative");
}
return Number(toForce);
}
exports.unsafeForceUInt = unsafeForceUInt;