Type system for Github actions
Published in
1 min readAug 28, 2021
When someone write a lot in JS, JS starts to consume that person. Github is a good example of such. (When you spoke to JS-digested people about inconsistencies and type systems, they usually can’t even see the issue).
When Github designed their type system, they have a chance to make it good. Or, at least, a sound one.
But they got Object instead of Object which is Object because of NaN.
They do implicit and crazy type casting:
- Null is casted to empty string.
- Bools are casted to strings and numbers.
- String can be parsed as a number if deemed.
- Case insensitive (Turkish
İ
,i
andI
,ı
, isi == I
?). - Values may be casted to strings if deemed by context.
- Lists and objects are not allowed as arguments for actions and workflows.
- Official recommendation is to use
fromJSON
andtoJSON
.
I have no enough facepalms to express my angst.