export-es6-class.js 572 B

123456789101112131415161718192021222324
  1. /* jshint node: true, esnext: true */
  2. module.exports = {
  3. handlers: {
  4. /**
  5. * @see http://usejsdoc.org/about-plugins.html#event-beforeparse
  6. * @see https://github.com/jsdoc3/jsdoc/issues/1137
  7. * @param evt
  8. */
  9. beforeParse: function( evt ) {
  10. 'use strict';
  11. let className;
  12. let foundClassName = /export default class ([A-Za-z]+)/.exec( evt.source );
  13. if ( foundClassName ) {
  14. className = foundClassName[ 1 ];
  15. evt.source =
  16. evt.source.replace( 'export default class', 'class' ) +
  17. '\nexport default ' + className + ';\n';
  18. }
  19. }
  20. }
  21. };