{"version":3,"file":"requireProperty.cjs","names":["iterateJsdoc"],"sources":["../../src/rules/requireProperty.js"],"sourcesContent":["import iterateJsdoc from '../iterateJsdoc.js';\n\nexport default iterateJsdoc(({\n  context,\n  utils,\n}) => {\n  const propertyAssociatedTags = utils.filterTags(({\n    tag,\n  }) => {\n    return [\n      'namespace', 'typedef',\n    ].includes(tag);\n  });\n  if (!propertyAssociatedTags.length) {\n    return;\n  }\n\n  const targetTagName = /** @type {string} */ (utils.getPreferredTagName({\n    tagName: 'property',\n  }));\n\n  if (!targetTagName) {\n    context.report({\n      loc: {\n        end: {\n          column: 1,\n          line: 1,\n        },\n        start: {\n          column: 1,\n          line: 1,\n        },\n      },\n      message: 'Cannot prohibit `@property` in the `tagNamePreference` setting while using the `require-property` rule.',\n    });\n    return;\n  }\n\n  if (utils.hasATag([\n    targetTagName,\n  ])) {\n    return;\n  }\n\n  for (const propertyAssociatedTag of propertyAssociatedTags) {\n    if (![\n      'object', 'Object', 'PlainObject',\n    ].includes(propertyAssociatedTag.type)) {\n      continue;\n    }\n\n    utils.reportJSDoc(`Missing JSDoc @${targetTagName}.`, null, () => {\n      utils.addTag(targetTagName);\n    });\n  }\n}, {\n  iterateAllJsdocs: true,\n  meta: {\n    docs: {\n      description: 'Requires that all `@typedef` and `@namespace` tags have `@property` when their type is a plain `object`, `Object`, or `PlainObject`.',\n      url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/require-property.md#repos-sticky-header',\n    },\n    fixable: 'code',\n    type: 'suggestion',\n  },\n});\n"],"mappings":";;;;;;AAAA;AAA8C;AAAA,iCAE/B,IAAAA,qBAAY,EAAC,CAAC;EAC3B,OAAO;EACP;AACF,CAAC,KAAK;EACJ,MAAM,sBAAsB,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;IAC/C;EACF,CAAC,KAAK;IACJ,OAAO,CACL,WAAW,EAAE,SAAS,CACvB,CAAC,QAAQ,CAAC,GAAG,CAAC;EACjB,CAAC,CAAC;EACF,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE;IAClC;EACF;EAEA,MAAM,aAAa,GAAG,qBAAuB,KAAK,CAAC,mBAAmB,CAAC;IACrE,OAAO,EAAE;EACX,CAAC,CAAE;EAEH,IAAI,CAAC,aAAa,EAAE;IAClB,OAAO,CAAC,MAAM,CAAC;MACb,GAAG,EAAE;QACH,GAAG,EAAE;UACH,MAAM,EAAE,CAAC;UACT,IAAI,EAAE;QACR,CAAC;QACD,KAAK,EAAE;UACL,MAAM,EAAE,CAAC;UACT,IAAI,EAAE;QACR;MACF,CAAC;MACD,OAAO,EAAE;IACX,CAAC,CAAC;IACF;EACF;EAEA,IAAI,KAAK,CAAC,OAAO,CAAC,CAChB,aAAa,CACd,CAAC,EAAE;IACF;EACF;EAEA,KAAK,MAAM,qBAAqB,IAAI,sBAAsB,EAAE;IAC1D,IAAI,CAAC,CACH,QAAQ,EAAE,QAAQ,EAAE,aAAa,CAClC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE;MACtC;IACF;IAEA,KAAK,CAAC,WAAW,CAAC,kBAAkB,aAAa,GAAG,EAAE,IAAI,EAAE,MAAM;MAChE,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC;IAC7B,CAAC,CAAC;EACJ;AACF,CAAC,EAAE;EACD,gBAAgB,EAAE,IAAI;EACtB,IAAI,EAAE;IACJ,IAAI,EAAE;MACJ,WAAW,EAAE,sIAAsI;MACnJ,GAAG,EAAE;IACP,CAAC;IACD,OAAO,EAAE,MAAM;IACf,IAAI,EAAE;EACR;AACF,CAAC,CAAC;AAAA","ignoreList":[]}