UNPKG

@decaf-ts/for-couchdb

Version:
44 lines 4.28 kB
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); }; import { model, required } from "@decaf-ts/decorator-validation"; import { BaseModel, pk, index, table } from "@decaf-ts/core"; import { CouchDBKeys } from "./../constants.js"; /** * @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 BaseModel { constructor(seq) { super(seq); } }; __decorate([ pk(), __metadata("design:type", String) ], Sequence.prototype, "id", void 0); __decorate([ required(), index(), __metadata("design:type", Object) ], Sequence.prototype, "current", void 0); Sequence = __decorate([ table(CouchDBKeys.SEQUENCE), model(), __metadata("design:paramtypes", [Object]) ], Sequence); export { Sequence }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ291Y2hEQlNlcXVlbmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGVsL0NvdWNoREJTZXF1ZW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDQSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsV0FBVyxFQUFFLDBCQUFxQjtBQUUzQzs7Ozs7Ozs7OztHQVVHO0FBR0ksSUFBTSxRQUFRLEdBQWQsTUFBTSxRQUFTLFNBQVEsU0FBUztJQWdCckMsWUFBWSxHQUF3QjtRQUNsQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDYixDQUFDO0NBQ0YsQ0FBQTtBQWJDO0lBREMsRUFBRSxFQUFFOztvQ0FDTztBQVFaO0lBRkMsUUFBUSxFQUFFO0lBQ1YsS0FBSyxFQUFFOzt5Q0FDa0I7QUFkZixRQUFRO0lBRnBCLEtBQUssQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDO0lBQzNCLEtBQUssRUFBRTs7R0FDSyxRQUFRLENBbUJwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTW9kZWxBcmcgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBtb2RlbCwgcmVxdWlyZWQgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBCYXNlTW9kZWwsIHBrLCBpbmRleCwgdGFibGUgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IENvdWNoREJLZXlzIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBNb2RlbCBmb3IgQ291Y2hEQiBzZXF1ZW5jZSByZWNvcmRzXG4gKiBAc3VtbWFyeSBSZXByZXNlbnRzIGEgc2VxdWVuY2UgaW4gQ291Y2hEQiB1c2VkIGZvciBnZW5lcmF0aW5nIHNlcXVlbnRpYWwgSURzXG4gKiBAcGFyYW0ge01vZGVsQXJnPFNlcXVlbmNlPn0gW3NlcV0gLSBPcHRpb25hbCBpbml0aWFsaXphdGlvbiBkYXRhIGZvciB0aGUgc2VxdWVuY2VcbiAqIEBjbGFzc1xuICogQGV4YW1wbGVcbiAqIC8vIEV4YW1wbGUgb2YgY3JlYXRpbmcgYW5kIHVzaW5nIGEgU2VxdWVuY2VcbiAqIGNvbnN0IHNlcXVlbmNlID0gbmV3IFNlcXVlbmNlKHsgaWQ6ICd1c2VyLXNlcScsIGN1cnJlbnQ6IDEgfSk7XG4gKiAvLyBJbmNyZW1lbnQgdGhlIHNlcXVlbmNlXG4gKiBzZXF1ZW5jZS5jdXJyZW50ID0gTnVtYmVyKHNlcXVlbmNlLmN1cnJlbnQpICsgMTtcbiAqL1xuQHRhYmxlKENvdWNoREJLZXlzLlNFUVVFTkNFKVxuQG1vZGVsKClcbmV4cG9ydCBjbGFzcyBTZXF1ZW5jZSBleHRlbmRzIEJhc2VNb2RlbCB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgc2VxdWVuY2VcbiAgICogQHN1bW1hcnkgUHJpbWFyeSBrZXkgZm9yIHRoZSBzZXF1ZW5jZSByZWNvcmRcbiAgICovXG4gIEBwaygpXG4gIGlkITogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIHNlcXVlbmNlXG4gICAqIEBzdW1tYXJ5IEN1cnJlbnQgc2VxdWVuY2UgdmFsdWUgdGhhdCBjYW4gYmUgaW5jcmVtZW50ZWRcbiAgICovXG4gIEByZXF1aXJlZCgpXG4gIEBpbmRleCgpXG4gIGN1cnJlbnQhOiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgY29uc3RydWN0b3Ioc2VxPzogTW9kZWxBcmc8U2VxdWVuY2U+KSB7XG4gICAgc3VwZXIoc2VxKTtcbiAgfVxufVxuIl19