UNPKG

@harmoniclabs/plu-ts-onchain

Version:

An embedded DSL for Cardano smart contracts creation coupled with a library for Cardano transactions, all in Typescript

38 lines (37 loc) 2.44 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.pdecodeUtf8 = exports.pencodeUtf8 = exports.peqStr = exports.pappendStr = void 0; var obj_utils_1 = require("@harmoniclabs/obj-utils"); var IRNative_1 = require("../../../../IR/IRNodes/IRNative/index.js"); var Term_1 = require("../../../Term/index.js"); var type_system_1 = require("../../../type_system/index.js"); var papp_1 = require("../../papp.js"); var TermBS_1 = require("../../std/UtilityTerms/TermBS.js"); var TermBool_1 = require("../../std/UtilityTerms/TermBool.js"); var TermStr_1 = require("../../std/UtilityTerms/TermStr.js"); exports.pappendStr = (function () { var op = new Term_1.Term((0, type_system_1.fn)([type_system_1.str, type_system_1.str], type_system_1.str), function (_dbn) { return IRNative_1.IRNative.appendString; }); return (0, obj_utils_1.defineReadOnlyProperty)(op, "$", function (fstIn) { var oneIn = (0, papp_1.papp)(op, fstIn); return (0, obj_utils_1.defineReadOnlyProperty)(oneIn, "$", function (sndIn) { return (0, TermStr_1.addPStringMethods)((0, papp_1.papp)(oneIn, sndIn)); }); }); })(); exports.peqStr = (function () { var op = new Term_1.Term((0, type_system_1.fn)([type_system_1.str, type_system_1.str], type_system_1.bool), function (_dbn) { return IRNative_1.IRNative.equalsString; }); return (0, obj_utils_1.defineReadOnlyProperty)(op, "$", function (fstIn) { var oneIn = (0, papp_1.papp)(op, fstIn); return (0, obj_utils_1.defineReadOnlyProperty)(oneIn, "$", function (sndIn) { return (0, TermBool_1.addPBoolMethods)((0, papp_1.papp)(oneIn, sndIn)); }); }); })(); exports.pencodeUtf8 = (function () { var encodeUtf8 = new Term_1.Term((0, type_system_1.lam)(type_system_1.str, type_system_1.bs), function (_dbn) { return IRNative_1.IRNative.encodeUtf8; }); return (0, obj_utils_1.defineReadOnlyProperty)(encodeUtf8, "$", function (str) { return (0, TermBS_1.addPByteStringMethods)((0, papp_1.papp)(encodeUtf8, str)); }); })(); exports.pdecodeUtf8 = (function () { var decodeUtf8 = new Term_1.Term((0, type_system_1.lam)(type_system_1.bs, type_system_1.str), function (_dbn) { return IRNative_1.IRNative.decodeUtf8; }); return (0, obj_utils_1.defineReadOnlyProperty)(decodeUtf8, "$", function (byteStr) { return (0, TermStr_1.addPStringMethods)((0, papp_1.papp)(decodeUtf8, byteStr)); }); })();