checkParamNames.js.map 5.2 KB

1
  1. {"version":3,"sources":["../../src/rules/checkParamNames.js"],"names":["validateParameterNames","targetTagName","functionParameterNames","jsdocParameterNames","report","_","some","jsdocParameterName","index","functionParameterName","join","validateParameterNamesDeep","lastRealParameter","isPropertyPath","includes","pathRootNodeName","slice","indexOf","endsWith","utils","getFunctionParameterNames","getJsdocParameterNames","jsdocParameterNamesDeep","getJsdocParameterNamesDeep","getPreferredTagName","isError"],"mappings":"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","sourcesContent":["import _ from 'lodash';\nimport iterateJsdoc from '../iterateJsdoc';\n\nconst validateParameterNames = (targetTagName : string, functionParameterNames : Array<string>, jsdocParameterNames : Array<string>, report : Function) => {\n return _.some(jsdocParameterNames, (jsdocParameterName, index) => {\n const functionParameterName = functionParameterNames[index];\n\n if (!functionParameterName) {\n report('@' + targetTagName + ' \"' + jsdocParameterName + '\" does not match an existing function parameter.');\n\n return true;\n }\n\n if (functionParameterName === '<ObjectPattern>' || functionParameterName === '<ArrayPattern>') {\n return false;\n }\n\n if (functionParameterName !== jsdocParameterName) {\n report('Expected @' + targetTagName + ' names to be \"' + functionParameterNames.join(', ') + '\". Got \"' + jsdocParameterNames.join(', ') + '\".');\n\n return true;\n }\n\n return false;\n });\n};\n\nconst validateParameterNamesDeep = (targetTagName : string, jsdocParameterNames : Array<string>, report : Function) => {\n let lastRealParameter;\n\n return _.some(jsdocParameterNames, (jsdocParameterName) => {\n const isPropertyPath = _.includes(jsdocParameterName, '.');\n\n if (isPropertyPath) {\n if (!lastRealParameter) {\n report('@' + targetTagName + ' path declaration (\"' + jsdocParameterName + '\") appears before any real parameter.');\n\n return true;\n }\n\n let pathRootNodeName = jsdocParameterName.slice(0, jsdocParameterName.indexOf('.'));\n\n if (pathRootNodeName.endsWith('[]')) {\n pathRootNodeName = pathRootNodeName.slice(0, -2);\n }\n\n if (pathRootNodeName !== lastRealParameter) {\n report('@' + targetTagName + ' path declaration (\"' + jsdocParameterName + '\") root node name (\"' +\n pathRootNodeName + '\") does not match previous real parameter name (\"' + lastRealParameter + '\").');\n\n return true;\n }\n } else {\n lastRealParameter = jsdocParameterName;\n }\n\n return false;\n });\n};\n\nexport default iterateJsdoc(({\n report,\n utils\n}) => {\n const functionParameterNames = utils.getFunctionParameterNames();\n const jsdocParameterNames = utils.getJsdocParameterNames();\n const jsdocParameterNamesDeep = utils.getJsdocParameterNamesDeep();\n const targetTagName = utils.getPreferredTagName('param');\n const isError = validateParameterNames(targetTagName, functionParameterNames, jsdocParameterNames, report);\n\n if (isError) {\n return;\n }\n\n validateParameterNamesDeep(targetTagName, jsdocParameterNamesDeep, report);\n});\n"],"file":"checkParamNames.js"}