diff --git a/frameworks/js/napi/file_access_module/napi_utils.cpp b/frameworks/js/napi/file_access_module/napi_utils.cpp index 3257720dbd231b8e686987927488f66b50b2f8b6..9e3218590bb78e32e5e5f3cdbc7ba0ec76c24dee 100644 --- a/frameworks/js/napi/file_access_module/napi_utils.cpp +++ b/frameworks/js/napi/file_access_module/napi_utils.cpp @@ -59,13 +59,12 @@ bool CheckSuffix(std::vector suffixs) return true; } -int GetFileFilterParam(const NVal &argv, FileFilter &filter) +int GetFileFilterParamFirst(const NVal &argv, FileFilter &filter, bool ret) { - bool ret = false; - filter.SetHasFilter(false); if (argv.TypeIs(napi_undefined)) { return ERR_OK; } + if (argv.HasProp("suffix")) { std::vector suffixs; std::tie(ret, suffixs, std::ignore) = argv.GetProp("suffix").ToStringArray(); @@ -104,6 +103,11 @@ int GetFileFilterParam(const NVal &argv, FileFilter &filter) filter.SetHasFilter(true); } + return ERR_OK; +} + +int GetFileFilterParamSecond(const NVal &argv, FileFilter &filter, bool ret) +{ if (argv.HasProp("fileSizeOver")) { int64_t fileSizeOver; std::tie(ret, fileSizeOver) = argv.GetProp("fileSizeOver").ToInt64(); @@ -150,6 +154,24 @@ int GetFileFilterParam(const NVal &argv, FileFilter &filter) HILOG_ERROR("FileFilter must have one property."); return EINVAL; } + + return ERR_OK; +} + +int GetFileFilterParam(const NVal &argv, FileFilter &filter) +{ + bool ret = false; + filter.SetHasFilter(false); + + int ret1 = GetFileFilterParamFirst(argv, filter, ret); + if (ret1 == EINVAL) { + return ret1; + } + ret1 = GetFileFilterParamSecond(argv, filter, ret); + if (ret1 == EINVAL) { + return ret1; + } + return ERR_OK; } } // namespace FileAccessFwk