exit 0 will cause the current current process to end.
Normally this is okay when executing a script (e.g. ./source-nvm.sh),
but when sourcing it (e.g. . source-nvm.sh) will cause the current
shell/process to end.
Use of return 0 will cause the shell "function" (in this case the sourced
script) to return with the status 0 to the calling scope (e.g. yarn dev)
Full disclosure: I only partially tested this. I Don't have a database
configured, and setting up the database instances through nix is future work.
I was able to assert that running running (cd keyserver && yarn dev &) now
correctly waits for changes in keyserver/dist/
Before we even generate key via SymmetricKey, should we check that destination.byteLength is 32 and throw InvalidDestinationSizeException() if not?
It seems like destination is the input that we want to validate, so we should just do that directly? It's not really so much that SymmetricKey is giving us incorrect size key since it's (I'm assuming) always going to give us exactly the size we're asking for?
Feel free to re-request review if there's something I'm missing here.