Skip to content

Instantly share code, notes, and snippets.

@mpj
Last active August 29, 2015 14:06
Show Gist options
  • Save mpj/1b6ad55599497340e3c1 to your computer and use it in GitHub Desktop.
Save mpj/1b6ad55599497340e3c1 to your computer and use it in GitHub Desktop.
snurra philisophy sketch

1. Inspection and Simulation

The primary ambition of Snurra is to make it easier to see what is happening inside your program, mock external dependencies and to verify behavior.

2. Usability over correctness

Snurra tries looks upon the API consumer like a user, rather than a developer that can be expected to fiddle around with unclear interfaces and vague documentation.

3. No magic and no veils

Snurra tries to expose vanilla node streams as cleanly as possible and not abstract them away from the user, so that the user can take advantage of node stream documentation and stream manipulation libraries like highland.js. It is willing to sacrifice being terse or hand-holding in order to be understandable and re-usable.

4. Focus on the message

Snurra cares about the what, not the who. It does not make an ambition to log or control the senders of messages - it's just concerned with the messages, and does not know anything about the sender. Instead, adds metadata to streams to detect that kind of flow. The topic streams are where snurra start and ends.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment