Something went wrong. Try again.
source dump of claude code forked from oppi.li/claude-code
Something went wrong. Try again.
1.7 kB · 49 lines
TypeScript
at main
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950import { createContext } from 'react'import { EventEmitter } from '../events/emitter.js'import type { TerminalQuerier } from '../terminal-querier.js'
export type Props = { /** * Stdin stream passed to `render()` in `options.stdin` or `process.stdin` by default. Useful if your app needs to handle user input. */ readonly stdin: NodeJS.ReadStream
/** * Ink exposes this function via own `<StdinContext>` to be able to handle Ctrl+C, that's why you should use Ink's `setRawMode` instead of `process.stdin.setRawMode`. * If the `stdin` stream passed to Ink does not support setRawMode, this function does nothing. */ readonly setRawMode: (value: boolean) => void
/** * A boolean flag determining if the current `stdin` supports `setRawMode`. A component using `setRawMode` might want to use `isRawModeSupported` to nicely fall back in environments where raw mode is not supported. */ readonly isRawModeSupported: boolean
readonly internal_exitOnCtrlC: boolean
readonly internal_eventEmitter: EventEmitter
/** Query the terminal and await responses (DECRQM, OSC 11, etc.). * Null only in the never-reached default context value. */ readonly internal_querier: TerminalQuerier | null}
/** * `StdinContext` is a React context, which exposes input stream. */
const StdinContext = createContext<Props>({ stdin: process.stdin,
internal_eventEmitter: new EventEmitter(), setRawMode() {}, isRawModeSupported: false,
internal_exitOnCtrlC: true, internal_querier: null,})
// eslint-disable-next-line custom-rules/no-top-level-side-effectsStdinContext.displayName = 'InternalStdinContext'
export default StdinContext