bs-ajv
Version:
BucklesScript bindings to Ajv (Another JSON Validator)
86 lines (70 loc) • 1.88 kB
JavaScript
;
var List = require("bs-platform/lib/js/list.js");
var $$Array = require("bs-platform/lib/js/array.js");
var Curry = require("bs-platform/lib/js/curry.js");
var $$String = require("bs-platform/lib/js/string.js");
var Js_dict = require("bs-platform/lib/js/js_dict.js");
var Js_boolean = require("bs-platform/lib/js/js_boolean.js");
var bool = Js_boolean.to_js_boolean;
function $$char(c) {
return $$String.make(1, c);
}
function date(d) {
return d.toJSON();
}
function nullable(encode, param) {
if (param) {
return Curry._1(encode, param[0]);
} else {
return null;
}
}
function withDefault(d, encode, param) {
if (param) {
return Curry._1(encode, param[0]);
} else {
return d;
}
}
var object_ = Js_dict.fromList;
var array = $$Array.map;
function list(encode, l) {
return $$Array.of_list(List.map(encode, l));
}
function pair(encodeA, encodeB, param) {
return /* array */[
Curry._1(encodeA, param[0]),
Curry._1(encodeB, param[1])
];
}
function tuple3(encodeA, encodeB, encodeC, param) {
return /* array */[
Curry._1(encodeA, param[0]),
Curry._1(encodeB, param[1]),
Curry._1(encodeC, param[2])
];
}
function tuple4(encodeA, encodeB, encodeC, encodeD, param) {
return /* array */[
Curry._1(encodeA, param[0]),
Curry._1(encodeB, param[1]),
Curry._1(encodeC, param[2]),
Curry._1(encodeD, param[3])
];
}
var tuple2 = pair;
var arrayOf = array;
exports.bool = bool;
exports.$$char = $$char;
exports.date = date;
exports.nullable = nullable;
exports.withDefault = withDefault;
exports.pair = pair;
exports.tuple2 = tuple2;
exports.tuple3 = tuple3;
exports.tuple4 = tuple4;
exports.object_ = object_;
exports.array = array;
exports.arrayOf = arrayOf;
exports.list = list;
/* Js_dict Not a pure module */