baqend
Version:
Baqend JavaScript SDK
100 lines • 4.91 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Type = exports.PersistenceType = void 0;
var PersistenceType;
(function (PersistenceType) {
PersistenceType[PersistenceType["BASIC"] = 0] = "BASIC";
PersistenceType[PersistenceType["EMBEDDABLE"] = 1] = "EMBEDDABLE";
PersistenceType[PersistenceType["ENTITY"] = 2] = "ENTITY";
PersistenceType[PersistenceType["MAPPED_SUPERCLASS"] = 3] = "MAPPED_SUPERCLASS";
})(PersistenceType = exports.PersistenceType || (exports.PersistenceType = {}));
var Type = /** @class */ (function () {
/**
* @param ref
* @param typeConstructor
*/
function Type(ref, typeConstructor) {
if (ref.indexOf('/db/') !== 0) {
throw new SyntaxError("Type ref ".concat(ref, " is invalid."));
}
this.ref = ref;
this.name = ref.substring(4);
this._typeConstructor = typeConstructor;
}
Object.defineProperty(Type.prototype, "persistenceType", {
/**
* The persistent type of this type
*/
get: function () {
return -1;
},
enumerable: false,
configurable: true
});
Object.defineProperty(Type.prototype, "isBasic", {
/**
* @type boolean
* @readonly
*/
get: function () {
return this.persistenceType === PersistenceType.BASIC;
},
enumerable: false,
configurable: true
});
Object.defineProperty(Type.prototype, "isEmbeddable", {
/**
* @type boolean
* @readonly
*/
get: function () {
return this.persistenceType === PersistenceType.EMBEDDABLE;
},
enumerable: false,
configurable: true
});
Object.defineProperty(Type.prototype, "isEntity", {
/**
* @type boolean
* @readonly
*/
get: function () {
return this.persistenceType === PersistenceType.ENTITY;
},
enumerable: false,
configurable: true
});
Object.defineProperty(Type.prototype, "isMappedSuperclass", {
/**
* @type boolean
* @readonly
*/
get: function () {
return this.persistenceType === PersistenceType.MAPPED_SUPERCLASS;
},
enumerable: false,
configurable: true
});
Object.defineProperty(Type.prototype, "typeConstructor", {
/**
* The type constructor of this type
*/
get: function () {
return this._typeConstructor;
},
/**
* @param typeConstructor - sets the type constructor of this type if it is not already set
*/
set: function (typeConstructor) {
if (this._typeConstructor) {
throw new Error('typeConstructor has already been set.');
}
this._typeConstructor = typeConstructor;
},
enumerable: false,
configurable: true
});
return Type;
}());
exports.Type = Type;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9tZXRhbW9kZWwvVHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSxJQUFZLGVBS1g7QUFMRCxXQUFZLGVBQWU7SUFDekIsdURBQVMsQ0FBQTtJQUNULGlFQUFjLENBQUE7SUFDZCx5REFBVSxDQUFBO0lBQ1YsK0VBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQUxXLGVBQWUsR0FBZix1QkFBZSxLQUFmLHVCQUFlLFFBSzFCO0FBRUQ7SUFpRUU7OztPQUdHO0lBQ0gsY0FBc0IsR0FBVyxFQUFFLGVBQTBCO1FBQzNELElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDN0IsTUFBTSxJQUFJLFdBQVcsQ0FBQyxtQkFBWSxHQUFHLGlCQUFjLENBQUMsQ0FBQztTQUN0RDtRQUVELElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxlQUFlLENBQUM7SUFDMUMsQ0FBQztJQWpFRCxzQkFBSSxpQ0FBZTtRQUhuQjs7V0FFRzthQUNIO1lBQ0UsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUNaLENBQUM7OztPQUFBO0lBTUQsc0JBQUkseUJBQU87UUFKWDs7O1dBR0c7YUFDSDtZQUNFLE9BQU8sSUFBSSxDQUFDLGVBQWUsS0FBSyxlQUFlLENBQUMsS0FBSyxDQUFDO1FBQ3hELENBQUM7OztPQUFBO0lBTUQsc0JBQUksOEJBQVk7UUFKaEI7OztXQUdHO2FBQ0g7WUFDRSxPQUFPLElBQUksQ0FBQyxlQUFlLEtBQUssZUFBZSxDQUFDLFVBQVUsQ0FBQztRQUM3RCxDQUFDOzs7T0FBQTtJQU1ELHNCQUFJLDBCQUFRO1FBSlo7OztXQUdHO2FBQ0g7WUFDRSxPQUFPLElBQUksQ0FBQyxlQUFlLEtBQUssZUFBZSxDQUFDLE1BQU0sQ0FBQztRQUN6RCxDQUFDOzs7T0FBQTtJQU1ELHNCQUFJLG9DQUFrQjtRQUp0Qjs7O1dBR0c7YUFDSDtZQUNFLE9BQU8sSUFBSSxDQUFDLGVBQWUsS0FBSyxlQUFlLENBQUMsaUJBQWlCLENBQUM7UUFDcEUsQ0FBQzs7O09BQUE7SUFLRCxzQkFBSSxpQ0FBZTtRQUhuQjs7V0FFRzthQUNIO1lBQ0UsT0FBTyxJQUFJLENBQUMsZ0JBQWtCLENBQUM7UUFDakMsQ0FBQztRQUVEOztXQUVHO2FBQ0gsVUFBb0IsZUFBeUI7WUFDM0MsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQzthQUMxRDtZQUNELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxlQUFlLENBQUM7UUFDMUMsQ0FBQzs7O09BVkE7SUFzREgsV0FBQztBQUFELENBQUMsQUEzR0QsSUEyR0M7QUEzR3FCLG9CQUFJIn0=