@karhu/core
v1.0.0
Published
Core package for Karhu, the lib for powering web app productivity tools
Readme
@karhu/core
Karhu is a productivity tool for web applications. This package has the core functionality as the command register and entry graph to adapt command listing to users habits and learn over time.
Install
npm install @karhu/coreUsage
import Karhu from '@karhu/core';
const karhu = new Karhu();API
Karhu
karhu.addCommand
Adds a command to the current Karhu instance.
karhu.addCommand(command: UnregisteredCommand): Commandkarhu.removeCommand
Removes a command from teh current Karhu instance.
karhu.removeCommand(commandId: string): voidkarhu.findMatchingCommands
Searches through the existing commands keywords and the current entry graph to find commands that matches the provided input, and returns them.
karhu.findMatchingCommands(): Command[]karhu.runCommand
Call the command with the provided id's .actions.onExec() function.
Returns the updated entry graph.
The input is needed to better sort the commands next time karhu.findMatchingCommands() is called.
karhu.runCommand(id: string): CommandRunResultkarhu.getCommands
Returns a list of all registered commands for the Karhu instance.
karhu.getCommands(): Command[]karhu.getEntryGraph
Returns the current Entry Graph for the Karhu instance.
karhu.getEntryGraph(): EntryGraphkarhu.replaceEntryGraph
Overwrites the the current Entry Graph for the Karhu instance with the new one.
karhu.replaceEntryGraph(entryGraph: EntryGraph): voidStatic Karhu.createCommand
Makes an UnregisteredCommand -> Command. Mostly used internally but can be useful in
some situations.
Karhu.createCommand (command: UnregisteredCommand): Command