-def extract_function(output, script, func_name):
- p1 = script.find("function " + func_name + "(")
- p2 = script.find("}", p1)
- code = script[p1:p2+1]
- output.append(code)
- deps = re.findall(R"[^\.][= ]([\$0-9a-zA-Z]+)\(", code)
- deps = set(deps)
- deps.remove(func_name)
- for dep in deps:
- extract_function(output, script, dep)
+def extract_js(script):
+ PREFIX = "(function(){"
+ SUFFIX = "})();\n"
+ assert script.startswith(PREFIX)
+ assert script.endswith(SUFFIX)
+
+ return script[len(PREFIX):-len(SUFFIX)]