| define( function() { | |
| "use strict"; | |
| function addGetHookIf( conditionFn, hookFn ) { | |
| // Define the hook, we'll check on the first run if it's really needed. | |
| return { | |
| get: function() { | |
| if ( conditionFn() ) { | |
| // Hook not needed (or it's not possible to use it due | |
| // to missing dependency), remove it. | |
| delete this.get; | |
| return; | |
| } | |
| // Hook needed; redefine it so that the support test is not executed again. | |
| return ( this.get = hookFn ).apply( this, arguments ); | |
| } | |
| }; | |
| } | |
| return addGetHookIf; | |
| } ); |