simian 0.2.0

A command-line tool for exploring and implementing Machine Learning algorithms in Rust.
import { createContext, useContext } from 'react'

import {
  Slash,
  SlashCommandGroupWithIndex,
  SlashCommandWithIndex,
} from './types'

export interface SlashContextValue {
  commands: SlashCommandWithIndex[]
  cmdIdx: number
  groups: SlashCommandGroupWithIndex[]
  runSlashCmd: (cmd: SlashCommandWithIndex) => void
  slash: Slash | null
  setCmdIdx: React.Dispatch<React.SetStateAction<number>>
  setSlash: (slash: Slash | null) => void
}

export const SlashContext = createContext<SlashContextValue>({
  commands: [],
  cmdIdx: 0,
  groups: [],
  runSlashCmd: () => {},
  slash: null,
  setCmdIdx: () => {},
  setSlash: () => {},
})

export const useSlash = () => {
  return useContext(SlashContext)
}