@@ -13,6 +13,7 @@ const defiant = {
13
13
page . on ( 'console' , msg => console . log ( msg . text ( ) ) )
14
14
await page . setContent ( '<script>' + script + '</script>' )
15
15
16
+ defiant . browser = browser
16
17
defiant . page = page
17
18
if ( page ) resolve ( page )
18
19
else reject ( )
@@ -24,7 +25,7 @@ const defiant = {
24
25
25
26
data = data || { } ;
26
27
return defiant . page . evaluate ( async ( name , data ) => {
27
- var str = Defiant . render ( name , data ) ;
28
+ var str = defiant . render ( name , data ) ;
28
29
str = str . replace ( / ( x m l n s \: x l i n k | x m l n s : d ) = " .* ?" / ig, '' ) ;
29
30
return str ;
30
31
} , name , data ) ;
@@ -34,7 +35,7 @@ const defiant = {
34
35
if ( ! defiant . page ) await defiant . init ( )
35
36
36
37
return defiant . page . evaluate ( async ( name , xstr ) => {
37
- var that = Defiant ,
38
+ var that = defiant ,
38
39
data = that . xmlFromString ( xstr ) ,
39
40
str = that . render_xml ( name , data ) ;
40
41
str = str . replace ( / ( x m l n s \: x l i n k | x m l n s : d ) = " .* ?" / ig, '' ) ;
@@ -45,7 +46,7 @@ const defiant = {
45
46
if ( ! defiant . page ) await defiant . init ( )
46
47
47
48
return defiant . page . evaluate ( async ( str ) => {
48
- var that = Defiant ;
49
+ var that = defiant ;
49
50
that . xsl_template = that . xmlFromString ( '<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xlink="http://www.w3.org/1999/xlink" ' + that . namespace + '>' + str . replace ( / d e f i a n t : ( \w + ) / g, '$1' ) + '</xsl:stylesheet>' ) ;
50
51
} , str ) ;
51
52
} ,
@@ -54,18 +55,22 @@ const defiant = {
54
55
55
56
return defiant . page . evaluate ( async ( data , callback ) => {
56
57
return new Promise ( ( resolve , reject ) => {
57
- Defiant . createSnapshot ( data , function ( snapshotId ) {
58
+ defiant . createSnapshot ( data , function ( snapshotId ) {
58
59
resolve ( snapshotId )
59
60
} )
60
61
} )
61
62
} , data , callback )
62
63
} ,
63
- search : async ( data , xpath ) => {
64
+ search : async ( data , xpath , persist ) => {
64
65
if ( ! defiant . page ) await defiant . init ( )
65
66
66
- return defiant . page . evaluate ( async ( data , xpath ) => {
67
- return JSON . search ( data , xpath )
67
+ const result = await defiant . page . evaluate ( async ( data , xpath ) => {
68
+ return defiant . search ( data , xpath )
68
69
} , data , xpath )
70
+
71
+ if ( ! persist ) defiant . browser . close ( )
72
+
73
+ return result
69
74
}
70
75
}
71
76
0 commit comments