Description: fcl-json and -schema
This file as text.
(active) Revisions in this set:
baec255bbc8fc6eb7378c142148fa375398e35bc,a7951612da74ed7b709dc4b3ebb759eec1da3b2f,b2251e34691a63bbb61cfaecd6125db6a51a23c6
dd6ccd0fb4bf6ed6988ad04fb71ee441a4600438,5700cb56aca837a4ba11b3451ab3630596e98ca9,f2ba814b9e75bfae1aadfcb4fbefb0696f5c8c0d
1b7aefc11df9cf7f034a29c4c372d571ab49e78b,44a2d4a1eb57711b0050279cc9f4a5cf558bd38b,940016034c369bf8f20ac2cdd8b4d57bd0ff7a77
8d7a1585d7c0e7c0873f6196288a6e5f8b78972d,ba15672a4414526fec873833d40d6e7d432e34c9,38776ca494b22f518de94226143d1505e8df4a55
fb7c1d880519d633f03477a789c2c87bb7c14685,1f4b8a774f82ac843b0b3b09c377e6b22ac0f39a,450f250b2cfb817e39f18d4e0929fe3f14189496
bcaae577989d727919bfe5e1f2b2cf9aed394bb6,9ac0a54ad2d05ef79cb6cd3556d5b9a71a829a31,76648d40225e8f267ef7db6f88720696cf532dc1
9918bb5619c218ea37a234ab93881a8c60e24b7f,a65fff24e938b9013076c5462e121f3f3b90d86b,13fbc876e0b46bc7b4b6619b2f1b0ef82b981552
10d913624dd54fbe8fb3a55fc45c77fa6267c84a,e2be33b4bed12ead6e7659c999d5bbf4b8ae705b,f259ca5e40a5974443045759f7dd2a4cb380e38c
00f015f593865a453949e56db8edb499766de06a,8e1ecb6a67c48b8c31a5a31769af555f1fbbb87a,b5de5eed0e28f0d1fa3bad97af033a2038dd4bb2
dc2261eff041fd500eb3d4df3cb1a7cbb1302af6,f6419874645e723d5e105c8f78530a31827ec9e6,a99ddc37538bfc87e169fa5b65a2af1d999d7f0c
4f10c539baabb55ad648b1c23fa3edbe77295115,77cb7cd454d4c98a9ae46537654a63a67e3f0046,31448dcf03274e3760cf27ea838b56c86fa9591d
b8cc7fb17591772e40cc2232acf85b386ffef5a4,cc0adf66d0491527fdad460db144f372f6437b62,2d40b7c463eb3c0b7eb698c3d506909e0fcb0103
f52350382817a9aac3bbab9b8e869332d209bcb6,3f4298dbcaf7efb912eea9a81db216fef6345903,b95db4b610eec3bb298d1f85b30e36dcd799dae8
38b5a4cbb7546f1943ffbfbaef6124cbf178cdbc,86da0baf02481d1afe25962bcd46f243edf3566a,8d24a28c56af4482982d8e44db12645baa59f37f
0ca0990e8bda7df7971edf4e8d2ce35b56a1021a,8cedb10c3a01510b921bc918d674cfd94b04349c,687384f09123943a7d97082dff4de7315faaee90
9b2b1c12ff14617877a441d51ff27c01c196deb7,223745f6b7bebee9efe845f390f8287bf8604305,98b551d261663612e3af5016bb5b406b9a6a4e89
9658da7b2e11aa760cdfb6cf6119f30bcb5e21c2,2594c8c4bf48b82aec8d601a285375b3f61bcbc1,0e2890630c1cf3f0126ed67c795b876d33d61add
9424e9fda5e528cee0eed7fa1a98578fff90be06,3c1e3b663a2e7e89ae1ba39734fb57b6d7b9c04f,391c5b79e433cbee3f3d2d34f2e382afd5475f0c
27e2871246564d18f829820f2e78ffdc2ff93004,78ccbc6d607460921248507d3f9f6ff8a24659aa,5bf63265aafe976efda4e030359fa5063a94cd6d
7e4d5a15e924b1a09c0ea8be50667f7215c0d7d4,e4224aea8820b3e46982c0dd5d145e206e7f3e9d,2d343150529f33b56fc9ecb1b2a7fdc02c8ff79f
d216010b3fd02fcb6b48f9346fe5a1d1ec6e546e,d686abacc62989585a38d6a8dd98d6f63014abef,00c6fbe8ba3d02220020e37e5d54eeb92b84d187
ca76902643cb58c30e0b12220e8fcb70921dce67,52130578c441dc5b1d0b812ff9df5a0314bb8f5e,67ec1358966a0f7abd438b7634e70e256440e4b7
3b7f402136e1ffdfe8854f50c5bfe21f1e697d81,43dc8c41fc3b6c797810ca4a4458ebbac50b0488,a07cd7cef18667c58e0c3b332d3354fc46598fac
cc8359b7035465e1b8e91c8c85108cf86f577a63,06748de38f55328bb612537a8f919a388505313d,ddf7126972972b2bd185c6e07f4d20600ce2cca6
6001b7e9771de235ba1ee09781243495e8ab340d,5ce1288e9e24cafdca21698d4cddf6994df5b698,745e21ba0b32f88ee245aa5ee66d97f1f3700fa0
435e50b55cb5a6e30cfebcc6ba30261b8f020b2b,f3b776834edb64d7c4264001c0c0ffb765da2f3b,8e67f7d2b251f97369c667fc1fe7528965c84083
ab471543d2e54c7ed05fe9508f1cf126f7d798ac,f906495ef82e9797af6ae885f698eec50ef66b66,8838f70345199512fc0f3fc096a19c91f6c586e0
3539b5710b3ed08d6329f97b786dea617bfd5b95
Clicking a revision will expand files
* fpjsonvalue unit to convert between TValue (RTTI unit) and JSON
fcl-json: clean up, updated TestStrings
fcl-json: fixed compile with fpc 3.2.2
fcl-json: fixed StringToJSONString
fcl-json: StringToJSON: fixed pas2js compile and less mem allocations
fcl-json: fixed compile pas2js
fcl-json: add support to create JSONObject with QWord values
* Dotted filenames for package fcl-json
* Added JSON fpcunit helper
* Use const string arguments where possible. Fixes issue
gitlab 0040441
* Add foForceLF to allow LF-separated files on windows. Fixes issue
gitlab 0039893
* Fix compilation in unicode RTL
fcl-json: fixed compile with pas2js
* Replace widestring with unicodestring (faster on windows). Fixes issue
gitlab 0040613
Waaay faster TJSONScanner.
* Fix compilation in unicode rtl
Use varints for TJSONScanner.FParts to save memory.
* Rename keyword info to avoid confusion
* Only flush when actually writing
* Add readfromscanner, fix reading type
* Pascal code generation starting from json-schema
* Refactor to use jsonwriter
* Remove references to openAPI
* Some cleanup, fix warnings/hints
* Tests for code generation. Change type handling to create pascal type data for all data
* Calculate dependencies correctly, only generate definitions for schema types
* OpenAPI, initial commit
* Fixes in array type handling
* Add newline after uses clause
* Corrections when writing file: write in 3.1 format
* Do not call parsing if JSON is empty (e.g. return 204 with empty body)
* System.Types for Delphi code
* Search for correct element type when checking array types
* Add possibility to specify UTC or not
* Generate also string (enum) type definitions
* Fix naming for string types
fpjson.pp adjustments: 37.5% growth, remove unused NCachedIndents, de-unoptimize potentially usable IndentSize = 0.
* Generate API array types
* Sanitize property names and type names
* Not all types may need serialization
* Serialize arrays of basic types
* Remove some more debug statements
Reducing unnecessary UTF8<->String encoding conversions
* Support anonymous types in arrays
better handling of array types
Remove implicit string conversion. The digits of the number will always be less than $7F. ~7%
StringParse - without unnecessary conversions, speedup~12%
Use JSONType for checking, "is" is heavier, speedup~3%
IndexOfName (string finalization) another speedup ~1%
Calculating string length immediately, speedup 2.5%
ParseString string finalization ~0.5–1%
Remove finalization calls in TJSONObject.Create(Elements), speedup~2.5%
Build the string immediately if there are no special encoded characters, speedup ~6%
* Raise exception in case of no JSON and joSingle. Fix issue
gitlab 0041588
* Allow to "reserve" type names which need to be transformed
* Fix checking of interdependent types
* Additional standard types
* mechanism for de-duplicating identifiers, and shortening long identifiers
* Additional case of duplicate names
(inactive) Revisions in this set 7631dfb563f38c9e595de8f50ef96826fabb788d,c745e2cfba3dee29c22a28ac313d6776e5118c32
* Use memorystream as a kind of tstringbuilder for json escaping(StringToJSONString), fixes bug
0039525
* improved version that is still readable and has hex inline. Most importantly, it writes directly to result string rather than a temp, saving a copy that is hurting specially for longer strings.