Skip to content

Commit

Permalink
add key to addObserver
Browse files Browse the repository at this point in the history
  • Loading branch information
pjechris committed Aug 4, 2024
1 parent 21668ef commit bf4429b
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions Sources/CohesionKit/Observer/ObserverRegistry.swift
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,13 @@ class ObserverRegistry {
self.queue = queue ?? DispatchQueue.main
}

func addObserver<T>(node: EntityNode<T>, initial: Bool = false, onChange: @escaping (T) -> Void) -> Subscription {
addObserver(node: node, key: ObjectKey(node), initial: initial, onChange: onChange)
}

/// register an observer to observe changes on an entity node. Everytime `ObserverRegistry` is notified about changes
/// to this node `onChange` will be called.
func addObserver<T>(node: EntityNode<T>, initial: Bool = false, onChange: @escaping (T) -> Void) -> Subscription {
func addObserver<T>(node: EntityNode<T>, key: ObjectKey, initial: Bool = false, onChange: @escaping (T) -> Void) -> Subscription {
let handler = Handler { onChange($0.ref.value) }

if initial {
Expand All @@ -45,7 +49,7 @@ class ObserverRegistry {
}
}

return subscribeHandler(handler, for: node, key: ObjectKey(node))
return subscribeHandler(handler, for: node, key: key)
}

/// Add an observer handler to multiple nodes.
Expand Down

0 comments on commit bf4429b

Please sign in to comment.