quicksilver-cli
Version:
Cli tool for Quicksilver
20 lines (19 loc) • 707 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const placeholder_1 = require("./placeholder");
async function validate(validator, value) {
const predictor = validator.predictor;
const args = Object.assign({ "value": value }, validator.args);
let result;
if (predictor instanceof RegExp) {
result = value != null && predictor.test(value.toString());
}
else {
result = predictor(value);
if (result instanceof Promise) {
result = await result;
}
}
return result ? Promise.resolve("true") : Promise.reject(placeholder_1.replace(validator.message, args));
}
exports.validate = validate;