Blame | Last modification | View Log | RSS feed
if(!dojo._hasResource["dojox.collections._base"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.dojo._hasResource["dojox.collections._base"] = true;dojo.provide("dojox.collections._base");dojox.collections.DictionaryEntry=function(/* string */k, /* object */v){// summary// return an object of type dojox.collections.DictionaryEntrythis.key=k;this.value=v;this.valueOf=function(){return this.value; // object};this.toString=function(){return String(this.value); // string};}/* Iterators* The collections.Iterators (Iterator and DictionaryIterator) are built to* work with the Collections included in this module. However, they *can** be used with arrays and objects, respectively, should one choose to do so.*/dojox.collections.Iterator=function(/* array */arr){// summary// return an object of type dojox.collections.Iteratorvar a=arr;var position=0;this.element=a[position]||null;this.atEnd=function(){// summary// Test to see if the internal cursor has reached the end of the internal collection.return (position>=a.length); // bool};this.get=function(){// summary// Get the next member in the collection.if(this.atEnd()){return null; // object}this.element=a[position++];return this.element; // object};this.map=function(/* function */fn, /* object? */scope){// summary// Functional iteration with optional scope.return dojo.map(a, fn, scope);};this.reset=function(){// summary// reset the internal cursor.position=0;this.element=a[position];};}/* Notes:* The DictionaryIterator no longer supports a key and value property;* the reality is that you can use this to iterate over a JS object* being used as a hashtable.*/dojox.collections.DictionaryIterator=function(/* object */obj){// summary// return an object of type dojox.collections.DictionaryIteratorvar a=[]; // Create an indexing arrayvar testObject={};for(var p in obj){if(!testObject[p]){a.push(obj[p]); // fill it up}}var position=0;this.element=a[position]||null;this.atEnd=function(){// summary// Test to see if the internal cursor has reached the end of the internal collection.return (position>=a.length); // bool};this.get=function(){// summary// Get the next member in the collection.if(this.atEnd()){return null; // object}this.element=a[position++];return this.element; // object};this.map=function(/* function */fn, /* object? */scope){// summary// Functional iteration with optional scope.return dojo.map(a, fn, scope);};this.reset=function() {// summary// reset the internal cursor.position=0;this.element=a[position];};};}