diff --git a/interfaces/kits/js/src/mod_fileio/properties/prop_n_exporter.cpp b/interfaces/kits/js/src/mod_fileio/properties/prop_n_exporter.cpp index e7fbbb12e2c9ff8cf709dcfa92e1932c3fd2648c..a7a1acbac088698fb66ed9578bc278734cd3a172 100644 --- a/interfaces/kits/js/src/mod_fileio/properties/prop_n_exporter.cpp +++ b/interfaces/kits/js/src/mod_fileio/properties/prop_n_exporter.cpp @@ -510,7 +510,7 @@ napi_value PropNExporter::Read(napi_env env, napi_callback_info info) bool hasOp = false; if (argc == NARG_CNT::THREE) { NVal op = NVal(env, funcArg[NARG_POS::THIRD]); - if (op.HasProp("offset") || op.HasProp("position") || op.HasProp("length")) { + if (op.HasProp("offset") || op.HasProp("position") || op.HasProp("length")|| !op.TypeIs(napi_function)) { hasOp = true; } } @@ -589,7 +589,8 @@ napi_value PropNExporter::Write(napi_env env, napi_callback_info info) size_t argc = funcArg.GetArgc(); if (argc == NARG_CNT::THREE) { NVal op = NVal(env, funcArg[NARG_POS::THIRD]); - if (op.HasProp("offset") || op.HasProp("position") || op.HasProp("length") || op.HasProp("encoding")) { + if (op.HasProp("offset") || op.HasProp("position") || op.HasProp("length") || + op.HasProp("encoding") || !op.TypeIs(napi_function)) { hasOp = true; } } diff --git a/interfaces/kits/js/src/mod_fileio/properties/prop_n_exporter_v9.cpp b/interfaces/kits/js/src/mod_fileio/properties/prop_n_exporter_v9.cpp index bd27e241c5930ca79100f2c62d4089bb3d42593e..0c94dcc946720c715ea8146b50aec648dd0bc75b 100644 --- a/interfaces/kits/js/src/mod_fileio/properties/prop_n_exporter_v9.cpp +++ b/interfaces/kits/js/src/mod_fileio/properties/prop_n_exporter_v9.cpp @@ -135,7 +135,7 @@ napi_value PropNExporterV9::Read(napi_env env, napi_callback_info info) bool hasOp = false; if (funcArg.GetArgc() == NARG_CNT::THREE) { NVal op = NVal(env, funcArg[NARG_POS::THIRD]); - if (op.HasProp("offset") || op.HasProp("length")) { + if (op.HasProp("offset") || op.HasProp("length")|| !op.TypeIs(napi_function)) { hasOp = true; } } @@ -215,7 +215,8 @@ napi_value PropNExporterV9::Write(napi_env env, napi_callback_info info) bool hasOp = false; if (funcArg.GetArgc() == NARG_CNT::THREE) { NVal op = NVal(env, funcArg[NARG_POS::THIRD]); - if (op.HasProp("offset") || op.HasProp("position") || op.HasProp("length") || op.HasProp("encoding")) { + if (op.HasProp("offset") || op.HasProp("position") || op.HasProp("length") || + op.HasProp("encoding") || !op.TypeIs(napi_function)) { hasOp = true; } } diff --git a/interfaces/kits/js/src/mod_fileio/properties/read_text.cpp b/interfaces/kits/js/src/mod_fileio/properties/read_text.cpp index 33122763292ea470fdc6a7db3c1defd67d37a0a5..afd1135f5cc8998a5f7fb79b7ebd5f8a22cbc97d 100644 --- a/interfaces/kits/js/src/mod_fileio/properties/read_text.cpp +++ b/interfaces/kits/js/src/mod_fileio/properties/read_text.cpp @@ -65,6 +65,10 @@ static tuple, bool> GetReadText hasOp = true; } + if (!op.TypeIs(napi_function)) { + hasOp = true; + } + return { true, position, hasLen, len, move(encoding), hasOp }; }