Dashboard Temp Share Shortlinks Frames API

HTMLify

PopulateOptions.js
Views: 12 | Author: cody
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
'use strict';

const clone = require('../helpers/clone');

class PopulateOptions {
  constructor(obj) {
    this._docs = {};

    if (obj == null) {
      return;
    }
    obj = clone(obj);
    Object.assign(this, obj);
    if (typeof obj.subPopulate === 'object') {
      this.populate = obj.subPopulate;
    }


    if (obj.perDocumentLimit != null && obj.limit != null) {
      throw new Error('Can not use `limit` and `perDocumentLimit` at the same time. Path: `' + obj.path + '`.');
    }
  }
}

/**
 * The connection used to look up models by name. If not specified, Mongoose
 * will default to using the connection associated with the model in
 * `PopulateOptions#model`.
 *
 * @memberOf PopulateOptions
 * @property {Connection} connection
 * @api public
 */

module.exports = PopulateOptions;