envio
Version:
A latency and sync speed optimized, developer friendly blockchain data indexer.
139 lines (114 loc) • 2.68 kB
JavaScript
// Generated by ReScript, PLEASE EDIT WITH CARE
;
var Js_exn = require("rescript/lib/js/js_exn.js");
var Belt_Int = require("rescript/lib/js/belt_Int.js");
var Caml_option = require("rescript/lib/js/caml_option.js");
var S$RescriptSchema = require("rescript-schema/src/S.res.js");
var Caml_js_exceptions = require("rescript/lib/js/caml_js_exceptions.js");
function fromString(str) {
try {
return Caml_option.some((function () {
return BigInt(str);
})());
}
catch (raw__obj){
var _obj = Caml_js_exceptions.internalToOCamlException(raw__obj);
if (_obj.RE_EXN_ID === Js_exn.$$Error) {
return ;
}
throw _obj;
}
}
function toInt(b) {
return Belt_Int.fromString(b.toString());
}
function add(a, b) {
return (a + b);
}
function sub(a, b) {
return (a - b);
}
function mul(a, b) {
return (a * b);
}
function div(a, b) {
return (b > 0n ? a / b : 0n);
}
function pow(a, b) {
return (a ** b);
}
function mod(a, b) {
return (b > 0n ? a % b : 0n);
}
function eq(a, b) {
return (a === b);
}
function neq(a, b) {
return (a !== b);
}
function gt(a, b) {
return (a > b);
}
function gte(a, b) {
return (a >= b);
}
function lt(a, b) {
return (a < b);
}
function lte(a, b) {
return (a <= b);
}
function shift_left(a, b) {
return (a << b);
}
function shift_right(a, b) {
return (a >> b);
}
function logor(a, b) {
return (a | b);
}
function logand(a, b) {
return (a & b);
}
var Bitwise = {
shift_left: shift_left,
shift_right: shift_right,
logor: logor,
logand: logand
};
var zero = BigInt(0);
var schema = S$RescriptSchema.transform(S$RescriptSchema.setName(S$RescriptSchema.string, "BigInt"), (function (s) {
return {
p: (function (string) {
var bigInt = fromString(string);
if (bigInt !== undefined) {
return bigInt;
} else {
return s.fail("The string is not valid BigInt", undefined);
}
}),
s: (function (bigint) {
return bigint.toString();
})
};
}));
var nativeSchema = S$RescriptSchema.bigint;
exports.fromString = fromString;
exports.toInt = toInt;
exports.add = add;
exports.sub = sub;
exports.mul = mul;
exports.div = div;
exports.pow = pow;
exports.mod = mod;
exports.eq = eq;
exports.neq = neq;
exports.gt = gt;
exports.gte = gte;
exports.lt = lt;
exports.lte = lte;
exports.Bitwise = Bitwise;
exports.zero = zero;
exports.schema = schema;
exports.nativeSchema = nativeSchema;
/* zero Not a pure module */