Skip to content

Commit 459c1c8

Browse files
committed
Fix all the bad types (refs #5, #3)
1 parent 9d09e4d commit 459c1c8

File tree

3 files changed

+91
-64
lines changed

3 files changed

+91
-64
lines changed

docs/Node/Buffer.md

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,13 @@ An instance of Node's Buffer class.
3030
instance showBuffer :: Show Buffer
3131
```
3232

33-
#### `BufferWrite`
33+
#### `BUFFER`
3434

3535
``` purescript
36-
data BufferWrite :: !
36+
data BUFFER :: !
3737
```
3838

39-
Effect for buffer modification.
39+
Effect for buffer creation, reading, or writing.
4040

4141
#### `BufferValueType`
4242

@@ -68,23 +68,23 @@ instance showBufferValueType :: Show BufferValueType
6868
#### `create`
6969

7070
``` purescript
71-
create :: Int -> Buffer
71+
create :: forall e. Int -> Eff (buffer :: BUFFER | e) Buffer
7272
```
7373

7474
Creates a new buffer of the specified size.
7575

7676
#### `fromArray`
7777

7878
``` purescript
79-
fromArray :: Array Octet -> Buffer
79+
fromArray :: forall e. Array Octet -> Eff (buffer :: BUFFER | e) Buffer
8080
```
8181

8282
Creates a new buffer from an array of octets, sized to match the array.
8383

8484
#### `fromString`
8585

8686
``` purescript
87-
fromString :: String -> Encoding -> Buffer
87+
fromString :: forall e. String -> Encoding -> Eff (buffer :: BUFFER | e) Buffer
8888
```
8989

9090
Creates a new buffer from a string with the specified encoding, sized to
@@ -93,39 +93,39 @@ match the string.
9393
#### `read`
9494

9595
``` purescript
96-
read :: BufferValueType -> Offset -> Buffer -> Int
96+
read :: forall e. BufferValueType -> Offset -> Buffer -> Eff (buffer :: BUFFER | e) Int
9797
```
9898

9999
Reads a numeric value from a buffer at the specified offset.
100100

101101
#### `readString`
102102

103103
``` purescript
104-
readString :: Encoding -> Offset -> Offset -> Buffer -> String
104+
readString :: forall e. Encoding -> Offset -> Offset -> Buffer -> Eff (buffer :: BUFFER | e) String
105105
```
106106

107107
Reads a section of a buffer as a string with the specified encoding.
108108

109109
#### `toString`
110110

111111
``` purescript
112-
toString :: Encoding -> Buffer -> String
112+
toString :: forall e. Encoding -> Buffer -> Eff (buffer :: BUFFER | e) String
113113
```
114114

115115
Reads the buffer as a string with the specified encoding.
116116

117117
#### `write`
118118

119119
``` purescript
120-
write :: forall e. BufferValueType -> Int -> Offset -> Buffer -> Eff (buffer :: BufferWrite | e) Unit
120+
write :: forall e. BufferValueType -> Int -> Offset -> Buffer -> Eff (buffer :: BUFFER | e) Unit
121121
```
122122

123123
Writes a numeric value to a buffer at the specified offset.
124124

125125
#### `writeString`
126126

127127
``` purescript
128-
writeString :: forall e. Encoding -> Offset -> Int -> String -> Buffer -> Eff (buffer :: BufferWrite | e) Int
128+
writeString :: forall e. Encoding -> Offset -> Int -> String -> Buffer -> Eff (buffer :: BUFFER | e) Int
129129
```
130130

131131
Writes octets from a string to a buffer at the specified offset. Multi-byte
@@ -135,47 +135,47 @@ to write them fully. The number of bytes written is returned.
135135
#### `toArray`
136136

137137
``` purescript
138-
toArray :: Buffer -> Array Octet
138+
toArray :: forall e. Buffer -> Eff (buffer :: BUFFER | e) (Array Octet)
139139
```
140140

141141
Creates an array of octets from a buffer's contents.
142142

143143
#### `getAtOffset`
144144

145145
``` purescript
146-
getAtOffset :: Offset -> Buffer -> Maybe Octet
146+
getAtOffset :: forall e. Offset -> Buffer -> Eff (buffer :: BUFFER | e) (Maybe Octet)
147147
```
148148

149149
Reads an octet from a buffer at the specified offset.
150150

151151
#### `setAtOffset`
152152

153153
``` purescript
154-
setAtOffset :: forall e. Octet -> Offset -> Buffer -> Eff (buffer :: BufferWrite | e) Unit
154+
setAtOffset :: forall e. Octet -> Offset -> Buffer -> Eff (buffer :: BUFFER | e) Unit
155155
```
156156

157157
Writes an octet in the buffer at the specified offset.
158158

159159
#### `size`
160160

161161
``` purescript
162-
size :: Buffer -> Int
162+
size :: forall e. Buffer -> Eff (buffer :: BUFFER | e) Int
163163
```
164164

165165
Returns the size of a buffer.
166166

167167
#### `concat`
168168

169169
``` purescript
170-
concat :: Array Buffer -> Buffer
170+
concat :: forall e. Array Buffer -> Eff (buffer :: BUFFER | e) Buffer
171171
```
172172

173173
Concatenates a list of buffers.
174174

175175
#### `concat'`
176176

177177
``` purescript
178-
concat' :: Array Buffer -> Int -> Buffer
178+
concat' :: forall e. Array Buffer -> Int -> Eff (buffer :: BUFFER | e) Buffer
179179
```
180180

181181
Concatenates a list of buffers, combining them into a new buffer of the
@@ -184,16 +184,16 @@ specified length.
184184
#### `copy`
185185

186186
``` purescript
187-
copy :: Offset -> Offset -> Buffer -> Offset -> Buffer -> Buffer
187+
copy :: forall e. Offset -> Offset -> Buffer -> Offset -> Buffer -> Eff (buffer :: BUFFER | e) Int
188188
```
189189

190190
Copies a section of a source buffer into a target buffer at the specified
191-
offset.
191+
offset, and returns the number of octets copied.
192192

193193
#### `fill`
194194

195195
``` purescript
196-
fill :: forall e. Octet -> Offset -> Offset -> Buffer -> Eff (buffer :: BufferWrite | e) Unit
196+
fill :: forall e. Octet -> Offset -> Offset -> Buffer -> Eff (buffer :: BUFFER | e) Unit
197197
```
198198

199199
Fills a range in a buffer with the specified octet.

src/Node/Buffer.js

Lines changed: 43 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -8,23 +8,31 @@
88
exports.showImpl = require('util').inspect;
99

1010
exports.create = function (size) {
11-
return new Buffer(size);
11+
return function() {
12+
return new Buffer(size);
13+
};
1214
};
1315

1416
exports.fromArray = function (octets) {
15-
return new Buffer(octets);
17+
return function() {
18+
return new Buffer(octets);
19+
};
1620
};
1721

1822
exports.fromStringImpl = function (str) {
1923
return function (encoding) {
20-
return new Buffer(str, encoding);
24+
return function() {
25+
return new Buffer(str, encoding);
26+
};
2127
};
2228
};
2329

2430
exports.readImpl = function (ty) {
2531
return function (offset) {
2632
return function (buf) {
27-
return buf['read' + ty](offset);
33+
return function() {
34+
return buf['read' + ty](offset);
35+
};
2836
};
2937
};
3038
};
@@ -33,15 +41,19 @@ exports.readStringImpl = function (enc) {
3341
return function (start) {
3442
return function (end) {
3543
return function (buff) {
36-
return buff.toString(enc, start, end);
44+
return function() {
45+
return buff.toString(enc, start, end);
46+
};
3747
};
3848
};
3949
};
4050
};
4151

4252
exports.toStringImpl = function (enc) {
4353
return function (buff) {
44-
return buff.toString(enc);
54+
return function() {
55+
return buff.toString(enc);
56+
};
4557
};
4658
};
4759

@@ -73,16 +85,20 @@ exports.writeStringImpl = function (enc) {
7385
};
7486

7587
exports.toArray = function (buff) {
76-
return buff.toJSON();
88+
return function() {
89+
return buff.toJSON();
90+
};
7791
};
7892

7993
exports.getAtOffsetImpl = function (nothing) {
8094
return function (just) {
8195
return function (buff) {
8296
return function (offset) {
83-
var octet = buff[offset];
84-
return octet == null ? nothing
85-
: just(buff[i]);
97+
return function() {
98+
var octet = buff[offset];
99+
return octet == null ? nothing
100+
: just(buff[i]);
101+
};
86102
};
87103
};
88104
};
@@ -91,25 +107,33 @@ exports.getAtOffsetImpl = function (nothing) {
91107
exports.setAtOffset = function (value) {
92108
return function (offset) {
93109
return function (buff) {
94-
buff[offset] = value;
95-
return {};
110+
return function() {
111+
buff[offset] = value;
112+
return {};
113+
};
96114
};
97115
};
98116
};
99117

100118
exports.size = function (buff) {
101-
return buff.length;
119+
return function() {
120+
return buff.length;
121+
};
102122
};
103123

104124

105125

106126
exports.concat = function (buffs) {
107-
return Buffer.concat(buffs);
127+
return function() {
128+
return Buffer.concat(buffs);
129+
};
108130
};
109131

110-
exports.concat$prime = function (buffs) {
132+
exports["concat'"] = function (buffs) {
111133
return function (totalLength) {
112-
return Buffer.concat(buffs, totalLength);
134+
return function() {
135+
return Buffer.concat(buffs, totalLength);
136+
};
113137
};
114138
};
115139

@@ -118,7 +142,9 @@ exports.copy = function (srcStart) {
118142
return function (src) {
119143
return function (targStart) {
120144
return function (targ) {
121-
return src.copy(targ, targStart, srcStart, strcEnd);
145+
return function() {
146+
return src.copy(targ, targStart, srcStart, strcEnd);
147+
};
122148
};
123149
};
124150
};

0 commit comments

Comments
 (0)