Paul Kulchenko
049e951ffb
Added level
to the parameters of the custom function ( closes #25 ).
2017-08-31 22:20:30 -07:00
Paul Kulchenko
d304d81c09
Updated list formatting in the documentation for consistency.
2017-08-31 22:19:50 -07:00
Paul Kulchenko
5b5f694082
Added maxlength
option to limit the space taken by table elements.
2017-02-18 22:27:33 -08:00
Paul Kulchenko
7f46cfda57
Optimized serialization of functions when nocode
option is specified.
2017-02-17 21:55:40 -08:00
Paul Kulchenko
9f48b55391
Added protection from __serialize
check failing ( pkulchenko/ZeroBraneStudio#732 ).
...
This protects from run-time error `field or property __serialize does not exist`
on `getmetatable(t).__serialize` check in some Lua engines (for example, Unity).
2017-02-16 21:36:58 -08:00
Paul Kulchenko
545c8fc8a6
Added keyignore
option for the serializer.
2015-07-24 21:40:43 -07:00
Paul Kulchenko
2d845adb49
Added check for environments that may not have 'default' tables as tables.
2015-05-18 21:11:16 -07:00
Paul Kulchenko
06a575ed69
Added numeric format to preserve floating point precision ( closes #17 ).
2015-05-07 22:55:21 -07:00
Paul Kulchenko
dca4b8c1d8
Added using debug.metatable
when available.
2015-05-07 22:42:24 -07:00
Paul Kulchenko
664b6eebea
Improved handling of failures in __tostring
( pkulchenko/ZeroBraneStudio#446 ).
2015-05-07 09:03:58 -07:00
Paul Kulchenko
d625641f65
Updated documentation for 0.28.
2015-05-06 23:27:44 -07:00
Paul Kulchenko
d78f212b71
Switched to a method proposed by @SoniEx2 to disallow function calls ( #15 ).
2015-01-24 13:56:33 -08:00
Paul Kulchenko
9ed094ba07
Added more tostring
for Lua 5.3 support ( pkulchenko/ZeroBraneStudio#401 ).
2015-01-23 20:40:17 -08:00
Paul Kulchenko
a5bec96f46
Updated environment handling to localize the impact ( #15 ).
2015-01-23 20:39:17 -08:00
Paul Kulchenko
3fcbb72531
Added setting env to protect against assigning global functions ( closes #15 ).
2015-01-20 20:54:33 -08:00
Paul Kulchenko
ce5281c1f5
Updated tests to work with Lua 5.3.
2015-01-20 20:30:36 -08:00
Paul Kulchenko
7ff75bebd7
Updated copyright year.
2015-01-19 21:54:46 -08:00
Paul Kulchenko
0c5b2603bb
Added explicit tostring
for Lua 5.3 with LUA_NOCVTN2S
set ( pkulchenko/ZeroBraneStudio#401 ).
2015-01-19 21:45:42 -08:00
Paul Kulchenko
026f4e1a5c
Updated version number.
2014-01-30 16:06:05 -08:00
Tommy Nguyen
8d55e4bc56
Fixed crash when not all Lua standard libraries are loaded.
2014-01-31 00:34:33 +01:00
Paul Kulchenko
f2fc9e7517
Improved Lua 5.2 support for serialized functions.
2014-01-19 21:40:03 -08:00
Paul Kulchenko
8070d1edbb
Updated documentation for 0.27.
2014-01-11 10:38:08 -08:00
Paul Kulchenko
ca4140a2d1
Fixed (properly this time) order of elements in the array part ( fixes #13 ).
2014-01-10 16:05:19 -08:00
Paul Kulchenko
7d56d50a9c
Fixed order of elements in the array part with sortkeys=true
( fixes #13 ).
2014-01-10 10:27:26 -08:00
Paul Kulchenko
06873d12cd
Updated custom formatter documentation ( closes #11 ).
2014-01-09 14:05:47 -08:00
Paul Kulchenko
4e4a19df1d
Added load
function to deserialize; updated documentation ( closes #9 ).
2013-11-05 11:52:05 -08:00
Paul Kulchenko
b290a5d522
Added spec for 0.25.
2013-11-02 19:22:28 -07:00
Paul Kulchenko
6bc848da7d
Updated documentation to clarify defaults and the difference between serialization and pretty printing (ref #9 ).
2013-11-02 19:20:59 -07:00
Paul Kulchenko
69e760de17
Updated LICENSE information.
2013-10-05 22:55:14 -07:00
Paul Kulchenko
a4e258cb77
Fixed an issue with mixed tables that may be missing keys.
...
Earlier optimization depended on incorrect assumption that `next` can be
started by using #t, which is not the case.
2013-10-01 20:52:34 -07:00
Paul Kulchenko
29d2e11920
Optimized processing of tables with numeric indexes.
2013-09-30 21:17:59 -07:00
Paul Kulchenko
115b30ea77
Added maxnum
option to limit the number of elements in tables.
2013-09-29 14:33:15 -07:00
Paul Kulchenko
28d1f0f49d
Updated documentation for 0.24.
2013-06-12 11:06:02 -07:00
Paul Kulchenko
f7b2a819c0
Fixed an issue missing numerical keys ( fixes #8 ).
2013-06-12 11:04:56 -07:00
Paul Kulchenko
2d09171357
Fixed an issue with luaffi that returns getmetatable(ffi.C)
as true
.
2013-06-11 00:02:22 -07:00
Paul Kulchenko
0c1483c799
Added support for cdata
type in LuaJIT (thanks to [Evan]( https://github.com/neomantra )).
2013-03-24 15:23:31 -07:00
Paul Kulchenko
a716bd877d
Added comment to indicate incomplete output.
2013-03-22 15:00:55 -07:00
Paul Kulchenko
a36b3fec71
Added support for metatables with __serialize method.
2013-03-05 10:38:06 -08:00
Paul Kulchenko
7f58e5899c
Added handling of metatables with __tostring method.
2013-03-05 10:28:26 -08:00
Paul Kulchenko
4883768d13
Fixed an issue with having too many locals in self-reference section.
2013-03-04 11:18:29 -08:00
Paul Kulchenko
9db92970d3
Fixed emitting premature circular reference in self-reference section, which caused invalid serialization.
2013-02-27 23:19:53 -08:00
Thijs Schreijer
fff87fea74
Modified the sort function signature to also pass the original table, so not only keys are available when sorting, but also the values in the original table.
2013-02-27 22:31:18 +01:00
Paul Kulchenko
16c5599903
Added ability to process __tostring results that may be non-string values.
2013-01-15 11:53:07 -08:00
Paul Kulchenko
bb73826310
Renamed ignore
option to valignore
for consistency.
2013-01-08 10:09:12 -08:00
Paul Kulchenko
87b5d0f376
Merge pull request #4 from jesstelford/valtypeignore
...
Added `valtypeignore` option.
2013-01-04 10:02:47 -08:00
Jess Telford
fb1f135674
Added valtypeignore option
2013-01-04 19:24:30 +11:00
Paul Kulchenko
783645f2ad
Merge pull request #3 from jesstelford/keywhitelist
...
Added `keyallow` option to allow serialization of only whitelisted keys.
2013-01-03 19:00:04 -08:00
Jess Telford
6892d907ec
rename keywhitelist to keyallow for consistency with ignore
2013-01-04 13:37:49 +11:00
Jess Telford
fc844df716
Updated documentation to include keywhitelist option
2013-01-04 00:45:16 +11:00
Jess Telford
832af701d3
Allow serialization of only whitelisted keys
...
Example:
local a = {
foo = 'bar',
[1] = 2,
[true] = 'only me'
}
local options = {
keywhitelist = {
['foo'] = true,
[true] = true
},
ignore = {
['bar'] = true
}
}
print(serpent.block(a, options))
-- output:
{
[true] = "only me"
}
2013-01-04 00:19:20 +11:00