LMInstantiator // Add retrieveData() and replaceData().

This commit is contained in:
ShikiSuen 2022-12-02 18:02:12 +08:00
parent e7d0259d58
commit 532f1737a2
1 changed files with 39 additions and 0 deletions

View File

@ -239,6 +239,45 @@ extension vChewingLM {
: lmUserPhrases.temporaryMap[key, default: []].append(unigram) : lmUserPhrases.temporaryMap[key, default: []].append(unigram)
} }
/// 使
/// - Parameters:
/// - targetType:
public func retrieveData(from targetType: ReplacableUserDataType) -> String {
switch targetType {
case .thePhrases: return lmUserPhrases.strData
case .theFilter: return lmFiltered.strData
case .theReplacements: return lmReplacements.strData
case .theAssociates: return lmAssociates.strData
case .theSymbols: return lmUserSymbols.strData
}
}
/// 使
/// - Parameters:
/// - rawStrData:
/// - targetType:
public func replaceData(textData rawStrData: String, for targetType: ReplacableUserDataType, save: Bool = true) {
var rawText = rawStrData
LMConsolidator.consolidate(text: &rawText, pragma: true)
switch targetType {
case .theAssociates:
lmAssociates.replaceData(textData: rawText)
if save { lmAssociates.saveData() }
case .theFilter:
lmFiltered.replaceData(textData: rawText)
if save { lmAssociates.saveData() }
case .theReplacements:
lmReplacements.replaceData(textData: rawText)
if save { lmAssociates.saveData() }
case .thePhrases:
lmUserPhrases.replaceData(textData: rawText)
if save { lmAssociates.saveData() }
case .theSymbols:
lmUserSymbols.replaceData(textData: rawText)
if save { lmAssociates.saveData() }
}
}
/// ///
/// - Parameter key: /// - Parameter key:
/// - Returns: /// - Returns: