vendor tsgo
This commit is contained in:
18
tools/tsgo/internal/project/dirty/util.go
Normal file
18
tools/tsgo/internal/project/dirty/util.go
Normal file
@@ -0,0 +1,18 @@
|
||||
package dirty
|
||||
|
||||
import "maps"
|
||||
|
||||
func CloneMapIfNil[K comparable, V any, T any](dirty *T, original *T, getMap func(*T) map[K]V) map[K]V {
|
||||
dirtyMap := getMap(dirty)
|
||||
if dirtyMap == nil {
|
||||
if original == nil {
|
||||
return make(map[K]V)
|
||||
}
|
||||
originalMap := getMap(original)
|
||||
if originalMap == nil {
|
||||
return make(map[K]V)
|
||||
}
|
||||
return maps.Clone(originalMap)
|
||||
}
|
||||
return dirtyMap
|
||||
}
|
||||
Reference in New Issue
Block a user