acdibble
docs: https://www.typescriptlang.org/docs/handbook/2/narrowing.htm...
An ESLint plugin manages to do this well[1]. Would be nice to have this functionality built in natively although you do take a performance hit because you have to run the compiler.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...
My use case was I wanted to transfer a PDF to an Android-based tablet but in the moment didn't want to log into my email. I couldn't think of any quick, easy, and cross-platform solutions so I decided to write the service.
It's built on socket.io which is a godsend for websockets because it automatically handles so much grunt work and your app just works.
Deno format: https://deno.land/manual/tools/formatter
Deno bundle: https://deno.land/manual/tools/bundler
Not sure about polyfilling, but it might leverage TSC for that?
Added bonus is Deno compile, for creating standalone executables: https://deno.land/manual/tools/compiler
An BEAM process, and therefore a GenServer, has an atomic message queue built in. Only the process itself can pop messages out of its queue, so there is no need for locking. It is not possible to get messages out of the queue concurrently. Messages can be processed concurrently, but that's after they've already been removed from the queue.