/*! * Module dependencies. */ var SchemaType = require('../schematype') , CastError = SchemaType.CastError , errorMessages = require('../error').messages , utils = require('../utils') , Document /** * EmbeddedDocument SchemaType constructor. * * @param {String} key * @param {Object} options * @inherits SchemaType * @api private */ function SchemaEmbedded (key, options, EmbeddedDoc, parentArray) { SchemaType.call(this, key, options, 'EmbeddedDocument'); this.EmbeddedDoc = EmbeddedDoc; this.parentArray = parentArray; }; /*! * Inherits from SchemaType. */ SchemaEmbedded.prototype.__proto__ = SchemaType.prototype; SchemaEmbedded.prototype.cast = function (value, doc, init) { return new this.EmbeddedDoc(value, this.parentArray); } /*! * Module exports. */ module.exports = SchemaEmbedded;