@@ -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 "🦝"
@@ -121,7 +124,7 @@ of the `PutM` builder expression are stack-safe.
121124
122125This package is only for writing `ArrayBuffer`s, not reading them.
123126See
124−[__purescript-parsing-dataview__](https://pursuit.purescript.org/packages/purescript-parsing-dataview/)
127+[__parsing-dataview__](https://pursuit.purescript.org/packages/purescript-parsing-dataview/)
125128for a way to deserialize from `ArrayBuffer` back to Purescript data.
126129
127130## Alternative packages for serializing to an `ArrayBuffer`