]>
git.wh0rd.org - tt-rss.git/blob - lib/dojo/aspect.js
2 Copyright (c) 2004-2012, The Dojo Foundation All Rights Reserved.
3 Available via Academic Free License >= 2.1 OR the modified BSD license.
4 see: http://dojotoolkit.org/license for details
8 define("dojo/aspect",[],function(){"use strict";var _1
,_2
=0;function _3(_4
,_5
,_6
,_7
){var _8
=_4
[_5
];var _9
=_5
=="around";var _a
;if(_9
){var _b
=_6(function(){return _8
.advice(this,arguments
);});_a
={remove:function(){_a
.cancelled
=true;},advice:function(_c
,_d
){return _a
.cancelled
?_8
.advice(_c
,_d
):_b
.apply(_c
,_d
);}};}else{_a
={remove:function(){var _e
=_a
.previous
;var _f
=_a
.next
;if(!_f
&&!_e
){delete _4
[_5
];}else{if(_e
){_e
.next
=_f
;}else{_4
[_5
]=_f
;}if(_f
){_f
.previous
=_e
;}}},id
:_2
++,advice
:_6
,receiveArguments
:_7
};}if(_8
&&!_9
){if(_5
=="after"){while(_8
.next
&&(_8
=_8
.next
)){}_8
.next
=_a
;_a
.previous
=_8
;}else{if(_5
=="before"){_4
[_5
]=_a
;_a
.next
=_8
;_8
.previous
=_a
;}}}else{_4
[_5
]=_a
;}return _a
;};function _10(_11
){return function(_12
,_13
,_14
,_15
){var _16
=_12
[_13
],_17
;if(!_16
||_16
.target
!=_12
){_12
[_13
]=_17=function(){var _18
=_2
;var _19
=arguments
;var _1a
=_17
.before
;while(_1a
){_19
=_1a
.advice
.apply(this,_19
)||_19
;_1a
=_1a
.next
;}if(_17
.around
){var _1b
=_17
.around
.advice(this,_19
);}var _1c
=_17
.after
;while(_1c
&&_1c
.id
<_18
){if(_1c
.receiveArguments
){var _1d
=_1c
.advice
.apply(this,_19
);_1b
=_1d
===_1
?_1b
:_1d
;}else{_1b
=_1c
.advice
.call(this,_1b
,_19
);}_1c
=_1c
.next
;}return _1b
;};if(_16
){_17
.around
={advice:function(_1e
,_1f
){return _16
.apply(_1e
,_1f
);}};}_17
.target
=_12
;}var _20
=_3((_17
||_16
),_11
,_14
,_15
);_14
=null;return _20
;};};var _21
=_10("after");var _22
=_10("before");var _23
=_10("around");return {before
:_22
,around
:_23
,after
:_21
};});