Skip to content

Commit 15adf15

Browse files
Fix encoding (#9)
Co-authored-by: Thomas Honeyman <admin@thomashoneyman.com>
1 parent d35c583 commit 15adf15

File tree

2 files changed

+8
-7
lines changed

2 files changed

+8
-7
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ Breaking changes:
99
New features:
1010

1111
Bugfixes:
12+
- Fixed the encoding used throughout the project to use the string expected by Node instead of the PureScript representation (#9 by @i-am-the-slime).
1213

1314
Other improvements:
1415

src/Node/Net/Socket.purs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ import Effect.Exception (Error)
6868
import Effect.Uncurried (EffectFn1, EffectFn2, EffectFn3, EffectFn4, mkEffectFn1, mkEffectFn4, runEffectFn1, runEffectFn2, runEffectFn3, runEffectFn4)
6969
import Foreign (Foreign)
7070
import Node.Buffer (Buffer)
71-
import Node.Encoding (Encoding)
71+
import Node.Encoding (Encoding, encodingToNode)
7272
import Node.FS (FileDescriptor)
7373

7474
-- | Options to configure the connecting side of a `Socket`.
@@ -230,14 +230,14 @@ foreign import endImpl :: EffectFn3 Socket Buffer (Effect Unit) Unit
230230
end :: Socket -> Buffer -> Effect Unit -> Effect Unit
231231
end socket buffer callback = runEffectFn3 endImpl socket buffer callback
232232

233-
foreign import endStringImpl :: EffectFn4 Socket String Encoding (Effect Unit) Unit
233+
foreign import endStringImpl :: EffectFn4 Socket String String (Effect Unit) Unit
234234

235235
-- | Send a `FIN` packet to half-close the `Socket`.
236236
-- | The server might still send more data.
237237
-- | Invokes the callback after the `Socket` is finished.
238238
endString :: Socket -> String -> Encoding -> Effect Unit -> Effect Unit
239239
endString socket str encoding callback =
240-
runEffectFn4 endStringImpl socket str encoding callback
240+
runEffectFn4 endStringImpl socket str (encodingToNode encoding) callback
241241

242242
foreign import localAddressImpl :: EffectFn1 Socket (Nullable String)
243243

@@ -382,11 +382,11 @@ foreign import resumeImpl :: EffectFn1 Socket Unit
382382
resume :: Socket -> Effect Unit
383383
resume socket = runEffectFn1 resumeImpl socket
384384

385-
foreign import setEncodingImpl :: EffectFn2 Socket Encoding Unit
385+
foreign import setEncodingImpl :: EffectFn2 Socket String Unit
386386

387387
-- | Sets the `Encoding` for the data read on the `Socket`.
388388
setEncoding :: Socket -> Encoding -> Effect Unit
389-
setEncoding socket encoding = runEffectFn2 setEncodingImpl socket encoding
389+
setEncoding socket encoding = runEffectFn2 setEncodingImpl socket (encodingToNode encoding)
390390

391391
foreign import setKeepAliveImpl :: EffectFn3 Socket Boolean Int Unit
392392

@@ -469,7 +469,7 @@ foreign import writeImpl :: EffectFn3 Socket Buffer (Effect Unit) Boolean
469469
write :: Socket -> Buffer -> Effect Unit -> Effect Boolean
470470
write socket buffer callback = runEffectFn3 writeImpl socket buffer callback
471471

472-
foreign import writeStringImpl :: EffectFn4 Socket String Encoding (Effect Unit) Boolean
472+
foreign import writeStringImpl :: EffectFn4 Socket String String (Effect Unit) Boolean
473473

474474
-- | Sends data on the `Socket` and invokes the callback after the data is
475475
-- | finally written.
@@ -478,4 +478,4 @@ foreign import writeStringImpl :: EffectFn4 Socket String Encoding (Effect Unit)
478478
-- | Emits a `'drain'` event after the buffer is free.
479479
writeString :: Socket -> String -> Encoding -> Effect Unit -> Effect Boolean
480480
writeString socket str encoding callback =
481-
runEffectFn4 writeStringImpl socket str encoding callback
481+
runEffectFn4 writeStringImpl socket str (encodingToNode encoding) callback

0 commit comments

Comments
 (0)