old_contents: 'use strict';
  import GenBase from '../genBase';
  
  export default class Generator extends GenBase {
    constructor(...args) {
      super(...args);
    }
  
    get prompting() {
      return function () {
        this.askForModuleName();
      };
    }
  
    get writing() {
      return function () {
        const done = this.async();
  
        Promise.all([
          this.copySrcFile('provider'),
          this.copyUnitTest('provider')
        ]).then(() => {
          done();
        });
      };
    }
  }
  
new_contents: 'use strict';
  import GenBase from '../genBase';
  
  export default class Generator extends GenBase {
    constructor(...args) {
      super(...args);
    }
  
    get prompting() {
      return function () {
        this.askForModuleName();
      };
    }
  
    get writing() {
      return async function () {
        const done = this.async();
  
        await Promise.all([
          this.copySrcFile('provider'),
          this.copyUnitTest('provider')
        ]);
  
        done();
      };
    }
  }
  
subject: use async/await