projecte_ionic/node_modules/eslint-plugin-jsdoc/dist/rules/requireExample.js.map
2022-02-09 18:30:03 +01:00

1 line
5.1 KiB
Plaintext
Executable file

{"version":3,"sources":["../../src/rules/requireExample.js"],"names":["context","jsdoc","report","utils","avoidDocs","exemptNoArguments","options","targetTagName","functionExamples","_","filter","tags","tag","length","isIteratingFunction","hasParams","reportJSDoc","line","push","description","name","optional","type","forEach","example","exampleContent","compact","trim","split","contextDefaults","meta","docs","url","fixable","schema","additionalProperties","properties","checkConstructors","default","checkGetters","checkSetters","contexts","items","exemptedBy"],"mappings":"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","sourcesContent":["import _ from 'lodash';\nimport iterateJsdoc from '../iterateJsdoc';\n\nexport default iterateJsdoc(({\n context,\n jsdoc,\n report,\n utils,\n}) => {\n if (utils.avoidDocs()) {\n return;\n }\n\n const {\n exemptNoArguments = false,\n } = context.options[0] || {};\n\n const targetTagName = 'example';\n\n const functionExamples = _.filter(jsdoc.tags, {\n tag: targetTagName,\n });\n\n if (!functionExamples.length) {\n if (exemptNoArguments && utils.isIteratingFunction() &&\n !utils.hasParams()\n ) {\n return;\n }\n\n utils.reportJSDoc(`Missing JSDoc @${targetTagName} declaration.`, null, () => {\n if (!jsdoc.tags) {\n jsdoc.tags = [];\n }\n const line = jsdoc.tags.length ? jsdoc.tags[jsdoc.tags.length - 1].line + 1 : 0;\n jsdoc.tags.push({\n description: '',\n line,\n name: '',\n optional: false,\n tag: targetTagName,\n type: '',\n });\n });\n\n return;\n }\n\n functionExamples.forEach((example) => {\n const exampleContent = _.compact(`${example.name} ${example.description}`.trim().split('\\n'));\n\n if (!exampleContent.length) {\n report(`Missing JSDoc @${targetTagName} description.`);\n }\n });\n}, {\n contextDefaults: true,\n meta: {\n docs: {\n description: 'Requires that all functions have examples.',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-require-example',\n },\n fixable: 'code',\n schema: [\n {\n additionalProperties: false,\n properties: {\n checkConstructors: {\n default: true,\n type: 'boolean',\n },\n checkGetters: {\n default: false,\n type: 'boolean',\n },\n checkSetters: {\n default: false,\n type: 'boolean',\n },\n contexts: {\n items: {\n type: 'string',\n },\n type: 'array',\n },\n exemptedBy: {\n items: {\n type: 'string',\n },\n type: 'array',\n },\n exemptNoArguments: {\n default: false,\n type: 'boolean',\n },\n },\n type: 'object',\n },\n ],\n type: 'suggestion',\n },\n});\n"],"file":"requireExample.js"}