eggster
v1.0.1
Published
[![NPM](https://img.shields.io/npm/v/eggster)](https://www.npmjs.com/package/eggster) [![Build status](https://img.shields.io/github/workflow/status/alvarocastro/eggster/build)](https://github.com/alvarocastro/eggster/actions?query=workflow%3Abuild) [![Ma
Downloads
2
Readme
Eggster
Simple, fast and lightweight library to create easter eggs triggered by a sequence of keyboard keys pressed.
Since easter eggs are just for fun and not intended to improve an application, the library aims to be as light as possible by having a small file size (zero dependencies) but also by being fast, it only binds a single event listener to the document
no matter how many easter eggs are registered while also using raw key codes to avoid extra processing.
Install
npm install eggster
Usage
const eggster = require('eggster');
// Code "eggster"
eggster.add('69,71,71,83,84,69,82', () => {
console.log('Found it!');
});
eggster.add(code, fn, options = {})
Registers an easter egg that tiggers the fn
callback when activated.
code
Type: String
String containing the individual key codes separated by commas.
fn
Type: Function
Callback that fires when the sequence is pressed.
options
Type: Object
Default: {}
Object of options to configure the behaviour of the code.
options.timeout
Type: Number
Default: 2000
Maximum time to wait between each key pressed before restarting the progress.
Use 0
for no timeout.
options.once
Type: Boolean
Default: false
Flag to indicate if the code should run only the first time is completed, subsequent times will be ignored.
eggster.remove(code)
Removes a code previously registered.
eggster.teardown()
Removes all the codes and unbinds the keyboard event.
Contributing
Contributions are always welcome! Please run npm test
beforehand to ensure everything is ok.
Support
If you use this package please consider starring it :)