TypeScript-DOM-lib-generator
TypeScript-DOM-lib-generator copied to clipboard
performance.measure() overloads instead of optional arguments
Hey there
according to MDN Docs, the performance.measure() fn has 4 different argument sets (overloads) - the current typing suggests only one and marks some of the args as optional.
Perhaps it'd be better to have the 4 overloads listed explicitly? i.e. instead of:
measure(measureName: string, startOrMeasureOptions?: string | PerformanceMeasureOptions, endMark?: string): PerformanceMeasure;
have sth like:
measure(measureName: string): PerformanceMeasure
measure(measureName: string, MeasureOptions: PerformanceMeasureOptions): PerformanceMeasure
measure(measureName: string, startMark: string): PerformanceMeasure
measure(measureName: string, startMark?: string, endMark: string): PerformanceMeasure
WDYT? This would enable better autocomplete suggestions in code editors (notice the 1/3 on the 2nd pic):
| when | pic |
|---|---|
| before | ![]() |
| after | ![]() |
If it's OK for you - what would be the best way to submit these changes?
Your fourth overload is invalid, it has a required argument after an optional argument.
I did the conversion in #1280, basically the steps are:
- Fork and clone this repo
- Find out what kind the type you want to modify
- Find out which spec the type belongs to. Usually MDN page has a "Specifications" section.
- Scroll to the IDL part, check whether it's an
interface, adictionaryor something else like a callback.
- Open
inputfiles/overridingTypes.jsonc, search for existed entries for your type, if nothing found, add a new entry in the corresponding section (interface,dictionary, etc.) - Check how other overrides work, write your own one (may be difficult, there is no docs)
- Run
npm install,npm build,npm baseline-accept,npm run test - Check the output in
baselinesis what you want, and there is no test errors.

