Initial commit
[yaffs-website] / node_modules / har-validator / src / async.js
1 import * as schemas from 'har-schema'
2 import Ajv from 'ajv'
3 import HARError from './error'
4
5 let ajv
6
7 export function validate (name, data = {}, next) {
8   // validator config
9   ajv = ajv || new Ajv({
10     allErrors: true,
11     schemas: schemas
12   })
13
14   let validate = ajv.getSchema(name + '.json')
15
16   let valid = validate(data)
17
18   // callback?
19   if (typeof next === 'function') {
20     return next(!valid ? new HARError(validate.errors) : null, valid)
21   }
22
23   return valid
24 }
25
26 export function afterRequest (data, next) {
27   return validate('afterRequest', data, next)
28 }
29
30 export function beforeRequest (data, next) {
31   return validate('beforeRequest', data, next)
32 }
33
34 export function browser (data, next) {
35   return validate('browser', data, next)
36 }
37
38 export function cache (data, next) {
39   return validate('cache', data, next)
40 }
41
42 export function content (data, next) {
43   return validate('content', data, next)
44 }
45
46 export function cookie (data, next) {
47   return validate('cookie', data, next)
48 }
49
50 export function creator (data, next) {
51   return validate('creator', data, next)
52 }
53
54 export function entry (data, next) {
55   return validate('entry', data, next)
56 }
57
58 export function har (data, next) {
59   return validate('har', data, next)
60 }
61
62 export function header (data, next) {
63   return validate('header', data, next)
64 }
65
66 export function log (data, next) {
67   return validate('log', data, next)
68 }
69
70 export function page (data, next) {
71   return validate('page', data, next)
72 }
73
74 export function pageTimings (data, next) {
75   return validate('pageTimings', data, next)
76 }
77
78 export function postData (data, next) {
79   return validate('postData', data, next)
80 }
81
82 export function query (data, next) {
83   return validate('query', data, next)
84 }
85
86 export function request (data, next) {
87   return validate('request', data, next)
88 }
89
90 export function response (data, next) {
91   return validate('response', data, next)
92 }
93
94 export function timings (data, next) {
95   return validate('timings', data, next)
96 }