Commit Graph

91 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
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
Paul Kulchenko
0a9326654a Fixed typo in a call for 'meta' comment. 2012-11-26 18:31:36 -08:00
Paul Kulchenko
c1e8278d57 Updated rockspec for v0.19. 2012-11-16 21:44:10 -08:00
Paul Kulchenko
4618c506a3 Merge pull request #2 from hinrik/master
Merged rockspec.
2012-11-16 21:39:27 -08: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
Hinrik Örn Sigurðsson
05efc8acc0 Add Rockspec 2012-11-16 08:44:45 +00: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
48a0882064 Fixed an issue with serializing userdata that doesn't provide tostring(). 2012-09-12 15:18:50 -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
304fbe2014 Added ability to provide your own sorting function 2012-06-13 16:42: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
75c34f67f3 Added maxlevel option to limit the depth of nested tables 2012-06-13 09:50:26 -07:00
Paul Kulchenko
e89d8b8a9b Added options to configure serialization process 2012-06-12 23:17:44 -07:00
Paul Kulchenko
29b8d35fd3 Replaced \010 with \n for better readability 2012-06-09 23:33:29 -07:00
Paul Kulchenko
09e7cbee76 Changed 'math.huge' to 1/0 for better portability (as some environments may not have 'math' table available) 2012-06-09 23:32:59 -07:00
Paul Kulchenko
8fe0171c81 Merge branch 'master' of github.com:pkulchenko/serpent 2012-06-06 08:25:35 -07:00
Paul Kulchenko
3f1a4c0a66 Added 'goto' to the list of keywords for Lua 5.2 2012-06-06 08:24:43 -07:00
Paul Kulchenko
7be5ecd21a Fixed comments in the test 2012-06-06 08:24:14 -07:00
Paul Kulchenko
5b65cc5bde Merge pull request #1 from dkulchenko/patch-1
Syntax highlight usage in README
2012-06-05 20:39:08 -07:00
Daniil Kulchenko
a10c80a6e3 Syntax highlight usage in README 2012-06-05 20:09:41 -07:00
Paul Kulchenko
179fb66468 Updated README to fix code examples 2012-06-03 22:53:42 -07:00
Paul Kulchenko
12ee78a18a Updated README to fix indentation 2012-06-03 22:52:02 -07:00
Paul Kulchenko
9bc76dc20c Initial commit 2012-06-03 22:34:39 -07:00
Paul Kulchenko
727c82f409 Initial commit 2012-06-01 23:11:32 -07:00