NamingCaseTuple: [first_letter_upper: 1 | 0 | -1, word_first_letter_upper: 1 | 0 | -1, rest_word_letters_upper: 1 | 0 | -1, delimiter?:
    | ""
    | "_"
    | "-"
    | string, prefix?: string, suffix?: string]

the NamingCaseTuple consists of the following settable options, as an array:

  • 0 or first_letter_upper: is the first letter an upper case letter?
    • 1 = yes, -1 = no, 0 = impartial (in other words, it will depend-on/inherit word_first_letter_upper)
  • 1 or word_first_letter_upper: is the first letter of each word an upper case letter?
    • 1 = yes, -1 = no, 0 = preserve original
  • 2 or rest_word_letters_upper: are the remaining letters in each word in upper case?
    • 1 = yes, -1 = no, 0 = preserve original
  • 3 or delimiter?: the separator between words
    • "" (default) indicates that there's no delimiter character. so we must rely on letter case change to detect word splitting. this is what is used for camelCase and PascalCase
    • "_" delimiter is used by snake_case
    • "-" delimiter is used by kebab-case
    • string define a custom delimiter string
  • 4 or prefix?: is there a prefix string?
  • 5 or suffix?: is there a suffix string?