LCOV - code coverage report
Current view: top level - SwiftySimpleKeychain/Extensions/Queries - SwiftySimpleKeychain+FindQuery.swift (source / functions) Hit Total Coverage
Test: lcov.info Lines: 26 34 76.5 %
Date: 2022-03-29 11:59:53 Functions: 3 5 60.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : //
       2             : // SwiftySimpleKeychain+Find.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           0 :     func queryFindAll() -> [String: Any] {
      31           0 :         var query = baseQuery()
      32           0 : 
      33           0 :         query[kSecReturnAttributes as String] = true
      34           0 :         query[kSecMatchLimit as String] = kSecMatchLimitAll as String
      35           0 : 
      36           0 :         return query
      37           0 :     }
      38             : 
      39          31 :     func queryFind(by key: String, promptMessage: String? = nil) -> [String: Any] {
      40          31 :         assert(!key.isEmpty, "Must have a valid non-empty key")
      41          31 :         var query = baseQuery(with: key)
      42          31 : 
      43          31 :         #if os(iOS)
      44          31 :         if let promptMessage = promptMessage {
      45          31 :             query[kSecUseOperationPrompt as String] = promptMessage
      46          31 :         }
      47          31 :         #endif
      48          31 : 
      49          31 :         return query
      50          31 :     }
      51             : 
      52           9 :     func queryFetchOne(by key: String, promptMessage: String? = nil) -> [String: Any] {
      53           9 :         var query = baseQuery(with: key)
      54           9 : 
      55           9 :         query[kSecReturnData as String] = true
      56           9 :         query[kSecMatchLimit as String] = kSecMatchLimitOne as String
      57           9 : 
      58           9 :         #if os(iOS)
      59           9 :         if useAccessControl, let promptMessage = promptMessage {
      60           9 :             query[kSecUseOperationPrompt as String] = promptMessage
      61           9 :         }
      62           9 :         #endif
      63           9 : 
      64           9 :         return query
      65           9 :     }
      66             : }

Generated by: LCOV version 1.15