|
1 | | -import jsony/objvar, std/strutils, std/tables, std/sets, std/unicode, std/json, std/options, std/parseutils, std/typetraits |
| 1 | +import jsony/objvar, std/json, std/options, std/parseutils, std/sets, |
| 2 | + std/strutils, std/tables, std/typetraits, std/unicode |
2 | 3 |
|
3 | 4 | type JsonError* = object of ValueError |
4 | 5 |
|
@@ -74,10 +75,19 @@ proc parseHook*(s: string, i: var int, v: var bool) = |
74 | 75 | else: |
75 | 76 | # Its faster to do char by char scan: |
76 | 77 | eatSpace(s, i) |
77 | | - if i + 3 < s.len and s[i+0] == 't' and s[i+1] == 'r' and s[i+2] == 'u' and s[i+3] == 'e': |
| 78 | + if i + 3 < s.len and |
| 79 | + s[i+0] == 't' and |
| 80 | + s[i+1] == 'r' and |
| 81 | + s[i+2] == 'u' and |
| 82 | + s[i+3] == 'e': |
78 | 83 | i += 4 |
79 | 84 | v = true |
80 | | - elif i + 4 < s.len and s[i+0] == 'f' and s[i+1] == 'a' and s[i+2] == 'l' and s[i+3] == 's' and s[i+4] == 'e': |
| 85 | + elif i + 4 < s.len and |
| 86 | + s[i+0] == 'f' and |
| 87 | + s[i+1] == 'a' and |
| 88 | + s[i+2] == 'l' and |
| 89 | + s[i+3] == 's' and |
| 90 | + s[i+4] == 'e': |
81 | 91 | i += 5 |
82 | 92 | v = false |
83 | 93 | else: |
@@ -235,7 +245,11 @@ proc parseStringFast(s: string, i: var int, v: var string) = |
235 | 245 | proc parseHook*(s: string, i: var int, v: var string) = |
236 | 246 | ## Parse string. |
237 | 247 | eatSpace(s, i) |
238 | | - if i + 3 < s.len and s[i+0] == 'n' and s[i+1] == 'u' and s[i+2] == 'l' and s[i+3] == 'l': |
| 248 | + if i + 3 < s.len and |
| 249 | + s[i+0] == 'n' and |
| 250 | + s[i+1] == 'u' and |
| 251 | + s[i+2] == 'l' and |
| 252 | + s[i+3] == 'l': |
239 | 253 | i += 4 |
240 | 254 | return |
241 | 255 | eatChar(s, i, '"') |
@@ -285,7 +299,11 @@ proc parseHook*[T: array](s: string, i: var int, v: var T) = |
285 | 299 |
|
286 | 300 | proc parseHook*[T: not object](s: string, i: var int, v: var ref T) = |
287 | 301 | eatSpace(s, i) |
288 | | - if i + 3 < s.len and s[i+0] == 'n' and s[i+1] == 'u' and s[i+2] == 'l' and s[i+3] == 'l': |
| 302 | + if i + 3 < s.len and |
| 303 | + s[i+0] == 'n' and |
| 304 | + s[i+1] == 'u' and |
| 305 | + s[i+2] == 'l' and |
| 306 | + s[i+3] == 'l': |
289 | 307 | i += 4 |
290 | 308 | return |
291 | 309 | new(v) |
@@ -407,7 +425,11 @@ proc parseHook*[T: enum](s: string, i: var int, v: var T) = |
407 | 425 | proc parseHook*[T: object|ref object](s: string, i: var int, v: var T) = |
408 | 426 | ## Parse an object or ref object. |
409 | 427 | eatSpace(s, i) |
410 | | - if i + 3 < s.len and s[i+0] == 'n' and s[i+1] == 'u' and s[i+2] == 'l' and s[i+3] == 'l': |
| 428 | + if i + 3 < s.len and |
| 429 | + s[i+0] == 'n' and |
| 430 | + s[i+1] == 'u' and |
| 431 | + s[i+2] == 'l' and |
| 432 | + s[i+3] == 'l': |
411 | 433 | i += 4 |
412 | 434 | return |
413 | 435 | eatChar(s, i, '{') |
@@ -449,7 +471,11 @@ proc parseHook*[T: object|ref object](s: string, i: var int, v: var T) = |
449 | 471 | proc parseHook*[T](s: string, i: var int, v: var Option[T]) = |
450 | 472 | ## Parse an Option. |
451 | 473 | eatSpace(s, i) |
452 | | - if i + 3 < s.len and s[i+0] == 'n' and s[i+1] == 'u' and s[i+2] == 'l' and s[i+3] == 'l': |
| 474 | + if i + 3 < s.len and |
| 475 | + s[i+0] == 'n' and |
| 476 | + s[i+1] == 'u' and |
| 477 | + s[i+2] == 'l' and |
| 478 | + s[i+3] == 'l': |
453 | 479 | i += 4 |
454 | 480 | return |
455 | 481 | var e: T |
@@ -576,7 +602,7 @@ proc dumpHook*(s: var string, v: string) |
576 | 602 | proc dumpHook*(s: var string, v: char) |
577 | 603 | proc dumpHook*(s: var string, v: tuple) |
578 | 604 | proc dumpHook*(s: var string, v: enum) |
579 | | -type t[T] = tuple[a:string, b:T] |
| 605 | +type t[T] = tuple[a: string, b: T] |
580 | 606 | proc dumpHook*[N, T](s: var string, v: array[N, t[T]]) |
581 | 607 | proc dumpHook*[N, T](s: var string, v: array[N, T]) |
582 | 608 | proc dumpHook*[T](s: var string, v: seq[T]) |
@@ -869,6 +895,5 @@ template toStaticJson*(v: untyped): static[string] = |
869 | 895 | # const s = v.toJsonDynamic() |
870 | 896 | # s |
871 | 897 |
|
872 | | - |
873 | 898 | when defined(release): |
874 | 899 | {.pop.} |
0 commit comments