Convert services to TypeScript, part 1 #1360
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR converts roughly half the services to TypeScript. Implementation notes:
browser.ts
, I tried to make it clear what contractBrowser
was fulfilling, and I may have ended up with something more verbose that necessary.color_palette.ts
had its own hex -> RGB convertor, so I replaced it withhexToRgb
. I also removedformatHex()
since it was redundant.rgb_to_hex.ts
, I replaced the single ugly regex with two passes to simplify the implementation. I could still do it in one, and maybe it would be more legible than before? Opinions welcome. I also made it stricter, since the original didn't check the whole argument value i.e, you could passrgb(1,2,3
and it would return a hex code.random.ts
, I ran up against Wrong 'this' context in class methods microsoft/TypeScript#3927 and had to make all the method definitions bound.Checklist