Commit b0aa8874128 for nodejs

commit b0aa8874128b6dd42d6a1fa2281e376fee9209e3
Author: Livia Medeiros <livia@cirno.name>
Date:   Sun Nov 15 19:52:26 2026 +0800

    util: use `Map.prototype.getOrInsert()` in circular reference formatting

    Signed-off-by: LiviaMedeiros <livia@cirno.name>
    PR-URL: https://github.com/nodejs/node/pull/67451
    Reviewed-By: Jordan Harband <ljharb@gmail.com>
    Reviewed-By: René <contact.9a5d6388@renegade334.me.uk>

diff --git a/lib/internal/util/inspect.js b/lib/internal/util/inspect.js
index 26cf23bf0fa..30bfa41b0ce 100644
--- a/lib/internal/util/inspect.js
+++ b/lib/internal/util/inspect.js
@@ -1173,17 +1173,8 @@ function formatValue(ctx, value, recurseTimes, typedArray) {
   // Using an array here is actually better for the average case than using
   // a Set. `seen` will only check for the depth and will never grow too large.
   if (ctx.seen.includes(value)) {
-    let index = 1;
-    if (ctx.circular === undefined) {
-      ctx.circular = new SafeMap();
-      ctx.circular.set(value, index);
-    } else {
-      index = ctx.circular.get(value);
-      if (index === undefined) {
-        index = ctx.circular.size + 1;
-        ctx.circular.set(value, index);
-      }
-    }
+    ctx.circular ??= new SafeMap();
+    const index = ctx.circular.getOrInsert(value, ctx.circular.size + 1);
     return ctx.stylize(`[Circular *${index}]`, 'special');
   }