eslint-plugin-react-web-api 5.24.0-beta.2 → 5.24.0

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 (2) hide show
  1. package/dist/index.js +18 -9
  2. package/package.json +6 -6
package/dist/index.js CHANGED
@@ -27,7 +27,7 @@ var __exportAll = (all, no_symbols) => {
27
27
  //#endregion
28
28
  //#region package.json
29
29
  var name$1 = "eslint-plugin-react-web-api";
30
- var version = "5.24.0-beta.2";
30
+ var version = "5.24.0";
31
31
 
32
32
  //#endregion
33
33
  //#region src/utils/create-rule.ts
@@ -38,6 +38,9 @@ const createRule = ESLintUtils.RuleCreator(getDocsUrl);
38
38
 
39
39
  //#endregion
40
40
  //#region ../../.pkgs/eff/dist/index.js
41
+ function and(a, b) {
42
+ return (data) => a(data) && b(data);
43
+ }
41
44
  function or(a, b) {
42
45
  return (data) => a(data) || b(data);
43
46
  }
@@ -584,6 +587,7 @@ function getOptions(context, node) {
584
587
  //#endregion
585
588
  //#region src/rules/no-leaked-event-listener/no-leaked-event-listener.ts
586
589
  const RULE_NAME$5 = "no-leaked-event-listener";
590
+ const isUseEffectCallback$5 = or(isUseEffectSetupCallback, isUseEffectCleanupCallback);
587
591
  function getCallKind$5(node) {
588
592
  const name = Extract.getCalleeName(node);
589
593
  if (name != null && isMatching(P.union("addEventListener", "removeEventListener"))(name)) return name;
@@ -691,7 +695,7 @@ function create$5(context) {
691
695
  }
692
696
  return {
693
697
  ["CallExpression"](node) {
694
- const fn = Traverse.findParent(node, (n) => isUseEffectSetupCallback(n) || isUseEffectCleanupCallback(n));
698
+ const fn = Traverse.findParent(node, isUseEffectCallback$5);
695
699
  if (fn == null) return;
696
700
  const fKind = isUseEffectSetupCallback(fn) ? "setup" : "cleanup";
697
701
  const setupFn = fKind === "setup" ? fn : Traverse.findParent(fn, Check.isFunction);
@@ -773,6 +777,7 @@ function resolveToObjectExpression(context, node) {
773
777
  //#endregion
774
778
  //#region src/rules/no-leaked-fetch/no-leaked-fetch.ts
775
779
  const RULE_NAME$4 = "no-leaked-fetch";
780
+ const isUseEffectCallback$4 = or(isUseEffectSetupCallback, isUseEffectCleanupCallback);
776
781
  function getCallKind$4(node) {
777
782
  const name = Extract.getCalleeName(node);
778
783
  if (name != null && isMatching(P.union("fetch", "abort"))(name)) return name;
@@ -861,7 +866,7 @@ function create$4(context) {
861
866
  node
862
867
  });
863
868
  }).with("abort", () => {
864
- const fn = Traverse.findParent(node, (n) => isUseEffectSetupCallback(n) || isUseEffectCleanupCallback(n));
869
+ const fn = Traverse.findParent(node, isUseEffectCallback$4);
865
870
  if (fn == null || !isUseEffectCleanupCallback(fn)) return;
866
871
  const controller = getAbortController(node);
867
872
  if (controller == null) return;
@@ -912,6 +917,7 @@ function isFromObserver$1(context, node, name) {
912
917
  //#endregion
913
918
  //#region src/rules/no-leaked-intersection-observer/no-leaked-intersection-observer.ts
914
919
  const RULE_NAME$3 = "no-leaked-intersection-observer";
920
+ const isUseEffectCallback$3 = or(isUseEffectSetupCallback, isUseEffectCleanupCallback);
915
921
  function getCallKind$3(context, node) {
916
922
  const callee = Extract.unwrap(node.callee);
917
923
  if (callee.type !== AST_NODE_TYPES.MemberExpression) return "other";
@@ -942,7 +948,7 @@ function create$3(context) {
942
948
  const dEntries = [];
943
949
  return {
944
950
  ["CallExpression"](node) {
945
- if (Traverse.findParent(node, (n) => isUseEffectSetupCallback(n) || isUseEffectCleanupCallback(n)) == null) return;
951
+ if (Traverse.findParent(node, isUseEffectCallback$3) == null) return;
946
952
  const callee = Extract.unwrap(node.callee);
947
953
  if (callee.type !== AST_NODE_TYPES.MemberExpression) return;
948
954
  const { object } = callee;
@@ -973,7 +979,7 @@ function create$3(context) {
973
979
  }).otherwise(() => null);
974
980
  },
975
981
  ["NewExpression"](node) {
976
- const fn = Traverse.findParent(node, (n) => Check.isFunction(n) && (isUseEffectSetupCallback(n) || isUseEffectCleanupCallback(n)));
982
+ const fn = Traverse.findParent(node, and(Check.isFunction, isUseEffectCallback$3));
977
983
  if (fn == null) return;
978
984
  if (!isNewObserver$1(node, "IntersectionObserver")) return;
979
985
  const id = resolveEnclosingAssignmentTarget(node);
@@ -1020,6 +1026,7 @@ function create$3(context) {
1020
1026
  //#endregion
1021
1027
  //#region src/rules/no-leaked-interval/no-leaked-interval.ts
1022
1028
  const RULE_NAME$2 = "no-leaked-interval";
1029
+ const isUseEffectCallback$2 = or(isUseEffectSetupCallback, isUseEffectCleanupCallback);
1023
1030
  function getCallKind$2(node) {
1024
1031
  const name = Extract.getCalleeName(node);
1025
1032
  if (name != null && isMatching(P.union("setInterval", "clearInterval"))(name)) return name;
@@ -1048,7 +1055,7 @@ function create$2(context) {
1048
1055
  }
1049
1056
  return {
1050
1057
  ["CallExpression"](node) {
1051
- if (Traverse.findParent(node, (n) => isUseEffectSetupCallback(n) || isUseEffectCleanupCallback(n)) == null) return;
1058
+ if (Traverse.findParent(node, isUseEffectCallback$2) == null) return;
1052
1059
  match(getCallKind$2(node)).with("setInterval", () => {
1053
1060
  const intervalIdNode = resolveEnclosingAssignmentTarget(node);
1054
1061
  if (intervalIdNode == null) {
@@ -1105,6 +1112,7 @@ function isFromObserver(context, node, name) {
1105
1112
  //#endregion
1106
1113
  //#region src/rules/no-leaked-resize-observer/no-leaked-resize-observer.ts
1107
1114
  const RULE_NAME$1 = "no-leaked-resize-observer";
1115
+ const isUseEffectCallback$1 = or(isUseEffectSetupCallback, isUseEffectCleanupCallback);
1108
1116
  function getCallKind$1(context, node) {
1109
1117
  const callee = Extract.unwrap(node.callee);
1110
1118
  if (callee.type !== AST_NODE_TYPES.MemberExpression) return "other";
@@ -1135,7 +1143,7 @@ function create$1(context) {
1135
1143
  const dEntries = [];
1136
1144
  return {
1137
1145
  ["CallExpression"](node) {
1138
- if (Traverse.findParent(node, (n) => isUseEffectSetupCallback(n) || isUseEffectCleanupCallback(n)) == null) return;
1146
+ if (Traverse.findParent(node, isUseEffectCallback$1) == null) return;
1139
1147
  const callee = Extract.unwrap(node.callee);
1140
1148
  if (callee.type !== AST_NODE_TYPES.MemberExpression) return;
1141
1149
  const { object } = callee;
@@ -1166,7 +1174,7 @@ function create$1(context) {
1166
1174
  }).otherwise(() => null);
1167
1175
  },
1168
1176
  ["NewExpression"](node) {
1169
- const fn = Traverse.findParent(node, (n) => Check.isFunction(n) && (isUseEffectSetupCallback(n) || isUseEffectCleanupCallback(n)));
1177
+ const fn = Traverse.findParent(node, and(Check.isFunction, isUseEffectCallback$1));
1170
1178
  if (fn == null) return;
1171
1179
  if (!isNewObserver(node, "ResizeObserver")) return;
1172
1180
  const id = resolveEnclosingAssignmentTarget(node);
@@ -1213,6 +1221,7 @@ function create$1(context) {
1213
1221
  //#endregion
1214
1222
  //#region src/rules/no-leaked-timeout/no-leaked-timeout.ts
1215
1223
  const RULE_NAME = "no-leaked-timeout";
1224
+ const isUseEffectCallback = or(isUseEffectSetupCallback, isUseEffectCleanupCallback);
1216
1225
  function getCallKind(node) {
1217
1226
  const name = Extract.getCalleeName(node);
1218
1227
  if (name != null && isMatching(P.union("setTimeout", "clearTimeout"))(name)) return name;
@@ -1241,7 +1250,7 @@ function create(context) {
1241
1250
  }
1242
1251
  return {
1243
1252
  ["CallExpression"](node) {
1244
- if (Traverse.findParent(node, (n) => isUseEffectSetupCallback(n) || isUseEffectCleanupCallback(n)) == null) return;
1253
+ if (Traverse.findParent(node, isUseEffectCallback) == null) return;
1245
1254
  match(getCallKind(node)).with("setTimeout", () => {
1246
1255
  const timeoutIdNode = resolveEnclosingAssignmentTarget(node);
1247
1256
  if (timeoutIdNode == null) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-plugin-react-web-api",
3
- "version": "5.24.0-beta.2",
3
+ "version": "5.24.0",
4
4
  "description": "ESLint React's ESLint plugin for interacting with Web APIs",
5
5
  "keywords": [
6
6
  "react",
@@ -37,11 +37,11 @@
37
37
  "dist"
38
38
  ],
39
39
  "dependencies": {
40
- "@eslint-react/ast": "5.24.0-beta.2",
41
- "@eslint-react/core": "5.24.0-beta.2",
42
- "@eslint-react/eslint": "5.24.0-beta.2",
43
- "@eslint-react/shared": "5.24.0-beta.2",
44
- "@eslint-react/var": "5.24.0-beta.2",
40
+ "@eslint-react/ast": "5.24.0",
41
+ "@eslint-react/core": "5.24.0",
42
+ "@eslint-react/eslint": "5.24.0",
43
+ "@eslint-react/shared": "5.24.0",
44
+ "@eslint-react/var": "5.24.0",
45
45
  "@typescript-eslint/types": "^8.71.0",
46
46
  "@typescript-eslint/utils": "^8.71.0",
47
47
  "ts-pattern": "^5.9.0"