mirror of
https://github.com/crazy-max/diun.git
synced 2025-12-31 01:57:21 +01:00
Bumps [github.com/dromara/carbon/v2](https://github.com/dromara/carbon) from 2.5.2 to 2.6.8. - [Release notes](https://github.com/dromara/carbon/releases) - [Commits](https://github.com/dromara/carbon/compare/v2.5.2...v2.6.8) --- updated-dependencies: - dependency-name: github.com/dromara/carbon/v2 dependency-version: 2.6.8 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
47 lines
884 B
Go
47 lines
884 B
Go
package carbon
|
|
|
|
import "sync"
|
|
|
|
// FrozenNow defines a FrozenNow struct.
|
|
type FrozenNow struct {
|
|
isFrozen bool
|
|
testNow *Carbon
|
|
rw *sync.RWMutex
|
|
}
|
|
|
|
var frozenNow = &FrozenNow{
|
|
rw: new(sync.RWMutex),
|
|
}
|
|
|
|
// SetTestNow sets a test Carbon instance for now.
|
|
func SetTestNow(c *Carbon) {
|
|
frozenNow.rw.Lock()
|
|
defer frozenNow.rw.Unlock()
|
|
|
|
frozenNow.isFrozen = true
|
|
frozenNow.testNow = c
|
|
}
|
|
|
|
// CleanTestNow clears the test Carbon instance for now.
|
|
//
|
|
// Deprecated: it will be removed in the future, use "ClearTestNow" instead.
|
|
func CleanTestNow() {
|
|
ClearTestNow()
|
|
}
|
|
|
|
// ClearTestNow clears the test Carbon instance for now.
|
|
func ClearTestNow() {
|
|
frozenNow.rw.Lock()
|
|
defer frozenNow.rw.Unlock()
|
|
|
|
frozenNow.isFrozen = false
|
|
}
|
|
|
|
// IsTestNow reports whether is testing time.
|
|
func IsTestNow() bool {
|
|
frozenNow.rw.Lock()
|
|
defer frozenNow.rw.Unlock()
|
|
|
|
return frozenNow.isFrozen
|
|
}
|