UNPKG

@kitmi/types

Version:

JavaScript semantic data types

57 lines (56 loc) 1.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function() { return _default; } }); const _errors = require("./errors"); function _define_property(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } class T_BINARY { validate(value) { return value instanceof Buffer; } _sanitize(value, meta, opts) { if (value instanceof Buffer) { return value; } if (typeof value === 'string') { return Buffer.from(value, meta.encoding || 'base64'); } throw new _errors.ValidationError('Invalid binary value.', { value: opts.rawValue, path: opts.path }); } serialize(value, meta) { return value == null ? null : value.toString(meta.encoding || 'base64'); } constructor(system){ _define_property(this, "name", 'binary'); _define_property(this, "alias", [ 'blob', 'buffer' ]); _define_property(this, "primitive", true); _define_property(this, "defaultValue", null); this.system = system; } } const _default = T_BINARY; //# sourceMappingURL=binary.js.map