ÿØÿà JFIF ` ` ÿþ
|
Server : Apache System : Linux cloud.heroica.com.br 4.18.0-553.36.1.el8_10.x86_64 #1 SMP Wed Jan 22 03:07:54 EST 2025 x86_64 User : farolpborg ( 1053) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /var/www/node_services/apimetaexamepopular/node_modules/thingies/es6/ |
Upload File : |
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createRace = void 0;
/**
* Constructs a function that will only invoke the first function passed to it
* concurrently. Once the function has been executed, the racer will be reset
* and the next invocation will be allowed to execute.
*
* Example:
*
* ```ts
* import {createRace} from 'thingies/es2020/createRace';
*
* const race = createRace();
*
* race(() => {
* race(() => {
* console.log('This will not be executed');
* });
* console.log('This will be executed');
* });
*
* race(() => {
* console.log('This will be executed');
* });
* ```
*
* @returns A "race" function that will only invoke the first function passed to it.
*/
const createRace = () => {
let invoked = false;
return (fn) => {
if (invoked)
return;
invoked = true;
try {
return fn();
}
finally {
invoked = false;
}
};
};
exports.createRace = createRace;