ts-cast
Version:
Runtime typechecking
13 lines (12 loc) • 621 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.array = void 0;
var engine_1 = require("../engine");
var transformArray = function (caster) { return function (value, context, reportError) { return value.map(function (item, index) {
return caster(item, context ? "".concat(context, "[").concat(index, "]") : "#".concat(index), reportError);
}); }; };
var array = function (caster, typeName) {
if (typeName === void 0) { typeName = "".concat(caster.name, "[]"); }
return (0, engine_1.createCaster)(typeName, Array.isArray, transformArray(caster));
};
exports.array = array;