//>>built define(["dojo","dojox","dojo/io/script","dojo/data/util/sorter"],function(d,h){return d.declare("dojox.data.SnapLogicStore",null,{Parts:{DATA:"data",COUNT:"count"},url:"",constructor:function(a){a.url&&(this.url=a.url);this._parameters=a.parameters},_assertIsItem:function(a){if(!this.isItem(a))throw Error("dojox.data.SnapLogicStore: a function was passed an item argument that was not an item");},_assertIsAttribute:function(a){if("string"!==typeof a)throw Error("dojox.data.SnapLogicStore: a function was passed an attribute argument that was not an attribute name string"); },getFeatures:function(){return{"dojo.data.api.Read":!0}},getValue:function(a,b,c){this._assertIsItem(a);this._assertIsAttribute(b);b=d.indexOf(a.attributes,b);return-1!==b?a.values[b]:c},getAttributes:function(a){this._assertIsItem(a);return a.attributes},hasAttribute:function(a,b){this._assertIsItem(a);this._assertIsAttribute(b);for(var c=0;ca.start)throw Error("dojox.data.SnapLogicStore: request start value must be 0 or greater");b["sn.start"]=a.start+1}if(a.count){if(0>a.count)throw Error("dojox.data.SnapLogicStore: request count value 0 or greater");b["sn.limit"]=a.count}b["sn.content_type"]="application/javascript";b={url:this.url,content:b,timeout:6E4,callbackParamName:"sn.stream_header",handle:d.hitch(this,"_partHandler",a,this.Parts.DATA)}; a._dataHandle=d.io.script.get(b)}a.onBegin&&(b={"sn.count":"records","sn.content_type":"application/javascript"},b={url:this.url,content:b,timeout:6E4,callbackParamName:"sn.stream_header",handle:d.hitch(this,"_partHandler",a,this.Parts.COUNT)},a._countHandle=d.io.script.get(b));return a}})});