blob: 90bb1341c988aa625639faaf461b4175b9e007b8 (
plain)
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
|
//>>built
// wrapped by build app
define("dojox/lang/aspect/cflow", ["dijit","dojo","dojox"], function(dijit,dojo,dojox){
dojo.provide("dojox.lang.aspect.cflow");
(function(){
var aop = dojox.lang.aspect;
aop.cflow = function(/*Object*/ instance, /*String|RegExp|Array?*/ method){
// summary:
// Returns true if the context stack contains a context for a given
// instance that satisfies a given method name criteria.
//
// instance:
// An instance to be matched. If null, any context will be examined.
// Otherwise the context should belong to this instance.
//
// method:
// An optional pattern to be matched against a method name. Can be a string,
// a RegExp object or an array of strings and RegExp objects.
// If it is omitted, any name will satisfy the criteria.
if(arguments.length > 1 && !(method instanceof Array)){
method = [method];
}
var contextStack = aop.getContextStack();
for(var i = contextStack.length - 1; i >= 0; --i){
var c = contextStack[i];
// check if instance matches
if(instance && c.instance != instance){ continue; }
if(!method){ return true; }
var n = c.joinPoint.targetName;
for(var j = method.length - 1; j >= 0; --j){
var m = method[j];
if(m instanceof RegExp){
if(m.test(n)){ return true; }
}else{
if(n == m){ return true; }
}
}
}
return false; // Boolean
};
})();
});
|