| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Data.Bson.Generic
Contents
Description
Examples
data Test0 = A | B | C deriving (Generic, Typeable, Show, Eq) instance ToBSON Test0 instance FromBSON Test0 (fromBSON $ toBSON A) :: Maybe Test0
data Test1 = Test1 String String deriving (Generic, Typeable, Show, Eq) instance ToBSON Test1 instance FromBSON Test1 (fromBSON $ toBSON $ Test1 "aa" "bb") :: Maybe Test1
data Test2 = Test2 { test20 :: String, test21 :: String } deriving (Generic, Typeable, Show, Eq)
instance ToBSON Test2
instance FromBSON Test2
(fromBSON $ toBSON $ Test2 "aa" "bb") :: Maybe Test2data Test3 = Test3 { test30 :: Test2, test31 :: String } deriving (Generic, Typeable, Show, Eq)
instance ToBSON Test3
instance FromBSON Test3
(fromBSON $ toBSON $ Test3 (Test2 "aa" "bb") "cc") :: Maybe Test3data Test4 = Test4 { test4Key :: ObjectKey, test4 :: String } deriving (Generic, Typeable, Show, Eq)
instance ToBSON Test4
instance FromBSON Test4
(fromBSON $ toBSON $ Test4 (ObjectKey . Just $ unsafePerformIO genObjectId) "something") :: Maybe Test4
(fromBSON $ toBSON $ Test4 (ObjectKey Nothing) "something") :: Maybe Test4data Comment = Comment { author :: String, comments :: [Comment] } deriving (Generic, Typeable, Show, Eq)
instance ToBSON Comment
instance FromBSON Comment
(fromBSON $ toBSON $ Comment "Joe1" [Comment "Joe2" [], Comment "Joe3" [Comment "Joe4" [], Comment "Joe5" []]]) :: Maybe CommentRepresentation
toBSON $ Test2 "aa" "bb" [ test20: "aa", test21: "bb" ]
toBSON $ Test3 (Test2 "aa" "bb") "cc" [ test30: [ test20: "aa", test21: "bb"], test31: "cc" ]
toBSON $ Test4 (ObjectKey . Just $ unsafePerformIO genObjectId) "something" [ _id: 4f226c27900faa06ab000001, test4: "something" ]
toBSON $ Test4 (ObjectKey Nothing) "something" [ test4: "something" ]
toBSON $ Comment "Joe1" [ Comment "Joe2" []
, Comment "Joe3" [ Comment "Joe4" []
, Comment "Joe5" []
]
]
[ author: "Joe1", comments: [ [ author: "Joe2", comments: []]
, [ author: "Joe3", comments: [ [ author: "Joe4", comments: []]
, [ author: "Joe5", comments: []]
]]
]]Documentation
Minimal complete definition
Nothing
class FromBSON a where Source #
Minimal complete definition
Nothing
Constructors
| ObjectKey | |
Fields | |