1 import * as schemas from 'har-schema';
3 import HARError from './error';
7 export function validate(name, data = {}) {
14 let validate = ajv.getSchema(name + '.json');
16 return new Promise((resolve, reject) => {
17 let valid = validate(data);
19 !valid ? reject(new HARError(validate.errors)) : resolve(data);
23 export function afterRequest(data) {
24 return validate('afterRequest', data);
27 export function beforeRequest(data) {
28 return validate('beforeRequest', data);
31 export function browser(data) {
32 return validate('browser', data);
35 export function cache(data) {
36 return validate('cache', data);
39 export function content(data) {
40 return validate('content', data);
43 export function cookie(data) {
44 return validate('cookie', data);
47 export function creator(data) {
48 return validate('creator', data);
51 export function entry(data) {
52 return validate('entry', data);
55 export function har(data) {
56 return validate('har', data);
59 export function header(data) {
60 return validate('header', data);
63 export function log(data) {
64 return validate('log', data);
67 export function page(data) {
68 return validate('page', data);
71 export function pageTimings(data) {
72 return validate('pageTimings', data);
75 export function postData(data) {
76 return validate('postData', data);
79 export function query(data) {
80 return validate('query', data);
83 export function request(data) {
84 return validate('request', data);
87 export function response(data) {
88 return validate('response', data);
91 export function timings(data) {
92 return validate('timings', data);