function once( fn, context = null ) {
			const func = fn.bind( context );
			called = 0, result = null;
			return rename( function( ...args ) {
				result = called === 1 ? result : func( ...args );
				called |= 1;
				return result;
			}, fn.name );
		}
/**
		 * Restricts the execution of a function to one call. Note this does not change the original function.
		 * @param {Function} fn The function to limit.
		 * @param {Object} [context=null] The context to use.
		 * @returns {Function} The restricted function.
		 * @memberof XtraUtils.Function.
		 * @example
		 * function k(a) { return a };
		 * k = Function.once(k);
		 * k(3);		// 3
		 * k(4);		// 4
		 */
Restricts the execution of a function to one call. Note this does not change the original function.
@param {Function} fn The function to limit.
@param {Object} [context=null] The context to use.
@returns {Function} The restricted function.
Restricts the execution of a function to one call . Note this does not change the original function . @param { Function } fn The function to limit . @param { Object } [ context = null ] The context to use . @returns { Function } The restricted function .
function once( fn, context = null ) {
			const func = fn.bind( context );
			called = 0, result = null;
			return rename( function( ...args ) {
				result = called === 1 ? result : func( ...args );
				called |= 1;
				return result;
			}, fn.name );
		}
function once ( fn , context = null ) { const func = fn . bind ( context ) ; called = 0 , result = null ; return rename ( function ( ... args ) { result = called === 1 ? result : func ( ... args ) ; called |= 1 ; return result ; } , fn . name ) ; }
Restricts the execution of a function to one call.
Restricts the execution of a function to one call .