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.
43 lines
1.1 KiB
43 lines
1.1 KiB
'use strict'; |
|
|
|
const SchemaTypeOptions = require('./schemaTypeOptions'); |
|
|
|
/** |
|
* The options defined on a Map schematype. |
|
* |
|
* #### Example: |
|
* |
|
* const schema = new Schema({ socialMediaHandles: { type: Map, of: String } }); |
|
* schema.path('socialMediaHandles').options; // SchemaMapOptions instance |
|
* |
|
* @api public |
|
* @inherits SchemaTypeOptions |
|
* @constructor SchemaMapOptions |
|
*/ |
|
|
|
class SchemaMapOptions extends SchemaTypeOptions {} |
|
|
|
const opts = require('./propertyOptions'); |
|
|
|
/** |
|
* If set, specifies the type of this map's values. Mongoose will cast |
|
* this map's values to the given type. |
|
* |
|
* If not set, Mongoose will not cast the map's values. |
|
* |
|
* #### Example: |
|
* |
|
* // Mongoose will cast `socialMediaHandles` values to strings |
|
* const schema = new Schema({ socialMediaHandles: { type: Map, of: String } }); |
|
* schema.path('socialMediaHandles').options.of; // String |
|
* |
|
* @api public |
|
* @property of |
|
* @memberOf SchemaMapOptions |
|
* @type {Function|string} |
|
* @instance |
|
*/ |
|
|
|
Object.defineProperty(SchemaMapOptions.prototype, 'of', opts); |
|
|
|
module.exports = SchemaMapOptions;
|
|
|