@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
JavaScript
;
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)); });
})();