tplus-pos
Version:
pos module
73 lines (57 loc) • 1.93 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck");
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require("babel-runtime/helpers/createClass");
var _createClass3 = _interopRequireDefault(_createClass2);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var FuncUtil = function () {
function FuncUtil() {
(0, _classCallCheck3.default)(this, FuncUtil);
}
(0, _createClass3.default)(FuncUtil, null, [{
key: "isFunction",
value: function isFunction(func) {
return Object.prototype.toString.call(func) === "[object Function]";
}
//获取函数名
}, {
key: "getFnName",
value: function getFnName(func) {
if (!this.isFunction(func)) {
return;
}
return func.name || func.toString().match(/function\s*([^(]*)\(/)[1];
}
//是否是async函数
}, {
key: "isAsyncFunction",
value: function isAsyncFunction(func) {
if (Object.prototype.toString.call(func) == '[Object AsyncFunction]') {
return true;
}
return false;
}
//获取参数名称
}, {
key: "getArgs",
value: function getArgs(func) {
// 先用正则匹配,取得符合参数模式的字符串.
// 第一个分组是这个: ([^)]*) 非右括号的任意字符
var args = func.toString().match(/function\s.*?\(([^)]*)\)/)[1];
// 用逗号来分隔参数(arguments string).
return args.split(",").map(function (arg) {
// 去除注释(inline comments)以及空格
return arg.replace(/\/\*.*\*\//, "").trim();
}).filter(function (arg) {
// 确保没有 undefined.
return arg;
});
}
}]);
return FuncUtil;
}();
exports.default = FuncUtil;
//# sourceMappingURL=FuncUtil.js.map