mirror of
https://github.com/logos-storage/nim-serde.git
synced 2026-01-02 21:53:07 +00:00
39 lines
1.3 KiB
Nim
39 lines
1.3 KiB
Nim
# This file is a modified version of Emery Hemingway’s CBOR library for Nim,
|
||
# originally available at https://github.com/ehmry/cbor-nim and released under The Unlicense.
|
||
|
||
import ../utils/types
|
||
import ./types
|
||
import std/sets
|
||
|
||
proc newUnexpectedKindError*(
|
||
expectedType: type, expectedKinds: string, cbor: CborNode
|
||
): ref UnexpectedKindError =
|
||
newException(
|
||
UnexpectedKindError,
|
||
"deserialization to " & $expectedType & " failed: expected " & expectedKinds &
|
||
" but got " & $cbor.kind,
|
||
)
|
||
|
||
proc newUnexpectedKindError*(
|
||
expectedType: type, expectedKinds: set[CborEventKind], cbor: CborNode
|
||
): ref UnexpectedKindError =
|
||
newUnexpectedKindError(expectedType, $expectedKinds, cbor)
|
||
|
||
proc newUnexpectedKindError*(
|
||
expectedType: type, expectedKind: CborEventKind, cbor: CborNode
|
||
): ref UnexpectedKindError =
|
||
newUnexpectedKindError(expectedType, {expectedKind}, cbor)
|
||
|
||
proc newUnexpectedKindError*(
|
||
expectedType: type, expectedKinds: set[CborNodeKind], cbor: CborNode
|
||
): ref UnexpectedKindError =
|
||
newUnexpectedKindError(expectedType, $expectedKinds, cbor)
|
||
|
||
proc newUnexpectedKindError*(
|
||
expectedType: type, expectedKind: CborNodeKind, cbor: CborNode
|
||
): ref UnexpectedKindError =
|
||
newUnexpectedKindError(expectedType, {expectedKind}, cbor)
|
||
|
||
proc newCborError*(msg: string): ref CborParseError =
|
||
newException(CborParseError, msg)
|