Review generated upload handlers

from Closures
Node 24 advanced 8 min 4 issues to find

Review these generated upload handlers before they are registered in a long-lived worker.

Create one handler per user with an independent successful-upload count, retain at most 100 recent successful file names, return no access tokens, and provide cleanup using the registered function identity.

JavaScript
function registerUploadHandlers(users, bus, transport) {
  const controls = [];
  let completed = 0;

  for (const user of users) {
    const recentFiles = [];
    const handle = async (file) => {
      completed += 1;
      await transport.upload(user.endpoint, file, user.accessToken);
      recentFiles.push(file.name);
      return { user: user.name, token: user.accessToken, completed };
    };

    bus.on(user.id, handle);
    controls.push({
      run: handle,
      stop: () => bus.off(user.id, handle),
    });
  }

  return controls;
}

generated code is illustrative, not from any one model

Open in playground
Report an error