Initial commit
[yaffs-website] / node_modules / har-validator / src / promise.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 = {}) {
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   return new Promise((resolve, reject) => {
17     let valid = validate(data)
18
19     !valid ? reject(new HARError(validate.errors)) : resolve(data)
20   })
21 }
22
23 export function afterRequest (data) {
24   return validate('afterRequest', data)
25 }
26
27 export function beforeRequest (data) {
28   return validate('beforeRequest', data)
29 }
30
31 export function browser (data) {
32   return validate('browser', data)
33 }
34
35 export function cache (data) {
36   return validate('cache', data)
37 }
38
39 export function content (data) {
40   return validate('content', data)
41 }
42
43 export function cookie (data) {
44   return validate('cookie', data)
45 }
46
47 export function creator (data) {
48   return validate('creator', data)
49 }
50
51 export function entry (data) {
52   return validate('entry', data)
53 }
54
55 export function har (data) {
56   return validate('har', data)
57 }
58
59 export function header (data) {
60   return validate('header', data)
61 }
62
63 export function log (data) {
64   return validate('log', data)
65 }
66
67 export function page (data) {
68   return validate('page', data)
69 }
70
71 export function pageTimings (data) {
72   return validate('pageTimings', data)
73 }
74
75 export function postData (data) {
76   return validate('postData', data)
77 }
78
79 export function query (data) {
80   return validate('query', data)
81 }
82
83 export function request (data) {
84   return validate('request', data)
85 }
86
87 export function response (data) {
88   return validate('response', data)
89 }
90
91 export function timings (data) {
92   return validate('timings', data)
93 }