File tree Expand file tree Collapse file tree 1 file changed +19
-5
lines changed Expand file tree Collapse file tree 1 file changed +19
-5
lines changed Original file line number Diff line number Diff line change @@ -117,13 +117,27 @@ PDF.prototype.exec = function PdfExec (callback) {
117
117
// If we don't have an exit code, we kill the process, ignore stderr after this point
118
118
if ( code === null ) kill ( child , onData , onError )
119
119
120
- if ( ! data ) {
121
- if ( ! err && code ) err = new Error ( "html-pdf: Received the exit code '" + code + "'" )
122
- else if ( ! err ) err = new Error ( 'html-pdf: Unknown Error' )
123
-
120
+ // Since code has a truthy/falsy value of either 0 or 1, check for existence first.
121
+ // Ignore if code has a value of 0 since that means PhantomJS has executed and exited successfully.
122
+ // Also, as per your script and standards, having a code value of 1 means one can always assume that
123
+ // an error occured.
124
+ if ( typeof code !== 'undefined' && code !== 0 ) {
125
+
126
+ var error = null ;
127
+
128
+ if ( err ) {
129
+ // Rudimentary checking if err is an instance of the Error class
130
+ error = err instanceof Error ? err : new Error ( err )
131
+ } else {
132
+ // This is to catch the edge case of having a exit code value of 1 but having no error
133
+ error = new Error ( 'html-pdf: Unknown Error' )
134
+ }
135
+
136
+ // Append anything caught from the stderr
124
137
var postfix = stderr . length ? '\n' + Buffer . concat ( stderr ) . toString ( ) : ''
125
138
if ( postfix ) err . message += postfix
126
- return callback ( err , null )
139
+
140
+ return callback ( error ) ;
127
141
}
128
142
129
143
callback ( null , data )
You can’t perform that action at this time.
0 commit comments