From 73abb5948cb1eef199dfddea0b8ba330eed982c7 Mon Sep 17 00:00:00 2001 From: Gabe Johnson Date: Thu, 24 Aug 2017 11:58:02 -0500 Subject: [PATCH 1/4] Copy resources from purescript-dom --- bower.json | 40 +++++++++++++ src/Web/Socket/BinaryType.purs | 48 ++++++++++++++++ src/Web/Socket/Event/CloseEvent.js | 13 +++++ src/Web/Socket/Event/CloseEvent.purs | 7 +++ src/Web/Socket/Event/EventTypes.purs | 15 +++++ src/Web/Socket/Event/MessageEvent.js | 13 +++++ src/Web/Socket/Event/MessageEvent.purs | 8 +++ src/Web/Socket/Event/Types.purs | 21 +++++++ src/Web/Socket/ReadyState.purs | 50 ++++++++++++++++ src/Web/Socket/Types.purs | 28 +++++++++ src/Web/Socket/WebSocket.js | 67 +++++++++++++++++++++ src/Web/Socket/WebSocket.purs | 80 ++++++++++++++++++++++++++ 12 files changed, 390 insertions(+) create mode 100644 bower.json create mode 100644 src/Web/Socket/BinaryType.purs create mode 100644 src/Web/Socket/Event/CloseEvent.js create mode 100644 src/Web/Socket/Event/CloseEvent.purs create mode 100644 src/Web/Socket/Event/EventTypes.purs create mode 100644 src/Web/Socket/Event/MessageEvent.js create mode 100644 src/Web/Socket/Event/MessageEvent.purs create mode 100644 src/Web/Socket/Event/Types.purs create mode 100644 src/Web/Socket/ReadyState.purs create mode 100644 src/Web/Socket/Types.purs create mode 100644 src/Web/Socket/WebSocket.js create mode 100644 src/Web/Socket/WebSocket.purs diff --git a/bower.json b/bower.json new file mode 100644 index 0000000..04e69c7 --- /dev/null +++ b/bower.json @@ -0,0 +1,40 @@ +{ + "name": "purescript-dom", + "homepage": "https://github.com/purescript-web/purescript-dom", + "description": "PureScript type definitions and effect for interacting with the DOM", + "keywords": [ + "purescript" + ], + "license": "MIT", + "repository": { + "type": "git", + "url": "git://github.com/purescript-web/purescript-dom.git" + }, + "ignore": [ + "**/.*", + "bower_components", + "node_modules", + "output", + "bower.json", + "gulpfile.js", + "package.json" + ], + "dependencies": { + "purescript-arraybuffer-types": "^1.0.0", + "purescript-datetime": "^3.0.0", + "purescript-enums": "^3.0.0", + "purescript-exceptions": "^3.0.0", + "purescript-foldable-traversable": "^3.0.0", + "purescript-foreign": "^4.0.0", + "purescript-js-date": "^4.0.0", + "purescript-media-types": "^3.0.0", + "purescript-nullable": "^3.0.0", + "purescript-prelude": "^3.0.0", + "purescript-unsafe-coerce": "^3.0.0" + }, + "devDependencies": { + "purescript-test-unit": "^11.0.0", + "purescript-phantom": "^2.0.0", + "purescript-exitcodes": "^3.0.0" + } +} diff --git a/src/Web/Socket/BinaryType.purs b/src/Web/Socket/BinaryType.purs new file mode 100644 index 0000000..cd9ffbf --- /dev/null +++ b/src/Web/Socket/BinaryType.purs @@ -0,0 +1,48 @@ +module DOM.Websocket.BinaryType where + +import Prelude +import Data.Enum (Cardinality(..), class BoundedEnum, defaultPred, defaultSucc, class Enum) +import Data.Maybe (Maybe(..)) + +data BinaryType + = Blob + | ArrayBuffer + +derive instance eqBinaryType :: Eq BinaryType +derive instance ordBinaryType :: Ord BinaryType + +instance boundedBinaryType :: Bounded BinaryType where + bottom = Blob + top = ArrayBuffer + +instance enumBinaryType :: Enum BinaryType where + succ = defaultSucc toEnumBinaryType fromEnumBinaryType + pred = defaultPred toEnumBinaryType fromEnumBinaryType + +instance boundedEnumBinaryType :: BoundedEnum BinaryType where + cardinality = Cardinality 2 + toEnum = toEnumBinaryType + fromEnum = fromEnumBinaryType + +instance showBinaryType :: Show BinaryType where + show Blob = "Blob" + show ArrayBuffer = "ArrayBuffer" + +toEnumBinaryType :: Int -> Maybe BinaryType +toEnumBinaryType = + case _ of + 0 -> Just Blob + 1 -> Just ArrayBuffer + _ -> Nothing + +fromEnumBinaryType :: BinaryType -> Int +fromEnumBinaryType = + case _ of + Blob -> 0 + ArrayBuffer -> 1 + +printBinaryType :: BinaryType -> String +printBinaryType = + case _ of + Blob -> "blob" + ArrayBuffer -> "arraybuffer" diff --git a/src/Web/Socket/Event/CloseEvent.js b/src/Web/Socket/Event/CloseEvent.js new file mode 100644 index 0000000..88734db --- /dev/null +++ b/src/Web/Socket/Event/CloseEvent.js @@ -0,0 +1,13 @@ +"use strict"; + +exports.code = function (e) { + return e.code; +}; + +exports.reason = function (e) { + return e.reason; +}; + +exports.wasClean = function (e) { + return e.wasClean; +}; diff --git a/src/Web/Socket/Event/CloseEvent.purs b/src/Web/Socket/Event/CloseEvent.purs new file mode 100644 index 0000000..2d01773 --- /dev/null +++ b/src/Web/Socket/Event/CloseEvent.purs @@ -0,0 +1,7 @@ +module DOM.Websocket.Event.CloseEvent where + +import DOM.Websocket.Event.Types (CloseEvent) + +foreign import code :: CloseEvent -> Int +foreign import reason :: CloseEvent -> String +foreign import wasClean :: CloseEvent -> Boolean diff --git a/src/Web/Socket/Event/EventTypes.purs b/src/Web/Socket/Event/EventTypes.purs new file mode 100644 index 0000000..8993521 --- /dev/null +++ b/src/Web/Socket/Event/EventTypes.purs @@ -0,0 +1,15 @@ +module DOM.Websocket.Event.EventTypes where + +import DOM.Event.Types (EventType(..)) + +onOpen :: EventType +onOpen = EventType "open" + +onMessage :: EventType +onMessage = EventType "message" + +onError :: EventType +onError = EventType "error" + +onClose :: EventType +onClose = EventType "close" diff --git a/src/Web/Socket/Event/MessageEvent.js b/src/Web/Socket/Event/MessageEvent.js new file mode 100644 index 0000000..62472b6 --- /dev/null +++ b/src/Web/Socket/Event/MessageEvent.js @@ -0,0 +1,13 @@ +"use strict"; + +exports.data_ = function (e) { + return e.data; +}; + +exports.origin = function (e) { + return e.origin; +}; + +exports.lastEventId = function (e) { + return e.lastEventId; +}; diff --git a/src/Web/Socket/Event/MessageEvent.purs b/src/Web/Socket/Event/MessageEvent.purs new file mode 100644 index 0000000..79d37ae --- /dev/null +++ b/src/Web/Socket/Event/MessageEvent.purs @@ -0,0 +1,8 @@ +module DOM.Websocket.Event.MessageEvent where + +import Data.Foreign (Foreign) +import DOM.Websocket.Event.Types (MessageEvent) + +foreign import data_ :: MessageEvent -> Foreign +foreign import origin :: MessageEvent -> String +foreign import lastEventId :: MessageEvent -> String diff --git a/src/Web/Socket/Event/Types.purs b/src/Web/Socket/Event/Types.purs new file mode 100644 index 0000000..0a3f920 --- /dev/null +++ b/src/Web/Socket/Event/Types.purs @@ -0,0 +1,21 @@ +module DOM.Websocket.Event.Types where + +import Data.Foreign (Foreign, F, unsafeReadTagged) +import DOM.Event.Types (Event) +import Unsafe.Coerce as U + +foreign import data CloseEvent :: Type + +closeEventToEvent :: CloseEvent -> Event +closeEventToEvent = U.unsafeCoerce + +readCloseEvent :: Foreign -> F CloseEvent +readCloseEvent = unsafeReadTagged "CloseEvent" + +foreign import data MessageEvent :: Type + +messageEventToEvent :: MessageEvent -> Event +messageEventToEvent = U.unsafeCoerce + +readMessageEvent :: Foreign -> F MessageEvent +readMessageEvent = unsafeReadTagged "MessageEvent" diff --git a/src/Web/Socket/ReadyState.purs b/src/Web/Socket/ReadyState.purs new file mode 100644 index 0000000..0baffff --- /dev/null +++ b/src/Web/Socket/ReadyState.purs @@ -0,0 +1,50 @@ +module DOM.Websocket.ReadyState where + +import Prelude +import Data.Enum (Cardinality(..), class BoundedEnum, defaultPred, defaultSucc, class Enum) +import Data.Maybe (Maybe(..)) + +data ReadyState + = Connecting + | Open + | Closing + | Closed + +derive instance eqReadyState :: Eq ReadyState +derive instance ordReadyState :: Ord ReadyState + +instance boundedReadyState :: Bounded ReadyState where + bottom = Connecting + top = Closed + +instance enumReadyState :: Enum ReadyState where + succ = defaultSucc toEnumReadyState fromEnumReadyState + pred = defaultPred toEnumReadyState fromEnumReadyState + +instance boundedEnumReadyState :: BoundedEnum ReadyState where + cardinality = Cardinality 4 + toEnum = toEnumReadyState + fromEnum = fromEnumReadyState + +instance showReadyState :: Show ReadyState where + show Connecting = "Connecting" + show Open = "Open" + show Closing = "Closing" + show Closed = "Closed" + +toEnumReadyState :: Int -> Maybe ReadyState +toEnumReadyState = + case _ of + 0 -> Just Connecting + 1 -> Just Open + 2 -> Just Closing + 3 -> Just Closed + _ -> Nothing + +fromEnumReadyState :: ReadyState -> Int +fromEnumReadyState = + case _ of + Connecting -> 0 + Open -> 1 + Closing -> 2 + Closed -> 3 diff --git a/src/Web/Socket/Types.purs b/src/Web/Socket/Types.purs new file mode 100644 index 0000000..2e83f56 --- /dev/null +++ b/src/Web/Socket/Types.purs @@ -0,0 +1,28 @@ +module DOM.Websocket.Types + ( module DOM.Websocket.Types + , module DOM.HTML.History + ) where + +import Prelude + +import Data.Foreign (F, Foreign, unsafeReadTagged) +import Data.Newtype (class Newtype) + +import DOM.Event.Types (EventTarget) +import DOM.HTML.History (URL(..)) + +import Unsafe.Coerce (unsafeCoerce) + +foreign import data WebSocket :: Type + +readWebSocket :: Foreign -> F WebSocket +readWebSocket = unsafeReadTagged "WebSocket" + +socketToEventTarget :: WebSocket -> EventTarget +socketToEventTarget = unsafeCoerce + +newtype Protocol = Protocol String + +derive newtype instance eqProtocol :: Eq Protocol +derive newtype instance ordProtocol :: Ord Protocol +derive instance newtypeProtocol :: Newtype Protocol _ diff --git a/src/Web/Socket/WebSocket.js b/src/Web/Socket/WebSocket.js new file mode 100644 index 0000000..77405ab --- /dev/null +++ b/src/Web/Socket/WebSocket.js @@ -0,0 +1,67 @@ +"use strict"; + +exports.create = function (url) { + return function (protocols) { + return function () { + return new WebSocket(url, protocols); + }; + }; +}; + +exports.url = function (ws) { + return function () { + return ws.url; + }; +}; + +exports.readyStateImpl = function (ws) { + return function () { + return ws.readyState; + }; +}; + +exports.bufferedAmount = function (ws) { + return function () { + return ws.bufferedAmount; + }; +}; + +exports.extensions = function (ws) { + return function () { + return ws.extensions; + }; +}; + +exports.protocol = function (ws) { + return function () { + return ws.protocol; + }; +}; + +exports.close = function (ws) { + return function () { + return ws.close(); + }; +}; + +exports.getBinaryTypeImpl = function (ws) { + return function () { + return ws.binaryType; + }; +}; + +exports.setBinaryTypeImpl = function (ws) { + return function (bt) { + return function () { + ws.binaryType = bt; + }; + }; +}; + +exports.sendImpl = function (ws) { + return function (value) { + return function () { + ws.send(value); + }; + }; +}; diff --git a/src/Web/Socket/WebSocket.purs b/src/Web/Socket/WebSocket.purs new file mode 100644 index 0000000..0d4be98 --- /dev/null +++ b/src/Web/Socket/WebSocket.purs @@ -0,0 +1,80 @@ +module DOM.Websocket.WebSocket + ( create + , url + , readyState + , bufferedAmount + , extensions + , protocol + , close + , getBinaryType + , setBinaryType + , sendString + , sendBlob + , sendArrayBuffer + , sendArrayBufferView + , module DOM.Websocket.BinaryType + , module DOM.Websocket.Event.Types + , module DOM.Websocket.ReadyState + , module DOM.Websocket.Types + ) where + +import Prelude + +import Control.Monad.Eff (Eff) + +import Data.ArrayBuffer.Types (ArrayBuffer, ArrayView) +import Data.Foreign (Foreign, toForeign) +import Data.Maybe (fromJust) + +import DOM (DOM) +import DOM.File.Types (Blob) +import DOM.Websocket.BinaryType (BinaryType(..), fromEnumBinaryType, printBinaryType, toEnumBinaryType) +import DOM.Websocket.Event.Types (CloseEvent, MessageEvent, readCloseEvent, readMessageEvent) +import DOM.Websocket.ReadyState (ReadyState(..), fromEnumReadyState, toEnumReadyState) +import DOM.Websocket.Types (Protocol(..), URL(..), WebSocket, readWebSocket, socketToEventTarget) + +import Partial.Unsafe (unsafePartial) + +foreign import create :: forall eff. URL -> Array Protocol -> Eff (dom :: DOM | eff) WebSocket + +foreign import url :: forall eff. WebSocket -> Eff (dom :: DOM | eff) String + +foreign import readyStateImpl :: forall eff. WebSocket -> Eff (dom :: DOM | eff) Int + +readyState :: forall eff. WebSocket -> Eff (dom :: DOM | eff) ReadyState +readyState ws = do + rs <- readyStateImpl ws + pure $ unsafePartial $ fromJust $ toEnumReadyState rs + +foreign import bufferedAmount :: forall eff. WebSocket -> Eff (dom :: DOM | eff) Number + +foreign import extensions :: forall eff. WebSocket -> Eff (dom :: DOM | eff) String +foreign import protocol :: forall eff. WebSocket -> Eff (dom :: DOM | eff) String + +foreign import close :: forall eff. WebSocket -> Eff (dom :: DOM | eff) Unit + +foreign import getBinaryTypeImpl :: forall eff. WebSocket -> Eff (dom :: DOM | eff) String +foreign import setBinaryTypeImpl :: forall eff. WebSocket -> String -> Eff (dom :: DOM | eff) Unit + +getBinaryType :: forall eff. WebSocket -> Eff (dom :: DOM | eff) BinaryType +getBinaryType ws = unsafePartial do + getBinaryTypeImpl ws <#> case _ of + "blob" -> Blob + "arraybuffer" -> ArrayBuffer + +setBinaryType :: forall eff. WebSocket -> BinaryType -> Eff (dom :: DOM | eff) Unit +setBinaryType ws = setBinaryTypeImpl ws <<< printBinaryType + +foreign import sendImpl :: forall eff. WebSocket -> Foreign -> Eff (dom :: DOM | eff) Unit + +sendString :: forall eff. WebSocket -> String -> Eff (dom :: DOM | eff) Unit +sendString ws = sendImpl ws <<< toForeign + +sendBlob :: forall eff. WebSocket -> Blob -> Eff (dom :: DOM | eff) Unit +sendBlob ws = sendImpl ws <<< toForeign + +sendArrayBuffer :: forall eff. WebSocket -> ArrayBuffer -> Eff (dom :: DOM | eff) Unit +sendArrayBuffer ws = sendImpl ws <<< toForeign + +sendArrayBufferView :: forall t eff. WebSocket -> ArrayView t -> Eff (dom :: DOM | eff) Unit +sendArrayBufferView ws = sendImpl ws <<< toForeign From 01010425c2c84c9aab6b12c2c93d0701592680a5 Mon Sep 17 00:00:00 2001 From: Gabe Johnson Date: Thu, 24 Aug 2017 13:07:53 -0500 Subject: [PATCH 2/4] Rename packages --- bower.json | 3 ++- src/Web/Socket/BinaryType.purs | 2 +- src/Web/Socket/Event/CloseEvent.purs | 4 ++-- src/Web/Socket/Event/EventTypes.purs | 2 +- src/Web/Socket/Event/MessageEvent.purs | 4 ++-- src/Web/Socket/Event/Types.purs | 2 +- src/Web/Socket/ReadyState.purs | 2 +- src/Web/Socket/Types.purs | 4 ++-- src/Web/Socket/WebSocket.purs | 18 +++++++++--------- 9 files changed, 21 insertions(+), 20 deletions(-) diff --git a/bower.json b/bower.json index 04e69c7..187dcd8 100644 --- a/bower.json +++ b/bower.json @@ -19,7 +19,8 @@ "gulpfile.js", "package.json" ], - "dependencies": { + "dependencies": { + "purescript-dom": "git@github.com:gabejohnson/purescript-dom.git#remove-web-socket", "purescript-arraybuffer-types": "^1.0.0", "purescript-datetime": "^3.0.0", "purescript-enums": "^3.0.0", diff --git a/src/Web/Socket/BinaryType.purs b/src/Web/Socket/BinaryType.purs index cd9ffbf..b712b2c 100644 --- a/src/Web/Socket/BinaryType.purs +++ b/src/Web/Socket/BinaryType.purs @@ -1,4 +1,4 @@ -module DOM.Websocket.BinaryType where +module Web.Socket.BinaryType where import Prelude import Data.Enum (Cardinality(..), class BoundedEnum, defaultPred, defaultSucc, class Enum) diff --git a/src/Web/Socket/Event/CloseEvent.purs b/src/Web/Socket/Event/CloseEvent.purs index 2d01773..6f5595a 100644 --- a/src/Web/Socket/Event/CloseEvent.purs +++ b/src/Web/Socket/Event/CloseEvent.purs @@ -1,6 +1,6 @@ -module DOM.Websocket.Event.CloseEvent where +module Web.Socket.Event.CloseEvent where -import DOM.Websocket.Event.Types (CloseEvent) +import Web.Socket.Event.Types (CloseEvent) foreign import code :: CloseEvent -> Int foreign import reason :: CloseEvent -> String diff --git a/src/Web/Socket/Event/EventTypes.purs b/src/Web/Socket/Event/EventTypes.purs index 8993521..138d226 100644 --- a/src/Web/Socket/Event/EventTypes.purs +++ b/src/Web/Socket/Event/EventTypes.purs @@ -1,4 +1,4 @@ -module DOM.Websocket.Event.EventTypes where +module Web.Socket.Event.EventTypes where import DOM.Event.Types (EventType(..)) diff --git a/src/Web/Socket/Event/MessageEvent.purs b/src/Web/Socket/Event/MessageEvent.purs index 79d37ae..6d3cc2e 100644 --- a/src/Web/Socket/Event/MessageEvent.purs +++ b/src/Web/Socket/Event/MessageEvent.purs @@ -1,7 +1,7 @@ -module DOM.Websocket.Event.MessageEvent where +module Web.Socket.Event.MessageEvent where import Data.Foreign (Foreign) -import DOM.Websocket.Event.Types (MessageEvent) +import Web.Socket.Event.Types (MessageEvent) foreign import data_ :: MessageEvent -> Foreign foreign import origin :: MessageEvent -> String diff --git a/src/Web/Socket/Event/Types.purs b/src/Web/Socket/Event/Types.purs index 0a3f920..cf213c7 100644 --- a/src/Web/Socket/Event/Types.purs +++ b/src/Web/Socket/Event/Types.purs @@ -1,4 +1,4 @@ -module DOM.Websocket.Event.Types where +module Web.Socket.Event.Types where import Data.Foreign (Foreign, F, unsafeReadTagged) import DOM.Event.Types (Event) diff --git a/src/Web/Socket/ReadyState.purs b/src/Web/Socket/ReadyState.purs index 0baffff..0a23a48 100644 --- a/src/Web/Socket/ReadyState.purs +++ b/src/Web/Socket/ReadyState.purs @@ -1,4 +1,4 @@ -module DOM.Websocket.ReadyState where +module Web.Socket.ReadyState where import Prelude import Data.Enum (Cardinality(..), class BoundedEnum, defaultPred, defaultSucc, class Enum) diff --git a/src/Web/Socket/Types.purs b/src/Web/Socket/Types.purs index 2e83f56..a0907fd 100644 --- a/src/Web/Socket/Types.purs +++ b/src/Web/Socket/Types.purs @@ -1,5 +1,5 @@ -module DOM.Websocket.Types - ( module DOM.Websocket.Types +module Web.Socket.Types + ( module Web.Socket.Types , module DOM.HTML.History ) where diff --git a/src/Web/Socket/WebSocket.purs b/src/Web/Socket/WebSocket.purs index 0d4be98..5d1e635 100644 --- a/src/Web/Socket/WebSocket.purs +++ b/src/Web/Socket/WebSocket.purs @@ -1,4 +1,4 @@ -module DOM.Websocket.WebSocket +module Web.Socket ( create , url , readyState @@ -12,10 +12,10 @@ module DOM.Websocket.WebSocket , sendBlob , sendArrayBuffer , sendArrayBufferView - , module DOM.Websocket.BinaryType - , module DOM.Websocket.Event.Types - , module DOM.Websocket.ReadyState - , module DOM.Websocket.Types + , module Web.Socket.BinaryType + , module Web.Socket.Event.Types + , module Web.Socket.ReadyState + , module Web.Socket.Types ) where import Prelude @@ -28,10 +28,10 @@ import Data.Maybe (fromJust) import DOM (DOM) import DOM.File.Types (Blob) -import DOM.Websocket.BinaryType (BinaryType(..), fromEnumBinaryType, printBinaryType, toEnumBinaryType) -import DOM.Websocket.Event.Types (CloseEvent, MessageEvent, readCloseEvent, readMessageEvent) -import DOM.Websocket.ReadyState (ReadyState(..), fromEnumReadyState, toEnumReadyState) -import DOM.Websocket.Types (Protocol(..), URL(..), WebSocket, readWebSocket, socketToEventTarget) +import Web.Socket.BinaryType (BinaryType(..), fromEnumBinaryType, printBinaryType, toEnumBinaryType) +import Web.Socket.Event.Types (CloseEvent, MessageEvent, readCloseEvent, readMessageEvent) +import Web.Socket.ReadyState (ReadyState(..), fromEnumReadyState, toEnumReadyState) +import Web.Socket.Types (Protocol(..), URL(..), WebSocket, readWebSocket, socketToEventTarget) import Partial.Unsafe (unsafePartial) From b6d7e98837d1de6828b95a5221d4919105afb64e Mon Sep 17 00:00:00 2001 From: Gabe Johnson Date: Thu, 24 Aug 2017 13:32:36 -0500 Subject: [PATCH 3/4] Move main module up a level --- src/Web/{Socket/WebSocket.js => Socket.js} | 0 src/Web/{Socket/WebSocket.purs => Socket.purs} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename src/Web/{Socket/WebSocket.js => Socket.js} (100%) rename src/Web/{Socket/WebSocket.purs => Socket.purs} (100%) diff --git a/src/Web/Socket/WebSocket.js b/src/Web/Socket.js similarity index 100% rename from src/Web/Socket/WebSocket.js rename to src/Web/Socket.js diff --git a/src/Web/Socket/WebSocket.purs b/src/Web/Socket.purs similarity index 100% rename from src/Web/Socket/WebSocket.purs rename to src/Web/Socket.purs From be1caa8c2396c3370a9da76f412f1e0f38c9f484 Mon Sep 17 00:00:00 2001 From: Gabe Johnson Date: Thu, 24 Aug 2017 13:33:22 -0500 Subject: [PATCH 4/4] Update bower.json --- bower.json | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/bower.json b/bower.json index 187dcd8..192469d 100644 --- a/bower.json +++ b/bower.json @@ -1,14 +1,14 @@ { - "name": "purescript-dom", - "homepage": "https://github.com/purescript-web/purescript-dom", - "description": "PureScript type definitions and effect for interacting with the DOM", + "name": "purescript-web-socket", + "homepage": "https://github.com/purescript-web/purescript-web-socket", + "description": "PureScript type definitions and effect for interacting with the WebSockets API", "keywords": [ "purescript" ], "license": "MIT", "repository": { "type": "git", - "url": "git://github.com/purescript-web/purescript-dom.git" + "url": "git://github.com/purescript-web/purescript-web-socket.git" }, "ignore": [ "**/.*", @@ -16,26 +16,14 @@ "node_modules", "output", "bower.json", - "gulpfile.js", "package.json" ], "dependencies": { "purescript-dom": "git@github.com:gabejohnson/purescript-dom.git#remove-web-socket", "purescript-arraybuffer-types": "^1.0.0", - "purescript-datetime": "^3.0.0", "purescript-enums": "^3.0.0", - "purescript-exceptions": "^3.0.0", - "purescript-foldable-traversable": "^3.0.0", "purescript-foreign": "^4.0.0", - "purescript-js-date": "^4.0.0", - "purescript-media-types": "^3.0.0", - "purescript-nullable": "^3.0.0", "purescript-prelude": "^3.0.0", "purescript-unsafe-coerce": "^3.0.0" - }, - "devDependencies": { - "purescript-test-unit": "^11.0.0", - "purescript-phantom": "^2.0.0", - "purescript-exitcodes": "^3.0.0" } }