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)