summaryrefslogtreecommitdiffstats
path: root/node_modules/mongoose/lib/options/SchemaMapOptions.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/mongoose/lib/options/SchemaMapOptions.js')
-rw-r--r--node_modules/mongoose/lib/options/SchemaMapOptions.js43
1 files changed, 43 insertions, 0 deletions
diff --git a/node_modules/mongoose/lib/options/SchemaMapOptions.js b/node_modules/mongoose/lib/options/SchemaMapOptions.js
new file mode 100644
index 0000000..335d84a
--- /dev/null
+++ b/node_modules/mongoose/lib/options/SchemaMapOptions.js
@@ -0,0 +1,43 @@
+'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; \ No newline at end of file