7 Commits

Author SHA1 Message Date
Robin Bron
8c5124ed78 Removed all bluebird references 2020-08-06 13:09:16 +02:00
Jesse Gibson
cdc0a3e82b Add platform queries to clients
There's now a new Client#matches method. It accepts a platform query and
returns a boolean, whether the platform matches. The ClientList#filter
method now depends on the clients to know whether they belong.
Two reasons why:
- The query API was untested before *shudders*
- Now that you can use clients alone (without a list), it adds API
  symmetry and isolates concerns.
- It exposes the API for every client, giving more power to the
  developer.
2016-11-25 17:34:09 -07:00
Jesse Gibson
37a3838912 Outsource eslint config
Yipes, looks like I still had a bunch of rules stuffed in my
eslintrc file. A while ago I pulled those out into a standalone eslint
config. This commit adds that config, removes all the duplicated rules,
and fixes the errors ensuing from revised formatting preferences.
2016-11-25 16:05:59 -07:00
Jesse Gibson
c84158af0a Add editorconfig, change scripts
Editorconfig files help you keep a consistent style across projects.
Recently, I've been using it to enforce spaces over tabs (I switched).
This commit adds the config file and changes the project indent
style to match.
New script, "all-tests", runs the unit tests and the linter. The "test"
script now just refers to unit tests.
2016-11-25 15:51:26 -07:00
Jesse Gibson
05ac616168 Upgrade for new panic-client reports
Instead of reporting just an error, jobs now respond with an object.
That object contains the return value from the job, or it's error. It
also allows more features to be added in the future, potentially by 3rd
party plugins.
2016-10-05 20:53:32 -06:00
Jesse Gibson
94255870ca Add Client validation, expose API
The Client constructor now makes sure that the handshake object it's
given is valid. Also, the constructor is now exposed to the world
through the `panic.Client` property.
2016-10-05 09:13:06 -06:00
Jesse Gibson
4d4335ba34 Add Client class
Addressing another panic pain point: you have to jump through insane,
unintuitive hoops just to access a single, non-dynamic client.
Useful for picking out clients and running code on JUST one, without
needing dynamic exclusion lists and `.pluck`.
2016-10-05 08:19:41 -06:00