@harmoniclabs/plu-ts-onchain
Version:
An embedded DSL for Cardano smart contracts creation coupled with a library for Cardano transactions, all in Typescript
34 lines (33 loc) • 1.61 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ptraceError = exports.ptraceIfFalse = exports.ptraceIfTrue = void 0;
var types_1 = require("../../type_system/types.js");
var pdelay_1 = require("../pdelay.js");
var perror_1 = require("../perror.js");
var pfn_1 = require("../pfn.js");
var plam_1 = require("../plam.js");
var pforce_1 = require("../pforce/index.js");
var phoist_1 = require("../phoist.js");
var bool_1 = require("./bool/index.js");
var bool_2 = require("../builtins/bool/index.js");
var ptrace_1 = require("../builtins/ptrace.js");
exports.ptraceIfTrue = (0, phoist_1.phoist)((0, pfn_1.pfn)([
(0, types_1.delayed)(types_1.str),
types_1.bool,
], types_1.bool)(function (msg, boolean) {
return (0, bool_2.pif)(types_1.bool).$(boolean)
.then((0, ptrace_1.ptrace)(types_1.bool).$((0, pforce_1.pforce)(msg)).$((0, bool_1.pBool)(true)))
.else((0, bool_1.pBool)(false));
}));
exports.ptraceIfFalse = (0, phoist_1.phoist)((0, pfn_1.pfn)([
(0, types_1.delayed)(types_1.str),
types_1.bool,
], types_1.bool)(function (msg, boolean) {
return (0, bool_2.pif)(types_1.bool).$(boolean)
.then((0, bool_1.pBool)(true))
.else((0, ptrace_1.ptrace)(types_1.bool).$((0, pforce_1.pforce)(msg)).$((0, bool_1.pBool)(false)));
}));
function ptraceError(t, somemsg) {
return (0, phoist_1.phoist)((0, plam_1.plam)(types_1.str, t)(function (msg) { return (0, pforce_1.pforce)((0, ptrace_1.ptrace)((0, types_1.delayed)(t)).$(msg).$((0, pdelay_1.pdelay)((0, perror_1.perror)(t, somemsg)))); }));
}
exports.ptraceError = ptraceError;