@thethracian/oxlint-config 0.3.5 → 0.4.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 (450) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +14 -2
  3. package/dist/codemods/arrow-body-style.d.ts.map +1 -1
  4. package/dist/codemods/arrow-body-style.js +13 -1
  5. package/dist/codemods/arrow-body-style.js.map +1 -1
  6. package/dist/codemods/explicit-return-types.d.ts.map +1 -1
  7. package/dist/codemods/explicit-return-types.js +15 -3
  8. package/dist/codemods/explicit-return-types.js.map +1 -1
  9. package/dist/codemods/function-declarations.d.ts.map +1 -1
  10. package/dist/codemods/function-declarations.js +7 -0
  11. package/dist/codemods/function-declarations.js.map +1 -1
  12. package/dist/codemods/inline-export-lists.d.ts.map +1 -1
  13. package/dist/codemods/inline-export-lists.js +17 -3
  14. package/dist/codemods/inline-export-lists.js.map +1 -1
  15. package/dist/codemods/internal-export-docs.d.ts.map +1 -1
  16. package/dist/codemods/internal-export-docs.js +17 -5
  17. package/dist/codemods/internal-export-docs.js.map +1 -1
  18. package/dist/codemods/no-ternary-variable-initializers.d.ts.map +1 -1
  19. package/dist/codemods/no-ternary-variable-initializers.js +24 -14
  20. package/dist/codemods/no-ternary-variable-initializers.js.map +1 -1
  21. package/dist/codemods/rename-acronyms.d.ts.map +1 -1
  22. package/dist/codemods/rename-acronyms.js +31 -1
  23. package/dist/codemods/rename-acronyms.js.map +1 -1
  24. package/dist/rules/diagnostic-guidance.d.ts.map +1 -1
  25. package/dist/rules/diagnostic-guidance.js +26 -2
  26. package/dist/rules/diagnostic-guidance.js.map +1 -1
  27. package/dist/rules/effect-alias-canonicalization.d.ts +27 -0
  28. package/dist/rules/effect-alias-canonicalization.d.ts.map +1 -0
  29. package/dist/rules/effect-alias-canonicalization.js +60 -0
  30. package/dist/rules/effect-alias-canonicalization.js.map +1 -0
  31. package/dist/rules/effect-ast-scope.d.ts +25 -0
  32. package/dist/rules/effect-ast-scope.d.ts.map +1 -0
  33. package/dist/rules/effect-ast-scope.js +286 -0
  34. package/dist/rules/effect-ast-scope.js.map +1 -0
  35. package/dist/rules/effect-ast.d.ts +42 -0
  36. package/dist/rules/effect-ast.d.ts.map +1 -0
  37. package/dist/rules/effect-ast.js +74 -0
  38. package/dist/rules/effect-ast.js.map +1 -0
  39. package/dist/rules/effect-boundary-ast-shared.d.ts +42 -0
  40. package/dist/rules/effect-boundary-ast-shared.d.ts.map +1 -0
  41. package/dist/rules/effect-boundary-ast-shared.js +203 -0
  42. package/dist/rules/effect-boundary-ast-shared.js.map +1 -0
  43. package/dist/rules/effect-default-boundary-ast.d.ts +10 -0
  44. package/dist/rules/effect-default-boundary-ast.d.ts.map +1 -0
  45. package/dist/rules/effect-default-boundary-ast.js +320 -0
  46. package/dist/rules/effect-default-boundary-ast.js.map +1 -0
  47. package/dist/rules/effect-default-compat-rules.d.ts +11 -15
  48. package/dist/rules/effect-default-compat-rules.d.ts.map +1 -1
  49. package/dist/rules/effect-default-compat-rules.js +20 -0
  50. package/dist/rules/effect-default-compat-rules.js.map +1 -1
  51. package/dist/rules/effect-default-scan-helpers.js +1 -1
  52. package/dist/rules/effect-default-scan-helpers.js.map +1 -1
  53. package/dist/rules/effect-default-workflow-helpers.d.ts.map +1 -1
  54. package/dist/rules/effect-default-workflow-helpers.js +7 -29
  55. package/dist/rules/effect-default-workflow-helpers.js.map +1 -1
  56. package/dist/rules/effect-default.d.ts +4 -1
  57. package/dist/rules/effect-default.d.ts.map +1 -1
  58. package/dist/rules/effect-default.js +14 -5
  59. package/dist/rules/effect-default.js.map +1 -1
  60. package/dist/rules/effect-export-binding-patterns.d.ts +9 -0
  61. package/dist/rules/effect-export-binding-patterns.d.ts.map +1 -0
  62. package/dist/rules/effect-export-binding-patterns.js +149 -0
  63. package/dist/rules/effect-export-binding-patterns.js.map +1 -0
  64. package/dist/rules/effect-export-declaration-boundaries.d.ts +21 -0
  65. package/dist/rules/effect-export-declaration-boundaries.d.ts.map +1 -0
  66. package/dist/rules/effect-export-declaration-boundaries.js +119 -0
  67. package/dist/rules/effect-export-declaration-boundaries.js.map +1 -0
  68. package/dist/rules/effect-export-default-binding.d.ts +5 -0
  69. package/dist/rules/effect-export-default-binding.d.ts.map +1 -0
  70. package/dist/rules/effect-export-default-binding.js +350 -0
  71. package/dist/rules/effect-export-default-binding.js.map +1 -0
  72. package/dist/rules/effect-export-segments.d.ts +9 -0
  73. package/dist/rules/effect-export-segments.d.ts.map +1 -0
  74. package/dist/rules/effect-export-segments.js +67 -0
  75. package/dist/rules/effect-export-segments.js.map +1 -0
  76. package/dist/rules/effect-exported-declarations.d.ts +3 -15
  77. package/dist/rules/effect-exported-declarations.d.ts.map +1 -1
  78. package/dist/rules/effect-exported-declarations.js +139 -94
  79. package/dist/rules/effect-exported-declarations.js.map +1 -1
  80. package/dist/rules/effect-global-fetch-ast.d.ts +14 -0
  81. package/dist/rules/effect-global-fetch-ast.d.ts.map +1 -0
  82. package/dist/rules/effect-global-fetch-ast.js +321 -0
  83. package/dist/rules/effect-global-fetch-ast.js.map +1 -0
  84. package/dist/rules/effect-global-fetch-imports.d.ts +29 -0
  85. package/dist/rules/effect-global-fetch-imports.d.ts.map +1 -0
  86. package/dist/rules/effect-global-fetch-imports.js +91 -0
  87. package/dist/rules/effect-global-fetch-imports.js.map +1 -0
  88. package/dist/rules/effect-import-bindings.d.ts +13 -0
  89. package/dist/rules/effect-import-bindings.d.ts.map +1 -0
  90. package/dist/rules/effect-import-bindings.js +133 -0
  91. package/dist/rules/effect-import-bindings.js.map +1 -0
  92. package/dist/rules/effect-imported-call-matcher.d.ts +24 -0
  93. package/dist/rules/effect-imported-call-matcher.d.ts.map +1 -0
  94. package/dist/rules/effect-imported-call-matcher.js +271 -0
  95. package/dist/rules/effect-imported-call-matcher.js.map +1 -0
  96. package/dist/rules/effect-module-source-index.d.ts +44 -0
  97. package/dist/rules/effect-module-source-index.d.ts.map +1 -0
  98. package/dist/rules/effect-module-source-index.js +306 -0
  99. package/dist/rules/effect-module-source-index.js.map +1 -0
  100. package/dist/rules/effect-native-references.d.ts +66 -0
  101. package/dist/rules/effect-native-references.d.ts.map +1 -0
  102. package/dist/rules/effect-native-references.js +164 -0
  103. package/dist/rules/effect-native-references.js.map +1 -0
  104. package/dist/rules/effect-object-assign-provenance.d.ts +20 -0
  105. package/dist/rules/effect-object-assign-provenance.d.ts.map +1 -0
  106. package/dist/rules/effect-object-assign-provenance.js +37 -0
  107. package/dist/rules/effect-object-assign-provenance.js.map +1 -0
  108. package/dist/rules/effect-prefer-map-over-flatmap-succeed.d.ts +4 -0
  109. package/dist/rules/effect-prefer-map-over-flatmap-succeed.d.ts.map +1 -0
  110. package/dist/rules/effect-prefer-map-over-flatmap-succeed.js +294 -0
  111. package/dist/rules/effect-prefer-map-over-flatmap-succeed.js.map +1 -0
  112. package/dist/rules/effect-prefer-succeed-for-stable-values.d.ts +4 -0
  113. package/dist/rules/effect-prefer-succeed-for-stable-values.d.ts.map +1 -0
  114. package/dist/rules/effect-prefer-succeed-for-stable-values.js +292 -0
  115. package/dist/rules/effect-prefer-succeed-for-stable-values.js.map +1 -0
  116. package/dist/rules/effect-promise-ast-values.d.ts +26 -0
  117. package/dist/rules/effect-promise-ast-values.d.ts.map +1 -0
  118. package/dist/rules/effect-promise-ast-values.js +66 -0
  119. package/dist/rules/effect-promise-ast-values.js.map +1 -0
  120. package/dist/rules/effect-promise-callable-declarations.d.ts +22 -0
  121. package/dist/rules/effect-promise-callable-declarations.d.ts.map +1 -0
  122. package/dist/rules/effect-promise-callable-declarations.js +255 -0
  123. package/dist/rules/effect-promise-callable-declarations.js.map +1 -0
  124. package/dist/rules/effect-promise-callable-lookup.d.ts +40 -0
  125. package/dist/rules/effect-promise-callable-lookup.d.ts.map +1 -0
  126. package/dist/rules/effect-promise-callable-lookup.js +99 -0
  127. package/dist/rules/effect-promise-callable-lookup.js.map +1 -0
  128. package/dist/rules/effect-promise-callable-scopes.d.ts +16 -0
  129. package/dist/rules/effect-promise-callable-scopes.d.ts.map +1 -0
  130. package/dist/rules/effect-promise-callable-scopes.js +43 -0
  131. package/dist/rules/effect-promise-callable-scopes.js.map +1 -0
  132. package/dist/rules/effect-promise-callable-types.d.ts +43 -0
  133. package/dist/rules/effect-promise-callable-types.d.ts.map +1 -0
  134. package/dist/rules/effect-promise-callable-types.js +5 -0
  135. package/dist/rules/effect-promise-callable-types.js.map +1 -0
  136. package/dist/rules/effect-promise-callables.d.ts +5 -0
  137. package/dist/rules/effect-promise-callables.d.ts.map +1 -0
  138. package/dist/rules/effect-promise-callables.js +7 -0
  139. package/dist/rules/effect-promise-callables.js.map +1 -0
  140. package/dist/rules/effect-promise-collections.d.ts +20 -0
  141. package/dist/rules/effect-promise-collections.d.ts.map +1 -0
  142. package/dist/rules/effect-promise-collections.js +199 -0
  143. package/dist/rules/effect-promise-collections.js.map +1 -0
  144. package/dist/rules/effect-promise-completion.d.ts +141 -0
  145. package/dist/rules/effect-promise-completion.d.ts.map +1 -0
  146. package/dist/rules/effect-promise-completion.js +200 -0
  147. package/dist/rules/effect-promise-completion.js.map +1 -0
  148. package/dist/rules/effect-promise-environment-projections.d.ts +23 -0
  149. package/dist/rules/effect-promise-environment-projections.d.ts.map +1 -0
  150. package/dist/rules/effect-promise-environment-projections.js +191 -0
  151. package/dist/rules/effect-promise-environment-projections.js.map +1 -0
  152. package/dist/rules/effect-promise-environment-types.d.ts +96 -0
  153. package/dist/rules/effect-promise-environment-types.d.ts.map +1 -0
  154. package/dist/rules/effect-promise-environment-types.js +10 -0
  155. package/dist/rules/effect-promise-environment-types.js.map +1 -0
  156. package/dist/rules/effect-promise-environment-values.d.ts +41 -0
  157. package/dist/rules/effect-promise-environment-values.d.ts.map +1 -0
  158. package/dist/rules/effect-promise-environment-values.js +214 -0
  159. package/dist/rules/effect-promise-environment-values.js.map +1 -0
  160. package/dist/rules/effect-promise-environments.d.ts +5 -0
  161. package/dist/rules/effect-promise-environments.d.ts.map +1 -0
  162. package/dist/rules/effect-promise-environments.js +7 -0
  163. package/dist/rules/effect-promise-environments.js.map +1 -0
  164. package/dist/rules/effect-promise-execution-ast.d.ts +12 -0
  165. package/dist/rules/effect-promise-execution-ast.d.ts.map +1 -0
  166. package/dist/rules/effect-promise-execution-ast.js +30 -0
  167. package/dist/rules/effect-promise-execution-ast.js.map +1 -0
  168. package/dist/rules/effect-promise-execution-engine.d.ts +9 -0
  169. package/dist/rules/effect-promise-execution-engine.d.ts.map +1 -0
  170. package/dist/rules/effect-promise-execution-engine.js +280 -0
  171. package/dist/rules/effect-promise-execution-engine.js.map +1 -0
  172. package/dist/rules/effect-promise-execution-flow.d.ts +48 -0
  173. package/dist/rules/effect-promise-execution-flow.d.ts.map +1 -0
  174. package/dist/rules/effect-promise-execution-flow.js +193 -0
  175. package/dist/rules/effect-promise-execution-flow.js.map +1 -0
  176. package/dist/rules/effect-promise-execution-navigation.d.ts +34 -0
  177. package/dist/rules/effect-promise-execution-navigation.d.ts.map +1 -0
  178. package/dist/rules/effect-promise-execution-navigation.js +66 -0
  179. package/dist/rules/effect-promise-execution-navigation.js.map +1 -0
  180. package/dist/rules/effect-promise-execution-types.d.ts +36 -0
  181. package/dist/rules/effect-promise-execution-types.d.ts.map +1 -0
  182. package/dist/rules/effect-promise-execution-types.js +5 -0
  183. package/dist/rules/effect-promise-execution-types.js.map +1 -0
  184. package/dist/rules/effect-promise-execution-values.d.ts +40 -0
  185. package/dist/rules/effect-promise-execution-values.d.ts.map +1 -0
  186. package/dist/rules/effect-promise-execution-values.js +268 -0
  187. package/dist/rules/effect-promise-execution-values.js.map +1 -0
  188. package/dist/rules/effect-promise-expression-flow.d.ts +27 -0
  189. package/dist/rules/effect-promise-expression-flow.d.ts.map +1 -0
  190. package/dist/rules/effect-promise-expression-flow.js +80 -0
  191. package/dist/rules/effect-promise-expression-flow.js.map +1 -0
  192. package/dist/rules/effect-promise-invocation-memo.d.ts +16 -0
  193. package/dist/rules/effect-promise-invocation-memo.d.ts.map +1 -0
  194. package/dist/rules/effect-promise-invocation-memo.js +44 -0
  195. package/dist/rules/effect-promise-invocation-memo.js.map +1 -0
  196. package/dist/rules/effect-promise-invocations.d.ts +16 -0
  197. package/dist/rules/effect-promise-invocations.d.ts.map +1 -0
  198. package/dist/rules/effect-promise-invocations.js +126 -0
  199. package/dist/rules/effect-promise-invocations.js.map +1 -0
  200. package/dist/rules/effect-promise-node-children.d.ts +22 -0
  201. package/dist/rules/effect-promise-node-children.d.ts.map +1 -0
  202. package/dist/rules/effect-promise-node-children.js +49 -0
  203. package/dist/rules/effect-promise-node-children.js.map +1 -0
  204. package/dist/rules/effect-promise-node-evaluation.d.ts +43 -0
  205. package/dist/rules/effect-promise-node-evaluation.d.ts.map +1 -0
  206. package/dist/rules/effect-promise-node-evaluation.js +150 -0
  207. package/dist/rules/effect-promise-node-evaluation.js.map +1 -0
  208. package/dist/rules/effect-promise-parameter-bindings.d.ts +28 -0
  209. package/dist/rules/effect-promise-parameter-bindings.d.ts.map +1 -0
  210. package/dist/rules/effect-promise-parameter-bindings.js +187 -0
  211. package/dist/rules/effect-promise-parameter-bindings.js.map +1 -0
  212. package/dist/rules/effect-promise-pattern-bindings.d.ts +9 -0
  213. package/dist/rules/effect-promise-pattern-bindings.d.ts.map +1 -0
  214. package/dist/rules/effect-promise-pattern-bindings.js +54 -0
  215. package/dist/rules/effect-promise-pattern-bindings.js.map +1 -0
  216. package/dist/rules/effect-promise-program-traversal.d.ts +40 -0
  217. package/dist/rules/effect-promise-program-traversal.d.ts.map +1 -0
  218. package/dist/rules/effect-promise-program-traversal.js +115 -0
  219. package/dist/rules/effect-promise-program-traversal.js.map +1 -0
  220. package/dist/rules/effect-promise-rule-bindings.d.ts +23 -0
  221. package/dist/rules/effect-promise-rule-bindings.d.ts.map +1 -0
  222. package/dist/rules/effect-promise-rule-bindings.js +41 -0
  223. package/dist/rules/effect-promise-rule-bindings.js.map +1 -0
  224. package/dist/rules/effect-promise-runtime-arguments.d.ts +18 -0
  225. package/dist/rules/effect-promise-runtime-arguments.d.ts.map +1 -0
  226. package/dist/rules/effect-promise-runtime-arguments.js +49 -0
  227. package/dist/rules/effect-promise-runtime-arguments.js.map +1 -0
  228. package/dist/rules/effect-promise-runtime-call-targets.d.ts +21 -0
  229. package/dist/rules/effect-promise-runtime-call-targets.d.ts.map +1 -0
  230. package/dist/rules/effect-promise-runtime-call-targets.js +55 -0
  231. package/dist/rules/effect-promise-runtime-call-targets.js.map +1 -0
  232. package/dist/rules/effect-promise-runtime-callable-properties.d.ts +20 -0
  233. package/dist/rules/effect-promise-runtime-callable-properties.d.ts.map +1 -0
  234. package/dist/rules/effect-promise-runtime-callable-properties.js +30 -0
  235. package/dist/rules/effect-promise-runtime-callable-properties.js.map +1 -0
  236. package/dist/rules/effect-promise-runtime-callables.d.ts +51 -0
  237. package/dist/rules/effect-promise-runtime-callables.d.ts.map +1 -0
  238. package/dist/rules/effect-promise-runtime-callables.js +214 -0
  239. package/dist/rules/effect-promise-runtime-callables.js.map +1 -0
  240. package/dist/rules/effect-promise-runtime-choice-operations.d.ts +32 -0
  241. package/dist/rules/effect-promise-runtime-choice-operations.d.ts.map +1 -0
  242. package/dist/rules/effect-promise-runtime-choice-operations.js +145 -0
  243. package/dist/rules/effect-promise-runtime-choice-operations.js.map +1 -0
  244. package/dist/rules/effect-promise-runtime-choice.d.ts +26 -0
  245. package/dist/rules/effect-promise-runtime-choice.d.ts.map +1 -0
  246. package/dist/rules/effect-promise-runtime-choice.js +95 -0
  247. package/dist/rules/effect-promise-runtime-choice.js.map +1 -0
  248. package/dist/rules/effect-promise-runtime-control-branches.d.ts +14 -0
  249. package/dist/rules/effect-promise-runtime-control-branches.d.ts.map +1 -0
  250. package/dist/rules/effect-promise-runtime-control-branches.js +74 -0
  251. package/dist/rules/effect-promise-runtime-control-branches.js.map +1 -0
  252. package/dist/rules/effect-promise-runtime-control-completions.d.ts +26 -0
  253. package/dist/rules/effect-promise-runtime-control-completions.d.ts.map +1 -0
  254. package/dist/rules/effect-promise-runtime-control-completions.js +116 -0
  255. package/dist/rules/effect-promise-runtime-control-completions.js.map +1 -0
  256. package/dist/rules/effect-promise-runtime-control-flow.d.ts +9 -0
  257. package/dist/rules/effect-promise-runtime-control-flow.d.ts.map +1 -0
  258. package/dist/rules/effect-promise-runtime-control-flow.js +94 -0
  259. package/dist/rules/effect-promise-runtime-control-flow.js.map +1 -0
  260. package/dist/rules/effect-promise-runtime-control-patterns.d.ts +15 -0
  261. package/dist/rules/effect-promise-runtime-control-patterns.d.ts.map +1 -0
  262. package/dist/rules/effect-promise-runtime-control-patterns.js +84 -0
  263. package/dist/rules/effect-promise-runtime-control-patterns.js.map +1 -0
  264. package/dist/rules/effect-promise-runtime-control-scalars.d.ts +23 -0
  265. package/dist/rules/effect-promise-runtime-control-scalars.d.ts.map +1 -0
  266. package/dist/rules/effect-promise-runtime-control-scalars.js +178 -0
  267. package/dist/rules/effect-promise-runtime-control-scalars.js.map +1 -0
  268. package/dist/rules/effect-promise-runtime-expressions.d.ts +22 -0
  269. package/dist/rules/effect-promise-runtime-expressions.d.ts.map +1 -0
  270. package/dist/rules/effect-promise-runtime-expressions.js +265 -0
  271. package/dist/rules/effect-promise-runtime-expressions.js.map +1 -0
  272. package/dist/rules/effect-promise-runtime-heap.d.ts +39 -0
  273. package/dist/rules/effect-promise-runtime-heap.d.ts.map +1 -0
  274. package/dist/rules/effect-promise-runtime-heap.js +73 -0
  275. package/dist/rules/effect-promise-runtime-heap.js.map +1 -0
  276. package/dist/rules/effect-promise-runtime-interpreter.d.ts +39 -0
  277. package/dist/rules/effect-promise-runtime-interpreter.d.ts.map +1 -0
  278. package/dist/rules/effect-promise-runtime-interpreter.js +260 -0
  279. package/dist/rules/effect-promise-runtime-interpreter.js.map +1 -0
  280. package/dist/rules/effect-promise-runtime-intrinsics.d.ts +15 -0
  281. package/dist/rules/effect-promise-runtime-intrinsics.d.ts.map +1 -0
  282. package/dist/rules/effect-promise-runtime-intrinsics.js +54 -0
  283. package/dist/rules/effect-promise-runtime-intrinsics.js.map +1 -0
  284. package/dist/rules/effect-promise-runtime-loops.d.ts +9 -0
  285. package/dist/rules/effect-promise-runtime-loops.d.ts.map +1 -0
  286. package/dist/rules/effect-promise-runtime-loops.js +277 -0
  287. package/dist/rules/effect-promise-runtime-loops.js.map +1 -0
  288. package/dist/rules/effect-promise-runtime-members.d.ts +28 -0
  289. package/dist/rules/effect-promise-runtime-members.d.ts.map +1 -0
  290. package/dist/rules/effect-promise-runtime-members.js +88 -0
  291. package/dist/rules/effect-promise-runtime-members.js.map +1 -0
  292. package/dist/rules/effect-promise-runtime-memo.d.ts +40 -0
  293. package/dist/rules/effect-promise-runtime-memo.d.ts.map +1 -0
  294. package/dist/rules/effect-promise-runtime-memo.js +124 -0
  295. package/dist/rules/effect-promise-runtime-memo.js.map +1 -0
  296. package/dist/rules/effect-promise-runtime-model.d.ts +251 -0
  297. package/dist/rules/effect-promise-runtime-model.d.ts.map +1 -0
  298. package/dist/rules/effect-promise-runtime-model.js +84 -0
  299. package/dist/rules/effect-promise-runtime-model.js.map +1 -0
  300. package/dist/rules/effect-promise-runtime-mutations.d.ts +17 -0
  301. package/dist/rules/effect-promise-runtime-mutations.d.ts.map +1 -0
  302. package/dist/rules/effect-promise-runtime-mutations.js +165 -0
  303. package/dist/rules/effect-promise-runtime-mutations.js.map +1 -0
  304. package/dist/rules/effect-promise-runtime-patterns.d.ts +21 -0
  305. package/dist/rules/effect-promise-runtime-patterns.d.ts.map +1 -0
  306. package/dist/rules/effect-promise-runtime-patterns.js +179 -0
  307. package/dist/rules/effect-promise-runtime-patterns.js.map +1 -0
  308. package/dist/rules/effect-promise-runtime-proof.d.ts +74 -0
  309. package/dist/rules/effect-promise-runtime-proof.d.ts.map +1 -0
  310. package/dist/rules/effect-promise-runtime-proof.js +253 -0
  311. package/dist/rules/effect-promise-runtime-proof.js.map +1 -0
  312. package/dist/rules/effect-promise-runtime-reporting.d.ts +16 -0
  313. package/dist/rules/effect-promise-runtime-reporting.d.ts.map +1 -0
  314. package/dist/rules/effect-promise-runtime-reporting.js +11 -0
  315. package/dist/rules/effect-promise-runtime-reporting.js.map +1 -0
  316. package/dist/rules/effect-promise-runtime-scalar-operations.d.ts +2 -0
  317. package/dist/rules/effect-promise-runtime-scalar-operations.d.ts.map +1 -0
  318. package/dist/rules/effect-promise-runtime-scalar-operations.js +5 -0
  319. package/dist/rules/effect-promise-runtime-scalar-operations.js.map +1 -0
  320. package/dist/rules/effect-promise-runtime-scalars.d.ts +24 -0
  321. package/dist/rules/effect-promise-runtime-scalars.d.ts.map +1 -0
  322. package/dist/rules/effect-promise-runtime-scalars.js +125 -0
  323. package/dist/rules/effect-promise-runtime-scalars.js.map +1 -0
  324. package/dist/rules/effect-promise-runtime-statements.d.ts +15 -0
  325. package/dist/rules/effect-promise-runtime-statements.d.ts.map +1 -0
  326. package/dist/rules/effect-promise-runtime-statements.js +251 -0
  327. package/dist/rules/effect-promise-runtime-statements.js.map +1 -0
  328. package/dist/rules/effect-promise-runtime-store.d.ts +44 -0
  329. package/dist/rules/effect-promise-runtime-store.d.ts.map +1 -0
  330. package/dist/rules/effect-promise-runtime-store.js +186 -0
  331. package/dist/rules/effect-promise-runtime-store.js.map +1 -0
  332. package/dist/rules/effect-promise-runtime-structures.d.ts +9 -0
  333. package/dist/rules/effect-promise-runtime-structures.d.ts.map +1 -0
  334. package/dist/rules/effect-promise-runtime-structures.js +181 -0
  335. package/dist/rules/effect-promise-runtime-structures.js.map +1 -0
  336. package/dist/rules/effect-promise-runtime-switch.d.ts +9 -0
  337. package/dist/rules/effect-promise-runtime-switch.d.ts.map +1 -0
  338. package/dist/rules/effect-promise-runtime-switch.js +91 -0
  339. package/dist/rules/effect-promise-runtime-switch.js.map +1 -0
  340. package/dist/rules/effect-promise-runtime-tasks.d.ts +72 -0
  341. package/dist/rules/effect-promise-runtime-tasks.d.ts.map +1 -0
  342. package/dist/rules/effect-promise-runtime-tasks.js +158 -0
  343. package/dist/rules/effect-promise-runtime-tasks.js.map +1 -0
  344. package/dist/rules/effect-promise-runtime-this.d.ts +14 -0
  345. package/dist/rules/effect-promise-runtime-this.d.ts.map +1 -0
  346. package/dist/rules/effect-promise-runtime-this.js +29 -0
  347. package/dist/rules/effect-promise-runtime-this.js.map +1 -0
  348. package/dist/rules/effect-promise-runtime-try.d.ts +9 -0
  349. package/dist/rules/effect-promise-runtime-try.d.ts.map +1 -0
  350. package/dist/rules/effect-promise-runtime-try.js +94 -0
  351. package/dist/rules/effect-promise-runtime-try.js.map +1 -0
  352. package/dist/rules/effect-promise-runtime-values.d.ts +88 -0
  353. package/dist/rules/effect-promise-runtime-values.d.ts.map +1 -0
  354. package/dist/rules/effect-promise-runtime-values.js +382 -0
  355. package/dist/rules/effect-promise-runtime-values.js.map +1 -0
  356. package/dist/rules/effect-promise-value-scopes.d.ts +94 -0
  357. package/dist/rules/effect-promise-value-scopes.d.ts.map +1 -0
  358. package/dist/rules/effect-promise-value-scopes.js +218 -0
  359. package/dist/rules/effect-promise-value-scopes.js.map +1 -0
  360. package/dist/rules/effect-recursion-ast.d.ts +14 -0
  361. package/dist/rules/effect-recursion-ast.d.ts.map +1 -0
  362. package/dist/rules/effect-recursion-ast.js +154 -0
  363. package/dist/rules/effect-recursion-ast.js.map +1 -0
  364. package/dist/rules/effect-recursion-execution.d.ts +15 -0
  365. package/dist/rules/effect-recursion-execution.d.ts.map +1 -0
  366. package/dist/rules/effect-recursion-execution.js +312 -0
  367. package/dist/rules/effect-recursion-execution.js.map +1 -0
  368. package/dist/rules/effect-recursion-generator.d.ts +17 -0
  369. package/dist/rules/effect-recursion-generator.d.ts.map +1 -0
  370. package/dist/rules/effect-recursion-generator.js +125 -0
  371. package/dist/rules/effect-recursion-generator.js.map +1 -0
  372. package/dist/rules/effect-recursion-local-bindings.d.ts +44 -0
  373. package/dist/rules/effect-recursion-local-bindings.d.ts.map +1 -0
  374. package/dist/rules/effect-recursion-local-bindings.js +99 -0
  375. package/dist/rules/effect-recursion-local-bindings.js.map +1 -0
  376. package/dist/rules/effect-recursion-phases.d.ts +40 -0
  377. package/dist/rules/effect-recursion-phases.d.ts.map +1 -0
  378. package/dist/rules/effect-recursion-phases.js +62 -0
  379. package/dist/rules/effect-recursion-phases.js.map +1 -0
  380. package/dist/rules/effect-recursion-source.d.ts +10 -0
  381. package/dist/rules/effect-recursion-source.d.ts.map +1 -0
  382. package/dist/rules/effect-recursion-source.js +182 -0
  383. package/dist/rules/effect-recursion-source.js.map +1 -0
  384. package/dist/rules/effect-recursion-viability.d.ts +66 -0
  385. package/dist/rules/effect-recursion-viability.d.ts.map +1 -0
  386. package/dist/rules/effect-recursion-viability.js +228 -0
  387. package/dist/rules/effect-recursion-viability.js.map +1 -0
  388. package/dist/rules/effect-rule-aliases.d.ts +14 -19
  389. package/dist/rules/effect-rule-aliases.d.ts.map +1 -1
  390. package/dist/rules/effect-rule-aliases.js +48 -30
  391. package/dist/rules/effect-rule-aliases.js.map +1 -1
  392. package/dist/rules/effect-rule-core.d.ts +4 -4
  393. package/dist/rules/effect-rule-core.d.ts.map +1 -1
  394. package/dist/rules/effect-rule-core.js +42 -44
  395. package/dist/rules/effect-rule-core.js.map +1 -1
  396. package/dist/rules/effect-rule-names.d.ts.map +1 -1
  397. package/dist/rules/effect-rule-names.js +1 -1
  398. package/dist/rules/effect-rule-names.js.map +1 -1
  399. package/dist/rules/effect-source-navigation-lexer.d.ts +13 -0
  400. package/dist/rules/effect-source-navigation-lexer.d.ts.map +1 -0
  401. package/dist/rules/effect-source-navigation-lexer.js +228 -0
  402. package/dist/rules/effect-source-navigation-lexer.js.map +1 -0
  403. package/dist/rules/effect-source-navigation.d.ts +2 -2
  404. package/dist/rules/effect-source-navigation.d.ts.map +1 -1
  405. package/dist/rules/effect-source-navigation.js +104 -101
  406. package/dist/rules/effect-source-navigation.js.map +1 -1
  407. package/dist/rules/effect-strict-ast-helpers.d.ts +82 -0
  408. package/dist/rules/effect-strict-ast-helpers.d.ts.map +1 -0
  409. package/dist/rules/effect-strict-ast-helpers.js +194 -0
  410. package/dist/rules/effect-strict-ast-helpers.js.map +1 -0
  411. package/dist/rules/effect-strict-ast-specs.d.ts.map +1 -1
  412. package/dist/rules/effect-strict-ast-specs.js +14 -16
  413. package/dist/rules/effect-strict-ast-specs.js.map +1 -1
  414. package/dist/rules/effect-strict-internals.d.ts +2 -196
  415. package/dist/rules/effect-strict-internals.d.ts.map +1 -1
  416. package/dist/rules/effect-strict-internals.js +2 -417
  417. package/dist/rules/effect-strict-internals.js.map +1 -1
  418. package/dist/rules/effect-strict-source-predicates.d.ts +120 -0
  419. package/dist/rules/effect-strict-source-predicates.d.ts.map +1 -0
  420. package/dist/rules/effect-strict-source-predicates.js +234 -0
  421. package/dist/rules/effect-strict-source-predicates.js.map +1 -0
  422. package/dist/rules/effect-sync-promise-scope-index.d.ts +44 -0
  423. package/dist/rules/effect-sync-promise-scope-index.d.ts.map +1 -0
  424. package/dist/rules/effect-sync-promise-scope-index.js +345 -0
  425. package/dist/rules/effect-sync-promise-scope-index.js.map +1 -0
  426. package/dist/rules/effect-sync-promise-scopes.d.ts +10 -0
  427. package/dist/rules/effect-sync-promise-scopes.d.ts.map +1 -0
  428. package/dist/rules/effect-sync-promise-scopes.js +115 -0
  429. package/dist/rules/effect-sync-promise-scopes.js.map +1 -0
  430. package/dist/rules/effect-sync-promise-source.d.ts +2 -0
  431. package/dist/rules/effect-sync-promise-source.d.ts.map +1 -0
  432. package/dist/rules/effect-sync-promise-source.js +5 -0
  433. package/dist/rules/effect-sync-promise-source.js.map +1 -0
  434. package/dist/rules/plugin-commented-out-code-jsx-scanner.d.ts +21 -0
  435. package/dist/rules/plugin-commented-out-code-jsx-scanner.d.ts.map +1 -0
  436. package/dist/rules/plugin-commented-out-code-jsx-scanner.js +200 -0
  437. package/dist/rules/plugin-commented-out-code-jsx-scanner.js.map +1 -0
  438. package/dist/rules/plugin-commented-out-code-lexical-primitives.d.ts +139 -0
  439. package/dist/rules/plugin-commented-out-code-lexical-primitives.d.ts.map +1 -0
  440. package/dist/rules/plugin-commented-out-code-lexical-primitives.js +244 -0
  441. package/dist/rules/plugin-commented-out-code-lexical-primitives.js.map +1 -0
  442. package/dist/rules/plugin-commented-out-code-rule.d.ts +13 -0
  443. package/dist/rules/plugin-commented-out-code-rule.d.ts.map +1 -1
  444. package/dist/rules/plugin-commented-out-code-rule.js +174 -82
  445. package/dist/rules/plugin-commented-out-code-rule.js.map +1 -1
  446. package/dist/rules/plugin-commented-out-code-source-scanner.d.ts +8 -0
  447. package/dist/rules/plugin-commented-out-code-source-scanner.d.ts.map +1 -0
  448. package/dist/rules/plugin-commented-out-code-source-scanner.js +228 -0
  449. package/dist/rules/plugin-commented-out-code-source-scanner.js.map +1 -0
  450. package/package.json +1 -1
