]> git.pond.sub.org Git - eow/blobdiff - static/dojo-release-1.1.1/dojox/collections/Stack.js
add Dojo 1.1.1
[eow] / static / dojo-release-1.1.1 / dojox / collections / Stack.js
diff --git a/static/dojo-release-1.1.1/dojox/collections/Stack.js b/static/dojo-release-1.1.1/dojox/collections/Stack.js
new file mode 100644 (file)
index 0000000..999bbef
--- /dev/null
@@ -0,0 +1,72 @@
+if(!dojo._hasResource["dojox.collections.Stack"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
+dojo._hasResource["dojox.collections.Stack"] = true;
+dojo.provide("dojox.collections.Stack");
+dojo.require("dojox.collections._base");
+
+dojox.collections.Stack=function(/* array? */arr){
+       //      summary
+       //      returns an object of type dojox.collections.Stack
+       var q=[];
+       if (arr) q=q.concat(arr);
+       this.count=q.length;
+       this.clear=function(){
+               //      summary
+               //      Clear the internal array and reset the count
+               q=[];
+               this.count=q.length;
+       };
+       this.clone=function(){
+               //      summary
+               //      Create and return a clone of this Stack
+               return new dojox.collections.Stack(q);
+       };
+       this.contains=function(/* object */o){
+               //      summary
+               //      check to see if the stack contains object o
+               for (var i=0; i<q.length; i++){
+                       if (q[i] == o){
+                               return true;    //      bool
+                       }
+               }
+               return false;   //      bool
+       };
+       this.copyTo=function(/* array */ arr, /* int */ i){
+               //      summary
+               //      copy the stack into array arr at index i
+               arr.splice(i,0,q);
+       };
+       this.forEach=function(/* function */ fn, /* object? */ scope){
+               //      summary
+               //      functional iterator, following the mozilla spec.
+               dojo.forEach(q, fn, scope);
+       };
+       this.getIterator=function(){
+               //      summary
+               //      get an iterator for this collection
+               return new dojox.collections.Iterator(q);       //      dojox.collections.Iterator
+       };
+       this.peek=function(){
+               //      summary
+               //      Return the next item without altering the stack itself.
+               return q[(q.length-1)]; //      object
+       };
+       this.pop=function(){
+               //      summary
+               //      pop and return the next item on the stack
+               var r=q.pop();
+               this.count=q.length;
+               return r;       //      object
+       };
+       this.push=function(/* object */ o){
+               //      summary
+               //      Push object o onto the stack
+               this.count=q.push(o);
+       };
+       this.toArray=function(){
+               //      summary
+               //      create and return an array based on the internal collection
+               return [].concat(q);    //      array
+       };
+}
+
+}