code: function parseWhiteList(files) {
      if (!files || !Array.isArray(files)) {
          return null
      }
  
      const ig = ignore()
      const igN = ignore()
      let hasN = false
  
      for (const file of files) {
          if (typeof file === "string" && file) {
              const body = file.replace(SLASH_AT_BEGIN_AND_END, "")
              if (file.startsWith("!")) {
                  igN.add(`${body}`)
                  igN.add(`${body}/**`)
                  hasN = true
              } else {
                  ig.add(`/${body}`)
                  ig.add(`/${body}/**`)
              }
          }
      }
  
      return hasN
          ? or(ig.createFilter(), not(igN.createFilter()))
          : ig.createFilter()
  }
docs: Creates a function which checks whether or not a given file should be ignored.
  
  @param {string[]|null} files - File names of whitelist.
  @returns {function|null} A function which checks whether or not a given file should be ignored.