12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- if (!dojo._hasResource["dojox.lang.utils"]) { // _hasResource checks added by
- // build. Do not use
- // _hasResource directly in your
- // code.
- dojo._hasResource["dojox.lang.utils"] = true;
- dojo.provide("dojox.lang.utils");
- (function() {
- var empty = {}, du = dojox.lang.utils;
- dojo.mixin(dojox.lang.utils, {
- coerceType : function(target, source) {
- switch (typeof target) {
- case "number" :
- return Number(eval("(" + source + ")"));
- case "string" :
- return String(source);
- case "boolean" :
- return Boolean(eval("(" + source + ")"));
- }
- return eval("(" + source + ")");
- },
- updateWithObject : function(target, source, conv) {
- // summary: updates an existing object in place with
- // properties from an "source" object.
- // target: Object: the "target" object to be updated
- // source: Object: the "source" object, whose properties
- // will be used to source the existed object.
- // conv: Boolean?: force conversion to the original type
- if (!source) {
- return target;
- }
- for (var x in target) {
- if (x in source && !(x in empty)) {
- var t = target[x];
- if (t && typeof t == "object") {
- du.updateObject(t, source[x]);
- } else {
- target[x] = conv ? du.coerceType(t,
- source[x]) : dojo.clone(source[x]);
- }
- }
- }
- return target; // Object
- },
- updateWithPattern : function(target, source, pattern, conv) {
- // summary: updates an existing object in place with
- // properties from an "source" object.
- // target: Object: the "target" object to be updated
- // source: Object: the "source" object, whose properties
- // will be used to source the existed object.
- // pattern: Array: an array of properties to be copied
- // conv: Boolean?: force conversion to the original type
- if (!source || !pattern) {
- return target;
- }
- for (var x in pattern) {
- if (x in source && !(x in empty)) {
- target[x] = conv ? du.coerceType(pattern[x],
- source[x]) : dojo.clone(source[x]);
- }
- }
- return target; // Object
- }
- });
- })();
- }
|