namespace Nessos.FsPickler.Combinators open Nessos.FsPickler open Nessos.FsPickler.Json /// Json pickling methods [] module Json = let private jsonSerializer = lazy(FsPickler.CreateJson(omitHeader = true)) /// /// Pickles a value to Json. /// /// utilized pickler. /// input value. let pickle (pickler : Pickler<'T>) (value : 'T) : string = jsonSerializer.Value.PickleToString (pickler, value) /// /// Unpickles a value from Json. /// /// utilized pickler. /// input pickle. let unpickle (pickler : Pickler<'T>) (pickle : string) : 'T = jsonSerializer.Value.UnPickleOfString (pickler, pickle) /// Bson pickling methods [] module Bson = let private bsonPickler = lazy(FsPickler.CreateBson()) /// /// Pickles a value to Bson. /// /// utilized pickler. /// input value. let pickle (pickler : Pickler<'T>) (value : 'T) : byte [] = bsonPickler.Value.Pickle (pickler, value) /// /// Unpickles a value from bson. /// /// utilized pickler. /// input pickle. let unpickle (pickler : Pickler<'T>) (pickle : byte []) : 'T = bsonPickler.Value.UnPickle (pickler, pickle)