@backland/schema
Version:
TypeScript schema declaration and validation library with static type inference
42 lines (41 loc) • 957 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.IDField = void 0;
var _utils = require("@backland/utils");
var _CircularDeps = require("../CircularDeps");
var _FieldType = require("./FieldType");
class IDField extends _FieldType.FieldType {
constructor(def = {}) {
super({
def: def,
name: 'ID'
});
const {
autoCreate
} = def;
const createId = _CircularDeps.CircularDeps.ulid({
autoCreate: true
}).parse;
this.parse = this.applyParser({
parse(input) {
(0, _utils.expectedType)({
value: input
}, 'string');
return input;
},
preParse(input) {
if (autoCreate && input === undefined) {
return createId(undefined);
}
return input;
}
});
}
static create = (def = {}) => {
return new IDField(def);
};
}
exports.IDField = IDField;
//# sourceMappingURL=IDField.js.map