38 lines
1.0 KiB
Nim
38 lines
1.0 KiB
Nim
|
## Nim-LibP2P
|
||
|
## Copyright (c) 2020 Status Research & Development GmbH
|
||
|
## Licensed under either of
|
||
|
## * Apache License, version 2.0, ([LICENSE-APACHE](LICENSE-APACHE))
|
||
|
## * MIT license ([LICENSE-MIT](LICENSE-MIT))
|
||
|
## at your option.
|
||
|
## This file may not be copied, modified, or distributed except according to
|
||
|
## those terms.
|
||
|
|
||
|
import stew/byteutils
|
||
|
|
||
|
const
|
||
|
ShortDumpMax = 12
|
||
|
|
||
|
func shortLog*(item: openarray[byte]): string =
|
||
|
if item.len <= ShortDumpMax:
|
||
|
result = item.toHex()
|
||
|
else:
|
||
|
const
|
||
|
split = ShortDumpMax div 2
|
||
|
dumpLen = (ShortDumpMax * 2) + 3
|
||
|
result = newStringOfCap(dumpLen)
|
||
|
result &= item.toOpenArray(0, split - 1).toHex()
|
||
|
result &= "..."
|
||
|
result &= item.toOpenArray(item.len - split, item.high).toHex()
|
||
|
|
||
|
func shortLog*(item: string): string =
|
||
|
if item.len <= ShortDumpMax:
|
||
|
result = item
|
||
|
else:
|
||
|
const
|
||
|
split = ShortDumpMax div 2
|
||
|
dumpLen = ShortDumpMax + 3
|
||
|
result = newStringOfCap(dumpLen)
|
||
|
result &= item[0..<split]
|
||
|
result &= "..."
|
||
|
result &= item[(item.len - split)..item.high]
|