Skip to content

Commit c7d76ff

Browse files
committed
More Array extensions
1 parent 85975e2 commit c7d76ff

1 file changed

Lines changed: 16 additions & 0 deletions

File tree

Sources/BaseKit/Extensions/Array+Ext.swift

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,3 +116,19 @@ public extension Array {
116116
}
117117
}
118118
}
119+
120+
public typealias IdentifiableArray<Element> = Array<Element> where Element: Identifiable
121+
122+
public extension IdentifiableArray {
123+
subscript(byID id: Element.ID) -> Element? {
124+
get {
125+
first(where: { $0.id == id })
126+
}
127+
set {
128+
guard let i = firstIndex(where: { $0.id == id }), let newValue else {
129+
return
130+
}
131+
self[i] = newValue
132+
}
133+
}
134+
}

0 commit comments

Comments
 (0)