File: DiffAvailability.swift

package info (click to toggle)
swiftlang 6.0.3-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,519,992 kB
  • sloc: cpp: 9,107,863; ansic: 2,040,022; asm: 1,135,751; python: 296,500; objc: 82,456; f90: 60,502; lisp: 34,951; pascal: 19,946; sh: 18,133; perl: 7,482; ml: 4,937; javascript: 4,117; makefile: 3,840; awk: 3,535; xml: 914; fortran: 619; cs: 573; ruby: 573
file content (62 lines) | stat: -rw-r--r-- 2,359 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/*
 This source file is part of the Swift.org open source project

 Copyright (c) 2021 Apple Inc. and the Swift project authors
 Licensed under Apache License v2.0 with Runtime Library Exception

 See https://swift.org/LICENSE.txt for license information
 See https://swift.org/CONTRIBUTORS.txt for Swift project authors
*/

import Foundation

/// An availability-change diff for a symbol, if that data is available.
public struct DiffAvailability: Codable, Equatable {
    /// The change information for a symbol that was updated in a beta version of the current platform.
    public var beta: Info?

    /// The change information for a symbol that was updated in a minor increment of the current platform version.
    public var minor: Info?

    /// The change information for a symbol that was updated in a major increment of the current platform version.
    public var major: Info?

    /// The change information for a symbol that was updated in the current platform version.
    public var sdk: Info?

    /// Creates a new availability change diff.
    /// - Parameters:
    ///   - beta: Beta change information.
    ///   - minor: Minor version change information.
    ///   - major: Major version change information.
    ///   - sdk: Platform version change information.
    public init(beta: Info?, minor: Info?, major: Info?, sdk: Info?) {
        self.beta = beta
        self.minor = minor
        self.major = major
        self.sdk = sdk
    }

    /// An item describing an availability change.
    public struct Info: Codable, Equatable {
        /// The type of change, for example, "modified" or "added".
        public var change: String

        /// The platform where the change occurred.
        public var platform: String

        /// The target versions of the platform for this diff.
        public var versions: [String]
        
        /// Creates a new availability change.
        /// - Parameters:
        ///   - change: The type of change, for example, "modified" or "added".
        ///   - platform: The platform where the change occurred.
        ///   - versions: The target versions of the platform for this diff.
        public init(change: String, platform: String, versions: [String]) {
            self.change = change
            self.platform = platform
            self.versions = versions
        }
    }
}