Library to write swift source code
To install SwiftCodeWriter with SwiftPackageManager, add the following lines to your Package.swift
.
let package = Package(
name: "XXX",
products: [
.library(
name: "XXX",
targets: ["XXX"]),
],
dependencies: [
.package(url: "https://github.com/Digipolitan/swift-code-writer.git", from: "1.0.0")
],
targets: [
.target(
name: "XXX",
dependencies: ["SwiftCodeWriter"])
]
)
The you must create a file description that represent the swift output file
let fileDescription = FileDescription()
A file description can contains :
- classes
[ClassDescription]
- enums
[EnumDescription]
- protocols
[ProtocolDescription]
- extensions
[ExtensionDescription]
- methods
[MethodDescription]
- properties
[PropertyDescription]
- documentation
The following example will show how to register a structure inside the file description
// Add a User struct with 2 properties
var cd = ClassDescription(name: "User", options: .init(visibility: .public, isReferenceType: true))
cd.properties.append(.init(name: "lastName", type: "String?"))
cd.properties.append(.init(name: "firstName", type: "String?"))
fileDescription.classes.append(cd)
After that use the FileWriter to transform the given FileDescription to string as follow
let res = FileWriter.default.write(description: fileDescription)
See CONTRIBUTING.md for more details!
This project adheres to the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to contact@digipolitan.com.
SwiftCodeWriter is licensed under the BSD 3-Clause license.