@memberjunction/react-test-harness 5.28.0 → 5.30.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 (324) hide show
  1. package/README.md +140 -153
  2. package/dist/__tests__/setup/vitest-setup.d.ts +11 -0
  3. package/dist/__tests__/setup/vitest-setup.d.ts.map +1 -0
  4. package/dist/__tests__/setup/vitest-setup.js +73 -0
  5. package/dist/__tests__/setup/vitest-setup.js.map +1 -0
  6. package/dist/index.d.ts +1 -0
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +1 -0
  9. package/dist/index.js.map +1 -1
  10. package/dist/lib/component-linter.d.ts +10 -13
  11. package/dist/lib/component-linter.d.ts.map +1 -1
  12. package/dist/lib/component-linter.js +96 -8552
  13. package/dist/lib/component-linter.js.map +1 -1
  14. package/dist/lib/component-runner.d.ts.map +1 -1
  15. package/dist/lib/component-runner.js +34 -10
  16. package/dist/lib/component-runner.js.map +1 -1
  17. package/dist/lib/lint-rule.d.ts +70 -0
  18. package/dist/lib/lint-rule.d.ts.map +1 -0
  19. package/dist/lib/lint-rule.js +41 -0
  20. package/dist/lib/lint-rule.js.map +1 -0
  21. package/dist/lib/lint-utils.d.ts +131 -0
  22. package/dist/lib/lint-utils.d.ts.map +1 -0
  23. package/dist/lib/lint-utils.js +358 -0
  24. package/dist/lib/lint-utils.js.map +1 -0
  25. package/dist/lib/prop-value-extractor.d.ts +2 -2
  26. package/dist/lib/prop-value-extractor.js +2 -2
  27. package/dist/lib/runtime-rules/ai-tools-availability-check.d.ts +9 -0
  28. package/dist/lib/runtime-rules/ai-tools-availability-check.d.ts.map +1 -0
  29. package/dist/lib/runtime-rules/ai-tools-availability-check.js +223 -0
  30. package/dist/lib/runtime-rules/ai-tools-availability-check.js.map +1 -0
  31. package/dist/lib/runtime-rules/callback-event-validation.d.ts +22 -0
  32. package/dist/lib/runtime-rules/callback-event-validation.d.ts.map +1 -0
  33. package/dist/lib/runtime-rules/callback-event-validation.js +561 -0
  34. package/dist/lib/runtime-rules/callback-event-validation.js.map +1 -0
  35. package/dist/lib/runtime-rules/chart-field-validation.d.ts +10 -0
  36. package/dist/lib/runtime-rules/chart-field-validation.d.ts.map +1 -0
  37. package/dist/lib/runtime-rules/chart-field-validation.js +270 -0
  38. package/dist/lib/runtime-rules/chart-field-validation.js.map +1 -0
  39. package/dist/lib/runtime-rules/child-component-prop-validation.d.ts +10 -0
  40. package/dist/lib/runtime-rules/child-component-prop-validation.d.ts.map +1 -0
  41. package/dist/lib/runtime-rules/child-component-prop-validation.js +447 -0
  42. package/dist/lib/runtime-rules/child-component-prop-validation.js.map +1 -0
  43. package/dist/lib/runtime-rules/component-name-mismatch.d.ts +19 -0
  44. package/dist/lib/runtime-rules/component-name-mismatch.d.ts.map +1 -0
  45. package/dist/lib/runtime-rules/component-name-mismatch.js +82 -0
  46. package/dist/lib/runtime-rules/component-name-mismatch.js.map +1 -0
  47. package/dist/lib/runtime-rules/component-not-in-dependencies.d.ts +20 -0
  48. package/dist/lib/runtime-rules/component-not-in-dependencies.d.ts.map +1 -0
  49. package/dist/lib/runtime-rules/component-not-in-dependencies.js +92 -0
  50. package/dist/lib/runtime-rules/component-not-in-dependencies.js.map +1 -0
  51. package/dist/lib/runtime-rules/component-props-validation.d.ts +25 -0
  52. package/dist/lib/runtime-rules/component-props-validation.d.ts.map +1 -0
  53. package/dist/lib/runtime-rules/component-props-validation.js +228 -0
  54. package/dist/lib/runtime-rules/component-props-validation.js.map +1 -0
  55. package/dist/lib/runtime-rules/component-usage-without-destructuring.d.ts +20 -0
  56. package/dist/lib/runtime-rules/component-usage-without-destructuring.d.ts.map +1 -0
  57. package/dist/lib/runtime-rules/component-usage-without-destructuring.js +124 -0
  58. package/dist/lib/runtime-rules/component-usage-without-destructuring.js.map +1 -0
  59. package/dist/lib/runtime-rules/data-result-validation.d.ts +9 -0
  60. package/dist/lib/runtime-rules/data-result-validation.d.ts.map +1 -0
  61. package/dist/lib/runtime-rules/data-result-validation.js +763 -0
  62. package/dist/lib/runtime-rules/data-result-validation.js.map +1 -0
  63. package/dist/lib/runtime-rules/datagrid-field-validation.d.ts +10 -0
  64. package/dist/lib/runtime-rules/datagrid-field-validation.d.ts.map +1 -0
  65. package/dist/lib/runtime-rules/datagrid-field-validation.js +245 -0
  66. package/dist/lib/runtime-rules/datagrid-field-validation.js.map +1 -0
  67. package/dist/lib/runtime-rules/dependency-shadowing.d.ts +20 -0
  68. package/dist/lib/runtime-rules/dependency-shadowing.d.ts.map +1 -0
  69. package/dist/lib/runtime-rules/dependency-shadowing.js +147 -0
  70. package/dist/lib/runtime-rules/dependency-shadowing.js.map +1 -0
  71. package/dist/lib/runtime-rules/entity-field-access-validation.d.ts +12 -0
  72. package/dist/lib/runtime-rules/entity-field-access-validation.d.ts.map +1 -0
  73. package/dist/lib/runtime-rules/entity-field-access-validation.js +304 -0
  74. package/dist/lib/runtime-rules/entity-field-access-validation.js.map +1 -0
  75. package/dist/lib/runtime-rules/event-parameter-validation.d.ts +22 -0
  76. package/dist/lib/runtime-rules/event-parameter-validation.d.ts.map +1 -0
  77. package/dist/lib/runtime-rules/event-parameter-validation.js +406 -0
  78. package/dist/lib/runtime-rules/event-parameter-validation.js.map +1 -0
  79. package/dist/lib/runtime-rules/index.d.ts +59 -0
  80. package/dist/lib/runtime-rules/index.d.ts.map +1 -0
  81. package/dist/lib/runtime-rules/index.js +60 -0
  82. package/dist/lib/runtime-rules/index.js.map +1 -0
  83. package/dist/lib/runtime-rules/library-variable-names.d.ts +24 -0
  84. package/dist/lib/runtime-rules/library-variable-names.d.ts.map +1 -0
  85. package/dist/lib/runtime-rules/library-variable-names.js +88 -0
  86. package/dist/lib/runtime-rules/library-variable-names.js.map +1 -0
  87. package/dist/lib/runtime-rules/no-child-implementation.d.ts +18 -0
  88. package/dist/lib/runtime-rules/no-child-implementation.d.ts.map +1 -0
  89. package/dist/lib/runtime-rules/no-child-implementation.js +57 -0
  90. package/dist/lib/runtime-rules/no-child-implementation.js.map +1 -0
  91. package/dist/lib/runtime-rules/no-data-prop.d.ts +22 -0
  92. package/dist/lib/runtime-rules/no-data-prop.d.ts.map +1 -0
  93. package/dist/lib/runtime-rules/no-data-prop.js +111 -0
  94. package/dist/lib/runtime-rules/no-data-prop.js.map +1 -0
  95. package/dist/lib/runtime-rules/no-export-statements.d.ts +18 -0
  96. package/dist/lib/runtime-rules/no-export-statements.d.ts.map +1 -0
  97. package/dist/lib/runtime-rules/no-export-statements.js +143 -0
  98. package/dist/lib/runtime-rules/no-export-statements.js.map +1 -0
  99. package/dist/lib/runtime-rules/no-iife-wrapper.d.ts +18 -0
  100. package/dist/lib/runtime-rules/no-iife-wrapper.d.ts.map +1 -0
  101. package/dist/lib/runtime-rules/no-iife-wrapper.js +217 -0
  102. package/dist/lib/runtime-rules/no-iife-wrapper.js.map +1 -0
  103. package/dist/lib/runtime-rules/no-import-statements.d.ts +18 -0
  104. package/dist/lib/runtime-rules/no-import-statements.d.ts.map +1 -0
  105. package/dist/lib/runtime-rules/no-import-statements.js +65 -0
  106. package/dist/lib/runtime-rules/no-import-statements.js.map +1 -0
  107. package/dist/lib/runtime-rules/no-react-destructuring.d.ts +18 -0
  108. package/dist/lib/runtime-rules/no-react-destructuring.d.ts.map +1 -0
  109. package/dist/lib/runtime-rules/no-react-destructuring.js +60 -0
  110. package/dist/lib/runtime-rules/no-react-destructuring.js.map +1 -0
  111. package/dist/lib/runtime-rules/no-require-statements.d.ts +18 -0
  112. package/dist/lib/runtime-rules/no-require-statements.d.ts.map +1 -0
  113. package/dist/lib/runtime-rules/no-require-statements.js +109 -0
  114. package/dist/lib/runtime-rules/no-require-statements.js.map +1 -0
  115. package/dist/lib/runtime-rules/no-return-component.d.ts +18 -0
  116. package/dist/lib/runtime-rules/no-return-component.d.ts.map +1 -0
  117. package/dist/lib/runtime-rules/no-return-component.js +106 -0
  118. package/dist/lib/runtime-rules/no-return-component.js.map +1 -0
  119. package/dist/lib/runtime-rules/no-use-reducer.d.ts +19 -0
  120. package/dist/lib/runtime-rules/no-use-reducer.d.ts.map +1 -0
  121. package/dist/lib/runtime-rules/no-use-reducer.js +78 -0
  122. package/dist/lib/runtime-rules/no-use-reducer.js.map +1 -0
  123. package/dist/lib/runtime-rules/no-window-access.d.ts +23 -0
  124. package/dist/lib/runtime-rules/no-window-access.d.ts.map +1 -0
  125. package/dist/lib/runtime-rules/no-window-access.js +136 -0
  126. package/dist/lib/runtime-rules/no-window-access.js.map +1 -0
  127. package/dist/lib/runtime-rules/noisy-settings-updates.d.ts +18 -0
  128. package/dist/lib/runtime-rules/noisy-settings-updates.d.ts.map +1 -0
  129. package/dist/lib/runtime-rules/noisy-settings-updates.js +110 -0
  130. package/dist/lib/runtime-rules/noisy-settings-updates.js.map +1 -0
  131. package/dist/lib/runtime-rules/pass-standard-props.d.ts +19 -0
  132. package/dist/lib/runtime-rules/pass-standard-props.d.ts.map +1 -0
  133. package/dist/lib/runtime-rules/pass-standard-props.js +82 -0
  134. package/dist/lib/runtime-rules/pass-standard-props.js.map +1 -0
  135. package/dist/lib/runtime-rules/prefer-async-await.d.ts +17 -0
  136. package/dist/lib/runtime-rules/prefer-async-await.d.ts.map +1 -0
  137. package/dist/lib/runtime-rules/prefer-async-await.js +52 -0
  138. package/dist/lib/runtime-rules/prefer-async-await.js.map +1 -0
  139. package/dist/lib/runtime-rules/prefer-jsx-syntax.d.ts +17 -0
  140. package/dist/lib/runtime-rules/prefer-jsx-syntax.d.ts.map +1 -0
  141. package/dist/lib/runtime-rules/prefer-jsx-syntax.js +51 -0
  142. package/dist/lib/runtime-rules/prefer-jsx-syntax.js.map +1 -0
  143. package/dist/lib/runtime-rules/prop-state-sync.d.ts +19 -0
  144. package/dist/lib/runtime-rules/prop-state-sync.d.ts.map +1 -0
  145. package/dist/lib/runtime-rules/prop-state-sync.js +76 -0
  146. package/dist/lib/runtime-rules/prop-state-sync.js.map +1 -0
  147. package/dist/lib/runtime-rules/property-name-consistency.d.ts +20 -0
  148. package/dist/lib/runtime-rules/property-name-consistency.d.ts.map +1 -0
  149. package/dist/lib/runtime-rules/property-name-consistency.js +172 -0
  150. package/dist/lib/runtime-rules/property-name-consistency.js.map +1 -0
  151. package/dist/lib/runtime-rules/query-result-field-access-validation.d.ts +10 -0
  152. package/dist/lib/runtime-rules/query-result-field-access-validation.d.ts.map +1 -0
  153. package/dist/lib/runtime-rules/query-result-field-access-validation.js +304 -0
  154. package/dist/lib/runtime-rules/query-result-field-access-validation.js.map +1 -0
  155. package/dist/lib/runtime-rules/react-component-naming.d.ts +19 -0
  156. package/dist/lib/runtime-rules/react-component-naming.d.ts.map +1 -0
  157. package/dist/lib/runtime-rules/react-component-naming.js +72 -0
  158. package/dist/lib/runtime-rules/react-component-naming.js.map +1 -0
  159. package/dist/lib/runtime-rules/react-hooks-rules.d.ts +27 -0
  160. package/dist/lib/runtime-rules/react-hooks-rules.d.ts.map +1 -0
  161. package/dist/lib/runtime-rules/react-hooks-rules.js +223 -0
  162. package/dist/lib/runtime-rules/react-hooks-rules.js.map +1 -0
  163. package/dist/lib/runtime-rules/required-queries-not-called.d.ts +19 -0
  164. package/dist/lib/runtime-rules/required-queries-not-called.d.ts.map +1 -0
  165. package/dist/lib/runtime-rules/required-queries-not-called.js +146 -0
  166. package/dist/lib/runtime-rules/required-queries-not-called.js.map +1 -0
  167. package/dist/lib/runtime-rules/runquery-call-validation.d.ts +11 -0
  168. package/dist/lib/runtime-rules/runquery-call-validation.d.ts.map +1 -0
  169. package/dist/lib/runtime-rules/runquery-call-validation.js +886 -0
  170. package/dist/lib/runtime-rules/runquery-call-validation.js.map +1 -0
  171. package/dist/lib/runtime-rules/runview-call-validation.d.ts +10 -0
  172. package/dist/lib/runtime-rules/runview-call-validation.d.ts.map +1 -0
  173. package/dist/lib/runtime-rules/runview-call-validation.js +336 -0
  174. package/dist/lib/runtime-rules/runview-call-validation.js.map +1 -0
  175. package/dist/lib/runtime-rules/saved-user-settings-pattern.d.ts +19 -0
  176. package/dist/lib/runtime-rules/saved-user-settings-pattern.d.ts.map +1 -0
  177. package/dist/lib/runtime-rules/saved-user-settings-pattern.js +90 -0
  178. package/dist/lib/runtime-rules/saved-user-settings-pattern.js.map +1 -0
  179. package/dist/lib/runtime-rules/search-availability-check.d.ts +9 -0
  180. package/dist/lib/runtime-rules/search-availability-check.d.ts.map +1 -0
  181. package/dist/lib/runtime-rules/search-availability-check.js +220 -0
  182. package/dist/lib/runtime-rules/search-availability-check.js.map +1 -0
  183. package/dist/lib/runtime-rules/search-call-validation.d.ts +9 -0
  184. package/dist/lib/runtime-rules/search-call-validation.d.ts.map +1 -0
  185. package/dist/lib/runtime-rules/search-call-validation.js +336 -0
  186. package/dist/lib/runtime-rules/search-call-validation.js.map +1 -0
  187. package/dist/lib/runtime-rules/server-reload-on-client-operation.d.ts +18 -0
  188. package/dist/lib/runtime-rules/server-reload-on-client-operation.d.ts.map +1 -0
  189. package/dist/lib/runtime-rules/server-reload-on-client-operation.js +107 -0
  190. package/dist/lib/runtime-rules/server-reload-on-client-operation.js.map +1 -0
  191. package/dist/lib/runtime-rules/single-function-only.d.ts +18 -0
  192. package/dist/lib/runtime-rules/single-function-only.d.ts.map +1 -0
  193. package/dist/lib/runtime-rules/single-function-only.js +103 -0
  194. package/dist/lib/runtime-rules/single-function-only.js.map +1 -0
  195. package/dist/lib/runtime-rules/string-replace-all-occurrences.d.ts +19 -0
  196. package/dist/lib/runtime-rules/string-replace-all-occurrences.d.ts.map +1 -0
  197. package/dist/lib/runtime-rules/string-replace-all-occurrences.js +109 -0
  198. package/dist/lib/runtime-rules/string-replace-all-occurrences.js.map +1 -0
  199. package/dist/lib/runtime-rules/string-template-validation.d.ts +22 -0
  200. package/dist/lib/runtime-rules/string-template-validation.d.ts.map +1 -0
  201. package/dist/lib/runtime-rules/string-template-validation.js +163 -0
  202. package/dist/lib/runtime-rules/string-template-validation.js.map +1 -0
  203. package/dist/lib/runtime-rules/styles-validation.d.ts +10 -0
  204. package/dist/lib/runtime-rules/styles-validation.d.ts.map +1 -0
  205. package/dist/lib/runtime-rules/styles-validation.js +153 -0
  206. package/dist/lib/runtime-rules/styles-validation.js.map +1 -0
  207. package/dist/lib/runtime-rules/type-inference-errors.d.ts +23 -0
  208. package/dist/lib/runtime-rules/type-inference-errors.d.ts.map +1 -0
  209. package/dist/lib/runtime-rules/type-inference-errors.js +53 -0
  210. package/dist/lib/runtime-rules/type-inference-errors.js.map +1 -0
  211. package/dist/lib/runtime-rules/type-mismatch-operation.d.ts +23 -0
  212. package/dist/lib/runtime-rules/type-mismatch-operation.d.ts.map +1 -0
  213. package/dist/lib/runtime-rules/type-mismatch-operation.js +141 -0
  214. package/dist/lib/runtime-rules/type-mismatch-operation.js.map +1 -0
  215. package/dist/lib/runtime-rules/undefined-component-usage.d.ts +20 -0
  216. package/dist/lib/runtime-rules/undefined-component-usage.d.ts.map +1 -0
  217. package/dist/lib/runtime-rules/undefined-component-usage.js +138 -0
  218. package/dist/lib/runtime-rules/undefined-component-usage.js.map +1 -0
  219. package/dist/lib/runtime-rules/undefined-jsx-component.d.ts +25 -0
  220. package/dist/lib/runtime-rules/undefined-jsx-component.d.ts.map +1 -0
  221. package/dist/lib/runtime-rules/undefined-jsx-component.js +269 -0
  222. package/dist/lib/runtime-rules/undefined-jsx-component.js.map +1 -0
  223. package/dist/lib/runtime-rules/unsafe-array-operations.d.ts +25 -0
  224. package/dist/lib/runtime-rules/unsafe-array-operations.d.ts.map +1 -0
  225. package/dist/lib/runtime-rules/unsafe-array-operations.js +347 -0
  226. package/dist/lib/runtime-rules/unsafe-array-operations.js.map +1 -0
  227. package/dist/lib/runtime-rules/unsafe-formatting-methods.d.ts +24 -0
  228. package/dist/lib/runtime-rules/unsafe-formatting-methods.d.ts.map +1 -0
  229. package/dist/lib/runtime-rules/unsafe-formatting-methods.js +277 -0
  230. package/dist/lib/runtime-rules/unsafe-formatting-methods.js.map +1 -0
  231. package/dist/lib/runtime-rules/unused-component-dependencies.d.ts +19 -0
  232. package/dist/lib/runtime-rules/unused-component-dependencies.d.ts.map +1 -0
  233. package/dist/lib/runtime-rules/unused-component-dependencies.js +90 -0
  234. package/dist/lib/runtime-rules/unused-component-dependencies.js.map +1 -0
  235. package/dist/lib/runtime-rules/unused-libraries.d.ts +19 -0
  236. package/dist/lib/runtime-rules/unused-libraries.d.ts.map +1 -0
  237. package/dist/lib/runtime-rules/unused-libraries.js +127 -0
  238. package/dist/lib/runtime-rules/unused-libraries.js.map +1 -0
  239. package/dist/lib/runtime-rules/use-function-declaration.d.ts +18 -0
  240. package/dist/lib/runtime-rules/use-function-declaration.d.ts.map +1 -0
  241. package/dist/lib/runtime-rules/use-function-declaration.js +127 -0
  242. package/dist/lib/runtime-rules/use-function-declaration.js.map +1 -0
  243. package/dist/lib/runtime-rules/use-unwrap-components.d.ts +19 -0
  244. package/dist/lib/runtime-rules/use-unwrap-components.d.ts.map +1 -0
  245. package/dist/lib/runtime-rules/use-unwrap-components.js +84 -0
  246. package/dist/lib/runtime-rules/use-unwrap-components.js.map +1 -0
  247. package/dist/lib/runtime-rules/useeffect-unstable-dependencies.d.ts +23 -0
  248. package/dist/lib/runtime-rules/useeffect-unstable-dependencies.d.ts.map +1 -0
  249. package/dist/lib/runtime-rules/useeffect-unstable-dependencies.js +215 -0
  250. package/dist/lib/runtime-rules/useeffect-unstable-dependencies.js.map +1 -0
  251. package/dist/lib/runtime-rules/utilities-api-validation.d.ts +24 -0
  252. package/dist/lib/runtime-rules/utilities-api-validation.d.ts.map +1 -0
  253. package/dist/lib/runtime-rules/utilities-api-validation.js +121 -0
  254. package/dist/lib/runtime-rules/utilities-api-validation.js.map +1 -0
  255. package/dist/lib/runtime-rules/utilities-no-direct-instantiation.d.ts +20 -0
  256. package/dist/lib/runtime-rules/utilities-no-direct-instantiation.d.ts.map +1 -0
  257. package/dist/lib/runtime-rules/utilities-no-direct-instantiation.js +58 -0
  258. package/dist/lib/runtime-rules/utilities-no-direct-instantiation.js.map +1 -0
  259. package/dist/lib/runtime-rules/validate-component-references.d.ts +19 -0
  260. package/dist/lib/runtime-rules/validate-component-references.d.ts.map +1 -0
  261. package/dist/lib/runtime-rules/validate-component-references.js +255 -0
  262. package/dist/lib/runtime-rules/validate-component-references.js.map +1 -0
  263. package/dist/lib/schema-validation/component-prop-rule.d.ts +125 -0
  264. package/dist/lib/schema-validation/component-prop-rule.d.ts.map +1 -0
  265. package/dist/lib/schema-validation/component-prop-rule.js +630 -0
  266. package/dist/lib/schema-validation/component-prop-rule.js.map +1 -0
  267. package/dist/lib/schema-validation/index.d.ts +26 -0
  268. package/dist/lib/schema-validation/index.d.ts.map +1 -0
  269. package/dist/lib/schema-validation/index.js +26 -0
  270. package/dist/lib/schema-validation/index.js.map +1 -0
  271. package/dist/lib/schema-validation/semantic-validators/index.d.ts +23 -0
  272. package/dist/lib/schema-validation/semantic-validators/index.d.ts.map +1 -0
  273. package/dist/lib/schema-validation/semantic-validators/index.js +23 -0
  274. package/dist/lib/schema-validation/semantic-validators/index.js.map +1 -0
  275. package/dist/lib/{constraint-validators → schema-validation/semantic-validators}/required-when-validator.d.ts +2 -2
  276. package/dist/lib/schema-validation/semantic-validators/required-when-validator.d.ts.map +1 -0
  277. package/dist/lib/{constraint-validators → schema-validation/semantic-validators}/required-when-validator.js +3 -3
  278. package/dist/lib/schema-validation/semantic-validators/required-when-validator.js.map +1 -0
  279. package/dist/lib/schema-validation/semantic-validators/semantic-validator-registry.d.ts +122 -0
  280. package/dist/lib/schema-validation/semantic-validators/semantic-validator-registry.d.ts.map +1 -0
  281. package/dist/lib/schema-validation/semantic-validators/semantic-validator-registry.js +166 -0
  282. package/dist/lib/schema-validation/semantic-validators/semantic-validator-registry.js.map +1 -0
  283. package/dist/lib/{constraint-validators/base-constraint-validator.d.ts → schema-validation/semantic-validators/semantic-validator.d.ts} +12 -11
  284. package/dist/lib/schema-validation/semantic-validators/semantic-validator.d.ts.map +1 -0
  285. package/dist/lib/{constraint-validators/base-constraint-validator.js → schema-validation/semantic-validators/semantic-validator.js} +11 -10
  286. package/dist/lib/schema-validation/semantic-validators/semantic-validator.js.map +1 -0
  287. package/dist/lib/{constraint-validators → schema-validation/semantic-validators}/sql-where-clause-validator.d.ts +2 -2
  288. package/dist/lib/schema-validation/semantic-validators/sql-where-clause-validator.d.ts.map +1 -0
  289. package/dist/lib/{constraint-validators → schema-validation/semantic-validators}/sql-where-clause-validator.js +8 -4
  290. package/dist/lib/schema-validation/semantic-validators/sql-where-clause-validator.js.map +1 -0
  291. package/dist/lib/{constraint-validators → schema-validation/semantic-validators}/subset-of-entity-fields-validator.d.ts +2 -2
  292. package/dist/lib/schema-validation/semantic-validators/subset-of-entity-fields-validator.d.ts.map +1 -0
  293. package/dist/lib/{constraint-validators → schema-validation/semantic-validators}/subset-of-entity-fields-validator.js +3 -3
  294. package/dist/lib/schema-validation/semantic-validators/subset-of-entity-fields-validator.js.map +1 -0
  295. package/dist/lib/{constraint-validators → schema-validation/semantic-validators}/validation-context.d.ts +14 -5
  296. package/dist/lib/schema-validation/semantic-validators/validation-context.d.ts.map +1 -0
  297. package/dist/lib/{constraint-validators → schema-validation/semantic-validators}/validation-context.js +1 -1
  298. package/dist/lib/schema-validation/semantic-validators/validation-context.js.map +1 -0
  299. package/dist/lib/type-context.d.ts.map +1 -1
  300. package/dist/lib/type-context.js +16 -1
  301. package/dist/lib/type-context.js.map +1 -1
  302. package/dist/lib/type-inference-engine.d.ts +13 -0
  303. package/dist/lib/type-inference-engine.d.ts.map +1 -1
  304. package/dist/lib/type-inference-engine.js +144 -22
  305. package/dist/lib/type-inference-engine.js.map +1 -1
  306. package/dist/lib/type-rules/type-compatibility-rule.d.ts +79 -0
  307. package/dist/lib/type-rules/type-compatibility-rule.d.ts.map +1 -0
  308. package/dist/lib/type-rules/type-compatibility-rule.js +211 -0
  309. package/dist/lib/type-rules/type-compatibility-rule.js.map +1 -0
  310. package/package.json +15 -11
  311. package/dist/lib/constraint-validators/base-constraint-validator.d.ts.map +0 -1
  312. package/dist/lib/constraint-validators/base-constraint-validator.js.map +0 -1
  313. package/dist/lib/constraint-validators/index.d.ts +0 -21
  314. package/dist/lib/constraint-validators/index.d.ts.map +0 -1
  315. package/dist/lib/constraint-validators/index.js +0 -21
  316. package/dist/lib/constraint-validators/index.js.map +0 -1
  317. package/dist/lib/constraint-validators/required-when-validator.d.ts.map +0 -1
  318. package/dist/lib/constraint-validators/required-when-validator.js.map +0 -1
  319. package/dist/lib/constraint-validators/sql-where-clause-validator.d.ts.map +0 -1
  320. package/dist/lib/constraint-validators/sql-where-clause-validator.js.map +0 -1
  321. package/dist/lib/constraint-validators/subset-of-entity-fields-validator.d.ts.map +0 -1
  322. package/dist/lib/constraint-validators/subset-of-entity-fields-validator.js.map +0 -1
  323. package/dist/lib/constraint-validators/validation-context.d.ts.map +0 -1
  324. package/dist/lib/constraint-validators/validation-context.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql-where-clause-validator.js","sourceRoot":"","sources":["../../../../src/lib/schema-validation/semantic-validators/sql-where-clause-validator.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,7 @@
