1
|
var baseSetData = require('./_baseSetData'),
|
2
|
shortOut = require('./_shortOut');
|
3
|
|
4
|
/**
|
5
|
* Sets metadata for `func`.
|
6
|
*
|
7
|
* **Note:** If this function becomes hot, i.e. is invoked a lot in a short
|
8
|
* period of time, it will trip its breaker and transition to an identity
|
9
|
* function to avoid garbage collection pauses in V8. See
|
10
|
* [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)
|
11
|
* for more details.
|
12
|
*
|
13
|
* @private
|
14
|
* @param {Function} func The function to associate metadata with.
|
15
|
* @param {*} data The metadata.
|
16
|
* @returns {Function} Returns `func`.
|
17
|
*/
|
18
|
var setData = shortOut(baseSetData);
|
19
|
|
20
|
module.exports = setData;
|