@nielspeter/eess-ts 0.5.0 → 0.6.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 (101) hide show
  1. package/README.md +1 -1
  2. package/dist/builders/class-rule-builder.d.ts +6 -3
  3. package/dist/builders/class-rule-builder.d.ts.map +1 -1
  4. package/dist/builders/class-rule-builder.js +6 -3
  5. package/dist/builders/class-rule-builder.js.map +1 -1
  6. package/dist/builders/function-rule-builder.d.ts +29 -7
  7. package/dist/builders/function-rule-builder.d.ts.map +1 -1
  8. package/dist/builders/function-rule-builder.js +34 -8
  9. package/dist/builders/function-rule-builder.js.map +1 -1
  10. package/dist/cli/commands/doctor.d.ts.map +1 -1
  11. package/dist/cli/commands/doctor.js +96 -5
  12. package/dist/cli/commands/doctor.js.map +1 -1
  13. package/dist/cli/commands/explain.d.ts.map +1 -1
  14. package/dist/cli/commands/explain.js +21 -2
  15. package/dist/cli/commands/explain.js.map +1 -1
  16. package/dist/cli/import-rule-module.d.ts +23 -4
  17. package/dist/cli/import-rule-module.d.ts.map +1 -1
  18. package/dist/cli/import-rule-module.js +30 -5
  19. package/dist/cli/import-rule-module.js.map +1 -1
  20. package/dist/conditions/body-analysis-function.d.ts.map +1 -1
  21. package/dist/conditions/body-analysis-function.js +19 -1
  22. package/dist/conditions/body-analysis-function.js.map +1 -1
  23. package/dist/conditions/body-analysis.d.ts +5 -2
  24. package/dist/conditions/body-analysis.d.ts.map +1 -1
  25. package/dist/conditions/body-analysis.js +9 -6
  26. package/dist/conditions/body-analysis.js.map +1 -1
  27. package/dist/conditions/call.d.ts +4 -2
  28. package/dist/conditions/call.d.ts.map +1 -1
  29. package/dist/conditions/call.js +11 -8
  30. package/dist/conditions/call.js.map +1 -1
  31. package/dist/conditions/catch-analysis.d.ts +7 -1
  32. package/dist/conditions/catch-analysis.d.ts.map +1 -1
  33. package/dist/conditions/catch-analysis.js +26 -27
  34. package/dist/conditions/catch-analysis.js.map +1 -1
  35. package/dist/conditions/class.d.ts +5 -3
  36. package/dist/conditions/class.d.ts.map +1 -1
  37. package/dist/conditions/class.js +9 -6
  38. package/dist/conditions/class.js.map +1 -1
  39. package/dist/conditions/function.d.ts +4 -4
  40. package/dist/conditions/function.js +4 -4
  41. package/dist/core/execute-rule.js +1 -1
  42. package/dist/graphql/resolver-rule-builder.d.ts.map +1 -1
  43. package/dist/graphql/resolver-rule-builder.js +16 -2
  44. package/dist/graphql/resolver-rule-builder.js.map +1 -1
  45. package/dist/helpers/body-traversal.d.ts +63 -9
  46. package/dist/helpers/body-traversal.d.ts.map +1 -1
  47. package/dist/helpers/body-traversal.js +179 -30
  48. package/dist/helpers/body-traversal.js.map +1 -1
  49. package/dist/helpers/heritage.d.ts +25 -0
  50. package/dist/helpers/heritage.d.ts.map +1 -0
  51. package/dist/helpers/heritage.js +41 -0
  52. package/dist/helpers/heritage.js.map +1 -0
  53. package/dist/index.d.ts +3 -3
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +13 -2
  56. package/dist/index.js.map +1 -1
  57. package/dist/models/arch-function.d.ts +42 -12
  58. package/dist/models/arch-function.d.ts.map +1 -1
  59. package/dist/models/arch-function.js +104 -18
  60. package/dist/models/arch-function.js.map +1 -1
  61. package/dist/predicates/class.d.ts +9 -9
  62. package/dist/predicates/class.d.ts.map +1 -1
  63. package/dist/predicates/class.js +14 -13
  64. package/dist/predicates/class.js.map +1 -1
  65. package/dist/predicates/function.d.ts +16 -4
  66. package/dist/predicates/function.d.ts.map +1 -1
  67. package/dist/predicates/function.js +56 -3
  68. package/dist/predicates/function.js.map +1 -1
  69. package/dist/predicates/type.d.ts +2 -1
  70. package/dist/predicates/type.d.ts.map +1 -1
  71. package/dist/predicates/type.js +6 -2
  72. package/dist/predicates/type.js.map +1 -1
  73. package/dist/presets/agent-guardrails.js +5 -5
  74. package/dist/presets/agent-guardrails.js.map +1 -1
  75. package/dist/rules/code-quality.d.ts +12 -1
  76. package/dist/rules/code-quality.d.ts.map +1 -1
  77. package/dist/rules/code-quality.js +106 -12
  78. package/dist/rules/code-quality.js.map +1 -1
  79. package/dist/rules/errors.d.ts +4 -2
  80. package/dist/rules/errors.d.ts.map +1 -1
  81. package/dist/rules/errors.js +18 -16
  82. package/dist/rules/errors.js.map +1 -1
  83. package/dist/rules/hygiene.d.ts +3 -1
  84. package/dist/rules/hygiene.d.ts.map +1 -1
  85. package/dist/rules/hygiene.js +3 -1
  86. package/dist/rules/hygiene.js.map +1 -1
  87. package/dist/rules/metrics.d.ts +6 -4
  88. package/dist/rules/metrics.d.ts.map +1 -1
  89. package/dist/rules/metrics.js +40 -20
  90. package/dist/rules/metrics.js.map +1 -1
  91. package/dist/rules/security.d.ts +13 -5
  92. package/dist/rules/security.d.ts.map +1 -1
  93. package/dist/rules/security.js +144 -19
  94. package/dist/rules/security.js.map +1 -1
  95. package/dist/rules/typescript.d.ts +2 -2
  96. package/dist/rules/typescript.js +2 -2
  97. package/dist/smells/duplicate-bodies.js +2 -2
  98. package/dist/smells/duplicate-bodies.js.map +1 -1
  99. package/dist/smells/sibling-files.js +2 -2
  100. package/dist/smells/sibling-files.js.map +1 -1
  101. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -50,7 +50,7 @@ export { shouldExtend, shouldImplement, shouldHaveMethodNamed, shouldNotHaveMeth
50
50
  export { functions, FunctionRuleBuilder } from './builders/function-rule-builder.js';
51
51
  export { collectFunctions, fromFunctionDeclaration, fromFunctionInitializerDeclaration, fromArrowVariableDeclaration, fromMethodDeclaration, } from './models/arch-function.js';
52
52
  // Function predicates
53
- export { arePublic, areProtected, arePrivate, areAsync, areNotAsync, haveParameterCount, haveParameterCountGreaterThan, haveParameterCountLessThan, haveParameterNamed, haveReturnType, haveRestParameter, haveOptionalParameter, haveParameterOfType, haveParameterNameMatching, } from './predicates/function.js';
53
+ export { arePublic, areProtected, arePrivate, areAsync, areNotAsync, areOfKind, areNotOfKind, haveParameterCount, haveParameterCountGreaterThan, haveParameterCountLessThan, haveParameterNamed, haveReturnType, haveRestParameter, haveOptionalParameter, haveParameterOfType, haveParameterNameMatching, } from './predicates/function.js';
54
54
  // Function conditions
55
55
  export { notExist as functionNotExist, beExported as functionBeExported, beAsync as functionBeAsync, haveNameMatching as functionHaveNameMatching, acceptParameterOfType as functionAcceptParameterOfType, notAcceptParameterOfType as functionNotAcceptParameterOfType, haveReturnTypeMatching as functionHaveReturnTypeMatching, } from './conditions/function.js';
56
56
  // Type entry point
@@ -166,5 +166,16 @@ export { assertsCardinality, reportViolations } from '@nielspeter/eess';
166
166
  export { diskSet } from './core/disk-set.js';
167
167
  export { pathUniverse } from './core/path-universe.js';
168
168
  export { validateOverrides } from './presets/shared.js';
169
- export { STRICT_FAMILY_SIZE } from './tsconfig/strict-family.js';
169
+ // Bug 0278 — all four, or none. The 0.5.0 barrel kept the count and the type and
170
+ // dropped the two functions that use them, so an adopter could NAME a
171
+ // strict-family flag and neither test nor resolve one. Found by a consuming
172
+ // project whose rule file imports both and stopped loading at 0.5.0: ESM refuses
173
+ // the named import, so `eess-ts check` failed outright rather than type-erroring.
174
+ //
175
+ // The removal criterion was "nothing outside this package's src references it and
176
+ // no page teaches it" — measured inside this repo, where no adopter is visible.
177
+ // These two are the counterexample: mirroring tsc's strict-family resolution is
178
+ // an ordinary thing for a rule file to do, and `STRICT_FAMILY_SIZE` on its own
179
+ // only tells you how many flags there are.
180
+ export { STRICT_FAMILY_SIZE, isStrictFamily, resolveFlag } from './tsconfig/strict-family.js';
170
181
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,10 @@ import { type FunctionDeclaration, type VariableDeclaration, type MethodDeclarat
2
2
  /**
3
3
  * Unified representation of a TypeScript function.
4
4
  *
5
- * Wraps both FunctionDeclaration (`function foo() {}`) and
6
- * VariableDeclaration with ArrowFunction initializer (`const foo = () => {}`).
5
+ * Wraps every function `collectFunctions` collects: a FunctionDeclaration (`function foo() {}`), a
6
+ * VariableDeclaration holding a function (`const foo = () => {}`), a class member — a method, the
7
+ * constructor, an accessor or a property holding a function (bug 0315) — or, when asked, a function
8
+ * value in an object literal. {@link functionKindOf} says which.
7
9
  *
8
10
  * Satisfies Named, Located, and Exportable interfaces from identity predicates.
9
11
  */
@@ -23,8 +25,9 @@ export interface ArchFunction {
23
25
  /** Function body node, for body analysis (plan 0011). */
24
26
  getBody(): Node | undefined;
25
27
  /**
26
- * Underlying ts-morph node for violation reporting.
27
- * FunctionDeclaration or VariableDeclaration.
28
+ * Underlying ts-morph node for violation reporting: the FunctionDeclaration, the
29
+ * VariableDeclaration, the class member's declaration (method, constructor, accessor or property),
30
+ * or an object-literal function itself.
28
31
  */
29
32
  getNode(): Node;
30
33
  /**
@@ -36,8 +39,8 @@ export interface ArchFunction {
36
39
  * Visibility scope of this function.
37
40
  *
38
41
  * - Standalone functions and arrow functions are always `'public'` (module-level).
39
- * - Class methods return their actual modifier (`public`, `protected`, or `private`).
40
- * Methods with no explicit modifier default to `'public'`.
42
+ * - Class members return their actual modifier (`public`, `protected`, or `private`).
43
+ * A member with no explicit modifier defaults to `'public'`.
41
44
  */
42
45
  getScope(): 'public' | 'protected' | 'private';
43
46
  }
@@ -65,10 +68,11 @@ export declare function fromCallableNode(node: ArrowFunction | FunctionExpressio
65
68
  */
66
69
  export declare function fromFunctionDeclaration(decl: FunctionDeclaration): ArchFunction;
67
70
  /**
68
- * Create an ArchFunction from a VariableDeclaration whose initializer
69
- * is an ArrowFunction.
71
+ * Create an ArchFunction from a VariableDeclaration whose initializer is a function — an arrow
72
+ * function or a function expression, directly or behind parentheses, `as`, `<T>`, `satisfies` or `!`
73
+ * (bug 0315).
70
74
  *
71
- * Precondition: caller must verify the initializer is an ArrowFunction.
75
+ * Precondition: caller must verify the initializer is one, with {@link functionValueOf}.
72
76
  */
73
77
  export declare function fromFunctionInitializerDeclaration(decl: VariableDeclaration): ArchFunction;
74
78
  /**
@@ -78,11 +82,34 @@ export declare function fromFunctionInitializerDeclaration(decl: VariableDeclara
78
82
  * "Space.getWebhooks" instead of just "getWebhooks".
79
83
  */
80
84
  export declare function fromMethodDeclaration(method: MethodDeclaration): ArchFunction;
85
+ /**
86
+ * What an `ArchFunction` is (bug 0315): `'function'` — a function declaration, a variable holding a
87
+ * function, or a function value in an object literal; `'method'` — of a class, or an object literal's
88
+ * shorthand; `'constructor'`; `'getter'`; `'setter'`; or `'property'` — a class property whose value
89
+ * is a function.
90
+ */
91
+ export type FunctionKind = 'function' | 'method' | 'constructor' | 'getter' | 'setter' | 'property';
92
+ /** The kind of function an `ArchFunction` is, read off the node it reports at. */
93
+ export declare function functionKindOf(fn: ArchFunction): FunctionKind;
94
+ /**
95
+ * The function a node holds, read through the wrappers that leave it unchanged at run time —
96
+ * parentheses, `as`, `<T>`, `satisfies` and `!` — or `undefined` when it holds something else.
97
+ * A variable's initializer and a class property's value are read this way (bugs 0306, 0315).
98
+ */
99
+ export declare function functionValueOf(node: Node | undefined): ArrowFunction | FunctionExpression | undefined;
81
100
  /**
82
101
  * Options for {@link collectFunctions} / the `functions()` entry point.
102
+ *
103
+ * A named declaration is collected by default — a function, a variable holding a function, and a class
104
+ * member (bug 0315) — because each is a subject a rule is written about. An anonymous function value in
105
+ * an object literal is opt-in (proposal 016), because collecting every inline callback would flood every
106
+ * rule with subjects nobody named.
83
107
  */
84
108
  export interface FunctionCollectionOptions {
85
- /** Include class methods (pattern 3). Default: `true`. */
109
+ /**
110
+ * Include class members (pattern 3): methods, the constructor, accessors and function-valued
111
+ * properties. Default: `true`.
112
+ */
86
113
  includeMethods?: boolean;
87
114
  /**
88
115
  * Include object-literal function property values — arrows, function
@@ -97,8 +124,11 @@ export interface FunctionCollectionOptions {
97
124
  *
98
125
  * Returns ArchFunction wrappers for these *named* shapes by default:
99
126
  * 1. FunctionDeclarations — `function foo() {}`
100
- * 2. VariableDeclarations with ArrowFunction initializer — `const foo = () => {}`
101
- * 3. Class MethodDeclarations — `class Foo { bar() {} }` (when includeMethods is true)
127
+ * 2. VariableDeclarations whose initializer is a function — `const foo = () => {}`, also behind
128
+ * parentheses, `as`, `<T>`, `satisfies` or `!`
129
+ * 3. Class members, when includeMethods is true — methods (`Foo.bar`), the constructor
130
+ * (`Foo.constructor`), accessors (`Foo.get x`, `Foo.set x`) and function-valued properties
131
+ * (`Foo.handler`)
102
132
  *
103
133
  * Plus, when `includeObjectLiteralFunctions` is set (default off):
104
134
  * 4. Object-literal function property values (arrows / function expressions /
@@ -1 +1 @@
1
- {"version":3,"file":"arch-function.d.ts","sourceRoot":"","sources":["../../src/models/arch-function.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,IAAI,EACT,KAAK,IAAI,EAIV,MAAM,UAAU,CAAA;AAGjB;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B,2DAA2D;IAC3D,OAAO,IAAI,MAAM,GAAG,SAAS,CAAA;IAE7B,4CAA4C;IAC5C,aAAa,IAAI,UAAU,CAAA;IAE3B,yDAAyD;IACzD,UAAU,IAAI,OAAO,CAAA;IAErB,+CAA+C;IAC/C,OAAO,IAAI,OAAO,CAAA;IAElB,+CAA+C;IAC/C,aAAa,IAAI,oBAAoB,EAAE,CAAA;IAEvC,mEAAmE;IACnE,aAAa,IAAI,IAAI,CAAA;IAErB,yDAAyD;IACzD,OAAO,IAAI,IAAI,GAAG,SAAS,CAAA;IAE3B;;;OAGG;IACH,OAAO,IAAI,IAAI,CAAA;IAEf;;;OAGG;IACH,kBAAkB,IAAI,MAAM,CAAA;IAE5B;;;;;;OAMG;IACH,QAAQ,IAAI,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAA;CAC/C;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,aAAa,GAAG,kBAAkB,GAAG,iBAAiB,EAC5D,OAAO,EAAE,MAAM,MAAM,GAAG,SAAS,GAChC,YAAY,CAad;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,mBAAmB,GAAG,YAAY,CAa/E;AAED;;;;;GAKG;AACH,wBAAgB,kCAAkC,CAAC,IAAI,EAAE,mBAAmB,GAAG,YAAY,CA0B1F;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,GAAG,YAAY,CAgC7E;AAED;;GAEG;AAEH,MAAM,WAAW,yBAAyB;IACxC,0DAA0D;IAC1D,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;;;OAKG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAA;CACxC;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,UAAU,EACtB,OAAO,CAAC,EAAE,yBAAyB,GAClC,YAAY,EAAE,CA4DhB;AAkCD;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,SAAS,MAAM,EAAE,GACzB,YAAY,GAAG,SAAS,CAU1B;AAcD;;;GAGG;AACH,eAAO,MAAM,4BAA4B,2CAAqC,CAAA"}
1
+ {"version":3,"file":"arch-function.d.ts","sourceRoot":"","sources":["../../src/models/arch-function.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,mBAAmB,EAIxB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,oBAAoB,EACzB,KAAK,IAAI,EACT,KAAK,IAAI,EAIV,MAAM,UAAU,CAAA;AAGjB;;;;;;;;;GASG;AACH,MAAM,WAAW,YAAY;IAC3B,2DAA2D;IAC3D,OAAO,IAAI,MAAM,GAAG,SAAS,CAAA;IAE7B,4CAA4C;IAC5C,aAAa,IAAI,UAAU,CAAA;IAE3B,yDAAyD;IACzD,UAAU,IAAI,OAAO,CAAA;IAErB,+CAA+C;IAC/C,OAAO,IAAI,OAAO,CAAA;IAElB,+CAA+C;IAC/C,aAAa,IAAI,oBAAoB,EAAE,CAAA;IAEvC,mEAAmE;IACnE,aAAa,IAAI,IAAI,CAAA;IAErB,yDAAyD;IACzD,OAAO,IAAI,IAAI,GAAG,SAAS,CAAA;IAE3B;;;;OAIG;IACH,OAAO,IAAI,IAAI,CAAA;IAEf;;;OAGG;IACH,kBAAkB,IAAI,MAAM,CAAA;IAE5B;;;;;;OAMG;IACH,QAAQ,IAAI,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAA;CAC/C;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,aAAa,GAAG,kBAAkB,GAAG,iBAAiB,EAC5D,OAAO,EAAE,MAAM,MAAM,GAAG,SAAS,GAChC,YAAY,CAad;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,mBAAmB,GAAG,YAAY,CAa/E;AAED;;;;;;GAMG;AACH,wBAAgB,kCAAkC,CAAC,IAAI,EAAE,mBAAmB,GAAG,YAAY,CAwB1F;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,GAAG,YAAY,CA2B7E;AAED;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,QAAQ,GAAG,aAAa,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAA;AAEnG,kFAAkF;AAClF,wBAAgB,cAAc,CAAC,EAAE,EAAE,YAAY,GAAG,YAAY,CAQ7D;AASD;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,IAAI,GAAG,SAAS,GACrB,aAAa,GAAG,kBAAkB,GAAG,SAAS,CAchD;AA+DD;;;;;;;GAOG;AAEH,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB;;;;;OAKG;IACH,6BAA6B,CAAC,EAAE,OAAO,CAAA;CACxC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,UAAU,EACtB,OAAO,CAAC,EAAE,yBAAyB,GAClC,YAAY,EAAE,CA6DhB;AAkCD;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,SAAS,MAAM,EAAE,GACzB,YAAY,GAAG,SAAS,CAU1B;AAcD;;;GAGG;AACH,eAAO,MAAM,4BAA4B,2CAAqC,CAAA"}
@@ -51,14 +51,14 @@ export function fromFunctionDeclaration(decl) {
51
51
  };
52
52
  }
53
53
  /**
54
- * Create an ArchFunction from a VariableDeclaration whose initializer
55
- * is an ArrowFunction.
54
+ * Create an ArchFunction from a VariableDeclaration whose initializer is a function — an arrow
55
+ * function or a function expression, directly or behind parentheses, `as`, `<T>`, `satisfies` or `!`
56
+ * (bug 0315).
56
57
  *
57
- * Precondition: caller must verify the initializer is an ArrowFunction.
58
+ * Precondition: caller must verify the initializer is one, with {@link functionValueOf}.
58
59
  */
59
60
  export function fromFunctionInitializerDeclaration(decl) {
60
- const arrow = decl.getInitializerIfKind(SyntaxKind.ArrowFunction) ??
61
- decl.getInitializerIfKind(SyntaxKind.FunctionExpression);
61
+ const arrow = functionValueOf(decl.getInitializer());
62
62
  if (!arrow)
63
63
  throw new ArchConfigError('fromFunctionInitializerDeclaration', 'Expected an arrow function or function expression initializer');
64
64
  return {
@@ -110,23 +110,106 @@ export function fromMethodDeclaration(method) {
110
110
  getBody: () => method.getBody(),
111
111
  getNode: () => method,
112
112
  getStartLineNumber: () => method.getStartLineNumber(),
113
- getScope: () => {
114
- const scope = method.getScope();
115
- if (scope === Scope.Protected)
116
- return 'protected';
117
- if (scope === Scope.Private)
118
- return 'private';
119
- return 'public';
120
- },
113
+ getScope: () => accessOf(method.getScope()),
121
114
  };
122
115
  }
116
+ /** The kind of function an `ArchFunction` is, read off the node it reports at. */
117
+ export function functionKindOf(fn) {
118
+ const node = fn.getNode();
119
+ if (NodeClass.isMethodDeclaration(node))
120
+ return 'method';
121
+ if (NodeClass.isConstructorDeclaration(node))
122
+ return 'constructor';
123
+ if (NodeClass.isGetAccessorDeclaration(node))
124
+ return 'getter';
125
+ if (NodeClass.isSetAccessorDeclaration(node))
126
+ return 'setter';
127
+ if (NodeClass.isPropertyDeclaration(node))
128
+ return 'property';
129
+ return 'function';
130
+ }
131
+ /** A member's access modifier as an `ArchFunction` reports it; no modifier is `'public'`. */
132
+ function accessOf(scope) {
133
+ if (scope === Scope.Protected)
134
+ return 'protected';
135
+ if (scope === Scope.Private)
136
+ return 'private';
137
+ return 'public';
138
+ }
139
+ /**
140
+ * The function a node holds, read through the wrappers that leave it unchanged at run time —
141
+ * parentheses, `as`, `<T>`, `satisfies` and `!` — or `undefined` when it holds something else.
142
+ * A variable's initializer and a class property's value are read this way (bugs 0306, 0315).
143
+ */
144
+ export function functionValueOf(node) {
145
+ let current = node;
146
+ while (NodeClass.isParenthesizedExpression(current) ||
147
+ NodeClass.isAsExpression(current) ||
148
+ NodeClass.isTypeAssertion(current) ||
149
+ NodeClass.isSatisfiesExpression(current) ||
150
+ NodeClass.isNonNullExpression(current)) {
151
+ current = current.getExpression();
152
+ }
153
+ return NodeClass.isArrowFunction(current) || NodeClass.isFunctionExpression(current)
154
+ ? current
155
+ : undefined;
156
+ }
157
+ /**
158
+ * A class member that is a function but not a method, as an `ArchFunction` (bug 0315): the
159
+ * constructor, an accessor, or a property whose value is a function. Named by its class, as a method
160
+ * is; reported at the member, and read through `fn` — the member itself, or the property's function.
161
+ */
162
+ function fromClassMember(cls, member, name, fn) {
163
+ const className = cls.getName() ?? '<anonymous>';
164
+ return {
165
+ getName: () => `${className}.${name}`,
166
+ getSourceFile: () => member.getSourceFile(),
167
+ isExported: () => cls.isExported(),
168
+ isAsync: () => NodeClass.isArrowFunction(fn) || NodeClass.isFunctionExpression(fn) ? fn.isAsync() : false,
169
+ getParameters: () => fn.getParameters(),
170
+ getReturnType: () => fn.getReturnType(),
171
+ getBody: () => fn.getBody(),
172
+ getNode: () => member,
173
+ getStartLineNumber: () => member.getStartLineNumber(),
174
+ getScope: () => accessOf(member.getScope()),
175
+ };
176
+ }
177
+ /**
178
+ * The class's function members other than its methods. The constructor with a body, as
179
+ * `Class.constructor` — ts-morph lists an overloaded constructor by its implementation alone, and an
180
+ * ambient class's constructor has no body. Each accessor as `Class.get x` or `Class.set x`: a
181
+ * getter and its setter share a name, and a metric's identity keys on the function's name. Each
182
+ * property whose value is a function, as `Class.handler`.
183
+ */
184
+ function classMemberFunctions(cls) {
185
+ const members = [];
186
+ for (const ctor of cls.getConstructors()) {
187
+ if (ctor.getBody() !== undefined)
188
+ members.push(fromClassMember(cls, ctor, 'constructor', ctor));
189
+ }
190
+ for (const getter of cls.getGetAccessors()) {
191
+ members.push(fromClassMember(cls, getter, `get ${getter.getName()}`, getter));
192
+ }
193
+ for (const setter of cls.getSetAccessors()) {
194
+ members.push(fromClassMember(cls, setter, `set ${setter.getName()}`, setter));
195
+ }
196
+ for (const property of cls.getProperties()) {
197
+ const value = functionValueOf(property.getInitializer());
198
+ if (value !== undefined)
199
+ members.push(fromClassMember(cls, property, property.getName(), value));
200
+ }
201
+ return members;
202
+ }
123
203
  /**
124
204
  * Scan a source file for functions.
125
205
  *
126
206
  * Returns ArchFunction wrappers for these *named* shapes by default:
127
207
  * 1. FunctionDeclarations — `function foo() {}`
128
- * 2. VariableDeclarations with ArrowFunction initializer — `const foo = () => {}`
129
- * 3. Class MethodDeclarations — `class Foo { bar() {} }` (when includeMethods is true)
208
+ * 2. VariableDeclarations whose initializer is a function — `const foo = () => {}`, also behind
209
+ * parentheses, `as`, `<T>`, `satisfies` or `!`
210
+ * 3. Class members, when includeMethods is true — methods (`Foo.bar`), the constructor
211
+ * (`Foo.constructor`), accessors (`Foo.get x`, `Foo.set x`) and function-valued properties
212
+ * (`Foo.handler`)
130
213
  *
131
214
  * Plus, when `includeObjectLiteralFunctions` is set (default off):
132
215
  * 4. Object-literal function property values (arrows / function expressions /
@@ -150,17 +233,20 @@ export function collectFunctions(sourceFile, options) {
150
233
  // passing the `recommended` floor inside one, because the element never
151
234
  // reached the rule at all. (Distinct from the concise-arrow half of that
152
235
  // bug, which was a traversal gap, not a collection gap.)
153
- if (varDecl.getInitializerIfKind(SyntaxKind.ArrowFunction) ??
154
- varDecl.getInitializerIfKind(SyntaxKind.FunctionExpression)) {
236
+ // Read through parentheses, `as`, `<T>`, `satisfies` and `!` too: `const f = ((x) => …) as F` is
237
+ // the same function, and was collected by nothing (bug 0315).
238
+ if (functionValueOf(varDecl.getInitializer()) !== undefined) {
155
239
  functions.push(fromFunctionInitializerDeclaration(varDecl));
156
240
  }
157
241
  }
158
- // Pattern 3: class methods
242
+ // Pattern 3: class members — each class's methods, then its other function members, which no
243
+ // function rule read before bug 0315.
159
244
  if (includeMethods) {
160
245
  for (const cls of sourceFile.getClasses()) {
161
246
  for (const method of cls.getMethods()) {
162
247
  functions.push(fromMethodDeclaration(method));
163
248
  }
249
+ functions.push(...classMemberFunctions(cls));
164
250
  }
165
251
  }
166
252
  // Pattern 4: object-literal function property values (opt-in, proposal 016).
@@ -1 +1 @@
1
- {"version":3,"file":"arch-function.js","sourceRoot":"","sources":["../../src/models/arch-function.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"arch-function.js","sourceRoot":"","sources":["../../src/models/arch-function.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,26 @@
1
1
  import type { ClassDeclaration } from 'ts-morph';
2
2
  import type { Predicate } from '@nielspeter/eess';
3
3
  /**
4
- * Matches classes that extend the named base class.
5
- *
6
- * Uses the extends clause expression text, e.g. `class Foo extends Bar`
7
- * matches `extend('Bar')`.
4
+ * Matches classes whose direct base is the named class — written as its name, or through an
5
+ * aliased import, a namespace member or a mixin call. `class Foo extends Bar` matches
6
+ * `extend('Bar')`. A class that reaches `Bar` through an intermediate class is not matched.
8
7
  */
9
8
  export declare function extend(className: string): Predicate<ClassDeclaration>;
10
9
  /**
11
- * Matches classes that have an explicit `implements` clause for the named interface.
12
- *
13
- * Checks `getImplements()` expression texts.
10
+ * Matches classes whose own `implements` clause names the interface — as written, or through
11
+ * an aliased import.
14
12
  */
15
13
  export declare function implement(interfaceName: string): Predicate<ClassDeclaration>;
16
14
  /**
17
- * Matches classes that have a decorator with the given name.
15
+ * Matches classes that have a decorator with the given name — as written, or imported under
16
+ * an alias.
18
17
  *
19
18
  * @example haveDecorator('Controller') matches `@Controller class Foo {}`
20
19
  */
21
20
  export declare function haveDecorator(name: string): Predicate<ClassDeclaration>;
22
21
  /**
23
- * Matches classes that have a decorator whose name matches the regex.
22
+ * Matches classes that have a decorator whose name — as written, or the name an aliased
23
+ * import stands for — matches the regex.
24
24
  */
25
25
  export declare function haveDecoratorMatching(regex: RegExp): Predicate<ClassDeclaration>;
26
26
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"class.d.ts","sourceRoot":"","sources":["../../src/predicates/class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAEjD;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAKrE;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAM5E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAKvE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAKhF;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,SAAS,CAAC,gBAAgB,CAAC,CAKzD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAKzE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAS7E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAK3E"}
1
+ {"version":3,"file":"class.d.ts","sourceRoot":"","sources":["../../src/predicates/class.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAGjD;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAKrE;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAK5E;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAKvE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAKhF;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,SAAS,CAAC,gBAAgB,CAAC,CAKzD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAKzE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAS7E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,gBAAgB,CAAC,CAK3E"}
@@ -1,44 +1,45 @@
1
+ import { decoratorNames, extendsByName, implementsByName } from '../helpers/heritage.js';
1
2
  /**
2
- * Matches classes that extend the named base class.
3
- *
4
- * Uses the extends clause expression text, e.g. `class Foo extends Bar`
5
- * matches `extend('Bar')`.
3
+ * Matches classes whose direct base is the named class — written as its name, or through an
4
+ * aliased import, a namespace member or a mixin call. `class Foo extends Bar` matches
5
+ * `extend('Bar')`. A class that reaches `Bar` through an intermediate class is not matched.
6
6
  */
7
7
  export function extend(className) {
8
8
  return {
9
9
  description: `extend "${className}"`,
10
- test: (cls) => cls.getExtends()?.getExpression().getText() === className,
10
+ test: (cls) => extendsByName(cls, className),
11
11
  };
12
12
  }
13
13
  /**
14
- * Matches classes that have an explicit `implements` clause for the named interface.
15
- *
16
- * Checks `getImplements()` expression texts.
14
+ * Matches classes whose own `implements` clause names the interface — as written, or through
15
+ * an aliased import.
17
16
  */
18
17
  export function implement(interfaceName) {
19
18
  return {
20
19
  description: `implement "${interfaceName}"`,
21
- test: (cls) => cls.getImplements().some((impl) => impl.getExpression().getText() === interfaceName),
20
+ test: (cls) => implementsByName(cls, interfaceName),
22
21
  };
23
22
  }
24
23
  /**
25
- * Matches classes that have a decorator with the given name.
24
+ * Matches classes that have a decorator with the given name — as written, or imported under
25
+ * an alias.
26
26
  *
27
27
  * @example haveDecorator('Controller') matches `@Controller class Foo {}`
28
28
  */
29
29
  export function haveDecorator(name) {
30
30
  return {
31
31
  description: `have decorator @${name}`,
32
- test: (cls) => cls.getDecorators().some((d) => d.getName() === name),
32
+ test: (cls) => cls.getDecorators().some((d) => decoratorNames(d).includes(name)),
33
33
  };
34
34
  }
35
35
  /**
36
- * Matches classes that have a decorator whose name matches the regex.
36
+ * Matches classes that have a decorator whose name — as written, or the name an aliased
37
+ * import stands for — matches the regex.
37
38
  */
38
39
  export function haveDecoratorMatching(regex) {
39
40
  return {
40
41
  description: `have decorator matching ${String(regex)}`,
41
- test: (cls) => cls.getDecorators().some((d) => regex.test(d.getName())),
42
+ test: (cls) => cls.getDecorators().some((d) => decoratorNames(d).some((n) => regex.test(n))),
42
43
  };
43
44
  }
44
45
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"class.js","sourceRoot":"","sources":["../../src/predicates/class.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,UAAU,MAAM,CAAC,SAAiB;IACtC,OAAO;QACL,WAAW,EAAE,WAAW,SAAS,GAAG;QACpC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,CAAC,OAAO,EAAE,KAAK,SAAS;KACzE,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,aAAqB;IAC7C,OAAO;QACL,WAAW,EAAE,cAAc,aAAa,GAAG;QAC3C,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CACZ,GAAG,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,KAAK,aAAa,CAAC;KACvF,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO;QACL,WAAW,EAAE,mBAAmB,IAAI,EAAE;QACtC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,CAAC;KACrE,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,OAAO;QACL,WAAW,EAAE,2BAA2B,MAAM,CAAC,KAAK,CAAC,EAAE;QACvD,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;KACxE,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO;QACL,WAAW,EAAE,cAAc;QAC3B,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE;KAChC,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO;QACL,WAAW,EAAE,sBAAsB,IAAI,GAAG;QAC1C,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,SAAS;KACjD,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,OAAO;QACL,WAAW,EAAE,wBAAwB,MAAM,CAAC,KAAK,CAAC,EAAE;QACpD,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CACZ,GAAG,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1B,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,CAAA;YACxB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzB,CAAC,CAAC;KACL,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO;QACL,WAAW,EAAE,wBAAwB,IAAI,GAAG;QAC5C,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,SAAS;KACnD,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"class.js","sourceRoot":"","sources":["../../src/predicates/class.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAExF;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,SAAiB;IACtC,OAAO;QACL,WAAW,EAAE,WAAW,SAAS,GAAG;QACpC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC;KAC7C,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,aAAqB;IAC7C,OAAO;QACL,WAAW,EAAE,cAAc,aAAa,GAAG;QAC3C,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,aAAa,CAAC;KACpD,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY;IACxC,OAAO;QACL,WAAW,EAAE,mBAAmB,IAAI,EAAE;QACtC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KACjF,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,OAAO;QACL,WAAW,EAAE,2BAA2B,MAAM,CAAC,KAAK,CAAC,EAAE;QACvD,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KAC7F,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO;QACL,WAAW,EAAE,cAAc;QAC3B,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE;KAChC,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO;QACL,WAAW,EAAE,sBAAsB,IAAI,GAAG;QAC1C,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,SAAS;KACjD,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAa;IAC9C,OAAO;QACL,WAAW,EAAE,wBAAwB,MAAM,CAAC,KAAK,CAAC,EAAE;QACpD,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CACZ,GAAG,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1B,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,CAAA;YACxB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzB,CAAC,CAAC;KACL,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO;QACL,WAAW,EAAE,wBAAwB,IAAI,GAAG;QAC5C,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,SAAS;KACnD,CAAA;AACH,CAAC"}
@@ -1,25 +1,37 @@
1
1
  import type { Predicate } from '@nielspeter/eess';
2
- import type { ArchFunction } from '../models/arch-function.js';
2
+ import { type ArchFunction, type FunctionKind } from '../models/arch-function.js';
3
3
  import type { TypeMatcher } from '../helpers/type-matchers.js';
4
4
  /**
5
5
  * Matches functions/methods with public visibility.
6
6
  *
7
- * - Class methods: matches explicitly `public` or no access modifier (implicitly public).
7
+ * - Class members: matches explicitly `public` or no access modifier (implicitly public).
8
8
  * - Standalone functions / arrow functions: always match (module-level, no visibility concept).
9
9
  */
10
10
  export declare function arePublic(): Predicate<ArchFunction>;
11
11
  /**
12
- * Matches class methods with `protected` visibility.
12
+ * Matches class members with `protected` visibility.
13
13
  *
14
14
  * Standalone functions and arrow functions never match (they have no visibility modifier).
15
15
  */
16
16
  export declare function areProtected(): Predicate<ArchFunction>;
17
17
  /**
18
- * Matches class methods with `private` visibility.
18
+ * Matches class members with `private` visibility.
19
19
  *
20
20
  * Standalone functions and arrow functions never match (they have no visibility modifier).
21
21
  */
22
22
  export declare function arePrivate(): Predicate<ArchFunction>;
23
+ /**
24
+ * Matches functions of any of the given kinds: `'function'`, `'method'`, `'constructor'`,
25
+ * `'getter'`, `'setter'` or `'property'` (see {@link FunctionKind}).
26
+ */
27
+ export declare function areOfKind(...kinds: FunctionKind[]): Predicate<ArchFunction>;
28
+ /**
29
+ * Matches functions of none of the given kinds. Since bug 0315 `functions()` collects a class's
30
+ * constructor and accessors beside its methods; a rule that requires something they cannot give —
31
+ * `beAsync()`, `contain(call(...))` — keeps to the functions that can with
32
+ * `areNotOfKind('constructor', 'getter', 'setter')`.
33
+ */
34
+ export declare function areNotOfKind(...kinds: FunctionKind[]): Predicate<ArchFunction>;
23
35
  /**
24
36
  * Matches async functions (declared with the `async` keyword).
25
37
  */
@@ -1 +1 @@
1
- {"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../src/predicates/function.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAI9D;;;;;GAKG;AACH,wBAAgB,SAAS,IAAI,SAAS,CAAC,YAAY,CAAC,CAKnD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,SAAS,CAAC,YAAY,CAAC,CAKtD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,SAAS,CAAC,YAAY,CAAC,CAKpD;AAID;;GAEG;AACH,wBAAgB,QAAQ,IAAI,SAAS,CAAC,YAAY,CAAC,CAKlD;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,SAAS,CAAC,YAAY,CAAC,CAKrD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,CAKrE;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,CAKhF;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,CAK7E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,CAKxE;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,CAMhF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,SAAS,CAAC,YAAY,CAAC,CAK3D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,SAAS,CAAC,YAAY,CAAC,CAK/D;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC,YAAY,CAAC,CAUhG;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,CAKlF"}
1
+ {"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../src/predicates/function.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAEjD,OAAO,EAAkB,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACjG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAI9D;;;;;GAKG;AACH,wBAAgB,SAAS,IAAI,SAAS,CAAC,YAAY,CAAC,CAKnD;AAED;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,SAAS,CAAC,YAAY,CAAC,CAKtD;AAED;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,SAAS,CAAC,YAAY,CAAC,CAKpD;AAuCD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,GAAG,KAAK,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC,YAAY,CAAC,CAM3E;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,KAAK,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC,YAAY,CAAC,CAM9E;AAID;;GAEG;AACH,wBAAgB,QAAQ,IAAI,SAAS,CAAC,YAAY,CAAC,CAKlD;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,SAAS,CAAC,YAAY,CAAC,CAKrD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,CAKrE;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,CAKhF;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,CAK7E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,CAKxE;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,CAMhF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,SAAS,CAAC,YAAY,CAAC,CAK3D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,SAAS,CAAC,YAAY,CAAC,CAK/D;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,SAAS,CAAC,YAAY,CAAC,CAUhG;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,CAKlF"}