eslint-plugin-runtime-cleanup 1.2.8 → 1.2.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/README.md +29 -29
  2. package/dist/_internal/ast-node.d.ts +5 -1
  3. package/dist/_internal/ast-node.d.ts.map +1 -1
  4. package/dist/_internal/ast-node.js +2 -1
  5. package/dist/_internal/ast-node.js.map +1 -1
  6. package/dist/_internal/bounded-cache.d.ts.map +1 -1
  7. package/dist/_internal/bounded-cache.js +2 -1
  8. package/dist/_internal/bounded-cache.js.map +1 -1
  9. package/dist/_internal/expression-boolean-memoizer.d.ts.map +1 -1
  10. package/dist/_internal/expression-boolean-memoizer.js +2 -1
  11. package/dist/_internal/expression-boolean-memoizer.js.map +1 -1
  12. package/dist/_internal/filter-callback.d.ts +5 -1
  13. package/dist/_internal/filter-callback.d.ts.map +1 -1
  14. package/dist/_internal/filter-callback.js +9 -10
  15. package/dist/_internal/filter-callback.js.map +1 -1
  16. package/dist/_internal/floating-resource.d.ts +8 -0
  17. package/dist/_internal/floating-resource.d.ts.map +1 -1
  18. package/dist/_internal/floating-resource.js +42 -36
  19. package/dist/_internal/floating-resource.js.map +1 -1
  20. package/dist/_internal/normalize-expression-text.d.ts +6 -1
  21. package/dist/_internal/normalize-expression-text.d.ts.map +1 -1
  22. package/dist/_internal/normalize-expression-text.js +30 -28
  23. package/dist/_internal/normalize-expression-text.js.map +1 -1
  24. package/dist/_internal/nullish-comparison.d.ts +1 -1
  25. package/dist/_internal/nullish-comparison.d.ts.map +1 -1
  26. package/dist/_internal/nullish-comparison.js +16 -11
  27. package/dist/_internal/nullish-comparison.js.map +1 -1
  28. package/dist/_internal/plugin-settings.d.ts +2 -1
  29. package/dist/_internal/plugin-settings.d.ts.map +1 -1
  30. package/dist/_internal/plugin-settings.js +3 -2
  31. package/dist/_internal/plugin-settings.js.map +1 -1
  32. package/dist/_internal/report-adapter.d.ts +5 -4
  33. package/dist/_internal/report-adapter.d.ts.map +1 -1
  34. package/dist/_internal/report-adapter.js +3 -2
  35. package/dist/_internal/report-adapter.js.map +1 -1
  36. package/dist/_internal/rule-catalog.d.ts.map +1 -1
  37. package/dist/_internal/rule-catalog.js +3 -2
  38. package/dist/_internal/rule-catalog.js.map +1 -1
  39. package/dist/_internal/rule-docs-metadata.d.ts +2 -1
  40. package/dist/_internal/rule-docs-metadata.d.ts.map +1 -1
  41. package/dist/_internal/rule-docs-metadata.js +36 -33
  42. package/dist/_internal/rule-docs-metadata.js.map +1 -1
  43. package/dist/_internal/rules-registry.d.ts +2 -1
  44. package/dist/_internal/rules-registry.d.ts.map +1 -1
  45. package/dist/_internal/rules-registry.js.map +1 -1
  46. package/dist/_internal/runtime-cleanup-config-references.d.ts +2 -1
  47. package/dist/_internal/runtime-cleanup-config-references.d.ts.map +1 -1
  48. package/dist/_internal/runtime-cleanup-config-references.js +8 -7
  49. package/dist/_internal/runtime-cleanup-config-references.js.map +1 -1
  50. package/dist/_internal/scope-variable.d.ts.map +1 -1
  51. package/dist/_internal/scope-variable.js +5 -4
  52. package/dist/_internal/scope-variable.js.map +1 -1
  53. package/dist/_internal/type-checker.d.ts +2 -2
  54. package/dist/_internal/type-checker.d.ts.map +1 -1
  55. package/dist/_internal/type-checker.js +10 -8
  56. package/dist/_internal/type-checker.js.map +1 -1
  57. package/dist/_internal/type-predicate-autofix-safety.d.ts +5 -1
  58. package/dist/_internal/type-predicate-autofix-safety.d.ts.map +1 -1
  59. package/dist/_internal/type-predicate-autofix-safety.js +9 -10
  60. package/dist/_internal/type-predicate-autofix-safety.js.map +1 -1
  61. package/dist/_internal/type-reference-node.d.ts +7 -5
  62. package/dist/_internal/type-reference-node.d.ts.map +1 -1
  63. package/dist/_internal/type-reference-node.js +6 -6
  64. package/dist/_internal/type-reference-node.js.map +1 -1
  65. package/dist/_internal/typed-rule.d.ts +2 -1
  66. package/dist/_internal/typed-rule.d.ts.map +1 -1
  67. package/dist/_internal/typed-rule.js +6 -5
  68. package/dist/_internal/typed-rule.js.map +1 -1
  69. package/dist/_internal/value-rewrite-autofix-safety.d.ts +5 -1
  70. package/dist/_internal/value-rewrite-autofix-safety.d.ts.map +1 -1
  71. package/dist/_internal/value-rewrite-autofix-safety.js +10 -18
  72. package/dist/_internal/value-rewrite-autofix-safety.js.map +1 -1
  73. package/dist/plugin.cjs +571 -662
  74. package/dist/plugin.cjs.map +4 -4
  75. package/dist/plugin.d.cts +2 -1
  76. package/dist/plugin.d.ts +2 -1
  77. package/dist/plugin.d.ts.map +1 -1
  78. package/dist/plugin.js +8 -7
  79. package/dist/plugin.js.map +1 -1
  80. package/dist/rules/no-floating-abort-controllers.d.ts.map +1 -1
  81. package/dist/rules/no-floating-abort-controllers.js +24 -52
  82. package/dist/rules/no-floating-abort-controllers.js.map +1 -1
  83. package/dist/rules/no-floating-audio-contexts.d.ts.map +1 -1
  84. package/dist/rules/no-floating-audio-contexts.js +7 -6
  85. package/dist/rules/no-floating-audio-contexts.js.map +1 -1
  86. package/dist/rules/no-floating-broadcast-channels.d.ts.map +1 -1
  87. package/dist/rules/no-floating-broadcast-channels.js +31 -59
  88. package/dist/rules/no-floating-broadcast-channels.js.map +1 -1
  89. package/dist/rules/no-floating-child-processes.d.ts.map +1 -1
  90. package/dist/rules/no-floating-child-processes.js +43 -45
  91. package/dist/rules/no-floating-child-processes.js.map +1 -1
  92. package/dist/rules/no-floating-disposable-stacks.d.ts.map +1 -1
  93. package/dist/rules/no-floating-disposable-stacks.js +37 -38
  94. package/dist/rules/no-floating-disposable-stacks.js.map +1 -1
  95. package/dist/rules/no-floating-file-watchers.d.ts.map +1 -1
  96. package/dist/rules/no-floating-file-watchers.js +40 -42
  97. package/dist/rules/no-floating-file-watchers.js.map +1 -1
  98. package/dist/rules/no-floating-geolocation-watches.js +20 -20
  99. package/dist/rules/no-floating-geolocation-watches.js.map +1 -1
  100. package/dist/rules/no-floating-infinite-animations.d.ts.map +1 -1
  101. package/dist/rules/no-floating-infinite-animations.js +4 -3
  102. package/dist/rules/no-floating-infinite-animations.js.map +1 -1
  103. package/dist/rules/no-floating-media-streams.d.ts.map +1 -1
  104. package/dist/rules/no-floating-media-streams.js +24 -24
  105. package/dist/rules/no-floating-media-streams.js.map +1 -1
  106. package/dist/rules/no-floating-message-channels.js +30 -30
  107. package/dist/rules/no-floating-message-channels.js.map +1 -1
  108. package/dist/rules/no-floating-network-connections.d.ts.map +1 -1
  109. package/dist/rules/no-floating-network-connections.js +36 -36
  110. package/dist/rules/no-floating-network-connections.js.map +1 -1
  111. package/dist/rules/no-floating-object-urls.d.ts.map +1 -1
  112. package/dist/rules/no-floating-object-urls.js +4 -3
  113. package/dist/rules/no-floating-object-urls.js.map +1 -1
  114. package/dist/rules/no-floating-observers.d.ts.map +1 -1
  115. package/dist/rules/no-floating-observers.js +33 -34
  116. package/dist/rules/no-floating-observers.js.map +1 -1
  117. package/dist/rules/no-floating-servers.d.ts.map +1 -1
  118. package/dist/rules/no-floating-servers.js +50 -52
  119. package/dist/rules/no-floating-servers.js.map +1 -1
  120. package/dist/rules/no-floating-streams.d.ts.map +1 -1
  121. package/dist/rules/no-floating-streams.js +28 -29
  122. package/dist/rules/no-floating-streams.js.map +1 -1
  123. package/dist/rules/no-floating-timers.d.ts.map +1 -1
  124. package/dist/rules/no-floating-timers.js +7 -47
  125. package/dist/rules/no-floating-timers.js.map +1 -1
  126. package/dist/rules/no-floating-wake-locks.js +20 -20
  127. package/dist/rules/no-floating-wake-locks.js.map +1 -1
  128. package/dist/rules/no-floating-web-stream-locks.d.ts.map +1 -1
  129. package/dist/rules/no-floating-web-stream-locks.js +4 -3
  130. package/dist/rules/no-floating-web-stream-locks.js.map +1 -1
  131. package/dist/rules/no-floating-workers.d.ts.map +1 -1
  132. package/dist/rules/no-floating-workers.js +39 -40
  133. package/dist/rules/no-floating-workers.js.map +1 -1
  134. package/dist/rules/no-unmanaged-event-listeners.d.ts.map +1 -1
  135. package/dist/rules/no-unmanaged-event-listeners.js +23 -23
  136. package/dist/rules/no-unmanaged-event-listeners.js.map +1 -1
  137. package/docs/rules/no-floating-audio-contexts.md +1 -2
  138. package/docs/rules/no-floating-media-streams.md +1 -1
  139. package/docs/rules/no-floating-object-urls.md +3 -3
  140. package/docs/rules/no-floating-observers.md +1 -1
  141. package/docs/rules/no-floating-servers.md +1 -1
  142. package/docs/rules/no-floating-wake-locks.md +1 -1
  143. package/docs/rules/no-floating-web-stream-locks.md +1 -2
  144. package/docs/rules/presets/index.md +28 -28
  145. package/package.json +7 -4
