You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							159 lines
						
					
					
						
							3.1 KiB
						
					
					
				
			
		
		
	
	
							159 lines
						
					
					
						
							3.1 KiB
						
					
					
				| /* eslint-env browser */
 | |
| 
 | |
| 'use strict';
 | |
| 
 | |
| require('./driver').set(require('./drivers/browser'));
 | |
| 
 | |
| const DocumentProvider = require('./document_provider.js');
 | |
| const PromiseProvider = require('./promise_provider');
 | |
| 
 | |
| DocumentProvider.setBrowser(true);
 | |
| 
 | |
| /**
 | |
|  * The Mongoose [Promise](#promise_Promise) constructor.
 | |
|  *
 | |
|  * @method Promise
 | |
|  * @api public
 | |
|  */
 | |
| 
 | |
| Object.defineProperty(exports, 'Promise', {
 | |
|   get: function() {
 | |
|     return PromiseProvider.get();
 | |
|   },
 | |
|   set: function(lib) {
 | |
|     PromiseProvider.set(lib);
 | |
|   }
 | |
| });
 | |
| 
 | |
| /**
 | |
|  * Storage layer for mongoose promises
 | |
|  *
 | |
|  * @method PromiseProvider
 | |
|  * @api public
 | |
|  */
 | |
| 
 | |
| exports.PromiseProvider = PromiseProvider;
 | |
| 
 | |
| /**
 | |
|  * The [MongooseError](#error_MongooseError) constructor.
 | |
|  *
 | |
|  * @method Error
 | |
|  * @api public
 | |
|  */
 | |
| 
 | |
| exports.Error = require('./error/index');
 | |
| 
 | |
| /**
 | |
|  * The Mongoose [Schema](#schema_Schema) constructor
 | |
|  *
 | |
|  * ####Example:
 | |
|  *
 | |
|  *     const mongoose = require('mongoose');
 | |
|  *     const Schema = mongoose.Schema;
 | |
|  *     const CatSchema = new Schema(..);
 | |
|  *
 | |
|  * @method Schema
 | |
|  * @api public
 | |
|  */
 | |
| 
 | |
| exports.Schema = require('./schema');
 | |
| 
 | |
| /**
 | |
|  * The various Mongoose Types.
 | |
|  *
 | |
|  * ####Example:
 | |
|  *
 | |
|  *     const mongoose = require('mongoose');
 | |
|  *     const array = mongoose.Types.Array;
 | |
|  *
 | |
|  * ####Types:
 | |
|  *
 | |
|  * - [Array](/docs/schematypes.html#arrays)
 | |
|  * - [Buffer](/docs/schematypes.html#buffers)
 | |
|  * - [Embedded](/docs/schematypes.html#schemas)
 | |
|  * - [DocumentArray](/docs/api/documentarraypath.html)
 | |
|  * - [Decimal128](/docs/api.html#mongoose_Mongoose-Decimal128)
 | |
|  * - [ObjectId](/docs/schematypes.html#objectids)
 | |
|  * - [Map](/docs/schematypes.html#maps)
 | |
|  * - [Subdocument](/docs/schematypes.html#schemas)
 | |
|  *
 | |
|  * Using this exposed access to the `ObjectId` type, we can construct ids on demand.
 | |
|  *
 | |
|  *     const ObjectId = mongoose.Types.ObjectId;
 | |
|  *     const id1 = new ObjectId;
 | |
|  *
 | |
|  * @property Types
 | |
|  * @api public
 | |
|  */
 | |
| exports.Types = require('./types');
 | |
| 
 | |
| /**
 | |
|  * The Mongoose [VirtualType](#virtualtype_VirtualType) constructor
 | |
|  *
 | |
|  * @method VirtualType
 | |
|  * @api public
 | |
|  */
 | |
| exports.VirtualType = require('./virtualtype');
 | |
| 
 | |
| /**
 | |
|  * The various Mongoose SchemaTypes.
 | |
|  *
 | |
|  * ####Note:
 | |
|  *
 | |
|  * _Alias of mongoose.Schema.Types for backwards compatibility._
 | |
|  *
 | |
|  * @property SchemaTypes
 | |
|  * @see Schema.SchemaTypes #schema_Schema.Types
 | |
|  * @api public
 | |
|  */
 | |
| 
 | |
| exports.SchemaType = require('./schematype.js');
 | |
| 
 | |
| /**
 | |
|  * Internal utils
 | |
|  *
 | |
|  * @property utils
 | |
|  * @api private
 | |
|  */
 | |
| 
 | |
| exports.utils = require('./utils.js');
 | |
| 
 | |
| /**
 | |
|  * The Mongoose browser [Document](/api/document.html) constructor.
 | |
|  *
 | |
|  * @method Document
 | |
|  * @api public
 | |
|  */
 | |
| exports.Document = DocumentProvider();
 | |
| 
 | |
| /**
 | |
|  * Return a new browser model. In the browser, a model is just
 | |
|  * a simplified document with a schema - it does **not** have
 | |
|  * functions like `findOne()`, etc.
 | |
|  *
 | |
|  * @method model
 | |
|  * @api public
 | |
|  * @param {String} name
 | |
|  * @param {Schema} schema
 | |
|  * @return Class
 | |
|  */
 | |
| exports.model = function(name, schema) {
 | |
|   class Model extends exports.Document {
 | |
|     constructor(obj, fields) {
 | |
|       super(obj, schema, fields);
 | |
|     }
 | |
|   }
 | |
|   Model.modelName = name;
 | |
| 
 | |
|   return Model;
 | |
| };
 | |
| 
 | |
| /*!
 | |
|  * Module exports.
 | |
|  */
 | |
| 
 | |
| if (typeof window !== 'undefined') {
 | |
|   window.mongoose = module.exports;
 | |
|   window.Buffer = Buffer;
 | |
| }
 |