envio
Version:
A latency and sync speed optimized, developer friendly blockchain data indexer.
52 lines (45 loc) • 1.24 kB
JavaScript
// Generated by ReScript, PLEASE EDIT WITH CARE
import * as Table from "./Table.res.mjs";
import * as Primitive_exceptions from "@rescript/runtime/lib/es6/Primitive_exceptions.js";
function make(tables) {
return Object.fromEntries(tables.map(table => [
table.tableName,
table
]));
}
let UndefinedEntity = /* @__PURE__ */Primitive_exceptions.create("Schema.UndefinedEntity");
let UndefinedFieldInEntity = /* @__PURE__ */Primitive_exceptions.create("Schema.UndefinedFieldInEntity");
function getDerivedFromPgFieldName(schema, derivedFromField) {
let entity = schema[derivedFromField.derivedFromEntity];
if (entity === undefined) {
return {
TAG: "Error",
_0: {
RE_EXN_ID: UndefinedEntity,
_1: derivedFromField
}
};
}
let field = Table.getFieldByName(entity, derivedFromField.derivedFromField);
if (field !== undefined) {
return {
TAG: "Ok",
_0: Table.getPgFieldName(field)
};
} else {
return {
TAG: "Error",
_0: {
RE_EXN_ID: UndefinedFieldInEntity,
_1: derivedFromField
}
};
}
}
export {
make,
UndefinedEntity,
UndefinedFieldInEntity,
getDerivedFromPgFieldName,
}
/* Table Not a pure module */