angular infector

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
var  angular = {};
angular.services = {};
angular.factory = function(serviceName,store){
this.services[serviceName] = store;
};

angular.control = {};

data = {name: 'alan', age: 0};
angular.factory("add",add);
function add (){data.age++}
angular.factory("sub",sub);
function sub(){data.age--}
angular.factory("changeName",changeName);
function changeName(name){data.name = name}

var FN_ARGS = /^function\s*[^\(]*\(\s*([^\)]*)\)/m;
angular.controller = function(infectorName, infector) {
// console.log(infectorName);
// console.log(infector);
// console.log(infector.toString())
const argDecl = infector.toString().match(FN_ARGS);
console.log("infector:" ,argDecl[1])
infector.apply(this,[0,1,2])
}

var infectorUser = function(add, sub, changeName) {
console.log(add, sub, changeName);
}
angular.controller("infectorUser",infectorUser);



// let services = arguments;
// let arg = [];
// services.forEach(function(service){
// for(name of services) {
// if(services[name] === service){
// arg.push(services[name]);
// return false;
// }
// }
// throw service + " not definded"
// });
// return infector.apply(this,arg)