discuss: move error codes in internal/errors into separate module
The error codes in internal/errors are some string constants. When throw an error, we directly use these string like:
throw new TypeError('ERR_INVALID_CALLBACK');
Using a plain string has many problems: No auto complete, Easy for typo, Difficult to change the error code......
I think we should migrate these string constants to a new file (e.g. internal/error_codes.js
):
export const ERR_INVALID_CALLBACK = 'ERR_INVALID_CALLBACK';
// more error codes......
Then we can use these codes after import them:
import * as codes from 'internal/error_codes';
throw new TypeError(codes.ERR_INVALID_CALLBACK);