tg-commander
Version:
<p align="center"><img src="https://github.com/stone-jin/tg-commander/raw/master/assets/logo.png" alt="tg-commander logo" width="150px" height="150px"></p>
44 lines (43 loc) • 1.56 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var ParamsUtils = /** @class */ (function () {
function ParamsUtils() {
}
ParamsUtils.getConstructorParamList = function (constructor) {
var functionString = constructor.toString();
if (functionString.indexOf("class") >= 0) {
if (functionString.indexOf("constructor(") < 0) {
return [];
}
var startTime = functionString.indexOf("constructor(") + "constructor(".length;
var endString = functionString.substring(startTime);
var params = endString.substring(0, functionString.substring(startTime).indexOf(")")).split(",");
var result = [];
if (params.length === 1 && params[0].length === 0) {
result = [];
}
else {
result = params.map(function (item) {
return item.trim();
});
}
return result;
}
else {
var args = functionString.match(/^[^\(]*\(\s*([^\)]*)\)/m);
var result = [];
if (args[1].split(",").length === 1 && args[1].split(",")[0].length === 0) {
result = [];
}
else {
result = args[1].split(",");
}
result = result.map(function (item) {
return item.trim();
});
return result;
}
};
return ParamsUtils;
}());
exports.ParamsUtils = ParamsUtils;