mirror of
https://github.com/firebase/firebase-ios-sdk
synced 2026-11-09 22:36:01 +05:45
132 lines
4.8 KiB
Swift
132 lines
4.8 KiB
Swift
//
|
|
// Copyright 2022 Google LLC
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
import Foundation
|
|
|
|
#if SWIFT_PACKAGE
|
|
import FirebaseSessionsObjC
|
|
#endif // SWIFT_PACKAGE
|
|
|
|
///
|
|
/// These extensions allows us to console log properties of our Session Events
|
|
/// proto for development and debugging purposes without having to call decode
|
|
/// on each field manually. Instead you can read `<field>.description`.
|
|
///
|
|
|
|
extension firebase_appquality_sessions_EventType: CustomStringConvertible {
|
|
public var description: String {
|
|
switch self {
|
|
case firebase_appquality_sessions_EventType_SESSION_START:
|
|
return "SESSION_START"
|
|
case firebase_appquality_sessions_EventType_EVENT_TYPE_UNKNOWN:
|
|
return "UNKNOWN"
|
|
default:
|
|
return "Unrecognized EventType. Please update the firebase_appquality_sessions_EventType CustomStringConvertible extension"
|
|
}
|
|
}
|
|
}
|
|
|
|
extension firebase_appquality_sessions_DataCollectionState: CustomStringConvertible {
|
|
public var description: String {
|
|
switch self {
|
|
case firebase_appquality_sessions_DataCollectionState_COLLECTION_ENABLED:
|
|
return "ENABLED"
|
|
case firebase_appquality_sessions_DataCollectionState_COLLECTION_SAMPLED:
|
|
return "SAMPLED"
|
|
case firebase_appquality_sessions_DataCollectionState_COLLECTION_UNKNOWN:
|
|
return "UNKNOWN"
|
|
case firebase_appquality_sessions_DataCollectionState_COLLECTION_DISABLED:
|
|
return "DISABLED"
|
|
case firebase_appquality_sessions_DataCollectionState_COLLECTION_DISABLED_REMOTE:
|
|
return "DISABLED_REMOTE"
|
|
case firebase_appquality_sessions_DataCollectionState_COLLECTION_SDK_NOT_INSTALLED:
|
|
return "SDK_NOT_INSTALLED"
|
|
default:
|
|
return "Unrecognized DataCollectionState. Please update the firebase_appquality_sessions_DataCollectionState CustomStringConvertible extension"
|
|
}
|
|
}
|
|
}
|
|
|
|
extension firebase_appquality_sessions_OsName: CustomStringConvertible {
|
|
public var description: String {
|
|
switch self {
|
|
case firebase_appquality_sessions_OsName_IOS:
|
|
return "IOS"
|
|
case firebase_appquality_sessions_OsName_IPADOS:
|
|
return "IPADOS"
|
|
case firebase_appquality_sessions_OsName_TVOS:
|
|
return "TVOS"
|
|
case firebase_appquality_sessions_OsName_IOS_ON_MAC:
|
|
return "IOS_ON_MAC"
|
|
case firebase_appquality_sessions_OsName_MACOS:
|
|
return "MACOS"
|
|
case firebase_appquality_sessions_OsName_MACCATALYST:
|
|
return "MACCATALYST"
|
|
case firebase_appquality_sessions_OsName_WATCHOS:
|
|
return "WATCHOS"
|
|
case firebase_appquality_sessions_OsName_UNKNOWN_OSNAME:
|
|
return "UNKNOWN_OSNAME"
|
|
case firebase_appquality_sessions_OsName_UNSPECIFIED:
|
|
return "UNSPECIFIED"
|
|
default:
|
|
return "Unrecognized OsName. Please update the firebase_appquality_sessions_OsName CustomStringConvertible extension"
|
|
}
|
|
}
|
|
}
|
|
|
|
extension firebase_appquality_sessions_LogEnvironment: CustomStringConvertible {
|
|
public var description: String {
|
|
switch self {
|
|
case firebase_appquality_sessions_LogEnvironment_LOG_ENVIRONMENT_PROD:
|
|
return "PROD"
|
|
case firebase_appquality_sessions_LogEnvironment_LOG_ENVIRONMENT_STAGING:
|
|
return "STAGING"
|
|
case firebase_appquality_sessions_LogEnvironment_LOG_ENVIRONMENT_AUTOPUSH:
|
|
return "AUTOPUSH"
|
|
case firebase_appquality_sessions_LogEnvironment_LOG_ENVIRONMENT_UNKNOWN:
|
|
return "UNKNOWN"
|
|
default:
|
|
return "Unrecognized LogEnvironment. Please update the firebase_appquality_sessions_LogEnvironment CustomStringConvertible extension"
|
|
}
|
|
}
|
|
}
|
|
|
|
// This is written like this for Swift backwards-compatibility.
|
|
// Once we upgrade to Xcode 14, this can be written as
|
|
// UnsafeMutablePointer<pb_bytes_array_t>
|
|
extension UnsafeMutablePointer: CustomStringConvertible where Pointee == pb_bytes_array_t {
|
|
public var description: String {
|
|
let decoded = FIRSESDecodeString(self)
|
|
if decoded.count == 0 {
|
|
return "<EMPTY>"
|
|
}
|
|
return decoded
|
|
}
|
|
}
|
|
|
|
// For an optional field
|
|
// This is written like this for Swift backwards-compatibility.
|
|
// Once we upgrade to Xcode 14, this can be written as
|
|
// UnsafeMutablePointer<pb_bytes_array_t>?
|
|
extension Optional: CustomStringConvertible
|
|
where Wrapped == UnsafeMutablePointer<pb_bytes_array_t> {
|
|
public var description: String {
|
|
guard let this = self else {
|
|
return "<NULL>"
|
|
}
|
|
return this.description
|
|
}
|
|
}
|