Commit Graph

28 Commits

Author SHA1 Message Date
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
4e4a19df1d Added load function to deserialize; updated documentation (closes #9). 2013-11-05 11:52:05 -08: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
f7b2a819c0 Fixed an issue missing numerical keys (fixes #8). 2013-06-12 11:04:56 -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
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
Jess Telford
fb1f135674 Added valtypeignore option 2013-01-04 19:24:30 +11:00
Jess Telford
6892d907ec rename keywhitelist to keyallow for consistency with ignore 2013-01-04 13:37:49 +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
Paul Kulchenko
07e85484df Added serialization of metatables using __tostring (when present). 2012-11-16 21:21:42 -08:00
Paul Kulchenko
d8e92a3388 Fixed an issue with serializing functions as keys when the keys are created as part of the delayed shared reference processing. 2012-11-16 15:07:04 -08:00
Paul Kulchenko
6f0b9e75e0 Fixed an issue with serializing data structures with circular references.
Fixed an issue with serializing keys that point to shared references.
Optimized overall serialization to inline values when possible.
2012-09-14 14:31:37 -07:00
Paul Kulchenko
e72ca380f9 Removed confusing comment from serialized results 2012-08-28 21:42:28 -07:00
Paul Kulchenko
3471396adb Added 'comment=num' option to limit comments up to particular depth level 2012-06-19 12:29:42 -07:00
Paul Kulchenko
ad84a79966 Added 'ignore' parameter to allow ignoring table values 2012-06-16 19:43:15 -07:00
Paul Kulchenko
d9e1055bd0 Fixed an issue with negative and real value numeric keys being misplaced 2012-06-13 21:06:23 -07:00
Paul Kulchenko
82a4aee176 Fixed an issue with string keys with numeric values ['3'] getting mixed with real numeric keys 2012-06-13 11:07:59 -07:00
Paul Kulchenko
428061f498 Fixed key sorting and removed addresses from names of temp variables for a more stable output. 2012-06-13 10:21:44 -07:00
Paul Kulchenko
e89d8b8a9b Added options to configure serialization process 2012-06-12 23:17:44 -07:00
Paul Kulchenko
7be5ecd21a Fixed comments in the test 2012-06-06 08:24:14 -07:00
Paul Kulchenko
9bc76dc20c Initial commit 2012-06-03 22:34:39 -07:00