{"version":3,"file":"tsNoEmptyObjectType.cjs","names":["iterateJsdoc","parseType","traverse"],"sources":["../../src/rules/tsNoEmptyObjectType.js"],"sourcesContent":["import iterateJsdoc from '../iterateJsdoc.js';\nimport {\n  parse as parseType,\n  traverse,\n} from '@es-joy/jsdoccomment';\n\nexport default iterateJsdoc(({\n  settings,\n  utils,\n}) => {\n  if (settings.mode !== 'typescript') {\n    return;\n  }\n\n  /**\n   * @param {import('@es-joy/jsdoccomment').JsdocTagWithInline} tag\n   */\n  const checkType = (tag) => {\n    const potentialType = tag.type;\n    let parsedType;\n    try {\n      parsedType = parseType(\n        /** @type {string} */ (potentialType), 'typescript',\n      );\n    } catch {\n      return;\n    }\n\n    traverse(parsedType, (nde) => {\n      switch (nde.type) {\n        case 'JsdocTypeObject': {\n          if (!nde.elements.length) {\n            utils.reportJSDoc('No empty object type.', tag);\n          }\n        }\n      }\n    });\n  };\n\n  const tags = utils.filterTags(({\n    tag,\n  }) => {\n    return Boolean(tag !== 'import' && utils.tagMightHaveTypePosition(tag));\n  });\n\n  for (const tag of tags) {\n    if (tag.type) {\n      checkType(tag);\n    }\n  }\n}, {\n  iterateAllJsdocs: true,\n  meta: {\n    docs: {\n      description: 'Warns against use of the empty object type',\n      url: 'https://github.com/gajus/eslint-plugin-jsdoc/blob/main/docs/rules/ts-no-empty-object-type.md#repos-sticky-header',\n    },\n    schema: [],\n    type: 'suggestion',\n  },\n});\n"],"mappings":";;;;;;AAAA;AACA;AAG8B;AAAA,iCAEf,IAAAA,qBAAY,EAAC,CAAC;EAC3B,QAAQ;EACR;AACF,CAAC,KAAK;EACJ,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE;IAClC;EACF;;EAEA;AACF;AACA;EACE,MAAM,SAAS,GAAI,GAAG,IAAK;IACzB,MAAM,aAAa,GAAG,GAAG,CAAC,IAAI;IAC9B,IAAI,UAAU;IACd,IAAI;MACF,UAAU,GAAG,IAAAC,mBAAS,EACpB,qBAAuB,aAAa,EAAG,YACzC,CAAC;IACH,CAAC,CAAC,MAAM;MACN;IACF;IAEA,IAAAC,cAAA,QAAQ,EAAC,UAAU,EAAG,GAAG,IAAK;MAC5B,QAAQ,GAAG,CAAC,IAAI;QACd,KAAK,iBAAiB;UAAE;YACtB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE;cACxB,KAAK,CAAC,WAAW,CAAC,uBAAuB,EAAE,GAAG,CAAC;YACjD;UACF;MACF;IACF,CAAC,CAAC;EACJ,CAAC;EAED,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;IAC7B;EACF,CAAC,KAAK;IACJ,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;EACzE,CAAC,CAAC;EAEF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;IACtB,IAAI,GAAG,CAAC,IAAI,EAAE;MACZ,SAAS,CAAC,GAAG,CAAC;IAChB;EACF;AACF,CAAC,EAAE;EACD,gBAAgB,EAAE,IAAI;EACtB,IAAI,EAAE;IACJ,IAAI,EAAE;MACJ,WAAW,EAAE,4CAA4C;MACzD,GAAG,EAAE;IACP,CAAC;IACD,MAAM,EAAE,EAAE;IACV,IAAI,EAAE;EACR;AACF,CAAC,CAAC;AAAA","ignoreList":[]}