whole_func_string: function removeFileExtnameAssociatedProcessor(extnames, processorName, existedMap) {
      if (!extnames) {
          return;
      }
  
      if (!Array.isArray(extnames)) {
          extnames = [extnames];
      }
  
      extnames.forEach(k => {
          let currItems = existedMap[k];
          if (Array.isArray(currItems)) {
              let idx = currItems.indexOf(processorName);
              if (idx !== -1) {
                  currItems.splice(idx, 1);
                  currItems.length === 0 && (existedMap[k] = undefined);
              }
          }
          else if (currItems === processorName) {
              existedMap[k] = undefined;
          }
      });
  }
func_code_string: function removeFileExtnameAssociatedProcessor(extnames, processorName, existedMap) {
      if (!extnames) {
          return;
      }
  
      if (!Array.isArray(extnames)) {
          extnames = [extnames];
      }
  
      extnames.forEach(k => {
          let currItems = existedMap[k];
          if (Array.isArray(currItems)) {
              let idx = currItems.indexOf(processorName);
              if (idx !== -1) {
                  currItems.splice(idx, 1);
                  currItems.length === 0 && (existedMap[k] = undefined);
              }
          }
          else if (currItems === processorName) {
              existedMap[k] = undefined;
          }
      });
  }
func_documentation_string: Remove the file extname associated processors.
  
  @inner
  @param {string|Array.<string>} extnames the file extnames
  @param {string} processorName the processor name
  @param {Object} existedMap the existed file extname associated processors map