rxi
4373a202dc
Changed lume.shuffle() to not operate in-place, updated doc + tests
2015-01-10 16:24:31 +00:00
rxi
ac10d54b47
Changed internal func isarray() to handle nil
2015-01-10 14:32:58 +00:00
rxi
067e58b30f
Changed lume.count() to return length if table is array
2015-01-10 14:31:55 +00:00
rxi
a42cbb12f0
Changed all applicable functions to use iter func based on table
2015-01-10 14:23:25 +00:00
rxi
0c21cfcf5b
Updated lume.each() to use iter func based on table type
2015-01-10 14:13:07 +00:00
rxi
0e4256ef0d
Version 1.5.0
2014-12-21 12:25:38 +00:00
rxi
8f1267f967
Added lume.first() and .last(), updated README.md and tests
2014-12-12 21:33:41 +00:00
rxi
de37bd6d65
Added lume.keys() and tests, updated docs
2014-12-12 20:40:25 +00:00
rxi
5d258d4fd0
Made calling lume table an alias to calling lume.chain()
...
Updated tests
2014-12-12 20:25:54 +00:00
rxi
16e370cdf0
Changed all applicable functions to use iteratee() internally
2014-12-12 19:45:22 +00:00
rxi
0b991d7ea5
Added identity() and iteratee() local funcs
2014-12-12 18:56:13 +00:00
rxi
f6174a4b68
Version 1.4.1
2014-07-17 22:02:39 +01:00
rxi
d99bf9549a
Removed unnecessary pack & unpack from lume.array()
2014-06-16 21:07:40 +01:00
rxi
0cc52cd24e
Version 1.4.0
2014-05-18 08:46:28 +01:00
rxi
0a8258d608
Made some minor formatting changes
2014-05-07 08:21:36 +01:00
Phoenix Enero
6b73aaa8ad
Pre-computed powers of two in lume.rgba
2014-05-07 12:11:29 +08:00
Phoenix Enero
1a82d308af
Changed ease function from cosine to cubic
2014-05-07 12:11:26 +08:00
Phoenix Enero
17b58ec63d
Stripped all trailing whitespace
2014-05-07 12:11:15 +08:00
rxi
5ab25046a2
Renamed local memoize_nilkey -> memoize_nil
2014-05-01 21:27:57 +01:00
rxi
3f61d823ae
Changed position of lume.time() function
2014-05-01 19:23:44 +01:00
rxi
0716caf6a1
Added lume.memoize(), updated README.md and tests
2014-05-01 18:58:29 +01:00
rxi
6a160a3afe
Fixed iscallable() to handle the lack of metatable properly
2014-04-28 12:52:29 +01:00
rxi
283f7ee787
Changed lume.combine() to ignore nil args
2014-04-28 12:46:58 +01:00
rxi
076ca7972c
Version 1.3.1
2014-04-23 20:11:00 +01:00
rxi
c2311f9821
Added missing tostring() call on args in lume.trace()
2014-04-19 09:06:33 +01:00
rxi
8a2765a41b
Fixed lume.trace() to handle and print nil
argument
2014-04-18 19:15:13 +01:00
rxi
09847bd266
Version 1.3.0
2014-04-17 20:52:54 +01:00
rxi
cd3c0a1eea
Made callable tables be accepted as functions
2014-04-17 12:13:50 +01:00
rxi
3190d65130
Removed use of math.min and math.max in lume.slice()
2014-04-17 12:07:59 +01:00
rxi
c7471b32fb
Changed lume.uuid() to use local math_random()
2014-04-05 23:08:03 +01:00
rxi
330779fb0f
Added lume.chain(), added section to README.md
2014-04-05 16:30:10 +01:00
rxi
acdb58a447
Added lume.uuid(), tests and README.md section
2014-04-05 14:41:31 +01:00
rxi
fdf01937e2
Added lume.count() function and tests
2014-04-05 12:11:41 +01:00
rxi
3a4ce4fe3b
Added type check in lume.fn() and additional tests
2014-04-04 18:38:36 +01:00
rxi
30991649f8
Added lume.match()
2014-04-04 18:08:39 +01:00
rxi
dbd93b3861
Moved position of lume.combine() in readme and other files
2014-04-03 20:17:31 +01:00
rxi
5db6be936a
Added lume.combine() function
2014-04-03 20:09:40 +01:00
rxi
335b928cae
Removed function in lume.slice()
...
Moved the function index() from lume.slice()'s body to local var
absindex, this improves the performance of lume.slice() on luajit
significantly and improves it to a lesser extent on non-jit lua.
2014-04-01 20:16:39 +01:00
rxi
e6246834b7
Changed lume.trace() to round numbers to 2 decimal places
2014-03-30 18:31:14 +01:00
rxi
9bf2d24ee2
table.unpack() is now used if unpack() is not available.
2014-03-29 10:02:48 +00:00
rxi
89931c1ad8
Version 1.2.1
2014-03-27 17:57:19 +00:00
rxi
9ff4637201
Moved shared code of lume.split/trim() to local func
2014-03-19 21:05:34 +00:00
rxi
ad64d7af05
Fixed use of pattern special chars in lume.trim()
...
Using lua pattern special chars in the `chars` argument of lume.trim()
are now handled correctly and treated like any other character.
2014-03-19 20:14:48 +00:00
rxi
13a8edb2e7
Changed lume.split() to mimic python's str.split()
...
The lume.split() function now mimics python's str.split() function,
though it does not support the third argument (maxsplit)
2014-03-19 12:51:35 +00:00
rxi
a234e36975
Version 1.2.0
2014-03-18 12:12:38 +00:00
rxi
4ba373c2d1
Localised global funcs/variables
...
Set most of the global funcs / variables which are used to local
variables. This offers better performance in lua 5.1 and 5.2, and seems
to make no difference in luaJIT.
2014-03-18 12:07:53 +00:00
rxi
be40cd6276
Added caching to lume.lambda()
2014-03-15 21:58:26 +00:00
rxi
151b57adc6
Fixed behaviour for negative i argument on lume.slice()
...
A negative value for the `i` argument of lume.slice() is now handled
properly (used as an index from the end of the string) to mimicing the
behaviour of lua's string.sub()
2014-03-13 21:32:22 +00:00
rxi
cbafc49e8a
Added "unsupported type" error to lume.serialize()
...
The unsupported type error is raised if an unsupported type is
encountered in the table we are trying to serialize.
2014-03-12 21:16:32 +00:00
rxi
2d7fa98155
Added lume.weightedchoice()
2014-03-12 13:12:45 +00:00
rxi
fbb5cbac1a
Replaced table concat with str concat in lume.lambda()
...
This offers an improvement in performance for the function on Lua5.1,
5.2 and JIT 2.0.2
2014-03-08 22:19:55 +00:00
rxi
cf031025fd
Added lume.lambda()
2014-03-08 21:08:56 +00:00
rxi
a4fe134985
Version 1.1.2
2014-03-08 16:10:16 +00:00
rxi
2f388bc2c7
Moved lume.invert() to be near lume.clone()
...
This makes the series of python-like functions (map, all, any, reduce,
set, filter) consecutive in the source and readme, which seems like a
more logical order.
2014-03-08 15:23:13 +00:00
rxi
1bbb795a89
Changed lume.set() to make use of lume.invert()
2014-03-08 14:47:27 +00:00
rxi
8a76fd7595
Added lume.invert()
2014-03-08 14:45:08 +00:00
rxi
51189d190d
Made first
argument in lume.reduce() optional
2014-03-06 19:33:13 +00:00
rxi
e6d47627cd
Increased version to 1.1.1
2014-03-05 21:52:28 +00:00
rxi
05828bd840
Fixed module's table not updating in lume.hotswap()
...
Changed the returned values from pcall() in lume.hotswap() to be handled
correctly -- the second return value being the wrapped-function's first
return value. This bug would effect hotswapped modules which used the
modern approach of returning a table rather than creating globals.
2014-03-05 19:11:14 +00:00
rxi
83a051aadb
Improved lume.clamp()'s performance on non-JIT
...
Removed use of the functions math.max() and math.min() and replaced them
with and/ors:
[5000000 calls, Lua5.2]
old func: 1.37 seconds
new func: 0.53 seconds
2014-03-05 12:44:19 +00:00
rxi
a08436445d
Improved lume.distance()'s performance on non-JIT
...
Replaced use of the exponent operator with multiplications, yielding a
performance increase on non-JIT Lua:
[5000000 calls, Lua 5.1]
old func: 2.03 seconds
new func: 1.17 seconds
[5000000 calls, Lua 5.2]
old func: 1.60 seconds
new func: 0.89 seconds
[2000000000 calls, LuaJIT 2.0.2]
old func: 0.89 seconds
new func: 0.89 seconds
2014-03-05 12:18:49 +00:00
rxi
1cc16ffacd
Increased version to 1.1.0
2014-03-04 23:12:50 +00:00
rxi
f144927542
Added optional arg squared
to lume.distance()
2014-03-04 22:53:31 +00:00
rxi
dcc08346a2
Fixed lume.hotswap() to handle nonexistent modules properly
2014-03-04 12:35:35 +00:00
rxi
fb64932134
Added support for numerical keys to lume.format()
2014-03-04 12:18:50 +00:00
rxi
bdb2f0003e
Made lume.dostring() use load() if no loadstring()
...
lume.dostring() now checks if the loadstring() function (deprecated in
lua5.2) exists, and uses load() if it does not.
2014-03-03 22:10:58 +00:00
rxi
97907d5d13
Changed lume.format() to abort early if vars
is nil
2014-03-03 21:08:19 +00:00
rxi
8283410210
Substituted use of var name "arg" in lume.fn()
...
The use of a variable called "arg" was causing a bug in lume.fn() for
lua5.1 which creates a table named "arg" when a variable number of
arguments are used. The variable name has been changed to "args" to
avoid the conflict.
2014-03-03 21:01:39 +00:00
rxi
d1e6c0334b
Changed 'vars' arg in lume.format() to be optional
2014-03-03 20:37:15 +00:00
rxi
778e7f9800
Fixed lume.format() where missing keys were not ignored
2014-03-03 20:33:39 +00:00
rxi
bebf8d4fca
Fixed bug with negative j index in lume.slice()
...
Fixed a bug where giving lume.slice() a negative j index (or no j index)
would not result in the correct slice -- the behaviour now correctly
matches that of string.sub() when passing a negative j index.
2014-03-03 18:56:12 +00:00
rxi
4bb6f24213
Changed lume.once()'s return fn to handle args
2014-03-03 13:25:53 +00:00
rxi
c407ef9445
Changed lume.fn()'s returned fn to handle args
2014-03-03 13:20:51 +00:00
rxi
1cedfd9464
Added lume.each() function
2014-03-03 12:08:11 +00:00
rxi
bfcc23d285
Increased version to 1.0.9
2014-03-02 21:32:57 +00:00
rxi
f2877dbd6e
Added increment rounding to lume.round()
2014-03-02 21:30:15 +00:00
rxi
fbe585fc85
Added lume.trace() function
2014-03-02 20:48:21 +00:00
rxi
3324bb013c
Added error handling to lume.hotswap()
...
Changed lume.hotswap() to return an error and restore the global
environment if an error occurs when requiring the new package
2014-03-02 17:15:39 +00:00
rxi
842e367ccd
Changed lume.fn/once's returned func return, v1.0.8
...
* The functions which lume.fn() and lume.once() return now return their
inner functions' return value instead of nil
* Moved lume.once() in lume.lua and README.md to be near its similar
functions -- lume.fn() and lume.time()
2014-03-02 00:33:55 +00:00
rxi
d65556bc83
Fixed formerly broken lume.angle(), version 1.0.7
2014-03-01 20:27:33 +00:00
rxi
547446074f
Added lume.hotswap() fn, updated version to 1.0.6
2014-03-01 15:18:40 +00:00
rxi
0d85bd630f
Added lume.time(), incremented version revision
2014-02-28 19:40:16 +00:00
rxi
e018498a0d
Changed args for lume.any/all(), fixed README.md
...
* The functions lume.any() and lume.all() now have a default function if
one is not provided -- their default behaviour with a single argument
now matches that of Python.
* Updated README.md to reflect changes
* Fixed typo in lume.any()'s example in README.md
* Incremented version revision number
2014-02-28 12:51:50 +00:00
rxi
50eb3d9f52
Changed first
arg of lume.reduce to non-optional
2014-02-28 00:30:01 +00:00
rxi
3eec98906b
Removed "len" argument from lume.pingpong()
2014-02-27 23:35:07 +00:00
rxi
072e3149c2
Updated version number
2014-02-27 22:55:19 +00:00
rxi
34b2013c71
Changed funcs to treat tables as arrays by default
...
Changed the lume.set(), lume.merge() and lume.filter() functions to take
the argument `retainkeys` instead of `isarray`, and to treat the table
as an array by default (avoiding sparse arrays) instead of treating the
table as an associative array by default (retaining keys).
2014-02-27 22:42:42 +00:00
rxi
eeadcd307d
Added isarray
argument to lume.set
2014-02-27 22:17:36 +00:00
rxi
011b26943a
Fixed accidental use of global in lume.clone()
2014-02-27 21:31:26 +00:00
rxi
2f51dce71f
First commit
2014-02-27 20:19:10 +00:00