Use actions/cache@v3
A small, simple TOML parser and serializer for Swift. Powered by toml++.
TOMLKit is a Swift wrapper around toml++, allowing you to parse and serialize TOML files in Swift.
Created by gh-md-toc
Add this to the dependencies array in Package.swift:
dependencies
Package.swift
.package(url: "https://github.com/LebJe/TOMLKit.git", from: "0.5.0")
Also add this to the targets array in the aforementioned file:
targets
.product(name: "TOMLKit", package: "TOMLKit")
import TOMLKit import struct Foundation.Date let toml = """ string = "Hello, World!" int = 523053 double = 3250.34 """ struct Test: Codable { let string: String let int: Int let double: Double } do { let table = try TOMLTable(string: toml) table.remove(at: "double") table["dateTime"] = TOMLDateTime(date: Foundation.Date()) table.insert( TOMLArray([1, 2, "3", TOMLTable(["time": TOMLTime(hour: 10, minute: 26, second: 49, nanoSecond: 203)])]), at: "array" ) let test = Test(string: "Goodbye, World!", int: 24598, double: 18.247) let encodedTest: TOMLTable = try TOMLEncoder().encode(test) let decodedTest = try TOMLDecoder().decode(Test.self, from: encodedTest) print("----Encoding & Decoding----\n") print("Encoded Test: \n\(encodedTest)\n") print("Decoded Test: \(decodedTest)") print("\n----Conversion----\n") print("TOML:\n\(table.convert(to: .toml))\n") print("JSON:\n\(table.convert(to: .json))\n") print("YAML:\n\(table.convert(to: .yaml))") } catch let error as TOMLParseError { // TOMLParseError occurs when the TOML document is invalid. // `error.source.begin` contains the line and column where the error started, // and `error.source.end` contains the line where the error ended. print(error.source.begin) print(error.source.end) } // ----Encoding & Decoding---- // // Encoded Test: // double = 18.247 // int = 24598 // string = 'Goodbye, World!' // // Decoded Test: Test(string: "Goodbye, World!", int: 24598, double: 18.247) // // ----Conversion---- // // TOML: // array = [ 1, 2, '3', { time = 10:26:49.000000203 } ] // dateTime = 2022-03-31T12:19:38.160653948Z // int = 523053 // string = 'Hello, World!' // // JSON: // { // "array" : [ // 1, // 2, // "3", // { // "time" : "10:26:49.000000203" // } // ], // "dateTime" : "2022-03-31T12:19:38.160653948Z", // "int" : 523053, // "string" : "Hello, World!" // } // // YAML: // array: // - 1 // - 2 // - 3 // - time: '10:26:49.000000203' // dateTime: '2022-03-31T12:19:38.160653948Z' // int: 523053 // string: 'Hello, World!'
Full documentation is available here.
The toml++ license is available in the tomlplusplus directory in the LICENSE file.
tomlplusplus
LICENSE
Before committing, please install pre-commit, swift-format, clang-format, and Prettier, then install the pre-commit hook:
$ brew bundle # install the packages specified in Brewfile $ pre-commit install # Commit your changes.
To install pre-commit on other platforms, refer to the documentation.
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
TOMLKit
A small, simple TOML parser and serializer for Swift. Powered by toml++.
TOMLKit is a Swift wrapper around toml++, allowing you to parse and serialize TOML files in Swift.
Table of Contents
Created by gh-md-toc
Installation
Swift Package Manager
Add this to the
dependencies
array inPackage.swift
:Also add this to the
targets
array in the aforementioned file:Quick Start
Full Documentation
Full documentation is available here.
Dependencies
Licenses
The toml++ license is available in the
tomlplusplus
directory in theLICENSE
file.Contributing
Before committing, please install pre-commit, swift-format, clang-format, and Prettier, then install the pre-commit hook:
To install pre-commit on other platforms, refer to the documentation.