UNPKG

@configurator/ravendb

Version:
58 lines 3.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LazyRevisionOperations = void 0; const GetRevisionOperation_1 = require("../GetRevisionOperation"); const MetadataAsDictionary_1 = require("../../../../Mapping/MetadataAsDictionary"); const LazyRevisionOperation_1 = require("./LazyRevisionOperation"); const TypeUtil_1 = require("../../../../Utility/TypeUtil"); class LazyRevisionOperations { constructor(delegate) { this.delegate = delegate; } getMetadataFor(id, options) { options = Object.assign({ pageSize: 25, start: 0 }, options || {}); const operation = new GetRevisionOperation_1.GetRevisionOperation(this.delegate, id, options.start, options.pageSize); const lazyRevisionOperation = new LazyRevisionOperation_1.LazyRevisionOperation(MetadataAsDictionary_1.MetadataDictionary, operation, "ListOfMetadata"); return this.delegate.addLazyOperation(lazyRevisionOperation); } get(changeVectorOrVectorsOrId, documentTypeOrDate) { const documentType = TypeUtil_1.TypeUtil.isDocumentType(documentTypeOrDate) ? documentTypeOrDate : undefined; if (TypeUtil_1.TypeUtil.isDate(documentTypeOrDate)) { return this._getByIdAndDate(changeVectorOrVectorsOrId, documentTypeOrDate); } else { return this._get(changeVectorOrVectorsOrId, documentType); } } _get(changeVectorOrVectors, documentType) { if (TypeUtil_1.TypeUtil.isArray(changeVectorOrVectors)) { const operation = new GetRevisionOperation_1.GetRevisionOperation(this.delegate, changeVectorOrVectors); const lazyRevisionOperation = new LazyRevisionOperation_1.LazyRevisionOperation(documentType, operation, "Map"); return this.delegate.addLazyOperation(lazyRevisionOperation); } else { const operation = new GetRevisionOperation_1.GetRevisionOperation(this.delegate, changeVectorOrVectors); const lazyRevisionOperation = new LazyRevisionOperation_1.LazyRevisionOperation(documentType, operation, "Single"); return this.delegate.addLazyOperation(lazyRevisionOperation); } } _getByIdAndDate(id, date, clazz) { const operation = new GetRevisionOperation_1.GetRevisionOperation(this.delegate, id, date); const lazyRevisionOperation = new LazyRevisionOperation_1.LazyRevisionOperation(clazz, operation, "Single"); return this.delegate.addLazyOperation(lazyRevisionOperation); } getFor(id, options = {}) { const start = options.start ?? 0; const pageSize = options.pageSize ?? 25; const operation = new GetRevisionOperation_1.GetRevisionOperation(this.delegate, id, start, pageSize); const lazyRevisionOperation = new LazyRevisionOperation_1.LazyRevisionOperation(options.documentType, operation, "Multi"); return this.delegate.addLazyOperation(lazyRevisionOperation); } } exports.LazyRevisionOperations = LazyRevisionOperations; //# sourceMappingURL=LazyRevisionOperations.js.map