void TExpHelp::GetObjHdNmV(const TStr& CatNm, TStrV& ObjHdNmV) const { ObjHdNmV.Clr(); for (int ObjN=0; ObjN<ObjV.Len(); ObjN++){ TStr ObjCatNm=ObjV[ObjN]->GetCatNm(); TStr ObjHdNm=ObjV[ObjN]->GetHdItem()->GetNm(); if ((CatNm.Empty())||(CatNm=="All")||(CatNm==ObjCatNm)){ ObjHdNmV.AddUnique(ObjHdNm);} } ObjHdNmV.Sort(); }
void TNodeJsFs::listFile(const v8::FunctionCallbackInfo<v8::Value>& Args) { v8::Isolate* Isolate = v8::Isolate::GetCurrent(); v8::HandleScope HandleScope(Isolate); EAssertR(Args.Length() >= 1 && Args[0]->IsString(), "Expected directory path as the first argument."); // Read parameters TStr FPath(*v8::String::Utf8Value(Args[0]->ToString())); TStrV FExtV; if (Args.Length() >= 2 && Args[1]->IsString()) { FExtV.Add(TStr(*v8::String::Utf8Value(Args[1]->ToString()))); } const bool RecurseP = Args.Length() >= 3 && Args[2]->IsBoolean() && Args[2]->BooleanValue(); // Get file list TStrV FNmV; TFFile::GetFNmV(FPath, FExtV, RecurseP, FNmV); FNmV.Sort(); v8::Handle<v8::Array> FNmArr = v8::Array::New(Isolate, FNmV.Len()); for(int FldN = 0; FldN < FNmV.Len(); ++FldN) { FNmArr->Set(v8::Integer::New(Isolate, FldN), v8::String::NewFromUtf8(Isolate, FNmV.GetVal(FldN).CStr())); } Args.GetReturnValue().Set(FNmArr); }