summaryrefslogtreecommitdiffstats
path: root/common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/types
diff options
context:
space:
mode:
Diffstat (limited to 'common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/types')
-rw-r--r--common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/types/array.js778
-rw-r--r--common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/types/buffer.js273
-rw-r--r--common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/types/documentarray.js256
-rw-r--r--common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/types/embedded.js347
-rw-r--r--common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/types/index.js15
-rw-r--r--common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/types/objectid.js13
-rw-r--r--common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/types/subdocument.js152
7 files changed, 0 insertions, 1834 deletions
diff --git a/common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/types/array.js b/common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/types/array.js
deleted file mode 100644
index 715b6b6..0000000
--- a/common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/types/array.js
+++ /dev/null
@@ -1,778 +0,0 @@
-/*!
- * Module dependencies.
- */
-
-var EmbeddedDocument = require('./embedded');
-var Document = require('../document');
-var ObjectId = require('./objectid');
-var utils = require('../utils');
-var isMongooseObject = utils.isMongooseObject;
-
-/**
- * Mongoose Array constructor.
- *
- * ####NOTE:
- *
- * _Values always have to be passed to the constructor to initialize, otherwise `MongooseArray#push` will mark the array as modified._
- *
- * @param {Array} values
- * @param {String} path
- * @param {Document} doc parent document
- * @api private
- * @inherits Array
- * @see http://bit.ly/f6CnZU
- */
-
-function MongooseArray(values, path, doc) {
- var arr = [].concat(values);
-
- var keysMA = Object.keys(MongooseArray.mixin);
- var numKeys = keysMA.length;
- for (var i = 0; i < numKeys; ++i) {
- arr[keysMA[i]] = MongooseArray.mixin[keysMA[i]];
- }
-
- arr._path = path;
- arr.isMongooseArray = true;
- arr.validators = [];
- arr._atomics = {};
- arr._schema = void 0;
-
- // Because doc comes from the context of another function, doc === global
- // can happen if there was a null somewhere up the chain (see #3020)
- // RB Jun 17, 2015 updated to check for presence of expected paths instead
- // to make more proof against unusual node environments
- if (doc && doc instanceof Document) {
- arr._parent = doc;
- arr._schema = doc.schema.path(path);
- }
-
- return arr;
-}
-
-MongooseArray.mixin = {
- /*!
- * ignore
- */
- toBSON: function() {
- return this.toObject({ transform: false });
- },
-
- /**
- * Stores a queue of atomic operations to perform
- *
- * @property _atomics
- * @api private
- */
-
- _atomics: undefined,
-
- /**
- * Parent owner document
- *
- * @property _parent
- * @api private
- * @receiver MongooseArray
- */
-
- _parent: undefined,
-
- /**
- * Casts a member based on this arrays schema.
- *
- * @param {any} value
- * @return value the casted value
- * @method _cast
- * @api private
- * @receiver MongooseArray
- */
-
- _cast: function(value) {
- var populated = false;
- var Model;
-
- if (this._parent) {
- populated = this._parent.populated(this._path, true);
- }
-
- if (populated && value !== null && value !== undefined) {
- // cast to the populated Models schema
- Model = populated.options.model;
-
- // only objects are permitted so we can safely assume that
- // non-objects are to be interpreted as _id
- if (Buffer.isBuffer(value) ||
- value instanceof ObjectId || !utils.isObject(value)) {
- value = {_id: value};
- }
-
- // gh-2399
- // we should cast model only when it's not a discriminator
- var isDisc = value.schema && value.schema.discriminatorMapping &&
- value.schema.discriminatorMapping.key !== undefined;
- if (!isDisc) {
- value = new Model(value);
- }
- return this._schema.caster.cast(value, this._parent, true);
- }
-
- return this._schema.caster.cast(value, this._parent, false);
- },
-
- /**
- * Marks this array as modified.
- *
- * If it bubbles up from an embedded document change, then it takes the following arguments (otherwise, takes 0 arguments)
- *
- * @param {EmbeddedDocument} embeddedDoc the embedded doc that invoked this method on the Array
- * @param {String} embeddedPath the path which changed in the embeddedDoc
- * @method _markModified
- * @api private
- * @receiver MongooseArray
- */
-
- _markModified: function(elem, embeddedPath) {
- var parent = this._parent,
- dirtyPath;
-
- if (parent) {
- dirtyPath = this._path;
-
- if (arguments.length) {
- if (embeddedPath != null) {
- // an embedded doc bubbled up the change
- dirtyPath = dirtyPath + '.' + this.indexOf(elem) + '.' + embeddedPath;
- } else {
- // directly set an index
- dirtyPath = dirtyPath + '.' + elem;
- }
- }
-
- parent.markModified(dirtyPath);
- }
-
- return this;
- },
-
- /**
- * Register an atomic operation with the parent.
- *
- * @param {Array} op operation
- * @param {any} val
- * @method _registerAtomic
- * @api private
- * @receiver MongooseArray
- */
-
- _registerAtomic: function(op, val) {
- if (op === '$set') {
- // $set takes precedence over all other ops.
- // mark entire array modified.
- this._atomics = {$set: val};
- return this;
- }
-
- var atomics = this._atomics;
-
- // reset pop/shift after save
- if (op === '$pop' && !('$pop' in atomics)) {
- var _this = this;
- this._parent.once('save', function() {
- _this._popped = _this._shifted = null;
- });
- }
-
- // check for impossible $atomic combos (Mongo denies more than one
- // $atomic op on a single path
- if (this._atomics.$set ||
- Object.keys(atomics).length && !(op in atomics)) {
- // a different op was previously registered.
- // save the entire thing.
- this._atomics = {$set: this};
- return this;
- }
-
- var selector;
-
- if (op === '$pullAll' || op === '$pushAll' || op === '$addToSet') {
- atomics[op] || (atomics[op] = []);
- atomics[op] = atomics[op].concat(val);
- } else if (op === '$pullDocs') {
- var pullOp = atomics['$pull'] || (atomics['$pull'] = {});
- if (val[0] instanceof EmbeddedDocument) {
- selector = pullOp['$or'] || (pullOp['$or'] = []);
- Array.prototype.push.apply(selector, val.map(function(v) {
- return v.toObject({transform: false});
- }));
- } else {
- selector = pullOp['_id'] || (pullOp['_id'] = {$in: []});
- selector['$in'] = selector['$in'].concat(val);
- }
- } else {
- atomics[op] = val;
- }
-
- return this;
- },
-
- /**
- * Depopulates stored atomic operation values as necessary for direct insertion to MongoDB.
- *
- * If no atomics exist, we return all array values after conversion.
- *
- * @return {Array}
- * @method $__getAtomics
- * @memberOf MongooseArray
- * @api private
- */
-
- $__getAtomics: function() {
- var ret = [];
- var keys = Object.keys(this._atomics);
- var i = keys.length;
-
- if (i === 0) {
- ret[0] = ['$set', this.toObject({depopulate: 1, transform: false, _isNested: true})];
- return ret;
- }
-
- while (i--) {
- var op = keys[i];
- var val = this._atomics[op];
-
- // the atomic values which are arrays are not MongooseArrays. we
- // need to convert their elements as if they were MongooseArrays
- // to handle populated arrays versus DocumentArrays properly.
- if (isMongooseObject(val)) {
- val = val.toObject({depopulate: 1, transform: false, _isNested: true});
- } else if (Array.isArray(val)) {
- val = this.toObject.call(val, {depopulate: 1, transform: false, _isNested: true});
- } else if (val.valueOf) {
- val = val.valueOf();
- }
-
- if (op === '$addToSet') {
- val = {$each: val};
- }
-
- ret.push([op, val]);
- }
-
- return ret;
- },
-
- /**
- * Returns the number of pending atomic operations to send to the db for this array.
- *
- * @api private
- * @return {Number}
- * @method hasAtomics
- * @receiver MongooseArray
- */
-
- hasAtomics: function hasAtomics() {
- if (!(this._atomics && this._atomics.constructor.name === 'Object')) {
- return 0;
- }
-
- return Object.keys(this._atomics).length;
- },
-
- /**
- * Internal helper for .map()
- *
- * @api private
- * @return {Number}
- * @method _mapCast
- * @receiver MongooseArray
- */
- _mapCast: function(val, index) {
- return this._cast(val, this.length + index);
- },
-
- /**
- * Wraps [`Array#push`](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/push) with proper change tracking.
- *
- * @param {Object} [args...]
- * @api public
- * @method push
- * @receiver MongooseArray
- */
-
- push: function() {
- var values = [].map.call(arguments, this._mapCast, this);
- values = this._schema.applySetters(values, this._parent, undefined,
- undefined, {skipDocumentArrayCast: true});
- var ret = [].push.apply(this, values);
-
- // $pushAll might be fibbed (could be $push). But it makes it easier to
- // handle what could have been $push, $pushAll combos
- this._registerAtomic('$pushAll', values);
- this._markModified();
- return ret;
- },
-
- /**
- * Pushes items to the array non-atomically.
- *
- * ####NOTE:
- *
- * _marks the entire array as modified, which if saved, will store it as a `$set` operation, potentially overwritting any changes that happen between when you retrieved the object and when you save it._
- *
- * @param {any} [args...]
- * @api public
- * @method nonAtomicPush
- * @receiver MongooseArray
- */
-
- nonAtomicPush: function() {
- var values = [].map.call(arguments, this._mapCast, this);
- var ret = [].push.apply(this, values);
- this._registerAtomic('$set', this);
- this._markModified();
- return ret;
- },
-
- /**
- * Pops the array atomically at most one time per document `save()`.
- *
- * #### NOTE:
- *
- * _Calling this mulitple times on an array before saving sends the same command as calling it once._
- * _This update is implemented using the MongoDB [$pop](http://www.mongodb.org/display/DOCS/Updating/#Updating-%24pop) method which enforces this restriction._
- *
- * doc.array = [1,2,3];
- *
- * var popped = doc.array.$pop();
- * console.log(popped); // 3
- * console.log(doc.array); // [1,2]
- *
- * // no affect
- * popped = doc.array.$pop();
- * console.log(doc.array); // [1,2]
- *
- * doc.save(function (err) {
- * if (err) return handleError(err);
- *
- * // we saved, now $pop works again
- * popped = doc.array.$pop();
- * console.log(popped); // 2
- * console.log(doc.array); // [1]
- * })
- *
- * @api public
- * @method $pop
- * @memberOf MongooseArray
- * @see mongodb http://www.mongodb.org/display/DOCS/Updating/#Updating-%24pop
- * @method $pop
- * @receiver MongooseArray
- */
-
- $pop: function() {
- this._registerAtomic('$pop', 1);
- this._markModified();
-
- // only allow popping once
- if (this._popped) {
- return;
- }
- this._popped = true;
-
- return [].pop.call(this);
- },
-
- /**
- * Wraps [`Array#pop`](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/pop) with proper change tracking.
- *
- * ####Note:
- *
- * _marks the entire array as modified which will pass the entire thing to $set potentially overwritting any changes that happen between when you retrieved the object and when you save it._
- *
- * @see MongooseArray#$pop #types_array_MongooseArray-%24pop
- * @api public
- * @method pop
- * @receiver MongooseArray
- */
-
- pop: function() {
- var ret = [].pop.call(this);
- this._registerAtomic('$set', this);
- this._markModified();
- return ret;
- },
-
- /**
- * Atomically shifts the array at most one time per document `save()`.
- *
- * ####NOTE:
- *
- * _Calling this mulitple times on an array before saving sends the same command as calling it once._
- * _This update is implemented using the MongoDB [$pop](http://www.mongodb.org/display/DOCS/Updating/#Updating-%24pop) method which enforces this restriction._
- *
- * doc.array = [1,2,3];
- *
- * var shifted = doc.array.$shift();
- * console.log(shifted); // 1
- * console.log(doc.array); // [2,3]
- *
- * // no affect
- * shifted = doc.array.$shift();
- * console.log(doc.array); // [2,3]
- *
- * doc.save(function (err) {
- * if (err) return handleError(err);
- *
- * // we saved, now $shift works again
- * shifted = doc.array.$shift();
- * console.log(shifted ); // 2
- * console.log(doc.array); // [3]
- * })
- *
- * @api public
- * @memberOf MongooseArray
- * @method $shift
- * @see mongodb http://www.mongodb.org/display/DOCS/Updating/#Updating-%24pop
- */
-
- $shift: function $shift() {
- this._registerAtomic('$pop', -1);
- this._markModified();
-
- // only allow shifting once
- if (this._shifted) {
- return;
- }
- this._shifted = true;
-
- return [].shift.call(this);
- },
-
- /**
- * Wraps [`Array#shift`](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/unshift) with proper change tracking.
- *
- * ####Example:
- *
- * doc.array = [2,3];
- * var res = doc.array.shift();
- * console.log(res) // 2
- * console.log(doc.array) // [3]
- *
- * ####Note:
- *
- * _marks the entire array as modified, which if saved, will store it as a `$set` operation, potentially overwritting any changes that happen between when you retrieved the object and when you save it._
- *
- * @api public
- * @method shift
- * @receiver MongooseArray
- */
-
- shift: function() {
- var ret = [].shift.call(this);
- this._registerAtomic('$set', this);
- this._markModified();
- return ret;
- },
-
- /**
- * Pulls items from the array atomically. Equality is determined by casting
- * the provided value to an embedded document and comparing using
- * [the `Document.equals()` function.](./api.html#document_Document-equals)
- *
- * ####Examples:
- *
- * doc.array.pull(ObjectId)
- * doc.array.pull({ _id: 'someId' })
- * doc.array.pull(36)
- * doc.array.pull('tag 1', 'tag 2')
- *
- * To remove a document from a subdocument array we may pass an object with a matching `_id`.
- *
- * doc.subdocs.push({ _id: 4815162342 })
- * doc.subdocs.pull({ _id: 4815162342 }) // removed
- *
- * Or we may passing the _id directly and let mongoose take care of it.
- *
- * doc.subdocs.push({ _id: 4815162342 })
- * doc.subdocs.pull(4815162342); // works
- *
- * The first pull call will result in a atomic operation on the database, if pull is called repeatedly without saving the document, a $set operation is used on the complete array instead, overwriting possible changes that happened on the database in the meantime.
- *
- * @param {any} [args...]
- * @see mongodb http://www.mongodb.org/display/DOCS/Updating/#Updating-%24pull
- * @api public
- * @method pull
- * @receiver MongooseArray
- */
-
- pull: function() {
- var values = [].map.call(arguments, this._cast, this),
- cur = this._parent.get(this._path),
- i = cur.length,
- mem;
-
- while (i--) {
- mem = cur[i];
- if (mem instanceof Document) {
- var some = values.some(function(v) {
- return mem.equals(v);
- });
- if (some) {
- [].splice.call(cur, i, 1);
- }
- } else if (~cur.indexOf.call(values, mem)) {
- [].splice.call(cur, i, 1);
- }
- }
-
- if (values[0] instanceof EmbeddedDocument) {
- this._registerAtomic('$pullDocs', values.map(function(v) {
- return v._id || v;
- }));
- } else {
- this._registerAtomic('$pullAll', values);
- }
-
- this._markModified();
- return this;
- },
-
- /**
- * Wraps [`Array#splice`](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/splice) with proper change tracking and casting.
- *
- * ####Note:
- *
- * _marks the entire array as modified, which if saved, will store it as a `$set` operation, potentially overwritting any changes that happen between when you retrieved the object and when you save it._
- *
- * @api public
- * @method splice
- * @receiver MongooseArray
- */
-
- splice: function splice() {
- var ret, vals, i;
-
- if (arguments.length) {
- vals = [];
- for (i = 0; i < arguments.length; ++i) {
- vals[i] = i < 2
- ? arguments[i]
- : this._cast(arguments[i], arguments[0] + (i - 2));
- }
- ret = [].splice.apply(this, vals);
- this._registerAtomic('$set', this);
- this._markModified();
- }
-
- return ret;
- },
-
- /**
- * Wraps [`Array#unshift`](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/unshift) with proper change tracking.
- *
- * ####Note:
- *
- * _marks the entire array as modified, which if saved, will store it as a `$set` operation, potentially overwritting any changes that happen between when you retrieved the object and when you save it._
- *
- * @api public
- * @method unshift
- * @receiver MongooseArray
- */
-
- unshift: function() {
- var values = [].map.call(arguments, this._cast, this);
- values = this._schema.applySetters(values, this._parent);
- [].unshift.apply(this, values);
- this._registerAtomic('$set', this);
- this._markModified();
- return this.length;
- },
-
- /**
- * Wraps [`Array#sort`](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/sort) with proper change tracking.
- *
- * ####NOTE:
- *
- * _marks the entire array as modified, which if saved, will store it as a `$set` operation, potentially overwritting any changes that happen between when you retrieved the object and when you save it._
- *
- * @api public
- * @method sort
- * @receiver MongooseArray
- */
-
- sort: function() {
- var ret = [].sort.apply(this, arguments);
- this._registerAtomic('$set', this);
- this._markModified();
- return ret;
- },
-
- /**
- * Adds values to the array if not already present.
- *
- * ####Example:
- *
- * console.log(doc.array) // [2,3,4]
- * var added = doc.array.addToSet(4,5);
- * console.log(doc.array) // [2,3,4,5]
- * console.log(added) // [5]
- *
- * @param {any} [args...]
- * @return {Array} the values that were added
- * @receiver MongooseArray
- * @api public
- * @method addToSet
- */
-
- addToSet: function addToSet() {
- var values = [].map.call(arguments, this._mapCast, this);
- values = this._schema.applySetters(values, this._parent);
- var added = [];
- var type = '';
- if (values[0] instanceof EmbeddedDocument) {
- type = 'doc';
- } else if (values[0] instanceof Date) {
- type = 'date';
- }
-
- values.forEach(function(v) {
- var found;
- switch (type) {
- case 'doc':
- found = this.some(function(doc) {
- return doc.equals(v);
- });
- break;
- case 'date':
- var val = +v;
- found = this.some(function(d) {
- return +d === val;
- });
- break;
- default:
- found = ~this.indexOf(v);
- }
-
- if (!found) {
- [].push.call(this, v);
- this._registerAtomic('$addToSet', v);
- this._markModified();
- [].push.call(added, v);
- }
- }, this);
-
- return added;
- },
-
- /**
- * Sets the casted `val` at index `i` and marks the array modified.
- *
- * ####Example:
- *
- * // given documents based on the following
- * var Doc = mongoose.model('Doc', new Schema({ array: [Number] }));
- *
- * var doc = new Doc({ array: [2,3,4] })
- *
- * console.log(doc.array) // [2,3,4]
- *
- * doc.array.set(1,"5");
- * console.log(doc.array); // [2,5,4] // properly cast to number
- * doc.save() // the change is saved
- *
- * // VS not using array#set
- * doc.array[1] = "5";
- * console.log(doc.array); // [2,"5",4] // no casting
- * doc.save() // change is not saved
- *
- * @return {Array} this
- * @api public
- * @method set
- * @receiver MongooseArray
- */
-
- set: function set(i, val) {
- var value = this._cast(val, i);
- value = this._schema.caster instanceof EmbeddedDocument ?
- value :
- this._schema.caster.applySetters(val, this._parent)
- ;
- this[i] = value;
- this._markModified(i);
- return this;
- },
-
- /**
- * Returns a native js Array.
- *
- * @param {Object} options
- * @return {Array}
- * @api public
- * @method toObject
- * @receiver MongooseArray
- */
-
- toObject: function(options) {
- if (options && options.depopulate) {
- options._isNested = true;
- return this.map(function(doc) {
- return doc instanceof Document
- ? doc.toObject(options)
- : doc;
- });
- }
-
- return this.slice();
- },
-
- /**
- * Helper for console.log
- *
- * @api public
- * @method inspect
- * @receiver MongooseArray
- */
-
- inspect: function() {
- return JSON.stringify(this);
- },
-
- /**
- * Return the index of `obj` or `-1` if not found.
- *
- * @param {Object} obj the item to look for
- * @return {Number}
- * @api public
- * @method indexOf
- * @receiver MongooseArray
- */
-
- indexOf: function indexOf(obj) {
- if (obj instanceof ObjectId) {
- obj = obj.toString();
- }
- for (var i = 0, len = this.length; i < len; ++i) {
- if (obj == this[i]) {
- return i;
- }
- }
- return -1;
- }
-};
-
-/**
- * Alias of [pull](#types_array_MongooseArray-pull)
- *
- * @see MongooseArray#pull #types_array_MongooseArray-pull
- * @see mongodb http://www.mongodb.org/display/DOCS/Updating/#Updating-%24pull
- * @api public
- * @memberOf MongooseArray
- * @method remove
- */
-
-MongooseArray.mixin.remove = MongooseArray.mixin.pull;
-
-/*!
- * Module exports.
- */
-
-module.exports = exports = MongooseArray;
diff --git a/common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/types/buffer.js b/common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/types/buffer.js
deleted file mode 100644
index 8be67c8..0000000
--- a/common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/types/buffer.js
+++ /dev/null
@@ -1,273 +0,0 @@
-/*!
- * Module dependencies.
- */
-
-var Binary = require('../drivers').Binary,
- utils = require('../utils');
-
-/**
- * Mongoose Buffer constructor.
- *
- * Values always have to be passed to the constructor to initialize.
- *
- * @param {Buffer} value
- * @param {String} encode
- * @param {Number} offset
- * @api private
- * @inherits Buffer
- * @see http://bit.ly/f6CnZU
- */
-
-function MongooseBuffer(value, encode, offset) {
- var length = arguments.length;
- var val;
-
- if (length === 0 || arguments[0] === null || arguments[0] === undefined) {
- val = 0;
- } else {
- val = value;
- }
-
- var encoding;
- var path;
- var doc;
-
- if (Array.isArray(encode)) {
- // internal casting
- path = encode[0];
- doc = encode[1];
- } else {
- encoding = encode;
- }
-
- var buf = new Buffer(val, encoding, offset);
- utils.decorate(buf, MongooseBuffer.mixin);
- buf.isMongooseBuffer = true;
-
- // make sure these internal props don't show up in Object.keys()
- Object.defineProperties(buf, {
- validators: {value: []},
- _path: {value: path},
- _parent: {value: doc}
- });
-
- if (doc && typeof path === 'string') {
- Object.defineProperty(buf, '_schema', {
- value: doc.schema.path(path)
- });
- }
-
- buf._subtype = 0;
- return buf;
-}
-
-/*!
- * Inherit from Buffer.
- */
-
-// MongooseBuffer.prototype = new Buffer(0);
-
-MongooseBuffer.mixin = {
-
- /**
- * Parent owner document
- *
- * @api private
- * @property _parent
- * @receiver MongooseBuffer
- */
-
- _parent: undefined,
-
- /**
- * Default subtype for the Binary representing this Buffer
- *
- * @api private
- * @property _subtype
- * @receiver MongooseBuffer
- */
-
- _subtype: undefined,
-
- /**
- * Marks this buffer as modified.
- *
- * @api private
- * @method _markModified
- * @receiver MongooseBuffer
- */
-
- _markModified: function() {
- var parent = this._parent;
-
- if (parent) {
- parent.markModified(this._path);
- }
- return this;
- },
-
- /**
- * Writes the buffer.
- *
- * @api public
- * @method write
- * @receiver MongooseBuffer
- */
-
- write: function() {
- var written = Buffer.prototype.write.apply(this, arguments);
-
- if (written > 0) {
- this._markModified();
- }
-
- return written;
- },
-
- /**
- * Copies the buffer.
- *
- * ####Note:
- *
- * `Buffer#copy` does not mark `target` as modified so you must copy from a `MongooseBuffer` for it to work as expected. This is a work around since `copy` modifies the target, not this.
- *
- * @return {Number} The number of bytes copied.
- * @param {Buffer} target
- * @method copy
- * @receiver MongooseBuffer
- */
-
- copy: function(target) {
- var ret = Buffer.prototype.copy.apply(this, arguments);
-
- if (target && target.isMongooseBuffer) {
- target._markModified();
- }
-
- return ret;
- }
-};
-
-/*!
- * Compile other Buffer methods marking this buffer as modified.
- */
-
-(
-// node < 0.5
- 'writeUInt8 writeUInt16 writeUInt32 writeInt8 writeInt16 writeInt32 ' +
- 'writeFloat writeDouble fill ' +
- 'utf8Write binaryWrite asciiWrite set ' +
-
-// node >= 0.5
- 'writeUInt16LE writeUInt16BE writeUInt32LE writeUInt32BE ' +
- 'writeInt16LE writeInt16BE writeInt32LE writeInt32BE ' +
- 'writeFloatLE writeFloatBE writeDoubleLE writeDoubleBE'
-).split(' ').forEach(function(method) {
- if (!Buffer.prototype[method]) {
- return;
- }
- MongooseBuffer.mixin[method] = function() {
- var ret = Buffer.prototype[method].apply(this, arguments);
- this._markModified();
- return ret;
- };
-});
-
-/**
- * Converts this buffer to its Binary type representation.
- *
- * ####SubTypes:
- *
- * var bson = require('bson')
- * bson.BSON_BINARY_SUBTYPE_DEFAULT
- * bson.BSON_BINARY_SUBTYPE_FUNCTION
- * bson.BSON_BINARY_SUBTYPE_BYTE_ARRAY
- * bson.BSON_BINARY_SUBTYPE_UUID
- * bson.BSON_BINARY_SUBTYPE_MD5
- * bson.BSON_BINARY_SUBTYPE_USER_DEFINED
- *
- * doc.buffer.toObject(bson.BSON_BINARY_SUBTYPE_USER_DEFINED);
- *
- * @see http://bsonspec.org/#/specification
- * @param {Hex} [subtype]
- * @return {Binary}
- * @api public
- * @method toObject
- * @receiver MongooseBuffer
- */
-
-MongooseBuffer.mixin.toObject = function(options) {
- var subtype = typeof options === 'number'
- ? options
- : (this._subtype || 0);
- return new Binary(this, subtype);
-};
-
-/**
- * Determines if this buffer is equals to `other` buffer
- *
- * @param {Buffer} other
- * @return {Boolean}
- * @method equals
- * @receiver MongooseBuffer
- */
-
-MongooseBuffer.mixin.equals = function(other) {
- if (!Buffer.isBuffer(other)) {
- return false;
- }
-
- if (this.length !== other.length) {
- return false;
- }
-
- for (var i = 0; i < this.length; ++i) {
- if (this[i] !== other[i]) {
- return false;
- }
- }
-
- return true;
-};
-
-/**
- * Sets the subtype option and marks the buffer modified.
- *
- * ####SubTypes:
- *
- * var bson = require('bson')
- * bson.BSON_BINARY_SUBTYPE_DEFAULT
- * bson.BSON_BINARY_SUBTYPE_FUNCTION
- * bson.BSON_BINARY_SUBTYPE_BYTE_ARRAY
- * bson.BSON_BINARY_SUBTYPE_UUID
- * bson.BSON_BINARY_SUBTYPE_MD5
- * bson.BSON_BINARY_SUBTYPE_USER_DEFINED
- *
- * doc.buffer.subtype(bson.BSON_BINARY_SUBTYPE_UUID);
- *
- * @see http://bsonspec.org/#/specification
- * @param {Hex} subtype
- * @api public
- * @method subtype
- * @receiver MongooseBuffer
- */
-
-MongooseBuffer.mixin.subtype = function(subtype) {
- if (typeof subtype !== 'number') {
- throw new TypeError('Invalid subtype. Expected a number');
- }
-
- if (this._subtype !== subtype) {
- this._markModified();
- }
-
- this._subtype = subtype;
-};
-
-/*!
- * Module exports.
- */
-
-MongooseBuffer.Binary = Binary;
-
-module.exports = MongooseBuffer;
diff --git a/common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/types/documentarray.js b/common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/types/documentarray.js
deleted file mode 100644
index f6fb227..0000000
--- a/common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/types/documentarray.js
+++ /dev/null
@@ -1,256 +0,0 @@
-/*!
- * Module dependencies.
- */
-
-var MongooseArray = require('./array'),
- ObjectId = require('./objectid'),
- ObjectIdSchema = require('../schema/objectid'),
- utils = require('../utils'),
- Document = require('../document');
-
-/**
- * DocumentArray constructor
- *
- * @param {Array} values
- * @param {String} path the path to this array
- * @param {Document} doc parent document
- * @api private
- * @return {MongooseDocumentArray}
- * @inherits MongooseArray
- * @see http://bit.ly/f6CnZU
- */
-
-function MongooseDocumentArray(values, path, doc) {
- var arr = [].concat(values);
- arr._path = path;
-
- var props = {
- isMongooseArray: true,
- isMongooseDocumentArray: true,
- validators: [],
- _atomics: {},
- _schema: void 0,
- _handlers: void 0
- };
-
- // Values always have to be passed to the constructor to initialize, since
- // otherwise MongooseArray#push will mark the array as modified to the parent.
- var keysMA = Object.keys(MongooseArray.mixin);
- var numKeys = keysMA.length;
- for (var j = 0; j < numKeys; ++j) {
- arr[keysMA[j]] = MongooseArray.mixin[keysMA[j]];
- }
-
- var keysMDA = Object.keys(MongooseDocumentArray.mixin);
- numKeys = keysMDA.length;
- for (var i = 0; i < numKeys; ++i) {
- arr[keysMDA[i]] = MongooseDocumentArray.mixin[keysMDA[i]];
- }
-
- var keysP = Object.keys(props);
- numKeys = keysP.length;
- for (var k = 0; k < numKeys; ++k) {
- arr[keysP[k]] = props[keysP[k]];
- }
-
- // Because doc comes from the context of another function, doc === global
- // can happen if there was a null somewhere up the chain (see #3020 && #3034)
- // RB Jun 17, 2015 updated to check for presence of expected paths instead
- // to make more proof against unusual node environments
- if (doc && doc instanceof Document) {
- arr._parent = doc;
- arr._schema = doc.schema.path(path);
- arr._handlers = {
- isNew: arr.notify('isNew'),
- save: arr.notify('save')
- };
-
- doc.on('save', arr._handlers.save);
- doc.on('isNew', arr._handlers.isNew);
- }
-
- return arr;
-}
-
-/*!
- * Inherits from MongooseArray
- */
-// MongooseDocumentArray.mixin = Object.create( MongooseArray.mixin );
-MongooseDocumentArray.mixin = {
- /*!
- * ignore
- */
- toBSON: function() {
- return this.toObject({ transform: false });
- },
-
- /**
- * Overrides MongooseArray#cast
- *
- * @method _cast
- * @api private
- * @receiver MongooseDocumentArray
- */
-
- _cast: function(value, index) {
- if (value instanceof this._schema.casterConstructor) {
- if (!(value.__parent && value.__parentArray)) {
- // value may have been created using array.create()
- value.__parent = this._parent;
- value.__parentArray = this;
- }
- value.__index = index;
- return value;
- }
-
- if (value === undefined || value === null) {
- return null;
- }
-
- // handle cast('string') or cast(ObjectId) etc.
- // only objects are permitted so we can safely assume that
- // non-objects are to be interpreted as _id
- if (Buffer.isBuffer(value) ||
- value instanceof ObjectId || !utils.isObject(value)) {
- value = {_id: value};
- }
- return new this._schema.casterConstructor(value, this, undefined, undefined, index);
- },
-
- /**
- * Searches array items for the first document with a matching _id.
- *
- * ####Example:
- *
- * var embeddedDoc = m.array.id(some_id);
- *
- * @return {EmbeddedDocument|null} the subdocument or null if not found.
- * @param {ObjectId|String|Number|Buffer} id
- * @TODO cast to the _id based on schema for proper comparison
- * @method id
- * @api public
- * @receiver MongooseDocumentArray
- */
-
- id: function(id) {
- var casted,
- sid,
- _id;
-
- try {
- var casted_ = ObjectIdSchema.prototype.cast.call({}, id);
- if (casted_) {
- casted = String(casted_);
- }
- } catch (e) {
- casted = null;
- }
-
- for (var i = 0, l = this.length; i < l; i++) {
- _id = this[i].get('_id');
-
- if (_id === null || typeof _id === 'undefined') {
- continue;
- } else if (_id instanceof Document) {
- sid || (sid = String(id));
- if (sid == _id._id) {
- return this[i];
- }
- } else if (!(id instanceof ObjectId) && !(_id instanceof ObjectId)) {
- if (utils.deepEqual(id, _id)) {
- return this[i];
- }
- } else if (casted == _id) {
- return this[i];
- }
- }
-
- return null;
- },
-
- /**
- * Returns a native js Array of plain js objects
- *
- * ####NOTE:
- *
- * _Each sub-document is converted to a plain object by calling its `#toObject` method._
- *
- * @param {Object} [options] optional options to pass to each documents `toObject` method call during conversion
- * @return {Array}
- * @method toObject
- * @api public
- * @receiver MongooseDocumentArray
- */
-
- toObject: function(options) {
- return this.map(function(doc) {
- return doc && doc.toObject(options) || null;
- });
- },
-
- /**
- * Helper for console.log
- *
- * @method inspect
- * @api public
- * @receiver MongooseDocumentArray
- */
-
- inspect: function() {
- return Array.prototype.slice.call(this);
- },
-
- /**
- * Creates a subdocument casted to this schema.
- *
- * This is the same subdocument constructor used for casting.
- *
- * @param {Object} obj the value to cast to this arrays SubDocument schema
- * @method create
- * @api public
- * @receiver MongooseDocumentArray
- */
-
- create: function(obj) {
- return new this._schema.casterConstructor(obj);
- },
-
- /**
- * Creates a fn that notifies all child docs of `event`.
- *
- * @param {String} event
- * @return {Function}
- * @method notify
- * @api private
- * @receiver MongooseDocumentArray
- */
-
- notify: function notify(event) {
- var _this = this;
- return function notify(val) {
- var i = _this.length;
- while (i--) {
- if (!_this[i]) {
- continue;
- }
- switch (event) {
- // only swap for save event for now, we may change this to all event types later
- case 'save':
- val = _this[i];
- break;
- default:
- // NO-OP
- break;
- }
- _this[i].emit(event, val);
- }
- };
- }
-
-};
-
-/*!
- * Module exports.
- */
-
-module.exports = MongooseDocumentArray;
diff --git a/common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/types/embedded.js b/common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/types/embedded.js
deleted file mode 100644
index fbeaf6a..0000000
--- a/common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/types/embedded.js
+++ /dev/null
@@ -1,347 +0,0 @@
-/* eslint no-func-assign: 1 */
-
-/*!
- * Module dependencies.
- */
-
-var Document = require('../document_provider')();
-var PromiseProvider = require('../promise_provider');
-
-/**
- * EmbeddedDocument constructor.
- *
- * @param {Object} obj js object returned from the db
- * @param {MongooseDocumentArray} parentArr the parent array of this document
- * @param {Boolean} skipId
- * @inherits Document
- * @api private
- */
-
-function EmbeddedDocument(obj, parentArr, skipId, fields, index) {
- if (parentArr) {
- this.__parentArray = parentArr;
- this.__parent = parentArr._parent;
- } else {
- this.__parentArray = undefined;
- this.__parent = undefined;
- }
- this.__index = index;
-
- Document.call(this, obj, fields, skipId);
-
- var _this = this;
- this.on('isNew', function(val) {
- _this.isNew = val;
- });
-}
-
-/*!
- * Inherit from Document
- */
-EmbeddedDocument.prototype = Object.create(Document.prototype);
-EmbeddedDocument.prototype.constructor = EmbeddedDocument;
-
-EmbeddedDocument.prototype.toBSON = function() {
- return this.toObject({ transform: false });
-};
-
-/**
- * Marks the embedded doc modified.
- *
- * ####Example:
- *
- * var doc = blogpost.comments.id(hexstring);
- * doc.mixed.type = 'changed';
- * doc.markModified('mixed.type');
- *
- * @param {String} path the path which changed
- * @api public
- * @receiver EmbeddedDocument
- */
-
-EmbeddedDocument.prototype.markModified = function(path) {
- this.$__.activePaths.modify(path);
- if (!this.__parentArray) {
- return;
- }
-
- if (this.isNew) {
- // Mark the WHOLE parent array as modified
- // if this is a new document (i.e., we are initializing
- // a document),
- this.__parentArray._markModified();
- } else {
- this.__parentArray._markModified(this, path);
- }
-};
-
-/*!
- * ignore
- */
-
-EmbeddedDocument.prototype.populate = function() {
- throw new Error('Mongoose does not support calling populate() on nested ' +
- 'docs. Instead of `doc.arr[0].populate("path")`, use ' +
- '`doc.populate("arr.0.path")`');
-};
-
-/**
- * Used as a stub for [hooks.js](https://github.com/bnoguchi/hooks-js/tree/31ec571cef0332e21121ee7157e0cf9728572cc3)
- *
- * ####NOTE:
- *
- * _This is a no-op. Does not actually save the doc to the db._
- *
- * @param {Function} [fn]
- * @return {Promise} resolved Promise
- * @api private
- */
-
-EmbeddedDocument.prototype.save = function(fn) {
- var Promise = PromiseProvider.get();
- return new Promise.ES6(function(resolve) {
- fn && fn();
- resolve();
- });
-};
-
-/*!
- * Registers remove event listeners for triggering
- * on subdocuments.
- *
- * @param {EmbeddedDocument} sub
- * @api private
- */
-
-function registerRemoveListener(sub) {
- var owner = sub.ownerDocument();
-
- function emitRemove() {
- owner.removeListener('save', emitRemove);
- owner.removeListener('remove', emitRemove);
- sub.emit('remove', sub);
- owner = sub = null;
- }
-
- owner.on('save', emitRemove);
- owner.on('remove', emitRemove);
-}
-
-/**
- * Removes the subdocument from its parent array.
- *
- * @param {Object} [options]
- * @param {Function} [fn]
- * @api public
- */
-
-EmbeddedDocument.prototype.remove = function(options, fn) {
- if ( typeof options === 'function' && !fn ) {
- fn = options;
- options = undefined;
- }
- if (!this.__parentArray || (options && options.noop)) {
- fn && fn(null);
- return this;
- }
-
- var _id;
- if (!this.willRemove) {
- _id = this._doc._id;
- if (!_id) {
- throw new Error('For your own good, Mongoose does not know ' +
- 'how to remove an EmbeddedDocument that has no _id');
- }
- this.__parentArray.pull({_id: _id});
- this.willRemove = true;
- registerRemoveListener(this);
- }
-
- if (fn) {
- fn(null);
- }
-
- return this;
-};
-
-/**
- * Override #update method of parent documents.
- * @api private
- */
-
-EmbeddedDocument.prototype.update = function() {
- throw new Error('The #update method is not available on EmbeddedDocuments');
-};
-
-/**
- * Helper for console.log
- *
- * @api public
- */
-
-EmbeddedDocument.prototype.inspect = function() {
- return this.toObject({ transform: false, retainKeyOrder: true });
-};
-
-/**
- * Marks a path as invalid, causing validation to fail.
- *
- * @param {String} path the field to invalidate
- * @param {String|Error} err error which states the reason `path` was invalid
- * @return {Boolean}
- * @api public
- */
-
-EmbeddedDocument.prototype.invalidate = function(path, err, val, first) {
- if (!this.__parent) {
- Document.prototype.invalidate.call(this, path, err, val);
- if (err.name === 'ValidatorError') {
- return true;
- }
- throw err;
- }
-
- var index = this.__index;
- if (typeof index !== 'undefined') {
- var parentPath = this.__parentArray._path;
- var fullPath = [parentPath, index, path].join('.');
- this.__parent.invalidate(fullPath, err, val);
- }
-
- if (first) {
- this.$__.validationError = this.ownerDocument().$__.validationError;
- }
-
- return true;
-};
-
-/**
- * Marks a path as valid, removing existing validation errors.
- *
- * @param {String} path the field to mark as valid
- * @api private
- * @method $markValid
- * @receiver EmbeddedDocument
- */
-
-EmbeddedDocument.prototype.$markValid = function(path) {
- if (!this.__parent) {
- return;
- }
-
- var index = this.__index;
- if (typeof index !== 'undefined') {
- var parentPath = this.__parentArray._path;
- var fullPath = [parentPath, index, path].join('.');
- this.__parent.$markValid(fullPath);
- }
-};
-
-/**
- * Checks if a path is invalid
- *
- * @param {String} path the field to check
- * @api private
- * @method $isValid
- * @receiver EmbeddedDocument
- */
-
-EmbeddedDocument.prototype.$isValid = function(path) {
- var index = this.__index;
- if (typeof index !== 'undefined' && this.__parent) {
- return !this.__parent.$__.validationError ||
- !this.__parent.$__.validationError.errors[this.$__fullPath(path)];
- }
-
- return true;
-};
-
-/**
- * Returns the top level document of this sub-document.
- *
- * @return {Document}
- */
-
-EmbeddedDocument.prototype.ownerDocument = function() {
- if (this.$__.ownerDocument) {
- return this.$__.ownerDocument;
- }
-
- var parent = this.__parent;
- if (!parent) {
- return this;
- }
-
- while (parent.__parent || parent.$parent) {
- parent = parent.__parent || parent.$parent;
- }
-
- this.$__.ownerDocument = parent;
- return this.$__.ownerDocument;
-};
-
-/**
- * Returns the full path to this document. If optional `path` is passed, it is appended to the full path.
- *
- * @param {String} [path]
- * @return {String}
- * @api private
- * @method $__fullPath
- * @memberOf EmbeddedDocument
- */
-
-EmbeddedDocument.prototype.$__fullPath = function(path) {
- if (!this.$__.fullPath) {
- var parent = this; // eslint-disable-line consistent-this
- if (!parent.__parent) {
- return path;
- }
-
- var paths = [];
- while (parent.__parent || parent.$parent) {
- if (parent.__parent) {
- paths.unshift(parent.__parentArray._path);
- } else {
- paths.unshift(parent.$basePath);
- }
- parent = parent.__parent || parent.$parent;
- }
-
- this.$__.fullPath = paths.join('.');
-
- if (!this.$__.ownerDocument) {
- // optimization
- this.$__.ownerDocument = parent;
- }
- }
-
- return path
- ? this.$__.fullPath + '.' + path
- : this.$__.fullPath;
-};
-
-/**
- * Returns this sub-documents parent document.
- *
- * @api public
- */
-
-EmbeddedDocument.prototype.parent = function() {
- return this.__parent;
-};
-
-/**
- * Returns this sub-documents parent array.
- *
- * @api public
- */
-
-EmbeddedDocument.prototype.parentArray = function() {
- return this.__parentArray;
-};
-
-/*!
- * Module exports.
- */
-
-module.exports = EmbeddedDocument;
diff --git a/common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/types/index.js b/common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/types/index.js
deleted file mode 100644
index 0d01923..0000000
--- a/common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/types/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-
-/*!
- * Module exports.
- */
-
-exports.Array = require('./array');
-exports.Buffer = require('./buffer');
-
-exports.Document = // @deprecate
-exports.Embedded = require('./embedded');
-
-exports.DocumentArray = require('./documentarray');
-exports.ObjectId = require('./objectid');
-
-exports.Subdocument = require('./subdocument');
diff --git a/common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/types/objectid.js b/common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/types/objectid.js
deleted file mode 100644
index 9fe0b97..0000000
--- a/common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/types/objectid.js
+++ /dev/null
@@ -1,13 +0,0 @@
-/**
- * ObjectId type constructor
- *
- * ####Example
- *
- * var id = new mongoose.Types.ObjectId;
- *
- * @constructor ObjectId
- */
-
-var ObjectId = require('../drivers').ObjectId;
-
-module.exports = ObjectId;
diff --git a/common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/types/subdocument.js b/common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/types/subdocument.js
deleted file mode 100644
index 911fdf4..0000000
--- a/common/src/main/webapp/usageguide/appserver/node_modules/mongoose/lib/types/subdocument.js
+++ /dev/null
@@ -1,152 +0,0 @@
-var Document = require('../document');
-var PromiseProvider = require('../promise_provider');
-
-module.exports = Subdocument;
-
-/**
- * Subdocument constructor.
- *
- * @inherits Document
- * @api private
- */
-
-function Subdocument(value, fields) {
- this.$isSingleNested = true;
- Document.call(this, value, fields);
-}
-
-Subdocument.prototype = Object.create(Document.prototype);
-
-Subdocument.prototype.toBSON = function() {
- return this.toObject({ transform: false });
-};
-
-/**
- * Used as a stub for [hooks.js](https://github.com/bnoguchi/hooks-js/tree/31ec571cef0332e21121ee7157e0cf9728572cc3)
- *
- * ####NOTE:
- *
- * _This is a no-op. Does not actually save the doc to the db._
- *
- * @param {Function} [fn]
- * @return {Promise} resolved Promise
- * @api private
- */
-
-Subdocument.prototype.save = function(fn) {
- var Promise = PromiseProvider.get();
- return new Promise.ES6(function(resolve) {
- fn && fn();
- resolve();
- });
-};
-
-Subdocument.prototype.$isValid = function(path) {
- if (this.$parent) {
- return this.$parent.$isValid([this.$basePath, path].join('.'));
- }
-};
-
-Subdocument.prototype.markModified = function(path) {
- Document.prototype.markModified.call(this, path);
- if (this.$parent) {
- if (this.$parent.isDirectModified(this.$basePath)) {
- return;
- }
- this.$parent.markModified([this.$basePath, path].join('.'));
- }
-};
-
-Subdocument.prototype.$markValid = function(path) {
- if (this.$parent) {
- this.$parent.$markValid([this.$basePath, path].join('.'));
- }
-};
-
-Subdocument.prototype.invalidate = function(path, err, val) {
- Document.prototype.invalidate.call(this, path, err, val);
- if (this.$parent) {
- this.$parent.invalidate([this.$basePath, path].join('.'), err, val);
- } else if (err.kind === 'cast' || err.name === 'CastError') {
- throw err;
- }
-};
-
-/**
- * Returns the top level document of this sub-document.
- *
- * @return {Document}
- */
-
-Subdocument.prototype.ownerDocument = function() {
- if (this.$__.ownerDocument) {
- return this.$__.ownerDocument;
- }
-
- var parent = this.$parent;
- if (!parent) {
- return this;
- }
-
- while (parent.$parent || parent.__parent) {
- parent = parent.$parent || parent.__parent;
- }
- this.$__.ownerDocument = parent;
- return this.$__.ownerDocument;
-};
-
-/**
- * Null-out this subdoc
- *
- * @param {Object} [options]
- * @param {Function} [callback] optional callback for compatibility with Document.prototype.remove
- */
-
-Subdocument.prototype.remove = function(options, callback) {
- if (typeof options === 'function') {
- callback = options;
- options = null;
- }
-
- // If removing entire doc, no need to remove subdoc
- if (!options || !options.noop) {
- this.$parent.set(this.$basePath, null);
- registerRemoveListener(this);
- }
-
- if (typeof callback === 'function') {
- callback(null);
- }
-};
-
-/*!
- * ignore
- */
-
-Subdocument.prototype.populate = function() {
- throw new Error('Mongoose does not support calling populate() on nested ' +
- 'docs. Instead of `doc.nested.populate("path")`, use ' +
- '`doc.populate("nested.path")`');
-};
-
-/*!
- * Registers remove event listeners for triggering
- * on subdocuments.
- *
- * @param {EmbeddedDocument} sub
- * @api private
- */
-
-function registerRemoveListener(sub) {
- var owner = sub.ownerDocument();
-
- function emitRemove() {
- owner.removeListener('save', emitRemove);
- owner.removeListener('remove', emitRemove);
- sub.emit('remove', sub);
- owner = sub = null;
- }
-
- owner.on('save', emitRemove);
- owner.on('remove', emitRemove);
-}