logmower-shipper/pkg/watcher/util.go

45 lines
698 B
Go

package watcher
import (
"os"
"path/filepath"
"strings"
"github.com/fsnotify/fsnotify"
)
func simulateInitialCreates(dirName string, eventChan chan<- fsnotify.Event) error {
dir, err := os.ReadDir(dirName)
if err != nil {
return err
}
for _, file := range dir {
eventChan <- fsnotify.Event{
Name: filepath.Join(dirName, file.Name()),
Op: fsnotify.Create,
}
}
return nil
}
func sliceToMap[T comparable](sl []T) map[T]interface{} {
m := make(map[T]interface{})
for _, k := range sl {
m[k] = nil
}
return m
}
func hasSlicePrefix(s string, sl []string) bool {
for _, prefix := range sl {
if strings.HasPrefix(s, prefix) {
return true
}
}
return false
}