@dolittle/sdk.resources
Version:
Dolittle is a decentralized, distributed, event-driven microservice platform built to harness the power of events.
36 lines • 2.36 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 });
exports.MongoDBResource = void 0;
const IMongoDBResource_1 = require("../IMongoDBResource");
/**
* Represents an implementation of {@link IMongoDBResource}.
*/
class MongoDBResource extends IMongoDBResource_1.IMongoDBResource {
/**
* Initialises an instance of the {@link MongoDBResource} class.
* @param {MongoClient} _client - The connected MongoDB client for this resource.
*/
constructor(_client) {
super();
this._client = _client;
}
getDatabase(maybeDatabaseSettingsCallback) {
const settings = this.getDatabaseSettings(maybeDatabaseSettingsCallback);
return this.getDatabaseFromClient(this._client, settings);
}
getDatabaseSettings(databaseSettingsCallback) {
if (!databaseSettingsCallback) {
return undefined;
}
const options = {};
databaseSettingsCallback(options);
return options;
}
getDatabaseFromClient(client, dbOptions) {
return client.db(undefined, dbOptions);
}
}
exports.MongoDBResource = MongoDBResource;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9uZ29EQlJlc291cmNlLmpzIiwic291cmNlUm9vdCI6Ii4uLyIsInNvdXJjZXMiOlsiTW9uZ29EQi9JbnRlcm5hbC9Nb25nb0RCUmVzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLCtDQUErQztBQUMvQyxxR0FBcUc7OztBQUlyRywwREFBdUQ7QUFHdkQ7O0dBRUc7QUFDSCxNQUFhLGVBQWdCLFNBQVEsbUNBQWdCO0lBQ2pEOzs7T0FHRztJQUNILFlBQTZCLE9BQW9CO1FBQzdDLEtBQUssRUFBRSxDQUFDO1FBRGlCLFlBQU8sR0FBUCxPQUFPLENBQWE7SUFFakQsQ0FBQztJQUtELFdBQVcsQ0FBQyw2QkFBd0Q7UUFDaEUsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFDekUsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU8sbUJBQW1CLENBQUMsd0JBQW1EO1FBQzNFLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtZQUMzQixPQUFPLFNBQVMsQ0FBQztTQUNwQjtRQUVELE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNuQix3QkFBd0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsQyxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBRU8scUJBQXFCLENBQUMsTUFBbUIsRUFBRSxTQUFxQjtRQUNwRSxPQUFPLE1BQU0sQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7Q0FDSjtBQTlCRCwwQ0E4QkMifQ==