Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Currently there are some arrow functions that have /*#__PURE__*/ annotation before function call to identify that that function call is side effect free. However since this project is built to es5 target, which doesn't have arrow functions support, the code is then translated into regular function that loos something like this: ``` /** @internal */ export var flatMapNullable = function (F, M) { /*#__PURE__*/ return dual(3, function (self, f, onNullable) { return M.flatMap(self, liftNullable(F)(f, onNullable)); }); }; ``` However this makes some built tools (Vite (which uses Rollup under the hood) in our case) unhappy, and build produces a lot of warnings about that __PURE__ annotation being in the wrong place. Checking the Rollup docs [0], it seems that pure annotation should be placed right before function invocation, so in this particular case between `return` keyword and the actual function. So this simply changes arrow functions in question to have explicit return keyword and annotation before the function call, which leaves no interpretation to ts compiler, and makes our code build process warning-free. This also potentially fixes #1916 [0] https://rollupjs.org/configuration-options/#pure
- Loading branch information