项目作者: alvarocastro

项目描述 :
Super fast library to add easter eggs!
高级语言: JavaScript
项目地址: git://github.com/alvarocastro/eggster.git
创建时间: 2020-12-07T00:02:30Z
项目社区:https://github.com/alvarocastro/eggster

开源协议:MIT License

下载


Eggster

NPM
Build status
Maintainability status
Coverage status
Bundle size
Code style: XO
Release: Semantic

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

  1. npm install eggster

Usage

  1. const eggster = require('eggster');
  2. // Code "eggster"
  3. eggster.add('69,71,71,83,84,69,82', () => {
  4. console.log('Found it!');
  5. });

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 :)