envio
Version:
A latency and sync speed optimized, developer friendly blockchain data indexer.
55 lines (48 loc) • 1.64 kB
JavaScript
// Generated by ReScript, PLEASE EDIT WITH CARE
;
var Table = require("./Table.res.js");
var Js_dict = require("rescript/lib/js/js_dict.js");
var Belt_Array = require("rescript/lib/js/belt_Array.js");
var Caml_exceptions = require("rescript/lib/js/caml_exceptions.js");
function make(tables) {
return Js_dict.fromArray(Belt_Array.map(tables, (function (table) {
return [
table.tableName,
table
];
})));
}
var UndefinedEntity = /* @__PURE__ */Caml_exceptions.create("Schema.UndefinedEntity");
var UndefinedFieldInEntity = /* @__PURE__ */Caml_exceptions.create("Schema.UndefinedFieldInEntity");
function getDerivedFromFieldName(schema, derivedFromField) {
var entity = schema[derivedFromField.derivedFromEntity];
if (entity === undefined) {
return {
TAG: "Error",
_0: {
RE_EXN_ID: UndefinedEntity,
_1: derivedFromField
}
};
}
var field = Table.getFieldByName(entity, derivedFromField.derivedFromField);
if (field !== undefined) {
return {
TAG: "Ok",
_0: Table.getFieldName(field)
};
} else {
return {
TAG: "Error",
_0: {
RE_EXN_ID: UndefinedFieldInEntity,
_1: derivedFromField
}
};
}
}
exports.make = make;
exports.UndefinedEntity = UndefinedEntity;
exports.UndefinedFieldInEntity = UndefinedFieldInEntity;
exports.getDerivedFromFieldName = getDerivedFromFieldName;
/* Table Not a pure module */