For the latest version always check brunolm/Docs/blob/master/code/js-ts/style.md.
The style and guides used here is how I code. Different people/companies might use different styles.
In redux there are actions and reducers.
An action executes some code and sends data to a reducer to update the application state. The application tends to get a bit messy the more actions and reducers you have.
To solve this problem I created this architecture
You can find the bot project on my Github – slack-genos.
There is a node package called slack that extracts all the Slack API and create functions for each.
npm i -S slack
They don’t provide TypeScript definition files, but we can create on own file under
With that I created a structure to run the bot.
Imagine a large scale application, with a big database full of tables and columns. Now imagine that you will have to remove a column from one of the tables, how would you guarantee that removing that column will not cause issues on your application?
await knex('student').where('deleted', false);
await are keywords commonly used on C#. They allow you to perform async operations without the callback hell.
The “callback hell” happens when you perform multiple async operations. For each operation you need to send a callback, a function that will execute when the operation completes.