override def handle()

in scala-repl/src/main/scala/spark/ztools.sc [216:240]


    override def handle(scalaInfo: ScalaVariableInfo, loopback: Loopback, depth: Int): mutable.Map[String, Any] =
      withJsonObject {
        json =>
          val obj = scalaInfo.value
          val id = scalaInfo.path
          val map = obj.asInstanceOf[Map[_, _]]
          val keys = mutable.MutableList[Any]()
          val values = mutable.MutableList[Any]()
          json += ("jvm-type" -> obj.getClass.getCanonicalName)
          json += ("length" -> map.size)
          var index = 0

          json += ("key" -> keys)
          json += ("value" -> values)

          val startTime = System.currentTimeMillis()
          map.view.take(math.min(limit, map.size)).foreach {
            case (key, value) =>
              if (checkTimeoutError(scalaInfo.path, startTime, timeout))
                return json
              keys += loopback.pass(key, s"$id.key[$index]")
              values += loopback.pass(value, s"$id.value[$index]")
              index += 1
          }
      }