denizzzka / dpq2
1
///
2
module dpq2.conv.jsonb;
3

4
@safe:
5

6
import vibe.data.json;
7
import dpq2.value;
8
import dpq2.oids: OidType;
9

10
package:
11

12
import std.string;
13
import std.conv: to;
14

15
///
16
Json jsonbValueToJson(in Value v)
17
{
18 0
    assert(v.oidType == OidType.Jsonb);
19

20 0
    if(v.data[0] != 1)
21 0
        throw new ValueConvException(
22
            ConvExceptionType.CORRUPTED_JSONB,
23
            "Unknown jsonb format byte: "~v._data[0].to!string,
24
            __FILE__, __LINE__
25
            );
26

27 0
    string s = (cast(const(char[])) v._data[1 .. $]).to!string;
28

29 0
    return parseJsonString(s);
30
}

Read our documentation on viewing source code .

Loading