deno.land / x / mongoose@6.7.5 / lib / options / SchemaStringOptions.js
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139'use strict';
const SchemaTypeOptions = require('./SchemaTypeOptions');
/** * The options defined on a string schematype. * * #### Example: * * const schema = new Schema({ name: String }); * schema.path('name').options; // SchemaStringOptions instance * * @api public * @inherits SchemaTypeOptions * @constructor SchemaStringOptions */
class SchemaStringOptions extends SchemaTypeOptions {}
const opts = require('./propertyOptions');
/** * Array of allowed values for this path * * @api public * @property enum * @memberOf SchemaStringOptions * @type {Array} * @instance */
Object.defineProperty(SchemaStringOptions.prototype, 'enum', opts);
/** * Attach a validator that succeeds if the data string matches the given regular * expression, and fails otherwise. * * @api public * @property match * @memberOf SchemaStringOptions * @type {RegExp} * @instance */
Object.defineProperty(SchemaStringOptions.prototype, 'match', opts);
/** * If truthy, Mongoose will add a custom setter that lowercases this string * using JavaScript's built-in `String#toLowerCase()`. * * @api public * @property lowercase * @memberOf SchemaStringOptions * @type {Boolean} * @instance */
Object.defineProperty(SchemaStringOptions.prototype, 'lowercase', opts);
/** * If truthy, Mongoose will add a custom setter that removes leading and trailing * whitespace using [JavaScript's built-in `String#trim()`](https://masteringjs.io/tutorials/fundamentals/trim-string). * * @api public * @property trim * @memberOf SchemaStringOptions * @type {Boolean} * @instance */
Object.defineProperty(SchemaStringOptions.prototype, 'trim', opts);
/** * If truthy, Mongoose will add a custom setter that uppercases this string * using JavaScript's built-in [`String#toUpperCase()`](https://masteringjs.io/tutorials/fundamentals/uppercase). * * @api public * @property uppercase * @memberOf SchemaStringOptions * @type {Boolean} * @instance */
Object.defineProperty(SchemaStringOptions.prototype, 'uppercase', opts);
/** * If set, Mongoose will add a custom validator that ensures the given * string's `length` is at least the given number. * * Mongoose supports two different spellings for this option: `minLength` and `minlength`. * `minLength` is the recommended way to specify this option, but Mongoose also supports * `minlength` (lowercase "l"). * * @api public * @property minLength * @memberOf SchemaStringOptions * @type {Number} * @instance */
Object.defineProperty(SchemaStringOptions.prototype, 'minLength', opts);Object.defineProperty(SchemaStringOptions.prototype, 'minlength', opts);
/** * If set, Mongoose will add a custom validator that ensures the given * string's `length` is at most the given number. * * Mongoose supports two different spellings for this option: `maxLength` and `maxlength`. * `maxLength` is the recommended way to specify this option, but Mongoose also supports * `maxlength` (lowercase "l"). * * @api public * @property maxLength * @memberOf SchemaStringOptions * @type {Number} * @instance */
Object.defineProperty(SchemaStringOptions.prototype, 'maxLength', opts);Object.defineProperty(SchemaStringOptions.prototype, 'maxlength', opts);
/** * Sets default [populate options](/docs/populate.html#query-conditions). * * @api public * @property populate * @memberOf SchemaStringOptions * @type {Object} * @instance */
Object.defineProperty(SchemaStringOptions.prototype, 'populate', opts);
/*! * ignore */
module.exports = SchemaStringOptions;
Version Info