history-tree

2.0.0 • Public • Published

history-tree

Tree for tracking reverts and commits on checkpoints. Checkpoints can nest arbitrarily deep.

api

methods

new HistoryTree() -> history tree

Constructor. Creates a history tree.

historyTree.checkpoint() -> history sub-tree

Synchronous. Creates a new history sub-tree and adds it to the checkpoint stack.

historyTree.commit(cb)

Asynchronous. Removes the top sub-tree from the checkpoint stack, calls accept on the sub-tree, then emits commit on this tree. Calls the callback with an Error if the stack is empty.

historyTree.revert(cb)

Asynchronous. Removes the top sub-tree from the checkpoint stack, calls reject on the sub-tree, then emits revert on this tree. Calls the callback with an Error if the stack is empty.

historyTree.accept(cb)

Asynchronous. Calls commit on this tree for all checkpoints on the stack, in series. Does NOT call the callback with an Error if the stack is empty. Emits event accepted on this tree.

historyTree.reject(cb)

Asynchronous. Calls revert on this tree for all checkpoints on the stack, in series. Does NOT call the callback with an Error if the stack is empty. Emits event rejected on this tree.

events

HistoryTree is an AsynchronousEventEmitter. This means that HistoryTree's async api calls won't complete until all event listeners call their callback, unless the listener is synchronous. See the AsynchronousEventEmitter api for usage.

'accepted' -> function(subTree, [next])

Called AFTER the accept(cb) on this HistoryTree node.

'rejected' -> function(subTree, [next])

Called AFTER the reject(cb) on this HistoryTree node.

'commit' -> function(subTree, [next])

Called AFTER every commit(cb) on this HistoryTree node.

'revert' -> function(subTree, [next])

Called AFTER every revert(cb) on this HistoryTree node.

Readme

Keywords

none

Package Sidebar

Install

npm i history-tree

Weekly Downloads

1

Version

2.0.0

License

ISC

Last publish

Collaborators

  • kumavis