generated from tpl/purs
Merge pull request #8 from throughnothing/ps-0.11
Update for PureScript 0.11
This commit is contained in:
commit
20dfed3e64
26
bower.json
26
bower.json
@ -2,19 +2,19 @@
|
|||||||
"name": "purescript-postgresql-client",
|
"name": "purescript-postgresql-client",
|
||||||
"license": "BSD-3-Clause",
|
"license": "BSD-3-Clause",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"purescript-prelude": "^2.1.0",
|
"purescript-prelude": "^3.0.0",
|
||||||
"purescript-transformers": "^2.0.2",
|
"purescript-transformers": "^3.1.0",
|
||||||
"purescript-lists": "^3.2.1",
|
"purescript-lists": "^4.0.1",
|
||||||
"purescript-foreign": "^3.0.1",
|
"purescript-foreign": "^4.0.0",
|
||||||
"purescript-tuples": "^3.0.0",
|
"purescript-tuples": "^4.0.0",
|
||||||
"purescript-aff": "^2.0.2",
|
"purescript-aff": "^3.0.0",
|
||||||
"purescript-either": "^2.0.0",
|
"purescript-either": "^3.0.0",
|
||||||
"purescript-maybe": "^2.0.1",
|
"purescript-maybe": "^3.0.0",
|
||||||
"purescript-foldable-traversable": "^2.0.0",
|
"purescript-foldable-traversable": "^3.0.0",
|
||||||
"purescript-newtype": "^1.1.0",
|
"purescript-newtype": "^2.0.0",
|
||||||
"purescript-bytestrings": "^2.3.0",
|
"purescript-bytestrings": "^3.0.1",
|
||||||
"purescript-arrays": "^3.1.0",
|
"purescript-arrays": "^4.0.1",
|
||||||
"purescript-datetime": "^2.0.0"
|
"purescript-datetime": "^3.0.0"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
@ -59,3 +59,5 @@ exports.instantToString = function(i) {
|
|||||||
exports.unsafeIsBuffer = function(x) {
|
exports.unsafeIsBuffer = function(x) {
|
||||||
return x instanceof Buffer;
|
return x instanceof Buffer;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
exports['null'] = null;
|
||||||
|
@ -21,6 +21,7 @@ module Database.PostgreSQL
|
|||||||
) where
|
) where
|
||||||
|
|
||||||
import Control.Monad.Aff (Aff)
|
import Control.Monad.Aff (Aff)
|
||||||
|
import Control.Monad.Eff (kind Effect)
|
||||||
import Control.Monad.Eff.Exception (error)
|
import Control.Monad.Eff.Exception (error)
|
||||||
import Control.Monad.Error.Class (catchError, throwError)
|
import Control.Monad.Error.Class (catchError, throwError)
|
||||||
import Control.Monad.Except (runExcept)
|
import Control.Monad.Except (runExcept)
|
||||||
@ -30,7 +31,6 @@ import Data.ByteString (ByteString)
|
|||||||
import Data.DateTime.Instant (Instant)
|
import Data.DateTime.Instant (Instant)
|
||||||
import Data.Either (Either(..))
|
import Data.Either (Either(..))
|
||||||
import Data.Foreign (Foreign, isNull, readArray, readBoolean, readChar, readInt, readNumber, readString, toForeign, unsafeFromForeign)
|
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 (List)
|
||||||
import Data.List as List
|
import Data.List as List
|
||||||
import Data.Maybe (Maybe(..))
|
import Data.Maybe (Maybe(..))
|
||||||
@ -40,7 +40,7 @@ import Data.Tuple (fst, Tuple)
|
|||||||
import Data.Tuple.Nested ((/\))
|
import Data.Tuple.Nested ((/\))
|
||||||
import Prelude
|
import Prelude
|
||||||
|
|
||||||
foreign import data POSTGRESQL :: !
|
foreign import data POSTGRESQL :: Effect
|
||||||
|
|
||||||
-- | PostgreSQL connection pool configuration.
|
-- | PostgreSQL connection pool configuration.
|
||||||
type PoolConfiguration =
|
type PoolConfiguration =
|
||||||
@ -53,11 +53,13 @@ type PoolConfiguration =
|
|||||||
, idleTimeoutMillis :: Int
|
, idleTimeoutMillis :: Int
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foreign import null :: Foreign
|
||||||
|
|
||||||
-- | PostgreSQL connection pool.
|
-- | PostgreSQL connection pool.
|
||||||
foreign import data Pool :: *
|
foreign import data Pool :: Type
|
||||||
|
|
||||||
-- | PostgreSQL connection.
|
-- | PostgreSQL connection.
|
||||||
foreign import data Connection :: *
|
foreign import data Connection :: Type
|
||||||
|
|
||||||
-- | PostgreSQL query with parameter (`$1`, `$2`, …) and return types.
|
-- | PostgreSQL query with parameter (`$1`, `$2`, …) and return types.
|
||||||
newtype Query i o = Query String
|
newtype Query i o = Query String
|
||||||
@ -143,7 +145,7 @@ instance toSQLValueInstant :: ToSQLValue Instant where
|
|||||||
toSQLValue = instantToString
|
toSQLValue = instantToString
|
||||||
|
|
||||||
instance toSQLValueMaybe :: (ToSQLValue a) => ToSQLValue (Maybe a) where
|
instance toSQLValueMaybe :: (ToSQLValue a) => ToSQLValue (Maybe a) where
|
||||||
toSQLValue Nothing = writeNull
|
toSQLValue Nothing = null
|
||||||
toSQLValue (Just x) = toSQLValue x
|
toSQLValue (Just x) = toSQLValue x
|
||||||
|
|
||||||
instance fromSQLValueMaybe :: (FromSQLValue a) => FromSQLValue (Maybe a) where
|
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.
|
-- | Execute a PostgreSQL query and return its results.
|
||||||
query
|
query
|
||||||
:: ∀ i o eff
|
:: ∀ i o eff
|
||||||
. (ToSQLRow i, FromSQLRow o)
|
. ToSQLRow i
|
||||||
|
=> FromSQLRow o
|
||||||
=> Connection
|
=> Connection
|
||||||
-> Query i o
|
-> Query i o
|
||||||
-> i
|
-> i
|
||||||
@ -209,7 +212,8 @@ query conn (Query sql) values =
|
|||||||
|
|
||||||
scalar
|
scalar
|
||||||
:: ∀ i o eff
|
:: ∀ i o eff
|
||||||
. (ToSQLRow i, FromSQLValue o)
|
. ToSQLRow i
|
||||||
|
=> FromSQLValue o
|
||||||
=> Connection
|
=> Connection
|
||||||
-> Query i (Tuple o Unit)
|
-> Query i (Tuple o Unit)
|
||||||
-> i
|
-> i
|
||||||
|
Loading…
Reference in New Issue
Block a user