Commit Graph

21 Commits

Author SHA1 Message Date
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