śĪ}“vė?      !"#$%&'()*+,-./0123456789:;<=>None+; bBufferBuilder is the type of a monadic action that appends to an implicit, growable buffer. Use ' to extract the resulting buffer as a ?. Run a sequence of 0 actions and extract the resulting buffer as a ?.„Append a single byte to the output buffer. To append multiple bytes in sequence and avoid redundant bounds checks, consider using  ,  , or  .FAppends a character to the buffer, truncating it to the bottom 8 bits.  Appends a ? to the buffer. When appending constant, hardcoded strings, to avoid a CAF and the costs of its associated tag check and indirect jump, use   or   instead. Appends a lazy @@ to the buffer. This function operates by traversing the lazy @ chunks, appending each in turn. SAppends a zero-terminated MagicHash string literal. Use this function instead of  $ for string constants. For example: appendLiteral "true"#7If the length of the string literal is known, calling   is faster, as  I avoids a strlen operation which has nontrivial cost in some benchmarks. {Appends a MagicHash string literal with a known length. Use this when the string literal's length is known. For example: unsafeAppendLiteralN 4 "true"#ĢPer byte, this is the fastest append function. It amounts to a C function call with two constant arguments. The C function checks to see if it needs to grow the buffer and then it simply calls memcpy.WARNINGU: passing an incorrect length value is likely to cause an access violation or worse.Appends a UTF-8-encoded A to the buffer.Appends a UTF-8-encoded BE to the buffer. The best way to improve performance here is to use ? or C instead of B.>Appends a decimal integer, just like calling printf("%d", ...)=Appends a decimal double, just like calling printf("%f", ...)óAppend a percent-encoded ByteString. All characters except for alphanumerics, -, ., _, and ~ will be encoded. The string produced by URL encoding is guaranteed ASCII-7 and thus valid UTF-8. Moreover, it is not required to be JSON-escaped.:DEFGHIJKLMNOPQRSTUVWXYZ[\]^_ `abc  5DEFGHIJKLMNOPQRSTUVWXYZ[\]^_ `abcNone;B Run a sequence of 3 actions and extracting the resulting buffer as a ?.Encodes the given C& in UTF-8, appending it to the buffer.Encodes the given B& in UTF-8, appending it to the buffer.Encodes a single A& in UTF-8, appending it to the buffer.2Appends the bottom 7 bits of a byte to the buffer. Appends the bottom 7 bits of a A to the buffer.!SAppends the given ByteString to the buffer, taking the bottom 7 bits of each byte."sAppends the zero-terminated byte string at the given address to the buffer, taking the bottom 7 bits of each byte.(pDirectly append a byte into the UTF-8 code stream. Incorrect use of this function can result in invalid UTF-8.)Directly append the bottom 8 bits of the given character to the UTF-8 code stream. Incorrect use of this function can result in invalid UTF-8.*˜Directly append the zero-terminated byte sequence pointed to by the given address. Be careful that the referenced byte sequence contains valid UTF-8.+ŒDirectly append the given byte sequence pointed to by the given address. Be careful that the referenced byte sequence contains valid UTF-8.WARNINGU: passing an incorrect length value is likely to cause an access violation or worse.,Directly append the given ?7 to the output buffer. Be careful that the referenced ? contains valid UTF-8.de !"#$%&'()*+, !"#$%&'()*+, !"#$&%'()*+,de !"#$%&'()*+,None234;B-Builds a JSON object.An -U builds one or more key-value pairs of a JSON object. They are constructed with the 7 operator and combined with f. To turn an - into a 3 , use its 1 class instance. ū data Friend = Friend { fId :: !Int , fName :: !Text } deriving (Eq, Show) instance ToJson Friend where toJson friend = toJson $ "id" .= fId friend <> "name" .= fName friend WARNING: - does not check uniqueness of object keys. If two keys with the same value are inserted, then the resulting JSON document will be illegal..›The class of types that can be converted to JSON strings. Any type that provides ToJsonString also provides ToJson, and thus can be used as JSON values.0Represents a JSON string.1?The class of types that can be converted to JSON values. See - for an example of writing a 1" instance for a custom data type.1[ instances are provided for many common types. For example, to create a JSON array, call 2 on a list or g!. To create a JSON object, call 2 on a h.3Represents a JSON value.3s are built up from either 1$ instances or from primitives like 5, 9, and i.UIn special cases, or when performance is of utmost importance, the unsafe functions > are available.lInternally, Value encodes an action or sequence of actions that append JSON-encoded text to the underlying .4Encode a value into a ?T containing valid UTF-8-encoded JSON. The argument value must have a corresponding 1 instance.WARNING,: There are three cases where the resulting ? may not contain legal JSON:3An unsafe function was used to encode a JSON value.MThe root value is not an object or array, as the JSON specification requires.MAn object has multiple keys with the same value. For maximum efficiency, -g does not check key names for uniqueness, so it's possible to construct objects with duplicate keys.5A 3 that produces the empty object.6ZCreate an ObjectBuilder from an arbitrary key and value. The key can be any type with a . instance.7 Create an - from a key and a value.8 Create an -M from a key and a value. The key is an ASCII-7, unescaped, zero-terminated j.WARNINGŅ: This function is unsafe. If the key is NOT zero-terminated, then an access violation might result. If the key is not a sequence of unescaped ASCII characters, the resulting JSON document will be illegal.äThis function is provided for maximum performance in the common case that object keys are ASCII-7. It achieves performance by avoiding the CAF for a Text literal and avoiding the need to transcode UTF-16 to UTF-8 and escape.YTo use this function, the calling source file must have the MagicHash extension enabled. ’’ data Friend = Friend { fId :: !Int , fName :: !Text } deriving (Eq, Show) instance ToJson Friend where toJson friend = toJson $ "id"# .=# fId friend <> "name"# .=# fName friend 9Serialize any kC as a JSON array. This is generally slower than directly calling 2 on a list or g, but it will convert any k type into an array.:Represents a JSON "null".;Unsafely convert a p into a JSON value. This function does not escape, quote, or decorate the string in any way. This function is unsafe; because you can trivially use it to generate illegal JSON.<Unsafely convert a q into a JSON string. This function does not escape, quote, or decorate the string in any way. This function is unsafe; because you can trivially use it to generate illegal JSON.+-lm./0no123pq45678r9s:;<=>tuvwxyz{|}~€‚ƒ„-./0123456789:;<=>31240./-57869:;<>=#-ml./0no123pq45678r9s:;<=>tuvwxyz{|}~€‚ƒ„678…      !"#$%&'()*+,-./012345%67897:9;<=>?@ABCDDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc>defghijk>lm;no>pqrs)t,uvwxyz{|}~€‚ƒ„…†‡ˆ‰buffer-builder-0.2.2.0Data.BufferBuilderData.BufferBuilder.Utf8Data.BufferBuilder.JsonOptionsinitialCapacitytrimFinalBuffer BufferBuilderrunBufferBuilderrunBufferBuilderWithOptions appendByte appendChar8appendBS appendLBS appendLiteralunsafeAppendLiteralN appendByte7 appendChar7 appendBS7appendLiteral7unsafeAppendLiteralN7appendCharUtf8appendStringUtf8appendDecimalSignedIntappendDecimalDoubleappendEscapedJsonappendEscapedJsonLiteralappendEscapedJsonTextappendUrlEncoded Utf8BuilderrunUtf8Builder appendText appendString appendCharunsafeAppendByteunsafeAppendChar8unsafeAppendLiteralunsafeAppendBS ObjectBuilder ToJsonString toJsonString JsonStringToJsontoJsonValue encodeJson emptyObjectrow.=.=#array nullValueunsafeValueUtf8BuilderunsafeStringUtf8BuilderunsafeAppendUtf8Builderbytestring-0.10.4.0Data.ByteString.Internal ByteStringData.ByteString.Lazy.Internalghc-prim GHC.TypesCharbaseGHC.BaseString text-1.2.0.4Data.Text.InternalTextBufferOutOfMemoryErrorBBHandleHandle'bw_append_url_encodedbw_append_json_escaped_utf16bw_append_json_escapedbw_append_decimal_doublebw_append_decimal_signed_intbw_append_bsz7 bw_append_bs7bw_append_byte7 bw_append_bsz bw_append_bsbw_append_char_utf8bw_append_bytebw_release_address bw_get_sizebw_trimbw_freebw_newc_strlenunBB withHandledefaultOptionsrunBufferBuilderIOc2w!$fExceptionBufferOutOfMemoryError$fMonadBufferBuilder$fApplicativeBufferBuilder$fFunctorBufferBuilder unBuilder Data.Monoid<>vector-0.10.12.2 Data.VectorVectorunordered-containers-0.2.5.1Data.HashMap.BaseHashMapGHC.ListnullGHC.PrimAddr# Data.FoldableFoldablePairNoPair unJsonString utf8Builder writePairvector$fToJsonStringText$fToJsonJsonString$fToJsonStringJsonString $fToJsonInt$fToJsonDouble $fToJsonText $fToJsonMaybe $fToJsonBool $fToJsonValue$fToJsonVector$fToJsonVector0$fToJsonVector1$fToJsonVector2 $fToJson[]$fToJsonHashMap$fToJsonObjectBuilder$fMonoidObjectBuilder