--- /dev/null
+'use strict'
+
+var Promise = require('pinkie-promise')
+var runner = require('./runner')
+var schemas = require('./schemas')
+
+var promisify = function (schema) {
+ return function (data) {
+ return new Promise(function (resolve, reject) {
+ runner(schema, data, function (err, valid) {
+ return err === null ? resolve(data) : reject(err)
+ })
+ })
+ }
+}
+
+module.exports = promisify(schemas.har)
+
+// utility methods for all parts of the schema
+Object.keys(schemas).map(function (name) {
+ module.exports[name] = promisify(schemas[name])
+})