@dolittle/sdk.resources
Version:
Dolittle is a decentralized, distributed, event-driven microservice platform built to harness the power of events.
16 lines • 1.8 kB
JavaScript
;
// Copyright (c) Dolittle. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
Object.defineProperty(exports, "__esModule", { value: true });
const mongodb_1 = require("mongodb");
const sdk_projections_1 = require("@dolittle/sdk.projections");
const originalCollectionMethod = mongodb_1.Db.prototype.collection;
mongodb_1.Db.prototype.collection = function (typeOrName, options) {
let collectionName = typeof typeOrName === 'string' ? typeOrName : typeOrName.name;
if (typeOrName instanceof Function && (0, sdk_projections_1.isDecoratedCopyProjectionToMongoDB)(typeOrName)) {
const decorator = (0, sdk_projections_1.getDecoratedCopyProjectionToMongoDB)(typeOrName);
collectionName = decorator.collection.value;
}
return originalCollectionMethod.call(this, collectionName, options);
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGJFeHRlbnNpb25zLmpzIiwic291cmNlUm9vdCI6Ii4uLyIsInNvdXJjZXMiOlsiTW9uZ29EQi9EYkV4dGVuc2lvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLCtDQUErQztBQUMvQyxxR0FBcUc7O0FBR3JHLHFDQUFzRTtBQUV0RSwrREFBb0g7QUFlcEgsTUFBTSx3QkFBd0IsR0FBZ0MsWUFBRSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUM7QUFFdEYsWUFBRSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEdBQUcsVUFBbUMsVUFBeUMsRUFBRSxPQUEyQjtJQUMvSCxJQUFJLGNBQWMsR0FBRyxPQUFPLFVBQVUsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztJQUVuRixJQUFJLFVBQVUsWUFBWSxRQUFRLElBQUksSUFBQSxvREFBa0MsRUFBQyxVQUFVLENBQUMsRUFBRTtRQUNsRixNQUFNLFNBQVMsR0FBRyxJQUFBLHFEQUFtQyxFQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xFLGNBQWMsR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztLQUMvQztJQUVELE9BQU8sd0JBQXdCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUUsT0FBTyxDQUFRLENBQUM7QUFDL0UsQ0FBQyxDQUFDIn0=