ansimator

1.0.0 • Public • Published

ansimator

Plop some simple animations onto the terminal with ANSI codes!

Example:

var charm = require("charm")(process)
var ansimate = require("ansimator")(charm);

var frames = [

  [
    "   ▜▘         ",
    "   ▐    ☻     ",
    "    ▚▄█████▚  ",
    "      ▐███  ▐ ",
    " ▜▛   ▐███    ",
    " ▔▔   ▐  ▐    ",
    "      ▟  ▟    ",
    "              " ].join("\n"),

  [
    "              ",
    "*tink*  ☻     ",
    "  ▖  ▄█████▚  ",
    "  ▛▀▀ ▐███  ▐ ",
    " ▜▛   ▐███    ",
    " ▔▔   ▐  ▐    ",
    "      ▟  ▟    ",
    "              " ].join("\n")


];

var metalworker = ansimate(frames).move(0, 2, function (metalworker) {
  setInterval(metalworker.next, 800);
});

metalworker.charm.on("^C", function () {
  metalworker.charm.display("reset");
  metalworker.charm.destroy();
  process.exit();
});

Install:

npm install ansimator

Usage:

ansimator(...)

This function takes a charm and returns an instance of ansimate.

ansimate(frames)

Frames consists of a list of strings, where each string represents a single unicode image.

ansimate(frames) Properties and Methods:

  • position(x, y): Position the top-left cursor position as in charm.

  • move(x, y, cb): Move the top-left cursor position as in charm. Takes a callback argument which fires after polling is complete.

  • next(): Draws the next frame.

  • frames: Feel free to modify the frames at runtime.

  • charm: Access the associated instance of charm directly.

License:

MIT/X11.

Dependencies (1)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i ansimator

    Weekly Downloads

    1

    Version

    1.0.0

    License

    MPL-2.0

    Unpacked Size

    5.53 kB

    Total Files

    5

    Last publish

    Collaborators

    • jfhbrook