@@ -14,10 +14,15 @@ import "github.com/dashjay/xiter/pkg/xmap"
1414- [ func Equal\[ M1, M2 \~ map\[ K\] V, K, V comparable\]\( m1 M1, m2 M2\) bool] ( < #Equal > )
1515- [ func EqualFunc\[ M1 \~ map\[ K\] V1, M2 \~ map\[ K\] V2, K comparable, V1, V2 any\]\( m1 M1, m2 M2, eq func\( V1, V2\) bool\) bool] ( < #EqualFunc > )
1616- [ func Filter\[ M \~ map\[ K\] V, K comparable, V any\]\( in M, fn func\( K, V\) bool\) M] ( < #Filter > )
17+ - [ func Find\[ K comparable, V any\]\( in map\[ K\] V, fn func\( K, V\) bool\) \( K, V, bool\) ] ( < #Find > )
18+ - [ func FindKey\[ K comparable, V any\]\( in map\[ K\] V, target K\) \( K, V, bool\) ] ( < #FindKey > )
19+ - [ func FindKeyO\[ K comparable, V any\]\( in map\[ K\] V, target K\) optional.O\[ union.U2\[ K, V\]\] ] ( < #FindKeyO > )
20+ - [ func FindO\[ K comparable, V any\]\( in map\[ K\] V, fn func\( K, V\) bool\) optional.O\[ union.U2\[ K, V\]\] ] ( < #FindO > )
1721- [ func Keys\[ M \~ map\[ K\] V, K comparable, V any\]\( m M\) \[\] K] ( < #Keys > )
1822- [ func MapKeys\[ K comparable, V1 any\]\( in map\[ K\] V1, fn func\( K, V1\) K\) map\[ K\] V1] ( < #MapKeys > )
1923- [ func MapValues\[ K comparable, V1, V2 any\]\( in map\[ K\] V1, fn func\( K, V1\) V2\) map\[ K\] V2] ( < #MapValues > )
2024- [ func ToUnionSlice\[ M \~ map\[ K\] V, K comparable, V any\]\( m M\) \[\] union.U2\[ K, V\] ] ( < #ToUnionSlice > )
25+ - [ func ToXSyncMap\[ K comparable, V any\]\( in map\[ K\] V\) \* xsync.SyncMap\[ K, V\] ] ( < #ToXSyncMap > )
2126- [ func Values\[ M \~ map\[ K\] V, K comparable, V any\]\( m M\) \[\] V] ( < #Values > )
2227
2328
@@ -31,7 +36,7 @@ func Clone[M ~map[K]V, K comparable, V any](m M) M
3136
3237
3338<a name =" CoalesceMaps " ></a >
34- ## func [ CoalesceMaps] ( < https://github.com/dashjay/xiter/blob/main/pkg/xmap/xmap_common.go#L31 > )
39+ ## func [ CoalesceMaps] ( < https://github.com/dashjay/xiter/blob/main/pkg/xmap/xmap_common.go#L34 > )
3540
3641``` go
3742func CoalesceMaps [M ~map [K]V, K comparable, V any](maps ...M ) M
@@ -93,7 +98,7 @@ func EqualFunc[M1 ~map[K]V1, M2 ~map[K]V2, K comparable, V1, V2 any](m1 M1, m2 M
9398
9499
95100<a name =" Filter " ></a >
96- ## func [ Filter] ( < https://github.com/dashjay/xiter/blob/main/pkg/xmap/xmap_common.go#L48 > )
101+ ## func [ Filter] ( < https://github.com/dashjay/xiter/blob/main/pkg/xmap/xmap_common.go#L51 > )
97102
98103``` go
99104func Filter [M ~map [K]V, K comparable, V any](in M , fn func (K, V ) bool ) M
@@ -110,6 +115,42 @@ result := Filter(m, fn)
110115// result will be map[string]int{"b": 2, "c": 3}
111116```
112117
118+ <a name =" Find " ></a >
119+ ## func [ Find] ( < https://github.com/dashjay/xiter/blob/main/pkg/xmap/xmap_common.go#L137 > )
120+
121+ ``` go
122+ func Find [K comparable, V any](in map [K]V, fn func (K, V ) bool ) (K, V , bool )
123+ ```
124+
125+
126+
127+ <a name =" FindKey " ></a >
128+ ## func [ FindKey] ( < https://github.com/dashjay/xiter/blob/main/pkg/xmap/xmap_common.go#L120 > )
129+
130+ ``` go
131+ func FindKey [K comparable, V any](in map [K]V, target K ) (K, V , bool )
132+ ```
133+
134+
135+
136+ <a name =" FindKeyO " ></a >
137+ ## func [ FindKeyO] ( < https://github.com/dashjay/xiter/blob/main/pkg/xmap/xmap_common.go#L129 > )
138+
139+ ``` go
140+ func FindKeyO [K comparable, V any](in map [K]V, target K ) optional.O [union.U2 [K, V ]]
141+ ```
142+
143+
144+
145+ <a name =" FindO " ></a >
146+ ## func [ FindO] ( < https://github.com/dashjay/xiter/blob/main/pkg/xmap/xmap_common.go#L148 > )
147+
148+ ``` go
149+ func FindO [K comparable, V any](in map [K]V, fn func (K, V ) bool ) optional.O [union.U2 [K, V ]]
150+ ```
151+
152+
153+
113154<a name =" Keys " ></a >
114155## func [ Keys] ( < https://github.com/dashjay/xiter/blob/main/pkg/xmap/xmap.go#L29 > )
115156
@@ -120,7 +161,7 @@ func Keys[M ~map[K]V, K comparable, V any](m M) []K
120161
121162
122163<a name =" MapKeys " ></a >
123- ## func [ MapKeys] ( < https://github.com/dashjay/xiter/blob/main/pkg/xmap/xmap_common.go#L96 > )
164+ ## func [ MapKeys] ( < https://github.com/dashjay/xiter/blob/main/pkg/xmap/xmap_common.go#L99 > )
124165
125166``` go
126167func MapKeys [K comparable, V1 any](in map [K]V1, fn func (K, V1 ) K ) map [K]V1
@@ -153,7 +194,7 @@ result := MapKeys(m, fn)
153194```
154195
155196<a name =" MapValues " ></a >
156- ## func [ MapValues] ( < https://github.com/dashjay/xiter/blob/main/pkg/xmap/xmap_common.go#L72 > )
197+ ## func [ MapValues] ( < https://github.com/dashjay/xiter/blob/main/pkg/xmap/xmap_common.go#L75 > )
157198
158199``` go
159200func MapValues [K comparable, V1 , V2 any](in map [K]V1, fn func (K, V1 ) V2 ) map [K]V2
@@ -194,6 +235,27 @@ func ToUnionSlice[M ~map[K]V, K comparable, V any](m M) []union.U2[K, V]
194235
195236
196237
238+ <a name =" ToXSyncMap " ></a >
239+ ## func [ ToXSyncMap] ( < https://github.com/dashjay/xiter/blob/main/pkg/xmap/xmap_common.go#L112 > )
240+
241+ ``` go
242+ func ToXSyncMap [K comparable, V any](in map [K]V) *xsync.SyncMap [K, V ]
243+ ```
244+
245+ ToXSyncMap converts a map to a xsync.SyncMap.
246+
247+ Parameters:
248+
249+ ```
250+ in map[K]V: The input map to convert
251+ ```
252+
253+ Returns:
254+
255+ ```
256+ *xsync.SyncMap[K, V]: A new xsync.SyncMap containing the same key-value pairs as the input map
257+ ```
258+
197259<a name =" Values " ></a >
198260## func [ Values] ( < https://github.com/dashjay/xiter/blob/main/pkg/xmap/xmap.go#L33 > )
199261
0 commit comments