a:18:{s:9:"#provides";s:4:"dojo";s:9:"#resource";s:13:"_base/lang.js";s:13:"dojo.isString";a:5:{s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:2:"it";a:1:{s:4:"type";s:8:"anything";}}s:6:"source";s:103:" return !!arguments.length && it != null && (typeof it == "string" || it instanceof String); // Boolean";s:7:"summary";s:29:"Return true if it is a String";s:7:"returns";s:7:"Boolean";}s:12:"dojo.isArray";a:5:{s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:2:"it";a:1:{s:4:"type";s:8:"anything";}}s:6:"source";s:71:" return it && (it instanceof Array || typeof it == "array"); // Boolean";s:7:"summary";s:29:"Return true if it is an Array";s:7:"returns";s:7:"Boolean";}s:15:"dojo.isFunction";a:6:{s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:2:"it";a:2:{s:4:"type";s:8:"anything";s:7:"summary";s:0:"";}}s:6:"source";s:466:" var _isFunction = function(/*anything*/ it){ var t = typeof it; // must evaluate separately due to bizarre Opera bug. See #8937 return it && (t == "function" || it instanceof Function); // Boolean }; return dojo.isSafari ? // only slow this down w/ gratuitious casting in Safari (not WebKit) function(/*anything*/ it){ if(typeof it == "function" && it == "[object NodeList]"){ return false; } return _isFunction(it); // Boolean } : _isFunction;";s:7:"summary";s:31:"Return true if it is a Function";s:7:"returns";s:7:"Boolean";s:11:"initialized";b:1;}s:13:"dojo.isObject";a:4:{s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:2:"it";a:1:{s:4:"type";s:8:"anything";}}s:6:"source";s:123:" return it !== undefined && (it === null || typeof it == "object" || dojo.isArray(it) || dojo.isFunction(it)); // Boolean";s:7:"summary";s:75:"Returns true if it is a JavaScript object (or an Array, a Function or null)";}s:16:"dojo.isArrayLike";a:7:{s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:2:"it";a:1:{s:4:"type";s:8:"anything";}}s:6:"source";s:292:" var d = dojo; return it && it !== undefined && // Boolean // keep out built-in constructors (Number, String, ...) which have length // properties !d.isString(it) && !d.isFunction(it) && !(it.tagName && it.tagName.toLowerCase() == 'form') && (d.isArray(it) || isFinite(it.length));";s:7:"summary";s:45:"similar to dojo.isArray() but more permissive";s:11:"description";s:257:"Doesn't strongly test for "arrayness". Instead, settles for "isn't a string or number and has a length property". Arguments objects and DOM collections will return true when passed to dojo.isArrayLike(), but will return false when passed to dojo.isArray().";s:14:"return_summary";s:61:"If it walks like a duck and quacks like a duck, return `true`";s:7:"returns";s:7:"Boolean";}s:12:"dojo.isAlien";a:5:{s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:2:"it";a:1:{s:4:"type";s:8:"anything";}}s:6:"source";s:94:" return it && !dojo.isFunction(it) && /\{\s*\[native code\]\s*\}/.test(String(it)); // Boolean";s:7:"summary";s:118:"Returns true if it is a built-in function or some other kind of oddball that *should* report as a function but doesn't";s:7:"returns";s:7:"Boolean";}s:11:"dojo.extend";a:5:{s:4:"type";s:8:"Function";s:10:"parameters";a:2:{s:11:"constructor";a:1:{s:4:"type";s:6:"Object";}s:5:"props";a:2:{s:9:"repeating";b:1;s:4:"type";s:6:"Object";}}s:6:"source";s:130:" for(var i=1, l=arguments.length; i 2){ return dojo._hitchArgs.apply(dojo, arguments); // Function } if(!method){ method = scope; scope = null; } if(dojo.isString(method)){ scope = scope || dojo.global; if(!scope[method]){ throw(['dojo.hitch: scope["', method, '"] is null (scope="', scope, '")'].join('')); } return function(){ return scope[method].apply(scope, arguments || []); }; // Function } return !scope ? method : function(){ return method.apply(scope, arguments || []); }; // Function";s:7:"summary";s:438:"Returns a function that will only ever execute in the a given scope. This allows for easy use of object member functions in callbacks and other places in which the "this" keyword may otherwise not reference the expected scope. Any number of default positional arguments may be passed as parameters beyond "method". Each of these values will be used to "placehold" (similar to curry) for the hitched function.";s:7:"returns";s:8:"Function";s:8:"examples";a:2:{i:0;s:63:" dojo.hitch(foo, "bar")(); runs foo.bar() in the scope of foo";i:1;s:91:" dojo.hitch(foo, myFunction); returns a function that runs myFunction in the scope of foo";}s:6:"chains";a:1:{s:4:"call";a:1:{i:0;s:15:"dojo._hitchArgs";}}}s:13:"dojo.delegate";a:7:{s:4:"type";s:8:"Function";s:10:"parameters";a:2:{s:3:"obj";a:2:{s:4:"type";s:3:"The";s:7:"summary";s:89:"object to delegate to for properties not found directly on the return object or in props.";}s:5:"props";a:2:{s:4:"type";s:2:"an";s:7:"summary";s:61:"object containing properties to assign to the returned object";}}s:6:"source";s:1203:" // summary: // Returns a new object which "looks" to obj for properties which it // does not have a value for. Optionally takes a bag of properties to // seed the returned object with initially. // description: // This is a small implementaton of the Boodman/Crockford delegation // pattern in JavaScript. An intermediate object constructor mediates // the prototype chain for the returned object, using it to delegate // down to obj for property lookup when object-local lookup fails. // This can be thought of similarly to ES4's "wrap", save that it does // not act on types but rather on pure objects. // obj: // The object to delegate to for properties not found directly on the // return object or in props. // props: // an object containing properties to assign to the returned object // returns: // an Object of anonymous type // example: // | var foo = { bar: "baz" }; // | var thinger = dojo.delegate(foo, { thud: "xyzzy"}); // | thinger.bar == "baz"; // delegated to foo // | foo.thud == undefined; // by definition // | thinger.thud == "xyzzy"; // mixed in from props // | foo.bar = "thonk"; // | thinger.bar == "thonk"; // still delegated to foo's bar";s:7:"summary";s:183:"Returns a new object which "looks" to obj for properties which it does not have a value for. Optionally takes a bag of properties to seed the returned object with initially.";s:11:"description";s:375:"This is a small implementaton of the Boodman/Crockford delegation pattern in JavaScript. An intermediate object constructor mediates the prototype chain for the returned object, using it to delegate down to obj for property lookup when object-local lookup fails. This can be thought of similarly to ES4's "wrap", save that it does not act on types but rather on pure objects.";s:14:"return_summary";s:27:"an Object of anonymous type";s:8:"examples";a:1:{i:0;s:291:" var foo = { bar: "baz" }; var thinger = dojo.delegate(foo, { thud: "xyzzy"}); thinger.bar == "baz"; // delegated to foo foo.thud == undefined; // by definition thinger.thud == "xyzzy"; // mixed in from props foo.bar = "thonk"; thinger.bar == "thonk"; // still delegated to foo's bar";}}s:13:"dojo._toArray";a:5:{s:4:"type";s:8:"Function";s:10:"parameters";a:3:{s:3:"obj";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:146:"the object to "arrayify". We expect the object to have, at a minimum, a length property which corresponds to integer-indexed properties.";}s:6:"offset";a:3:{s:4:"type";s:6:"Number";s:8:"optional";b:1;s:7:"summary";s:69:"the location in obj to start iterating from. Defaults to 0. Optional.";}s:9:"startWith";a:3:{s:4:"type";s:5:"Array";s:8:"optional";b:1;s:7:"summary";s:149:"An array to pack with the properties of obj. If provided, properties in obj are appended at the end of startWith and startWith is the returned array.";}}s:6:"source";s:598:" // summary: // Converts an array-like object (i.e. arguments, DOMCollection) to an // array. Returns a new Array with the elements of obj. // obj: Object // the object to "arrayify". We expect the object to have, at a // minimum, a length property which corresponds to integer-indexed // properties. // offset: Number? // the location in obj to start iterating from. Defaults to 0. // Optional. // startWith: Array? // An array to pack with the properties of obj. If provided, // properties in obj are appended at the end of startWith and // startWith is the returned array.";s:7:"summary";s:120:"Converts an array-like object (i.e. arguments, DOMCollection) to an array. Returns a new Array with the elements of obj.";s:7:"private";b:1;}s:12:"dojo.partial";a:7:{s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:6:"method";a:2:{s:9:"repeating";b:1;s:4:"type";s:18:"Function|String , ";}}s:6:"source";s:102:" var arr = [ null ]; return dojo.hitch.apply(dojo, arr.concat(dojo._toArray(arguments))); // Function";s:7:"summary";s:112:"similar to hitch() except that the scope object is left to be whatever the execution context eventually becomes.";s:11:"description";s:96:"Calling dojo.partial is the functional equivalent of calling: dojo.hitch(null, funcName, ...);";s:7:"returns";s:8:"Function";s:6:"chains";a:1:{s:4:"call";a:1:{i:0;s:10:"dojo.hitch";}}}s:10:"dojo.clone";a:5:{s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:1:"o";a:1:{s:4:"type";s:8:"anything";}}s:6:"source";s:540:" if(!o){ return o; } if(dojo.isArray(o)){ var r = []; for(var i = 0; i < o.length; ++i){ r.push(dojo.clone(o[i])); } return r; // Array } if(!dojo.isObject(o)){ return o; /*anything*/ } if(o.nodeType && o.cloneNode){ // isNode return o.cloneNode(true); // Node } if(o instanceof Date){ return new Date(o.getTime()); // Date } // Generic objects r = new o.constructor(); // specific to dojo.declare()'d classes! for(i in o){ if(!(i in r) || r[i] != o[i]){ r[i] = dojo.clone(o[i]); } } return r; // Object";s:7:"summary";s:95:"Clones objects (including DOM nodes) and all children. Warning: do not clone cyclic structures.";s:7:"returns";s:31:"Array|anything|Node|Date|Object";}s:9:"dojo.trim";a:7:{s:4:"type";s:8:"Function";s:10:"parameters";a:1:{s:3:"str";a:2:{s:4:"type";s:6:"String";s:7:"summary";s:20:"String to be trimmed";}}s:6:"source";s:21:" return ""; // String";s:7:"summary";s:46:"Trims whitespace from both sides of the string";s:14:"return_summary";s:33:"String Returns the trimmed string";s:11:"description";s:345:"This version of trim() was selected for inclusion into the base due to its compact size and relatively good performance (see [Steven Levithan's blog](http://blog.stevenlevithan.com/archives/faster-trim-javascript) Uses String.prototype.trim instead, if available. The fastest but longest version of this function is located at dojo.string.trim()";s:7:"returns";s:6:"String";}s:14:"dojo._delegate";a:6:{s:4:"type";s:8:"Function";s:11:"initialized";b:1;s:6:"source";s:6204:"dojo.provide("dojo._base.lang"); // Crockford (ish) functions dojo.isString = function(/*anything*/ it){ // summary: // Return true if it is a String return !!arguments.length && it != null && (typeof it == "string" || it instanceof String); // Boolean } dojo.isArray = function(/*anything*/ it){ // summary: // Return true if it is an Array return it && (it instanceof Array || typeof it == "array"); // Boolean } dojo.isFunction = function(it){ // summary: Return true if it is a Function // it: anything return; // Boolean } dojo.isFunction = (function(){ var _isFunction = function(/*anything*/ it){ var t = typeof it; // must evaluate separately due to bizarre Opera bug. See #8937 return it && (t == "function" || it instanceof Function); // Boolean }; return dojo.isSafari ? // only slow this down w/ gratuitious casting in Safari (not WebKit) function(/*anything*/ it){ if(typeof it == "function" && it == "[object NodeList]"){ return false; } return _isFunction(it); // Boolean } : _isFunction; })(); dojo.isObject = function(/*anything*/ it){ // summary: // Returns true if it is a JavaScript object (or an Array, a Function // or null) return it !== undefined && (it === null || typeof it == "object" || dojo.isArray(it) || dojo.isFunction(it)); // Boolean } dojo.isArrayLike = function(/*anything*/ it){ // summary: // similar to dojo.isArray() but more permissive // description: // Doesn't strongly test for "arrayness". Instead, settles for "isn't // a string or number and has a length property". Arguments objects // and DOM collections will return true when passed to // dojo.isArrayLike(), but will return false when passed to // dojo.isArray(). // returns: // If it walks like a duck and quacks like a duck, return `true` var d = dojo; return it && it !== undefined && // Boolean // keep out built-in constructors (Number, String, ...) which have length // properties !d.isString(it) && !d.isFunction(it) && !(it.tagName && it.tagName.toLowerCase() == 'form') && (d.isArray(it) || isFinite(it.length)); } dojo.isAlien = function(/*anything*/ it){ // summary: // Returns true if it is a built-in function or some other kind of // oddball that *should* report as a function but doesn't return it && !dojo.isFunction(it) && /\{\s*\[native code\]\s*\}/.test(String(it)); // Boolean } dojo.extend = function(/*Object*/ constructor, /*Object...*/ props){ // summary: // Adds all properties and methods of props to constructor's // prototype, making them available to all instances created with // constructor. for(var i=1, l=arguments.length; i 2){ return dojo._hitchArgs.apply(dojo, arguments); // Function } if(!method){ method = scope; scope = null; } if(dojo.isString(method)){ scope = scope || dojo.global; if(!scope[method]){ throw(['dojo.hitch: scope["', method, '"] is null (scope="', scope, '")'].join('')); } return function(){ return scope[method].apply(scope, arguments || []); }; // Function } return !scope ? method : function(){ return method.apply(scope, arguments || []); }; // Function } dojo.delegate = function(obj, props){ // summary: // Returns a new object which "looks" to obj for properties which it // does not have a value for. Optionally takes a bag of properties to // seed the returned object with initially. // description: // This is a small implementaton of the Boodman/Crockford delegation // pattern in JavaScript. An intermediate object constructor mediates // the prototype chain for the returned object, using it to delegate // down to obj for property lookup when object-local lookup fails. // This can be thought of similarly to ES4's "wrap", save that it does // not act on types but rather on pure objects. // obj: // The object to delegate to for properties not found directly on the // return object or in props. // props: // an object containing properties to assign to the returned object // returns: // an Object of anonymous type // example: // | var foo = { bar: "baz" }; // | var thinger = dojo.delegate(foo, { thud: "xyzzy"}); // | thinger.bar == "baz"; // delegated to foo // | foo.thud == undefined; // by definition // | thinger.thud == "xyzzy"; // mixed in from props // | foo.bar = "thonk"; // | thinger.bar == "thonk"; // still delegated to foo's bar } dojo.delegate = dojo._delegate = (function(){ // boodman/crockford delegation w/ cornford optimization function TMP(){} return function(obj, props){ TMP.prototype = obj; var tmp = new TMP(); if(props){ dojo._mixin(tmp, props); } return tmp; // Object }";s:7:"returns";s:29:"Boolean|Object|mixed|Function";s:7:"private";b:1;s:7:"summary";s:0:"";}s:4:"dojo";a:2:{s:4:"type";s:6:"Object";s:7:"summary";s:0:"";}}