From 31ac1657f19e158b03676fd117531f0fe4f64489 Mon Sep 17 00:00:00 2001 From: Tomasz Kurylik Date: Sun, 18 Aug 2024 00:19:19 +0200 Subject: [PATCH] Patch 1.0.2 feat: - MTime initialiser made public --- MijickTimer.podspec | 2 +- Sources/Internal/MTime.swift | 15 --------------- Sources/Internal/MTimer.swift | 2 +- Sources/Public/Public+MTime.swift | 15 ++++++++++++++- 4 files changed, 16 insertions(+), 18 deletions(-) diff --git a/MijickTimer.podspec b/MijickTimer.podspec index 1e93bf8..439a687 100644 --- a/MijickTimer.podspec +++ b/MijickTimer.podspec @@ -3,7 +3,7 @@ Pod::Spec.new do |s| s.summary = 'Modern API for Timer' s.description = 'MijickTimer is a free, open-source library for the Swift language that makes the process of managing timers much easier and clearer.' - s.version = '1.0.1' + s.version = '1.0.2' s.ios.deployment_target = '13.0' s.osx.deployment_target = '10.15' s.swift_version = '5.0' diff --git a/Sources/Internal/MTime.swift b/Sources/Internal/MTime.swift index 9df1e90..2feb36f 100644 --- a/Sources/Internal/MTime.swift +++ b/Sources/Internal/MTime.swift @@ -17,21 +17,6 @@ public struct MTime: Equatable { public let seconds: Int public let milliseconds: Int } -extension MTime { - init(_ timeInterval: TimeInterval) { - let millisecondsInt = Int(timeInterval * 1000) - - let hoursDiv = 1000 * 60 * 60 - let minutesDiv = 1000 * 60 - let secondsDiv = 1000 - let millisecondsDiv = 1 - - hours = millisecondsInt / hoursDiv - minutes = (millisecondsInt % hoursDiv) / minutesDiv - seconds = (millisecondsInt % hoursDiv % minutesDiv) / secondsDiv - milliseconds = (millisecondsInt % hoursDiv % minutesDiv % secondsDiv) / millisecondsDiv - } -} // MARK: - Helpers extension MTime { diff --git a/Sources/Internal/MTimer.swift b/Sources/Internal/MTimer.swift index d2ef450..ae43ad9 100644 --- a/Sources/Internal/MTimer.swift +++ b/Sources/Internal/MTimer.swift @@ -177,7 +177,7 @@ private extension MTimer { onTimerActivityChange?(isTimerRunning) }} func publishRunningTimeChange() { DispatchQueue.main.async { [self] in - onRunningTimeChange?(.init(runningTime)) + onRunningTimeChange?(.init(timeInterval: runningTime)) onTimerProgressChange?(calculateTimerProgress()) }} } diff --git a/Sources/Public/Public+MTime.swift b/Sources/Public/Public+MTime.swift index f9f45dd..17056ec 100644 --- a/Sources/Public/Public+MTime.swift +++ b/Sources/Public/Public+MTime.swift @@ -20,7 +20,20 @@ extension MTime { let millisecondsInterval = Double(milliseconds) / 1000 let timeInterval = hoursInterval + minutesInterval + secondsInterval + millisecondsInterval - self.init(timeInterval) + self.init(timeInterval: timeInterval) + } + public init(timeInterval: TimeInterval) { + let millisecondsInt = Int(timeInterval * 1000) + + let hoursDiv = 1000 * 60 * 60 + let minutesDiv = 1000 * 60 + let secondsDiv = 1000 + let millisecondsDiv = 1 + + hours = millisecondsInt / hoursDiv + minutes = (millisecondsInt % hoursDiv) / minutesDiv + seconds = (millisecondsInt % hoursDiv % minutesDiv) / secondsDiv + milliseconds = (millisecondsInt % hoursDiv % minutesDiv % secondsDiv) / millisecondsDiv } public static var zero: MTime { .init() } public static var max: MTime { .init(hours: 60 * 60 * 24 * 365 * 100) }