Initial commit
[yaffs-website] / node_modules / har-validator / lib / browser / 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 }