summaryrefslogtreecommitdiffstats
path: root/node_modules/mongodb/lib/operations/operation.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/mongodb/lib/operations/operation.js')
-rw-r--r--node_modules/mongodb/lib/operations/operation.js66
1 files changed, 0 insertions, 66 deletions
diff --git a/node_modules/mongodb/lib/operations/operation.js b/node_modules/mongodb/lib/operations/operation.js
deleted file mode 100644
index 28a9d05..0000000
--- a/node_modules/mongodb/lib/operations/operation.js
+++ /dev/null
@@ -1,66 +0,0 @@
-'use strict';
-
-const Aspect = {
- READ_OPERATION: Symbol('READ_OPERATION'),
- WRITE_OPERATION: Symbol('WRITE_OPERATION'),
- RETRYABLE: Symbol('RETRYABLE'),
- EXECUTE_WITH_SELECTION: Symbol('EXECUTE_WITH_SELECTION'),
- NO_INHERIT_OPTIONS: Symbol('NO_INHERIT_OPTIONS')
-};
-
-/**
- * This class acts as a parent class for any operation and is responsible for setting this.options,
- * as well as setting and getting a session.
- * Additionally, this class implements `hasAspect`, which determines whether an operation has
- * a specific aspect.
- */
-class OperationBase {
- constructor(options) {
- this.options = Object.assign({}, options);
- }
-
- hasAspect(aspect) {
- if (this.constructor.aspects == null) {
- return false;
- }
- return this.constructor.aspects.has(aspect);
- }
-
- set session(session) {
- Object.assign(this.options, { session });
- }
-
- get session() {
- return this.options.session;
- }
-
- clearSession() {
- delete this.options.session;
- }
-
- get canRetryRead() {
- return true;
- }
-
- execute() {
- throw new TypeError('`execute` must be implemented for OperationBase subclasses');
- }
-}
-
-function defineAspects(operation, aspects) {
- if (!Array.isArray(aspects) && !(aspects instanceof Set)) {
- aspects = [aspects];
- }
- aspects = new Set(aspects);
- Object.defineProperty(operation, 'aspects', {
- value: aspects,
- writable: false
- });
- return aspects;
-}
-
-module.exports = {
- Aspect,
- defineAspects,
- OperationBase
-};