Merge pull request #8 from throughnothing/ps-0.11

Update for PureScript 0.11
This commit is contained in:
rightfold 2017-05-04 15:03:10 +02:00 committed by GitHub
commit 20dfed3e64
3 changed files with 26 additions and 20 deletions

View File

@ -2,19 +2,19 @@
"name": "purescript-postgresql-client",
"license": "BSD-3-Clause",
"dependencies": {
"purescript-prelude": "^2.1.0",
"purescript-transformers": "^2.0.2",
"purescript-lists": "^3.2.1",
"purescript-foreign": "^3.0.1",
"purescript-tuples": "^3.0.0",
"purescript-aff": "^2.0.2",
"purescript-either": "^2.0.0",
"purescript-maybe": "^2.0.1",
"purescript-foldable-traversable": "^2.0.0",
"purescript-newtype": "^1.1.0",
"purescript-bytestrings": "^2.3.0",
"purescript-arrays": "^3.1.0",
"purescript-datetime": "^2.0.0"
"purescript-prelude": "^3.0.0",
"purescript-transformers": "^3.1.0",
"purescript-lists": "^4.0.1",
"purescript-foreign": "^4.0.0",
"purescript-tuples": "^4.0.0",
"purescript-aff": "^3.0.0",
"purescript-either": "^3.0.0",
"purescript-maybe": "^3.0.0",
"purescript-foldable-traversable": "^3.0.0",
"purescript-newtype": "^2.0.0",
"purescript-bytestrings": "^3.0.1",
"purescript-arrays": "^4.0.1",
"purescript-datetime": "^3.0.0"
},
"repository": {
"type": "git",

View File

@ -59,3 +59,5 @@ exports.instantToString = function(i) {
exports.unsafeIsBuffer = function(x) {
return x instanceof Buffer;
};
exports['null'] = null;

View File

@ -21,6 +21,7 @@ module Database.PostgreSQL
) where
import Control.Monad.Aff (Aff)
import Control.Monad.Eff (kind Effect)
import Control.Monad.Eff.Exception (error)
import Control.Monad.Error.Class (catchError, throwError)
import Control.Monad.Except (runExcept)
@ -30,7 +31,6 @@ import Data.ByteString (ByteString)
import Data.DateTime.Instant (Instant)
import Data.Either (Either(..))
import Data.Foreign (Foreign, isNull, readArray, readBoolean, readChar, readInt, readNumber, readString, toForeign, unsafeFromForeign)
import Data.Foreign.Null (writeNull)
import Data.List (List)
import Data.List as List
import Data.Maybe (Maybe(..))
@ -40,7 +40,7 @@ import Data.Tuple (fst, Tuple)
import Data.Tuple.Nested ((/\))
import Prelude
foreign import data POSTGRESQL :: !
foreign import data POSTGRESQL :: Effect
-- | PostgreSQL connection pool configuration.
type PoolConfiguration =
@ -53,11 +53,13 @@ type PoolConfiguration =
, idleTimeoutMillis :: Int
}
foreign import null :: Foreign
-- | PostgreSQL connection pool.
foreign import data Pool :: *
foreign import data Pool :: Type
-- | PostgreSQL connection.
foreign import data Connection :: *
foreign import data Connection :: Type
-- | PostgreSQL query with parameter (`$1`, `$2`, …) and return types.
newtype Query i o = Query String
@ -143,7 +145,7 @@ instance toSQLValueInstant :: ToSQLValue Instant where
toSQLValue = instantToString
instance toSQLValueMaybe :: (ToSQLValue a) => ToSQLValue (Maybe a) where
toSQLValue Nothing = writeNull
toSQLValue Nothing = null
toSQLValue (Just x) = toSQLValue x
instance fromSQLValueMaybe :: (FromSQLValue a) => FromSQLValue (Maybe a) where
@ -196,7 +198,8 @@ execute conn (Query sql) values =
-- | Execute a PostgreSQL query and return its results.
query
:: i o eff
. (ToSQLRow i, FromSQLRow o)
. ToSQLRow i
=> FromSQLRow o
=> Connection
-> Query i o
-> i
@ -209,7 +212,8 @@ query conn (Query sql) values =
scalar
:: i o eff
. (ToSQLRow i, FromSQLValue o)
. ToSQLRow i
=> FromSQLValue o
=> Connection
-> Query i (Tuple o Unit)
-> i