forEach()

in src/dispatch/static/dispatch/src/router/utils.js [56:125]


    forEach(query, function (value, key) {
      let parts = key.split(".")

      if (parts.length > 1) {
        let root = parts[0]
        if (!filters[root]) {
          filters[root] = { start: null, end: null }
        }

        if (key.includes("start")) {
          filters[root]["start"] = value
        }

        if (key.includes("end")) {
          filters[root]["end"] = value
        }
        return
      }
      if (["status"].includes(key)) {
        if (typeof value === "string" || value instanceof String) {
          if (has(filters, key)) {
            filters[key].push(value)
          } else {
            filters[key] = [value]
          }
        } else {
          each(value, function (item) {
            if (has(filters, key)) {
              filters[key].push(item)
            } else {
              filters[key] = [item]
            }
          })
        }
        return
      }
      if (["commander", "participant", "assignee"].includes(key)) {
        if (typeof value === "string" || value instanceof String) {
          if (has(filters, key)) {
            filters[key].push({ email: value })
          } else {
            filters[key] = [{ email: value }]
          }
        } else {
          each(value, function (item) {
            if (has(filters, key)) {
              filters[key].push({ email: item })
            } else {
              filters[key] = [{ email: item }]
            }
          })
        }
        return
      }
      if (typeof value === "string" || value instanceof String) {
        if (has(filters, key)) {
          filters[key].push({ name: value })
        } else {
          filters[key] = [{ name: value }]
        }
      } else {
        each(value, function (item) {
          if (has(filters, key)) {
            filters[key].push({ name: item })
          } else {
            filters[key] = [{ name: item }]
          }
        })
      }
    })