Ctrl K
ComunidadGuías…

test/helpers/live-query-fixture.cjs

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
// A provider-free query stays current until the test explicitly retires it.
function create() {
  var closed = false, waiters = [];
  function close() {
    closed = true;
    waiters.splice(0).forEach(function (resolve) { resolve({ done: true }); });
  }
  return { close: close, abort: close, pushMessage: function () { return !closed; },
    [Symbol.asyncIterator]: function () { return { next: function () {
      return closed ? Promise.resolve({ done: true }) : new Promise(function (resolve) { waiters.push(resolve); });
    } }; } };
}
async function retire(session) {
  var handle = session.queryInstance;
  if (!handle) return;
  await handle.close();
  var deadline = Date.now() + 2000;
  while (session.queryInstance === handle) {
    if (Date.now() > deadline) throw new Error("Fixture query did not retire");
    await new Promise(function (resolve) { setImmediate(resolve); });
  }
}
module.exports = { create: create, retire: retire };