@@ -1 +1 @@
1
- {"version":3,"file":"no-floating-timers.js","sourceRoot":"","sources":["../../src/rules/no-floating-timers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACH,cAAc,GAGjB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EACH,eAAe,GAElB,MAAM,4BAA4B,CAAC;AAEpC,MAAM,kBAAkB,GAAG;IACvB,uBAAuB;IACvB,qBAAqB;IACrB,cAAc;IACd,aAAa;IACb,YAAY;CACN,CAAC;AAEX,MAAM,mBAAmB,GAAG;IACxB,QAAQ;IACR,YAAY;IACZ,MAAM;IACN,QAAQ;CACF,CAAC;AAIX,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAC9E,MAAM,qBAAqB,GAAwB,IAAI,GAAG,CACtD,mBAAmB,CACtB,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAA6B,EAAE,CACpE,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAEnC,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAW,EAAE,CACnD,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAEpC,MAAM,+BAA+B,GAAG,CACpC,IAA6B,EACM,EAAE;IACrC,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,eAAe,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,cAAc,EAAE,CAAC;QAC9C,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,mBAAmB,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,qBAAqB,EAAE,CAAC;QACrD,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,eAAe,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAC3B,IAAuC,EAChC,EAAE;IACT,IAAI,OAAO,GAA4B,IAAI,CAAC;IAC5C,IAAI,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAEpC,OAAO,MAAM,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,iBAAiB,GAAG,+BAA+B,CAAC,MAAM,CAAC,CAAC;QAElE,IAAI,iBAAiB,KAAK,OAAO,EAAE,CAAC;YAChC,OAAO,GAAG,MAAM,CAAC;YACjB,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YAChC,SAAS;QACb,CAAC;QAED,IACI,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,mBAAmB;YAClD,MAAM,CAAC,UAAU,KAAK,OAAO,EAC/B,CAAC;YACC,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IACI,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,eAAe;YAC9C,MAAM,CAAC,QAAQ,KAAK,MAAM;YAC1B,MAAM,CAAC,QAAQ,KAAK,OAAO,EAC7B,CAAC;YACC,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YAE1C,OAAO,WAAW,EAAE,IAAI,KAAK,cAAc,CAAC,mBAAmB,CAAC;QACpE,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CACzB,OAAyB,EACzB,UAAyC,EAClC,EAAE;IACT,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IAEjE,OAAO,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CACvB,OAAyB,EACzB,MAAmD,EACtB,EAAE;IAC/B,IACI,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU;QACzC,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC;QACjC,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,EACvC,CAAC;QACC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CACvB,MAAmD,EACtB,EAAE;IAC/B,IACI,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,gBAAgB;QAC/C,MAAM,CAAC,QAAQ;QACf,MAAM,CAAC,QAAQ;QACf,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU;QAChD,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU;QAClD,CAAC,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;QACzC,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC5C,CAAC;QACC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;AAChC,CAAC,CAAC;AAEF,oEAAoE;AACpE,MAAM,gBAAgB,GAGlB,eAAe,CAAC;IAChB,MAAM,CAAC,OAAO;QACV,MAAM,mBAAmB,GAAG,CACxB,IAAuC,EACvC,SAA4B,EACxB,EAAE;YACN,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,OAAO;YACX,CAAC;YAED,OAAO,CAAC,MAAM,CAAC;gBACX,IAAI,EAAE,EAAE,SAAS,EAAE;gBACnB,SAAS,EAAE,eAAe;gBAC1B,IAAI;aACP,CAAC,CAAC;QACP,CAAC,CAAC;QAEF,OAAO;YACH,0CAA0C,CACtC,IAA6B;gBAE7B,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAE3D,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;oBAC1B,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBACzC,CAAC;YACL,CAAC;YACD,gDAAgD,CAC5C,IAA6B;gBAE7B,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAElD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;oBAC1B,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBACzC,CAAC;YACL,CAAC;SACJ,CAAC;IACN,CAAC;IACD,cAAc,EAAE,EAAE;IAClB,IAAI,EAAE;QACF,IAAI,EAAE;YACF,WAAW,EACP,6EAA6E;YACjF,WAAW,EAAE,IAAI;YACjB,oBAAoB,EAAE,KAAK;YAC3B,qBAAqB,EAAE;gBACnB,qCAAqC;gBACrC,kDAAkD;gBAClD,gCAAgC;gBAChC,6BAA6B;aAChC;YACD,GAAG,EAAE,iBAAiB,CAAC,oBAAoB,CAAC;SAC/C;QACD,QAAQ,EAAE;YACN,aAAa,EACT,+EAA+E;SACtF;QACD,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,SAAS;KAClB;IACD,IAAI,EAAE,oBAAoB;CAC7B,CAAC,CAAC;AAEH,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"no-floating-timers.js","sourceRoot":"","sources":["../../src/rules/no-floating-timers.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,OAAO,EACH,cAAc,GAGjB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,6BAA6B,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EACH,eAAe,GAElB,MAAM,4BAA4B,CAAC;AAEpC,MAAM,kBAAkB,GAAG;IACvB,uBAAuB;IACvB,qBAAqB;IACrB,cAAc;IACd,aAAa;IACb,YAAY;CACN,CAAC;AAEX,MAAM,mBAAmB,GAAG;IACxB,QAAQ;IACR,YAAY;IACZ,MAAM;IACN,QAAQ;CACF,CAAC;AAIX,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAC9E,MAAM,qBAAqB,GAAwB,IAAI,GAAG,CACtD,mBAAmB,CACtB,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAA6B,EAAE,CACpE,MAAM,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;AAEvC,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAW,EAAE,CACnD,MAAM,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;AAExC,MAAM,sBAAsB,GAAG,CAC3B,IAAuC,EAChC,EAAE,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC;AAElD,MAAM,oBAAoB,GAAG,CACzB,OAAyB,EACzB,UAAyC,EAClC,EAAE;IACT,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;IAEjE,OAAO,QAAQ,KAAK,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CACvB,OAAyB,EACzB,MAAmD,EACtB,EAAE;IAC/B,IACI,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU;QACzC,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC;QACjC,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,EACvC,CAAC;QACC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CACvB,MAAmD,EACtB,EAAE;IAC/B,IACI,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,gBAAgB;QAC/C,MAAM,CAAC,QAAQ;QACf,MAAM,CAAC,QAAQ;QACf,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU;QAChD,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU;QAClD,CAAC,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;QACzC,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC5C,CAAC;QACC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;AAChC,CAAC,CAAC;AAEF,oEAAoE;AACpE,MAAM,gBAAgB,GAGlB,eAAe,CAAC;IAChB,MAAM,CAAC,OAAO;QACV,MAAM,mBAAmB,GAAG,CACxB,IAAuC,EACvC,SAA4B,EACxB,EAAE;YACN,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChC,OAAO;YACX,CAAC;YAED,OAAO,CAAC,MAAM,CAAC;gBACX,IAAI,EAAE,EAAE,SAAS,EAAE;gBACnB,SAAS,EAAE,eAAe;gBAC1B,IAAI;aACP,CAAC,CAAC;QACP,CAAC,CAAC;QAEF,OAAO;YACH,0CAA0C,CACtC,IAA6B;gBAE7B,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBAE3D,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;oBACvB,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBACzC,CAAC;YACL,CAAC;YACD,gDAAgD,CAC5C,IAA6B;gBAE7B,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAElD,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;oBACvB,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBACzC,CAAC;YACL,CAAC;SACJ,CAAC;IACN,CAAC;IACD,cAAc,EAAE,EAAE;IAClB,IAAI,EAAE;QACF,IAAI,EAAE;YACF,WAAW,EACP,6EAA6E;YACjF,WAAW,EAAE,IAAI;YACjB,oBAAoB,EAAE,KAAK;YAC3B,qBAAqB,EAAE;gBACnB,qCAAqC;gBACrC,kDAAkD;gBAClD,gCAAgC;gBAChC,6BAA6B;aAChC;YACD,GAAG,EAAE,iBAAiB,CAAC,oBAAoB,CAAC;SAC/C;QACD,QAAQ,EAAE;YACN,aAAa,EACT,+EAA+E;SACtF;QACD,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,SAAS;KAClB;IACD,IAAI,EAAE,oBAAoB;CAC7B,CAAC,CAAC;AAEH,eAAe,gBAAgB,CAAC"}
@@ -3,6 +3,7 @@
3
3
  * Require WakeLockSentinel handles to be retained so they can be released.
4
4
  */
5
5
  import { AST_NODE_TYPES, } from "@typescript-eslint/utils";
6
+ import { arrayFirst, isDefined, setHas } from "ts-extras";
6
7
  import { getParentNode } from "../_internal/ast-node.js";
7
8
  import { createRuleDocsUrl } from "../_internal/rule-docs-url.js";
8
9
  import { getVariableInScopeChain } from "../_internal/scope-variable.js";
@@ -51,7 +52,7 @@ const collectStaticMemberPath = (node) => {
51
52
  }
52
53
  const objectPath = collectStaticMemberPath(node.object);
53
54
  const propertyName = getStaticPropertyName(node.property, node.computed);
54
- return objectPath === undefined || propertyName === undefined
55
+ return !isDefined(objectPath) || !isDefined(propertyName)
55
56
  ? undefined
56
57
  : [...objectPath, propertyName];
57
58
  };
@@ -77,11 +78,11 @@ const isNavigatorPathShadowed = (context, callee) => {
77
78
  isShadowedNavigatorIdentifier(context, rootIdentifier));
78
79
  };
