HEX
Server: Apache
System: Linux p3plzcpnl506847.prod.phx3.secureserver.net 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
User: slfopp7cb1df (5698090)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //home/slfopp7cb1df/www/sitepacket.com/src/client/src/scripts/actionQueue.js
let queue = []

export function queueAction(action) {
  let l = queue.length

  queue.unshift(action)

  if (l === 0) {
    runAction()
  }
}

async function runAction() {
  await queue[queue.length - 1].action()
  queue.pop()

  if (queue.length > 0) {
    batch()
    runAction()
  }
}

function batch() {
  if (queue.length > 2) {
    let batchedQueue = {}
    for (let action of queue) {
      batchedQueue[action.name] = action
    }

    queue = []
    for (let actionName in batchedQueue) {
      queue.push(batchedQueue[actionName])
    }
  }
}