mongodb-stitch
Version:
[](https://gitter.im/mongodb/stitch?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
47 lines • 2.02 kB
JavaScript
(function (factory) {
if (typeof module === "object" && typeof module.exports === "object") {
var v = factory(require, exports);
if (v !== undefined) module.exports = v;
}
else if (typeof define === "function" && define.amd) {
define(["require", "exports"], factory);
}
})(function (require, exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var CoreRemoteMongoReadOperation = (function () {
function CoreRemoteMongoReadOperation(command, args, service, decoder) {
this.command = command;
this.args = args;
this.service = service;
if (decoder) {
this.collectionDecoder = new (function () {
function class_1() {
}
class_1.prototype.decode = function (from) {
if (from instanceof Array) {
return from.map(function (t) { return decoder.decode(t); });
}
return [decoder.decode(from)];
};
return class_1;
}())();
}
}
CoreRemoteMongoReadOperation.prototype.iterator = function () {
return this.executeRead().then(function (res) { return res[Symbol.iterator](); });
};
CoreRemoteMongoReadOperation.prototype.first = function () {
return this.executeRead().then(function (res) { return res[0]; });
};
CoreRemoteMongoReadOperation.prototype.asArray = function () {
return this.executeRead();
};
CoreRemoteMongoReadOperation.prototype.executeRead = function () {
return this.service.callFunction(this.command, [this.args], this.collectionDecoder);
};
return CoreRemoteMongoReadOperation;
}());
exports.default = CoreRemoteMongoReadOperation;
});
//# sourceMappingURL=CoreRemoteMongoReadOperation.js.map