@@ -12,27 +12,23 @@ def exec_(self, source, cwd=None):
1212'''Execute source by JavaScript runtime and return all output to stdout as a string.
1313
1414 source -- JavaScript code to execute.
15- cwd -- Directory where call JavaScript runtime. It may be ignored for some runtime .
15+ cwd -- Directory where call JavaScript runtime. It may be ignored in some derived class .
1616 '''
17- if not self .is_available ():
18- raise execjs .RuntimeUnavailableError
19- return self ._exec_ (source , cwd = cwd )
17+ return self .compile ('' , cwd = cwd ).exec_ (source )
2018
2119def eval (self , source , cwd = None ):
2220'''Evaluate source in JavaScript runtime.
2321
2422 source -- JavaScript code to evaluate.
25- cwd -- Directory where call JavaScript runtime. It may be ignored for some runtime .
23+ cwd -- Directory where call JavaScript runtime. It may be ignored in some derived class .
2624 '''
27- if not self .is_available ():
28- raise execjs .RuntimeUnavailableError
29- return self ._eval (source , cwd = cwd )
25+ return self .compile ('' , cwd = cwd ).eval (source )
3026
3127def compile (self , source , cwd = None ):
3228'''Bulk source as a context object. The source can be used to execute another code.
3329
3430 source -- JavaScript code to bulk.
35- cwd -- Directory where call JavaScript runtime. It may be ignored for some runtime .
31+ cwd -- Directory where call JavaScript runtime. It may be ignored in some derived class .
3632 '''
3733if not self .is_available ():
3834raise execjs .RuntimeUnavailableError
@@ -42,14 +38,6 @@ def compile(self, source, cwd=None):
4238def is_available (self ):
4339raise NotImplementedError
4440
45- @abstractmethod
46- def _exec_ (self , source , cwd = None ):
47- raise NotImplementedError
48-
4941@abstractmethod
5042def _compile (self , source , cwd = None ):
5143raise NotImplementedError
52-
53- @abstractmethod
54- def _eval (self , source , cwd = None ):
55- raise NotImplementedError
0 commit comments