// mooncassette/drift —— 已弃用的公开项。
//
// 0.10.0 起把「对外承诺的 API」与「碰巧可见的内部实现」分开:下面这个名字服务的是
// 本包的渲染逻辑,不是使用方的需求。保留是为了旧版本的使用方不会突然编译不过,
// 预计在未来大版本移除。
//
// 它**仍被本包使用**(见 `DriftReport::lines`),所以 `skip_current_package=true`
// 是刻意的:弃用约束的是使用方。

///|
/// 渲染一条漂移记录(`[removed]` / `[added]` / `[changed]` 对齐好的单行文本)。
///
/// 它的输出格式是给人看的,不是可解析的契约 —— 单条渲染也就没有独立的对外价值:
/// 使用方真正要的是「整份报告」,而不是自己拼每一行。
///
/// 对外请改用 `DriftReport::lines`(逐行文本)或 `DriftReport::summary`
/// (一行汇总);要自定义呈现时,用 `DriftReport.entries` 自己渲染。
#deprecated("内部实现细节:请用 `DriftReport::lines`;本函数不在对外承诺范围内", skip_current_package=true)
pub fn render_entry(entry : DriftEntry) -> String {
  match entry.kind {
    Removed =>
      "[removed] " +
      entry.model +
      " #" +
      index_text(entry.old_index) +
      "  " +
      entry.fingerprint
    Added =>
      "[added]   " +
      entry.model +
      " #" +
      index_text(entry.new_index) +
      "  " +
      entry.fingerprint
    Changed =>
      "[changed] " +
      entry.model +
      " #" +
      index_text(entry.old_index) +
      " -> #" +
      index_text(entry.new_index) +
      "  " +
      entry.fingerprint
  }
}