"use strict";
const ReactTestComponent = require("../../../../_virtual/ReactTestComponent.cjs");
require("./lib/markup.cjs");
const markup = require("../../../../_virtual/markup.cjs");
Object.defineProperty(ReactTestComponent.__exports, "__esModule", {
  value: true
});
ReactTestComponent.__exports.test = ReactTestComponent.__exports.serialize = ReactTestComponent.__exports.default = void 0;
var _markup = markup.__exports;
var global = function() {
  if (typeof globalThis !== "undefined") {
    return globalThis;
  } else if (typeof global !== "undefined") {
    return global;
  } else if (typeof self !== "undefined") {
    return self;
  } else if (typeof window !== "undefined") {
    return window;
  } else {
    return Function("return this")();
  }
}();
var Symbol$1 = global["jest-symbol-do-not-touch"] || global.Symbol;
const testSymbol = typeof Symbol$1 === "function" && Symbol$1.for ? Symbol$1.for("react.test.json") : 245830487;
const getPropKeys = (object) => {
  const { props } = object;
  return props ? Object.keys(props).filter((key) => props[key] !== void 0).sort() : [];
};
const serialize = (object, config, indentation, depth, refs, printer) => ++depth > config.maxDepth ? (0, _markup.printElementAsLeaf)(object.type, config) : (0, _markup.printElement)(
  object.type,
  object.props ? (0, _markup.printProps)(
    getPropKeys(object),
    object.props,
    config,
    indentation + config.indent,
    depth,
    refs,
    printer
  ) : "",
  object.children ? (0, _markup.printChildren)(
    object.children,
    config,
    indentation + config.indent,
    depth,
    refs,
    printer
  ) : "",
  config,
  indentation
);
ReactTestComponent.__exports.serialize = serialize;
const test = (val) => val && val.$$typeof === testSymbol;
ReactTestComponent.__exports.test = test;
const plugin = {
  serialize,
  test
};
var _default = plugin;
ReactTestComponent.__exports.default = _default;
//# sourceMappingURL=ReactTestComponent.cjs.map
