Skip to content

Commit 0d5190a

Browse files
committed
Use purescript-arraybuffer-types
1 parent f625558 commit 0d5190a

File tree

9 files changed

+25
-60
lines changed

9 files changed

+25
-60
lines changed

bower.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,10 @@
88
"output"
99
],
1010
"dependencies": {
11-
"purescript-maybe": "*"
11+
"purescript-arraybuffer-types": "~0.1.0",
12+
"purescript-maybe": "~0.2.1"
1213
},
1314
"devDependencies": {
14-
"purescript-quickcheck": "*"
15+
"purescript-quickcheck": "~0.5.0"
1516
}
1617
}

src/Data/ArrayBuffer.purs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ module Data.ArrayBuffer where
33
import Data.Function
44
import Data.ArrayBuffer.Types
55

6-
foreign import data ArrayBuffer :: *
7-
86
foreign import create
97
"""
108
function create(s) {

src/Data/ArrayBuffer/Advancer.purs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
module Data.ArrayBuffer.Advancer where
22

3-
import Data.ArrayBuffer.DataView(DataView())
43
import Data.ArrayBuffer.Types
54
import Control.Monad.Eff
65

src/Data/ArrayBuffer/DataView.purs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
11
module Data.ArrayBuffer.DataView where
22

3-
import Data.ArrayBuffer(ArrayBuffer())
43
import Data.ArrayBuffer.Types
54
import Data.Function
65
import Data.Maybe
76
import Control.Monad.Eff
87

9-
foreign import data DataView :: *
10-
118
foreign import whole
129
"""
1310
function whole(b) {

src/Data/ArrayBuffer/Deserializer.purs

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -37,44 +37,44 @@ getFloat32 d = chkErr <$> (advance 4 d >>= DV.getFloat32 d.dv)
3737
getFloat64 :: Getter Float64
3838
getFloat64 d = chkErr <$> (advance 8 d >>= DV.getFloat64 d.dv)
3939

40-
getDataView :: Deserializer -> ByteLength -> DE DV.DataView
40+
getDataView :: Deserializer -> ByteLength -> DE DataView
4141
getDataView d n = do
4242
o <- advance n d
4343
return $ case DV.slice o n (DV.buffer d.dv) of
4444
(Just dv) -> Right dv
4545
otherwise -> Left "short read"
4646

47-
getTypedArray :: forall t. Deserializer -> Number -> (DV.DataView -> t) -> DE t
47+
getTypedArray :: forall t. Deserializer -> Number -> (DataView -> t) -> DE t
4848
getTypedArray d sz conv = do
4949
edv <- getDataView d sz
5050
return $ case edv of
5151
Right dv -> Right $ conv dv
5252
Left err -> Left err
5353

54-
getInt8Array :: ArrayGetter TA.Int8Array
54+
getInt8Array :: ArrayGetter Int8Array
5555
getInt8Array d n = getTypedArray d n TA.asInt8Array
56-
getInt16Array :: ArrayGetter TA.Int16Array
56+
getInt16Array :: ArrayGetter Int16Array
5757
getInt16Array d n = getTypedArray d (n * 2) TA.asInt16Array
58-
getInt32Array :: ArrayGetter TA.Int32Array
58+
getInt32Array :: ArrayGetter Int32Array
5959
getInt32Array d n = getTypedArray d (n * 4) TA.asInt32Array
60-
getUint8Array :: ArrayGetter TA.Uint8Array
60+
getUint8Array :: ArrayGetter Uint8Array
6161
getUint8Array d n = getTypedArray d n TA.asUint8Array
62-
getUint16Array :: ArrayGetter TA.Uint16Array
62+
getUint16Array :: ArrayGetter Uint16Array
6363
getUint16Array d n = getTypedArray d (n * 2) TA.asUint16Array
64-
getUint32Array :: ArrayGetter TA.Uint32Array
64+
getUint32Array :: ArrayGetter Uint32Array
6565
getUint32Array d n = getTypedArray d (n * 4) TA.asUint32Array
66-
getUint8ClampedArray :: ArrayGetter TA.Uint8ClampedArray
66+
getUint8ClampedArray :: ArrayGetter Uint8ClampedArray
6767
getUint8ClampedArray d n = getTypedArray d n TA.asUint8ClampedArray
68-
getFloat32Array :: ArrayGetter TA.Float32Array
68+
getFloat32Array :: ArrayGetter Float32Array
6969
getFloat32Array d n = getTypedArray d (n * 4) TA.asFloat32Array
70-
getFloat64Array :: ArrayGetter TA.Float64Array
70+
getFloat64Array :: ArrayGetter Float64Array
7171
getFloat64Array d n = getTypedArray d (n * 8) TA.asFloat64Array
7272

73-
deserializer :: AB.ArrayBuffer -> Eff (reader :: DV.Reader) Deserializer
73+
deserializer :: ArrayBuffer -> Eff (reader :: DV.Reader) Deserializer
7474
deserializer ab = return $ { dv : DV.whole ab, off : 0 }
7575

7676

77-
deserialized :: forall a. (Deserializer -> Eff (reader :: DV.Reader) (Either String a)) -> AB.ArrayBuffer -> Either String a
77+
deserialized :: forall a. (Deserializer -> Eff (reader :: DV.Reader) (Either String a)) -> ArrayBuffer -> Either String a
7878
deserialized f b = runRPure (do
7979
d <- deserializer b
8080
res <- f d

src/Data/ArrayBuffer/Serializer.purs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,18 +36,18 @@ putFloat32 = putter 4 DV.setFloat32
3636
putFloat64 :: Putter Float64
3737
putFloat64 = putter 8 DV.setFloat64
3838

39-
mapDataView :: ByteLength -> Serializer -> Eff (writer :: DV.Writer) (Maybe DV.DataView)
39+
mapDataView :: ByteLength -> Serializer -> Eff (writer :: DV.Writer) (Maybe DataView)
4040
mapDataView n s = do
4141
o <- advance n s
4242
return $ DV.slice o n (DV.buffer s.dv)
4343

4444
serializer :: ByteLength -> Eff (writer :: DV.Writer) Serializer
4545
serializer l = return $ { dv : DV.whole $ AB.create l, off : 0 }
4646

47-
close :: Serializer -> Eff (writer :: DV.Writer) AB.ArrayBuffer
47+
close :: Serializer -> Eff (writer :: DV.Writer) ArrayBuffer
4848
close s = return $ AB.slice 0 s.off (DV.buffer s.dv)
4949

50-
serialized :: ByteLength -> (Serializer -> Eff (writer :: DV.Writer) Serializer) -> AB.ArrayBuffer
50+
serialized :: ByteLength -> (Serializer -> Eff (writer :: DV.Writer) Serializer) -> ArrayBuffer
5151
serialized n f = runWPure (serializer n >>= f >>= close)
5252

5353
foreign import runWPure

src/Data/ArrayBuffer/Show.purs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,23 @@
11
module Data.ArrayBuffer.Show where
2-
2+
3+
import Data.ArrayBuffer.Types
34
import qualified Data.ArrayBuffer as AB
45
import qualified Data.ArrayBuffer.DataView as DV
56
import qualified Data.ArrayBuffer.Typed as T
67

7-
instance showArrayView :: Show (T.ArrayView a) where
8+
instance showArrayView :: Show (ArrayView a) where
89
show = showImpl
910

10-
instance showDataView :: Show DV.DataView where
11+
instance showDataView :: Show DataView where
1112
show = show <<< T.asInt8Array
1213

13-
instance showArrayBuffer :: Show AB.ArrayBuffer where
14+
instance showArrayBuffer :: Show ArrayBuffer where
1415
show = show <<< DV.whole
1516

1617
foreign import showImpl
1718
"""
1819
function showImpl(a) {
1920
return require('util').inspect(a);
2021
}
21-
""" :: forall a. T.ArrayView a -> String
22+
""" :: forall a. ArrayView a -> String
2223

src/Data/ArrayBuffer/Typed.purs

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,10 @@
22
module Data.ArrayBuffer.Typed where
33

44
import Data.ArrayBuffer
5-
import Data.ArrayBuffer.DataView(DataView())
65
import Data.Function
76
import Data.Maybe
87
import Data.ArrayBuffer.Types
98

10-
foreign import data ArrayView :: * -> *
11-
12-
type Int8Array = ArrayView Int8
13-
type Int16Array = ArrayView Int16
14-
type Int32Array = ArrayView Int32
15-
type Uint8Array = ArrayView Uint8
16-
type Uint16Array = ArrayView Uint16
17-
type Uint32Array = ArrayView Uint32
18-
type Uint8ClampedArray = ArrayView Uint8Clamped
19-
type Float32Array = ArrayView Float32
20-
type Float64Array = ArrayView Float64
21-
229
foreign import asInt8Array
2310
"""
2411
function asInt8Array(v) {

src/Data/ArrayBuffer/Types.purs

Lines changed: 0 additions & 18 deletions
This file was deleted.

0 commit comments

Comments
 (0)