Skip to content

Commit 963eead

Browse files
committed
Add fromIntArray
1 parent 4e93d28 commit 963eead

File tree

3 files changed

+10
-2
lines changed

3 files changed

+10
-2
lines changed

src/Data/ArrayBuffer/ArrayBuffer.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@ exports.fromArray = function(s) {
2222
return (new Uint8Array(s)).buffer;
2323
}
2424

25+
exports.fromIntArray = function(s) {
26+
return (new Uint8Array(s)).buffer;
27+
}
28+
2529
exports.fromString = function(s) {
2630
var l = s.length;
2731
var ab = new ArrayBuffer(l * 2);

src/Data/ArrayBuffer/ArrayBuffer.purs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ module Data.ArrayBuffer.ArrayBuffer ( create
22
, byteLength
33
, slice
44
, fromArray
5+
, fromIntArray
56
, fromString
67
) where
78

@@ -24,6 +25,8 @@ slice = runFn3 sliceImpl
2425
-- | Convert an array into an `ArrayBuffer` representation.
2526
foreign import fromArray :: Array Number -> ArrayBuffer
2627

28+
-- | Convert an array into an `ArrayBuffer` representation.
29+
foreign import fromIntArray :: Array Int -> ArrayBuffer
30+
2731
-- | Convert a string into an `ArrayBuffer` representation.
2832
foreign import fromString :: String -> ArrayBuffer
29-

test/Main.purs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,14 +34,15 @@ main = do
3434
assertEquals (Just 2) $ DV.byteLength <$> DV.slice 0 2 ab4
3535
assertEquals (Just 2) $ DV.byteLength <$> DV.slice 2 2 ab4
3636
assertEquals 4 $ AB.byteLength $ AB.fromArray [1.0, 2.0, 3.0, 4.0]
37+
assertEquals 4 $ AB.byteLength $ AB.fromIntArray [1, 2, 3, 4]
3738
assertEquals 8 $ AB.byteLength $ AB.fromString "hola"
3839
assertEquals 8 $ AB.byteLength $ DV.buffer $ DV.whole ab8
3940
assertEquals 8 $ AB.byteLength $ DV.buffer $ TA.dataView $ TA.asInt8Array $ DV.whole ab8
4041

4142
assertEquals (Just 8) $ DV.byteLength <$> DV.slice 0 8 ab8
4243
assertEquals true $ isNothing $ DV.slice 0 40 ab8
4344

44-
fourElementInt8Array <- pure <<< TA.asInt8Array <<< DV.whole $ AB.fromArray [1.0, 2.0, 3.0, 4.0]
45+
fourElementInt8Array <- pure <<< TA.asInt8Array <<< DV.whole $ AB.fromIntArray [1, 2, 3, 4]
4546
assertEffEquals (Just 2.0) $ TA.at fourElementInt8Array 1
4647
assertEffEquals Nothing $ TA.at fourElementInt8Array 4
4748
assertEffEquals Nothing $ TA.at fourElementInt8Array (-1)

0 commit comments

Comments
 (0)