ravendb
Version:
RavenDB client for Node.js
59 lines • 3.21 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.LazyRevisionOperations = void 0;
const GetRevisionOperation_js_1 = require("../GetRevisionOperation.js");
const MetadataAsDictionary_js_1 = require("../../../../Mapping/MetadataAsDictionary.js");
const LazyRevisionOperation_js_1 = require("./LazyRevisionOperation.js");
const TypeUtil_js_1 = require("../../../../Utility/TypeUtil.js");
class LazyRevisionOperations {
delegate;
constructor(delegate) {
this.delegate = delegate;
}
getMetadataFor(id, options) {
options = Object.assign({
pageSize: 25,
start: 0
}, options || {});
const operation = new GetRevisionOperation_js_1.GetRevisionOperation(this.delegate, id, options.start, options.pageSize);
const lazyRevisionOperation = new LazyRevisionOperation_js_1.LazyRevisionOperation(MetadataAsDictionary_js_1.MetadataDictionary, operation, "ListOfMetadata");
return this.delegate.addLazyOperation(lazyRevisionOperation);
}
get(changeVectorOrVectorsOrId, documentTypeOrDate) {
const documentType = TypeUtil_js_1.TypeUtil.isDocumentType(documentTypeOrDate)
? documentTypeOrDate
: undefined;
if (TypeUtil_js_1.TypeUtil.isDate(documentTypeOrDate)) {
return this._getByIdAndDate(changeVectorOrVectorsOrId, documentTypeOrDate);
}
else {
return this._get(changeVectorOrVectorsOrId, documentType);
}
}
_get(changeVectorOrVectors, documentType) {
if (TypeUtil_js_1.TypeUtil.isArray(changeVectorOrVectors)) {
const operation = new GetRevisionOperation_js_1.GetRevisionOperation(this.delegate, changeVectorOrVectors);
const lazyRevisionOperation = new LazyRevisionOperation_js_1.LazyRevisionOperation(documentType, operation, "Map");
return this.delegate.addLazyOperation(lazyRevisionOperation);
}
else {
const operation = new GetRevisionOperation_js_1.GetRevisionOperation(this.delegate, changeVectorOrVectors);
const lazyRevisionOperation = new LazyRevisionOperation_js_1.LazyRevisionOperation(documentType, operation, "Single");
return this.delegate.addLazyOperation(lazyRevisionOperation);
}
}
_getByIdAndDate(id, date, clazz) {
const operation = new GetRevisionOperation_js_1.GetRevisionOperation(this.delegate, id, date);
const lazyRevisionOperation = new LazyRevisionOperation_js_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_js_1.GetRevisionOperation(this.delegate, id, start, pageSize);
const lazyRevisionOperation = new LazyRevisionOperation_js_1.LazyRevisionOperation(options.documentType, operation, "Multi");
return this.delegate.addLazyOperation(lazyRevisionOperation);
}
}
exports.LazyRevisionOperations = LazyRevisionOperations;
//# sourceMappingURL=LazyRevisionOperations.js.map