UNPKG

tplus-pos

Version:

pos module

73 lines (57 loc) 1.93 kB
"use strict"; 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