text: const { notEmpty } = require('../utils.js');
  
  module.exports = {
    description: 'generate store',
    prompts: [{
      type: 'input',
      name: 'name',
      message: 'store name please',
      validate: notEmpty('name')
    },
    {
      type: 'checkbox',
      name: 'blocks',
      message: 'Blocks:',
      choices: [{
        name: 'state',
        value: 'state',
        checked: true
      },
      {
        name: 'mutations',
        value: 'mutations',
        checked: true
      },
      {
        name: 'actions',
        value: 'actions',
        checked: true
      }
      ],
      validate(value) {
        if (!value.includes('state') || !value.includes('mutations')) {
          return 'store require at least state and mutations'
        }
        return true
      }
    }
    ],
    actions(data) {
      const name = '{{name}}';
      const { blocks } = data;
      const options = ['state', 'mutations'];
      const joinFlag = `,
    `;
      if (blocks.length === 3) {
        options.push('actions')
      }
  
      const actions = [{
        type: 'add',
        path: `src/store/modules/${name}.js`,
        templateFile: 'plop-templates/store/index.hbs',
        data: {
          options: options.join(joinFlag),
          state: blocks.includes('state'),
          mutations: blocks.includes('mutations'),
          actions: blocks.includes('actions')
        }
      }];
      return actions
    }
  };
  