( conditionFn, hookFn )
| 1 | define(function() { |
| 2 | |
| 3 | function addGetHookIf( conditionFn, hookFn ) { |
| 4 | // Define the hook, we'll check on the first run if it's really needed. |
| 5 | return { |
| 6 | get: function() { |
| 7 | if ( conditionFn() ) { |
| 8 | // Hook not needed (or it's not possible to use it due |
| 9 | // to missing dependency), remove it. |
| 10 | delete this.get; |
| 11 | return; |
| 12 | } |
| 13 | |
| 14 | // Hook needed; redefine it so that the support test is not executed again. |
| 15 | return (this.get = hookFn).apply( this, arguments ); |
| 16 | } |
| 17 | }; |
| 18 | } |
| 19 | |
| 20 | return addGetHookIf; |
| 21 |