mirror of
				https://github.com/KevinMidboe/linguist.git
				synced 2025-10-29 17:50:22 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Forth
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Forth
		
	
	
	
	
	
namespace Nessos.FsPickler.Combinators
 | 
						|
 | 
						|
    open Nessos.FsPickler
 | 
						|
    open Nessos.FsPickler.Json
 | 
						|
 | 
						|
    /// Json pickling methods
 | 
						|
    [<RequireQualifiedAccess>]
 | 
						|
    module Json =
 | 
						|
 | 
						|
        let private jsonSerializer = lazy(FsPickler.CreateJson(omitHeader = true))
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        ///     Pickles a value to Json.
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="pickler">utilized pickler.</param>
 | 
						|
        /// <param name="value">input value.</param>
 | 
						|
        let pickle (pickler : Pickler<'T>) (value : 'T) : string =
 | 
						|
            jsonSerializer.Value.PickleToString (pickler, value)
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        ///     Unpickles a value from Json.
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="pickler">utilized pickler.</param>
 | 
						|
        /// <param name="pickle">input pickle.</param>
 | 
						|
        let unpickle (pickler : Pickler<'T>) (pickle : string) : 'T =
 | 
						|
            jsonSerializer.Value.UnPickleOfString (pickler, pickle)
 | 
						|
 | 
						|
 | 
						|
    /// Bson pickling methods
 | 
						|
    [<RequireQualifiedAccess>]
 | 
						|
    module Bson =
 | 
						|
 | 
						|
        let private bsonPickler = lazy(FsPickler.CreateBson())
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        ///     Pickles a value to Bson.
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="pickler">utilized pickler.</param>
 | 
						|
        /// <param name="value">input value.</param>
 | 
						|
        let pickle (pickler : Pickler<'T>) (value : 'T) : byte [] =
 | 
						|
            bsonPickler.Value.Pickle (pickler, value)
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        ///     Unpickles a value from bson.
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="pickler">utilized pickler.</param>
 | 
						|
        /// <param name="pickle">input pickle.</param>
 | 
						|
        let unpickle (pickler : Pickler<'T>) (pickle : byte []) : 'T =
 | 
						|
            bsonPickler.Value.UnPickle (pickler, pickle) |