Serialization

The following program example demonstrates how contexts can be serialized to a file upon program startup.

Set Up File

This code example requires built-in file loading functionality from the FileIO namespace and built-in serialization functionality from the Serialization namespace. As such, the file housing all subsequent code is defined as using those namespaces through a meta declaration.

Serialization Example: meta
    using FileIO,
    using Serialization.

Constructs Provided through the Usings

File To Write

This is an alias for a string, essentially enabling a string to be identified differently to initiate a different set of operations than it might have otherwise.

File Text

This is a context representing the text read from or written to a file.

Formatted Serialized Text

This is a context wrapping a dictionary of strings mapped to their own Formatted Serialized Texts. This data structure provides an infinitely nestable format for serialized data.

Example Code

`Declare the relevant contexts.`

Serialized Context: context Formatted Serialized Text.
Serialized Contexts: context Formatted Serialized Text.
Serializable: contract.

App State: context
    {
        Should Save: bool [false];
    }.
Context A [Serializable]: context
    {
        ValueA: int [-1];
        ValueB: string ["Test"];
    }.
Context B [Serializable]: context
    {
        ValueA: int [0];
        ValueB: bool [false];
    }.

Last updated