abi-util-lite
Version:
A light impletation to parse abi string array to abi json
59 lines • 2.06 kB
JavaScript
;
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