UNPKG

model-layer

Version:
42 lines 1.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CustomClassType = void 0; const Type_1 = require("./Type"); const utils_1 = require("../utils"); const errors_1 = require("../errors"); class CustomClassType extends Type_1.Type { constructor(params) { super(params); this.CustomClass = params.constructor; } prepare(value, key) { if (value == null) { return null; } const CustomClass = this.CustomClass; const className = CustomClass.name; if (value instanceof CustomClass) { return value; } const valueAsString = utils_1.invalidValuesAsString(value); throw new errors_1.InvalidValueForCustomClassError({ className, key, invalidValue: valueAsString }); } typeAsString() { return this.CustomClass.name; } toJSON() { throw new errors_1.NoToJSONMethodError({ className: this.CustomClass.name }); } clone(model, stack) { throw new errors_1.NoCloneMethodError({ className: this.CustomClass.name }); } equal() { throw new errors_1.NoEqualMethodError({ className: this.CustomClass.name }); } } exports.CustomClassType = CustomClassType; //# sourceMappingURL=CustomClassType.js.map