@@ -74,7 +74,8 @@ class fs_base : public object_base {
74
74
static result_t write (FileHandle_base* fd, Buffer_base* buffer, int32_t offset, int32_t length, int32_t position, int32_t & retVal, AsyncEvent* ac);
75
75
static result_t write (FileHandle_base* fd, exlib::string string, int32_t position, exlib::string encoding, int32_t & retVal, AsyncEvent* ac);
76
76
static result_t writeTextFile (exlib::string fname, exlib::string txt, AsyncEvent* ac);
77
- static result_t writeFile (exlib::string fname, Buffer_base* data, AsyncEvent* ac);
77
+ static result_t writeFile (exlib::string fname, Buffer_base* data, exlib::string opt, AsyncEvent* ac);
78
+ static result_t writeFile (exlib::string fname, Buffer_base* data, v8::Local<v8::Object> options, AsyncEvent* ac);
78
79
static result_t writeFile (exlib::string fname, exlib::string data, exlib::string opt, AsyncEvent* ac);
79
80
static result_t writeFile (exlib::string fname, exlib::string data, v8::Local<v8::Object> options, AsyncEvent* ac);
80
81
static result_t appendFile (exlib::string fname, Buffer_base* data, AsyncEvent* ac);
@@ -179,7 +180,8 @@ class fs_base : public object_base {
179
180
ASYNC_STATICVALUE6 (fs_base, write, FileHandle_base*, Buffer_base*, int32_t , int32_t , int32_t , int32_t );
180
181
ASYNC_STATICVALUE5 (fs_base, write, FileHandle_base*, exlib::string, int32_t , exlib::string, int32_t );
181
182
ASYNC_STATIC2 (fs_base, writeTextFile, exlib::string, exlib::string);
182
- ASYNC_STATIC2 (fs_base, writeFile, exlib::string, Buffer_base*);
183
+ ASYNC_STATIC3 (fs_base, writeFile, exlib::string, Buffer_base*, exlib::string);
184
+ ASYNC_STATIC3 (fs_base, writeFile, exlib::string, Buffer_base*, v8::Local<v8::Object>);
183
185
ASYNC_STATIC3 (fs_base, writeFile, exlib::string, exlib::string, exlib::string);
184
186
ASYNC_STATIC3 (fs_base, writeFile, exlib::string, exlib::string, v8::Local<v8::Object>);
185
187
ASYNC_STATIC2 (fs_base, appendFile, exlib::string, Buffer_base*);
@@ -948,15 +950,27 @@ inline void fs_base::s_static_writeFile(const v8::FunctionCallbackInfo<v8::Value
948
950
{
949
951
METHOD_ENTER ();
950
952
951
- ASYNC_METHOD_OVER (2 , 2 );
953
+ ASYNC_METHOD_OVER (3 , 2 );
952
954
953
955
ARG (exlib::string, 0 );
954
956
ARG (obj_ptr<Buffer_base>, 1 );
957
+ OPT_ARG (exlib::string, 2 , " binary" );
955
958
956
959
if (!cb.IsEmpty ())
957
- hr = acb_writeFile (v0, v1, cb, args);
960
+ hr = acb_writeFile (v0, v1, v2, cb, args);
958
961
else
959
- hr = ac_writeFile (v0, v1);
962
+ hr = ac_writeFile (v0, v1, v2);
963
+
964
+ ASYNC_METHOD_OVER (3 , 3 );
965
+
966
+ ARG (exlib::string, 0 );
967
+ ARG (obj_ptr<Buffer_base>, 1 );
968
+ ARG (v8::Local<v8::Object>, 2 );
969
+
970
+ if (!cb.IsEmpty ())
971
+ hr = acb_writeFile (v0, v1, v2, cb, args);
972
+ else
973
+ hr = ac_writeFile (v0, v1, v2);
960
974
961
975
ASYNC_METHOD_OVER (3 , 2 );
962
976
0 commit comments