Skip to content
This repository was archived by the owner on Jun 10, 2021. It is now read-only.

Commit 7647641

Browse files
zhangchiqingSimonRichardson
authored andcommitted
upgrade for purescript 0.10 (#25)
* upgrade for purescript 0.10
1 parent 990360d commit 7647641

File tree

16 files changed

+210
-204
lines changed

16 files changed

+210
-204
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ main = unsafePartial $ void $ launchAff $ do
3030

3131
See the module documentation for a [full list of these helpers](docs/Database.Mongo.Mongo.md#find)
3232

33+
See the test cases for [more examples](test/Database/Mongo/)
34+
3335
### Module documentation
3436

3537
- [Database.Mongo.Mongo](docs/Database.Mongo.Mongo.md)

bower.json

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,14 @@
1313
"tests"
1414
],
1515
"dependencies": {
16-
"purescript-aff": "^1.0.0",
17-
"purescript-argonaut": "^1.0.0",
18-
"purescript-datetime": "^1.0.0",
19-
"purescript-foldable-traversable": "^1.0.0",
20-
"purescript-foreign": "^1.0.0",
21-
"purescript-string-parsers": "^1.0.1",
22-
"purescript-uri": "^1.0.0"
16+
"purescript-aff": "^2.0.2",
17+
"purescript-argonaut": "^2.0.0",
18+
"purescript-datetime": "^2.0.0",
19+
"purescript-foldable-traversable": "^2.0.0",
20+
"purescript-foreign": "^3.0.1",
21+
"purescript-string-parsers": "^2.0.0",
22+
"purescript-uri": "^2.0.0",
23+
"purescript-transformers": "^2.1.0"
2324
},
2425
"homepage": "https://github.com/dicefm/purescript-node-mongodb",
2526
"authors": [
@@ -34,5 +35,9 @@
3435
"mongodb",
3536
"mongo"
3637
],
37-
"license": "MIT"
38+
"license": "MIT",
39+
"devDependencies": {
40+
"purescript-debug": "^2.0.0",
41+
"purescript-assert": "^2.0.0"
42+
}
3843
}

examples/Examples/Data/Event.purs

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

examples/Examples/Database/Mongo/Find.purs

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

examples/Examples/Database/Mongo/Insert.purs

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

examples/Examples/Database/Mongo/Update.purs

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

src/Database/Mongo/Bson/BsonValue.purs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ module Database.Mongo.Bson.BsonValue
1010
) where
1111

1212
import Data.Argonaut.Core (Json())
13-
import Data.String.Regex
14-
import Data.Tuple
13+
import Data.String.Regex (Regex)
14+
import Data.Tuple (Tuple(..))
1515

1616
type Field = Tuple String BsonValue
1717

src/Database/Mongo/Mongo.purs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,23 +17,23 @@ module Database.Mongo.Mongo
1717
, updateMany, updateMany'
1818
) where
1919

20-
import Prelude
20+
import Prelude (class Show, Unit, show, ($), (<<<))
2121
import Control.Monad.Aff (Aff(), makeAff', Canceler(), nonCanceler)
2222
import Control.Monad.Eff (Eff())
2323
import Control.Monad.Eff.Exception (Error(), error)
2424

2525
import Data.Argonaut.Core (Json())
2626
import Data.Argonaut.Encode (class EncodeJson, encodeJson)
2727
import Data.Argonaut.Decode (class DecodeJson, decodeJson)
28-
import Data.Either
28+
import Data.Either (Either(..))
2929
import Data.Function.Uncurried (Fn3(), runFn3, Fn4(), runFn4, Fn5(), runFn5, Fn6(), runFn6, Fn7(), runFn7, Fn8(), runFn8)
3030

3131
import Database.Mongo.Options (InsertOptions(), insertOptions, UpdateOptions(), updateOptions)
3232
import Database.Mongo.Results (WriteResult())
3333
import Database.Mongo.Bson.BsonValue (Document(), printBson)
34-
import Data.URI
34+
import Data.URI (printURIRef, runParseURIRef)
3535

36-
import Text.Parsing.StringParser
36+
import Text.Parsing.StringParser (ParseError)
3737

3838
-- | The effect type for DB request made with Mongo
3939
foreign import data DB :: !

src/Database/Mongo/Options.purs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,12 @@ module Database.Mongo.Options
66
, defaultUpdateOptions, updateOptions
77
) where
88

9-
import Prelude
9+
import Prelude (pure, bind, ($))
1010
import Data.Argonaut ((~>), (:=), (.?), jsonEmptyObject)
1111
import Data.Argonaut.Core (Json())
1212
import Data.Argonaut.Encode (class EncodeJson, encodeJson)
1313
import Data.Argonaut.Decode (class DecodeJson, decodeJson)
14-
import Data.Either
15-
import Data.Maybe
14+
import Data.Maybe (Maybe(..))
1615

1716
-- | The type of WriteConcern
1817
type WriteConcern = Number

src/Database/Mongo/Results.purs

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ module Database.Mongo.Results
22
( WriteResult()
33
) where
44

5-
import Prelude
6-
import Data.Argonaut ((.?), jsonEmptyObject)
5+
import Prelude (pure, bind, ($))
6+
import Data.Argonaut ((.?), (:=), (~>), jsonEmptyObject)
77
import Data.Argonaut.Encode (class EncodeJson)
88
import Data.Argonaut.Decode (class DecodeJson, decodeJson)
9-
import Data.Either
10-
import Data.Maybe
9+
import Data.Either (Either(..))
10+
import Data.Maybe (Maybe(..), fromMaybe)
1111

1212
newtype WriteResult = WriteResult
1313
{ success :: Boolean
@@ -33,14 +33,23 @@ instance decodeJsonWriteResult :: DecodeJson WriteResult where
3333
}
3434

3535
instance encodeJsonWriteResult :: EncodeJson WriteResult where
36-
encodeJson (WriteResult w) = jsonEmptyObject
36+
encodeJson (WriteResult w)
37+
= "ok" := boolToJsNumber w.success
38+
~> "n" := w.total
39+
~> "nInserted" := fromMaybe 0.0 w.inserted
40+
~> "nModified" := fromMaybe 0.0 w.modified
41+
~> jsonEmptyObject
42+
43+
boolToJsNumber :: Boolean -> Int
44+
boolToJsNumber false = 0
45+
boolToJsNumber true = 1
3746

3847
-- node mongodb module sends back `1` to mean `true`, this is why we need types
3948
-- as Javascript is abused!
40-
jsNumberToBool :: Either String Int -> Boolean
49+
jsNumberToBool :: Int -> Boolean
4150
jsNumberToBool e = case e of
42-
Left _ -> false
43-
Right x -> if x == 1 then true else false
51+
1 -> true
52+
_ -> false
4453

4554
extract :: Either String Number -> Maybe Number
4655
extract e = case e of

0 commit comments

Comments
 (0)