var instance = this;
var definitions = prototype[definitionsSymbol] || {};
for (var key in definitions) {
Object.defineProperty(instance, key, definitions[key]);
}
this.push.apply(this, items || []);
var localProxyKeys = Object.create(proxyKeys);
localProxyKeys.constructor = this.constructor;
var observable = makeArray.observable(instance, {
observe: makeObserve.observe,
proxyKeys: localProxyKeys,
shouldRecordObservation: getterHelpers.shouldRecordObservationOnAllKeysExceptFunctionsOnProto
});
observableStore.proxiedObjects.set(instance, observable);
observableStore.proxies.add(observable);
return observable;
};
ObserveArray.prototype = Object.create(Array.prototype);
}
eventMixin(ObserveArray.prototype);
getterHelpers.addMethodsAndSymbols(ObserveArray);
ObserveArray.extend = helpers.makeSimpleExtender(ObserveArray);
module.exports = ObserveArray;