Uname: Linux business55.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
Software: LiteSpeed
PHP version: 8.1.31 [ PHP INFO ] PHP os: Linux
Server Ip: 162.213.251.212
Your Ip: 3.137.174.186
User: allssztx (535) | Group: allssztx (533)
Safe Mode: OFF
Disable Function:
NONE

name : getSubdocumentStrictValue.js
'use strict';

/**
 * Find the `strict` mode setting for the deepest subdocument along a given path
 * to ensure we have the correct default value for `strict`. When setting values
 * underneath a subdocument, we should use the subdocument's `strict` setting by
 * default, not the top-level document's.
 *
 * @param {Schema} schema
 * @param {String[]} parts
 * @returns {boolean | 'throw' | undefined}
 */

module.exports = function getSubdocumentStrictValue(schema, parts) {
  if (parts.length === 1) {
    return undefined;
  }
  let cur = parts[0];
  let strict = undefined;
  for (let i = 0; i < parts.length - 1; ++i) {
    const curSchemaType = schema.path(cur);
    if (curSchemaType && curSchemaType.schema) {
      strict = curSchemaType.schema.options.strict;
      schema = curSchemaType.schema;
      cur = curSchemaType.$isMongooseDocumentArray && !isNaN(parts[i + 1]) ? '' : parts[i + 1];
    } else {
      cur += cur.length ? ('.' + parts[i + 1]) : parts[i + 1];
    }
  }

  return strict;
};
© 2025 GrazzMean-Shell