# Table of Contents - [S2](#s2) - [include - S2](#include-s2) - [Algorithms - S2](#algorithms-s2) - [CeDe - S2](#cede-s2) - [cede.compress - S2](#cede-compress-s2) - [cede.decompress - S2](#cede-decompress-s2) - [Codec - S2](#codec-s2) - [Crypt - S2](#crypt-s2) - [Drawing - S2](#drawing-s2) - [Env - S2](#env-s2) - [env.rbx - S2](#env-rbx-s2) - [env.this - S2](#env-this-s2) - [FS - S2](#fs-s2) - [Net - S2](#net-s2) - [RBX - S2](#rbx-s2) - [SerDe - S2](#serde-s2) - [serde.deserialize - S2](#serde-deserialize-s2) - [Formats - S2](#formats-s2) - [serde.serialize - S2](#serde-serialize-s2) --- # S2 [Skip to content](https://proton-utilities.github.io/Standard2/#about) [](https://github.com/Proton-Utilities/Standard2/edit/main/docs/README.md "Edit this page") [](https://github.com/Proton-Utilities/Standard2/raw/main/docs/README.md "View source of this page") About ===== S2 (Standard2) is a naming initiative to make custom environments feel more intuitive. The current environment of executors are very inefficient: * **Automatically added environment standards** - Currently, every available exploit automatically adds functions and libraries to the environment, this behavior is unintuitive, and can lead to unintentional naming conflicts. * **Various aliases** - Due to the amount of exploits to have come out over several years, variations in naming schemes occur, which creates even more environment clutter, and creates confusion among developers. eg. `crypt.base64encode`, `base64encode`, `base64_encode`, `crypt.base64.encode` * **Incorrect namespacing** - For example, base64 compress/decompress dosen't belong in the crypt library, yet in almost every executor it is. This is just one instance of incompetency which has added up over the years. Back to top --- # include - S2 [Skip to content](https://proton-utilities.github.io/Standard2/Libraries/#include) [](https://github.com/Proton-Utilities/Standard2/edit/main/docs/Libraries/README.md "Edit this page") [](https://github.com/Proton-Utilities/Standard2/raw/main/docs/Libraries/README.md "View source of this page") include ======= `include` is the base function to fetch all libraries. Usage ----- `[](https://proton-utilities.github.io/Standard2/Libraries/#__codelineno-0-1) function include( [](https://proton-utilities.github.io/Standard2/Libraries/#__codelineno-0-2) library: string, [](https://proton-utilities.github.io/Standard2/Libraries/#__codelineno-0-3) ): Record` Example ------- `[](https://proton-utilities.github.io/Standard2/Libraries/#__codelineno-1-1) local CeDe = include("cede") [](https://proton-utilities.github.io/Standard2/Libraries/#__codelineno-1-2) CeDe.compress("lz4", "Hello, World!")` Back to top --- # Algorithms - S2 [Skip to content](https://proton-utilities.github.io/Standard2/Libraries/CeDe/Algorithms/#algorithms) [](https://github.com/Proton-Utilities/Standard2/edit/main/docs/Libraries/CeDe/Algorithms.md "Edit this page") [](https://github.com/Proton-Utilities/Standard2/raw/main/docs/Libraries/CeDe/Algorithms.md "View source of this page") Algorithms ========== The **CeDe** library supports multiple compression algorithms, each with their own use cases and trade-offs. | Algorithm | Compression Ratio | Compression Speed | Decompression Speed | | --- | --- | --- | --- | | **[`lz4`](https://github.com/lz4/lz4)
** | Low | Fastest | Fastest | | **[`zstd`](https://github.com/facebook/zstd)
** | Highest | Fast | Fast | | **[`deflate`](https://www.pkware.com/)
** | High | Fast | Medium | Use cases --------- * lz4 – Very fast, use if you prefer speed over size * zstd – Best compression, less supported * deflate – Most compatible Back to top --- # CeDe - S2 [Skip to content](https://proton-utilities.github.io/Standard2/Libraries/CeDe/#cede) [](https://github.com/Proton-Utilities/Standard2/edit/main/docs/Libraries/CeDe/README.md "Edit this page") [](https://github.com/Proton-Utilities/Standard2/raw/main/docs/Libraries/CeDe/README.md "View source of this page") CeDe ==== **CeDe** stands for **Compression and Decompression**. It refers to the process of: * **Compression**: Compressing data into it's smallest form * **Decompression**: Reverting compressed data into a form that retains the same output Warning CeDe is **not** responsible for: * **Serialization** _(e.g., json, toml)_ * Use the [serde](https://proton-utilities.github.io/Standard2/Libraries/SerDe/) library * **Encoding** _(e.g., base64, hex)_ * Use the [codec](https://proton-utilities.github.io/Standard2/Libraries/Codec/) library * **Cryptography** _(e.g., hashing, encryption)_ * Use the [crypto](https://proton-utilities.github.io/Standard2/Libraries/Crypt/) library Purpose ------- CeDe helps in the process of data minification, it helps when sending or writing large amounts of data. Use Cases --------- * Transferring large amounts of data between the network boundary * Saving large amounts of data to the disk * Improving query preformance Back to top --- # cede.compress - S2 [Skip to content](https://proton-utilities.github.io/Standard2/Libraries/CeDe/compress/#cedecompress) [](https://github.com/Proton-Utilities/Standard2/edit/main/docs/Libraries/CeDe/compress.md "Edit this page") [](https://github.com/Proton-Utilities/Standard2/raw/main/docs/Libraries/CeDe/compress.md "View source of this page") cede.compress ============= Compresses data using a compression algorithm. Usage ----- `[](https://proton-utilities.github.io/Standard2/Libraries/CeDe/compress/#__codelineno-0-1) declare function compress( [](https://proton-utilities.github.io/Standard2/Libraries/CeDe/compress/#__codelineno-0-2) algorithm: string, [](https://proton-utilities.github.io/Standard2/Libraries/CeDe/compress/#__codelineno-0-3) plainData: string [](https://proton-utilities.github.io/Standard2/Libraries/CeDe/compress/#__codelineno-0-4) ): string` Example ------- ### lz4 `[](https://proton-utilities.github.io/Standard2/Libraries/CeDe/compress/#__codelineno-1-1) local cede = include("cede") [](https://proton-utilities.github.io/Standard2/Libraries/CeDe/compress/#__codelineno-1-2) local codec = include("codec") [](https://proton-utilities.github.io/Standard2/Libraries/CeDe/compress/#__codelineno-1-3)[](https://proton-utilities.github.io/Standard2/Libraries/CeDe/compress/#__codelineno-1-4) local compressed = cede.compress("lz4", "Hello, World!") [](https://proton-utilities.github.io/Standard2/Libraries/CeDe/compress/#__codelineno-1-5)[](https://proton-utilities.github.io/Standard2/Libraries/CeDe/compress/#__codelineno-1-6) print(codec.encode( [](https://proton-utilities.github.io/Standard2/Libraries/CeDe/compress/#__codelineno-1-7) "base64", [](https://proton-utilities.github.io/Standard2/Libraries/CeDe/compress/#__codelineno-1-8) compressed [](https://proton-utilities.github.io/Standard2/Libraries/CeDe/compress/#__codelineno-1-9) )) -- BCJNGEBw3w0AAIBIZWxsbywgV29ybGQhAAAAAA` ### zstd `[](https://proton-utilities.github.io/Standard2/Libraries/CeDe/compress/#__codelineno-2-1) local cede = include("cede") [](https://proton-utilities.github.io/Standard2/Libraries/CeDe/compress/#__codelineno-2-2) local codec = include("codec") [](https://proton-utilities.github.io/Standard2/Libraries/CeDe/compress/#__codelineno-2-3)[](https://proton-utilities.github.io/Standard2/Libraries/CeDe/compress/#__codelineno-2-4) local compressed = cede.compress("zstd", "Hello, World!") [](https://proton-utilities.github.io/Standard2/Libraries/CeDe/compress/#__codelineno-2-5)[](https://proton-utilities.github.io/Standard2/Libraries/CeDe/compress/#__codelineno-2-6) print(codec.encode( [](https://proton-utilities.github.io/Standard2/Libraries/CeDe/compress/#__codelineno-2-7) "base64", [](https://proton-utilities.github.io/Standard2/Libraries/CeDe/compress/#__codelineno-2-8) compressed [](https://proton-utilities.github.io/Standard2/Libraries/CeDe/compress/#__codelineno-2-9) )) -- 80jNycnXUQjPL8pJUQQA==` ### deflate `[](https://proton-utilities.github.io/Standard2/Libraries/CeDe/compress/#__codelineno-3-1) local cede = include("cede") [](https://proton-utilities.github.io/Standard2/Libraries/CeDe/compress/#__codelineno-3-2) local codec = include("codec") [](https://proton-utilities.github.io/Standard2/Libraries/CeDe/compress/#__codelineno-3-3)[](https://proton-utilities.github.io/Standard2/Libraries/CeDe/compress/#__codelineno-3-4) local compressed = cede.compress("deflate", "Hello, World!") [](https://proton-utilities.github.io/Standard2/Libraries/CeDe/compress/#__codelineno-3-5)[](https://proton-utilities.github.io/Standard2/Libraries/CeDe/compress/#__codelineno-3-6) print(codec.encode( [](https://proton-utilities.github.io/Standard2/Libraries/CeDe/compress/#__codelineno-3-7) "base64", [](https://proton-utilities.github.io/Standard2/Libraries/CeDe/compress/#__codelineno-3-8) compressed [](https://proton-utilities.github.io/Standard2/Libraries/CeDe/compress/#__codelineno-3-9) )) -- 80jN...` Back to top --- # cede.decompress - S2 [Skip to content](https://proton-utilities.github.io/Standard2/Libraries/CeDe/decompress/#cededecompress) [](https://github.com/Proton-Utilities/Standard2/edit/main/docs/Libraries/CeDe/decompress.md "Edit this page") [](https://github.com/Proton-Utilities/Standard2/raw/main/docs/Libraries/CeDe/decompress.md "View source of this page") cede.decompress =============== Decompresses compressed data using a decompression algorithm. Usage ----- `[](https://proton-utilities.github.io/Standard2/Libraries/CeDe/decompress/#__codelineno-0-1) declare function decompress( [](https://proton-utilities.github.io/Standard2/Libraries/CeDe/decompress/#__codelineno-0-2) algorithm: number, [](https://proton-utilities.github.io/Standard2/Libraries/CeDe/decompress/#__codelineno-0-3) compressedData: string [](https://proton-utilities.github.io/Standard2/Libraries/CeDe/decompress/#__codelineno-0-4) ): string` Example ------- ### lz4 `[](https://proton-utilities.github.io/Standard2/Libraries/CeDe/decompress/#__codelineno-1-1) local cede = include("cede") [](https://proton-utilities.github.io/Standard2/Libraries/CeDe/decompress/#__codelineno-1-2) local codec = include("codec") [](https://proton-utilities.github.io/Standard2/Libraries/CeDe/decompress/#__codelineno-1-3)[](https://proton-utilities.github.io/Standard2/Libraries/CeDe/decompress/#__codelineno-1-4) local decoded = codec.decode("base64", "BCJNGEBw3w0AAIBIZWxsbywgV29ybGQhAAAAAA==") [](https://proton-utilities.github.io/Standard2/Libraries/CeDe/decompress/#__codelineno-1-5)[](https://proton-utilities.github.io/Standard2/Libraries/CeDe/decompress/#__codelineno-1-6) print(cede.decompress("lz4", decoded)) -- Hello, World!` ### zstd `[](https://proton-utilities.github.io/Standard2/Libraries/CeDe/decompress/#__codelineno-2-1) local cede = include("cede") [](https://proton-utilities.github.io/Standard2/Libraries/CeDe/decompress/#__codelineno-2-2) local codec = include("codec") [](https://proton-utilities.github.io/Standard2/Libraries/CeDe/decompress/#__codelineno-2-3)[](https://proton-utilities.github.io/Standard2/Libraries/CeDe/decompress/#__codelineno-2-4) local decoded = codec.decode("base64", "KLUv/SANaQAASGVsbG8sIFdvcmxkIQ==") [](https://proton-utilities.github.io/Standard2/Libraries/CeDe/decompress/#__codelineno-2-5)[](https://proton-utilities.github.io/Standard2/Libraries/CeDe/decompress/#__codelineno-2-6) print(cede.decompress("zstd", decoded)) -- Hello, World!` ### deflate `[](https://proton-utilities.github.io/Standard2/Libraries/CeDe/decompress/#__codelineno-3-1) local cede = include("cede") [](https://proton-utilities.github.io/Standard2/Libraries/CeDe/decompress/#__codelineno-3-2) local codec = include("codec") [](https://proton-utilities.github.io/Standard2/Libraries/CeDe/decompress/#__codelineno-3-3)[](https://proton-utilities.github.io/Standard2/Libraries/CeDe/decompress/#__codelineno-3-4) local decoded = codec.decode("base64", "80jNycnXUQjPL8pJUQQA==") [](https://proton-utilities.github.io/Standard2/Libraries/CeDe/decompress/#__codelineno-3-5)[](https://proton-utilities.github.io/Standard2/Libraries/CeDe/decompress/#__codelineno-3-6) print(cede.decompress("deflate", decoded)) -- Hello, World!` Back to top --- # Codec - S2 [Skip to content](https://proton-utilities.github.io/Standard2/Libraries/Codec/#codec) [](https://github.com/Proton-Utilities/Standard2/edit/main/docs/Libraries/Codec/README.md "Edit this page") [](https://github.com/Proton-Utilities/Standard2/raw/main/docs/Libraries/Codec/README.md "View source of this page") Codec ===== Back to top --- # Crypt - S2 [Skip to content](https://proton-utilities.github.io/Standard2/Libraries/Crypt/#crypt) [](https://github.com/Proton-Utilities/Standard2/edit/main/docs/Libraries/Crypt/README.md "Edit this page") [](https://github.com/Proton-Utilities/Standard2/raw/main/docs/Libraries/Crypt/README.md "View source of this page") Crypt ===== Back to top --- # Drawing - S2 [Skip to content](https://proton-utilities.github.io/Standard2/Libraries/Drawing/#drawing) [](https://github.com/Proton-Utilities/Standard2/edit/main/docs/Libraries/Drawing/README.md "Edit this page") [](https://github.com/Proton-Utilities/Standard2/raw/main/docs/Libraries/Drawing/README.md "View source of this page") Drawing ======= Back to top --- # Env - S2 [Skip to content](https://proton-utilities.github.io/Standard2/Libraries/Env/#env) [](https://github.com/Proton-Utilities/Standard2/edit/main/docs/Libraries/Env/README.md "Edit this page") [](https://github.com/Proton-Utilities/Standard2/raw/main/docs/Libraries/Env/README.md "View source of this page") Env === **Env** Stands for **Environment**. Purpose ------- It holds useful functions to read and write to different object environments. Use Cases --------- * Storing values for cross-script use. * Modifying the game environment * Writing and reading a script's environment Back to top --- # env.rbx - S2 [Skip to content](https://proton-utilities.github.io/Standard2/Libraries/Env/rbx/#envrbx) [](https://github.com/Proton-Utilities/Standard2/edit/main/docs/Libraries/Env/rbx.md "Edit this page") [](https://github.com/Proton-Utilities/Standard2/raw/main/docs/Libraries/Env/rbx.md "View source of this page") env.rbx ======= Returns the entire datamodel environment. This is **not** isolated from `env.this`, any changes made here are reflected to the custom lua state environment. Usage ----- `[](https://proton-utilities.github.io/Standard2/Libraries/Env/rbx/#__codelineno-0-1) let rbx: Record` Example ------- `[](https://proton-utilities.github.io/Standard2/Libraries/Env/rbx/#__codelineno-1-1) local env = include("env") [](https://proton-utilities.github.io/Standard2/Libraries/Env/rbx/#__codelineno-1-2)[](https://proton-utilities.github.io/Standard2/Libraries/Env/rbx/#__codelineno-1-3) ------ [](https://proton-utilities.github.io/Standard2/Libraries/Env/rbx/#__codelineno-1-4)[](https://proton-utilities.github.io/Standard2/Libraries/Env/rbx/#__codelineno-1-5) print(env.rbx.print) -- print [](https://proton-utilities.github.io/Standard2/Libraries/Env/rbx/#__codelineno-1-6)[](https://proton-utilities.github.io/Standard2/Libraries/Env/rbx/#__codelineno-1-7) ------ [](https://proton-utilities.github.io/Standard2/Libraries/Env/rbx/#__codelineno-1-8)[](https://proton-utilities.github.io/Standard2/Libraries/Env/rbx/#__codelineno-1-9) env.print = function() [](https://proton-utilities.github.io/Standard2/Libraries/Env/rbx/#__codelineno-1-10) return 1 [](https://proton-utilities.github.io/Standard2/Libraries/Env/rbx/#__codelineno-1-11) end [](https://proton-utilities.github.io/Standard2/Libraries/Env/rbx/#__codelineno-1-12)[](https://proton-utilities.github.io/Standard2/Libraries/Env/rbx/#__codelineno-1-13) print(env.rbx.print) -- 1 [](https://proton-utilities.github.io/Standard2/Libraries/Env/rbx/#__codelineno-1-14)[](https://proton-utilities.github.io/Standard2/Libraries/Env/rbx/#__codelineno-1-15) ------ [](https://proton-utilities.github.io/Standard2/Libraries/Env/rbx/#__codelineno-1-16)[](https://proton-utilities.github.io/Standard2/Libraries/Env/rbx/#__codelineno-1-17) env.helloworld = "Hello, World!" [](https://proton-utilities.github.io/Standard2/Libraries/Env/rbx/#__codelineno-1-18) print(env.rbx.helloworld) -- Hello, World! [](https://proton-utilities.github.io/Standard2/Libraries/Env/rbx/#__codelineno-1-19) print(env.this.helloworld) -- Hello, World!` Back to top --- # env.this - S2 [Skip to content](https://proton-utilities.github.io/Standard2/Libraries/Env/this/#envthis) [](https://github.com/Proton-Utilities/Standard2/edit/main/docs/Libraries/Env/this.md "Edit this page") [](https://github.com/Proton-Utilities/Standard2/raw/main/docs/Libraries/Env/this.md "View source of this page") env.this ======== Returns the current, **custom** environment. This is a shared environment of all threads made by the custom lua state. Usage ----- `[](https://proton-utilities.github.io/Standard2/Libraries/Env/this/#__codelineno-0-1) let this: Record` Example ------- `[](https://proton-utilities.github.io/Standard2/Libraries/Env/this/#__codelineno-1-1) local env = include("env") [](https://proton-utilities.github.io/Standard2/Libraries/Env/this/#__codelineno-1-2)[](https://proton-utilities.github.io/Standard2/Libraries/Env/this/#__codelineno-1-3) print(env.this.env) -- env [](https://proton-utilities.github.io/Standard2/Libraries/Env/this/#__codelineno-1-4)[](https://proton-utilities.github.io/Standard2/Libraries/Env/this/#__codelineno-1-5) env.helloworld = "Hello, World!" [](https://proton-utilities.github.io/Standard2/Libraries/Env/this/#__codelineno-1-6) print(env.this.helloworld) -- Hello, World!` Back to top --- # FS - S2 [Skip to content](https://proton-utilities.github.io/Standard2/Libraries/FS/#fs) [](https://github.com/Proton-Utilities/Standard2/edit/main/docs/Libraries/FS/README.md "Edit this page") [](https://github.com/Proton-Utilities/Standard2/raw/main/docs/Libraries/FS/README.md "View source of this page") FS == Back to top --- # Net - S2 [Skip to content](https://proton-utilities.github.io/Standard2/Libraries/Net/#net) [](https://github.com/Proton-Utilities/Standard2/edit/main/docs/Libraries/Net/README.md "Edit this page") [](https://github.com/Proton-Utilities/Standard2/raw/main/docs/Libraries/Net/README.md "View source of this page") Net === Back to top --- # RBX - S2 [Skip to content](https://proton-utilities.github.io/Standard2/Libraries/RBX/#rbx) [](https://github.com/Proton-Utilities/Standard2/edit/main/docs/Libraries/RBX/README.md "Edit this page") [](https://github.com/Proton-Utilities/Standard2/raw/main/docs/Libraries/RBX/README.md "View source of this page") RBX === **RBX** is short **ROBLOX**. It holds functions which give you the ability to directly access and modify a roblox experience. Back to top --- # SerDe - S2 [Skip to content](https://proton-utilities.github.io/Standard2/Libraries/SerDe/#serde) [](https://github.com/Proton-Utilities/Standard2/edit/main/docs/Libraries/SerDe/README.md "Edit this page") [](https://github.com/Proton-Utilities/Standard2/raw/main/docs/Libraries/SerDe/README.md "View source of this page") SerDe ===== **SerDe** stands for **Serialization and Deserialization**. It refers to the process of: * **Serialization**: Converting data into transmittable and formatted data. * **Deserialization**: Converting formatted data into a usable data structure. Warning SerDe is **not** responsible for: * **Compression** _(e.g., lz4, zlib)_ * Use the [cede](https://proton-utilities.github.io/Standard2/Libraries/CeDe/) library * **Encoding** _(e.g., base64, hex)_ * Use the [codec](https://proton-utilities.github.io/Standard2/Libraries/Codec/) library * **Cryptography** _(e.g., hashing, encryption)_ * Use the [crypto](https://proton-utilities.github.io/Standard2/Libraries/Crypt/) library Purpose ------- SerDe helps in the process of data persistence, mainly between the network boundary. Use Cases --------- * Saving configurable files * Sending formatted data through the network boundary, mostly using API's. * Saving parsable data to the disk Back to top --- # serde.deserialize - S2 [Skip to content](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#serdedeserialize) [](https://github.com/Proton-Utilities/Standard2/edit/main/docs/Libraries/SerDe/deserialize.md "Edit this page") [](https://github.com/Proton-Utilities/Standard2/raw/main/docs/Libraries/SerDe/deserialize.md "View source of this page") serde.deserialize ================= Deserializes data in a given format into a parsable lua table. Usage ----- `[](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-0-1) declare function deserialize( [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-0-2) format: string, [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-0-3) serializedText: string [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-0-4) ): unknown;` Example ------- ### json `[](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-1-1) local serde = include("serde") [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-1-2)[](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-1-3) local jsonText = [[ [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-1-4) { [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-1-5) "Index": true, [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-1-6) "Array": [ [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-1-7) "Value1", [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-1-8) "Value2" [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-1-9) ], [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-1-10) "Table": { [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-1-11) "Index1": "Value1", [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-1-12) "Index2": "Value2" [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-1-13) } [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-1-14) } [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-1-15) ]] [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-1-16)[](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-1-17) local result = serde.deserialize("json", jsonText) [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-1-18)[](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-1-19) print(result.Index) --> true [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-1-20) print(result.Array[1]) --> Value1 [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-1-21) print(result.Table.Index2) --> Value2` ### toml `[](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-2-1) local serde = include("serde") [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-2-2)[](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-2-3) local tomlText = [[ [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-2-4) title = "Example" [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-2-5)[](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-2-6) [owner] [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-2-7) name = "Tom" [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-2-8) dob = "1979-05-27T07:32:00Z" [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-2-9) ]] [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-2-10)[](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-2-11) local result = serde.deserialize("toml", tomlText) [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-2-12)[](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-2-13) print(result.title) --> Example [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-2-14) print(result.owner.name) --> Tom [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-2-15) print(result.owner.dob) --> 1979-05-27T07:32:00Z` ### yaml `[](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-3-1) local serde = include("serde") [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-3-2)[](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-3-3) local yamlText = [[ [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-3-4) Index: true [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-3-5) Array: [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-3-6) - One [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-3-7) - Two [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-3-8) - Three [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-3-9) Table: [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-3-10) Key1: Value1 [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-3-11) Key2: Value2 [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-3-12) ]] [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-3-13)[](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-3-14) local result = serde.deserialize("yaml", yamlText) [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-3-15)[](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-3-16) print(result.Index) --> true [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-3-17) print(result.Array[2]) --> Two [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/deserialize/#__codelineno-3-18) print(result.Table.Key2) --> Value2` Back to top --- # Formats - S2 [Skip to content](https://proton-utilities.github.io/Standard2/Libraries/SerDe/Formats/#formats) [](https://github.com/Proton-Utilities/Standard2/edit/main/docs/Libraries/SerDe/Formats.md "Edit this page") [](https://github.com/Proton-Utilities/Standard2/raw/main/docs/Libraries/SerDe/Formats.md "View source of this page") Formats ======= The **SerDe** library supports multiple serialization formats. | Algorithm | | --- | | **[`json`](https://www.json.org/)
** | | **[`toml`](https://toml.io/)
** | | **[`yaml`](https://yaml.org/)
** | Additional options ------------------ Some formats include additional options. The options should be listed in your function call in the indice order they appear in the table below. _(After the base arguments)_ ### `json` | name | description | type | default | | --- | --- | --- | --- | | `pretty` | Whether to format the data for human readability or not. | `boolean` | `false` | Back to top --- # serde.serialize - S2 [Skip to content](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#serdeserialize) [](https://github.com/Proton-Utilities/Standard2/edit/main/docs/Libraries/SerDe/serialize.md "Edit this page") [](https://github.com/Proton-Utilities/Standard2/raw/main/docs/Libraries/SerDe/serialize.md "View source of this page") serde.serialize =============== Serializes data using the given format. Usage ----- `[](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-0-1) declare function serialize( [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-0-2) format: string, [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-0-3) plainText: string, [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-0-4) ...options: unknown[] [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-0-5) ): string` Example ------- ### json `[](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-1-1) local serde = include("serde") [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-1-2)[](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-1-3) local luaTable = { [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-1-4) Index = true [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-1-5) Array = { [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-1-6) "Value1", [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-1-7) "Value2" [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-1-8) }, [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-1-9) Table = { [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-1-10) Index1 = "Value1", [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-1-11) Index2 = "Value2" [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-1-12) }, [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-1-13) } [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-1-14)[](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-1-15) print(serde.serialize("json", luaTable, true)) --[[ [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-1-16) { [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-1-17) "Index": true, [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-1-18) "Array": [ [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-1-19) "Value1", [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-1-20) "Value2" [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-1-21) ], [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-1-22) "Table": { [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-1-23) "Index1": "Value1", [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-1-24) "Index2": "Value2" [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-1-25) } [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-1-26) } [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-1-27) ]]` ### toml `[](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-2-1) local serde = include("serde") [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-2-2)[](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-2-3) local luaTable = { [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-2-4) title = "Example", [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-2-5) owner = { [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-2-6) name = "Tom", [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-2-7) dob = "1979-05-27T07:32:00Z" [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-2-8) } [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-2-9) } [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-2-10)[](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-2-11) print(serde.serialize("toml", luaTable, true)) --[[ [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-2-12) title = "Example" [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-2-13) [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-2-14) [owner] [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-2-15) name = "Tom" [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-2-16) dob = "1979-05-27T07:32:00Z" [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-2-17) ]]` ### yaml `[](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-3-1) local serde = include("serde") [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-3-2)[](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-3-3) local luaTable = { [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-3-4) Index = true, [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-3-5) Array = { [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-3-6) "One", [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-3-7) "Two", [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-3-8) "Three" [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-3-9) }, [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-3-10) Table = { [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-3-11) Key1 = "Value1", [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-3-12) Key2 = "Value2" [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-3-13) } [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-3-14) } [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-3-15)[](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-3-16) print(serde.serialize("yaml", luaTable)) --[[ [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-3-17) Index: true [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-3-18) Array: [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-3-19) - One [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-3-20) - Two [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-3-21) - Three [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-3-22) Table: [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-3-23) Key1: Value1 [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-3-24) Key2: Value2 [](https://proton-utilities.github.io/Standard2/Libraries/SerDe/serialize/#__codelineno-3-25) ]]` Back to top ---