summaryrefslogtreecommitdiff
path: root/school/node_modules/graphql/language/location.mjs
diff options
context:
space:
mode:
Diffstat (limited to 'school/node_modules/graphql/language/location.mjs')
-rw-r--r--school/node_modules/graphql/language/location.mjs24
1 files changed, 24 insertions, 0 deletions
diff --git a/school/node_modules/graphql/language/location.mjs b/school/node_modules/graphql/language/location.mjs
new file mode 100644
index 0000000..e578ef0
--- /dev/null
+++ b/school/node_modules/graphql/language/location.mjs
@@ -0,0 +1,24 @@
+/**
+ * Represents a location in a Source.
+ */
+
+/**
+ * Takes a Source and a UTF-8 character offset, and returns the corresponding
+ * line and column as a SourceLocation.
+ */
+export function getLocation(source, position) {
+ var lineRegexp = /\r\n|[\n\r]/g;
+ var line = 1;
+ var column = position + 1;
+ var match;
+
+ while ((match = lineRegexp.exec(source.body)) && match.index < position) {
+ line += 1;
+ column = position + 1 - (match.index + match[0].length);
+ }
+
+ return {
+ line: line,
+ column: column
+ };
+}