Sha256: a2981395b1a8d1ce561cde15f6d9da1055672139aea7a7b7a343b1620cd4d3b5

Contents?: true

Size: 1 KB

Versions: 10

Compression:

Stored size: 1 KB

Contents

/**@constructor*/
function Hash() {
  this.reset();
}

Hash.prototype.reset = function() {
  this.elements = {};
}

Hash.prototype.put = function() {
  for (var i = 0, l = arguments.length; i < l; i++) {
    this.elements[arguments[i]] = arguments[++i];
  }
}

Hash.prototype.has = function(key) {
  return this.elements.hasOwnProperty(key);
}

Hash.prototype.get = function(key) {
  return (this.has(key)) ? this.elements[key] : undefined;
}

Hash.prototype.drop = function(key) {
  if (this.has(key)) {
    delete this.elements[key];
  }
}

Hash.prototype.rename = function(oldKey, newKey) {
  if (oldKey != newKey && this.has(oldKey)) {
    this.elements[newKey] = this.elements[oldKey];
    delete this.elements[oldKey];
  }
}

Hash.prototype.keys = function() {
  var keys = [];
  for (var key in this.elements) if (this.has(key)) keys.push(key);
  return keys;
}

Hash.prototype.values = function() {
  var values = [];
  for (var key in this.elements) if (this.has(key)) values.push(this.get(key));
  return values;
}

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
sproutcore-0.9.14 jsdoc/app/frame/Hash.js
sproutcore-0.9.15 jsdoc/app/frame/Hash.js
sproutcore-0.9.17 jsdoc/app/frame/Hash.js
sproutcore-0.9.16 jsdoc/app/frame/Hash.js
sproutcore-0.9.18 jsdoc/app/frame/Hash.js
sproutcore-0.9.19 jsdoc/app/frame/Hash.js
sproutcore-0.9.22 jsdoc/app/frame/Hash.js
sproutcore-0.9.21 jsdoc/app/frame/Hash.js
sproutcore-0.9.20 jsdoc/app/frame/Hash.js
sproutcore-0.9.23 jsdoc/app/frame/Hash.js