UNPKG

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