mirror of
https://github.com/keymanapp/keyman.git
synced 2026-08-06 08:55:34 +00:00
29 lines
860 B
Swift
29 lines
860 B
Swift
//
|
|
// KeyboardRepository.swift
|
|
// KeymanEngine
|
|
//
|
|
// Created by Gabriel Wong on 2017-12-01.
|
|
// Copyright © 2017 SIL International. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
public protocol KeyboardRepository: class {
|
|
weak var delegate: KeyboardRepositoryDelegate? { get set }
|
|
var languages: [String: Language]? { get }
|
|
|
|
func installableKeyboard(withID keyboardID: String, languageID: String) -> InstallableKeyboard?
|
|
func fetch()
|
|
}
|
|
|
|
public extension KeyboardRepository {
|
|
public func installableKeyboard(withID keyboardID: String, languageID: String) -> InstallableKeyboard? {
|
|
guard let language = languages?[languageID] else {
|
|
return nil
|
|
}
|
|
guard let keyboard = language.keyboards?.first(where: { $0.id == keyboardID }) else {
|
|
return nil
|
|
}
|
|
return InstallableKeyboard(keyboard: keyboard, language: language)
|
|
}
|
|
}
|