HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/shop.komma.nl/node_modules/@vue/cli-ui/apollo-server/api/task.js
const { createSchema, validateSync } = require('@vue/cli-shared-utils')

const schema = joi => ({
  description: joi.string(),
  link: joi.string().uri(),
  icon: joi.string(),
  prompts: joi.array(),
  views: joi.array().items(joi.object({
    id: joi.string().required(),
    label: joi.string().required(),
    icon: joi.string(),
    component: joi.string().required()
  })),
  defaultView: joi.string(),
  onBeforeRun: joi.func(),
  onRun: joi.func(),
  onExit: joi.func()
})

const describeSchema = createSchema(joi => ({
  match: joi.alternatives().try(joi.object().type(RegExp), joi.func()).required().description('Match a npm script command'),
  ...schema(joi)
}))

const addSchema = createSchema(joi => ({
  name: joi.string().required(),
  command: joi.string().required(),
  ...schema(joi)
}))

exports.validateDescribeTask = (options) => {
  validateSync(options, describeSchema)
}

exports.validateAddTask = (options) => {
  validateSync(options, addSchema)
}