forked from edchat/dojo-generate-form
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathequals.js
29 lines (28 loc) · 888 Bytes
/
equals.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
define([ "dojo/_base/array", //
"dojo/_base/lang",//
"dojo/_base/declare",//
"dojox/mvc/equals"//
], function(array, lang, declare, equals) {
var equalsOptions = {
getType: function(/*Anything*/ v){
// summary:
// Returns the type of the given value.
// v: Anything
// The value.
if (v && v.__type) {
return v.__type;
}
return lang.isArray(v) ? "array" : lang.isFunction((v || {}).getTime) ? "date" : v != null && ({}.toString.call(v) == "[object Object]" || lang.isFunction((v || {}).set) && lang.isFunction((v || {}).watch)) ? "object" : "value";
},
equalsMeta : function(/* Anything[] */dst,src) {
return equalsModelHandle(dst.value,src.value);
}
}
var options={};
lang.mixin(options,equals);
lang.mixin(options,equalsOptions);
var equalsModelHandle = function(src,dst) {
return equals(src,dst, options);
}
return equalsModelHandle;
})