buildFlattenKey function
Builds the canonical lookup key for a JSON path using style.
Implementation
String buildFlattenKey(List<String> pathSegments, FlattenKeyStyle style) {
if (pathSegments.isEmpty) {
return '';
}
switch (style) {
case FlattenKeyStyle.dot:
return pathSegments.join('.');
case FlattenKeyStyle.camel:
if (pathSegments.length == 1) {
return _toCamelCase(pathSegments.single);
}
return pathSegments.first +
pathSegments.skip(1).map(_capitalizeFirstCharPreservingRest).join();
case FlattenKeyStyle.pascal:
if (pathSegments.length == 1) {
return _toPascalCase(pathSegments.single);
}
return pathSegments.map(_capitalizeFirstCharPreservingRest).join();
case FlattenKeyStyle.snake:
if (pathSegments.length == 1) {
return _toSnakeCase(pathSegments.single);
}
return pathSegments.map(_toSnakeCase).join('_');
case FlattenKeyStyle.kebab:
if (pathSegments.length == 1) {
return _toKebabCase(pathSegments.single);
}
return pathSegments.map(_toKebabCase).join('-');
}
}