Spaces:
Runtime error
Runtime error
| ; | |
| /*! | |
| * ignore | |
| */ | |
| module.exports = function cleanModifiedSubpaths(doc, path, options) { | |
| options = options || {}; | |
| const skipDocArrays = options.skipDocArrays; | |
| let deleted = 0; | |
| if (!doc) { | |
| return deleted; | |
| } | |
| for (const modifiedPath of Object.keys(doc.$__.activePaths.getStatePaths('modify'))) { | |
| if (skipDocArrays) { | |
| const schemaType = doc.$__schema.path(modifiedPath); | |
| if (schemaType && schemaType.$isMongooseDocumentArray) { | |
| continue; | |
| } | |
| } | |
| if (modifiedPath.startsWith(path + '.')) { | |
| doc.$__.activePaths.clearPath(modifiedPath); | |
| ++deleted; | |
| if (doc.$isSubdocument) { | |
| const owner = doc.ownerDocument(); | |
| const fullPath = doc.$__fullPath(modifiedPath); | |
| owner.$__.activePaths.clearPath(fullPath); | |
| } | |
| } | |
| } | |
| return deleted; | |
| }; | |