From e06ec920f7a5d784e674c4c4b4e6d1da3dc7391d Mon Sep 17 00:00:00 2001 From: Piotr Russ Date: Mon, 16 Nov 2020 00:10:28 +0100 Subject: api, login, auth --- node_modules/mquery/lib/collection/collection.js | 46 ++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 node_modules/mquery/lib/collection/collection.js (limited to 'node_modules/mquery/lib/collection/collection.js') diff --git a/node_modules/mquery/lib/collection/collection.js b/node_modules/mquery/lib/collection/collection.js new file mode 100644 index 0000000..0f39c76 --- /dev/null +++ b/node_modules/mquery/lib/collection/collection.js @@ -0,0 +1,46 @@ +'use strict'; + +/** + * methods a collection must implement + */ + +var methods = [ + 'find', + 'findOne', + 'update', + 'updateMany', + 'updateOne', + 'replaceOne', + 'remove', + 'count', + 'distinct', + 'findAndModify', + 'aggregate', + 'findStream', + 'deleteOne', + 'deleteMany' +]; + +/** + * Collection base class from which implementations inherit + */ + +function Collection() {} + +for (var i = 0, len = methods.length; i < len; ++i) { + var method = methods[i]; + Collection.prototype[method] = notImplemented(method); +} + +module.exports = exports = Collection; +Collection.methods = methods; + +/** + * creates a function which throws an implementation error + */ + +function notImplemented(method) { + return function() { + throw new Error('collection.' + method + ' not implemented'); + }; +} -- cgit v1.2.3