npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

undoo

v0.5.0

Published

Undo/redo manager

Downloads

53,346

Readme

Undoo

Undo/redo manager

Installation

Node.js

npm install undoo --save

Browser

Local

<script src="node_modules/undoo/dist/undoo.min.js"></script>

CDN unpkg

<script src="https://unpkg.com/undoo/dist/undoo.min.js"></script>

Example

const Undoo = require('undoo');

const myHistory = new Undoo();

myHistory
    .save('one')
    .save('two')
    .save('three')
    .save('four');

myHistory.undo((item)=>{
    console.log(item); //=> three
});

myHistory.current(); //=> three

myHistory.redo((item)=>{
    console.log(item); //=> four
});

Use provider

const Undoo = require('undoo');

const myHistory = new Undoo({
    provider: () => document.getElementById('myTextArea').value
});

myHistory.save();

API

Undoo

Kind: global class

new Undoo([opts])

Create instance

undoo.canUndo() ⇒ boolean

Check if undo is available

Kind: instance method of Undoo

undoo.canRedo() ⇒ boolean

Kind: instance method of Undoo
Check: if redo is available

undoo.import(history) ⇒ Undoo

Import external history

Kind: instance method of Undoo

undoo.history() ⇒ Array

Get history

Kind: instance method of Undoo

undoo.save([item]) ⇒ Undoo

Save history

Kind: instance method of Undoo

undoo.suspendSave([state]) ⇒ Undoo

Suspend save method

Kind: instance method of Undoo

undoo.allowedSave() ⇒ boolean

Check if save is allowed

Kind: instance method of Undoo

undoo.clear() ⇒ Undoo

Clear history

Kind: instance method of Undoo

undoo.undo([callback]) ⇒ Undoo

Undo

Kind: instance method of Undoo

undoo.redo([callback]) ⇒ Undoo

Redo

Kind: instance method of Undoo

undoo.current() ⇒ *

Get current item in history

Kind: instance method of Undoo

undoo.count() ⇒ number

Count history items, the first element is not considered

Kind: instance method of Undoo

undoo.initialState() ⇒ *

Get initial state history

Kind: instance method of Undoo

undoo.onUpdate(callback) ⇒ Undoo

Triggered when history is updated

Kind: instance method of Undoo

undoo.onMaxLength(callback) ⇒ Undoo

Triggered when maxLength is exceeded

Kind: instance method of Undoo

undoo.onBeforeSave(callback) ⇒ Undoo

Triggered before save

Kind: instance method of Undoo

Example

// If callback returns `false` the save command will not be executed
myHistory.onBeforeSave(()=>false)

// You can overwrite item before save
myHistory.onBeforeSave((item)=>{
     return item.toUpperCase();
})

Undoo~undoCallback : function

undo callback

Kind: inner typedef of Undoo

Undoo~redoCallback : function

redo callback

Kind: inner typedef of Undoo

Undoo~updateCallback : function

onUpdate callback

Kind: inner typedef of Undoo

Undoo~maxLengthCallback : function

onMaxLength callback

Kind: inner typedef of Undoo

Undoo~beforeSaveCallback : function

onBeforeSave callback

Kind: inner typedef of Undoo

Changelog

You can view the changelog here

License

Undoo is open-sourced software licensed under the MIT license

Author

Fabio Ricali