requireHyphenBeforeParamDescription.js.map 3.0 KB

1
  1. {"version":3,"sources":["../../src/rules/requireHyphenBeforeParamDescription.js"],"names":["sourceCode","jsdoc","report","context","jsdocNode","always","jsdocTags","_","filter","tags","tag","has","options","forEach","jsdocTag","description","startsWith","fixer","replacement","getText","replace","replaceText","reg","RegExp","match"],"mappings":";;;;;;;AAAA;;AACA;;;;eAEe,2BAAa,gBAMtB;AAAA,MALJA,UAKI,QALJA,UAKI;AAAA,MAJJC,KAII,QAJJA,KAII;AAAA,MAHJC,MAGI,QAHJA,MAGI;AAAA,MAFJC,OAEI,QAFJA,OAEI;AAAA,MADJC,SACI,QADJA,SACI;AACJ,MAAIC,MAAJ;;AAEA,MAAMC,SAAS,GAAGC,gBAAEC,MAAF,CAASP,KAAK,CAACQ,IAAf,EAAqB;AACrCC,IAAAA,GAAG,EAAE;AADgC,GAArB,CAAlB;;AAIA,MAAIH,gBAAEI,GAAF,CAAMR,OAAO,CAACS,OAAd,EAAuB,CAAvB,CAAJ,EAA+B;AAC7BP,IAAAA,MAAM,GAAGF,OAAO,CAACS,OAAR,CAAgB,CAAhB,MAAuB,QAAhC;AACD,GAFD,MAEO;AACLP,IAAAA,MAAM,GAAG,IAAT;AACD;;AAEDE,kBAAEM,OAAF,CAAUP,SAAV,EAAqB,UAACQ,QAAD,EAAc;AACjC,QAAI,CAACA,QAAQ,CAACC,WAAd,EAA2B;AACzB;AACD;;AAED,QAAIV,MAAJ,EAAY;AACV,UAAI,CAACE,gBAAES,UAAF,CAAaF,QAAQ,CAACC,WAAtB,EAAmC,GAAnC,CAAL,EAA8C;AAC5Cb,QAAAA,MAAM,CAAC,mDAAD,EAAsD,UAACe,KAAD,EAAW;AACrE,cAAMC,WAAW,GAAGlB,UAAU,CAACmB,OAAX,CAAmBf,SAAnB,EAA8BgB,OAA9B,CAAsCN,QAAQ,CAACC,WAA/C,EAA4D,OAAOD,QAAQ,CAACC,WAA5E,CAApB;AAEA,iBAAOE,KAAK,CAACI,WAAN,CAAkBjB,SAAlB,EAA6Bc,WAA7B,CAAP;AACD,SAJK,EAIHJ,QAJG,CAAN;AAKD;AACF,KARD,MAQO,IAAIP,gBAAES,UAAF,CAAaF,QAAQ,CAACC,WAAtB,EAAmC,GAAnC,CAAJ,EAA6C;AAClDb,MAAAA,MAAM,CAAC,oDAAD,EAAuD,UAACe,KAAD,EAAW;AACtE,YAAMK,GAAG,GAAG,IAAIC,MAAJ,CAAW,eAAX,CAAZ;AACA,YAAML,WAAW,GAAGlB,UAAU,CAACmB,OAAX,CAAmBf,SAAnB,EAA8BgB,OAA9B,CAAsCN,QAAQ,CAACC,WAA/C,EAA4DD,QAAQ,CAACC,WAAT,CAAqBS,KAArB,CAA2BF,GAA3B,CAA5D,CAApB;AAEA,eAAOL,KAAK,CAACI,WAAN,CAAkBjB,SAAlB,EAA6Bc,WAA7B,CAAP;AACD,OALK,EAKHJ,QALG,CAAN;AAMD;AACF,GArBD;AAsBD,CAzCc,C","sourcesContent":["import _ from 'lodash';\nimport iterateJsdoc from '../iterateJsdoc';\n\nexport default iterateJsdoc(({\n sourceCode,\n jsdoc,\n report,\n context,\n jsdocNode\n}) => {\n let always;\n\n const jsdocTags = _.filter(jsdoc.tags, {\n tag: 'param'\n });\n\n if (_.has(context.options, 0)) {\n always = context.options[0] === 'always';\n } else {\n always = true;\n }\n\n _.forEach(jsdocTags, (jsdocTag) => {\n if (!jsdocTag.description) {\n return;\n }\n\n if (always) {\n if (!_.startsWith(jsdocTag.description, '-')) {\n report('There must be a hyphen before @param description.', (fixer) => {\n const replacement = sourceCode.getText(jsdocNode).replace(jsdocTag.description, '- ' + jsdocTag.description);\n\n return fixer.replaceText(jsdocNode, replacement);\n }, jsdocTag);\n }\n } else if (_.startsWith(jsdocTag.description, '-')) {\n report('There must be no hyphen before @param description.', (fixer) => {\n const reg = new RegExp(/(?<=-\\s*)\\w.*/);\n const replacement = sourceCode.getText(jsdocNode).replace(jsdocTag.description, jsdocTag.description.match(reg));\n\n return fixer.replaceText(jsdocNode, replacement);\n }, jsdocTag);\n }\n });\n});\n"],"file":"requireHyphenBeforeParamDescription.js"}