79
80
  const isWakeLockRequestPath = (path) => (path.length === 3 &&
80
- path[0] === "navigator" &&
81
+ arrayFirst(path) === "navigator" &&
81
82
  path[1] === "wakeLock" &&
82
83
  path[2] === wakeLockRequestFunctionName) ||
83
84
  (path.length === 4 &&
84
- globalNavigatorReceiverNameSet.has(path[0] ?? "") &&
85
+ setHas(globalNavigatorReceiverNameSet, arrayFirst(path) ?? "") &&
85
86
  path[1] === "navigator" &&
86
87
  path[2] === "wakeLock" &&
87
88
  path[3] === wakeLockRequestFunctionName);
@@ -91,29 +92,28 @@ const isWakeLockRequestCall = (context, callee) => {
91
92
  return false;
92
93
  }
93
94
  const path = collectStaticMemberPath(callee);
94
- return path !== undefined && isWakeLockRequestPath(path);
95
+ return isDefined(path) && isWakeLockRequestPath(path);
95
96
  };
96
97
  const isDiscardedWakeLockRequest = (node) => {
97
98
  let current = node;
98
99
  let parent = getParentNode(current);
99
- while (parent !== undefined) {
100
+ while (isDefined(parent)) {
100
101
  const wrappedExpression = getTransparentWrappedExpression(parent);
101
- if (wrappedExpression === current) {
102
- current = parent;
103
- parent = getParentNode(current);
104
- continue;
102
+ if (wrappedExpression !== current) {
103
+ if (parent.type === AST_NODE_TYPES.ExpressionStatement &&
104
+ parent.expression === current) {
105
+ return true;
106
+ }
107
+ if (parent.type === AST_NODE_TYPES.UnaryExpression &&
108
+ parent.operator === "void" &&
109
+ parent.argument === current) {
110
+ const unaryParent = getParentNode(parent);
111
+ return unaryParent?.type === AST_NODE_TYPES.ExpressionStatement;
112
+ }
113
+ return false;
105
114
  }
106
- if (parent.type === AST_NODE_TYPES.ExpressionStatement &&
107
- parent.expression === current) {
108
- return true;
109
- }
110
- if (parent.type === AST_NODE_TYPES.UnaryExpression &&
111
- parent.operator === "void" &&
112
- parent.argument === current) {
113
- const unaryParent = getParentNode(parent);
114
- return unaryParent?.type === AST_NODE_TYPES.ExpressionStatement;
115
- }
116
- return false;
115
+ current = parent;
116
+ parent = getParentNode(current);
117
117
  }
118
118
  return false;
119
119
  };
@@ -1 +1 @@
1
- {"version":3,"file":"no-floating-wake-locks.js","sourceRoot":"","sources":["../../src/rules/no-floating-wake-locks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"no-floating-wake-locks.js","sourceRoot":"","sources":["../../src/rules/no-floating-wake-locks.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"no-floating-web-stream-locks.d.ts","sourceRoot":"","sources":["../../src/rules/no-floating-web-stream-locks.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAEH,KAAK,QAAQ,EAEhB,MAAM,0BAA0B,CAAC;AAiFlC,8EAA8E;AAC9E,QAAA,MAAM,wBAAwB,EAAE,QAAQ,CAAC,UAAU,CAC/C,uBAAuB,EACvB,SAAS,EAAE,CAqDb,CAAC;AAEH,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"no-floating-web-stream-locks.d.ts","sourceRoot":"","sources":["../../src/rules/no-floating-web-stream-locks.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,OAAO,EAEH,KAAK,QAAQ,EAEhB,MAAM,0BAA0B,CAAC;AAkFlC,8EAA8E;AAC9E,QAAA,MAAM,wBAAwB,EAAE,QAAQ,CAAC,UAAU,CAC/C,uBAAuB,EACvB,SAAS,EAAE,CAqDb,CAAC;AAEH,eAAe,wBAAwB,CAAC"}
@@ -3,6 +3,7 @@
3
3
  * Require Web Stream readers and writers to be retained so their locks can be released.
4
4
  */
5
5
  import { AST_NODE_TYPES, } from "@typescript-eslint/utils";
6
+ import { isDefined, setHas } from "ts-extras";
6
7
  import { getStaticPropertyName, isDiscardedResourceExpression, isImmediateUnownedMemberReceiver, } from "../_internal/floating-resource.js";
7
8
  import { createRuleDocsUrl } from "../_internal/rule-docs-url.js";
8
9
  import { hasTypeNameInHierarchy } from "../_internal/type-checker.js";
@@ -20,7 +21,7 @@ const lockFactoryMetadataByName = {
20
21
  },
21
22
  };
22
23
  const lockFactoryNameSet = new Set(lockFactoryNames);
23
- const isLockFactoryName = (name) => lockFactoryNameSet.has(name);
24
+ const isLockFactoryName = (name) => setHas(lockFactoryNameSet, name);
24
25
  const getLockFactoryMetadata = (callee) => {
25
26
  if (callee.type !== AST_NODE_TYPES.MemberExpression || callee.optional) {
26
27
  return undefined;
@@ -29,7 +30,7 @@ const getLockFactoryMetadata = (callee) => {
29
30
  return undefined;
30
31
  }
31
32
  const factoryName = getStaticPropertyName(callee.property, callee.computed);
32
- if (factoryName === undefined || !isLockFactoryName(factoryName)) {
33
+ if (!isDefined(factoryName) || !isLockFactoryName(factoryName)) {
33
34
  return undefined;
34
35
  }
35
36
  return {
@@ -48,7 +49,7 @@ const noFloatingWebStreamLocks = createTypedRule({
48
49
  return {
49
50
  CallExpression(node) {
50
51
  const metadata = getLockFactoryMetadata(node.callee);
51
- if (metadata === undefined ||
52
+ if (!isDefined(metadata) ||
52
53
  !isReceiverExpectedWebStream(context, metadata.receiver, metadata.streamTypeName) ||
53
54
  (!isDiscardedResourceExpression(node) &&
54
55
  !isImmediateUnownedMemberReceiver(node, cleanupMemberNames))) {
@@ -1 +1 @@
1
- {"version":3,"file":"no-floating-web-stream-locks.js","sourceRoot":"","sources":["../../src/rules/no-floating-web-stream-locks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"no-floating-web-stream-locks.js","sourceRoot":"","sources":["../../src/rules/no-floating-web-stream-locks.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"no-floating-workers.d.ts","sourceRoot":"","sources":["../../src/rules/no-floating-workers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAEH,KAAK,QAAQ,EAEhB,MAAM,0BAA0B,CAAC;AA2OlC,qEAAqE;AACrE,QAAA,MAAM,iBAAiB,EAAE,QAAQ,CAAC,UAAU,CACxC,gBAAgB,EAChB,SAAS,EAAE,CAiDb,CAAC;AAEH,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"no-floating-workers.d.ts","sourceRoot":"","sources":["../../src/rules/no-floating-workers.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,OAAO,EAEH,KAAK,QAAQ,EAEhB,MAAM,0BAA0B,CAAC;AA0OlC,qEAAqE;AACrE,QAAA,MAAM,iBAAiB,EAAE,QAAQ,CAAC,UAAU,CACxC,gBAAgB,EAChB,SAAS,EAAE,CAiDb,CAAC;AAEH,eAAe,iBAAiB,CAAC"}
@@ -3,6 +3,7 @@
3
3
  * Require worker handles to be retained so they can be terminated during cleanup.
4
4
  */
5
5
  import { AST_NODE_TYPES, } from "@typescript-eslint/utils";
6
+ import { arrayFirst, isDefined, setHas } from "ts-extras";
6
7
  import { getParentNode } from "../_internal/ast-node.js";
7
8
  import { createRuleDocsUrl } from "../_internal/rule-docs-url.js";
8
9
  import { getVariableInScopeChain } from "../_internal/scope-variable.js";
@@ -23,8 +24,8 @@ const workerThreadsModuleNames = [
23
24
  const browserWorkerConstructorNameSet = new Set(browserWorkerConstructorNames);
24
25
  const globalReceiverNameSet = new Set(globalReceiverNames);
25
26
  const workerThreadsModuleNameSet = new Set(workerThreadsModuleNames);
26
- const isBrowserWorkerConstructorName = (name) => browserWorkerConstructorNameSet.has(name);
27
- const isGlobalReceiverName = (name) => globalReceiverNameSet.has(name);
27
+ const isBrowserWorkerConstructorName = (name) => setHas(browserWorkerConstructorNameSet, name);
28
+ const isGlobalReceiverName = (name) => setHas(globalReceiverNameSet, name);
28
29
  const getTransparentWrappedExpression = (node) => {
29
30
  if (node.type === AST_NODE_TYPES.ChainExpression) {
30
31
  return node.expression;
@@ -54,13 +55,13 @@ const getImportSourceValue = (node) => {
54
55
  const isWorkerThreadsImportBinding = (context, identifier) => {
55
56
  const scope = context.sourceCode.getScope(identifier);
56
57
  const variable = getVariableInScopeChain(scope, identifier.name);
57
- const definition = variable?.defs[0];
58
- const importSource = definition === undefined
59
- ? undefined
60
- : getImportSourceValue(definition.node);
58
+ const definition = arrayFirst(variable?.defs ?? []);
59
+ const importSource = isDefined(definition)
60
+ ? getImportSourceValue(definition.node)
61
+ : undefined;
61
62
  return (identifier.name === "Worker" &&
62
- importSource !== undefined &&
63
- workerThreadsModuleNameSet.has(importSource));
63
+ isDefined(importSource) &&
64
+ setHas(workerThreadsModuleNameSet, importSource));
64
65
  };
65
66
  const isShadowedBrowserWorkerIdentifier = (context, identifier) => {
66
67
  const scope = context.sourceCode.getScope(identifier);
@@ -96,47 +97,45 @@ const getWorkerConstructorName = (context, callee) => getDirectWorkerConstructor
96
97
  const isDiscardedWorkerInstance = (node) => {
97
98
  let current = node;
98
99
  let parent = getParentNode(current);
99
- while (parent !== undefined) {
100
+ while (isDefined(parent)) {
100
101
  const wrappedExpression = getTransparentWrappedExpression(parent);
101
- if (wrappedExpression === current) {
102
- current = parent;
103
- parent = getParentNode(current);
104
- continue;
105
- }
106
- if (parent.type === AST_NODE_TYPES.ExpressionStatement &&
107
- parent.expression === current) {
108
- return true;
109
- }
110
- if (parent.type === AST_NODE_TYPES.UnaryExpression &&
111
- parent.operator === "void" &&
112
- parent.argument === current) {
113
- const unaryParent = getParentNode(parent);
114
- return unaryParent?.type === AST_NODE_TYPES.ExpressionStatement;
102
+ if (wrappedExpression !== current) {
103
+ if (parent.type === AST_NODE_TYPES.ExpressionStatement &&
104
+ parent.expression === current) {
105
+ return true;
106
+ }
107
+ if (parent.type === AST_NODE_TYPES.UnaryExpression &&
108
+ parent.operator === "void" &&
109
+ parent.argument === current) {
110
+ const unaryParent = getParentNode(parent);
111
+ return unaryParent?.type === AST_NODE_TYPES.ExpressionStatement;
112
+ }
113
+ return false;
115
114
  }
116
- return false;
115
+ current = parent;
116
+ parent = getParentNode(current);
117
117
  }
118
118
  return false;
119
119
  };
120
120
  const isImmediateWorkerMethodReceiver = (node) => {
121
121
  let current = node;
122
122
  let parent = getParentNode(current);
123
- while (parent !== undefined) {
123
+ while (isDefined(parent)) {
124
124
  const wrappedExpression = getTransparentWrappedExpression(parent);
125
- if (wrappedExpression === current) {
126
- current = parent;
127
- parent = getParentNode(current);
128
- continue;
129
- }
130
- if (parent.type !== AST_NODE_TYPES.MemberExpression ||
131
- parent.object !== current ||
132
- parent.computed ||
133
- parent.property.type !== AST_NODE_TYPES.Identifier ||
134
- parent.property.name === "terminate") {
135
- return false;
125
+ if (wrappedExpression !== current) {
126
+ if (parent.type !== AST_NODE_TYPES.MemberExpression ||
127
+ parent.object !== current ||
128
+ parent.computed ||
129
+ parent.property.type !== AST_NODE_TYPES.Identifier ||
130
+ parent.property.name === "terminate") {
131
+ return false;
132
+ }
133
+ const callExpression = getParentNode(parent);
134
+ return (callExpression?.type === AST_NODE_TYPES.CallExpression &&
135
+ callExpression.callee === parent);
136
136
  }
137
- const callExpression = getParentNode(parent);
138
- return (callExpression?.type === AST_NODE_TYPES.CallExpression &&
139
- callExpression.callee === parent);
137
+ current = parent;
138
+ parent = getParentNode(current);
140
139
  }
141
140
  return false;
142
141
  };
@@ -146,7 +145,7 @@ const noFloatingWorkers = createTypedRule({
146
145
  return {
147
146
  NewExpression(node) {
148
147
  const workerName = getWorkerConstructorName(context, node.callee);
149
- if (workerName === undefined ||
148
+ if (!isDefined(workerName) ||
150
149
  (!isDiscardedWorkerInstance(node) &&
151
150
  !isImmediateWorkerMethodReceiver(node))) {
152
151
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"no-floating-workers.js","sourceRoot":"","sources":["../../src/rules/no-floating-workers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"no-floating-workers.js","sourceRoot":"","sources":["../../src/rules/no-floating-workers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"no-unmanaged-event-listeners.d.ts","sourceRoot":"","sources":["../../src/rules/no-unmanaged-event-listeners.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAEH,KAAK,QAAQ,EAEhB,MAAM,0BAA0B,CAAC;AAiPlC,8EAA8E;AAC9E,QAAA,MAAM,yBAAyB,EAAE,QAAQ,CAAC,UAAU,CAChD,wBAAwB,EACxB,SAAS,EAAE,CA+Gb,CAAC;AAEH,eAAe,yBAAyB,CAAC"}
1
+ {"version":3,"file":"no-unmanaged-event-listeners.d.ts","sourceRoot":"","sources":["../../src/rules/no-unmanaged-event-listeners.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAEH,KAAK,QAAQ,EAEhB,MAAM,0BAA0B,CAAC;AAkPlC,8EAA8E;AAC9E,QAAA,MAAM,yBAAyB,EAAE,QAAQ,CAAC,UAAU,CAChD,wBAAwB,EACxB,SAAS,EAAE,CAgHb,CAAC;AAEH,eAAe,yBAAyB,CAAC"}
@@ -3,6 +3,7 @@
3
3
  * Require event listeners to have an explicit cleanup path.
4
4
  */
5
5
  import { AST_NODE_TYPES, } from "@typescript-eslint/utils";
6
+ import { arrayFirst, isDefined, setHas, stringSplit } from "ts-extras";
6
7
  import { getParentNode } from "../_internal/ast-node.js";
7
8
  import { createRuleDocsUrl } from "../_internal/rule-docs-url.js";
8
9
  import { getVariableInScopeChain } from "../_internal/scope-variable.js";
@@ -14,7 +15,7 @@ const isCleanupBoundary = (node) => node.type === AST_NODE_TYPES.Program ||
14
15
  node.type === AST_NODE_TYPES.ArrowFunctionExpression;
15
16
  const getCleanupBoundary = (node) => {
16
17
  let current = node;
17
- while (current !== undefined) {
18
+ while (isDefined(current)) {
18
19
  if (isCleanupBoundary(current)) {
19
20
  return current;
20
21
  }
@@ -42,7 +43,7 @@ const isVariableDeclarator = (node) => isUnknownRecord(node) &&
42
43
  const getVariableInitializer = (context, identifier) => {
43
44
  const scope = context.sourceCode.getScope(identifier);
44
45
  const variable = getVariableInScopeChain(scope, identifier.name);
45
- const definition = variable?.defs[0];
46
+ const definition = arrayFirst(variable?.defs ?? []);
46
47
  const definitionNode = definition?.node;
47
48
  if (!isVariableDeclarator(definitionNode)) {
48
49
  return undefined;
@@ -76,7 +77,7 @@ const getBooleanPropertyValue = (objectExpression, propertyName) => {
76
77
  return undefined;
77
78
  };
78
79
  const hasAbortSignalOption = (context, argument) => {
79
- if (argument === undefined) {
80
+ if (!isDefined(argument)) {
80
81
  return false;
81
82
  }
82
83
  const resolvedOptions = resolveOptionsExpression(context, argument);
@@ -84,11 +85,11 @@ const hasAbortSignalOption = (context, argument) => {
84
85
  objectExpressionHasProperty(resolvedOptions, "signal"));
85
86
  };
86
87
  const getCaptureKey = (context, argument) => {
87
- if (argument === undefined) {
88
+ if (!isDefined(argument)) {
88
89
  return "false";
89
90
  }
90
91
  const resolvedOptions = resolveOptionsExpression(context, argument);
91
- if (resolvedOptions === undefined) {
92
+ if (!isDefined(resolvedOptions)) {
92
93
  return unknownCaptureKey;
93
94
  }
94
95
  if (resolvedOptions.type === AST_NODE_TYPES.Literal &&
@@ -97,7 +98,7 @@ const getCaptureKey = (context, argument) => {
97
98
  }
98
99
  if (resolvedOptions.type === AST_NODE_TYPES.ObjectExpression) {
99
100
  const captureValue = getBooleanPropertyValue(resolvedOptions, "capture");
100
- return captureValue === undefined ? "false" : String(captureValue);
101
+ return isDefined(captureValue) ? String(captureValue) : "false";
101
102
  }
102
103
  return unknownCaptureKey;
103
104
  };
@@ -106,8 +107,8 @@ const getCleanupKey = (context, node) => {
106
107
  return undefined;
107
108
  }
108
109
  const [eventType, listener, options] = node.arguments;
109
- if (eventType === undefined ||
110
- listener === undefined ||
110
+ if (!isDefined(eventType) ||
111
+ !isDefined(listener) ||
111
112
  eventType.type === AST_NODE_TYPES.SpreadElement ||
112
113
  listener.type === AST_NODE_TYPES.SpreadElement) {
113
114
  return undefined;
@@ -119,10 +120,10 @@ const getCleanupKey = (context, node) => {
119
120
  return `${targetText}\u0000${eventTypeText}\u0000${listenerText}\u0000${captureKey}`;
120
121
  };
121
122
  const getWildcardCleanupKey = (cleanupKey) => {
122
- const [targetText, eventTypeText, listenerText] = cleanupKey.split("\u0000", 3);
123
- if (targetText === undefined ||
124
- eventTypeText === undefined ||
125
- listenerText === undefined) {
123
+ const [targetText, eventTypeText, listenerText] = stringSplit(cleanupKey, "\u0000");
124
+ if (!isDefined(targetText) ||
125
+ !isDefined(eventTypeText) ||
126
+ !isDefined(listenerText)) {
126
127
  throw new TypeError("Expected a complete event listener cleanup key.");
127
128
  }
128
129
  return `${targetText}\u0000${eventTypeText}\u0000${listenerText}\u0000${unknownCaptureKey}`;
@@ -134,7 +135,7 @@ const noUnmanagedEventListeners = createTypedRule({
134
135
  const removesByBoundary = new Map();
135
136
  const addRecord = (boundary, record) => {
136
137
  const records = addsByBoundary.get(boundary);
137
- if (records === undefined) {
138
+ if (!isDefined(records)) {
138
139
  addsByBoundary.set(boundary, [record]);
139
140
  return;
140
141
  }
@@ -142,7 +143,7 @@ const noUnmanagedEventListeners = createTypedRule({
142
143
  };
143
144
  const addRemoveKey = (boundary, cleanupKey) => {
144
145
  const cleanupKeys = removesByBoundary.get(boundary);
145
- if (cleanupKeys === undefined) {
146
+ if (!isDefined(cleanupKeys)) {
146
147
  removesByBoundary.set(boundary, new Set([cleanupKey]));
147
148
  return;
148
149
  }
@@ -153,7 +154,7 @@ const noUnmanagedEventListeners = createTypedRule({
153
154
  if (isMethodCallNamed(node.callee, "addEventListener") &&
154
155
  !hasAbortSignalOption(context, node.arguments[2])) {
155
156
  const cleanupKey = getCleanupKey(context, node);
156
- if (cleanupKey !== undefined) {
157
+ if (isDefined(cleanupKey)) {
157
158
  addRecord(getCleanupBoundary(node), {
158
159
  cleanupKey,
159
160
  node,
@@ -162,7 +163,7 @@ const noUnmanagedEventListeners = createTypedRule({
162
163
  }
163
164
  if (isMethodCallNamed(node.callee, "removeEventListener")) {
164
165
  const cleanupKey = getCleanupKey(context, node);
165
- if (cleanupKey !== undefined) {
166
+ if (isDefined(cleanupKey)) {
166
167
  addRemoveKey(getCleanupBoundary(node), cleanupKey);
167
168
  }
168
169
  }
@@ -171,14 +172,13 @@ const noUnmanagedEventListeners = createTypedRule({
171
172
  for (const [boundary, addRecords] of addsByBoundary) {
172
173
  const removeKeys = removesByBoundary.get(boundary) ?? new Set();
173
174
  for (const { cleanupKey, node } of addRecords) {
174
- if (removeKeys.has(cleanupKey) ||
175
- removeKeys.has(getWildcardCleanupKey(cleanupKey))) {
176
- continue;
175
+ if (!setHas(removeKeys, cleanupKey) &&
176
+ !setHas(removeKeys, getWildcardCleanupKey(cleanupKey))) {
177
+ context.report({
178
+ messageId: "unmanagedEventListener",
179
+ node,
180
+ });
177
181
  }
178
- context.report({
179
- messageId: "unmanagedEventListener",
180
- node,
181
- });
182
182
  }
183
183
  }
184
184
  },
@@ -1 +1 @@
1
- {"version":3,"file":"no-unmanaged-event-listeners.js","sourceRoot":"","sources":["../../src/rules/no-unmanaged-event-listeners.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"no-unmanaged-event-listeners.js","sourceRoot":"","sources":["../../src/rules/no-unmanaged-event-listeners.ts"],"names":[],"mappings":"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"}
@@ -93,7 +93,7 @@ export default [
93
93
 
94
94
  ## When not to use it
95
95
 
96
- Do not enable this rule for tiny one-page demos where the browser page lifetime
96
+ Do not enable this rule for one-page demos where the browser page lifetime
97
97
  is intentionally the cleanup boundary. Use narrow inline disables for those
98
98
  examples.
99
99
 
@@ -101,4 +101,3 @@ examples.
101
101
 
102
102
  - [MDN: `AudioContext`](https://developer.mozilla.org/docs/Web/API/AudioContext)
103
103
  - [MDN: `AudioContext.close()`](https://developer.mozilla.org/docs/Web/API/AudioContext/close)
104
-
@@ -30,7 +30,7 @@ The rule reports:
30
30
  expression
31
31
 
32
32
  It intentionally allows promise chains and lifecycle-manager calls that receive
33
- the stream. The rule focuses on obviously unowned stream handles, not on proving
33
+ the stream. The rule focuses on directly unowned stream handles, not on proving
34
34
  that every possible owner eventually stops every track.
35
35
 
36
36
  ## Why this rule exists
@@ -25,9 +25,9 @@ The rule reports:
25
25
  - `void URL.createObjectURL(...)`
26
26
  - static computed global forms such as:
27
27
 
28
- ```ts
29
- window["URL"]["createObjectURL"](blob);
30
- ```
28
+ ```ts
29
+ window["URL"]["createObjectURL"](blob);
30
+ ```
31
31
 
32
32
  The rule intentionally allows object URLs that are stored, returned, or passed to
33
33
  a lifecycle manager. It does not try to prove that every retained URL is later
@@ -32,7 +32,7 @@ The rule reports:
32
32
  `new IntersectionObserver(callback).observe(element);`
33
33
 
34
34
  It intentionally does not require same-function `disconnect()` calls. That is a
35
- separate ownership question, and many valid designs transfer observer ownership
35
+ separate ownership question, and valid designs transfer observer ownership
36
36
  to a manager, component instance, returned disposable, or framework lifecycle.
37
37
 
38
38
  ## Why this rule exists
@@ -114,7 +114,7 @@ export default [
114
114
 
115
115
  ## When not to use it
116
116
 
117
- Do not enable this rule for tiny one-off scripts where the server is
117
+ Do not enable this rule for one-off scripts where the server is
118
118
  intentionally process-lifetime and never needs graceful shutdown. Prefer a
119
119
  narrow disable comment with a reason in those files rather than weakening the
120
120
  rule globally.
@@ -28,7 +28,7 @@ The rule reports:
28
28
  `await navigator.wakeLock.request("screen");`
29
29
 
30
30
  It intentionally allows promise chains and lifecycle-manager calls that receive
31
- the sentinel. The rule focuses on obviously unowned wake lock handles.
31
+ the sentinel. The rule focuses on directly unowned wake lock handles.
32
32
 
33
33
  ## Why this rule exists
34
34
 
@@ -26,7 +26,7 @@ The rule reports:
26
26
  lost
27
27
 
28
28
  Immediate `releaseLock()` calls are allowed. The rule focuses on cases where the
29
- lock owner is obviously unavailable to cleanup code.
29
+ lock owner is unavailable to cleanup code.
30
30
 
31
31
  ## Why this rule exists
32
32
 
@@ -102,4 +102,3 @@ lifetime, use a narrow disable comment and document that ownership boundary.
102
102
  - [MDN: `ReadableStreamDefaultReader.releaseLock()`](https://developer.mozilla.org/docs/Web/API/ReadableStreamDefaultReader/releaseLock)
103
103
  - [MDN: `WritableStream.getWriter()`](https://developer.mozilla.org/docs/Web/API/WritableStream/getWriter)
104
104
  - [MDN: `WritableStreamDefaultWriter.releaseLock()`](https://developer.mozilla.org/docs/Web/API/WritableStreamDefaultWriter/releaseLock)
105
-