|
@@ -7,8 +7,7 @@ import Browser.WebExt.Message (Message, mkMessage, unwrapMessage)
|
|
|
import Browser.WebExt.Port (Port, onDisconnectAddListener, onMessageAddListener)
|
|
import Browser.WebExt.Port (Port, onDisconnectAddListener, onMessageAddListener)
|
|
|
import Browser.WebExt.Port as Port
|
|
import Browser.WebExt.Port as Port
|
|
|
import Browser.WebExt.Runtime (Application, connectNative)
|
|
import Browser.WebExt.Runtime (Application, connectNative)
|
|
|
-import Data.Argonaut.Core (Json)
|
|
|
|
|
-import Data.Argonaut.Decode (class DecodeJson, decodeJson, printJsonDecodeError)
|
|
|
|
|
|
|
+import Data.Argonaut.Decode (class DecodeJson, printJsonDecodeError)
|
|
|
import Data.Argonaut.Decode.Generic (genericDecodeJson)
|
|
import Data.Argonaut.Decode.Generic (genericDecodeJson)
|
|
|
import Data.Argonaut.Encode (class EncodeJson)
|
|
import Data.Argonaut.Encode (class EncodeJson)
|
|
|
import Data.Argonaut.Encode.Generic (genericEncodeJson)
|
|
import Data.Argonaut.Encode.Generic (genericEncodeJson)
|
|
@@ -45,22 +44,13 @@ type NativePythonJobOffer = {
|
|
|
application_date :: Maybe String,
|
|
application_date :: Maybe String,
|
|
|
application_rejection_date :: Maybe String
|
|
application_rejection_date :: Maybe String
|
|
|
}
|
|
}
|
|
|
-type NativePythonMessage m = {tag :: String | m}
|
|
|
|
|
|
|
|
|
|
derive instance Generic NativeMessage _
|
|
derive instance Generic NativeMessage _
|
|
|
instance Show NativeMessage where show = genericShow
|
|
instance Show NativeMessage where show = genericShow
|
|
|
instance EncodeJson NativeMessage where encodeJson a = genericEncodeJson a
|
|
instance EncodeJson NativeMessage where encodeJson a = genericEncodeJson a
|
|
|
|
|
|
|
|
-foreign import toArrayOfObjects :: String -> Json -> Json
|
|
|
|
|
-
|
|
|
|
|
instance DecodeJson NativeMessage where
|
|
instance DecodeJson NativeMessage where
|
|
|
- decodeJson json = case decodeJson @(NativePythonMessage ()) json of
|
|
|
|
|
- Right {tag: "NativeMessageJobOfferList"} -> genericDecodeJson $ toArrayOfObjects "job_offers" json
|
|
|
|
|
- _ -> genericDecodeJson json
|
|
|
|
|
|
|
+ decodeJson json = genericDecodeJson json
|
|
|
|
|
|
|
|
connectToNativeApplication ∷ Application → Effect Port
|
|
connectToNativeApplication ∷ Application → Effect Port
|
|
|
connectToNativeApplication = connectNative
|
|
connectToNativeApplication = connectNative
|