This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.

The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of InputMask with Swift 6.0 for macOS (SPM).

Swift 6 data race errors: 3

Build Command

env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.40.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/RedMadRobot/input-mask-ios.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/RedMadRobot/input-mask-ios
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at b01794f add: macOS sample
Cloned https://github.com/RedMadRobot/input-mask-ios.git
Revision (git rev-parse @):
b01794f2c00d42f8cd2928087c3fd61fe65d12d0
SPI manifest file found: $workDir/.spi.yml
SUCCESS checkout https://github.com/RedMadRobot/input-mask-ios.git at master
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $workDir
https://github.com/RedMadRobot/input-mask-ios.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-15.3.0.app xcrun --toolchain org.swift.600202405261a swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/2] Write sources
[1/2] Write swift-version-6F35C1178C84523A.txt
[3/27] Compiling InputMask Compiler.swift
[4/27] Compiling InputMask FormatSanitizer.swift
[5/27] Compiling InputMask RTLCaretStringIterator.swift
[6/29] Compiling InputMask AffinityCalculationStrategy.swift
[7/29] Compiling InputMask CaretStringIterator.swift
[8/29] Compiling InputMask CharacterSet.swift
[9/29] Emitting module InputMask
/Users/admin/builder/spi-builder-workspace/Source/InputMask/InputMask/Classes/Mask.swift:78:24: warning: static property 'cache' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 76 |
 77 |     private let initialState: State
 78 |     private static var cache: [String: Mask] = [:]
    |                        |- warning: static property 'cache' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'cache' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: annotate 'cache' with '@MainActor' if property should only be accessed from the main actor
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 79 |
 80 |     /**
/Users/admin/builder/spi-builder-workspace/Source/InputMask/InputMask/Classes/Model/Country.swift:156:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[Country]' may have shared mutable state; this is an error in the Swift 6 language mode
 13 |  Model object representing a **Country** record operated by the ``PhoneInputListener``.
 14 |  */
 15 | public struct Country {
    |               `- note: consider making struct 'Country' conform to the 'Sendable' protocol
 16 |     /**
 17 |      International country name.
    :
154 |      Feel free to append/correct & file PRs, see https://countrycode.org
155 |      */
156 |     public static let all: [Country] = [
    |                       |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[Country]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'all' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
157 |         Country(
158 |             name: "Canada",
/Users/admin/builder/spi-builder-workspace/Source/InputMask/InputMask/Classes/RTLMask.swift:17:24: warning: static property 'cache' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
15 |  */
16 | public class RTLMask: Mask {
17 |     private static var cache: [String: RTLMask] = [:]
   |                        |- warning: static property 'cache' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert 'cache' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: annotate 'cache' with '@MainActor' if property should only be accessed from the main actor
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 |
19 |     public required init(format: String, customNotations: [Notation] = []) throws {
[10/29] Compiling InputMask Country.swift
/Users/admin/builder/spi-builder-workspace/Source/InputMask/InputMask/Classes/Model/Country.swift:156:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[Country]' may have shared mutable state; this is an error in the Swift 6 language mode
 13 |  Model object representing a **Country** record operated by the ``PhoneInputListener``.
 14 |  */
 15 | public struct Country {
    |               `- note: consider making struct 'Country' conform to the 'Sendable' protocol
 16 |     /**
 17 |      International country name.
    :
154 |      Feel free to append/correct & file PRs, see https://countrycode.org
155 |      */
156 |     public static let all: [Country] = [
    |                       |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[Country]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'all' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
157 |         Country(
158 |             name: "Canada",
[11/29] Compiling InputMask Next.swift
/Users/admin/builder/spi-builder-workspace/Source/InputMask/InputMask/Classes/Model/Country.swift:156:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[Country]' may have shared mutable state; this is an error in the Swift 6 language mode
 13 |  Model object representing a **Country** record operated by the ``PhoneInputListener``.
 14 |  */
 15 | public struct Country {
    |               `- note: consider making struct 'Country' conform to the 'Sendable' protocol
 16 |     /**
 17 |      International country name.
    :
154 |      Feel free to append/correct & file PRs, see https://countrycode.org
155 |      */
156 |     public static let all: [Country] = [
    |                       |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[Country]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'all' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
157 |         Country(
158 |             name: "Canada",
[12/29] Compiling InputMask Notation.swift
/Users/admin/builder/spi-builder-workspace/Source/InputMask/InputMask/Classes/Model/Country.swift:156:23: warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[Country]' may have shared mutable state; this is an error in the Swift 6 language mode
 13 |  Model object representing a **Country** record operated by the ``PhoneInputListener``.
 14 |  */
 15 | public struct Country {
    |               `- note: consider making struct 'Country' conform to the 'Sendable' protocol
 16 |     /**
 17 |      International country name.
    :
154 |      Feel free to append/correct & file PRs, see https://countrycode.org
155 |      */
156 |     public static let all: [Country] = [
    |                       |- warning: static property 'all' is not concurrency-safe because non-'Sendable' type '[Country]' may have shared mutable state; this is an error in the Swift 6 language mode
    |                       |- note: annotate 'all' with '@MainActor' if property should only be accessed from the main actor
    |                       `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
157 |         Country(
158 |             name: "Canada",
[13/29] Compiling InputMask State.swift
[14/29] Compiling InputMask EOLState.swift
[15/29] Compiling InputMask FixedState.swift
[16/29] Compiling InputMask MaskedTextField.swift
[17/29] Compiling InputMask MaskedTextInputListener.swift
[18/29] Compiling InputMask NumberInputListener.swift
[19/29] Compiling InputMask PhoneInputListener.swift
[20/29] Compiling InputMask RTLMask.swift
/Users/admin/builder/spi-builder-workspace/Source/InputMask/InputMask/Classes/RTLMask.swift:17:24: warning: static property 'cache' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
15 |  */
16 | public class RTLMask: Mask {
17 |     private static var cache: [String: RTLMask] = [:]
   |                        |- warning: static property 'cache' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert 'cache' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: annotate 'cache' with '@MainActor' if property should only be accessed from the main actor
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 |
19 |     public required init(format: String, customNotations: [Notation] = []) throws {
[21/29] Compiling InputMask MaskedTextField+Modifiers.swift
/Users/admin/builder/spi-builder-workspace/Source/InputMask/InputMask/Classes/RTLMask.swift:17:24: warning: static property 'cache' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
15 |  */
16 | public class RTLMask: Mask {
17 |     private static var cache: [String: RTLMask] = [:]
   |                        |- warning: static property 'cache' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
   |                        |- note: convert 'cache' to a 'let' constant to make 'Sendable' shared state immutable
   |                        |- note: annotate 'cache' with '@MainActor' if property should only be accessed from the main actor
   |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 |
19 |     public required init(format: String, customNotations: [Notation] = []) throws {
[22/29] Compiling InputMask String.swift
/Users/admin/builder/spi-builder-workspace/Source/InputMask/InputMask/Classes/Mask.swift:78:24: warning: static property 'cache' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 76 |
 77 |     private let initialState: State
 78 |     private static var cache: [String: Mask] = [:]
    |                        |- warning: static property 'cache' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'cache' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: annotate 'cache' with '@MainActor' if property should only be accessed from the main actor
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 79 |
 80 |     /**
[23/29] Compiling InputMask Mask.swift
/Users/admin/builder/spi-builder-workspace/Source/InputMask/InputMask/Classes/Mask.swift:78:24: warning: static property 'cache' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 76 |
 77 |     private let initialState: State
 78 |     private static var cache: [String: Mask] = [:]
    |                        |- warning: static property 'cache' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'cache' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: annotate 'cache' with '@MainActor' if property should only be accessed from the main actor
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 79 |
 80 |     /**
[24/29] Compiling InputMask CaretString.swift
/Users/admin/builder/spi-builder-workspace/Source/InputMask/InputMask/Classes/Mask.swift:78:24: warning: static property 'cache' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
 76 |
 77 |     private let initialState: State
 78 |     private static var cache: [String: Mask] = [:]
    |                        |- warning: static property 'cache' is not concurrency-safe because it is non-isolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'cache' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: annotate 'cache' with '@MainActor' if property should only be accessed from the main actor
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 79 |
 80 |     /**
[25/29] Compiling InputMask FreeState.swift
[26/29] Compiling InputMask OptionalValueState.swift
[27/29] Compiling InputMask ValueState.swift
[28/29] Compiling InputMask TextViewListener.swift
/Users/admin/builder/spi-builder-workspace/Source/InputMask/InputMask/Classes/View/TextViewListener.swift:45:18: warning: main actor-isolated property 'delegate' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
 42 |     private var textBefore: String = ""
 43 |
 44 |     open func attachDelegateToTextView(_ textView: NSTextView) {
    |               `- note: add '@MainActor' to make instance method 'attachDelegateToTextView' part of global actor 'MainActor'
 45 |         textView.delegate = self
    |                  `- warning: main actor-isolated property 'delegate' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
 46 |         textBefore = textView.string
 47 |     }
AppKit.NSTextView:64:30: note: mutation of this property is only permitted within the actor
62 |     @available(macOS 10.10, *)
63 |     open var usesRolloverButtonForSelection: Bool { get set }
64 |     @MainActor weak open var delegate: (any NSTextViewDelegate)? { get set }
   |                              `- note: mutation of this property is only permitted within the actor
65 |     open var isEditable: Bool { get set }
66 |     @available(swift, obsoleted: 3, renamed: "isEditable")
/Users/admin/builder/spi-builder-workspace/Source/InputMask/InputMask/Classes/View/TextViewListener.swift:46:31: warning: main actor-isolated property 'string' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
 42 |     private var textBefore: String = ""
 43 |
 44 |     open func attachDelegateToTextView(_ textView: NSTextView) {
    |               `- note: add '@MainActor' to make instance method 'attachDelegateToTextView' part of global actor 'MainActor'
 45 |         textView.delegate = self
 46 |         textBefore = textView.string
    |                               `- warning: main actor-isolated property 'string' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
 47 |     }
 48 |
AppKit.NSText:4:25: note: property declared here
 2 |     public init(frame frameRect: NSRect)
 3 |     public init?(coder: NSCoder)
 4 |     @MainActor open var string: String { get set }
   |                         `- note: property declared here
 5 |     open func replaceCharacters(in range: NSRange, with string: String)
 6 |     @available(swift, obsoleted: 3, renamed: "replaceCharacters(in:with:)")
/Users/admin/builder/spi-builder-workspace/Source/InputMask/InputMask/Classes/View/TextViewListener.swift:158:15: warning: main actor-isolated property 'string' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
138 |
139 |     @discardableResult
140 |     open func put(text: String, into field: NSTextView, autocomplete putAutocomplete: Bool? = nil) -> Mask.Result {
    |               `- note: add '@MainActor' to make instance method 'put(text:into:autocomplete:)' part of global actor 'MainActor'
141 |         let autocomplete: Bool = putAutocomplete ?? self.autocomplete
142 |         let mask: Mask = pickMask(
    :
156 |         )
157 |
158 |         field.string = result.formattedText.string
    |               `- warning: main actor-isolated property 'string' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
159 |         field.setSelectedRange(
160 |             NSRange(
AppKit.NSText:4:25: note: mutation of this property is only permitted within the actor
 2 |     public init(frame frameRect: NSRect)
 3 |     public init?(coder: NSCoder)
 4 |     @MainActor open var string: String { get set }
   |                         `- note: mutation of this property is only permitted within the actor
 5 |     open func replaceCharacters(in range: NSRange, with string: String)
 6 |     @available(swift, obsoleted: 3, renamed: "replaceCharacters(in:with:)")
/Users/admin/builder/spi-builder-workspace/Source/InputMask/InputMask/Classes/View/TextViewListener.swift:159:15: warning: call to main actor-isolated instance method 'setSelectedRange' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
138 |
139 |     @discardableResult
140 |     open func put(text: String, into field: NSTextView, autocomplete putAutocomplete: Bool? = nil) -> Mask.Result {
    |               `- note: add '@MainActor' to make instance method 'put(text:into:autocomplete:)' part of global actor 'MainActor'
141 |         let autocomplete: Bool = putAutocomplete ?? self.autocomplete
142 |         let mask: Mask = pickMask(
    :
157 |
158 |         field.string = result.formattedText.string
159 |         field.setSelectedRange(
    |               `- warning: call to main actor-isolated instance method 'setSelectedRange' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
160 |             NSRange(
161 |                 location: result.formattedText.string.distanceFromStartIndex(to: result.formattedText.caretPosition),
AppKit.NSTextView:84:15: note: calls to instance method 'setSelectedRange' from outside of its actor context are implicitly asynchronous
82 |     @available(swift, obsoleted: 3, renamed: "isRulerVisible")
83 |     open var rulerVisible: Bool { get set }
84 |     open func setSelectedRange(_ charRange: NSRange)
   |               `- note: calls to instance method 'setSelectedRange' from outside of its actor context are implicitly asynchronous
85 |     @available(macOS 10.5, *)
86 |     open var allowedInputSourceLocales: [String]? { get set }
[29/29] Compiling InputMask UITextInput.swift
/Users/admin/builder/spi-builder-workspace/Source/InputMask/InputMask/Classes/View/TextViewListener.swift:45:18: warning: main actor-isolated property 'delegate' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
 42 |     private var textBefore: String = ""
 43 |
 44 |     open func attachDelegateToTextView(_ textView: NSTextView) {
    |               `- note: add '@MainActor' to make instance method 'attachDelegateToTextView' part of global actor 'MainActor'
 45 |         textView.delegate = self
    |                  `- warning: main actor-isolated property 'delegate' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
 46 |         textBefore = textView.string
 47 |     }
AppKit.NSTextView:64:30: note: mutation of this property is only permitted within the actor
62 |     @available(macOS 10.10, *)
63 |     open var usesRolloverButtonForSelection: Bool { get set }
64 |     @MainActor weak open var delegate: (any NSTextViewDelegate)? { get set }
   |                              `- note: mutation of this property is only permitted within the actor
65 |     open var isEditable: Bool { get set }
66 |     @available(swift, obsoleted: 3, renamed: "isEditable")
/Users/admin/builder/spi-builder-workspace/Source/InputMask/InputMask/Classes/View/TextViewListener.swift:46:31: warning: main actor-isolated property 'string' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
 42 |     private var textBefore: String = ""
 43 |
 44 |     open func attachDelegateToTextView(_ textView: NSTextView) {
    |               `- note: add '@MainActor' to make instance method 'attachDelegateToTextView' part of global actor 'MainActor'
 45 |         textView.delegate = self
 46 |         textBefore = textView.string
    |                               `- warning: main actor-isolated property 'string' can not be referenced from a non-isolated context; this is an error in the Swift 6 language mode
 47 |     }
 48 |
AppKit.NSText:4:25: note: property declared here
 2 |     public init(frame frameRect: NSRect)
 3 |     public init?(coder: NSCoder)
 4 |     @MainActor open var string: String { get set }
   |                         `- note: property declared here
 5 |     open func replaceCharacters(in range: NSRange, with string: String)
 6 |     @available(swift, obsoleted: 3, renamed: "replaceCharacters(in:with:)")
/Users/admin/builder/spi-builder-workspace/Source/InputMask/InputMask/Classes/View/TextViewListener.swift:158:15: warning: main actor-isolated property 'string' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
138 |
139 |     @discardableResult
140 |     open func put(text: String, into field: NSTextView, autocomplete putAutocomplete: Bool? = nil) -> Mask.Result {
    |               `- note: add '@MainActor' to make instance method 'put(text:into:autocomplete:)' part of global actor 'MainActor'
141 |         let autocomplete: Bool = putAutocomplete ?? self.autocomplete
142 |         let mask: Mask = pickMask(
    :
156 |         )
157 |
158 |         field.string = result.formattedText.string
    |               `- warning: main actor-isolated property 'string' can not be mutated from a non-isolated context; this is an error in the Swift 6 language mode
159 |         field.setSelectedRange(
160 |             NSRange(
AppKit.NSText:4:25: note: mutation of this property is only permitted within the actor
 2 |     public init(frame frameRect: NSRect)
 3 |     public init?(coder: NSCoder)
 4 |     @MainActor open var string: String { get set }
   |                         `- note: mutation of this property is only permitted within the actor
 5 |     open func replaceCharacters(in range: NSRange, with string: String)
 6 |     @available(swift, obsoleted: 3, renamed: "replaceCharacters(in:with:)")
/Users/admin/builder/spi-builder-workspace/Source/InputMask/InputMask/Classes/View/TextViewListener.swift:159:15: warning: call to main actor-isolated instance method 'setSelectedRange' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
138 |
139 |     @discardableResult
140 |     open func put(text: String, into field: NSTextView, autocomplete putAutocomplete: Bool? = nil) -> Mask.Result {
    |               `- note: add '@MainActor' to make instance method 'put(text:into:autocomplete:)' part of global actor 'MainActor'
141 |         let autocomplete: Bool = putAutocomplete ?? self.autocomplete
142 |         let mask: Mask = pickMask(
    :
157 |
158 |         field.string = result.formattedText.string
159 |         field.setSelectedRange(
    |               `- warning: call to main actor-isolated instance method 'setSelectedRange' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
160 |             NSRange(
161 |                 location: result.formattedText.string.distanceFromStartIndex(to: result.formattedText.caretPosition),
AppKit.NSTextView:84:15: note: calls to instance method 'setSelectedRange' from outside of its actor context are implicitly asynchronous
82 |     @available(swift, obsoleted: 3, renamed: "isRulerVisible")
83 |     open var rulerVisible: Bool { get set }
84 |     open func setSelectedRange(_ charRange: NSRange)
   |               `- note: calls to instance method 'setSelectedRange' from outside of its actor context are implicitly asynchronous
85 |     @available(macOS 10.5, *)
86 |     open var allowedInputSourceLocales: [String]? { get set }
Build complete! (27.95s)
warning: 'spi-builder-workspace': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /Users/admin/builder/spi-builder-workspace/Source/InputMask/InputMask/Supporting Files/Info.plist
Build complete.
{
  "dependencies" : [
  ],
  "manifest_display_name" : "InputMask",
  "name" : "InputMask",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "InputMask",
      "targets" : [
        "InputMask"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "InputMaskTests",
      "module_type" : "SwiftTarget",
      "name" : "InputMaskTests",
      "path" : "Source/InputMask",
      "sources" : [
        "InputMaskTests/Classes/Helper/StringTests.swift",
        "InputMaskTests/Classes/Mask/CustomNotationEllipticalCase.swift",
        "InputMaskTests/Classes/Mask/DayMonthYearCase.swift",
        "InputMaskTests/Classes/Mask/DayMonthYearShortCase.swift",
        "InputMaskTests/Classes/Mask/DecimalNumberCase.swift",
        "InputMaskTests/Classes/Mask/EndlessIntegerCase.swift",
        "InputMaskTests/Classes/Mask/EscapedCase.swift",
        "InputMaskTests/Classes/Mask/MaskTestCase.swift",
        "InputMaskTests/Classes/Mask/MonthYearCase.swift",
        "InputMaskTests/Classes/Mask/MonthYearDoubleSlashCase.swift",
        "InputMaskTests/Classes/Mask/NameCase.swift",
        "InputMaskTests/Classes/Mask/PhoneCase.swift",
        "InputMaskTests/Classes/Mask/Reversed/LargeNumberTests.swift",
        "InputMaskTests/Classes/Mask/SillyEllipticalCase.swift",
        "InputMaskTests/Classes/Mask/SillyPiEllipticalCase.swift",
        "InputMaskTests/Classes/Mask/WildcardCase.swift",
        "InputMaskTests/Classes/Mask/YearACCase.swift",
        "InputMaskTests/Classes/Mask/YearCase.swift"
      ],
      "target_dependencies" : [
        "InputMask"
      ],
      "type" : "test"
    },
    {
      "c99name" : "InputMask",
      "module_type" : "SwiftTarget",
      "name" : "InputMask",
      "path" : "Source/InputMask/InputMask",
      "product_memberships" : [
        "InputMask"
      ],
      "sources" : [
        "Classes/Helper/AffinityCalculationStrategy.swift",
        "Classes/Helper/CaretStringIterator.swift",
        "Classes/Helper/CharacterSet.swift",
        "Classes/Helper/Compiler.swift",
        "Classes/Helper/FormatSanitizer.swift",
        "Classes/Helper/RTLCaretStringIterator.swift",
        "Classes/Helper/String.swift",
        "Classes/Mask.swift",
        "Classes/Model/CaretString.swift",
        "Classes/Model/Country.swift",
        "Classes/Model/Next.swift",
        "Classes/Model/Notation.swift",
        "Classes/Model/State.swift",
        "Classes/Model/State/EOLState.swift",
        "Classes/Model/State/FixedState.swift",
        "Classes/Model/State/FreeState.swift",
        "Classes/Model/State/OptionalValueState.swift",
        "Classes/Model/State/ValueState.swift",
        "Classes/RTLMask.swift",
        "Classes/View/MaskedTextField+Modifiers.swift",
        "Classes/View/MaskedTextField.swift",
        "Classes/View/MaskedTextInputListener.swift",
        "Classes/View/NumberInputListener.swift",
        "Classes/View/PhoneInputListener.swift",
        "Classes/View/TextViewListener.swift",
        "Classes/View/UITextInput.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.7.1"
}
Done.
This is a staging environment. For live and up-to-date package information, visit swiftpackageindex.com.