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

1 line
4.2 KiB
Plaintext
Executable file

{"version":3,"sources":["../../src/rules/emptyTags.js"],"names":["defaultEmptyTags","Set","emptyIfNotClosure","settings","jsdoc","utils","tags","emptyTags","filterTags","tag","tagName","has","hasOptionTag","some","mode","forEach","fix","name","description","type","optional","default","undefined","content","reportJSDoc","checkInternal","checkPrivate","iterateAllJsdocs","meta","docs","url","fixable","schema","additionalProperties","properties","items"],"mappings":";;;;;;;AAAA;;;;AAEA,MAAMA,gBAAgB,GAAG,IAAIC,GAAJ,CAAQ,CAC/B,UAD+B,EACnB,OADmB,EACV,WADU,EACG,QADH,EACa,iBADb,EAE/B,QAF+B,EAErB,OAFqB,EAEZ,UAFY,EAEA,UAFA,EAEY,UAFZ,EAI/B;AACA;AACA,YAN+B,EAQ/B;AACA,UAT+B,CAAR,CAAzB;AAYA,MAAMC,iBAAiB,GAAG,IAAID,GAAJ,CAAQ,CAChC,SADgC,EACrB,SADqB,EACV,WADU,EACG,QADH,EACa,QADb,EAGhC;AACA,YAJgC,CAAR,CAA1B;;eAOe,2BAAa,CAAC;AAC3BE,EAAAA,QAD2B;AAE3BC,EAAAA,KAF2B;AAG3BC,EAAAA;AAH2B,CAAD,KAItB;AACJ,MAAI,CAACD,KAAK,CAACE,IAAX,EAAiB;AACf;AACD;;AACD,QAAMC,SAAS,GAAGF,KAAK,CAACG,UAAN,CAAiB,CAAC;AAACC,IAAAA,GAAG,EAAEC;AAAN,GAAD,KAAoB;AACrD,WAAOV,gBAAgB,CAACW,GAAjB,CAAqBD,OAArB,KACLL,KAAK,CAACO,YAAN,CAAmBF,OAAnB,KAA+BN,KAAK,CAACE,IAAN,CAAWO,IAAX,CAAgB,CAAC;AAACJ,MAAAA;AAAD,KAAD,KAAW;AACxD,aAAOA,GAAG,KAAKC,OAAf;AACD,KAF8B,CAD1B,IAILP,QAAQ,CAACW,IAAT,KAAkB,SAAlB,IAA+BZ,iBAAiB,CAACS,GAAlB,CAAsBD,OAAtB,CAJjC;AAKD,GANiB,CAAlB;AAOAH,EAAAA,SAAS,CAACQ,OAAV,CAAmBN,GAAD,IAAS;AACzB,UAAMO,GAAG,GAAG,MAAM;AAChBP,MAAAA,GAAG,CAACQ,IAAJ,GAAW,EAAX;AACAR,MAAAA,GAAG,CAACS,WAAJ,GAAkB,EAAlB;AACAT,MAAAA,GAAG,CAACU,IAAJ,GAAW,EAAX;AACAV,MAAAA,GAAG,CAACW,QAAJ,GAAe,KAAf;AACAX,MAAAA,GAAG,CAACY,OAAJ,GAAcC,SAAd;AACD,KAND;;AAOA,UAAMC,OAAO,GAAGd,GAAG,CAACQ,IAAJ,IAAYR,GAAG,CAACS,WAAhB,IAA+BT,GAAG,CAACU,IAAnD;;AACA,QAAII,OAAJ,EAAa;AACXlB,MAAAA,KAAK,CAACmB,WAAN,CAAmB,IAAGf,GAAG,CAACA,GAAI,mBAA9B,EAAkDA,GAAlD,EAAuDO,GAAvD;AACD;AACF,GAZD;AAaD,CA5Bc,EA4BZ;AACDS,EAAAA,aAAa,EAAE,IADd;AAEDC,EAAAA,YAAY,EAAE,IAFb;AAGDC,EAAAA,gBAAgB,EAAE,IAHjB;AAIDC,EAAAA,IAAI,EAAE;AACJC,IAAAA,IAAI,EAAE;AACJX,MAAAA,WAAW,EAAE,mDADT;AAEJY,MAAAA,GAAG,EAAE;AAFD,KADF;AAKJC,IAAAA,OAAO,EAAE,MALL;AAMJC,IAAAA,MAAM,EAAE,CACN;AACEC,MAAAA,oBAAoB,EAAE,KADxB;AAEEC,MAAAA,UAAU,EAAE;AACV5B,QAAAA,IAAI,EAAE;AACJ6B,UAAAA,KAAK,EAAE;AACLhB,YAAAA,IAAI,EAAE;AADD,WADH;AAIJA,UAAAA,IAAI,EAAE;AAJF;AADI,OAFd;AAUEA,MAAAA,IAAI,EAAE;AAVR,KADM,CANJ;AAoBJA,IAAAA,IAAI,EAAE;AApBF;AAJL,CA5BY,C","sourcesContent":["import iterateJsdoc from '../iterateJsdoc';\n\nconst defaultEmptyTags = new Set([\n 'abstract', 'async', 'generator', 'global', 'hideconstructor',\n 'ignore', 'inner', 'instance', 'override', 'readonly',\n\n // jsdoc doesn't use this form in its docs, but allow for compatibility with\n // TypeScript which allows and Closure which requires\n 'inheritDoc',\n\n // jsdoc doesn't use but allow for TypeScript\n 'internal',\n]);\n\nconst emptyIfNotClosure = new Set([\n 'package', 'private', 'protected', 'public', 'static',\n\n // Closure doesn't allow with this casing\n 'inheritdoc',\n]);\n\nexport default iterateJsdoc(({\n settings,\n jsdoc,\n utils,\n}) => {\n if (!jsdoc.tags) {\n return;\n }\n const emptyTags = utils.filterTags(({tag: tagName}) => {\n return defaultEmptyTags.has(tagName) ||\n utils.hasOptionTag(tagName) && jsdoc.tags.some(({tag}) => {\n return tag === tagName;\n }) ||\n settings.mode !== 'closure' && emptyIfNotClosure.has(tagName);\n });\n emptyTags.forEach((tag) => {\n const fix = () => {\n tag.name = '';\n tag.description = '';\n tag.type = '';\n tag.optional = false;\n tag.default = undefined;\n };\n const content = tag.name || tag.description || tag.type;\n if (content) {\n utils.reportJSDoc(`@${tag.tag} should be empty.`, tag, fix);\n }\n });\n}, {\n checkInternal: true,\n checkPrivate: true,\n iterateAllJsdocs: true,\n meta: {\n docs: {\n description: 'Expects specific tags to be empty of any content.',\n url: 'https://github.com/gajus/eslint-plugin-jsdoc#eslint-plugin-jsdoc-rules-empty-tags',\n },\n fixable: 'code',\n schema: [\n {\n additionalProperties: false,\n properties: {\n tags: {\n items: {\n type: 'string',\n },\n type: 'array',\n },\n },\n type: 'object',\n },\n ],\n type: 'suggestion',\n },\n});\n"],"file":"emptyTags.js"}