srt-validator
Version:
<h1 align="center">SrtValidator</h1>
42 lines (41 loc) • 1.39 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.parser = exports.validator = void 0;
var index_1 = require("./parser/index");
var caption_time_span_validator_1 = require("./validators/caption-time-span-validator");
var line_number_validator_1 = require("./validators/line-number-validator");
function runValidator(Validators, parsedObj) {
/* eslint-disable */
return Validators.map(function (Validator) {
// @ts-ignore
var validator = new Validator(parsedObj);
return validator.validate();
}).reduce(function (acc, cur) {
acc.push.apply(acc, cur);
return acc;
}, []);
/* eslint-enable */
}
function srtValidator(srtString) {
var result = [];
var parsedObjArray;
try {
parsedObjArray = index_1.default.parse(srtString);
}
catch (error) {
result.push(error);
}
if (result.length) {
return result;
}
/* eslint-disable */
result.push.apply(result, runValidator(
// @ts-ignore
[line_number_validator_1.default, caption_time_span_validator_1.default], parsedObjArray));
/* eslint-enable */
return result.sort(function (a, b) { return a.lineNumber - b.lineNumber; });
}
exports.validator = srtValidator;
exports.parser = index_1.default;
// Default validator for backwards compatibility
exports.default = srtValidator;
;