Giter Club home page Giter Club logo

easter-egg's Introduction

easter-egg.js

Easily hide your easter eggs in the browser!

Forked from Lou Acresti's cheet.js

Demo

Try it out!

Install

npm install easter-egg --save

usage

<script src="./node_modules/easter-egg/easter-egg.js" type="text/javascript"></script>

cheet('e a s t e r', function () { alert('Hidden easter Egg!'); });
cheet('↑ ↑ ↓ ↓ ←', function () {
  alert('You found the easter egg!');
});
cheet('s e q u e n c e', {
  next: function (str, key, num, seq) {
    console.log('key pressed: ' + key);
    console.log('progress: ' + num / seq.length);
    console.log('seq: ' + seq.join(' '));
  },

  fail: function () {
    console.log('sequence failed');
  },

  done: function () {
    console.log('Hello Easter Egg!');
  }
});
cheet('o n c e', function () {
  console.log('This will only fire once.');
  cheet.disable('o n c e');
});
var sequences = {
  sequence: 'up down left right',
  circle: 'left up right down'
};

cheet(sequences.sequence);
cheet(sequences.circle);

cheet.done(function (seq) {
  if (seq === sequences.sequence) {
    console.log('sequence!');
  } else {
    console.log('circle!');
  }
});

API

Map a sequence of keypresses to a callback. This can be called multiple times.

sequence (String)

A string representation of a sequence of key names.

Each keyname must be separated by a single space.

done(str, seq) (callback)

A callback to execute each time the sequence is correctly pressed.

Arguments:

  • str - The string representation of the sequence that completed.
  • seq - An array of key names representing the sequence that completed.

fail(str, seq) (callback)

A callback to execute each time a sequence's progress is broken.

Arguments:

  • str - The string representation of the sequence that failed.
  • seq - An array of key names representing the sequence that was pressed.

next(str, key, num, seq) (callback)

A callback to execute each time a correct key in the sequence is pressed in order.

Arguments:

  • str - The string representation of the sequence that is in progress.
  • key - The name of the key that was just pressed.
  • num - A number representing the current progress of the sequence. (starts at 0)
  • seq - An array of key names representing the sequence that is in progress.

Set a global callback that executes whenever any mapped sequence is completed successfully.

callback(str, seq) (callback)

A callback to execute each time any sequence is correctly pressed.

Arguments:

  • str - The string representation of the sequence that completed.
  • seq - An array of key names representing the sequence that completed.

Set a global callback that executes whenever any mapped sequence progresses.

callback(str, key, num, seq) (callback)

A callback to execute each time a correct key in any sequence is pressed in order.

Arguments:

  • str - The string representation of the sequence that is in progress.
  • key - The name of the key that was just pressed.
  • num - A number representing the current progress of the sequence. (starts at 0)
  • seq - An array of key names representing the sequence that is in progress.

Set a global callback that executes whenever any in-progress sequence is broken.

callback(str, seq) (callback)

A callback to execute each time any sequence's progress is broken.

Arguments:

  • str - The string representation of the sequence that failed.
  • seq - An array of key names representing the sequence that was pressed.

Disable a previously-mapped sequence.

sequence (String)

The same string you used to map the callback when using cheet(seq, ...).

Resets a sequence that may or may not be in progress.

This will not cause fail callbacks to fire, but will effectively cancel the sequence.

sequence (String)

The same string you used to map the callback when using cheet(seq, ...).

Available Key Names

NOTE: Key names are case-sensitive

Directionals

  • left | L |
  • up | U |
  • right | R |
  • down | D |

Alphanumeric

  • 0-9 (main number keys)
  • a-z

Misc

  • backspace
  • tab
  • enter | return
  • shift |
  • control | ctrl |
  • alt | option |
  • command |
  • pause
  • capslock
  • esc
  • space
  • pageup
  • pagedown
  • end
  • home
  • insert
  • delete
  • equal | =
  • comma | ,
  • minus | -
  • period | .

Keypad

  • kp_0-kp_9
  • kp_multiply
  • kp_plus
  • kp_minus
  • kp_decimal
  • kp_divide

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.