secant-ios-wallet/modules/Sources/Dependencies/NumberFormatter/NumberFormatterLiveKey.swift

31 lines
874 B
Swift

//
// NumberFormatterLiveKey.swift
// Zashi
//
// Created by Lukáš Korba on 14.11.2022.
//
import Foundation
import ComposableArchitecture
import Utils
extension NumberFormatterClient: DependencyKey {
public static let liveValue = NumberFormatterClient.live()
public static func live(numberFormatter: NumberFormatter = NumberFormatter.zcashNumberFormatter) -> Self {
Self(
string: {
numberFormatter.string(from: $0)
},
number: {
numberFormatter.number(from: $0)
},
convertUSToLocale: {
let number = NumberFormatter.zcashUSNumberFormatter.number(from: $0)
let decimalNumber = NSDecimalNumber(decimal: number?.decimalValue ?? 0)
return numberFormatter.string(from: decimalNumber)
}
)
}
}