UNPKG

@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
"use strict"; 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;