@@ -3780,7 +3780,7 @@ Document.prototype.$__handleReject = function handleReject(err) {
37803780 */
37813781
37823782Document . prototype . $toObject = function ( options , json ) {
3783- let defaultOptions = {
3783+ const defaultOptions = {
37843784 transform : true ,
37853785 flattenDecimals : true
37863786 } ;
@@ -3793,7 +3793,7 @@ Document.prototype.$toObject = function(options, json) {
37933793 const schemaOptions = this . $__schema && this . $__schema . options || { } ;
37943794 // merge base default options with Schema's set default options if available.
37953795 // `clone` is necessary here because `utils.options` directly modifies the second input.
3796- defaultOptions = { ... defaultOptions , ... baseOptions , ... schemaOptions [ path ] } ;
3796+ Object . assign ( defaultOptions , baseOptions , schemaOptions [ path ] ) ;
37973797
37983798 // If options do not exist or is not an object, set it to empty object
37993799 options = utils . isPOJO ( options ) ? { ...options } : { } ;
@@ -3865,27 +3865,25 @@ Document.prototype.$toObject = function(options, json) {
38653865 options . minimize = _minimize ;
38663866
38673867 cloneOptions . _parentOptions = options ;
3868- cloneOptions . _skipSingleNestedGetters = false ;
3869-
3870- const gettersOptions = Object . assign ( { } , cloneOptions ) ;
3871- gettersOptions . _skipSingleNestedGetters = true ;
38723868
3869+ cloneOptions . _skipSingleNestedGetters = false ;
38733870 // remember the root transform function
38743871 // to save it from being overwritten by sub-transform functions
38753872 const originalTransform = options . transform ;
38763873
38773874 let ret = clone ( this . _doc , cloneOptions ) || { } ;
38783875
3876+ cloneOptions . _skipSingleNestedGetters = true ;
38793877 if ( options . getters ) {
3880- applyGetters ( this , ret , gettersOptions ) ;
3878+ applyGetters ( this , ret , cloneOptions ) ;
38813879
38823880 if ( options . minimize ) {
38833881 ret = minimize ( ret ) || { } ;
38843882 }
38853883 }
38863884
38873885 if ( options . virtuals || ( options . getters && options . virtuals !== false ) ) {
3888- applyVirtuals ( this , ret , gettersOptions , options ) ;
3886+ applyVirtuals ( this , ret , cloneOptions , options ) ;
38893887 }
38903888
38913889 if ( options . versionKey === false && this . $__schema . options . versionKey ) {
0 commit comments