cypress-mongodb
Version:
Cypress MongoDB plugin
78 lines • 2.73 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.findOne = findOne;
exports.findOneAndUpdate = findOneAndUpdate;
exports.findOneAndDelete = findOneAndDelete;
exports.findMany = findMany;
const mongodb_1 = require("mongodb");
const bson_1 = require("bson");
async function findOne(args) {
args.query = (0, bson_1.deserialize)(Buffer.from(args.query));
return mongodb_1.MongoClient.connect(args.uri).then(async (client) => {
try {
const result = await client
.db(args.database)
.collection(args.collection)
.findOne(args.query, args.options);
if (result !== null)
return (0, bson_1.serialize)(result);
return null;
}
finally {
await client.close();
}
});
}
async function findOneAndUpdate(args) {
args.filter = (0, bson_1.deserialize)(Buffer.from(args.filter));
args.document = (0, bson_1.deserialize)(Buffer.from(args.document));
return mongodb_1.MongoClient.connect(args.uri).then(async (client) => {
try {
const result = await client
.db(args.database)
.collection(args.collection)
.findOneAndUpdate(args.filter, args.document, args.options);
if (result !== null)
return (0, bson_1.serialize)(result);
return null;
}
finally {
await client.close();
}
});
}
async function findOneAndDelete(args) {
args.filter = (0, bson_1.deserialize)(Buffer.from(args.filter));
args.options = (0, bson_1.deserialize)(Buffer.from(args.options));
return mongodb_1.MongoClient.connect(args.uri).then(async (client) => {
try {
const result = await client
.db(args.database)
.collection(args.collection)
.findOneAndDelete(args.filter, args.options);
if (result !== null)
return (0, bson_1.serialize)(result);
return null;
}
finally {
await client.close();
}
});
}
async function findMany(args) {
args.query = (0, bson_1.deserialize)(Buffer.from(args.query));
return mongodb_1.MongoClient.connect(args.uri).then(async (client) => {
try {
const result = await client
.db(args.database)
.collection(args.collection)
.find(args.query, args.options)
.toArray();
return (0, bson_1.serialize)(Object.fromEntries(result.entries()));
}
finally {
await client.close();
}
});
}
//# sourceMappingURL=find.js.map