68 lines
1.6 KiB
JavaScript
68 lines
1.6 KiB
JavaScript
/**
|
|
* @module ol/util
|
|
*/
|
|
|
|
/**
|
|
* @return {?} Any return.
|
|
*/
|
|
export function abstract() {
|
|
return /** @type {?} */ ((function() {
|
|
throw new Error('Unimplemented abstract method.');
|
|
})());
|
|
}
|
|
|
|
/**
|
|
* Inherit the prototype methods from one constructor into another.
|
|
*
|
|
* Usage:
|
|
*
|
|
* function ParentClass(a, b) { }
|
|
* ParentClass.prototype.foo = function(a) { }
|
|
*
|
|
* function ChildClass(a, b, c) {
|
|
* // Call parent constructor
|
|
* ParentClass.call(this, a, b);
|
|
* }
|
|
* inherits(ChildClass, ParentClass);
|
|
*
|
|
* var child = new ChildClass('a', 'b', 'see');
|
|
* child.foo(); // This works.
|
|
*
|
|
* @param {!Function} childCtor Child constructor.
|
|
* @param {!Function} parentCtor Parent constructor.
|
|
* @function module:ol.inherits
|
|
* @deprecated
|
|
* @api
|
|
*/
|
|
export function inherits(childCtor, parentCtor) {
|
|
childCtor.prototype = Object.create(parentCtor.prototype);
|
|
childCtor.prototype.constructor = childCtor;
|
|
}
|
|
|
|
/**
|
|
* Counter for getUid.
|
|
* @type {number}
|
|
* @private
|
|
*/
|
|
let uidCounter_ = 0;
|
|
|
|
/**
|
|
* Gets a unique ID for an object. This mutates the object so that further calls
|
|
* with the same object as a parameter returns the same value. Unique IDs are generated
|
|
* as a strictly increasing sequence. Adapted from goog.getUid.
|
|
*
|
|
* @param {Object} obj The object to get the unique ID for.
|
|
* @return {string} The unique ID for the object.
|
|
* @function module:ol.getUid
|
|
* @api
|
|
*/
|
|
export function getUid(obj) {
|
|
return obj.ol_uid || (obj.ol_uid = String(++uidCounter_));
|
|
}
|
|
|
|
/**
|
|
* OpenLayers version.
|
|
* @type {string}
|
|
*/
|
|
export const VERSION = 'latest';
|