function formatJsonValue()

in src/helpers/whatif.ts [649:670]


function formatJsonValue(
  builder: ColorStringBuilder,
  value: UnknownValue,
  path: string = "",
  maxPathLength: number = 0,
  indentLevel: number = 0,
): void {
  value = fixSdkDeltaFormattingBug(value);

  if (isLeaf(value)) {
    const pathLength = maxPathLength - path.length + 1;
    formatJsonPath(builder, path, pathLength > 0 ? pathLength : 0, indentLevel);
    formatLeaf(builder, value);
  } else if (isNonEmptyArray(value)) {
    formatJsonPath(builder, path, 1, indentLevel);
    formatNonEmptyArray(builder, value, indentLevel);
  } else if (isNonEmptyObject(value)) {
    formatNonEmptyObject(builder, value, path, maxPathLength, indentLevel);
  } else {
    throw new Error(`Invalid JSON value: ${value}`);
  }
}