I have NodeJS program.
In one class, I have various utility methods. One function, safeGithubPush, calls safeString, another func in the same class
module.exports = {
  safeString(stringToCheck) {
    console.log(validator.isAscii(stringToCheck), validator.matches(stringToCheck, /^((\w)*[-.]?(\w)*)*$/))
    return (
      validator.isAscii(stringToCheck) &&
      validator.matches(stringToCheck, /^((\w)*[-.]?(\w)*)*$/)
    );
  },
  safeGithubPush(currentJob) {
    if (
      !currentJob ||
      !currentJob.payload ||
      !currentJob.payload.repoName ||
      !currentJob.payload.repoOwner ||
      !currentJob.payload.branchName
    ) {
      this.logIn(
        currentJob,
        `${'    (sanitize)'.padEnd(15)}failed due to insufficient job definition`
      );
      throw invalidJobDef;
    }
    if (
      this.safeString(currentJob.payload.repoName) &&
      this.safeString(currentJob.payload.repoOwner) &&
      this.safeString(currentJob.payload.branchName)
    ) {
      return true;
    }
    throw invalidJobDef;
  },
} 
While this.logIn(), another func in the utility class, works just fine, I get the error for safeString:
Error caught by first catch: TypeError: this.safeString is not a function
I followed a solution offer by another SO post:
safeString: function(stringToCheck){
...
}
safeGithubPush(currentJob) {
...
if (
    this.safeString(currentJob.payload.repoName) &&
    this.safeString(currentJob.payload.repoOwner) &&
    this.safeString(currentJob.payload.branchName)
    ) {
       return true;
   }
}
But this also gets a, TypeError: this.safeString is not a function. 
I'm not using arrow functions, which is the explanation for this error on a different SO post
 
    