refraction-player
v1.0.2
Published
Event player for Refraction
Downloads
21
Readme
Refraction Player
An events player for refraction
Refraction Player is a small library that allow you to play a list of events with refraction. Here you can see its idea. Refraction Player can be used to automate some process, testing and debugging. If we want to test something we can prepare a series of events and use Refraction Player to play them in order to see how our application react to these events. If we want to find a bug after an application crash, we can send Refraction history to our server and replay events to identify the problem. Finally if we want to automate some process, we can prepare a list of events and play them to achieve this result. For example, we can create an automatic tutorial for application using this tool.
Installation
You can install Refraction Player using npm:
npm install --save refraction-player
If you aren't using npm in your project, you can include RefractionPlayer using UMD build in the dist folder with <script>
tag.
Usage
Refraction Player export only one function to achieve its purpose. You can import it in this way:
import play from 'refraction-player';
At this point play
is a function that returns nothing and accept an object with these properties as parameter:
|Property |Type |Default |Description |
|-----------|-------|----------|--------------|
| refraction | Refraction | | Refraction instance that refraction-player uses to publish events |
| track | Array of { channel: String, time: number(ms), param: any }
| [] | Array of objects that specify on which channel publish the payload. time
property indicate the timestap of the event, time between two events is calulated as follow: secondTime - firstTime = delay |
| exclude | Array of channels | [] | Array of channels that will be ignored |
| delay | number (milliseconds) | 200 | Constant number of milliseconds that will pass between two publications. This is used only if ignoreTime
is true or time
property is null or undefined |
| ignoreTime | boolean | false | Indicate if refraction-player must use delay
or not. If false refraction-player will use time
property in payload |
N.B. When you use this function you have to pay attention at middlewares. Consider that middlewares will be applied to your messages, so, if you get them from history, you have to be sure that middlewares have some checks that avoid unwanted transformations.
Examples
You can find an example of Refraction Player in Refraction repository here. Alternatively, you can check awesome-refraction.
If you want to run examples, check out the instruction here.
Change Log
This project adheres to Semantic Versioning.
Every release, along with the migration instructions, is documented on the Github Releases page.
Authors
Matteo Basso
Adriano Buscema
Copyright and License
Copyright (c) 2016, Matteo Basso.
refraction-player source code is licensed under the MIT License.