@botonic/react
Version:
Build Chatbots using React
34 lines • 1.46 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ReactBot = void 0;
const tslib_1 = require("tslib");
const jsx_runtime_1 = require("react/jsx-runtime");
const esm_1 = require("@botonic/core/lib/esm");
const react_1 = tslib_1.__importDefault(require("react"));
const text_1 = require("./components/text");
const contexts_1 = require("./contexts");
class ReactBot extends esm_1.CoreBot {
constructor(options) {
super(Object.assign({ defaultRoutes: [
{
path: '404',
action: () => (0, jsx_runtime_1.jsx)(text_1.Text, { children: "I don't understand you" }), // eslint-disable-line
},
], renderer: args => this.renderReactActions(args) }, options));
}
async renderReactActions({ request, actions }) {
const renderedActions = [];
let props;
let renderedAction;
for (const Action of actions) {
if (Action) {
props = Action.botonicInit ? await Action.botonicInit(request) : {};
renderedAction = ((0, jsx_runtime_1.jsx)(contexts_1.RequestContext.Provider, Object.assign({ value: request }, { children: (0, jsx_runtime_1.jsx)(Action, Object.assign({}, props)) })));
renderedActions.push(renderedAction);
}
}
return renderedActions;
}
}
exports.ReactBot = ReactBot;
//# sourceMappingURL=react-bot.js.map