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: 18.224.169.152
User: allssztx (535) | Group: allssztx (533)
Safe Mode: OFF
Disable Function:
NONE

name : applyPlugins.js
'use strict';

module.exports = function applyPlugins(schema, plugins, options, cacheKey) {
  if (schema[cacheKey]) {
    return;
  }
  schema[cacheKey] = true;

  if (!options || !options.skipTopLevel) {
    let pluginTags = null;
    for (const plugin of plugins) {
      const tags = plugin[1] == null ? null : plugin[1].tags;
      if (!Array.isArray(tags)) {
        schema.plugin(plugin[0], plugin[1]);
        continue;
      }

      pluginTags = pluginTags || new Set(schema.options.pluginTags || []);
      if (!tags.find(tag => pluginTags.has(tag))) {
        continue;
      }
      schema.plugin(plugin[0], plugin[1]);
    }
  }

  options = Object.assign({}, options);
  delete options.skipTopLevel;

  if (options.applyPluginsToChildSchemas !== false) {
    for (const path of Object.keys(schema.paths)) {
      const type = schema.paths[path];
      if (type.schema != null) {
        applyPlugins(type.schema, plugins, options, cacheKey);

        // Recompile schema because plugins may have changed it, see gh-7572
        type.caster.prototype.$__setSchema(type.schema);
      }
    }
  }

  const discriminators = schema.discriminators;
  if (discriminators == null) {
    return;
  }

  const applyPluginsToDiscriminators = options.applyPluginsToDiscriminators;

  const keys = Object.keys(discriminators);
  for (const discriminatorKey of keys) {
    const discriminatorSchema = discriminators[discriminatorKey];

    applyPlugins(discriminatorSchema, plugins,
      { skipTopLevel: !applyPluginsToDiscriminators }, cacheKey);
  }
};
© 2025 GrazzMean-Shell