Sorry, but can not agree with you.
Netanel Basal
262

In the first case it clearly depends: is there a probable cause some time you need to switch? And will your abstraction completely support that switch? Or do you still have to have to change a lot of other code?

The latter case is basic code evolution. Or do you also abstract over all other Angular things (a directive or a controller) such that you can migrate to React by simply altering your package.json?

An abstraction (imho) is only worth it if it abstracts basic and repeatable tasks (the ability to cancel an http request for example).

The abstraction cost should be significantly lower than the refactoring cost to make it worthwhile.

Note I am not talking about your specific case but abstractions in general. To often they lead to an additional maintenance burden without improving performance or developer efficiency.