Skip to content

⬅️ Back to Table of Contents

📄 format.ts

📊 Analysis Summary

Metric Count
🔧 Functions 9
📦 Imports 1
📊 Variables & Constants 2

📚 Table of Contents

🛠️ File Location:

📂 packages/eslint-plugin/src/rules/naming-convention-utils/format.ts

📦 Imports

Name Source
PredefinedFormats ./enums

Variables & Constants

Name Type Kind Value Exported
wasUnderscore boolean let/var false
PredefinedFormatToCheckFunction `Readonly<
Record boolean>
>| const |{
[PredefinedFormats.camelCase]: isCamelCase,
[PredefinedFormats.PascalCase]: isPascalCase,
[PredefinedFormats.snake_case]: isSnakeCase,
[PredefinedFormats.strictCamelCase]: isStrictCamelCase,
[PredefinedFormats.StrictPascalCase]: isStrictPascalCase,
[PredefinedFormats.UPPER_CASE]: isUpperCase,
}`

Functions

isPascalCase(name: string): boolean

Code
function isPascalCase(name: string): boolean {
  return (
    name.length === 0 ||
    (name[0] === name[0].toUpperCase() && !name.includes('_'))
  );
}
  • Parameters:
  • name: string
  • Return Type: boolean
  • Calls:
  • name[0].toUpperCase
  • name.includes

isStrictPascalCase(name: string): boolean

Code
function isStrictPascalCase(name: string): boolean {
  return (
    name.length === 0 ||
    (name[0] === name[0].toUpperCase() && hasStrictCamelHumps(name, true))
  );
}
  • Parameters:
  • name: string
  • Return Type: boolean
  • Calls:
  • name[0].toUpperCase
  • hasStrictCamelHumps

isCamelCase(name: string): boolean

Code
function isCamelCase(name: string): boolean {
  return (
    name.length === 0 ||
    (name[0] === name[0].toLowerCase() && !name.includes('_'))
  );
}
  • Parameters:
  • name: string
  • Return Type: boolean
  • Calls:
  • name[0].toLowerCase
  • name.includes

isStrictCamelCase(name: string): boolean

Code
function isStrictCamelCase(name: string): boolean {
  return (
    name.length === 0 ||
    (name[0] === name[0].toLowerCase() && hasStrictCamelHumps(name, false))
  );
}
  • Parameters:
  • name: string
  • Return Type: boolean
  • Calls:
  • name[0].toLowerCase
  • hasStrictCamelHumps

hasStrictCamelHumps(name: string, isUpper: boolean): boolean

Code
function hasStrictCamelHumps(name: string, isUpper: boolean): boolean {
  function isUppercaseChar(char: string): boolean {
    return char === char.toUpperCase() && char !== char.toLowerCase();
  }

  if (name.startsWith('_')) {
    return false;
  }
  for (let i = 1; i < name.length; ++i) {
    if (name[i] === '_') {
      return false;
    }
    if (isUpper === isUppercaseChar(name[i])) {
      if (isUpper) {
        return false;
      }
    } else {
      isUpper = !isUpper;
    }
  }
  return true;
}
  • Parameters:
  • name: string
  • isUpper: boolean
  • Return Type: boolean
  • Calls:
  • char.toUpperCase
  • char.toLowerCase
  • name.startsWith
  • isUppercaseChar

isUppercaseChar(char: string): boolean

Code
function isUppercaseChar(char: string): boolean {
    return char === char.toUpperCase() && char !== char.toLowerCase();
  }
  • Parameters:
  • char: string
  • Return Type: boolean
  • Calls:
  • char.toUpperCase
  • char.toLowerCase

isSnakeCase(name: string): boolean

Code
function isSnakeCase(name: string): boolean {
  return (
    name.length === 0 ||
    (name === name.toLowerCase() && validateUnderscores(name))
  );
}
  • Parameters:
  • name: string
  • Return Type: boolean
  • Calls:
  • name.toLowerCase
  • validateUnderscores

isUpperCase(name: string): boolean

Code
function isUpperCase(name: string): boolean {
  return (
    name.length === 0 ||
    (name === name.toUpperCase() && validateUnderscores(name))
  );
}
  • Parameters:
  • name: string
  • Return Type: boolean
  • Calls:
  • name.toUpperCase
  • validateUnderscores

validateUnderscores(name: string): boolean

Code
function validateUnderscores(name: string): boolean {
  if (name.startsWith('_')) {
    return false;
  }
  let wasUnderscore = false;
  for (let i = 1; i < name.length; ++i) {
    if (name[i] === '_') {
      if (wasUnderscore) {
        return false;
      }
      wasUnderscore = true;
    } else {
      wasUnderscore = false;
    }
  }
  return !wasUnderscore;
}
  • JSDoc:

    /** Check for leading trailing and adjacent underscores */
    

  • Parameters:

  • name: string
  • Return Type: boolean
  • Calls:
  • name.startsWith