瀏覽代碼

feat(config): time interval parser

Simplifies handling of time intervals in config values.
gudvinr 10 月之前
父節點
當前提交
03021af53c
共有 1 個文件被更改,包括 14 次插入0 次删除
  1. 14 0
      internal/config/parser.go

+ 14 - 0
internal/config/parser.go

@@ -358,6 +358,20 @@ func parseBytes(value string, fallback []byte) []byte {
 	return []byte(value)
 }
 
+// parseInterval converts an integer "value" to [time.Duration] using "unit" as multiplier.
+func parseInterval(value string, unit time.Duration, fallback time.Duration) time.Duration {
+	if value == "" {
+		return fallback
+	}
+
+	v, err := strconv.Atoi(value)
+	if err != nil {
+		return fallback
+	}
+
+	return time.Duration(v) * unit
+}
+
 func readSecretFile(filename, fallback string) string {
 	data, err := os.ReadFile(filename)
 	if err != nil {