Git Product home page Git Product logo

refraction-player's Introduction

Refraction Player

Build Status npm version npm downloads Coverage Status

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.

refraction-player's People

Contributors

mbasso avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.