UNPKG

model-layer

Version:
39 lines 1.19 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BooleanType = void 0; const Type_1 = require("./Type"); const utils_1 = require("../utils"); const errors_1 = require("../errors"); class BooleanType extends Type_1.Type { constructor(params) { super(params); this.nullAsFalse = !!params.nullAsFalse; this.falseAsNull = !!params.falseAsNull; if (params.nullAsFalse && params.falseAsNull) { throw new errors_1.ConflictNullAndFalseParameterError({}); } } prepare(value, key) { if (value == null) { if (this.nullAsFalse) { return false; } return null; } if (typeof value !== "boolean") { const valueAsString = utils_1.invalidValuesAsString(value); throw new errors_1.InvalidBooleanError({ key, invalidValue: valueAsString }); } if (this.falseAsNull) { if (!value) { value = null; } } return value; } } exports.BooleanType = BooleanType; //# sourceMappingURL=BooleanType.js.map