Block Development
Understanding Blocks
Key Components
Example of Block Class
import { IBlockConfig } from "@data-river/shared/interfaces";
import { ILogger } from "@data-river/shared/interfaces/ILogger";
import { Block } from "../block";
export class InputBlock extends Block {
constructor(config: IBlockConfig, logger: ILogger) {
super(
{
...config,
inputConfigs: {
trigger: { type: "boolean", required: false },
input: { type: "string", required: true },
},
outputConfigs: {
data: { type: "string" },
},
},
logger,
);
}
async execute(
inputs: Record<string, unknown>,
): Promise<Record<string, unknown>> {
return { data: inputs.input };
}
}Registering a Block
Creating a New Block
Step-by-Step Process
Example: Database Block
Block Configuration
Testing Blocks
Extending Blocks
Best Practices for Block Development
What's Next?
Last updated
Was this helpful?