From 08b033ba31258341d764b656ba74770198320b02 Mon Sep 17 00:00:00 2001 From: Alexey Romanoff Date: Mon, 15 Feb 2021 10:57:47 +0300 Subject: [PATCH 1/9] RELEASE: "Regenerate tests list", "Last check that all tests are passed OK" steps are added --- RELEASE | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/RELEASE b/RELEASE index 420a124e..f80c40ea 100644 --- a/RELEASE +++ b/RELEASE @@ -6,17 +6,20 @@ - `COPYRIGHT` file; - `_COPYRIGHT` exported constant in the main module. 3. Update version in `_VERSION` exported constant in the main module. -4. Regenerate exports list (performed by `./make.sh`) -5. Generate `scm-1` rockspec (performed by `./make.sh`) -6. Generate `VERSION-1` rockspec, where VERSION is the version to be released. +4. Regenerate tests list (performed by `./make.sh`) +5. Regenerate exports list (performed by `./make.sh`) +6. Generate `scm-1` rockspec (performed by `./make.sh`) +7. Generate `VERSION-1` rockspec, where VERSION is the version to be released. Example: ``` lua etc/rockspec/generate.lua 1.1.0-1 v1.1.0 > rockspec/lua-nucleo-1.1.0-1.rockspec ```` -7. Regenerate API docs: `./make-doc.sh` -8. Make sure that all the changes is in the working tree. -9. Tag the working tree head with the version name, e.g. `v1.1.0`. -10. Push tag to origin. +8. Regenerate API docs: `./make-doc.sh` +9. Make sure that all the changes is in the working tree. +10. Last check that all tests are passed OK in latest Lua 5.1, Lua 5.2, Lua 5.3 + Lua 5.4 +10. Tag the working tree head with the version name, e.g. `v1.1.0`. +11. Push tag to origin. # Publish on [LuaRocks.org](https://luarocks.org) From 56d3eedd84caa65e9777bd327db6ec4fb146a59e Mon Sep 17 00:00:00 2001 From: Alexey Romanoff Date: Mon, 15 Feb 2021 10:55:19 +0300 Subject: [PATCH 2/9] HISTORY: add entry for 1.1.0 release --- HISTORY | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/HISTORY b/HISTORY index c6708474..e18d3a29 100644 --- a/HISTORY +++ b/HISTORY @@ -1,3 +1,59 @@ +Version 1.1.0 (2021-02-15) +========================== + +Additions and improvements: + + Lua up to 5.4 support is added. + + make.sh: + More strict bash is set. + Updating list-exports only if a rock is installed. + Allow local luarocks installation with "--local" option. + + datetime-utils (new module): + make_time_table is added. + get_days_in_month is added. + get_day_of_week is added. + day_of_week_name_to_number is added. + month_name_to_number is added. + + dsl/common_load_schema: + A heuristics to find a source location for dsl node is added. + + ensure: + ensure_strvariant is added. + ensure_strlist is added. + ensure_strpermutations is added. + + enumenator: + make_enumerator_from_set is added. + make_enumerator_from_interval is added. + + language: + Exports are added: lua52_types, lua52_keywords, lua53_types, + lua53_keywords, lua54_types, lua54_keywords, lua_types, lua_keywords. + + legacy (new module): + loadstring is added. + + language: + update to support all current Lua versions >= 5.1 + + table-utils: + tdeepfilter is added. + tisarray_not is added. + tifindallpermutations is added. + + tdeepequals: + tless_kv: optimization is made. + tmore: prevent crashes fix is made. + + Test framework is enhanced, new extensions are added. + + More tests are added (including tests for new features). + + Documentation is updated. + Version 1.0.0 (2016-12-15) ========================== From 9de7123908b396f2899b2ef63cec51744c544c24 Mon Sep 17 00:00:00 2001 From: Alexey Romanoff Date: Mon, 15 Feb 2021 10:56:10 +0300 Subject: [PATCH 3/9] COPYRIGHT: update year --- COPYRIGHT | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/COPYRIGHT b/COPYRIGHT index 3763390c..b5bb8e7c 100644 --- a/COPYRIGHT +++ b/COPYRIGHT @@ -7,7 +7,7 @@ and commercial purposes at absolutely no cost. =============================================================================== -Copyright (C) 2009-2017 Lua-NĂșcleo authors +Copyright (C) 2009-2021 Lua-NĂșcleo authors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal From a491c013a00da51ed9c0aa274e4f697a87306b64 Mon Sep 17 00:00:00 2001 From: Alexey Romanoff Date: Mon, 15 Feb 2021 10:56:42 +0300 Subject: [PATCH 4/9] AUTHORS: actualize e-mail --- AUTHORS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AUTHORS b/AUTHORS index 157c671e..2489d19a 100644 --- a/AUTHORS +++ b/AUTHORS @@ -9,7 +9,7 @@ Alexander V. Nikolaev Valeriy Skurikhin Vladimir Dronnikov Alexander Altshuler -Alexey Romanov +Alexey Romanoff Rafis Ganeyev Mark Gurevich Vladimir Stebunov From ef7a0aa6a14180833530e482843badc4f51d8510 Mon Sep 17 00:00:00 2001 From: Alexey Romanoff Date: Mon, 15 Feb 2021 10:49:48 +0300 Subject: [PATCH 5/9] test/test-list: regenerated --- test/test-list.lua | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/test/test-list.lua b/test/test-list.lua index f74d4ffe..fc614fc8 100644 --- a/test/test-list.lua +++ b/test/test-list.lua @@ -190,6 +190,10 @@ return type = 'cases'; path = 'test/cases/0320-timestamp.lua'; }; + { + type = 'cases'; + path = 'test/cases/0325-datetime-utils.lua'; + }; { type = 'cases'; path = 'test/cases/0330-tpretty.lua'; @@ -290,6 +294,10 @@ return type = 'cases'; path = 'test/cases/0640-quicksort.lua'; }; + { + type = 'cases'; + path = 'test/cases/0650-enumerator.lua'; + }; { type = 'cases'; path = 'test/cases/0650-legacy.lua'; From b40b566700cf9452227c49c9da819c87b3f6e887 Mon Sep 17 00:00:00 2001 From: Alexey Romanoff Date: Mon, 15 Feb 2021 10:50:33 +0300 Subject: [PATCH 6/9] lua-nucleo/code/exports: regenerated --- lua-nucleo/code/exports.lua | 100 ++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) diff --git a/lua-nucleo/code/exports.lua b/lua-nucleo/code/exports.lua index fba92b20..d54658de 100644 --- a/lua-nucleo/code/exports.lua +++ b/lua-nucleo/code/exports.lua @@ -30,6 +30,10 @@ return { { "lua-nucleo/log.lua", w = 0 }; }; + MAX_TIMESTAMP = + { + { "lua-nucleo/timestamp.lua", w = 0 }; + }; amap = { { "lua-nucleo/args.lua", w = 0 }; @@ -162,6 +166,10 @@ return { { "lua-nucleo/string.lua", w = 0 }; }; + day_of_week_name_to_number = + { + { "lua-nucleo/datetime-utils.lua", w = 0 }; + }; decoraror_checker_helper = { { "lua-nucleo/testing/decorators.lua", w = 0 }; @@ -238,6 +246,18 @@ return { { "lua-nucleo/ensure.lua", w = 0 }; }; + ensure_strlist = + { + { "lua-nucleo/ensure.lua", w = 0 }; + }; + ensure_strpermutations = + { + { "lua-nucleo/ensure.lua", w = 0 }; + }; + ensure_strvariant = + { + { "lua-nucleo/ensure.lua", w = 0 }; + }; ensure_tdeepequals = { { "lua-nucleo/ensure.lua", w = 0 }; @@ -286,10 +306,18 @@ return { { "lua-nucleo/log.lua", w = 0 }; }; + get_day_of_week = + { + { "lua-nucleo/datetime-utils.lua", w = 0 }; + }; get_day_timestamp = { { "lua-nucleo/timestamp.lua", w = 0 }; }; + get_days_in_month = + { + { "lua-nucleo/datetime-utils.lua", w = 0 }; + }; get_decasecond_timestamp = { { "lua-nucleo/timestamp.lua", w = 0 }; @@ -402,6 +430,10 @@ return { { "lua-nucleo/dsl/walk_data_with_schema.lua", w = 0 }; }; + loadstring = + { + { "lua-nucleo/legacy.lua", w = 0 }; + }; looped_linear_interpolator = { { "lua-nucleo/util/anim/interpolator.lua", w = 0 }; @@ -426,6 +458,38 @@ return { { "lua-nucleo/language.lua", w = 0 }; }; + lua52_keywords = + { + { "lua-nucleo/language.lua", w = 0 }; + }; + lua52_types = + { + { "lua-nucleo/language.lua", w = 0 }; + }; + lua53_keywords = + { + { "lua-nucleo/language.lua", w = 0 }; + }; + lua53_types = + { + { "lua-nucleo/language.lua", w = 0 }; + }; + lua54_keywords = + { + { "lua-nucleo/language.lua", w = 0 }; + }; + lua54_types = + { + { "lua-nucleo/language.lua", w = 0 }; + }; + lua_keywords = + { + { "lua-nucleo/language.lua", w = 0 }; + }; + lua_types = + { + { "lua-nucleo/language.lua", w = 0 }; + }; make_checker = { { "lua-nucleo/checker.lua", w = 0 }; @@ -450,6 +514,14 @@ return { { "lua-nucleo/dsl/dsl_loader.lua", w = 0 }; }; + make_enumerator_from_interval = + { + { "lua-nucleo/enumerator.lua", w = 0 }; + }; + make_enumerator_from_set = + { + { "lua-nucleo/enumerator.lua", w = 0 }; + }; make_generator_mt = { { "lua-nucleo/functional.lua", w = 0 }; @@ -498,14 +570,26 @@ return { { "lua-nucleo/stack_with_factory.lua", w = 0 }; }; + make_time_table = + { + { "lua-nucleo/datetime-utils.lua", w = 0 }; + }; make_timed_queue = { { "lua-nucleo/timed_queue.lua", w = 0 }; }; + make_timestamp_from_string = + { + { "lua-nucleo/timestamp.lua", w = 0 }; + }; method_arguments = { { "lua-nucleo/args.lua", w = 0 }; }; + month_name_to_number = + { + { "lua-nucleo/datetime-utils.lua", w = 0 }; + }; nargs = { { "lua-nucleo/args.lua", w = 0 }; @@ -598,6 +682,10 @@ return { { "lua-nucleo/tdeepequals.lua", w = 0 }; }; + tdeepfilter = + { + { "lua-nucleo/table-utils.lua", w = 0 }; + }; tequals = { { "lua-nucleo/table-utils.lua", w = 0 }; @@ -638,6 +726,10 @@ return { { "lua-nucleo/table-utils.lua", w = 0 }; }; + tifindallpermutations = + { + { "lua-nucleo/table-utils.lua", w = 0 }; + }; tifindvalue_nonrecursive = { { "lua-nucleo/table-utils.lua", w = 0 }; @@ -690,6 +782,10 @@ return { { "lua-nucleo/table-utils.lua", w = 0 }; }; + tisarray_not = + { + { "lua-nucleo/table-utils.lua", w = 0 }; + }; tisempty = { { "lua-nucleo/table-utils.lua", w = 0 }; @@ -882,6 +978,10 @@ return { { "lua-nucleo/misc.lua", w = 0 }; }; + unpack_timestamp = + { + { "lua-nucleo/timestamp.lua", w = 0 }; + }; upper_bound = { { "lua-nucleo/algorithm.lua", w = 0 }; From 1534c8dabc595cd011f03cb39ad242e0fddc21c8 Mon Sep 17 00:00:00 2001 From: Alexey Romanoff Date: Mon, 15 Feb 2021 10:59:26 +0300 Subject: [PATCH 7/9] rockspec/lua-nucleo-scm-1.rockspec: regenerated --- rockspec/lua-nucleo-scm-1.rockspec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/rockspec/lua-nucleo-scm-1.rockspec b/rockspec/lua-nucleo-scm-1.rockspec index 23fba651..121a06d8 100644 --- a/rockspec/lua-nucleo-scm-1.rockspec +++ b/rockspec/lua-nucleo-scm-1.rockspec @@ -10,7 +10,7 @@ description = { license = "MIT/X11" } dependencies = { - "lua >= 5.1" + "lua >= 5.1, <= 5.4" } build = { type = "none", @@ -26,6 +26,7 @@ build = { ["lua-nucleo.code.globals"] = "lua-nucleo/code/globals.lua"; ["lua-nucleo.code.profile"] = "lua-nucleo/code/profile.lua"; ["lua-nucleo.coro"] = "lua-nucleo/coro.lua"; + ["lua-nucleo.datetime-utils"] = "lua-nucleo/datetime-utils.lua"; ["lua-nucleo.deque"] = "lua-nucleo/deque.lua"; ["lua-nucleo.diagnostics"] = "lua-nucleo/diagnostics.lua"; ["lua-nucleo.dsl.common_load_schema"] = "lua-nucleo/dsl/common_load_schema.lua"; @@ -35,6 +36,7 @@ build = { ["lua-nucleo.dsl.tagged-tree"] = "lua-nucleo/dsl/tagged-tree.lua"; ["lua-nucleo.dsl.walk_data_with_schema"] = "lua-nucleo/dsl/walk_data_with_schema.lua"; ["lua-nucleo.ensure"] = "lua-nucleo/ensure.lua"; + ["lua-nucleo.enumerator"] = "lua-nucleo/enumerator.lua"; ["lua-nucleo.factory"] = "lua-nucleo/factory.lua"; ["lua-nucleo.functional"] = "lua-nucleo/functional.lua"; ["lua-nucleo.import"] = "lua-nucleo/import.lua"; @@ -43,6 +45,7 @@ build = { ["lua-nucleo.key_value_store.key_value_store_simple"] = "lua-nucleo/key_value_store/key_value_store_simple.lua"; ["lua-nucleo.key_value_store.key_value_store_sophisticated"] = "lua-nucleo/key_value_store/key_value_store_sophisticated.lua"; ["lua-nucleo.language"] = "lua-nucleo/language.lua"; + ["lua-nucleo.legacy"] = "lua-nucleo/legacy.lua"; ["lua-nucleo.log"] = "lua-nucleo/log.lua"; ["lua-nucleo.math"] = "lua-nucleo/math.lua"; ["lua-nucleo.misc"] = "lua-nucleo/misc.lua"; From 8c3ae1baad8c36bec7c397cecd20a6d2a5f437be Mon Sep 17 00:00:00 2001 From: Alexey Romanoff Date: Mon, 15 Feb 2021 11:11:19 +0300 Subject: [PATCH 8/9] add rockspeck/lua-nucleo-1.0.0-1.rockspec --- rockspec/lua-nucleo-1.1.0-1.rockspec | 80 ++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 rockspec/lua-nucleo-1.1.0-1.rockspec diff --git a/rockspec/lua-nucleo-1.1.0-1.rockspec b/rockspec/lua-nucleo-1.1.0-1.rockspec new file mode 100644 index 00000000..2cbefa6f --- /dev/null +++ b/rockspec/lua-nucleo-1.1.0-1.rockspec @@ -0,0 +1,80 @@ +package = "lua-nucleo" +version = "1.1.0-1" +source = { + url = "git://github.com/lua-nucleo/lua-nucleo.git", + branch = "v1.1.0" +} +description = { + summary = "A random collection of core and utility level Lua libraries", + homepage = "http://github.com/lua-nucleo/lua-nucleo", + license = "MIT/X11" +} +dependencies = { + "lua >= 5.1, <= 5.4" +} +build = { + type = "none", + install = { + lua = { + ["lua-nucleo.algorithm"] = "lua-nucleo/algorithm.lua"; + ["lua-nucleo.args"] = "lua-nucleo/args.lua"; + ["lua-nucleo.assert"] = "lua-nucleo/assert.lua"; + ["lua-nucleo.checker"] = "lua-nucleo/checker.lua"; + ["lua-nucleo.code.exports"] = "lua-nucleo/code/exports.lua"; + ["lua-nucleo.code.foreign-globals.lua5_1"] = "lua-nucleo/code/foreign-globals/lua5_1.lua"; + ["lua-nucleo.code.foreign-globals.luajit2"] = "lua-nucleo/code/foreign-globals/luajit2.lua"; + ["lua-nucleo.code.globals"] = "lua-nucleo/code/globals.lua"; + ["lua-nucleo.code.profile"] = "lua-nucleo/code/profile.lua"; + ["lua-nucleo.coro"] = "lua-nucleo/coro.lua"; + ["lua-nucleo.datetime-utils"] = "lua-nucleo/datetime-utils.lua"; + ["lua-nucleo.deque"] = "lua-nucleo/deque.lua"; + ["lua-nucleo.diagnostics"] = "lua-nucleo/diagnostics.lua"; + ["lua-nucleo.dsl.common_load_schema"] = "lua-nucleo/dsl/common_load_schema.lua"; + ["lua-nucleo.dsl.dsl_loader"] = "lua-nucleo/dsl/dsl_loader.lua"; + ["lua-nucleo.dsl.dump_nodes"] = "lua-nucleo/dsl/dump_nodes.lua"; + ["lua-nucleo.dsl.path_based_walker"] = "lua-nucleo/dsl/path_based_walker.lua"; + ["lua-nucleo.dsl.tagged-tree"] = "lua-nucleo/dsl/tagged-tree.lua"; + ["lua-nucleo.dsl.walk_data_with_schema"] = "lua-nucleo/dsl/walk_data_with_schema.lua"; + ["lua-nucleo.ensure"] = "lua-nucleo/ensure.lua"; + ["lua-nucleo.enumerator"] = "lua-nucleo/enumerator.lua"; + ["lua-nucleo.factory"] = "lua-nucleo/factory.lua"; + ["lua-nucleo.functional"] = "lua-nucleo/functional.lua"; + ["lua-nucleo.import"] = "lua-nucleo/import.lua"; + ["lua-nucleo.init"] = "lua-nucleo/init.lua"; + ["lua-nucleo.key_value_store.key_value_store_ophash"] = "lua-nucleo/key_value_store/key_value_store_ophash.lua"; + ["lua-nucleo.key_value_store.key_value_store_simple"] = "lua-nucleo/key_value_store/key_value_store_simple.lua"; + ["lua-nucleo.key_value_store.key_value_store_sophisticated"] = "lua-nucleo/key_value_store/key_value_store_sophisticated.lua"; + ["lua-nucleo.language"] = "lua-nucleo/language.lua"; + ["lua-nucleo.legacy"] = "lua-nucleo/legacy.lua"; + ["lua-nucleo.log"] = "lua-nucleo/log.lua"; + ["lua-nucleo.math"] = "lua-nucleo/math.lua"; + ["lua-nucleo.misc"] = "lua-nucleo/misc.lua"; + ["lua-nucleo.module"] = "lua-nucleo/module.lua"; + ["lua-nucleo.ordered_named_cat_manager"] = "lua-nucleo/ordered_named_cat_manager.lua"; + ["lua-nucleo.pcall"] = "lua-nucleo/pcall.lua"; + ["lua-nucleo.prettifier"] = "lua-nucleo/prettifier.lua"; + ["lua-nucleo.priority_queue"] = "lua-nucleo/priority_queue.lua"; + ["lua-nucleo.quicksort"] = "lua-nucleo/quicksort.lua"; + ["lua-nucleo.random"] = "lua-nucleo/random.lua"; + ["lua-nucleo.require_and_declare"] = "lua-nucleo/require_and_declare.lua"; + ["lua-nucleo.sandbox"] = "lua-nucleo/sandbox.lua"; + ["lua-nucleo.scoped_cat_tree_manager"] = "lua-nucleo/scoped_cat_tree_manager.lua"; + ["lua-nucleo.stack_with_factory"] = "lua-nucleo/stack_with_factory.lua"; + ["lua-nucleo.strict"] = "lua-nucleo/strict.lua"; + ["lua-nucleo.string"] = "lua-nucleo/string.lua"; + ["lua-nucleo.suite"] = "lua-nucleo/suite.lua"; + ["lua-nucleo.table-utils"] = "lua-nucleo/table-utils.lua"; + ["lua-nucleo.table"] = "lua-nucleo/table.lua"; + ["lua-nucleo.tdeepequals"] = "lua-nucleo/tdeepequals.lua"; + ["lua-nucleo.testing.decorators"] = "lua-nucleo/testing/decorators.lua"; + ["lua-nucleo.timed_queue"] = "lua-nucleo/timed_queue.lua"; + ["lua-nucleo.timestamp"] = "lua-nucleo/timestamp.lua"; + ["lua-nucleo.tpretty"] = "lua-nucleo/tpretty.lua"; + ["lua-nucleo.tserialize"] = "lua-nucleo/tserialize.lua"; + ["lua-nucleo.tstr"] = "lua-nucleo/tstr.lua"; + ["lua-nucleo.type"] = "lua-nucleo/type.lua"; + ["lua-nucleo.typeassert"] = "lua-nucleo/typeassert.lua"; + ["lua-nucleo.util.anim.interpolator"] = "lua-nucleo/util/anim/interpolator.lua"; + } + } +} From c249bebc9db3a527186a6457d2f919ee064dcd1e Mon Sep 17 00:00:00 2001 From: Alexey Romanoff Date: Mon, 15 Feb 2021 11:16:09 +0300 Subject: [PATCH 9/9] doc: regenerated --- doc/index.html | 12 +- ...ey_value_store.key_value_store_ophash.html | 4 +- ...ey_value_store.key_value_store_simple.html | 4 +- ...e_store.key_value_store_sophisticated.html | 4 +- doc/modules/lua-nucleo.algorithm.html | 4 +- doc/modules/lua-nucleo.args.html | 4 +- doc/modules/lua-nucleo.assert.html | 4 +- doc/modules/lua-nucleo.checker.html | 4 +- doc/modules/lua-nucleo.code.exports.html | 4 +- ...lua-nucleo.code.foreign-global.lua5_1.html | 4 +- ...ua-nucleo.code.foreign-global.luajit2.html | 4 +- doc/modules/lua-nucleo.code.globals.html | 4 +- doc/modules/lua-nucleo.code.profile.html | 4 +- doc/modules/lua-nucleo.coro.html | 4 +- doc/modules/lua-nucleo.datetime-utils.html | 336 +++++++++++++++++ doc/modules/lua-nucleo.deque.html | 4 +- doc/modules/lua-nucleo.diagnostics.html | 10 +- .../lua-nucleo.dsl.common_load_schema.html | 4 +- doc/modules/lua-nucleo.dsl.dsl_loader.html | 4 +- doc/modules/lua-nucleo.dsl.dump_nodes.html | 4 +- .../lua-nucleo.dsl.path_based_walker.html | 4 +- doc/modules/lua-nucleo.dsl.tagged-tree.html | 4 +- .../lua-nucleo.dsl.walk_data_with_schema.html | 4 +- doc/modules/lua-nucleo.ensure.html | 64 ++-- doc/modules/lua-nucleo.enumerator.html | 323 ++++++++++++++++ doc/modules/lua-nucleo.factory.html | 4 +- doc/modules/lua-nucleo.functional.html | 4 +- doc/modules/lua-nucleo.import.html | 4 +- doc/modules/lua-nucleo.init.html | 4 +- doc/modules/lua-nucleo.language.html | 4 +- doc/modules/lua-nucleo.legacy.html | 4 +- doc/modules/lua-nucleo.log.html | 4 +- doc/modules/lua-nucleo.math.html | 4 +- doc/modules/lua-nucleo.misc.html | 4 +- doc/modules/lua-nucleo.module.html | 4 +- .../lua-nucleo.ordered_named_cat_manager.html | 4 +- doc/modules/lua-nucleo.pcall.html | 4 +- doc/modules/lua-nucleo.prettifier.html | 4 +- doc/modules/lua-nucleo.priority_queue.html | 4 +- doc/modules/lua-nucleo.quicksort.html | 4 +- doc/modules/lua-nucleo.random.html | 4 +- .../lua-nucleo.require_and_declare.html | 4 +- doc/modules/lua-nucleo.sandbox.html | 4 +- .../lua-nucleo.scoped_cat_tree_manager.html | 4 +- .../lua-nucleo.stack_with_factory.html | 4 +- doc/modules/lua-nucleo.strict.html | 4 +- doc/modules/lua-nucleo.string.html | 52 +-- doc/modules/lua-nucleo.suite.html | 4 +- doc/modules/lua-nucleo.table-utils.html | 4 +- doc/modules/lua-nucleo.table.html | 4 +- doc/modules/lua-nucleo.tdeepequals.html | 4 +- doc/modules/lua-nucleo.testing.decorator.html | 4 +- doc/modules/lua-nucleo.times_queue.html | 4 +- doc/modules/lua-nucleo.timestamp.html | 348 +++++++++++++++++- doc/modules/lua-nucleo.tpretty.html | 4 +- doc/modules/lua-nucleo.tserialize.html | 4 +- doc/modules/lua-nucleo.tstr.html | 4 +- doc/modules/lua-nucleo.type.html | 4 +- doc/modules/lua-nucleo.typeassert.html | 4 +- .../lua-nucleo.util.anim.interpolator.html | 4 +- .../test.test-lib.generate-test-list.html | 4 +- doc/modules/test.test-lib.import.html | 4 +- ...test.test-lib.init.no-suite-no-import.html | 4 +- doc/modules/test.test-lib.init.no-suite.html | 4 +- ...est-lib.init.strict-import-as-require.html | 4 +- doc/modules/test.test-lib.init.strict.html | 4 +- doc/modules/test.test-lib.table.html | 4 +- .../test.test-lib.tdeepequals-test-utils.html | 4 +- .../test.test-lib.tserialize-test-utils.html | 4 +- .../test.test-lib.value-generators.html | 4 +- 70 files changed, 1271 insertions(+), 126 deletions(-) create mode 100644 doc/modules/lua-nucleo.datetime-utils.html create mode 100644 doc/modules/lua-nucleo.enumerator.html diff --git a/doc/index.html b/doc/index.html index 9c04e381..624dcfa2 100644 --- a/doc/index.html +++ b/doc/index.html @@ -41,6 +41,7 @@

Modules

  • lua-nucleo.code.globals
  • lua-nucleo.code.profile
  • lua-nucleo.coro
  • +
  • lua-nucleo.datetime-utils
  • lua-nucleo.deque
  • lua-nucleo.diagnostics
  • lua-nucleo.dsl.common_load_schema
  • @@ -50,6 +51,7 @@

    Modules

  • lua-nucleo.dsl.tagged-tree
  • lua-nucleo.dsl.walk_data_with_schema
  • lua-nucleo.ensure
  • +
  • lua-nucleo.enumerator
  • lua-nucleo.factory
  • lua-nucleo.functional
  • lua-nucleo.import
  • @@ -150,6 +152,10 @@

    Modules

    lua-nucleo.coro Coroutine module extensions + + lua-nucleo.datetime-utils + Date and time related utilities + lua-nucleo.deque Double-ended queue wrapper @@ -186,6 +192,10 @@

    Modules

    lua-nucleo.ensure Tools to ensure correct code behaviour + + lua-nucleo.enumerator + Enuminator tools + lua-nucleo.factory Factory related functions @@ -390,7 +400,7 @@

    Modules

    generated by LDoc 1.4.6 -Last updated 2021-01-29 19:42:37 +Last updated 2021-02-15 11:15:01
    diff --git a/doc/modules/key_value_store.key_value_store_ophash.html b/doc/modules/key_value_store.key_value_store_ophash.html index 3530c7c1..3ab00e8b 100644 --- a/doc/modules/key_value_store.key_value_store_ophash.html +++ b/doc/modules/key_value_store.key_value_store_ophash.html @@ -44,6 +44,7 @@

    Modules

  • lua-nucleo.code.globals
  • lua-nucleo.code.profile
  • lua-nucleo.coro
  • +
  • lua-nucleo.datetime-utils
  • lua-nucleo.deque
  • lua-nucleo.diagnostics
  • lua-nucleo.dsl.common_load_schema
  • @@ -53,6 +54,7 @@

    Modules

  • lua-nucleo.dsl.tagged-tree
  • lua-nucleo.dsl.walk_data_with_schema
  • lua-nucleo.ensure
  • +
  • lua-nucleo.enumerator
  • lua-nucleo.factory
  • lua-nucleo.functional
  • lua-nucleo.import
  • @@ -129,7 +131,7 @@

    Info:

    generated by LDoc 1.4.6 -Last updated 2021-01-29 19:42:37 +Last updated 2021-02-15 11:15:01
    diff --git a/doc/modules/key_value_store.key_value_store_simple.html b/doc/modules/key_value_store.key_value_store_simple.html index 91b3a936..6fd7155d 100644 --- a/doc/modules/key_value_store.key_value_store_simple.html +++ b/doc/modules/key_value_store.key_value_store_simple.html @@ -44,6 +44,7 @@

    Modules

  • lua-nucleo.code.globals
  • lua-nucleo.code.profile
  • lua-nucleo.coro
  • +
  • lua-nucleo.datetime-utils
  • lua-nucleo.deque
  • lua-nucleo.diagnostics
  • lua-nucleo.dsl.common_load_schema
  • @@ -53,6 +54,7 @@

    Modules

  • lua-nucleo.dsl.tagged-tree
  • lua-nucleo.dsl.walk_data_with_schema
  • lua-nucleo.ensure
  • +
  • lua-nucleo.enumerator
  • lua-nucleo.factory
  • lua-nucleo.functional
  • lua-nucleo.import
  • @@ -129,7 +131,7 @@

    Info:

    generated by LDoc 1.4.6 -Last updated 2021-01-29 19:42:37 +Last updated 2021-02-15 11:15:01
    diff --git a/doc/modules/key_value_store.key_value_store_sophisticated.html b/doc/modules/key_value_store.key_value_store_sophisticated.html index 920e0cd0..b311cf18 100644 --- a/doc/modules/key_value_store.key_value_store_sophisticated.html +++ b/doc/modules/key_value_store.key_value_store_sophisticated.html @@ -44,6 +44,7 @@

    Modules

  • lua-nucleo.code.globals
  • lua-nucleo.code.profile
  • lua-nucleo.coro
  • +
  • lua-nucleo.datetime-utils
  • lua-nucleo.deque
  • lua-nucleo.diagnostics
  • lua-nucleo.dsl.common_load_schema
  • @@ -53,6 +54,7 @@

    Modules

  • lua-nucleo.dsl.tagged-tree
  • lua-nucleo.dsl.walk_data_with_schema
  • lua-nucleo.ensure
  • +
  • lua-nucleo.enumerator
  • lua-nucleo.factory
  • lua-nucleo.functional
  • lua-nucleo.import
  • @@ -129,7 +131,7 @@

    Info:

    generated by LDoc 1.4.6 -Last updated 2021-01-29 19:42:37 +Last updated 2021-02-15 11:15:01
    diff --git a/doc/modules/lua-nucleo.algorithm.html b/doc/modules/lua-nucleo.algorithm.html index 62365443..13fc6a77 100644 --- a/doc/modules/lua-nucleo.algorithm.html +++ b/doc/modules/lua-nucleo.algorithm.html @@ -44,6 +44,7 @@

    Modules

  • lua-nucleo.code.globals
  • lua-nucleo.code.profile
  • lua-nucleo.coro
  • +
  • lua-nucleo.datetime-utils
  • lua-nucleo.deque
  • lua-nucleo.diagnostics
  • lua-nucleo.dsl.common_load_schema
  • @@ -53,6 +54,7 @@

    Modules

  • lua-nucleo.dsl.tagged-tree
  • lua-nucleo.dsl.walk_data_with_schema
  • lua-nucleo.ensure
  • +
  • lua-nucleo.enumerator
  • lua-nucleo.factory
  • lua-nucleo.functional
  • lua-nucleo.import
  • @@ -128,7 +130,7 @@

    Info:

    generated by LDoc 1.4.6 -Last updated 2021-01-29 19:42:37 +Last updated 2021-02-15 11:15:01
    diff --git a/doc/modules/lua-nucleo.args.html b/doc/modules/lua-nucleo.args.html index 0d309227..89e94d62 100644 --- a/doc/modules/lua-nucleo.args.html +++ b/doc/modules/lua-nucleo.args.html @@ -44,6 +44,7 @@

    Modules

  • lua-nucleo.code.globals
  • lua-nucleo.code.profile
  • lua-nucleo.coro
  • +
  • lua-nucleo.datetime-utils
  • lua-nucleo.deque
  • lua-nucleo.diagnostics
  • lua-nucleo.dsl.common_load_schema
  • @@ -53,6 +54,7 @@

    Modules

  • lua-nucleo.dsl.tagged-tree
  • lua-nucleo.dsl.walk_data_with_schema
  • lua-nucleo.ensure
  • +
  • lua-nucleo.enumerator
  • lua-nucleo.factory
  • lua-nucleo.functional
  • lua-nucleo.import
  • @@ -128,7 +130,7 @@

    Info:

    generated by LDoc 1.4.6 -Last updated 2021-01-29 19:42:37 +Last updated 2021-02-15 11:15:01
    diff --git a/doc/modules/lua-nucleo.assert.html b/doc/modules/lua-nucleo.assert.html index 9f4fbc47..bf5b2c57 100644 --- a/doc/modules/lua-nucleo.assert.html +++ b/doc/modules/lua-nucleo.assert.html @@ -44,6 +44,7 @@

    Modules

  • lua-nucleo.code.globals
  • lua-nucleo.code.profile
  • lua-nucleo.coro
  • +
  • lua-nucleo.datetime-utils
  • lua-nucleo.deque
  • lua-nucleo.diagnostics
  • lua-nucleo.dsl.common_load_schema
  • @@ -53,6 +54,7 @@

    Modules

  • lua-nucleo.dsl.tagged-tree
  • lua-nucleo.dsl.walk_data_with_schema
  • lua-nucleo.ensure
  • +
  • lua-nucleo.enumerator
  • lua-nucleo.factory
  • lua-nucleo.functional
  • lua-nucleo.import
  • @@ -128,7 +130,7 @@

    Info:

    generated by LDoc 1.4.6 -Last updated 2021-01-29 19:42:37 +Last updated 2021-02-15 11:15:01
    diff --git a/doc/modules/lua-nucleo.checker.html b/doc/modules/lua-nucleo.checker.html index 514c3345..312ac448 100644 --- a/doc/modules/lua-nucleo.checker.html +++ b/doc/modules/lua-nucleo.checker.html @@ -44,6 +44,7 @@

    Modules

  • lua-nucleo.code.globals
  • lua-nucleo.code.profile
  • lua-nucleo.coro
  • +
  • lua-nucleo.datetime-utils
  • lua-nucleo.deque
  • lua-nucleo.diagnostics
  • lua-nucleo.dsl.common_load_schema
  • @@ -53,6 +54,7 @@

    Modules

  • lua-nucleo.dsl.tagged-tree
  • lua-nucleo.dsl.walk_data_with_schema
  • lua-nucleo.ensure
  • +
  • lua-nucleo.enumerator
  • lua-nucleo.factory
  • lua-nucleo.functional
  • lua-nucleo.import
  • @@ -128,7 +130,7 @@

    Info:

    generated by LDoc 1.4.6 -Last updated 2021-01-29 19:42:37 +Last updated 2021-02-15 11:15:01
    diff --git a/doc/modules/lua-nucleo.code.exports.html b/doc/modules/lua-nucleo.code.exports.html index a522a5ff..d16fb6db 100644 --- a/doc/modules/lua-nucleo.code.exports.html +++ b/doc/modules/lua-nucleo.code.exports.html @@ -44,6 +44,7 @@

    Modules

  • lua-nucleo.code.globals
  • lua-nucleo.code.profile
  • lua-nucleo.coro
  • +
  • lua-nucleo.datetime-utils
  • lua-nucleo.deque
  • lua-nucleo.diagnostics
  • lua-nucleo.dsl.common_load_schema
  • @@ -53,6 +54,7 @@

    Modules

  • lua-nucleo.dsl.tagged-tree
  • lua-nucleo.dsl.walk_data_with_schema
  • lua-nucleo.ensure
  • +
  • lua-nucleo.enumerator
  • lua-nucleo.factory
  • lua-nucleo.functional
  • lua-nucleo.import
  • @@ -128,7 +130,7 @@

    Module lua-nucleo.code.exports

    generated by LDoc 1.4.6 -Last updated 2021-01-29 19:42:37 +Last updated 2021-02-15 11:15:01
    diff --git a/doc/modules/lua-nucleo.code.foreign-global.lua5_1.html b/doc/modules/lua-nucleo.code.foreign-global.lua5_1.html index 0f63eeae..66ff2fa3 100644 --- a/doc/modules/lua-nucleo.code.foreign-global.lua5_1.html +++ b/doc/modules/lua-nucleo.code.foreign-global.lua5_1.html @@ -44,6 +44,7 @@

    Modules

  • lua-nucleo.code.globals
  • lua-nucleo.code.profile
  • lua-nucleo.coro
  • +
  • lua-nucleo.datetime-utils
  • lua-nucleo.deque
  • lua-nucleo.diagnostics
  • lua-nucleo.dsl.common_load_schema
  • @@ -53,6 +54,7 @@

    Modules

  • lua-nucleo.dsl.tagged-tree
  • lua-nucleo.dsl.walk_data_with_schema
  • lua-nucleo.ensure
  • +
  • lua-nucleo.enumerator
  • lua-nucleo.factory
  • lua-nucleo.functional
  • lua-nucleo.import
  • @@ -128,7 +130,7 @@

    Info:

    generated by LDoc 1.4.6 -Last updated 2021-01-29 19:42:37 +Last updated 2021-02-15 11:15:01
    diff --git a/doc/modules/lua-nucleo.code.foreign-global.luajit2.html b/doc/modules/lua-nucleo.code.foreign-global.luajit2.html index edc94995..98ba3572 100644 --- a/doc/modules/lua-nucleo.code.foreign-global.luajit2.html +++ b/doc/modules/lua-nucleo.code.foreign-global.luajit2.html @@ -44,6 +44,7 @@

    Modules

  • lua-nucleo.code.globals
  • lua-nucleo.code.profile
  • lua-nucleo.coro
  • +
  • lua-nucleo.datetime-utils
  • lua-nucleo.deque
  • lua-nucleo.diagnostics
  • lua-nucleo.dsl.common_load_schema
  • @@ -53,6 +54,7 @@

    Modules

  • lua-nucleo.dsl.tagged-tree
  • lua-nucleo.dsl.walk_data_with_schema
  • lua-nucleo.ensure
  • +
  • lua-nucleo.enumerator
  • lua-nucleo.factory
  • lua-nucleo.functional
  • lua-nucleo.import
  • @@ -128,7 +130,7 @@

    Info:

    generated by LDoc 1.4.6 -Last updated 2021-01-29 19:42:37 +Last updated 2021-02-15 11:15:01
    diff --git a/doc/modules/lua-nucleo.code.globals.html b/doc/modules/lua-nucleo.code.globals.html index d8979b06..18e81daa 100644 --- a/doc/modules/lua-nucleo.code.globals.html +++ b/doc/modules/lua-nucleo.code.globals.html @@ -44,6 +44,7 @@

    Modules

  • lua-nucleo.code.globals
  • lua-nucleo.code.profile
  • lua-nucleo.coro
  • +
  • lua-nucleo.datetime-utils
  • lua-nucleo.deque
  • lua-nucleo.diagnostics
  • lua-nucleo.dsl.common_load_schema
  • @@ -53,6 +54,7 @@

    Modules

  • lua-nucleo.dsl.tagged-tree
  • lua-nucleo.dsl.walk_data_with_schema
  • lua-nucleo.ensure
  • +
  • lua-nucleo.enumerator
  • lua-nucleo.factory
  • lua-nucleo.functional
  • lua-nucleo.import
  • @@ -128,7 +130,7 @@

    Info:

    generated by LDoc 1.4.6 -Last updated 2021-01-29 19:42:37 +Last updated 2021-02-15 11:15:01
    diff --git a/doc/modules/lua-nucleo.code.profile.html b/doc/modules/lua-nucleo.code.profile.html index 2eb2000d..0027d9a7 100644 --- a/doc/modules/lua-nucleo.code.profile.html +++ b/doc/modules/lua-nucleo.code.profile.html @@ -44,6 +44,7 @@

    Modules

  • lua-nucleo.code.globals
  • lua-nucleo.code.profile
  • lua-nucleo.coro
  • +
  • lua-nucleo.datetime-utils
  • lua-nucleo.deque
  • lua-nucleo.diagnostics
  • lua-nucleo.dsl.common_load_schema
  • @@ -53,6 +54,7 @@

    Modules

  • lua-nucleo.dsl.tagged-tree
  • lua-nucleo.dsl.walk_data_with_schema
  • lua-nucleo.ensure
  • +
  • lua-nucleo.enumerator
  • lua-nucleo.factory
  • lua-nucleo.functional
  • lua-nucleo.import
  • @@ -128,7 +130,7 @@

    Info:

    generated by LDoc 1.4.6 -Last updated 2021-01-29 19:42:37 +Last updated 2021-02-15 11:15:01
    diff --git a/doc/modules/lua-nucleo.coro.html b/doc/modules/lua-nucleo.coro.html index c9677a05..139e0045 100644 --- a/doc/modules/lua-nucleo.coro.html +++ b/doc/modules/lua-nucleo.coro.html @@ -44,6 +44,7 @@

    Modules

  • lua-nucleo.code.globals
  • lua-nucleo.code.profile
  • lua-nucleo.coro
  • +
  • lua-nucleo.datetime-utils
  • lua-nucleo.deque
  • lua-nucleo.diagnostics
  • lua-nucleo.dsl.common_load_schema
  • @@ -53,6 +54,7 @@

    Modules

  • lua-nucleo.dsl.tagged-tree
  • lua-nucleo.dsl.walk_data_with_schema
  • lua-nucleo.ensure
  • +
  • lua-nucleo.enumerator
  • lua-nucleo.factory
  • lua-nucleo.functional
  • lua-nucleo.import
  • @@ -128,7 +130,7 @@

    Info:

    generated by LDoc 1.4.6 -Last updated 2021-01-29 19:42:37 +Last updated 2021-02-15 11:15:01
    diff --git a/doc/modules/lua-nucleo.datetime-utils.html b/doc/modules/lua-nucleo.datetime-utils.html new file mode 100644 index 00000000..d5b44fa4 --- /dev/null +++ b/doc/modules/lua-nucleo.datetime-utils.html @@ -0,0 +1,336 @@ + + + + + Reference + + + + +
    + +
    + +
    +
    +
    + + +
    + + + + + + +
    + +

    Module lua-nucleo.datetime-utils

    +

    Date and time related utilities

    +

    + This file is a part of lua-nucleo library

    +

    Info:

    +
      +
    • Copyright: lua-nucleo authors (see file COPYRIGHT for the license)
    • +
    + + +

    Local Functions

    + + + + + + + + + + + + + + + + + + + + + +
    make_time_table (dom, mon, y, h, m, s)Converts function arguments to the associative array table and returns it.
    get_days_in_month (year, month)Returns number of days in the given month of the given year.
    get_day_of_week (timestamp)Returns a day of a week for the given timestamp.
    day_of_week_name_to_number (v)Converts the given string to a day of a week.
    month_name_to_number (v)Converts the given string to a month number.
    + +
    +
    + + +

    Local Functions

    + +
    +
    + + make_time_table (dom, mon, y, h, m, s) +
    +
    + Converts function arguments to the associative array table and returns it. + + +

    Parameters:

    +
      +
    • dom + number + A day of a month. +
    • +
    • mon + number + Month number by count. +
    • +
    • y + number + Year. +
    • +
    • h + number + Hour. +
    • +
    • m + number + Minute. +
    • +
    • s + number + Second. +
    • +
    + +

    Returns:

    +
      + + table + { + day = dom; + month = mon; + year = y; + hour = h; + min = m; + sec = s; + } +
    + + + + +
    +
    + + get_days_in_month (year, month) +
    +
    + Returns number of days in the given month of the given year. + (From http://lua-users.org/wiki/DayOfWeekAndDaysInMonthExample) + + +

    Parameters:

    +
      +
    • year + number + Year. +
    • +
    • month + number + Month number by count. +
    • +
    + +

    Returns:

    +
      + + number + Number of days in the given month of the given year. +
    + + + + +
    +
    + + get_day_of_week (timestamp) +
    +
    + Returns a day of a week for the given timestamp. + (From http://richard.warburton.it) + + +

    Parameters:

    +
      +
    • timestamp + number + Unix/POSIX time. +
    • +
    + +

    Returns:

    +
      + + number + Day of week, where zero is Sunday. +
    + + + + +
    +
    + + day_of_week_name_to_number (v) +
    +
    + Converts the given string to a day of a week. + + +

    Parameters:

    +
      +
    • v + string + Day of week string representation. +
    • +
    + +

    Returns:

    +
      + + number + Day of week, where zero is Sunday. +
    + + + + +
    +
    + + month_name_to_number (v) +
    +
    + Converts the given string to a month number. + + +

    Parameters:

    +
      +
    • v + string + Month string representation. +
    • +
    + +

    Returns:

    +
      + + number + Month number by count. +
    + + + + +
    +
    + + +
    +
    +
    +generated by LDoc 1.4.6 +Last updated 2021-02-15 11:15:01 +
    +
    + + diff --git a/doc/modules/lua-nucleo.deque.html b/doc/modules/lua-nucleo.deque.html index 83d7159b..3ce19dbd 100644 --- a/doc/modules/lua-nucleo.deque.html +++ b/doc/modules/lua-nucleo.deque.html @@ -44,6 +44,7 @@

    Modules

  • lua-nucleo.code.globals
  • lua-nucleo.code.profile
  • lua-nucleo.coro
  • +
  • lua-nucleo.datetime-utils
  • lua-nucleo.deque
  • lua-nucleo.diagnostics
  • lua-nucleo.dsl.common_load_schema
  • @@ -53,6 +54,7 @@

    Modules

  • lua-nucleo.dsl.tagged-tree
  • lua-nucleo.dsl.walk_data_with_schema
  • lua-nucleo.ensure
  • +
  • lua-nucleo.enumerator
  • lua-nucleo.factory
  • lua-nucleo.functional
  • lua-nucleo.import
  • @@ -128,7 +130,7 @@

    Info:

    generated by LDoc 1.4.6 -Last updated 2021-01-29 19:42:37 +Last updated 2021-02-15 11:15:01
    diff --git a/doc/modules/lua-nucleo.diagnostics.html b/doc/modules/lua-nucleo.diagnostics.html index 45cd7d08..ca4a114b 100644 --- a/doc/modules/lua-nucleo.diagnostics.html +++ b/doc/modules/lua-nucleo.diagnostics.html @@ -49,6 +49,7 @@

    Modules

  • lua-nucleo.code.globals
  • lua-nucleo.code.profile
  • lua-nucleo.coro
  • +
  • lua-nucleo.datetime-utils
  • lua-nucleo.deque
  • lua-nucleo.diagnostics
  • lua-nucleo.dsl.common_load_schema
  • @@ -58,6 +59,7 @@

    Modules

  • lua-nucleo.dsl.tagged-tree
  • lua-nucleo.dsl.walk_data_with_schema
  • lua-nucleo.ensure
  • +
  • lua-nucleo.enumerator
  • lua-nucleo.factory
  • lua-nucleo.functional
  • lua-nucleo.import
  • @@ -155,11 +157,11 @@

    Tables

    Fields: