@decaf-ts/for-couchdb
Version:
template for ts projects
47 lines • 4.41 kB
JavaScript
;
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Sequence = void 0;
const decorator_validation_1 = require("@decaf-ts/decorator-validation");
const core_1 = require("@decaf-ts/core");
const constants_1 = require("./../constants.cjs");
/**
* @description Model for CouchDB sequence records
* @summary Represents a sequence in CouchDB used for generating sequential IDs
* @param {ModelArg<Sequence>} [seq] - Optional initialization data for the sequence
* @class
* @example
* // Example of creating and using a Sequence
* const sequence = new Sequence({ id: 'user-seq', current: 1 });
* // Increment the sequence
* sequence.current = Number(sequence.current) + 1;
*/
let Sequence = class Sequence extends core_1.BaseModel {
constructor(seq) {
super(seq);
}
};
exports.Sequence = Sequence;
__decorate([
(0, core_1.pk)(),
__metadata("design:type", String)
], Sequence.prototype, "id", void 0);
__decorate([
(0, decorator_validation_1.required)(),
(0, core_1.index)(),
__metadata("design:type", Object)
], Sequence.prototype, "current", void 0);
exports.Sequence = Sequence = __decorate([
(0, core_1.table)(constants_1.CouchDBKeys.SEQUENCE),
(0, decorator_validation_1.model)(),
__metadata("design:paramtypes", [Object])
], Sequence);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ291Y2hEQlNlcXVlbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZGVsL0NvdWNoREJTZXF1ZW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFDQSx5RUFBaUU7QUFDakUseUNBQTZEO0FBQzdELGtEQUEyQztBQUUzQzs7Ozs7Ozs7OztHQVVHO0FBR0ksSUFBTSxRQUFRLEdBQWQsTUFBTSxRQUFTLFNBQVEsZ0JBQVM7SUFnQnJDLFlBQVksR0FBd0I7UUFDbEMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2IsQ0FBQztDQUNGLENBQUE7QUFuQlksNEJBQVE7QUFNbkI7SUFEQyxJQUFBLFNBQUUsR0FBRTs7b0NBQ087QUFRWjtJQUZDLElBQUEsK0JBQVEsR0FBRTtJQUNWLElBQUEsWUFBSyxHQUFFOzt5Q0FDa0I7bUJBZGYsUUFBUTtJQUZwQixJQUFBLFlBQUssRUFBQyx1QkFBVyxDQUFDLFFBQVEsQ0FBQztJQUMzQixJQUFBLDRCQUFLLEdBQUU7O0dBQ0ssUUFBUSxDQW1CcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE1vZGVsQXJnIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgbW9kZWwsIHJlcXVpcmVkIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgQmFzZU1vZGVsLCBwaywgaW5kZXgsIHRhYmxlIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBDb3VjaERCS2V5cyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gTW9kZWwgZm9yIENvdWNoREIgc2VxdWVuY2UgcmVjb3Jkc1xuICogQHN1bW1hcnkgUmVwcmVzZW50cyBhIHNlcXVlbmNlIGluIENvdWNoREIgdXNlZCBmb3IgZ2VuZXJhdGluZyBzZXF1ZW50aWFsIElEc1xuICogQHBhcmFtIHtNb2RlbEFyZzxTZXF1ZW5jZT59IFtzZXFdIC0gT3B0aW9uYWwgaW5pdGlhbGl6YXRpb24gZGF0YSBmb3IgdGhlIHNlcXVlbmNlXG4gKiBAY2xhc3NcbiAqIEBleGFtcGxlXG4gKiAvLyBFeGFtcGxlIG9mIGNyZWF0aW5nIGFuZCB1c2luZyBhIFNlcXVlbmNlXG4gKiBjb25zdCBzZXF1ZW5jZSA9IG5ldyBTZXF1ZW5jZSh7IGlkOiAndXNlci1zZXEnLCBjdXJyZW50OiAxIH0pO1xuICogLy8gSW5jcmVtZW50IHRoZSBzZXF1ZW5jZVxuICogc2VxdWVuY2UuY3VycmVudCA9IE51bWJlcihzZXF1ZW5jZS5jdXJyZW50KSArIDE7XG4gKi9cbkB0YWJsZShDb3VjaERCS2V5cy5TRVFVRU5DRSlcbkBtb2RlbCgpXG5leHBvcnQgY2xhc3MgU2VxdWVuY2UgZXh0ZW5kcyBCYXNlTW9kZWwge1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIHNlcXVlbmNlXG4gICAqIEBzdW1tYXJ5IFByaW1hcnkga2V5IGZvciB0aGUgc2VxdWVuY2UgcmVjb3JkXG4gICAqL1xuICBAcGsoKVxuICBpZCE6IHN0cmluZztcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBzZXF1ZW5jZVxuICAgKiBAc3VtbWFyeSBDdXJyZW50IHNlcXVlbmNlIHZhbHVlIHRoYXQgY2FuIGJlIGluY3JlbWVudGVkXG4gICAqL1xuICBAcmVxdWlyZWQoKVxuICBAaW5kZXgoKVxuICBjdXJyZW50ITogc3RyaW5nIHwgbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKHNlcT86IE1vZGVsQXJnPFNlcXVlbmNlPikge1xuICAgIHN1cGVyKHNlcSk7XG4gIH1cbn1cbiJdfQ==