blob: b1599b23e43a3208af4c2f3329bc8aaab69b49d2 [file] [log] [blame]
dojo.provide("dojo.collections.Dictionary");
dojo.require("dojo.collections.Collections");
dojo.collections.Dictionary=function(_1){
var _2={};
this.count=0;
var _3={};
this.add=function(k,v){
var b=(k in _2);
_2[k]=new dojo.collections.DictionaryEntry(k,v);
if(!b){
this.count++;
}
};
this.clear=function(){
_2={};
this.count=0;
};
this.clone=function(){
return new dojo.collections.Dictionary(this);
};
this.contains=this.containsKey=function(k){
if(_3[k]){
return false;
}
return (_2[k]!=null);
};
this.containsValue=function(v){
var e=this.getIterator();
while(e.get()){
if(e.element.value==v){
return true;
}
}
return false;
};
this.entry=function(k){
return _2[k];
};
this.forEach=function(fn,_c){
var a=[];
for(var p in _2){
if(!_3[p]){
a.push(_2[p]);
}
}
var s=_c||dj_global;
if(Array.forEach){
Array.forEach(a,fn,s);
}else{
for(var i=0;i<a.length;i++){
fn.call(s,a[i],i,a);
}
}
};
this.getKeyList=function(){
return (this.getIterator()).map(function(_11){
return _11.key;
});
};
this.getValueList=function(){
return (this.getIterator()).map(function(_12){
return _12.value;
});
};
this.item=function(k){
if(k in _2){
return _2[k].valueOf();
}
return undefined;
};
this.getIterator=function(){
return new dojo.collections.DictionaryIterator(_2);
};
this.remove=function(k){
if(k in _2&&!_3[k]){
delete _2[k];
this.count--;
return true;
}
return false;
};
if(_1){
var e=_1.getIterator();
while(e.get()){
this.add(e.element.key,e.element.value);
}
}
};