Skip to content

Commit 55f4878

Browse files
committed
1.17.11
1 parent 7717bb3 commit 55f4878

File tree

23 files changed

+4415
-0
lines changed

23 files changed

+4415
-0
lines changed

dist/amd/can-reflect.js

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
/*can-reflect@1.17.10#can-reflect*/
2+
define([
3+
'require',
4+
'exports',
5+
'module',
6+
'./reflections/call/call',
7+
'./reflections/get-set/get-set',
8+
'./reflections/observe/observe',
9+
'./reflections/shape/shape',
10+
'./reflections/shape/schema/schema',
11+
'./reflections/type/type',
12+
'./reflections/get-name/get-name',
13+
'can-namespace',
14+
'./types/map',
15+
'./types/set'
16+
], function (require, exports, module) {
17+
'use strict';
18+
var functionReflections = require('./reflections/call/call');
19+
var getSet = require('./reflections/get-set/get-set');
20+
var observe = require('./reflections/observe/observe');
21+
var shape = require('./reflections/shape/shape');
22+
var schema = require('./reflections/shape/schema/schema');
23+
var type = require('./reflections/type/type');
24+
var getName = require('./reflections/get-name/get-name');
25+
var namespace = require('can-namespace');
26+
var reflect = {};
27+
[
28+
functionReflections,
29+
getSet,
30+
observe,
31+
shape,
32+
type,
33+
getName,
34+
schema
35+
].forEach(function (reflections) {
36+
for (var prop in reflections) {
37+
reflect[prop] = reflections[prop];
38+
}
39+
});
40+
require('./types/map');
41+
require('./types/set');
42+
module.exports = namespace.Reflect = reflect;
43+
});

