eslint-plugin-redux-sparse-kit 0.1.0 → 0.1.1

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.
@@ -8,17 +8,15 @@ const utils_1 = require("@typescript-eslint/utils");
8
8
  const typescript_1 = __importDefault(require("typescript"));
9
9
  const sparseApi_1 = require("../utils/sparseApi");
10
10
  /**
11
- * The `StaticState` interface declared next to `defineSegment`, with the
12
- * augmentations the program adds to it.
11
+ * The `StaticState` interface declared next to the type of the segment, with
12
+ * the augmentations the program adds to it. Read from the segment rather than
13
+ * from the function called, so that a function wrapping `defineSegment` is
14
+ * checked too.
13
15
  */
14
- const getStaticState = (callee, checker) => {
15
- // The callee is an import, or a member of a namespace import: both resolve
16
- // to a declared function.
17
- let symbol = checker.getSymbolAtLocation(typescript_1.default.isPropertyAccessExpression(callee) ? callee.name : callee);
18
- if (symbol.flags & typescript_1.default.SymbolFlags.Alias) {
19
- symbol = checker.getAliasedSymbol(symbol);
20
- }
21
- const staticState = symbol
16
+ const getStaticState = (segment, checker) => {
17
+ // A type with a key and a reducer is declared somewhere.
18
+ const staticState = segment
19
+ .getSymbol()
22
20
  .declarations[0].getSourceFile()
23
21
  .statements.find((statement) => typescript_1.default.isInterfaceDeclaration(statement) && statement.name.text === 'StaticState');
24
22
  return staticState && checker.getTypeAtLocation(staticState.name);
@@ -58,7 +56,7 @@ const create = (context) => {
58
56
  // A segment without a reducer owns no slice.
59
57
  return;
60
58
  }
61
- const staticState = getStaticState(call.expression, checker);
59
+ const staticState = getStaticState(segment, checker);
62
60
  if (!staticState) {
63
61
  return;
64
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"noStaticStateKey.js","sourceRoot":"","sources":["../../src/rules/noStaticStateKey.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"noStaticStateKey.js","sourceRoot":"","sources":["../../src/rules/noStaticStateKey.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-plugin-redux-sparse-kit",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "ESLint rules for redux-sparse-kit segments and scopes",
5
5
  "keywords": [
6
6
  "dynamic-reducers",