Skip to content

Commit e70dc86

Browse files
committed
✨ functions
1 parent 9fae40c commit e70dc86

File tree

4 files changed

+31
-5
lines changed

4 files changed

+31
-5
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "purescript-firebase",
3-
"version": "0.0.6",
3+
"version": "0.0.7",
44
"main": "index.js",
55
"repository": "https://github.com/codingedgar/purescript-firebase.git",
66
"author": "codingedgar <codingedgar@gmail.com>",

src/Firebase/Auth.purs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ module Firebase.Auth
2828

2929
import Prelude
3030

31-
import Control.Promise (Promise, toAffE)
31+
import Control.Promise (Promise, toAffE, toAff)
3232
import Data.Argonaut (class DecodeJson, class EncodeJson, Json, JsonDecodeError(..), encodeJson, decodeJson)
3333
import Data.Either (Either, note)
3434
import Data.Function.Uncurried (Fn1, Fn2, Fn3, runFn1, runFn2, runFn3)
@@ -187,12 +187,11 @@ signInWithEmailLink emailLink (Email email) =
187187

188188
foreign import data IdTokenResult :: Type
189189

190-
foreign import _getIdTokenResult :: Fn2 User Boolean (Effect (Promise IdTokenResult))
190+
foreign import _getIdTokenResult :: Fn2 User Boolean (Promise IdTokenResult)
191191

192192
getIdTokenResult :: Boolean -> User -> Aff IdTokenResult
193193
getIdTokenResult forceRefresh user =
194-
runFn2
194+
toAff $ runFn2
195195
_getIdTokenResult
196196
user
197197
forceRefresh
198-
# toAffE

src/Firebase/Functions.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
export {
2+
getFunctions as _getFunctions,
3+
httpsCallable as _httpsCallable
4+
} from 'firebase/functions';
5+

src/Firebase/Functions.purs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
module Firebase.Functions where
2+
3+
import Prelude
4+
5+
import Data.Argonaut (Json)
6+
import Control.Promise (Promise, toAff)
7+
import Data.Function.Uncurried (Fn2, runFn2)
8+
import Effect.Aff (Aff)
9+
import Firebase.App (FirebaseApp)
10+
11+
foreign import data Functions :: Type
12+
foreign import data HttpsCallable :: Type
13+
14+
foreign import _httpsCallable :: forall requestData. Fn2 Functions String (requestData -> Promise Json)
15+
16+
httpsCallable :: forall requestData. Functions -> String -> (requestData -> Aff Json)
17+
httpsCallable functions name = runFn2 _httpsCallable functions name >>> toAff
18+
19+
foreign import _getFunctions :: FirebaseApp -> Functions
20+
21+
getFunctions :: FirebaseApp -> Functions
22+
getFunctions = _getFunctions

0 commit comments

Comments
 (0)