text: Object.defineProperty(exports, "__esModule", {
    value: true,
  });
  
  var _spacer = require("./spacer");
  
  var _spacer2 = _interopRequireDefault(_spacer);
  
  var _formatPropValue = require("./formatPropValue");
  
  var _formatPropValue2 = _interopRequireDefault(_formatPropValue);
  
  function _interopRequireDefault(obj) {
    return obj && obj.__esModule ? obj : { default: obj };
  }
  
  exports.default = function (
    name,
    hasValue,
    value,
    hasDefaultValue,
    defaultValue,
    inline,
    lvl,
    options
  ) {
    if (!hasValue && !hasDefaultValue) {
      throw new Error(
        'The prop "' +
          name +
          '" has no value and no default: could not be formatted'
      );
    }
  
    var usedValue = hasValue ? value : defaultValue;
  
    var useBooleanShorthandSyntax = options.useBooleanShorthandSyntax,
      tabStop = options.tabStop;
  
    var formattedPropValue = (0, _formatPropValue2.default)(
      usedValue,
      inline,
      lvl,
      options
    );
  
    var attributeFormattedInline = " ";
    var attributeFormattedMultiline =
      "\n" + (0, _spacer2.default)(lvl + 1, tabStop);
    var isMultilineAttribute = formattedPropValue.includes("\n");
  
    if (
      useBooleanShorthandSyntax &&
      formattedPropValue === "{false}" &&
      !hasDefaultValue
    ) {
      // If a boolean is false and not different from it's default, we do not render the attribute
      attributeFormattedInline = "";
      attributeFormattedMultiline = "";
    } else if (useBooleanShorthandSyntax && formattedPropValue === "{true}") {
      attributeFormattedInline += "" + name;
      attributeFormattedMultiline += "" + name;
    } else {
      attributeFormattedInline += name + "=" + formattedPropValue;
      attributeFormattedMultiline += name + "=" + formattedPropValue;
    }
  
    return {
      attributeFormattedInline: attributeFormattedInline,
      attributeFormattedMultiline: attributeFormattedMultiline,
      isMultilineAttribute: isMultilineAttribute,
    };
  };
  //# sourceMappingURL=formatProp.js.map
  