LCOV - code coverage report
Current view: top level - SwiftySimpleKeychain/Extensions/Queries - SwiftySimpleKeychain+BaseQuery.swift (source / functions) Hit Total Coverage
Test: lcov.info Lines: 23 23 100.0 %
Date: 2022-03-29 11:59:53 Functions: 1 1 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : //
       2             : // SwiftySimpleKeychain+BaseQuery.swift
       3             : // SwiftySimpleKeychain
       4             : //
       5             : // Copyright (c) 2022 Ezequiel (Kimi) Aceto (https://eaceto.dev). Based on Auth0's SimpleKeychain
       6             : //
       7             : // Permission is hereby granted, free of charge, to any person obtaining a copy
       8             : // of this software and associated documentation files (the "Software"), to deal
       9             : // in the Software without restriction, including without limitation the rights
      10             : // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
      11             : // copies of the Software, and to permit persons to whom the Software is
      12             : // furnished to do so, subject to the following conditions:
      13             : //
      14             : // The above copyright notice and this permission notice shall be included in
      15             : // all copies or substantial portions of the Software.
      16             : //
      17             : // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
      18             : // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
      19             : // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
      20             : // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
      21             : // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
      22             : // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
      23             : // THE SOFTWARE.
      24             : 
      25             : #if canImport(Foundation)
      26             : import Foundation
      27             : #endif
      28             : 
      29             : internal extension SwiftySimpleKeychain {
      30          60 :     func baseQuery(with key: String? = nil) -> [String: Any] {
      31          60 :         var attributes = [
      32          60 :             kSecClass as String: kSecClassGenericPassword as String,
      33          60 :             kSecAttrService as String: service,
      34          60 :             kSecUseAuthenticationUI as String: kSecUseAuthenticationUIAllow as String
      35          60 :         ] as [String: Any]
      36          60 : 
      37          60 :         if let key = key {
      38          59 :             attributes[kSecAttrAccount as String] = key
      39          60 :         }
      40          60 : 
      41          60 :         #if os(iOS)
      42          60 :         if let accessGroup = accessGroup {
      43          60 :             attributes[kSecAttrAccessGroup as String] = accessGroup
      44          60 :         }
      45          60 : 
      46          60 :         #if canImport(LocalAuthentication)
      47          60 :         attributes[kSecUseAuthenticationContext as String] = localAuthenticationContext
      48          60 :         #endif
      49          60 :         #endif
      50          60 : 
      51          60 :         return attributes
      52          60 :     }
      53             : }

Generated by: LCOV version 1.15