1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- 'use strict';
- const SchemaTypeOptions = require('./SchemaTypeOptions');
- /**
- * The options defined on an Array schematype.
- *
- * #### Example:
- *
- * const schema = new Schema({ tags: [String] });
- * schema.path('tags').options; // SchemaArrayOptions instance
- *
- * @api public
- * @inherits SchemaTypeOptions
- * @constructor SchemaArrayOptions
- */
- class SchemaArrayOptions extends SchemaTypeOptions {}
- const opts = require('./propertyOptions');
- /**
- * If this is an array of strings, an array of allowed values for this path.
- * Throws an error if this array isn't an array of strings.
- *
- * @api public
- * @property enum
- * @memberOf SchemaArrayOptions
- * @type Array
- * @instance
- */
- Object.defineProperty(SchemaArrayOptions.prototype, 'enum', opts);
- /**
- * If set, specifies the type of this array's values. Equivalent to setting
- * `type` to an array whose first element is `of`.
- *
- * #### Example:
- *
- * // `arr` is an array of numbers.
- * new Schema({ arr: [Number] });
- * // Equivalent way to define `arr` as an array of numbers
- * new Schema({ arr: { type: Array, of: Number } });
- *
- * @api public
- * @property of
- * @memberOf SchemaArrayOptions
- * @type Function|String
- * @instance
- */
- Object.defineProperty(SchemaArrayOptions.prototype, 'of', opts);
- /*!
- * ignore
- */
- module.exports = SchemaArrayOptions;
|