Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
@karhu/react
Advanced tools
@karhu/react
React bindings and components for Karhu. Expects @karhu/core
to be there.
npm install @karhu/core @karhu/react
import { KarhuProvider, useKarhu, KarhuComponent, AddCommand } from '@karhu/react';
useKarhu
A React hook to access Karhu context and Karhu adapter.
Expects to find a Karhu
instance in application context.
On every property input
change the commandsList
is updated.
Call exec
with a command id to execute the command and get the entry
graph back.
Types:
// Props
type Props = {
input: string;
};
// Returns
type ChildrenProviderObject = {
commandsList: Command[];
exec: (id: string) => CommandRunResult;
};
Usage:
function MyKarhu({input}) {
const { exec, commandsList } = useKarhu(input);
return 'your-ui'
}
const karhu = new Karhu()
<KarhuProvider value={karhu}>
<MyKarhu input="" />
</KarhuProvider>
<KarhuProvider>
Provide a Karhu instance in React context.
Props:
type Props = {
value: Karhu;
};
Usage:
const karhu = new Karhu()
<KarhuProvider value={karhu}>
{
// application
}
</KarhuProvider>
<KarhuComponent>
A combined React context Consumer and Karhu adapter.
Expects to find a Karhu
instance in application context.
On every property input
change the children get re-rendered
and the commandsList
is updated.
Call exec
with a command id to execute the command and get the entry
graph back.
Types:
type Props = {
children: (obj: ChildrenProviderObject) => {};
input: string;
};
type ChildrenProviderObject = {
commandsList: Command[];
exec: (id: string) => CommandRunResult;
};
Usage:
const karhu = new Karhu()
<KarhuProvider value={karhu}>
<KarhuComponent input="">
{({ commandsList, exec }) => {
// what to render
}}
</KarhuComponent>
</KarhuProvider>
<AddCommand>
Component to add a command to a Karhu instance.
Expects to find a Karhu
instance in application context.
Props:
type AddCommandProps = {
command: UnregisteredCommand;
};
Usage:
const karhu = new Karhu();
const command = Karhu.createCommand({
name: 'command',
keywords: ['command'],
onExec: () => {},
render: () => {},
});
<KarhuProvider value={karhu}>
<AddCommand command={command} />
</KarhuProvider>;
FAQs
React bindings and components for Karhu
We found that @karhu/react demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.