function renderProps(props) {
  return Object.entries(props).filter(([_, value]) => value !== void 0 && value !== null).map(([key, value]) => {
    if (typeof value === "boolean") {
      return value ? key : "";
    }
    if (typeof value === "string") {
      return `${key}="${value}"`;
    }
    if (typeof value === "number") {
      return `${key}={${value}}`;
    }
    if (Array.isArray(value)) {
      return `${key}={${JSON.stringify(value)}}`;
    }
    if (typeof value === "object") {
      return `${key}={${JSON.stringify(value)}}`;
    }
    return `${key}={${value}}`;
  }).filter(Boolean).join(" ");
}
function indent(code, level = 0) {
  const spaces = "  ".repeat(level);
  return code.split("\n").map((line) => line ? spaces + line : line).join("\n");
}
function wrapWithChildren(openTag, children, closeTag, indentLevel = 0) {
  return `${openTag}
${indent(children, indentLevel + 1)}
${indent(closeTag, indentLevel)}`;
}
export {
  indent,
  renderProps,
  wrapWithChildren
};
