git.iko.soy/rowtype-yoga/purescript-arraybuffer-builder
on master help sign in
1 file changed+6−3
since splitsnapshots
unifiedsplit
README.md+6−3
README.md+6−3
@@ -54,17 +54,20 @@ it depends on
5454[`Web.Encoding.TextEncoder`](https://pursuit.purescript.org/packages/purescript-web-encoding/docs/Web.Encoding.TextEncoder).
5555
5656```purescript
57−import Data.ArrayBuffer.Builder (PutM, putArrayBuffer, execPut)
57+import Effect.Class (class MonadEffect, liftEffect)
58+import Data.UInt (fromInt)
59+import Data.ArrayBuffer.Types (ArrayBuffer(..))
60+import Data.ArrayBuffer.Builder (PutM, putArrayBuffer, execPut, putUint32be)
5861import Data.ArrayBuffer.Typed (buffer)
5962import Data.ArrayBuffer.ArrayBuffer (byteLength)
60−import Web.Encoding.TextEncoder (new, textEncoder)
63+import Web.Encoding.TextEncoder (new, TextEncoder, encode)
6164
6265putStringUtf8 :: forall m. MonadEffect m => String -> PutM m Unit
6366putStringUtf8 s = do
6467 textEncoder <- liftEffect new
6568 let stringbuf = buffer $ encode s textEncoder
6669 -- Put a 32-bit big-endian length for the utf8 string, in bytes.
67− putInt32be $ byteLength stringbuf
70+ putUint32be $ fromInt $ byteLength stringbuf
6871 putArrayBuffer stringbuf
6972
7073arraybuffer :: ArrayBuffer <- execPut $ putStringUtf8 "🦝"