tools: modernize and optimize doc/addon-verify.js
Checklist
-
make -j4 test
(UNIX), orvcbuild test
(Windows) passes -
commit message follows commit guidelines
Modernize:
- Replace
var
withconst
/let
. - Replace common functions with arrow functions.
- Use destructuring.
- Use
String.prototype.padStart()
,String.prototype.endsWith()
.
Optimize:
- Reduce function calls.
- Reduce intermediate variables.
- Cache retrieved object properties.
- Move RegExp declaration out of a cycle.
- Simplify RegExps.
- Replace RegExp with string when string suffices.
- Remove conditions that cannot be false.
- Replace for..in with
Object.keys().forEach()
.
Also, eliminate needlessly complicated function chains:
-
ondone
callback only checks errors; - if there is an error, it is called once and throws, then script exits;
- if there are no errors, it is noop;
- so there is no need to wrap it into
once()
function; - and there is no need to call it without errors;
- we can eliminate it and replace with
throw
where an error occurs; - we can also replace
onprogress
callback withconsole.log
in place; - at last, we can eliminate
waiting
counter andonce()
utility.
The new script produces results identical to the old ones.