Skip to content

Commit 1427207

Browse files
committed
feat: opType some, fix empty filtered response
1 parent 62a52a9 commit 1427207

File tree

1 file changed

+24
-3
lines changed

1 file changed

+24
-3
lines changed

sorted-filtered-list.lua

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -289,6 +289,20 @@ local function filterString(value, filter)
289289
return strfind(strlower(value), strlower(filter)) ~= nil;
290290
end
291291

292+
local function some(value, filter)
293+
if isempty(value) then
294+
return false;
295+
end
296+
297+
for _, fieldValue in pairs(filter) do
298+
if eq(value, fieldValue) then
299+
return true
300+
end
301+
end
302+
303+
return false;
304+
end
305+
292306
-- filter: gte
293307
local function gte(value, filter)
294308
if isempty(value) then
@@ -329,7 +343,8 @@ local opType = {
329343
eq = eq,
330344
ne = ne,
331345
exists = exists,
332-
isempty = isempty
346+
isempty = isempty,
347+
some = some
333348
};
334349

335350
local function filter(op, opFilter, fieldValue)
@@ -409,9 +424,15 @@ else
409424
end
410425
end
411426

427+
-- if output is more tha 0 - save data and return it
412428
if #output > 0 then
413429
massive_redis_command("RPUSH", FFLKey, output);
414430
return updateExpireAndReturnWithSize(FFLKey);
415-
else
416-
return {0};
417431
end
432+
433+
-- returns either results or key where it's stored
434+
if returnKeyOnly ~= false then
435+
return FFLKey;
436+
end
437+
438+
return {0};

0 commit comments

Comments
 (0)