UNPKG

envio

Version:

A latency and sync speed optimized, developer friendly blockchain data indexer.

144 lines (122 loc) 3.08 kB
// Generated by ReScript, PLEASE EDIT WITH CARE 'use strict'; 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 */