| var before = require('./before'); | |
| 
 | |
| /** | |
|  * Creates a function that is restricted to invoking `func` once. Repeat calls | |
|  * to the function return the value of the first invocation. The `func` is | |
|  * invoked with the `this` binding and arguments of the created function. | |
|  * | |
|  * @static | |
|  * @memberOf _ | |
|  * @since 0.1.0 | |
|  * @category Function | |
|  * @param {Function} func The function to restrict. | |
|  * @returns {Function} Returns the new restricted function. | |
|  * @example | |
|  * | |
|  * var initialize = _.once(createApplication); | |
|  * initialize(); | |
|  * initialize(); | |
|  * // => `createApplication` is invoked once | |
|  */ | |
| function once(func) { | |
|   return before(2, func); | |
| } | |
| 
 | |
| module.exports = once;
 |