export default function convertToQueueItem()

in packages-error-prompt/console-base-error-prompt/src/util/convert-to-queue-item.ts [27:57]


export default function convertToQueueItem(o?: TErrorPromptArg, extra?: IErrorPromptExtra | IFnErrorPromptExtra, detailedMode?: boolean): IErrorQueueItem | null {
  if (shouldIgnore(o)) {
    return null;
  }
  
  const error = convertToErrorPlain(o);
  const predefinedExtra = getPredefinedExtra(error);
  let {
    title = error.title,
    message = error.message,
    messageExtra,
    button
  } = parseExtra(error, extra);
  
  if (predefinedExtra) {
    title = predefinedExtra.title || title;
    message = predefinedExtra.message || message;
    messageExtra = predefinedExtra.messageExtra || messageExtra;
    button = predefinedExtra.button || button;
  }
  
  return {
    error,
    title: title || defaultTitle,
    message,
    messageExtra,
    button,
    detailedMode,
    resolve: _noop // 由主方法负责填充成正式的 resolve 方法
  };
}