Blame view

node_modules/ajv-keywords/keywords/switch.js 817 Bytes
aaac7fed   liuqimichale   add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
  'use strict';
  
  var util = require('./_util');
  
  module.exports = function defFunc(ajv) {
    if (ajv.RULES.keywords.switch && ajv.RULES.keywords.if) return;
  
    var metaSchemaRef = util.metaSchemaRef(ajv);
  
    defFunc.definition = {
      inline: require('./dotjs/switch'),
      statements: true,
      errors: 'full',
      metaSchema: {
        type: 'array',
        items: {
          required: [ 'then' ],
          properties: {
            'if': metaSchemaRef,
            'then': {
              anyOf: [
                { type: 'boolean' },
                metaSchemaRef
              ]
            },
            'continue': { type: 'boolean' }
          },
          additionalProperties: false,
          dependencies: {
            'continue': [ 'if' ]
          }
        }
      }
    };
  
    ajv.addKeyword('switch', defFunc.definition);
    return ajv;
  };