Skip to content

This is a Swift Package that implements a model of a Swift Evolution proposal.

License

Notifications You must be signed in to change notification settings

Visckmart/SwiftEvolutionModel

Repository files navigation

Swift Evolution Model

This is a Swift Package that implements a model of a Swift Evolution proposal, allowing apps to more easily load and decode the proposals available on the official website and allowing developers to build solutions on top of it.

Proposal Monitor is an app I built myself that is now built on top of this Swift Package.

Context

The Swift programming language has an open evolution process that enables the community to participate in the discussions that help shape the language.

A fundamental building block of that process is a proposal. A proposal is a piece of well-documented intents, along with their context, motivation and other related information, that serve as an important guidance for the community discussions.

Recently, the Swift Website Workgroup has made changes to the Swift Evolution metadata schema, while also making a JSON file conforming to that schema with all of the Swift Evolution proposals available at the official Swift website.

Example Usage

import SwiftEvolutionModel

let url = URL(string: "https://download.swift.org/swift-evolution/v1/evolution.json")!
let data = try Data(contentsOf: url)
let evolutionFile = try decoder.decode(EvolutionFile.self, from: data)

print(evolutionFile)
print(evolutionFile.proposals.first)
print(evolutionFile.proposals.first!.authors.map(\.name))

About

This is a Swift Package that implements a model of a Swift Evolution proposal.

Topics

Resources

License

Stars

Watchers

Forks

Languages