mirror of
https://github.com/morluto/rea.git
synced 2026-10-29 19:05:45 +00:00
refactor(javascript): centralize source coordinate operations
This commit is contained in:
1 parent
dd3497e133
commit
ddce4bb446
11 files changed
+78
-93
No files matched your search
@@ -1,3 +1,4 @@
|
||||
import { javascriptSourceRangeContains } from "./javascriptSourceCoordinates.js";
|
||||
import * as t from "@babel/types";
|
||||
|
||||
import type {
|
||||
@@ -270,7 +271,7 @@ const parameterAcceptsArgument = (
|
||||
if (!t.isFunction(node)) return false;
|
||||
const parameters = runtimeFunctionParameters(node);
|
||||
const parameterIndex = parameters.findIndex((parameter) =>
|
||||
rangeContains(range(parameter), location),
|
||||
javascriptSourceRangeContains(range(parameter), location),
|
||||
);
|
||||
if (parameterIndex === argumentIndex) return true;
|
||||
return (
|
||||
@@ -280,16 +281,5 @@ const parameterAcceptsArgument = (
|
||||
);
|
||||
};
|
||||
|
||||
const rangeContains = (
|
||||
outer: JavaScriptSemanticArgumentFlow["parameterLocation"],
|
||||
inner: JavaScriptSemanticArgumentFlow["parameterLocation"],
|
||||
): boolean =>
|
||||
(outer.start.line < inner.start.line ||
|
||||
(outer.start.line === inner.start.line &&
|
||||
outer.start.column <= inner.start.column)) &&
|
||||
(outer.end.line > inner.end.line ||
|
||||
(outer.end.line === inner.end.line &&
|
||||
outer.end.column >= inner.end.column));
|
||||
|
||||
const uniqueCallableIds = (values: readonly string[]): string[] =>
|
||||
[...new Set(values)].sort(compareUnicodeCodePoints);
|
||||
Reference in new issue
Block a user