Commit Graph

95 Commits

Author SHA1 Message Date
Max Cahill
e9313f61e0 [added] reset state upon re-entering state machine as_state 2020-06-11 15:35:57 +10:00
Max Cahill
77fa7b4288 Merge remote-tracking branch 'origin/master' 2020-06-02 15:17:56 +10:00
Max Cahill
a85eec80e2 [added] "canonical" identity function 2020-06-02 15:17:50 +10:00
Max Cahill
eba27da544 [added] note to async about external xpcall being needed for better stack traces 2020-06-02 15:17:36 +10:00
Max Cahill
01713f766f [modified] minor semantics of state machines, added machinery to allow them to be nested more easily, added notes 2020-06-02 15:02:20 +10:00
Max Cahill
11483c52ad [fixed] sequence regressions 2020-06-02 15:01:21 +10:00
Max Cahill
00ac480ed9 [modified] renamed stable_sort.lua to sort.lua; swapped alias order 2020-06-02 15:00:46 +10:00
Max Cahill
608fa1bca3 Merge remote-tracking branch 'origin/master' 2020-05-29 16:20:34 +10:00
Max Cahill
591ba1d7a9 [added] assert methods return first argument so they can be used inline 2020-05-29 16:20:26 +10:00
Max Cahill
a260451d7f Merge remote-tracking branch 'origin/master' 2020-05-27 13:03:46 +10:00
Max Cahill
95a9552cde [added] wip multi-line support to stringx.pretty 2020-05-27 13:03:40 +10:00
Max Cahill
348653a6dd [modified] moved away from assert for consistency in super_call 2020-05-22 16:29:01 +10:00
Max Cahill
fff1474c37 [fixed] super call in case where subclass called from doesn't have implementation - hurts runtime performance but the previous impl was a potential infinite loop! 2020-05-22 15:50:23 +10:00
Max Cahill
9d0a7d6e86 [added] mathx.isnan, does what it says on the tin 2020-05-20 21:02:51 +10:00
Max Cahill
77327aa852 [modified] minor async refactoring
[fixed] missing arguments beyond 1 for async calls
2020-05-19 22:11:38 +10:00
Max Cahill
700c7bc957 [added] cleaner super call functionality to class 2020-05-19 15:17:55 +10:00
Max Cahill
1610092bd1 [modified] renamed assert:equals to assert:equal for consistency
[added] assert:not_equal
2020-05-19 13:01:56 +10:00
Max Cahill
a367d18b51 [added] assert:some for nil checks 2020-05-19 13:00:23 +10:00
Max Cahill
284856d2c3 [modified] refactored init.lua extensively; used new assert module in stringx and tablex 2020-05-19 12:03:45 +10:00
Max Cahill
cf7354d75f [added] assert module with some "nicer" assertions 2020-05-19 12:03:04 +10:00
Max Cahill
21c672989c [modified] sequence with a few fixes and newer comments since the module refactor 2020-05-14 15:28:38 +10:00
Max Cahill
19c21bf308 [modified] class supports inheriting from classes/apis without a new method - in that case the super ctor wont be called automatically as part of init() 2020-05-14 15:27:24 +10:00
Max Cahill
93e6073128 Merge remote-tracking branch 'origin/master' 2020-05-13 21:09:22 +10:00
Max Cahill
8a62f3b19f [added] functional.generate and generate_2d 2020-05-13 21:09:15 +10:00
Max Cahill
eb428faa6e [fixed] issue in functional.zip 2020-05-13 21:08:23 +10:00
Max Cahill
f183a1a485 [fixed] a few wrong assert strings 2020-05-12 14:14:08 +10:00
Max Cahill
3c0ebb1f13 Merge branch 'feature/functional-additions' - thanks to Jack Robinson 2020-05-12 09:43:45 +10:00
Max Cahill
e6a59460bd [modified] functional.remove renamed to functional.remove_if, moved functional.group_by, more documentation added 2020-05-12 09:42:06 +10:00
Max Cahill
12e48d72ac [added] call metamethod for classes so eg vec2:new(...) can be written as vec2(...) 2020-05-12 09:26:11 +10:00
Jack Robinson
2d24d8e913 [added] add remove which holds onto all elements where f(v) returns false 2020-05-11 21:31:43 +12:00
Jack Robinson
d882127bda [added] add group-by function to group elements by the return of a provided function 2020-05-11 21:31:43 +12:00
Max Cahill
6f0945a675 [added] set:values_readonly() to avoid a copy if you only need readonly access, with a note about safety 2020-05-02 20:12:59 +10:00
Max Cahill
a5acce3e40 [added] `set to readme 2020-05-02 20:04:52 +10:00
Max Cahill
e5be0df492 [added] set module with full (-ish?) suite of set operations and efficient (non-linear) membership testing
closes #4
2020-05-02 19:59:02 +10:00
Max Cahill
28e06c4a10 [modified] unique_mapping memoised compare function and cleanup 2020-05-02 19:40:31 +10:00
Max Cahill
4a2505a04d [added] mathx.relative_angle replaced with mathx.angle_difference and direction "fixed"
Fixes issue #6 after discussion was in favour of change.
2020-05-01 12:59:58 +10:00
Max Cahill
9afbf08f34 Merge remote-tracking branch 'origin/master' 2020-04-30 16:39:09 +10:00
Max Cahill
7deef92639 [added] mathx.lerp_angle and notes about possible changes to mathx.relative_angle 2020-04-30 16:38:59 +10:00
Max Cahill
b91f4f1fcc [added] tablex.collapse to reduce the dimensionality of a table; caveats on some edge case behaviour documented 2020-04-29 20:57:05 +10:00
Max Cahill
87cdb1fcb7 Merge remote-tracking branch 'origin/master' 2020-04-29 20:16:48 +10:00
Max Cahill
7be89d799c [modified] readme; notes about stringx and a bit of other cleanup 2020-04-29 20:16:33 +10:00
Max Cahill
fc0812d94e [fixed] possible missing args causing issues in async 2020-04-28 17:05:25 +10:00
Max Cahill
9048ee116f [fixed] issues with async calls when missing args, callback, or error callback (eg single anonymous function) 2020-04-28 12:08:53 +10:00
Max Cahill
e75147ec77 [modified] moved tablex.stringify to stringx.pretty 2020-04-17 10:45:15 +10:00
Max Cahill
26acf1752d [added] stringx module (just split for now) and overlay to string on export 2020-04-17 10:35:00 +10:00
Max Cahill
6bf6113dc2 [added] quoted strings in tablex.stringify; todo consider moving it to stringx actually, as it works for non-table types, maybe as stringx.pretty... 2020-04-17 10:34:39 +10:00
Max Cahill
f6a2c9834f [added] nearest_point_on_line 2020-04-16 17:17:53 +10:00
Max Cahill
d445c170e1 [added] tablex.insert_sorted (does what you'd expect, though no binary search yet) 2020-04-14 21:52:33 +10:00
Max Cahill
7922cd3912 [modified] table.push and table.unshift return the table for possible chaining 2020-04-14 13:53:10 +10:00
Max Cahill
b570ea7096 [added] tablex.front and tablex.key_of 2020-04-10 14:14:15 +10:00