INNER CODE UNIT · JavaScript

normalizeUserConfig

serverless/serverless · packages/serverless/lib/classes/config-schema-handler/index.js:28

const normalizeUserConfig = (userConfig) => {
  const normalizedObjectsSet = new WeakSet()
  const removedValuesMap = []
  const normalizeObject = (object, path) => {
    if (normalizedObjectsSet.has(object)) return
    normalizedObjectsSet.add(object)
    if (Array.isArray(object)) {
      for (const [index, value] of object.entries()) {
        if (_.isObject(value)) normalizeObject(value, path.concat(index))
      }
    } else {
      for (const [key, value] of Object.entries(object)) {
        if (value == null) {
          removedValuesMap.push({ path: path.concat(key), value })
          delete object[key]
        } else if (_.isObject(value)) {
          normalizeObject(value, path.concat(key))
        }

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…