stages.js
function toStageSuffixedName(unsuffixedName, separator, stage, inCase) {
  const name = trim(unsuffixedName);
  const stageSuffix = isNotBlank(stage) ? `${trimOrEmpty(separator)}${toCase(trim(stage), inCase)}` : '';
  return isNotBlank(name) && isNotBlank(stageSuffix) && !name.endsWith(stageSuffix) ? `${name}${stageSuffix}` : name;
}
function toStageSuffixedName(unsuffixedName, separator, stage, inCase) {
  const name = trim(unsuffixedName);
  const stageSuffix = isNotBlank(stage) ? `${trimOrEmpty(separator)}${toCase(trim(stage), inCase)}` : '';
  return isNotBlank(name) && isNotBlank(stageSuffix) && !name.endsWith(stageSuffix) ? `${name}${stageSuffix}` : name;
}
function toStageSuffixedName ( unsuffixedName , separator , stage , inCase ) { const name = trim ( unsuffixedName ) ; const stageSuffix = isNotBlank ( stage ) ? ` ${ trimOrEmpty ( separator ) } ${ toCase ( trim ( stage ) , inCase ) } ` : '' ; return isNotBlank ( name ) && isNotBlank ( stageSuffix ) && ! name . endsWith ( stageSuffix ) ? ` ${ name } ${ stageSuffix } ` : name ; }
Returns a stage-suffixed version of the given unsuffixed name with an appended stage suffix, which will contain the
given separator followed by the given stage, which will be appended in uppercase, lowercase or kept as is according
to the given inCase.
@param {string} unsuffixedName - the unsuffixed name
@param {string} separator - the separator to use to separate the resource name from the stage
@param {string} stage - the stage to append
@param {string} inCase - specifies whether to convert the stage to uppercase (if 'uppercase' or 'upper') or to
lowercase (if 'lowercase' or 'lower') or keep it as provided (if 'as_is' or anything else)
@return {string} the stage-suffixed name
Returns a stage - suffixed version of the given unsuffixed name with an appended stage suffix which will contain the given separator followed by the given stage which will be appended in uppercase lowercase or kept as is according to the given inCase .