From b3db87dfdd7313ba66b96dd809a5223f87a8b110 Mon Sep 17 00:00:00 2001 From: Mergen Imeev <imeevma@tarantool.org> Date: Thu, 18 Jul 2024 12:50:44 +0300 Subject: [PATCH] lua: introduce is_interval for datetime.interval This patch introduces is_interval() function for require('datetime').interval. Closes #10269 @TarantoolBot document Title: Function require('datetime').interval.is_interval() All modules representing field types, with the exception of `interval` (i.e. `varbinary`, `uuid`, `decimal`, `datetime`), have an `is()` or an `is_<type_name>()` function. Now such a function `is_interval()` is provided for the `interval` module. --- .../unreleased/gh-10269-is_interval-for-module-interval.md | 4 ++++ src/lua/datetime.lua | 1 + test/app-luatest/interval_test.lua | 5 +++++ 3 files changed, 10 insertions(+) create mode 100644 changelogs/unreleased/gh-10269-is_interval-for-module-interval.md diff --git a/changelogs/unreleased/gh-10269-is_interval-for-module-interval.md b/changelogs/unreleased/gh-10269-is_interval-for-module-interval.md new file mode 100644 index 0000000000..891e57b2d1 --- /dev/null +++ b/changelogs/unreleased/gh-10269-is_interval-for-module-interval.md @@ -0,0 +1,4 @@ +## feature/box + +* Added the `is_interval` function to check that the provided value is + `interval` (gh-10269). diff --git a/src/lua/datetime.lua b/src/lua/datetime.lua index a3fd61ea5d..633349e353 100644 --- a/src/lua/datetime.lua +++ b/src/lua/datetime.lua @@ -1303,6 +1303,7 @@ ffi.metatype(interval_t, { local interval_mt = { new = interval_new, + is_interval = is_interval, } return setmetatable( diff --git a/test/app-luatest/interval_test.lua b/test/app-luatest/interval_test.lua index 174e3b5e3e..1ce22f95fc 100644 --- a/test/app-luatest/interval_test.lua +++ b/test/app-luatest/interval_test.lua @@ -34,3 +34,8 @@ end g.test_check_interval_encode_ffi = function() t.assert_equals(bin, msgpackffi.encode(val)) end + +g.test_is_interval = function() + t.assert(itv.is_interval(val)) + t.assert_not(itv.is_interval({})) +end -- GitLab