{"version":3,"file":"no_window_negation.cjs","sources":["../../src/rules/no_window_negation.ts"],"sourcesContent":["/**\n * @module @nhtio/eslint-config/rules/no_window_negation\n */\n\nimport { createRule } from './common'\n\n/**\n * ESLint rule to disallow negation of `window` and suggest using `typeof window === \"undefined\"` instead.\n */\nconst noWindowNegation = createRule({\n  name: 'noWindowNegation',\n  meta: {\n    type: 'suggestion',\n    docs: {\n      description: 'disallow negation of `window` and suggest `typeof window === \"undefined\"`',\n    },\n    fixable: 'code',\n    schema: [],\n    messages: {\n      unexpectedNegation: 'Avoid using `!window`. Use `typeof window === \"undefined\"` instead.',\n    },\n  },\n  create(context) {\n    return {\n      UnaryExpression(node) {\n        if (\n          node.operator === '!' &&\n          node.argument.type === 'Identifier' &&\n          node.argument.name === 'window'\n        ) {\n          context.report({\n            node,\n            messageId: 'unexpectedNegation',\n            fix(fixer) {\n              return fixer.replaceText(node, 'typeof window === \"undefined\"')\n            },\n          })\n        }\n      },\n    }\n  },\n  defaultOptions: [],\n})\nexport default noWindowNegation\n"],"names":["noWindowNegation","createRule","context","node","fixer"],"mappings":"qJASMA,EAAmBC,EAAAA,WAAW,CAClC,KAAM,mBACN,KAAM,CACJ,KAAM,aACN,KAAM,CACJ,YAAa,2EAAA,EAEf,QAAS,OACT,OAAQ,CAAA,EACR,SAAU,CACR,mBAAoB,qEAAA,CACtB,EAEF,OAAOC,EAAS,CACd,MAAO,CACL,gBAAgBC,EAAM,CAElBA,EAAK,WAAa,KAClBA,EAAK,SAAS,OAAS,cACvBA,EAAK,SAAS,OAAS,UAEvBD,EAAQ,OAAO,CACb,KAAAC,EACA,UAAW,qBACX,IAAIC,EAAO,CACT,OAAOA,EAAM,YAAYD,EAAM,+BAA+B,CAChE,CAAA,CACD,CAEL,CAAA,CAEJ,EACA,eAAgB,CAAA,CAClB,CAAC"}