dist/amd/reflections/call/call.js

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
/*can-reflect@1.17.10#reflections/call/call*/
2+
define([
3+
'require',
4+
'exports',
5+
'module',
6+
'can-symbol',
7+
'../type/type'
8+
], function (require, exports, module) {
9+
'use strict';
10+
var canSymbol = require('can-symbol');
11+
var typeReflections = require('../type/type');
12+
module.exports = {
13+
call: function (func, context) {
14+
var args = [].slice.call(arguments, 2);
15+
var apply = func[canSymbol.for('can.apply')];
16+
if (apply) {
17+
return apply.call(func, context, args);
18+
} else {
19+
return func.apply(context, args);
20+
}
21+
},
22+
apply: function (func, context, args) {
23+
var apply = func[canSymbol.for('can.apply')];
24+
if (apply) {
25+
return apply.call(func, context, args);
26+
} else {
27+
return func.apply(context, args);
28+
}
29+
},
30+
'new': function (func) {
31+
var args = [].slice.call(arguments, 1);
32+
var makeNew = func[canSymbol.for('can.new')];
33+
if (makeNew) {
34+
return makeNew.apply(func, args);
35+
} else {
36+
var context = Object.create(func.prototype);
37+
var ret = func.apply(context, args);
38+
if (typeReflections.isPrimitive(ret)) {
39+
return context;
40+
} else {
41+
return ret;
42+
}
43+
}
44+
}
45+
};
46+
});
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
/*can-reflect@1.17.10#reflections/get-name/get-name*/
2+
define([
3+
'require',
4+
'exports',
5+
'module',
6+
'can-symbol',
7+
'../type/type'
8+
], function (require, exports, module) {
9+
'use strict';
10+
var canSymbol = require('can-symbol');
11+
var typeReflections = require('../type/type');
12+
var getNameSymbol = canSymbol.for('can.getName');
13+
function setName(obj, nameGetter) {
14+
if (typeof nameGetter !== 'function') {
15+
var value = nameGetter;
16+
nameGetter = function () {
17+
return value;
18+
};
19+
}
20+
Object.defineProperty(obj, getNameSymbol, { value: nameGetter });
21+
}
22+
var anonymousID = 0;
23+
function getName(obj) {
24+
var type = typeof obj;
25+
if (obj === null || type !== 'object' && type !== 'function') {
26+
return '' + obj;
27+
}
28+
var nameGetter = obj[getNameSymbol];
29+
if (nameGetter) {
30+
return nameGetter.call(obj);
31+
}
32+
if (type === 'function') {
33+
if (!('name' in obj)) {
34+
obj.name = 'functionIE' + anonymousID++;
35+
}
36+
return obj.name;
37+
}
38+
if (obj.constructor && obj !== obj.constructor) {
39+
var parent = getName(obj.constructor);
40+
if (parent) {
41+
if (typeReflections.isValueLike(obj)) {
42+
return parent + '<>';
43+
}
44+
if (typeReflections.isMoreListLikeThanMapLike(obj)) {
45+
return parent + '[]';
46+
}
47+
if (typeReflections.isMapLike(obj)) {
48+
return parent + '{}';
49+
}
50+
}
51+
}
52+
return undefined;
53+
}
54+
module.exports = {
55+
setName: setName,
56+
getName: getName
57+
};
58+
});
Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
/*can-reflect@1.17.10#reflections/get-set/get-set*/
2+
define([
3+
'require',
4+
'exports',
5+
'module',
6+
'can-symbol',
7+
'../type/type'
8+
], function (require, exports, module) {
9+
'use strict';
10+
var canSymbol = require('can-symbol');
11+
var typeReflections = require('../type/type');
12+
var setKeyValueSymbol = canSymbol.for('can.setKeyValue'), getKeyValueSymbol = canSymbol.for('can.getKeyValue'), getValueSymbol = canSymbol.for('can.getValue'), setValueSymbol = canSymbol.for('can.setValue');
13+
var reflections = {
14+
setKeyValue: function (obj, key, value) {
15+
if (typeReflections.isSymbolLike(key)) {
16+
if (typeof key === 'symbol') {
17+
obj[key] = value;
18+
} else {
19+
Object.defineProperty(obj, key, {
20+
enumerable: false,
21+
configurable: true,
22+
value: value,
23+
writable: true
24+
});
25+
}
26+
return;
27+
}
28+
var setKeyValue = obj[setKeyValueSymbol];
29+
if (setKeyValue !== undefined) {
30+
return setKeyValue.call(obj, key, value);
31+
} else {
32+
obj[key] = value;
33+
}
34+
},
35+
getKeyValue: function (obj, key) {
36+
var getKeyValue = obj[getKeyValueSymbol];
37+
if (getKeyValue) {
38+
return getKeyValue.call(obj, key);
39+
}
40+
return obj[key];
41+
},
42+
deleteKeyValue: function (obj, key) {
43+
var deleteKeyValue = obj[canSymbol.for('can.deleteKeyValue')];
44+
if (deleteKeyValue) {
45+
return deleteKeyValue.call(obj, key);
46+
}
47+
delete obj[key];
48+
},
49+
getValue: function (value) {
50+
if (typeReflections.isPrimitive(value)) {
51+
return value;
52+
}
53+
var getValue = value[getValueSymbol];
54+
if (getValue) {
55+
return getValue.call(value);
56+
}
57+
return value;
58+
},
59+
setValue: function (item, value) {
60+
var setValue = item && item[setValueSymbol];
61+
if (setValue) {
62+
return setValue.call(item, value);
63+
} else {
64+
throw new Error('can-reflect.setValue - Can not set value.');
65+
}
66+
},
67+
splice: function (obj, index, removing, adding) {
68+
var howMany;
69+
if (typeof removing !== 'number') {
70+
var updateValues = obj[canSymbol.for('can.updateValues')];
71+
if (updateValues) {
72+
return updateValues.call(obj, index, removing, adding);
73+
}
74+
howMany = removing.length;
75+
} else {
76+
howMany = removing;
77+
}
78+
if (arguments.length <= 3) {
79+
adding = [];
80+
}
81+
var splice = obj[canSymbol.for('can.splice')];
82+
if (splice) {
83+
return splice.call(obj, index, howMany, adding);
84+
}
85+
return [].splice.apply(obj, [
86+
index,
87+
howMany
88+
].concat(adding));
89+
},
90+
addValues: function (obj, adding, index) {
91+
var add = obj[canSymbol.for('can.addValues')];
92+
if (add) {
93+
return add.call(obj, adding, index);
94+
}
95+
if (Array.isArray(obj) && index === undefined) {
96+
return obj.push.apply(obj, adding);
97+
}
98+
return reflections.splice(obj, index, [], adding);
99+
},
100+
removeValues: function (obj, removing, index) {
101+
var removeValues = obj[canSymbol.for('can.removeValues')];
102+
if (removeValues) {
103+
return removeValues.call(obj, removing, index);
104+
}
105+
if (Array.isArray(obj) && index === undefined) {
106+
removing.forEach(function (item) {
107+
var index = obj.indexOf(item);
108+
if (index >= 0) {
109+
obj.splice(index, 1);
110+
}
111+
});
112+
return;
113+
}
114+
return reflections.splice(obj, index, removing, []);
115+
}
116+
};
117+
reflections.get = reflections.getKeyValue;
118+
reflections.set = reflections.setKeyValue;
119+
reflections['delete'] = reflections.deleteKeyValue;
120+
module.exports = reflections;
121+
});

dist/amd/reflections/helpers.js

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/*can-reflect@1.17.10#reflections/helpers*/
2+
define([
3+
'require',
4+
'exports',
5+
'module',
6+
'can-symbol'
7+
], function (require, exports, module) {
8+
'use strict';
9+
var canSymbol = require('can-symbol');
10+
module.exports = {
11+
makeGetFirstSymbolValue: function (symbolNames) {
12+
var symbols = symbolNames.map(function (name) {
13+
return canSymbol.for(name);
14+
});
15+
var length = symbols.length;
16+
return function getFirstSymbol(obj) {
17+
var index = -1;
18+
while (++index < length) {
19+
if (obj[symbols[index]] !== undefined) {
20+
return obj[symbols[index]];
21+
}
22+
}
23+
};
24+
},
25+
hasLength: function (list) {
26+
var type = typeof list;
27+
if (type === 'string' || Array.isArray(list)) {
28+
return true;
29+
}
30+
var length = list && (type !== 'boolean' && type !== 'number' && 'length' in list) && list.length;
31+
return typeof list !== 'function' && (length === 0 || typeof length === 'number' && length > 0 && length - 1 in list);
32+
}
33+
};
34+
});

0 commit comments

Comments
 (0)