baseISSObject.js
1.48 KB
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
var ZK =
{
extend : function()
{
// inline overrides
var io = function(o)
{
for ( var m in o)
{
this[m] = o[m];
}
};
var oc = Object.prototype.constructor;
return function(sb, sp, overrides)
{
if (typeof sp == 'object')
{
overrides = sp;
sp = sb;
sb = overrides.constructor != oc ? overrides.constructor : function()
{
sp.apply(this, arguments);
};
}
var F = function()
{
}, sbp, spp = sp.prototype;
F.prototype = spp;
sbp = sb.prototype = new F();
sbp.constructor = sb;
sb.superclass = spp;
if (spp.constructor == oc)
{
spp.constructor = sp;
}
sb.override = function(o)
{
ZK.override(sb, o);
};
sbp.override = io;
ZK.override(sb, overrides);
sb.extend = function(o)
{
ZK.extend(sb, o);
};
return sb;
};
}(),
override : function(origclass, overrides)
{
if (overrides)
{
var p = origclass.prototype;
for ( var method in overrides)
{
p[method] = overrides[method];
}
}
},
apply : function(o, c, defaults)
{
if (defaults)
{
// no "this" reference for friendly out of scope calls
ZK.apply(o, defaults);
}
if (o && c && typeof c == 'object')
{
for ( var p in c)
{
o[p] = c[p];
}
}
return o;
}
};