UNPKG

envio

Version:

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

58 lines (49 loc) 1.16 kB
// Generated by ReScript, PLEASE EDIT WITH CARE import * as Utils from "./Utils.res.mjs"; import * as Logging from "./Logging.res.mjs"; function make(exn, loggerOpt, msg) { let logger = loggerOpt !== undefined ? loggerOpt : Logging.getLogger(); return { logger: logger, exn: exn, msg: msg }; } function log(self) { let msg = self.msg; let exn = self.exn; let logger = self.logger; if (msg !== undefined) { return Logging.childErrorWithExn(logger, Utils.prettifyExn(exn), msg); } else { return Logging.childError(logger, Utils.prettifyExn(exn)); } } function raiseExn(self) { throw Utils.prettifyExn(self.exn); } function mkLogAndRaise(logger, msg, exn) { let exn$1 = Utils.prettifyExn(exn); log(make(exn$1, logger, msg)); throw exn$1; } function unwrapLogAndRaise(logger, msg, result) { if (result.TAG === "Ok") { return result._0; } else { return mkLogAndRaise(logger, msg, result._0); } } function logAndRaise(self) { log(self); throw Utils.prettifyExn(self.exn); } export { make, log, raiseExn, mkLogAndRaise, unwrapLogAndRaise, logAndRaise, } /* Utils Not a pure module */