MCPcopy Create free account
hub / github.com/aurelia/binding / collectionObserver

Method collectionObserver

src/binding-engine.js:42–61  ·  view source on GitHub ↗
(collection)

Source from the content-addressed store, hash-verified

40 }
41
42 collectionObserver(collection) {
43 return {
44 subscribe: callback => {
45 let observer;
46 if (collection instanceof Array) {
47 observer = this.observerLocator.getArrayObserver(collection);
48 } else if (collection instanceof Map) {
49 observer = this.observerLocator.getMapObserver(collection);
50 } else if (collection instanceof Set) {
51 observer = this.observerLocator.getSetObserver(collection);
52 } else {
53 throw new Error('collection must be an instance of Array, Map or Set.');
54 }
55 observer.subscribe(callback);
56 return {
57 dispose: () => observer.unsubscribe(callback)
58 };
59 }
60 };
61 }
62
63 expressionObserver(bindingContext, expression) {
64 let scope = { bindingContext, overrideContext: createOverrideContext(bindingContext) };

Callers 1

Calls 5

getArrayObserverMethod · 0.80
getMapObserverMethod · 0.80
getSetObserverMethod · 0.80
subscribeMethod · 0.65
unsubscribeMethod · 0.65

Tested by

no test coverage detected