UNPKG

mongodb-stitch

Version:

[![Join the chat at https://gitter.im/mongodb/stitch](https://badges.gitter.im/mongodb/stitch.svg)](https://gitter.im/mongodb/stitch?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)

138 lines 6.24 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var mongodb_stitch_core_sdk_1 = require("mongodb-stitch-core-sdk"); var OperationType_1 = require("../OperationType"); var RemoteInsertManyResult_1 = __importDefault(require("../RemoteInsertManyResult")); var RemoteInsertManyResultFields; (function (RemoteInsertManyResultFields) { RemoteInsertManyResultFields["InsertedIds"] = "insertedIds"; })(RemoteInsertManyResultFields || (RemoteInsertManyResultFields = {})); var RemoteInsertOneResultFields; (function (RemoteInsertOneResultFields) { RemoteInsertOneResultFields["InsertedId"] = "insertedId"; })(RemoteInsertOneResultFields || (RemoteInsertOneResultFields = {})); var RemoteUpdateResultFields; (function (RemoteUpdateResultFields) { RemoteUpdateResultFields["MatchedCount"] = "matchedCount"; RemoteUpdateResultFields["ModifiedCount"] = "modifiedCount"; RemoteUpdateResultFields["UpsertedId"] = "upsertedId"; })(RemoteUpdateResultFields || (RemoteUpdateResultFields = {})); var RemoteDeleteResultFields; (function (RemoteDeleteResultFields) { RemoteDeleteResultFields["DeletedCount"] = "deletedCount"; })(RemoteDeleteResultFields || (RemoteDeleteResultFields = {})); var ChangeEventFields; (function (ChangeEventFields) { ChangeEventFields["Id"] = "_id"; ChangeEventFields["OperationType"] = "operationType"; ChangeEventFields["FullDocument"] = "fullDocument"; ChangeEventFields["DocumentKey"] = "documentKey"; ChangeEventFields["Namespace"] = "ns"; ChangeEventFields["NamespaceDb"] = "db"; ChangeEventFields["NamespaceColl"] = "coll"; ChangeEventFields["UpdateDescription"] = "updateDescription"; ChangeEventFields["UpdateDescriptionUpdatedFields"] = "updatedFields"; ChangeEventFields["UpdateDescriptionRemovedFields"] = "removedFields"; })(ChangeEventFields || (ChangeEventFields = {})); var RemoteInsertManyResultDecoder = (function () { function RemoteInsertManyResultDecoder() { } RemoteInsertManyResultDecoder.prototype.decode = function (from) { return new RemoteInsertManyResult_1.default(from[RemoteInsertManyResultFields.InsertedIds]); }; return RemoteInsertManyResultDecoder; }()); var RemoteInsertOneResultDecoder = (function () { function RemoteInsertOneResultDecoder() { } RemoteInsertOneResultDecoder.prototype.decode = function (from) { return { insertedId: from[RemoteInsertOneResultFields.InsertedId] }; }; return RemoteInsertOneResultDecoder; }()); var RemoteUpdateResultDecoder = (function () { function RemoteUpdateResultDecoder() { } RemoteUpdateResultDecoder.prototype.decode = function (from) { return { matchedCount: from[RemoteUpdateResultFields.MatchedCount], modifiedCount: from[RemoteUpdateResultFields.ModifiedCount], upsertedId: from[RemoteUpdateResultFields.UpsertedId] }; }; return RemoteUpdateResultDecoder; }()); var RemoteDeleteResultDecoder = (function () { function RemoteDeleteResultDecoder() { } RemoteDeleteResultDecoder.prototype.decode = function (from) { return { deletedCount: from[RemoteDeleteResultFields.DeletedCount] }; }; return RemoteDeleteResultDecoder; }()); var ChangeEventDecoder = (function () { function ChangeEventDecoder(decoder) { this.decoder = decoder; } ChangeEventDecoder.prototype.decode = function (from) { mongodb_stitch_core_sdk_1.Assertions.keyPresent(ChangeEventFields.Id, from); mongodb_stitch_core_sdk_1.Assertions.keyPresent(ChangeEventFields.OperationType, from); mongodb_stitch_core_sdk_1.Assertions.keyPresent(ChangeEventFields.Namespace, from); mongodb_stitch_core_sdk_1.Assertions.keyPresent(ChangeEventFields.DocumentKey, from); var nsDoc = from[ChangeEventFields.Namespace]; var updateDescription; if (ChangeEventFields.UpdateDescription in from) { var updateDescDoc = from[ChangeEventFields.UpdateDescription]; mongodb_stitch_core_sdk_1.Assertions.keyPresent(ChangeEventFields.UpdateDescriptionUpdatedFields, updateDescDoc); mongodb_stitch_core_sdk_1.Assertions.keyPresent(ChangeEventFields.UpdateDescriptionRemovedFields, updateDescDoc); updateDescription = { removedFields: updateDescDoc[ChangeEventFields.UpdateDescriptionRemovedFields], updatedFields: updateDescDoc[ChangeEventFields.UpdateDescriptionUpdatedFields], }; } else { updateDescription = undefined; } var fullDocument; if (ChangeEventFields.FullDocument in from) { fullDocument = from[ChangeEventFields.FullDocument]; if (this.decoder) { fullDocument = this.decoder.decode(fullDocument); } } else { fullDocument = undefined; } return { documentKey: from[ChangeEventFields.DocumentKey], fullDocument: fullDocument, id: from[ChangeEventFields.Id], namespace: { collection: nsDoc[ChangeEventFields.NamespaceColl], database: nsDoc[ChangeEventFields.NamespaceDb] }, operationType: OperationType_1.operationTypeFromRemote(from[ChangeEventFields.OperationType]), updateDescription: updateDescription }; }; return ChangeEventDecoder; }()); var ResultDecoders = (function () { function ResultDecoders() { } ResultDecoders.remoteInsertManyResultDecoder = new RemoteInsertManyResultDecoder(); ResultDecoders.remoteInsertOneResultDecoder = new RemoteInsertOneResultDecoder(); ResultDecoders.remoteUpdateResultDecoder = new RemoteUpdateResultDecoder(); ResultDecoders.remoteDeleteResultDecoder = new RemoteDeleteResultDecoder(); ResultDecoders.ChangeEventDecoder = ChangeEventDecoder; return ResultDecoders; }()); exports.default = ResultDecoders; //# sourceMappingURL=ResultDecoders.js.map