@@ -0,0 +1,55 @@
1
+ /* -------------------------------------------------------------------------- */
2
+ /* Exact call targets and receivers for the Effect runtime interpreter. */
3
+ /* -------------------------------------------------------------------------- */
4
+ import { runtimeCallable, runtimeCallableForNode, runtimeCallableWrapper, } from './effect-promise-runtime-callables.js';
5
+ import { RUNTIME_NORMAL } from './effect-promise-runtime-model.js';
6
+ import { childNode } from './effect-ast.js';
7
+ import { executeRuntimeMemberTarget } from './effect-promise-runtime-members.js';
8
+ const callableReceiver = (host, callee, receiver, context) => runtimeCallable(receiver) ?? runtimeCallableForNode(host, childNode(callee, 'object'), context);
9
+ const memberCallTarget = (host, callee, context, evaluate) => {
10
+ const member = executeRuntimeMemberTarget(host, callee, context, evaluate);
11
+ if (member.result.completion !== RUNTIME_NORMAL) {
12
+ return { completion: member.result.completion };
13
+ }
14
+ const receiver = callableReceiver(host, callee, member.receiver, context);
15
+ if (runtimeCallableWrapper(callee) && receiver && !member.isOwnCallableProperty) {
16
+ return {
17
+ completion: RUNTIME_NORMAL,
18
+ target: { callee, value: receiver },
19
+ };
20
+ }
21
+ let callableSpelling = undefined;
22
+ if (!runtimeCallableWrapper(callee)) {
23
+ callableSpelling = callee;
24
+ }
25
+ return {
26
+ completion: RUNTIME_NORMAL,
27
+ target: {
28
+ callee: callableSpelling,
29
+ receiver: member.receiver,
30
+ value: member.result.value,
31
+ },
32
+ };
33
+ };
34
+ /**
35
+ * Evaluate one direct or member call target exactly once.
36
+ *
37
+ * @internal
38
+ */
39
+ export const evaluateRuntimeCallTarget = (host, callee, context, evaluate) => {
40
+ if (!callee) {
41
+ return { completion: RUNTIME_NORMAL };
42
+ }
43
+ if (callee.type === 'MemberExpression') {
44
+ return memberCallTarget(host, callee, context, evaluate);
45
+ }
46
+ const result = evaluate(callee, context);
47
+ if (result.completion !== RUNTIME_NORMAL) {
48
+ return { completion: result.completion };
49
+ }
50
+ return {
51
+ completion: RUNTIME_NORMAL,
52
+ target: { callee, value: result.value },
53
+ };
54
+ };
55
+ //# sourceMappingURL=effect-promise-runtime-call-targets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effect-promise-runtime-call-targets.js","sourceRoot":"","sources":["../../src/rules/effect-promise-runtime-call-targets.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAOhF,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAc9E,MAAM,gBAAgB,GAAG,CACvB,IAA0B,EAC1B,MAAe,EACf,QAAgC,EAChC,OAAgC,EACR,EAAE,CAC1B,eAAe,CAAC,QAAQ,CAAC,IAAI,sBAAsB,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;AAElG,MAAM,gBAAgB,GAAG,CACvB,IAA0B,EAC1B,MAAe,EACf,OAAgC,EAChC,QAA0B,EACD,EAAE;IAC3B,MAAM,MAAM,GAAG,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC3E,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,KAAK,cAAc,EAAE,CAAC;QAChD,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;IAClD,CAAC;IACD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1E,IAAI,sBAAsB,CAAC,MAAM,CAAC,IAAI,QAAQ,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;QAChF,OAAO;YACL,UAAU,EAAE,cAAc;YAC1B,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE;SACpC,CAAC;IACJ,CAAC;IACD,IAAI,gBAAgB,GAAwB,SAAS,CAAC;IACtD,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC;QACpC,gBAAgB,GAAG,MAAM,CAAC;IAC5B,CAAC;IACD,OAAO;QACL,UAAU,EAAE,cAAc;QAC1B,MAAM,EAAE;YACN,MAAM,EAAE,gBAAgB;YACxB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK;SAC3B;KACF,CAAC;AACJ,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,IAA0B,EAC1B,MAA2B,EAC3B,OAAgC,EAChC,QAA0B,EACD,EAAE;IAC3B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC;IACxC,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;QACvC,OAAO,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,IAAI,MAAM,CAAC,UAAU,KAAK,cAAc,EAAE,CAAC;QACzC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC;IAC3C,CAAC;IACD,OAAO;QACL,UAAU,EAAE,cAAc;QAC1B,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE;KACxC,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { RuntimeCallableValue, RuntimeValue } from './effect-promise-runtime-model';
2
+ /**
3
+ * Read an own callable property if one was defined during exact execution.
4
+ *
5
+ * @internal
6
+ */
7
+ export declare const readRuntimeCallableProperty: (callable: RuntimeCallableValue, name: string) => RuntimeValue | undefined;
8
+ /**
9
+ * Determine whether an exact callable carries an own property.
10
+ *
11
+ * @internal
12
+ */
13
+ export declare const hasRuntimeCallableProperty: (callable: RuntimeCallableValue, name: string) => boolean;
14
+ /**
15
+ * Define an own property on one exact callable identity.
16
+ *
17
+ * @internal
18
+ */
19
+ export declare const writeRuntimeCallableProperty: (callable: RuntimeCallableValue, name: string, value: RuntimeValue) => void;
20
+ //# sourceMappingURL=effect-promise-runtime-callable-properties.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effect-promise-runtime-callable-properties.d.ts","sourceRoot":"","sources":["../../src/rules/effect-promise-runtime-callable-properties.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAIzF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,GACtC,UAAU,oBAAoB,EAC9B,MAAM,MAAM,KACX,YAAY,GAAG,SAAwD,CAAC;AAE3E;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,GAAI,UAAU,oBAAoB,EAAE,MAAM,MAAM,KAAG,OACpC,CAAC;AAEvD;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,GACvC,UAAU,oBAAoB,EAC9B,MAAM,MAAM,EACZ,OAAO,YAAY,KAClB,IAOF,CAAC"}
@@ -0,0 +1,30 @@
1
+ /* -------------------------------------------------------------------------- */
2
+ /* Own properties carried by exact runtime callable identities. */
3
+ /* -------------------------------------------------------------------------- */
4
+ const callableProperties = new WeakMap();
5
+ /**
6
+ * Read an own callable property if one was defined during exact execution.
7
+ *
8
+ * @internal
9
+ */
10
+ export const readRuntimeCallableProperty = (callable, name) => callableProperties.get(callable)?.get(name);
11
+ /**
12
+ * Determine whether an exact callable carries an own property.
13
+ *
14
+ * @internal
15
+ */
16
+ export const hasRuntimeCallableProperty = (callable, name) => callableProperties.get(callable)?.has(name) === true;
17
+ /**
18
+ * Define an own property on one exact callable identity.
19
+ *
20
+ * @internal
21
+ */
22
+ export const writeRuntimeCallableProperty = (callable, name, value) => {
23
+ let properties = callableProperties.get(callable);
24
+ if (!properties) {
25
+ properties = new Map();
26
+ callableProperties.set(callable, properties);
27
+ }
28
+ properties.set(name, value);
29
+ };
30
+ //# sourceMappingURL=effect-promise-runtime-callable-properties.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effect-promise-runtime-callable-properties.js","sourceRoot":"","sources":["../../src/rules/effect-promise-runtime-callable-properties.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAIhF,MAAM,kBAAkB,GAAG,IAAI,OAAO,EAAmD,CAAC;AAE1F;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,QAA8B,EAC9B,IAAY,EACc,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;AAE3E;;;;GAIG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,QAA8B,EAAE,IAAY,EAAW,EAAE,CAClG,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;AAEvD;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAC1C,QAA8B,EAC9B,IAAY,EACZ,KAAmB,EACb,EAAE;IACR,IAAI,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAClD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;QACvB,kBAAkB,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC/C,CAAC;IACD,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC9B,CAAC,CAAC"}
@@ -0,0 +1,51 @@
1
+ import type { RuntimeCallableValue, RuntimeExecutionContext, RuntimeResult, RuntimeStatementHost, RuntimeValue } from './effect-promise-runtime-model';
2
+ import type { ASTNode } from './effect-ast';
3
+ /**
4
+ * Narrow one abstract value to an exact callable instance.
5
+ *
6
+ * @internal
7
+ */
8
+ export declare const runtimeCallable: (value: RuntimeValue) => RuntimeCallableValue | undefined;
9
+ /**
10
+ * Materialize a callable spelling with the environment captured at declaration. Function expressions
11
+ * evaluated repeatedly intentionally produce distinct values so closures created by one factory
12
+ * invocation cannot reuse another invocation's parameters.
13
+ *
14
+ * @internal
15
+ */
16
+ export declare const runtimeCallableForNode: (host: RuntimeStatementHost, node: ASTNode | undefined, context: RuntimeExecutionContext) => RuntimeCallableValue | undefined;
17
+ /**
18
+ * Add arguments to one callable instance without invoking it.
19
+ *
20
+ * @internal
21
+ */
22
+ export declare const bindRuntimeCallable: (callable: RuntimeCallableValue, argumentsList: readonly RuntimeValue[], requestedThis?: RuntimeValue, isThisProvided?: boolean) => RuntimeCallableValue;
23
+ /**
24
+ * Function prototype wrapper recognized without treating arbitrary members as calls.
25
+ *
26
+ * @internal
27
+ */
28
+ export type RuntimeCallableWrapper = 'apply' | 'bind' | 'call';
29
+ /**
30
+ * Resolve a statically named Function prototype wrapper.
31
+ *
32
+ * @internal
33
+ */
34
+ export declare const runtimeCallableWrapper: (callee: ASTNode | undefined) => RuntimeCallableWrapper | undefined;
35
+ /**
36
+ * Callable spelling, value, and optional ordinary method receiver.
37
+ *
38
+ * @internal
39
+ */
40
+ export interface RuntimeCallableTarget {
41
+ callee?: ASTNode;
42
+ receiver?: RuntimeValue;
43
+ value: RuntimeValue;
44
+ }
45
+ /**
46
+ * Dispatch a callable or Function prototype wrapper, or decline an unknown callee.
47
+ *
48
+ * @internal
49
+ */
50
+ export declare const invokeRuntimeCallable: (host: RuntimeStatementHost, target: RuntimeCallableTarget, argumentsList: readonly RuntimeValue[], context: RuntimeExecutionContext) => RuntimeResult | undefined;
51
+ //# sourceMappingURL=effect-promise-runtime-callables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effect-promise-runtime-callables.d.ts","sourceRoot":"","sources":["../../src/rules/effect-promise-runtime-callables.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACvB,aAAa,EACb,oBAAoB,EACpB,YAAY,EACb,MAAM,gCAAgC,CAAC;AAGxC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AA8D5C;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,YAAY,KAAG,oBAAoB,GAAG,SAK5E,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,GACjC,MAAM,oBAAoB,EAC1B,MAAM,OAAO,GAAG,SAAS,EACzB,SAAS,uBAAuB,KAC/B,oBAAoB,GAAG,SAQzB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,UAAU,oBAAoB,EAC9B,eAAe,SAAS,YAAY,EAAE,EACtC,gBAAgB,YAAY,EAC5B,wBAAsB,KACrB,oBAMD,CAAC;AAgBH;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAE/D;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GACjC,QAAQ,OAAO,GAAG,SAAS,KAC1B,sBAAsB,GAAG,SAS3B,CAAC;AA6IF;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,KAAK,EAAE,YAAY,CAAC;CACrB;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAChC,MAAM,oBAAoB,EAC1B,QAAQ,qBAAqB,EAC7B,eAAe,SAAS,YAAY,EAAE,EACtC,SAAS,uBAAuB,KAC/B,aAAa,GAAG,SAkBlB,CAAC"}
@@ -0,0 +1,214 @@
1
+ /* -------------------------------------------------------------------------- */
2
+ /* Per-instance callable values for the Effect runtime interpreter. */
3
+ /* -------------------------------------------------------------------------- */
4
+ import { RUNTIME_MAYBE_ABRUPT, RUNTIME_NORMAL, RUNTIME_THROW, safeRuntimeValue, unknownRuntimeValue, } from './effect-promise-runtime-model.js';
5
+ import { isFunctionNode, unwrappedExpression } from './effect-boundary-ast-shared.js';
6
+ import { runtimeMemberName, runtimeObjectReference } from './effect-promise-runtime-values.js';
7
+ import { callableBinding } from './effect-promise-callables.js';
8
+ import { runtimeArrayValues } from './effect-promise-runtime-heap.js';
9
+ import { runtimeChoice } from './effect-promise-runtime-choice.js';
10
+ import { runtimeThisBinding } from './effect-promise-runtime-this.js';
11
+ const stableCallables = new WeakMap();
12
+ const cachedCallable = (host, bindingNode, scopes) => stableCallables
13
+ .get(host)
14
+ ?.get(bindingNode)
15
+ ?.get(scopes);
16
+ const cacheCallable = (host, callable) => {
17
+ let byBinding = stableCallables.get(host);
18
+ if (!byBinding) {
19
+ byBinding = new WeakMap();
20
+ stableCallables.set(host, byBinding);
21
+ }
22
+ let byScopes = byBinding.get(callable.binding.node);
23
+ if (!byScopes) {
24
+ byScopes = new WeakMap();
25
+ byBinding.set(callable.binding.node, byScopes);
26
+ }
27
+ byScopes.set(callable.scopes, callable);
28
+ return callable;
29
+ };
30
+ const createdCallable = (binding, scopes) => ({
31
+ binding,
32
+ boundArguments: [],
33
+ kind: 'callable',
34
+ scopes,
35
+ });
36
+ const reusableCallable = (host, node, callable) => {
37
+ if (isFunctionNode(unwrappedExpression(node))) {
38
+ return callable;
39
+ }
40
+ return (cachedCallable(host, callable.binding.node, callable.scopes) ?? cacheCallable(host, callable));
41
+ };
42
+ /**
43
+ * Narrow one abstract value to an exact callable instance.
44
+ *
45
+ * @internal
46
+ */
47
+ export const runtimeCallable = (value) => {
48
+ if (value && typeof value !== 'symbol' && 'kind' in value && value.kind === 'callable') {
49
+ return value;
50
+ }
51
+ return undefined;
52
+ };
53
+ /**
54
+ * Materialize a callable spelling with the environment captured at declaration. Function expressions
55
+ * evaluated repeatedly intentionally produce distinct values so closures created by one factory
56
+ * invocation cannot reuse another invocation's parameters.
57
+ *
58
+ * @internal
59
+ */
60
+ export const runtimeCallableForNode = (host, node, context) => {
61
+ const binding = callableBinding(node, [], context.helperScopes);
62
+ if (!binding) {
63
+ return undefined;
64
+ }
65
+ const scopes = host.captures.get(binding.node) ?? context.taskScopes;
66
+ const callable = createdCallable(binding, scopes);
67
+ return reusableCallable(host, node, callable);
68
+ };
69
+ /**
70
+ * Add arguments to one callable instance without invoking it.
71
+ *
72
+ * @internal
73
+ */
74
+ export const bindRuntimeCallable = (callable, argumentsList, requestedThis, isThisProvided = false) => ({
75
+ binding: callable.binding,
76
+ boundArguments: [...callable.boundArguments, ...argumentsList],
77
+ boundThis: boundRuntimeThis(callable, requestedThis, isThisProvided),
78
+ kind: 'callable',
79
+ scopes: callable.scopes,
80
+ });
81
+ const boundRuntimeThis = (callable, requestedThis, isThisProvided) => {
82
+ if (callable.boundThis !== undefined) {
83
+ return callable.boundThis;
84
+ }
85
+ if (isThisProvided) {
86
+ return runtimeThisBinding(requestedThis);
87
+ }
88
+ return undefined;
89
+ };
90
+ /**
91
+ * Resolve a statically named Function prototype wrapper.
92
+ *
93
+ * @internal
94
+ */
95
+ export const runtimeCallableWrapper = (callee) => {
96
+ if (callee?.type !== 'MemberExpression') {
97
+ return undefined;
98
+ }
99
+ const name = runtimeMemberName(callee);
100
+ if (name === 'apply' || name === 'bind' || name === 'call') {
101
+ return name;
102
+ }
103
+ return undefined;
104
+ };
105
+ const appliedArguments = (host, value) => {
106
+ if (value === undefined) {
107
+ return [];
108
+ }
109
+ const reference = runtimeObjectReference(value);
110
+ if (reference) {
111
+ return runtimeArrayValues(host.state, reference);
112
+ }
113
+ return undefined;
114
+ };
115
+ const wrapperArguments = (host, wrapper, argumentsList) => {
116
+ if (wrapper === 'apply') {
117
+ return appliedArguments(host, argumentsList[1]);
118
+ }
119
+ return argumentsList.slice(1);
120
+ };
121
+ const invokeWrapper = (host, wrapper, callable, argumentsList, context) => {
122
+ if (wrapper === 'bind') {
123
+ return {
124
+ completion: RUNTIME_NORMAL,
125
+ value: bindRuntimeCallable(callable, argumentsList.slice(1), argumentsList[0], true),
126
+ };
127
+ }
128
+ const invocationArguments = wrapperArguments(host, wrapper, argumentsList);
129
+ if (invocationArguments) {
130
+ const bound = bindRuntimeCallable(callable, [], argumentsList[0], true);
131
+ return host.invoke(bound, invocationArguments, context);
132
+ }
133
+ return { completion: RUNTIME_NORMAL, value: unknownRuntimeValue };
134
+ };
135
+ const invokeCallable = (host, dispatch, callable, argumentsList, context) => {
136
+ if (dispatch.wrapper) {
137
+ return invokeWrapper(host, dispatch.wrapper, callable, argumentsList, context);
138
+ }
139
+ const isReceiverProvided = dispatch.receiver !== undefined;
140
+ const bound = bindRuntimeCallable(callable, [], dispatch.receiver, isReceiverProvided);
141
+ return host.invoke(bound, argumentsList, context);
142
+ };
143
+ const UNKNOWN_CALL_RESULT = {
144
+ completion: RUNTIME_MAYBE_ABRUPT,
145
+ value: unknownRuntimeValue,
146
+ };
147
+ const THROW_CALL_RESULT = {
148
+ completion: RUNTIME_THROW,
149
+ value: undefined,
150
+ };
151
+ const isExactNonCallable = (value) => value === undefined ||
152
+ value === safeRuntimeValue ||
153
+ (value !== unknownRuntimeValue &&
154
+ typeof value !== 'symbol' &&
155
+ 'kind' in value &&
156
+ value.kind !== 'callable' &&
157
+ value.kind !== 'choice');
158
+ const invokeCallableAlternative = (host, dispatch, value, argumentsList, context) => {
159
+ const callable = runtimeCallable(value);
160
+ if (callable) {
161
+ return invokeCallable(host, dispatch, callable, argumentsList, context);
162
+ }
163
+ if (value === unknownRuntimeValue) {
164
+ return UNKNOWN_CALL_RESULT;
165
+ }
166
+ if (isExactNonCallable(value)) {
167
+ return THROW_CALL_RESULT;
168
+ }
169
+ return undefined;
170
+ };
171
+ const invokeCallableAlternatives = (host, dispatch, choices, argumentsList, context) => {
172
+ const invokeAt = (index) => {
173
+ const first = choices[index];
174
+ const invokeFirst = () => invokeCallableAlternative(host, dispatch, first, argumentsList, context) ??
175
+ UNKNOWN_CALL_RESULT;
176
+ const nextIndex = index + 1;
177
+ if (nextIndex === choices.length) {
178
+ return invokeFirst();
179
+ }
180
+ return host.branches(context, invokeFirst, () => invokeAt(nextIndex));
181
+ };
182
+ return invokeAt(0);
183
+ };
184
+ const invokeCallableChoices = (host, dispatch, calleeValue, argumentsList, context) => {
185
+ const choice = runtimeChoice(calleeValue);
186
+ if (!choice) {
187
+ return undefined;
188
+ }
189
+ return invokeCallableAlternatives(host, dispatch, choice.choices, argumentsList, context);
190
+ };
191
+ /**
192
+ * Dispatch a callable or Function prototype wrapper, or decline an unknown callee.
193
+ *
194
+ * @internal
195
+ */
196
+ export const invokeRuntimeCallable = (host, target, argumentsList, context) => {
197
+ const dispatch = {
198
+ receiver: target.receiver,
199
+ wrapper: runtimeCallableWrapper(target.callee),
200
+ };
201
+ const choiceResult = invokeCallableChoices(host, dispatch, target.value, argumentsList, context);
202
+ if (choiceResult) {
203
+ return choiceResult;
204
+ }
205
+ const callable = runtimeCallable(target.value) ?? runtimeCallableForNode(host, target.callee, context);
206
+ if (callable) {
207
+ return invokeCallable(host, dispatch, callable, argumentsList, context);
208
+ }
209
+ if (target.value === undefined) {
210
+ return THROW_CALL_RESULT;
211
+ }
212
+ return undefined;
213
+ };
214
+ //# sourceMappingURL=effect-promise-runtime-callables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effect-promise-runtime-callables.js","sourceRoot":"","sources":["../../src/rules/effect-promise-runtime-callables.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import type { RuntimeObjectRef, RuntimeState, RuntimeValue } from './effect-promise-runtime-model';
2
+ /**
3
+ * Return every exact object alternative, or decline a non-object value.
4
+ *
5
+ * @internal
6
+ */
7
+ export declare const runtimeObjectAlternatives: (value: RuntimeValue) => readonly RuntimeObjectRef[] | undefined;
8
+ /**
9
+ * Read a member from every exact object alternative and join the values.
10
+ *
11
+ * @internal
12
+ */
13
+ export declare const readRuntimeChoiceMember: (state: RuntimeState, value: RuntimeValue, name: string) => RuntimeValue;
14
+ /**
15
+ * Write exactly through the selected choice while weakening each possible concrete alias.
16
+ *
17
+ * @internal
18
+ */
19
+ export declare const writeRuntimeChoiceMember: (state: RuntimeState, target: RuntimeValue, name: string, value: RuntimeValue) => void;
20
+ /**
21
+ * Delete exactly through a selected choice while weakening each possible alias.
22
+ *
23
+ * @internal
24
+ */
25
+ export declare const deleteRuntimeChoiceMember: (state: RuntimeState, target: RuntimeValue, name: string) => void;
26
+ /**
27
+ * Copy joined source members through an exact or correlated Object.assign target.
28
+ *
29
+ * @internal
30
+ */
31
+ export declare const spreadRuntimeChoiceMembers: (state: RuntimeState, source: RuntimeValue, target: RuntimeValue) => void;
32
+ //# sourceMappingURL=effect-promise-runtime-choice-operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effect-promise-runtime-choice-operations.d.ts","sourceRoot":"","sources":["../../src/rules/effect-promise-runtime-choice-operations.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAkCnG;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GACpC,OAAO,YAAY,KAClB,SAAS,gBAAgB,EAAE,GAAG,SAUhC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,GAClC,OAAO,YAAY,EACnB,OAAO,YAAY,EACnB,MAAM,MAAM,KACX,YAmBF,CAAC;AA6BF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GACnC,OAAO,YAAY,EACnB,QAAQ,YAAY,EACpB,MAAM,MAAM,EACZ,OAAO,YAAY,KAClB,IAcF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GACpC,OAAO,YAAY,EACnB,QAAQ,YAAY,EACpB,MAAM,MAAM,KACX,IAcF,CAAC;AAgBF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,GACrC,OAAO,YAAY,EACnB,QAAQ,YAAY,EACpB,QAAQ,YAAY,KACnB,IAMF,CAAC"}
@@ -0,0 +1,145 @@
1
+ /* -------------------------------------------------------------------------- */
2
+ /* Heap operations distributed over bounded runtime value choices. */
3
+ /* -------------------------------------------------------------------------- */
4
+ import { deleteRuntimeMember, readRuntimeMember, writeRuntimeMember, } from './effect-promise-runtime-heap.js';
5
+ import { joinRuntimeValueChoice, runtimeChoice, runtimeChoiceValue, } from './effect-promise-runtime-choice.js';
6
+ import { unknownRuntimeValue } from './effect-promise-runtime-model.js';
7
+ const objectReference = (value) => {
8
+ if (value && typeof value !== 'symbol' && 'kind' in value && value.kind === 'object') {
9
+ return value;
10
+ }
11
+ return undefined;
12
+ };
13
+ const choiceObjectAlternatives = (choices) => {
14
+ const references = [];
15
+ for (const alternative of choices) {
16
+ const reference = objectReference(alternative);
17
+ if (!reference) {
18
+ return undefined;
19
+ }
20
+ references.push(reference);
21
+ }
22
+ return references;
23
+ };
24
+ /**
25
+ * Return every exact object alternative, or decline a non-object value.
26
+ *
27
+ * @internal
28
+ */
29
+ export const runtimeObjectAlternatives = (value) => {
30
+ const choice = runtimeChoice(value);
31
+ if (choice) {
32
+ return choiceObjectAlternatives(choice.choices);
33
+ }
34
+ const reference = objectReference(value);
35
+ if (reference) {
36
+ return [reference];
37
+ }
38
+ return undefined;
39
+ };
40
+ /**
41
+ * Read a member from every exact object alternative and join the values.
42
+ *
43
+ * @internal
44
+ */
45
+ export const readRuntimeChoiceMember = (state, value, name) => {
46
+ const choice = runtimeChoice(value);
47
+ const overlay = choice && state.choiceMembers.get(choice);
48
+ if (overlay?.has(name)) {
49
+ return overlay.get(name);
50
+ }
51
+ const references = runtimeObjectAlternatives(value);
52
+ if (!references) {
53
+ return unknownRuntimeValue;
54
+ }
55
+ return runtimeChoiceValue(references.map((reference) => {
56
+ const members = state.heap.get(reference);
57
+ if (members && !members.has(name)) {
58
+ return undefined;
59
+ }
60
+ return readRuntimeMember(state, reference, name);
61
+ }));
62
+ };
63
+ const weakWriteRuntimeMember = (state, reference, name, value) => {
64
+ const members = state.heap.get(reference);
65
+ let previous = undefined;
66
+ if (members?.has(name)) {
67
+ previous = members.get(name);
68
+ }
69
+ writeRuntimeMember(state, reference, name, joinRuntimeValueChoice(previous, value));
70
+ };
71
+ const choiceOverlay = (state, choice) => {
72
+ const existing = state.choiceMembers.get(choice);
73
+ if (existing) {
74
+ return existing;
75
+ }
76
+ const created = new Map();
77
+ state.choiceMembers.set(choice, created);
78
+ return created;
79
+ };
80
+ /**
81
+ * Write exactly through the selected choice while weakening each possible concrete alias.
82
+ *
83
+ * @internal
84
+ */
85
+ export const writeRuntimeChoiceMember = (state, target, name, value) => {
86
+ const choice = runtimeChoice(target);
87
+ const references = runtimeObjectAlternatives(target);
88
+ if (!references) {
89
+ return;
90
+ }
91
+ if (!choice) {
92
+ writeRuntimeMember(state, references[0], name, value);
93
+ return;
94
+ }
95
+ choiceOverlay(state, choice).set(name, value);
96
+ for (const reference of references) {
97
+ weakWriteRuntimeMember(state, reference, name, value);
98
+ }
99
+ };
100
+ /**
101
+ * Delete exactly through a selected choice while weakening each possible alias.
102
+ *
103
+ * @internal
104
+ */
105
+ export const deleteRuntimeChoiceMember = (state, target, name) => {
106
+ const choice = runtimeChoice(target);
107
+ const references = runtimeObjectAlternatives(target);
108
+ if (!references) {
109
+ return;
110
+ }
111
+ if (!choice) {
112
+ deleteRuntimeMember(state, references[0], name);
113
+ return;
114
+ }
115
+ choiceOverlay(state, choice).set(name, undefined);
116
+ for (const reference of references) {
117
+ weakWriteRuntimeMember(state, reference, name, undefined);
118
+ }
119
+ };
120
+ const runtimeMemberNames = (state, value) => {
121
+ const names = new Set();
122
+ const choice = runtimeChoice(value);
123
+ for (const name of (choice && state.choiceMembers.get(choice)?.keys()) ?? []) {
124
+ names.add(name);
125
+ }
126
+ for (const reference of runtimeObjectAlternatives(value) ?? []) {
127
+ for (const name of state.heap.get(reference)?.keys() ?? []) {
128
+ names.add(name);
129
+ }
130
+ }
131
+ return names;
132
+ };
133
+ /**
134
+ * Copy joined source members through an exact or correlated Object.assign target.
135
+ *
136
+ * @internal
137
+ */
138
+ export const spreadRuntimeChoiceMembers = (state, source, target) => {
139
+ for (const name of runtimeMemberNames(state, source)) {
140
+ if (name !== 'length') {
141
+ writeRuntimeChoiceMember(state, target, name, readRuntimeChoiceMember(state, source, name));
142
+ }
143
+ }
144
+ };
145
+ //# sourceMappingURL=effect-promise-runtime-choice-operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effect-promise-runtime-choice-operations.js","sourceRoot":"","sources":["../../src/rules/effect-promise-runtime-choice-operations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { RuntimeChoiceValue, RuntimeValue } from './effect-promise-runtime-model';
2
+ /**
3
+ * Maximum exact identities retained by one runtime value choice.
4
+ *
5
+ * @internal
6
+ */
7
+ export declare const RUNTIME_CHOICE_CAP = 8;
8
+ /**
9
+ * Narrow a runtime value to one bounded identity choice.
10
+ *
11
+ * @internal
12
+ */
13
+ export declare const runtimeChoice: (value: RuntimeValue) => RuntimeChoiceValue | undefined;
14
+ /**
15
+ * Join exact branch identities by pointer, flattening nested choices.
16
+ *
17
+ * @internal
18
+ */
19
+ export declare const runtimeChoiceValue: (values: Iterable<RuntimeValue>) => RuntimeValue;
20
+ /**
21
+ * Join two exact values into one bounded canonical choice.
22
+ *
23
+ * @internal
24
+ */
25
+ export declare const joinRuntimeValueChoice: (left: RuntimeValue, right: RuntimeValue) => RuntimeValue;
26
+ //# sourceMappingURL=effect-promise-runtime-choice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effect-promise-runtime-choice.d.ts","sourceRoot":"","sources":["../../src/rules/effect-promise-runtime-choice.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAGvF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,YAAY,KAAG,kBAAkB,GAAG,SAKxE,CAAC;AA+DF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,QAAQ,QAAQ,CAAC,YAAY,CAAC,KAAG,YAUnE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GAAI,MAAM,YAAY,EAAE,OAAO,YAAY,KAAG,YAKhF,CAAC"}