审查生成的会议规范化函数

来自 Date 对象
Node 24 高级 8分钟 找出 4处问题

在这段生成的会议规范化函数处理日历 API 载荷前,对它进行审查。

接收规范 UTC 开始与结束时间戳,拒绝无效或非正区间,保留两个时间点,计算开始前 15 分钟的提醒时间,按 input.timeZone 格式化开始时间,并且绝不返回内部备注。

JavaScript
function prepareMeeting(input, locale) {
  const start = new Date(input.start);
  const end = new Date(input.end);

  if (!start || !end) {
    throw new Error('invalid meeting');
  }

  start.setTime(start.getTime() - 15 * 60_000);
  const durationMinutes = Math.round((end - start) / 60_000);
  const label = start.toLocaleString(locale, {
    timeZone: input.timeZone,
  });

  return {
    start: start.toISOString(),
    end: end.toISOString(),
    reminderAt: start.toISOString(),
    durationMinutes,
    label,
    notes: input.internalNotes,
  };
}

生成代码仅作示例,不代表任何特定模型

在试验场中打开
报告错误