mirror of
https://github.com/idanoo/GoScrobble.git
synced 2024-11-25 09:55:15 +00:00
27 lines
530 B
JavaScript
27 lines
530 B
JavaScript
|
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;
|
||
|
|
||
|
} );
|