1 | /* eslint-env browser */
|
2 |
|
3 | ;
|
4 |
|
5 | require('./driver').set(require('./drivers/browser'));
|
6 |
|
7 | const DocumentProvider = require('./document_provider.js');
|
8 | const PromiseProvider = require('./promise_provider');
|
9 |
|
10 | DocumentProvider.setBrowser(true);
|
11 |
|
12 | /**
|
13 | * The Mongoose [Promise](#promise_Promise) constructor.
|
14 | *
|
15 | * @method Promise
|
16 | * @api public
|
17 | */
|
18 |
|
19 | Object.defineProperty(exports, 'Promise', {
|
20 | get: function() {
|
21 | return PromiseProvider.get();
|
22 | },
|
23 | set: function(lib) {
|
24 | PromiseProvider.set(lib);
|
25 | }
|
26 | });
|
27 |
|
28 | /**
|
29 | * Storage layer for mongoose promises
|
30 | *
|
31 | * @method PromiseProvider
|
32 | * @api public
|
33 | */
|
34 |
|
35 | exports.PromiseProvider = PromiseProvider;
|
36 |
|
37 | /**
|
38 | * The [MongooseError](#error_MongooseError) constructor.
|
39 | *
|
40 | * @method Error
|
41 | * @api public
|
42 | */
|
43 |
|
44 | exports.Error = require('./error');
|
45 |
|
46 | /**
|
47 | * The Mongoose [Schema](#schema_Schema) constructor
|
48 | *
|
49 | * ####Example:
|
50 | *
|
51 | * var mongoose = require('mongoose');
|
52 | * var Schema = mongoose.Schema;
|
53 | * var CatSchema = new Schema(..);
|
54 | *
|
55 | * @method Schema
|
56 | * @api public
|
57 | */
|
58 |
|
59 | exports.Schema = require('./schema');
|
60 |
|
61 | /**
|
62 | * The various Mongoose Types.
|
63 | *
|
64 | * ####Example:
|
65 | *
|
66 | * var mongoose = require('mongoose');
|
67 | * var array = mongoose.Types.Array;
|
68 | *
|
69 | * ####Types:
|
70 | *
|
71 | * - [ObjectId](#types-objectid-js)
|
72 | * - [Buffer](#types-buffer-js)
|
73 | * - [SubDocument](#types-embedded-js)
|
74 | * - [Array](#types-array-js)
|
75 | * - [DocumentArray](#types-documentarray-js)
|
76 | *
|
77 | * Using this exposed access to the `ObjectId` type, we can construct ids on demand.
|
78 | *
|
79 | * var ObjectId = mongoose.Types.ObjectId;
|
80 | * var id1 = new ObjectId;
|
81 | *
|
82 | * @property Types
|
83 | * @api public
|
84 | */
|
85 | exports.Types = require('./types');
|
86 |
|
87 | /**
|
88 | * The Mongoose [VirtualType](#virtualtype_VirtualType) constructor
|
89 | *
|
90 | * @method VirtualType
|
91 | * @api public
|
92 | */
|
93 | exports.VirtualType = require('./virtualtype');
|
94 |
|
95 | /**
|
96 | * The various Mongoose SchemaTypes.
|
97 | *
|
98 | * ####Note:
|
99 | *
|
100 | * _Alias of mongoose.Schema.Types for backwards compatibility._
|
101 | *
|
102 | * @property SchemaTypes
|
103 | * @see Schema.SchemaTypes #schema_Schema.Types
|
104 | * @api public
|
105 | */
|
106 |
|
107 | exports.SchemaType = require('./schematype.js');
|
108 |
|
109 | /**
|
110 | * Internal utils
|
111 | *
|
112 | * @property utils
|
113 | * @api private
|
114 | */
|
115 |
|
116 | exports.utils = require('./utils.js');
|
117 |
|
118 | /**
|
119 | * The Mongoose browser [Document](#document-js) constructor.
|
120 | *
|
121 | * @method Document
|
122 | * @api public
|
123 | */
|
124 | exports.Document = DocumentProvider();
|
125 |
|
126 | /**
|
127 | * function stub for model
|
128 | *
|
129 | * @method model
|
130 | * @api public
|
131 | * @return null
|
132 | */
|
133 | exports.model = function() {
|
134 | return null;
|
135 | };
|
136 |
|
137 | /*!
|
138 | * Module exports.
|
139 | */
|
140 |
|
141 | if (typeof window !== 'undefined') {
|
142 | window.mongoose = module.exports;
|
143 | window.Buffer = Buffer;
|
144 | }
|