'use strict'; const locks = require('locks'); const mutexWaitForOK = locks.createMutex(); const mutexCommand = locks.createMutex(); function setLockWaitForOK() { return new Promise((resolve) => { mutexWaitForOK.lock(() => { resolve(true); }); }); } function releaseLockWaitForOK() { try { mutexWaitForOK.unlock(); } catch (e) { // } } function setLockWaitForCommand() { return new Promise((resolve) => { mutexCommand.lock(() => { resolve(true); }); }); } function releaseLockWaitForCommand() { setTimeout(() => { try { mutexCommand.unlock(); } catch (e) { // } }, 1500); } exports.setLockWaitForOK = setLockWaitForOK; exports.releaseLockWaitForOK = releaseLockWaitForOK; exports.setLockWaitForCommand = setLockWaitForCommand; exports.releaseLockWaitForCommand = releaseLockWaitForCommand;