UNPKG

abi-util-lite

Version:

A light impletation to parse abi string array to abi json

59 lines 2.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseModifiers = exports.Fragment = exports.regexParen = void 0; var Logger_1 = require("../Logger"); var Utils_1 = require("../Utils"); exports.regexParen = new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$"); var Fragment = /** @class */ (function () { function Fragment(constructorGuard, params) { if (constructorGuard !== Utils_1._constructorGuard) { Logger_1.logger.throwError("use a static from method", Logger_1.Logger.errors.UNSUPPORTED_OPERATION, { operation: "new Fragment()" }); } (0, Utils_1.populate)(this, params); this._isFragment = true; Object.freeze(this); } Fragment.isFragment = function (value) { return !!(value && value._isFragment); }; return Fragment; }()); exports.Fragment = Fragment; function parseModifiers(value, params) { params.constant = false; params.payable = false; params.stateMutability = "nonpayable"; value.split(" ").forEach(function (modifier) { switch (modifier.trim()) { case "constant": params.constant = true; break; case "payable": params.payable = true; params.stateMutability = "payable"; break; case "nonpayable": params.payable = false; params.stateMutability = "nonpayable"; break; case "pure": params.constant = true; params.stateMutability = "pure"; break; case "view": params.constant = true; params.stateMutability = "view"; break; case "external": case "public": case "": break; default: console.log("unknown modifier: " + modifier); } }); } exports.parseModifiers = parseModifiers; //# sourceMappingURL=Fragments.js.map