comment-fixer.js 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. /**
  2. * @license Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
  3. * For licensing, see LICENSE.md.
  4. */
  5. module.exports = {
  6. handlers: {
  7. /**
  8. * @see http://usejsdoc.org/about-plugins.html#event-beforeparse
  9. * @param evt
  10. */
  11. beforeParse( evt ) {
  12. 'use strict'; // WAT... JSDoc fails when you move it to the top of the file.
  13. let className;
  14. let foundClassName = /export default class ([A-Za-z]+)/.exec( evt.source );
  15. // Fix for {@link https://github.com/jsdoc3/jsdoc/issues/1137}. Export default class is not parsed by jsdoc 3.4.
  16. if ( foundClassName ) {
  17. className = foundClassName[ 1 ];
  18. evt.source =
  19. evt.source.replace( 'export default class', 'class' ) +
  20. '\nexport default ' + className + ';\n';
  21. }
  22. // TODO: jsdoc fail to parse method with expanded argument list
  23. evt.source = evt.source.replace( '...}', '}' );
  24. // Make code in comments indented with one tab so it will not be shifted.
  25. evt.source = evt.source.replace( /\*\t\t/g, '*\t' );
  26. }
  27. }
  28. };