1
0
mirror of https://github.com/Unleash/unleash.git synced 2024-11-01 19:07:38 +01:00
unleash.unleash/src/lib/util/snakeCase.ts
Fredrik Strand Oseberg 26c9d53b89
feat: Move environments to enterprise (#935)
- Adding, updating and renaming environments are meant to be
  enterprise only features, as such, this PR moves these operations out
  of this server

- We still keep sortOrder updating, toggling on/off and getting one,
  getting all, so we can still work with environments in the OSS version
  as well.

Co-authored-by: Christopher Kolstad <chriswk@getunleash.ai>

Co-authored-by: Christopher Kolstad <chriswk@getunleash.ai>
2021-09-13 15:57:38 +02:00

28 lines
752 B
TypeScript

export const snakeCase = (input: string): string => {
const result = [];
const splitString = input.split('');
for (let i = 0; i < splitString.length; i++) {
const char = splitString[i];
if (i !== 0 && char.toLocaleUpperCase() === char) {
result.push('_', char.toLocaleLowerCase());
} else {
result.push(char.toLocaleLowerCase());
}
}
return result.join('');
};
export const snakeCaseKeys = (obj: {
[index: string]: any;
}): { [index: string]: any } => {
const objResult: { [index: string]: any } = {};
Object.keys(obj).forEach((key) => {
const snakeCaseKey = snakeCase(key);
objResult[snakeCaseKey] = obj[key];
});
return objResult;
};