123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- "use strict";
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.default = void 0;
- var _lodash = _interopRequireDefault(require("lodash"));
- var _tagNames = _interopRequireDefault(require("./tagNames"));
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
- var getFunctionParameterNames = function getFunctionParameterNames(functionNode) {
- return _lodash.default.map(functionNode.params, function (param) {
- if (_lodash.default.has(param, 'name')) {
- return param.name;
- }
- if (_lodash.default.has(param, 'left.name')) {
- return param.left.name;
- }
- if (param.type === 'ObjectPattern' || _lodash.default.get(param, 'left.type') === 'ObjectPattern') {
- return '<ObjectPattern>';
- }
- if (param.type === 'ArrayPattern' || _lodash.default.get(param, 'left.type') === 'ArrayPattern') {
- return '<ArrayPattern>';
- }
- if (param.type === 'RestElement') {
- return param.argument.name;
- }
- throw new Error('Unsupported function signature format.');
- });
- };
- /**
- * Gets all parameter names, including those that refer to a path, e.g. "@param foo; @param foo.bar".
- */
- var getJsdocParameterNamesDeep = function getJsdocParameterNamesDeep(jsdoc, targetTagName) {
- var jsdocParameterNames;
- jsdocParameterNames = _lodash.default.filter(jsdoc.tags, {
- tag: targetTagName
- });
- jsdocParameterNames = _lodash.default.map(jsdocParameterNames, 'name');
- return jsdocParameterNames;
- };
- var getJsdocParameterNames = function getJsdocParameterNames(jsdoc, targetTagName) {
- var jsdocParameterNames;
- jsdocParameterNames = getJsdocParameterNamesDeep(jsdoc, targetTagName);
- jsdocParameterNames = _lodash.default.filter(jsdocParameterNames, function (name) {
- return name.indexOf('.') === -1;
- });
- return jsdocParameterNames;
- };
- var getPreferredTagName = function getPreferredTagName(name) {
- var tagPreference = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
- if (_lodash.default.includes(_lodash.default.values(tagPreference), name)) {
- return name;
- }
- var preferredTagName = _lodash.default.findKey(_tagNames.default, function (aliases) {
- return _lodash.default.includes(aliases, name);
- });
- if (preferredTagName) {
- return preferredTagName;
- }
- return _lodash.default.has(tagPreference, name) ? tagPreference[name] : name;
- };
- var isValidTag = function isValidTag(name, additionalTagNames) {
- var validTagNames = _lodash.default.keys(_tagNames.default).concat(_lodash.default.flatten(_lodash.default.values(_tagNames.default)));
- var additionalTags = additionalTagNames.customTags || [];
- var allTags = validTagNames.concat(additionalTags);
- return _lodash.default.includes(allTags, name);
- };
- var hasTag = function hasTag(jsdoc, targetTagName) {
- var targetTagLower = targetTagName.toLowerCase();
- return _lodash.default.some(jsdoc.tags, function (doc) {
- return doc.tag.toLowerCase() === targetTagLower;
- });
- };
- var hasATag = function hasATag(jsdoc, targetTagNames) {
- return targetTagNames.some(function (targetTagName) {
- return hasTag(jsdoc, targetTagName);
- });
- };
- var namepathAsNameTags = ['alias', 'augments', 'callback', 'extends', 'lends', 'memberof', 'memberof!', 'mixes', 'name', 'this', 'emits', 'event', 'fires', 'listens'];
- var isNamepathType = function isNamepathType(tagName, checkSeesForNamepaths) {
- return _lodash.default.includes(namepathAsNameTags, tagName) || tagName === 'see' && checkSeesForNamepaths;
- };
- var _default = {
- getFunctionParameterNames,
- getJsdocParameterNames,
- getJsdocParameterNamesDeep,
- getPreferredTagName,
- hasATag,
- hasTag,
- isNamepathType,
- isValidTag
- };
- exports.default = _default;
- module.exports = exports.default;
- //# sourceMappingURL=jsdocUtils.js.map
|