started mongo stuff, but it's a PITA. fuck mongo
This commit is contained in:
parent
4cd36ea3fc
commit
0f1bc5dff3
937 changed files with 205043 additions and 0 deletions
100
parts/3/phonebookBackend/node_modules/mongoose/lib/schema/documentArrayElement.js
generated
vendored
Normal file
100
parts/3/phonebookBackend/node_modules/mongoose/lib/schema/documentArrayElement.js
generated
vendored
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
/*!
|
||||
* Module dependencies.
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
const MongooseError = require('../error/mongooseError');
|
||||
const SchemaType = require('../schemaType');
|
||||
const SchemaSubdocument = require('./subdocument');
|
||||
const getConstructor = require('../helpers/discriminator/getConstructor');
|
||||
|
||||
/**
|
||||
* DocumentArrayElement SchemaType constructor.
|
||||
*
|
||||
* @param {String} path
|
||||
* @param {Object} options
|
||||
* @inherits SchemaType
|
||||
* @api public
|
||||
*/
|
||||
|
||||
function SchemaDocumentArrayElement(path, options) {
|
||||
this.$parentSchemaType = options && options.$parentSchemaType;
|
||||
if (!this.$parentSchemaType) {
|
||||
throw new MongooseError('Cannot create DocumentArrayElement schematype without a parent');
|
||||
}
|
||||
delete options.$parentSchemaType;
|
||||
|
||||
SchemaType.call(this, path, options, 'DocumentArrayElement');
|
||||
|
||||
this.$isMongooseDocumentArrayElement = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* This schema type's name, to defend against minifiers that mangle
|
||||
* function names.
|
||||
*
|
||||
* @api public
|
||||
*/
|
||||
SchemaDocumentArrayElement.schemaName = 'DocumentArrayElement';
|
||||
|
||||
SchemaDocumentArrayElement.defaultOptions = {};
|
||||
|
||||
/*!
|
||||
* Inherits from SchemaType.
|
||||
*/
|
||||
SchemaDocumentArrayElement.prototype = Object.create(SchemaType.prototype);
|
||||
SchemaDocumentArrayElement.prototype.constructor = SchemaDocumentArrayElement;
|
||||
|
||||
/**
|
||||
* Casts `val` for DocumentArrayElement.
|
||||
*
|
||||
* @param {Object} value to cast
|
||||
* @api private
|
||||
*/
|
||||
|
||||
SchemaDocumentArrayElement.prototype.cast = function(...args) {
|
||||
return this.$parentSchemaType.cast(...args)[0];
|
||||
};
|
||||
|
||||
/**
|
||||
* Casts contents for queries.
|
||||
*
|
||||
* @param {String} $cond
|
||||
* @param {any} [val]
|
||||
* @api private
|
||||
*/
|
||||
|
||||
SchemaDocumentArrayElement.prototype.doValidate = function(value, fn, scope, options) {
|
||||
const Constructor = getConstructor(this.caster, value);
|
||||
|
||||
if (value && !(value instanceof Constructor)) {
|
||||
value = new Constructor(value, scope, null, null, options && options.index != null ? options.index : null);
|
||||
}
|
||||
|
||||
return SchemaSubdocument.prototype.doValidate.call(this, value, fn, scope, options);
|
||||
};
|
||||
|
||||
/**
|
||||
* Clone the current SchemaType
|
||||
*
|
||||
* @return {DocumentArrayElement} The cloned instance
|
||||
* @api private
|
||||
*/
|
||||
|
||||
SchemaDocumentArrayElement.prototype.clone = function() {
|
||||
this.options.$parentSchemaType = this.$parentSchemaType;
|
||||
const ret = SchemaType.prototype.clone.apply(this, arguments);
|
||||
delete this.options.$parentSchemaType;
|
||||
|
||||
ret.caster = this.caster;
|
||||
ret.schema = this.schema;
|
||||
|
||||
return ret;
|
||||
};
|
||||
|
||||
/*!
|
||||
* Module exports.
|
||||
*/
|
||||
|
||||
module.exports = SchemaDocumentArrayElement;
|
||||
Loading…
Add table
Add a link
Reference in a new issue