Skip to main content

Allow variables prefixed with var, or no prefix at all

ID
5f4763f
date
2024-08-17 20:01:59+00:00
author
Alex Chan <alex@alexwlchan.net>
parent
35491bb
message
Allow variables prefixed with `var`, or no prefix at all
changed files
2 files, 3 additions, 1 deletion

Changed files

src/javascript/__init__.py (2413) → src/javascript/__init__.py (2423)

diff --git a/src/javascript/__init__.py b/src/javascript/__init__.py
index f37c2ea..fbced59 100644
--- a/src/javascript/__init__.py
+++ b/src/javascript/__init__.py
@@ -25,7 +25,7 @@ def read_js(p: pathlib.Path | str, *, varname: str) -> typing.Any:
     with open(p) as in_file:
         contents = in_file.read()
 
-    m = re.compile(r"^const %s = " % varname)
+    m = re.compile(r"^(?:const |var )?%s = " % varname)
 
     if not m.match(contents):
         raise ValueError(

tests/test_javascript.py (4363) → tests/test_javascript.py (4509)

diff --git a/tests/test_javascript.py b/tests/test_javascript.py
index a07d420..c5fb33b 100644
--- a/tests/test_javascript.py
+++ b/tests/test_javascript.py
@@ -11,6 +11,8 @@ class TestReadJs:
         "text",
         [
             'const redPentagon = {\n  "sides": 5,\n  "colour": "red"\n};\n',
+            'var redPentagon = {\n  "sides": 5,\n  "colour": "red"\n};\n',
+            'redPentagon = {\n  "sides": 5,\n  "colour": "red"\n};\n',
             'const redPentagon = {\n  "sides": 5,\n  "colour": "red"\n};',
             'const redPentagon = {\n  "sides": 5,\n  "colour": "red"\n}',
         ],