2025-11-06 15:41:52 +09:00
|
|
|
|
// std/operators/stringify.hako
|
2025-09-27 08:45:25 +09:00
|
|
|
|
// StringifyOperator — 明示的な文字列化の演算子ボックス(開発用)
|
|
|
|
|
|
// 目的: 暗黙の toString に依存せず、観測可能な文字列化を提供する
|
|
|
|
|
|
|
|
|
|
|
|
static box StringifyOperator {
|
|
|
|
|
|
// apply(value) -> String
|
|
|
|
|
|
apply(value) {
|
|
|
|
|
|
// null 安全
|
|
|
|
|
|
if value == null {
|
|
|
|
|
|
return "null"
|
|
|
|
|
|
}
|
|
|
|
|
|
// stringify メソッドがあれば尊重(JsonNodeInstance 等)
|
|
|
|
|
|
if value.stringify != null {
|
|
|
|
|
|
return value.stringify()
|
|
|
|
|
|
}
|
|
|
|
|
|
// それ以外は連結で安全に文字列化(プリミティブ toString 依存を避ける)
|
|
|
|
|
|
return "" + value
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|