Replace goog.object.clear() with ol.object.clear()

This commit is contained in:
Tim Schaub
2016-02-03 21:56:18 -07:00
parent f38d8bf824
commit fd394151fd
11 changed files with 134 additions and 107 deletions

View File

@@ -2,7 +2,7 @@ goog.provide('ol.events');
goog.provide('ol.events.EventType');
goog.provide('ol.events.KeyCode');
goog.require('goog.object');
goog.require('ol.object');
/**
@@ -188,7 +188,7 @@ ol.events.removeListeners_ = function(target, type) {
if (listeners) {
for (var i = 0, ii = listeners.length; i < ii; ++i) {
target.removeEventListener(type, listeners[i].boundListener);
goog.object.clear(listeners[i])
ol.object.clear(listeners[i])
}
listeners.length = 0;
var listenerMap = target[ol.events.LISTENER_MAP_PROP_];
@@ -318,7 +318,7 @@ ol.events.unlistenByKey = function(key) {
ol.events.removeListeners_(key.target, key.type);
}
}
goog.object.clear(key);
ol.object.clear(key);
}
};

View File

@@ -2,10 +2,10 @@ goog.provide('ol.geom.GeometryCollection');
goog.require('ol.events');
goog.require('ol.events.EventType');
goog.require('goog.object');
goog.require('ol.extent');
goog.require('ol.geom.Geometry');
goog.require('ol.geom.GeometryType');
goog.require('ol.object');
/**
@@ -160,7 +160,7 @@ ol.geom.GeometryCollection.prototype.getGeometriesArray = function() {
*/
ol.geom.GeometryCollection.prototype.getSimplifiedGeometry = function(squaredTolerance) {
if (this.simplifiedGeometryRevision != this.getRevision()) {
goog.object.clear(this.simplifiedGeometryCache);
ol.object.clear(this.simplifiedGeometryCache);
this.simplifiedGeometryMaxMinSquaredTolerance = 0;
this.simplifiedGeometryRevision = this.getRevision();
}

View File

@@ -2,11 +2,11 @@ goog.provide('ol.geom.SimpleGeometry');
goog.require('goog.asserts');
goog.require('goog.functions');
goog.require('goog.object');
goog.require('ol.extent');
goog.require('ol.geom.Geometry');
goog.require('ol.geom.GeometryLayout');
goog.require('ol.geom.flat.transform');
goog.require('ol.object');
/**
@@ -146,7 +146,7 @@ ol.geom.SimpleGeometry.prototype.getLayout = function() {
*/
ol.geom.SimpleGeometry.prototype.getSimplifiedGeometry = function(squaredTolerance) {
if (this.simplifiedGeometryRevision != this.getRevision()) {
goog.object.clear(this.simplifiedGeometryCache);
ol.object.clear(this.simplifiedGeometryCache);
this.simplifiedGeometryMaxMinSquaredTolerance = 0;
this.simplifiedGeometryRevision = this.getRevision();
}

View File

@@ -4,17 +4,17 @@ goog.provide('ol.interaction.SelectEventType');
goog.provide('ol.interaction.SelectFilterFunction');
goog.require('goog.asserts');
goog.require('ol.events');
goog.require('ol.events.Event');
goog.require('goog.functions');
goog.require('goog.object');
goog.require('ol.CollectionEventType');
goog.require('ol.Feature');
goog.require('ol.array');
goog.require('ol.events');
goog.require('ol.events.Event');
goog.require('ol.events.condition');
goog.require('ol.geom.GeometryType');
goog.require('ol.interaction.Interaction');
goog.require('ol.layer.Vector');
goog.require('ol.object');
goog.require('ol.source.Vector');
@@ -305,7 +305,7 @@ ol.interaction.Select.handleEvent = function(mapBrowserEvent) {
features.extend(selected);
// Modify object this.featureLayerAssociation_
if (selected.length === 0) {
goog.object.clear(this.featureLayerAssociation_);
ol.object.clear(this.featureLayerAssociation_);
} else {
if (deselected.length > 0) {
deselected.forEach(function(feature) {

View File

@@ -1,14 +1,13 @@
goog.provide('ol.layer.Group');
goog.require('goog.asserts');
goog.require('goog.object');
goog.require('ol.events');
goog.require('ol.events.EventType');
goog.require('ol.Collection');
goog.require('ol.CollectionEvent');
goog.require('ol.CollectionEventType');
goog.require('ol.Object');
goog.require('ol.ObjectEventType');
goog.require('ol.events');
goog.require('ol.events.EventType');
goog.require('ol.extent');
goog.require('ol.layer.Base');
goog.require('ol.object');
@@ -107,7 +106,7 @@ ol.layer.Group.prototype.handleLayersChanged_ = function(event) {
for (var id in this.listenerKeys_) {
this.listenerKeys_[id].forEach(ol.events.unlistenByKey);
}
goog.object.clear(this.listenerKeys_);
ol.object.clear(this.listenerKeys_);
var layersArray = layers.getArray();
var i, ii, layer;

View File

@@ -1,54 +1,11 @@
goog.provide('ol.Object');
goog.provide('ol.ObjectEvent');
goog.provide('ol.ObjectEventType');
goog.provide('ol.object');
goog.require('ol.Observable');
goog.require('ol.events');
goog.require('ol.events.Event');
goog.require('ol.Observable');
/**
* Polyfill for Object.assign(). Assigns enumerable and own properties from
* one or more source objects to a target object.
*
* @see https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
* @param {!Object} target The target object.
* @param {...Object} var_sources The source object(s).
* @return {!Object} The modified target object.
*/
ol.object.assign = (typeof Object.assign === 'function') ? Object.assign : function(target, var_sources) {
if (target === undefined || target === null) {
throw new TypeError('Cannot convert undefined or null to object');
}
var output = Object(target);
for (var i = 1, ii = arguments.length; i < ii; ++i) {
var source = arguments[i];
if (source !== undefined && source !== null) {
for (var key in source) {
if (source.hasOwnProperty(key)) {
output[key] = source[key];
}
}
}
}
return output;
};
/**
* Determine if an object has any properties.
* @param {Object} object The object to check.
* @return {boolean} The object is empty.
*/
ol.object.isEmpty = function(object) {
var property;
for (property in object) {
return false;
}
return !property;
};
goog.require('ol.object');
/**

55
src/ol/objectutil.js Normal file
View File

@@ -0,0 +1,55 @@
goog.provide('ol.object');
/**
* Polyfill for Object.assign(). Assigns enumerable and own properties from
* one or more source objects to a target object.
*
* @see https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
* @param {!Object} target The target object.
* @param {...Object} var_sources The source object(s).
* @return {!Object} The modified target object.
*/
ol.object.assign = (typeof Object.assign === 'function') ? Object.assign : function(target, var_sources) {
if (target === undefined || target === null) {
throw new TypeError('Cannot convert undefined or null to object');
}
var output = Object(target);
for (var i = 1, ii = arguments.length; i < ii; ++i) {
var source = arguments[i];
if (source !== undefined && source !== null) {
for (var key in source) {
if (source.hasOwnProperty(key)) {
output[key] = source[key];
}
}
}
}
return output;
};
/**
* Removes all properties from an object.
* @param {Object} object The object to clear.
*/
ol.object.clear = function(object) {
for (var property in object) {
delete object[property];
}
};
/**
* Determine if an object has any properties.
* @param {Object} object The object to check.
* @return {boolean} The object is empty.
*/
ol.object.isEmpty = function(object) {
var property;
for (property in object) {
return false;
}
return !property;
};

View File

@@ -1,7 +1,7 @@
goog.provide('ol.structs.PriorityQueue');
goog.require('goog.asserts');
goog.require('goog.object');
goog.require('ol.object');
/**
@@ -88,7 +88,7 @@ ol.structs.PriorityQueue.prototype.assertValid = function() {
ol.structs.PriorityQueue.prototype.clear = function() {
this.elements_.length = 0;
this.priorities_.length = 0;
goog.object.clear(this.queuedElements_);
ol.object.clear(this.queuedElements_);
};

View File

@@ -2,10 +2,10 @@ goog.provide('ol.webgl.Context');
goog.require('goog.asserts');
goog.require('goog.log');
goog.require('goog.object');
goog.require('ol');
goog.require('ol.array');
goog.require('ol.events');
goog.require('ol.object');
goog.require('ol.webgl.Buffer');
goog.require('ol.webgl.WebGLContextEventType');
@@ -282,9 +282,9 @@ ol.webgl.Context.prototype.getProgram = function(
* FIXME empy description for jsdoc
*/
ol.webgl.Context.prototype.handleWebGLContextLost = function() {
goog.object.clear(this.bufferCache_);
goog.object.clear(this.shaderCache_);
goog.object.clear(this.programCache_);
ol.object.clear(this.bufferCache_);
ol.object.clear(this.shaderCache_);
ol.object.clear(this.programCache_);
this.currentProgram_ = null;
this.hitDetectionFramebuffer_ = null;
this.hitDetectionTexture_ = null;