15 lines
		
	
	
		
			360 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			15 lines
		
	
	
		
			360 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
"use strict";
 | 
						|
 | 
						|
Object.defineProperty(exports, "__esModule", {
 | 
						|
    value: true
 | 
						|
});
 | 
						|
exports.default = onlyOnce;
 | 
						|
function onlyOnce(fn) {
 | 
						|
    return function (...args) {
 | 
						|
        if (fn === null) throw new Error("Callback was already called.");
 | 
						|
        var callFn = fn;
 | 
						|
        fn = null;
 | 
						|
        callFn.apply(this, args);
 | 
						|
    };
 | 
						|
}
 | 
						|
module.exports = exports.default; |