// swiftlint:disable:next type_body_length internal struct PrivateSubjectRuleExamples { static let nonTriggeringExamples: [Example] = [ Example( #""" final class Foobar { private let goodSubject = PassthroughSubject() } """# ), Example( #""" final class Foobar { private let goodSubject: PassthroughSubject } """# ), Example( #""" final class Foobar { fileprivate let goodSubject: PassthroughSubject } """# ), Example( #""" final class Foobar { private let goodSubject: PassthroughSubject = .ini() } """# ), Example( #""" final class Foobar { private let goodSubject = CurrentValueSubject(false) } """# ), Example( #""" final class Foobar { private let goodSubject: CurrentValueSubject } """# ), Example( #""" final class Foobar { fileprivate let goodSubject: CurrentValueSubject } """# ), Example( #""" final class Foobar { private let goodSubject: CurrentValueSubject = .ini("toto") } """# ), Example( #""" final class Foobar { private let goodSubject = PassthroughSubject, Never>() } """# ), Example( #""" final class Foobar { private let goodSubject: PassthroughSubject, Never> = .init() } """# ), Example( #""" final class Foobar { private let goodSubject: CurrentValueSubject, Never> = .init([]) } """# ), Example( #""" final class Foobar { private let goodSubject = PassthroughSubject() } """# ), Example( #""" final class Foobar { private let goodSubject: PassthroughSubject = .ini() } """# ), Example( #""" final class Foobar { private let goodSubject = CurrentValueSubject(true) } """# ) ] static let triggeringExamples: [Example] = [ Example( #""" final class Foobar { let ↓badSubject = PassthroughSubject() } """# ), Example( #""" final class Foobar { let ↓badSubject: PassthroughSubject } """# ), Example( #""" final class Foobar { private(set) let ↓badSubject: PassthroughSubject } """# ), Example( #""" final class Foobar { private(set) let ↓badSubject = PassthroughSubject() } """# ), Example( #""" final class Foobar { let goodSubject: PassthroughSubject = .ini() } """# ), Example( #""" final class Foobar { private let goodSubject: PassthroughSubject private(set) let ↓badSubject = PassthroughSubject() private(set) let ↓anotherBadSubject = PassthroughSubject() } """# ), Example( #""" final class Foobar { private(set) let ↓badSubject = PassthroughSubject() private let goodSubject: PassthroughSubject private(set) let ↓anotherBadSubject = PassthroughSubject() } """# ), Example( #""" final class Foobar { let ↓badSubject = CurrentValueSubject(true) } """# ), Example( #""" final class Foobar { let ↓badSubject: CurrentValueSubject } """# ), Example( #""" final class Foobar { private(set) let ↓badSubject: CurrentValueSubject } """# ), Example( #""" final class Foobar { private(set) let ↓badSubject = CurrentValueSubject(false) } """# ), Example( #""" final class Foobar { let goodSubject: CurrentValueSubject = .ini("toto") } """# ), Example( #""" final class Foobar { private let goodSubject: CurrentValueSubject private(set) let ↓badSubject = CurrentValueSubject(false) private(set) let ↓anotherBadSubject = CurrentValueSubject(false) } """# ), Example( #""" final class Foobar { private(set) let ↓badSubject = CurrentValueSubject(false) private let goodSubject: CurrentValueSubject private(set) let ↓anotherBadSubject = CurrentValueSubject(true) } """# ), Example( #""" final class Foobar { let ↓badSubject = PassthroughSubject, Never>() } """# ), Example( #""" final class Foobar { let ↓badSubject: PassthroughSubject, Never> = .init() } """# ), Example( #""" final class Foobar { let ↓badSubject: CurrentValueSubject, Never> = .init([]) } """# ), Example( #""" final class Foobar { let ↓badSubject = PassthroughSubject() } """# ), Example( #""" final class Foobar { let ↓badSubject: PassthroughSubject = .ini() } """# ), Example( #""" final class Foobar { let ↓badSubject = CurrentValueSubject(true) } """# ) ] }