Botmation
Botmation copied to clipboard
A simple TypeScript framework for declaratively composing bots with Puppeteer
**Describe the bug** The current name, while relevant, isn't very clear as to the function of the BotAction
- [ ] `viewStories` - [ ] `viewStoriesFrom(...)`
handle implicit dependencies in 1 of 3 ways (in this cascading order): 1) higher-order params 2) pipe value 3) injects 1 and 3 will probably be the most common, however...
https://github.com/mrWh1te/Botmation/blob/63ccfb0d464f9a1e6f4e3596ac8243bf4adf4ba5/src/botmation/actions/assembly-lines.ts#L300 Remove `as PipeValue|undefined`, perhaps through a generic, the function can have a type state for the pipe object/value that can be organically updated with each resolved BotAction. This may...
https://www.npmjs.com/package/trigram-utils asDictionary() to compare matching "grams" with counts to calculate fuzzy difference Update linkedin `postIsAuthoredByAPerson()` with fuzzy searching & update with higher-order param to adjust required precision for a "match"...
Basically `Promise.all(actions)`, but.... before this, if running in a Pipe, then return the resolved value of Promise.all(), an array of Pipe values whose indexes correspond with the index in the...
An assembler that injects the `browser` instance of the `page` like `files()()` except without a higher-order sync function to override defaults injected. ie: SSO usually opens an additional `page` to...
This sets the first `inject` with a hash-map of `injectables` for assembled BotAction's This can be helpful if you have advanced injecting needs, as a way to distinguish injectables by...
Concerned about how most of Puppeteer's Page's methods are `async` so some dev's may try to await or resolve promises inside sync functions but `page.url()` is sync, and other BotActions...