envio
Version:
A latency and sync speed optimized, developer friendly blockchain data indexer.
144 lines (122 loc) • 3.08 kB
JavaScript
// Generated by ReScript, PLEASE EDIT WITH CARE
;
var Caml_obj = require("rescript/lib/js/caml_obj.js");
var Belt_Array = require("rescript/lib/js/belt_Array.js");
function toString(tNonOptional) {
if (Array.isArray(tNonOptional)) {
return "[" + Belt_Array.joinWith(tNonOptional, ",", toString) + "]";
}
switch (typeof tNonOptional) {
case "string" :
return tNonOptional;
case "number" :
return String(tNonOptional);
case "bigint" :
case "object" :
return tNonOptional.toString();
case "boolean" :
if (tNonOptional) {
return "true";
} else {
return "false";
}
}
}
function toString$1(value) {
if (value !== undefined) {
return toString(value);
} else {
return "undefined";
}
}
function eq(a, b) {
if (a !== undefined && typeof a === "object" && !Array.isArray(a) && b !== undefined && typeof b === "object" && !Array.isArray(b)) {
return a.isEqualTo(b);
} else {
return Caml_obj.equal(a, b);
}
}
function gt(a, b) {
if (a !== undefined && typeof a === "object" && !Array.isArray(a) && b !== undefined && typeof b === "object" && !Array.isArray(b)) {
return a.isGreaterThan(b);
} else {
return Caml_obj.greaterthan(a, b);
}
}
function lt(a, b) {
if (a !== undefined && typeof a === "object" && !Array.isArray(a) && b !== undefined && typeof b === "object" && !Array.isArray(b)) {
return a.isLessThan(b);
} else {
return Caml_obj.lessthan(a, b);
}
}
var FieldValue = {
toString: toString$1,
eq: eq,
gt: gt,
lt: lt
};
var values = [
"Eq",
"Gt",
"Lt"
];
var Operator = {
values: values
};
function make(fieldName, fieldValue, operator) {
return {
fieldName: fieldName,
fieldValue: fieldValue,
operator: operator
};
}
function toString$2(param) {
return param.fieldName + ":" + param.operator + ":" + toString$1(param.fieldValue);
}
function evaluate(self, fieldName, fieldValue) {
if (self.fieldName !== fieldName) {
return false;
}
var match = self.operator;
switch (match) {
case "Eq" :
return eq(fieldValue, self.fieldValue);
case "Gt" :
return gt(fieldValue, self.fieldValue);
case "Lt" :
return lt(fieldValue, self.fieldValue);
}
}
var SingleIndex = {
make: make,
toString: toString$2,
evaluate: evaluate
};
function makeSingle(fieldName, fieldValue, operator) {
return {
fieldName: fieldName,
fieldValue: fieldValue,
operator: operator
};
}
function getFieldName(index) {
return index.fieldName;
}
function toString$3(index) {
return toString$2(index);
}
function evaluate$1(index, fieldName, fieldValue) {
return evaluate(index, fieldName, fieldValue);
}
var Index = {
makeSingle: makeSingle,
getFieldName: getFieldName,
toString: toString$3,
evaluate: evaluate$1
};
exports.FieldValue = FieldValue;
exports.Operator = Operator;
exports.SingleIndex = SingleIndex;
exports.Index = Index;
/* No side effect */