31
31
  * ```
32
32
  */
33
33
  import { PropertyConstraint, ConstraintViolation } from '@memberjunction/interactive-component-types';
34
- import { BaseConstraintValidator } from './base-constraint-validator.js';
34
+ import { SemanticValidator } from './semantic-validator.js';
35
35
  import { ValidationContext } from './validation-context.js';
36
36
  /**
37
37
  * Validates that array elements are valid field names for an entity
@@ -43,7 +43,7 @@ import { ValidationContext } from './validation-context.js';
43
43
  * - DataGrid columns (when using entity binding)
44
44
  * - Custom components with entity field arrays
45
45
  */
46
- export declare class SubsetOfEntityFieldsValidator extends BaseConstraintValidator {
46
+ export declare class SubsetOfEntityFieldsValidator extends SemanticValidator {
47
47
  /**
48
48
  * Validate that array elements are valid entity field names
49
49
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subset-of-entity-fields-validator.d.ts","sourceRoot":"","sources":["../../../../src/lib/schema-validation/semantic-validators/subset-of-entity-fields-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,6CAA6C,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD;;;;;;;;;GASG;AACH,qBACa,6BAA8B,SAAQ,iBAAiB;IAClE;;;;;;OAMG;IACH,QAAQ,CACN,OAAO,EAAE,iBAAiB,EAC1B,UAAU,EAAE,kBAAkB,GAC7B,mBAAmB,EAAE;IAwMxB;;OAEG;IACH,cAAc,IAAI,MAAM;CAGzB"}
@@ -37,7 +37,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
37
37
  return c > 3 && r && Object.defineProperty(target, key, r), r;
38
38
  };
39
39
  import { RegisterClass } from '@memberjunction/global';
40
- import { BaseConstraintValidator } from './base-constraint-validator.js';
40
+ import { SemanticValidator } from './semantic-validator.js';
41
41
  /**
42
42
  * Validates that array elements are valid field names for an entity
43
43
  *
@@ -48,7 +48,7 @@ import { BaseConstraintValidator } from './base-constraint-validator.js';
48
48
  * - DataGrid columns (when using entity binding)
49
49
  * - Custom components with entity field arrays
50
50
  */
51
- let SubsetOfEntityFieldsValidator = class SubsetOfEntityFieldsValidator extends BaseConstraintValidator {
51
+ let SubsetOfEntityFieldsValidator = class SubsetOfEntityFieldsValidator extends SemanticValidator {
52
52
  /**
53
53
  * Validate that array elements are valid entity field names
54
54
  *
@@ -189,7 +189,7 @@ let SubsetOfEntityFieldsValidator = class SubsetOfEntityFieldsValidator extends
189
189
  }
190
190
  };
191
191
  SubsetOfEntityFieldsValidator = __decorate([
192
- RegisterClass(BaseConstraintValidator, 'subset-of-entity-fields')
192
+ RegisterClass(SemanticValidator, 'subset-of-entity-fields')
193
193
  ], SubsetOfEntityFieldsValidator);
194
194
  export { SubsetOfEntityFieldsValidator };
195
195
  //# sourceMappingURL=subset-of-entity-fields-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subset-of-entity-fields-validator.js","sourceRoot":"","sources":["../../../../src/lib/schema-validation/semantic-validators/subset-of-entity-fields-validator.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Validation Context
3
3
  *
4
- * Provides all the information a constraint validator needs to perform validation.
4
+ * Provides all the information a semantic validator needs to perform validation.
5
5
  * This context is passed to validators by the linter rule and includes:
6
6
  * - AST node and path information for location tracking
7
7
  * - Component spec for type lookups
@@ -12,12 +12,13 @@
12
12
  import * as t from '@babel/types';
13
13
  import { NodePath } from '@babel/traverse';
14
14
  import { ComponentSpec } from '@memberjunction/interactive-component-types';
15
- import { TypeInferenceEngine } from '../type-inference-engine.js';
16
- import { ExtractedValue } from '../prop-value-extractor.js';
15
+ import type { SQLParserDialect } from '@memberjunction/sql-dialect';
16
+ import { TypeInferenceEngine } from '../../type-inference-engine.js';
17
+ import { ExtractedValue } from '../../prop-value-extractor.js';
17
18
  /**
18
- * Context object passed to constraint validators
19
+ * Context object passed to semantic validators
19
20
  *
20
- * Contains all information needed to validate a prop value against constraints.
21
+ * Contains all information needed to validate a prop value against semantic constraints.
21
22
  */
22
23
  export interface ValidationContext {
23
24
  /**
@@ -116,6 +117,14 @@ export interface ValidationContext {
116
117
  * Can infer types of variables, function calls, etc.
117
118
  */
118
119
  typeEngine: TypeInferenceEngine;
120
+ /**
121
+ * SQL dialect for WHERE clause parsing and validation.
122
+ *
123
+ * Used by the SqlWhereClauseValidator to parse SQL with the correct syntax
124
+ * for the target database platform (SQL Server, PostgreSQL, etc.).
125
+ * If not provided, the validator falls back to SQL Server dialect.
126
+ */
127
+ dialect?: SQLParserDialect;
119
128
  /**
120
129
  * Get field metadata for an entity
121
130
  *
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation-context.d.ts","sourceRoot":"","sources":["../../../../src/lib/schema-validation/semantic-validators/validation-context.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Validation Context
3
3
  *
4
- * Provides all the information a constraint validator needs to perform validation.
4
+ * Provides all the information a semantic validator needs to perform validation.
5
5
  * This context is passed to validators by the linter rule and includes:
6
6
  * - AST node and path information for location tracking
7
7
  * - Component spec for type lookups
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation-context.js","sourceRoot":"","sources":["../../../../src/lib/schema-validation/semantic-validators/validation-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG"}
@@ -1 +1 @@
1
- {"version":3,"file":"type-context.d.ts","sourceRoot":"","sources":["../../src/lib/type-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-context.d.ts","sourceRoot":"","sources":["../../src/lib/type-context.ts"],"names":[],"mappings":"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"}
@@ -162,7 +162,20 @@ export class TypeContext {
162
162
  */
163
163
  getQueryFieldTypes(queryName, categoryPath) {
164
164
  const queryKey = categoryPath ? `${categoryPath}/${queryName}` : queryName;
165
- return this.queryFieldCache.get(queryKey);
165
+ const result = this.queryFieldCache.get(queryKey);
166
+ if (result)
167
+ return result;
168
+ // Fallback: when no categoryPath given, search for any cache entry ending with the query name.
169
+ // This supports inline chain access (e.g., result.Results?.[0]?.Field) where the TypeInfo
170
+ // only stores the queryName without the categoryPath.
171
+ if (!categoryPath) {
172
+ for (const [key, fields] of this.queryFieldCache) {
173
+ if (key === queryName || key.endsWith(`/${queryName}`)) {
174
+ return fields;
175
+ }
176
+ }
177
+ }
178
+ return undefined;
166
179
  }
167
180
  /**
168
181
  * Get query parameter types from spec
@@ -277,6 +290,7 @@ export class TypeContext {
277
290
  ]);
278
291
  return {
279
292
  type: 'object',
293
+ entityName, // Preserve entity name so .Results access can create typed entity-row arrays
280
294
  fields: resultFields,
281
295
  fromMetadata: true
282
296
  };
@@ -301,6 +315,7 @@ export class TypeContext {
301
315
  ]);
302
316
  return {
303
317
  type: 'object',
318
+ queryName, // Preserve query name so .Results access can create typed query-row arrays
304
319
  fields: resultFields,
305
320
  fromMetadata: true
306
321
  };
@@ -1 +1 @@
1
- {"version":3,"file":"type-context.js","sourceRoot":"","sources":["../../src/lib/type-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-context.js","sourceRoot":"","sources":["../../src/lib/type-context.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,8 @@ export declare class TypeInferenceEngine {
38
38
  private componentSpec?;
39
39
  private contextUser?;
40
40
  private functionReturnTypes;
41
+ /** Maps setState setter names to their corresponding state variable names */
42
+ private stateSetterMap;
41
43
  constructor(componentSpec?: ComponentSpec, contextUser?: UserInfo);
42
44
  /**
43
45
  * Analyze an AST and build type context
@@ -67,6 +69,17 @@ export declare class TypeInferenceEngine {
67
69
  * Infer types for function parameters (component props)
68
70
  */
69
71
  private inferFunctionParameterTypes;
72
+ /**
73
+ * Infer callback parameter types from array method context.
74
+ * When an arrow function is a callback to .map(), .filter(), .reduce(), etc.,
75
+ * the first parameter inherits the array's element type.
76
+ *
77
+ * Example: results.map(m => m.Salary)
78
+ * → `results` is array of entity-row(Members) → `m` is entity-row(Members)
79
+ *
80
+ * Returns true if callback parameters were inferred, false if not applicable.
81
+ */
82
+ private inferCallbackParameterTypes;
70
83
  /**
71
84
  * Infer types for arrow function parameters
72
85
  */
@@ -1 +1 @@
1
- {"version":3,"file":"type-inference-engine.d.ts","sourceRoot":"","sources":["../../src/lib/type-inference-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-inference-engine.d.ts","sourceRoot":"","sources":["../../src/lib/type-inference-engine.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,8 @@ export class TypeInferenceEngine {
16
16
  constructor(componentSpec, contextUser) {
17
17
  this.errors = [];
18
18
  this.functionReturnTypes = new Map();
19
+ /** Maps setState setter names to their corresponding state variable names */
20
+ this.stateSetterMap = new Map();
19
21
  this.componentSpec = componentSpec;
20
22
  this.contextUser = contextUser;
21
23
  this.typeContext = new TypeContext(componentSpec);
@@ -67,6 +69,20 @@ export class TypeInferenceEngine {
67
69
  AssignmentExpression(path) {
68
70
  self.inferAssignmentType(path);
69
71
  },
72
+ // Track setState calls to update state variable types
73
+ CallExpression(path) {
74
+ if (t.isIdentifier(path.node.callee)) {
75
+ const setterName = path.node.callee.name;
76
+ const stateVarName = self.stateSetterMap.get(setterName);
77
+ if (stateVarName && path.node.arguments.length > 0) {
78
+ const argType = self.inferExpressionType(path.node.arguments[0], path);
79
+ // Only update if we inferred a meaningful type (not unknown)
80
+ if (argType.type !== 'unknown') {
81
+ self.typeContext.setVariableType(stateVarName, argType);
82
+ }
83
+ }
84
+ }
85
+ },
70
86
  // Track function parameters and return types with scoping
71
87
  FunctionDeclaration: {
72
88
  enter(path) {
@@ -92,7 +108,11 @@ export class TypeInferenceEngine {
92
108
  functionName = parent.id.name;
93
109
  }
94
110
  self.typeContext.enterScope(functionName);
95
- self.inferArrowFunctionParameterTypes(path);
111
+ // Try to infer callback parameter types from array method context first
112
+ const inferredFromCallback = self.inferCallbackParameterTypes(path);
113
+ if (!inferredFromCallback) {
114
+ self.inferArrowFunctionParameterTypes(path);
115
+ }
96
116
  },
97
117
  exit(path) {
98
118
  self.typeContext.exitScope();
@@ -163,6 +183,75 @@ export class TypeInferenceEngine {
163
183
  }
164
184
  }
165
185
  }
186
+ /**
187
+ * Infer callback parameter types from array method context.
188
+ * When an arrow function is a callback to .map(), .filter(), .reduce(), etc.,
189
+ * the first parameter inherits the array's element type.
190
+ *
191
+ * Example: results.map(m => m.Salary)
192
+ * → `results` is array of entity-row(Members) → `m` is entity-row(Members)
193
+ *
194
+ * Returns true if callback parameters were inferred, false if not applicable.
195
+ */
196
+ inferCallbackParameterTypes(path) {
197
+ const parent = path.parent;
198
+ // Check if this arrow function is the first argument to a method call
199
+ // Pattern: someArray.method(callback) or someArray?.method(callback)
200
+ if (!t.isCallExpression(parent) && !t.isOptionalCallExpression(parent))
201
+ return false;
202
+ if (parent.arguments[0] !== path.node && parent.arguments[1] !== path.node)
203
+ return false;
204
+ const callee = parent.callee;
205
+ if ((!t.isMemberExpression(callee) && !t.isOptionalMemberExpression(callee)) || !t.isIdentifier(callee.property))
206
+ return false;
207
+ const methodName = callee.property.name;
208
+ const arrayIterMethods = ['map', 'filter', 'forEach', 'find', 'some', 'every', 'flatMap', 'sort'];
209
+ const isReduce = methodName === 'reduce';
210
+ if (!arrayIterMethods.includes(methodName) && !isReduce)
211
+ return false;
212
+ // Infer the type of the array being iterated
213
+ const arrayType = this.inferExpressionType(callee.object, path.parentPath ?? undefined);
214
+ if (arrayType.type !== 'array' || !arrayType.arrayElementType)
215
+ return false;
216
+ const elementType = arrayType.arrayElementType;
217
+ const params = path.node.params;
218
+ if (isReduce) {
219
+ // reduce((accumulator, currentValue, index, array) => ...)
220
+ // First param is accumulator (unknown type), second param is the element
221
+ if (params.length >= 1 && t.isIdentifier(params[0])) {
222
+ this.typeContext.setVariableType(params[0].name, StandardTypes.unknown);
223
+ }
224
+ if (params.length >= 2 && t.isIdentifier(params[1])) {
225
+ this.typeContext.setVariableType(params[1].name, elementType);
226
+ }
227
+ }
228
+ else if (methodName === 'sort') {
229
+ // sort((a, b) => ...) — both params are elements
230
+ if (params.length >= 1 && t.isIdentifier(params[0])) {
231
+ this.typeContext.setVariableType(params[0].name, elementType);
232
+ }
233
+ if (params.length >= 2 && t.isIdentifier(params[1])) {
234
+ this.typeContext.setVariableType(params[1].name, elementType);
235
+ }
236
+ }
237
+ else {
238
+ // map/filter/forEach/find/some/every/flatMap: (element, index, array) => ...
239
+ if (params.length >= 1 && t.isIdentifier(params[0])) {
240
+ this.typeContext.setVariableType(params[0].name, elementType);
241
+ }
242
+ if (params.length >= 2 && t.isIdentifier(params[1])) {
243
+ this.typeContext.setVariableType(params[1].name, StandardTypes.number); // index
244
+ }
245
+ }
246
+ // Handle remaining params as unknown
247
+ for (let i = 2; i < params.length; i++) {
248
+ const param = params[i];
249
+ if (t.isIdentifier(param)) {
250
+ this.typeContext.setVariableType(param.name, StandardTypes.unknown);
251
+ }
252
+ }
253
+ return true;
254
+ }
166
255
  /**
167
256
  * Infer types for arrow function parameters
168
257
  */
@@ -390,11 +479,21 @@ export class TypeInferenceEngine {
390
479
  */
391
480
  inferArrayDestructuringTypes(pattern, init, path) {
392
481
  const sourceType = this.inferExpressionType(init, path);
482
+ // Detect useState pattern: const [state, setState] = useState(initialValue)
483
+ const isUseState = t.isCallExpression(init) &&
484
+ t.isIdentifier(init.callee) && init.callee.name === 'useState';
393
485
  for (let i = 0; i < pattern.elements.length; i++) {
394
486
  const element = pattern.elements[i];
395
487
  if (t.isIdentifier(element)) {
396
- // Get element type from array
397
- if (sourceType.arrayElementType) {
488
+ if (isUseState && i === 1) {
489
+ // Second element is the setter function — register the state/setter pair
490
+ this.typeContext.setVariableType(element.name, StandardTypes.function);
491
+ const stateVar = pattern.elements[0];
492
+ if (t.isIdentifier(stateVar)) {
493
+ this.stateSetterMap.set(element.name, stateVar.name);
494
+ }
495
+ }
496
+ else if (sourceType.arrayElementType) {
398
497
  this.typeContext.setVariableType(element.name, sourceType.arrayElementType);
399
498
  }
400
499
  else {
@@ -445,16 +544,16 @@ export class TypeInferenceEngine {
445
544
  if (t.isFunctionExpression(node) || t.isArrowFunctionExpression(node)) {
446
545
  return StandardTypes.function;
447
546
  }
448
- // Call expressions
449
- if (t.isCallExpression(node)) {
547
+ // Call expressions (including optional: a?.b())
548
+ if (t.isCallExpression(node) || t.isOptionalCallExpression(node)) {
450
549
  return this.inferCallExpressionType(node, path);
451
550
  }
452
551
  // New expressions (constructor calls like new Date())
453
552
  if (t.isNewExpression(node)) {
454
553
  return this.inferNewExpressionType(node, path);
455
554
  }
456
- // Member expressions
457
- if (t.isMemberExpression(node)) {
555
+ // Member expressions (including optional chaining: a?.b, a?.[0])
556
+ if (t.isMemberExpression(node) || t.isOptionalMemberExpression(node)) {
458
557
  return this.inferMemberExpressionType(node, path);
459
558
  }
460
559
  // Binary expressions
@@ -569,15 +668,32 @@ export class TypeInferenceEngine {
569
668
  }
570
669
  }
571
670
  }
572
- // useCallback returns a function, but we don't track function return types
573
- // Other hooks (useState, useEffect, etc.) have specific return types we could handle
671
+ // useCallback returns a function
672
+ if (functionName === 'useCallback') {
673
+ return StandardTypes.function;
674
+ }
675
+ // useState(initialValue) — return the type of the initial value so that
676
+ // array destructuring `const [state, setState] = useState(X)` propagates X's type to `state`
677
+ if (functionName === 'useState') {
678
+ if (node.arguments.length > 0) {
679
+ const initType = this.inferExpressionType(node.arguments[0], path);
680
+ // For null/undefined initializers, use unknown+nullable to avoid false positives
681
+ // (the actual type will be set by setState calls later)
682
+ if (initType.type === 'null' || initType.type === 'undefined') {
683
+ return { type: 'array', arrayElementType: { ...StandardTypes.unknown, nullable: true } };
684
+ }
685
+ return { type: 'array', arrayElementType: initType };
686
+ }
687
+ // useState() with no argument — state is undefined/nullable
688
+ return { type: 'array', arrayElementType: { ...StandardTypes.unknown, nullable: true } };
689
+ }
574
690
  }
575
691
  // Check for RunView/RunQuery calls
576
- if (t.isMemberExpression(node.callee)) {
692
+ if (t.isMemberExpression(node.callee) || t.isOptionalMemberExpression(node.callee)) {
577
693
  const calleeObj = node.callee.object;
578
694
  const calleeProp = node.callee.property;
579
695
  // utilities.rv.RunView or utilities.rv.RunViews
580
- if (t.isMemberExpression(calleeObj) &&
696
+ if ((t.isMemberExpression(calleeObj) || t.isOptionalMemberExpression(calleeObj)) &&
581
697
  t.isIdentifier(calleeObj.property) &&
582
698
  t.isIdentifier(calleeProp)) {
583
699
  const serviceName = calleeObj.property.name;
@@ -591,7 +707,7 @@ export class TypeInferenceEngine {
591
707
  }
592
708
  }
593
709
  // Object.values() - returns array of object's values
594
- if (t.isMemberExpression(node.callee) &&
710
+ if ((t.isMemberExpression(node.callee) || t.isOptionalMemberExpression(node.callee)) &&
595
711
  t.isIdentifier(node.callee.object) &&
596
712
  node.callee.object.name === 'Object' &&
597
713
  t.isIdentifier(node.callee.property) &&
@@ -609,7 +725,7 @@ export class TypeInferenceEngine {
609
725
  return { type: 'array', arrayElementType: StandardTypes.unknown };
610
726
  }
611
727
  // Array methods that return arrays
612
- if (t.isMemberExpression(node.callee) && t.isIdentifier(node.callee.property)) {
728
+ if ((t.isMemberExpression(node.callee) || t.isOptionalMemberExpression(node.callee)) && t.isIdentifier(node.callee.property)) {
613
729
  const methodName = node.callee.property.name;
614
730
  const arrayMethods = ['filter', 'map', 'slice', 'concat', 'flat', 'flatMap', 'sort', 'reverse'];
615
731
  if (arrayMethods.includes(methodName)) {
@@ -922,33 +1038,39 @@ export class TypeInferenceEngine {
922
1038
  // Property access
923
1039
  if (t.isIdentifier(node.property)) {
924
1040
  const propName = node.property.name;
925
- // Check if the object has known fields
926
- if (objectType.fields?.has(propName)) {
927
- const field = objectType.fields.get(propName);
928
- return { type: field.type, nullable: field.nullable };
929
- }
930
- // Special case: Results property on RunView/RunQuery result
1041
+ // Special case: .Results property on RunView/RunQuery result
1042
+ // Must be checked BEFORE generic field lookup, because FieldTypeInfo
1043
+ // can't carry arrayElementType (it's a simplified type), so the generic
1044
+ // lookup would return bare { type: 'array' } without entity-row info.
931
1045
  if (propName === 'Results' && objectType.type === 'object') {
932
- // This should be an array of entity/query rows
933
1046
  if (objectType.entityName) {
1047
+ const entityFields = this.typeContext.getEntityFieldTypesSync(objectType.entityName);
934
1048
  return {
935
1049
  type: 'array',
936
1050
  arrayElementType: {
937
1051
  type: 'entity-row',
938
- entityName: objectType.entityName
1052
+ entityName: objectType.entityName,
1053
+ fields: entityFields.size > 0 ? entityFields : undefined
939
1054
  }
940
1055
  };
941
1056
  }
942
1057
  if (objectType.queryName) {
1058
+ const queryFields = this.typeContext.getQueryFieldTypes(objectType.queryName);
943
1059
  return {
944
1060
  type: 'array',
945
1061
  arrayElementType: {
946
1062
  type: 'query-row',
947
- queryName: objectType.queryName
1063
+ queryName: objectType.queryName,
1064
+ fields: queryFields ?? undefined
948
1065
  }
949
1066
  };
950
1067
  }
951
1068
  }
1069
+ // Check if the object has known fields
1070
+ if (objectType.fields?.has(propName)) {
1071
+ const field = objectType.fields.get(propName);
1072
+ return { type: field.type, nullable: field.nullable };
1073
+ }
952
1074
  // Array length
953
1075
  if (propName === 'length' && objectType.type === 'array') {
954
1076
  return StandardTypes.number;