Description: fcl-json

This file as text.
(active) Revisions in this set:
baec255bbc8fc6eb7378c142148fa375398e35bc,a7951612da74ed7b709dc4b3ebb759eec1da3b2f,8d7a1585d7c0e7c0873f6196288a6e5f8b78972d
1f4b8a774f82ac843b0b3b09c377e6b22ac0f39a,9ac0a54ad2d05ef79cb6cd3556d5b9a71a829a31,76648d40225e8f267ef7db6f88720696cf532dc1
9918bb5619c218ea37a234ab93881a8c60e24b7f,8e1ecb6a67c48b8c31a5a31769af555f1fbbb87a,b5de5eed0e28f0d1fa3bad97af033a2038dd4bb2
a99ddc37538bfc87e169fa5b65a2af1d999d7f0c,3f4298dbcaf7efb912eea9a81db216fef6345903,00c6fbe8ba3d02220020e37e5d54eeb92b84d187
67ec1358966a0f7abd438b7634e70e256440e4b7,3b7f402136e1ffdfe8854f50c5bfe21f1e697d81,a07cd7cef18667c58e0c3b332d3354fc46598fac
cc8359b7035465e1b8e91c8c85108cf86f577a63,06748de38f55328bb612537a8f919a388505313d,ddf7126972972b2bd185c6e07f4d20600ce2cca6
8838f70345199512fc0f3fc096a19c91f6c586e0

Clicking a revision will expand files
 


* fpjsonvalue unit to convert between TValue (RTTI unit) and JSON
Commit consists out of
  • M packages/fcl-json/fpmake.pp
  • A packages/fcl-json/src/fpjsonvalue.pp


fcl-json: clean up, updated TestStrings
Commit consists out of
  • M packages/fcl-json/src/fpjsontopas.pp
  • M packages/fcl-json/tests/jsonconftest.pas
  • M packages/fcl-json/tests/tcjsontocode.pas
  • M packages/fcl-json/tests/testjson2code.lpi
  • M packages/fcl-json/tests/testjson2code.lpr
  • M packages/fcl-json/tests/testjsonconf.lpi


* Dotted filenames for package fcl-json
Commit consists out of
  • A packages/fcl-json/namespaced/FpJson.Apply.pp
  • A packages/fcl-json/namespaced/FpJson.Conf.pp
  • A packages/fcl-json/namespaced/FpJson.Data.pp
  • A packages/fcl-json/namespaced/FpJson.Fpjson.pp
  • A packages/fcl-json/namespaced/FpJson.Ini.pp
  • A packages/fcl-json/namespaced/FpJson.Json2Yaml.pp
  • A packages/fcl-json/namespaced/FpJson.Parser.pp
  • A packages/fcl-json/namespaced/FpJson.Reader.pp
  • A packages/fcl-json/namespaced/FpJson.Rtti.pp
  • A packages/fcl-json/namespaced/FpJson.Scanner.pp
  • A packages/fcl-json/namespaced/FpJson.ToPas.pp
  • A packages/fcl-json/namespaced/FpJson.Value.pp
  • A packages/fcl-json/namespaces.lst
  • M packages/fcl-json/src/fpjson.pp
  • M packages/fcl-json/src/fpjsonapply.pp
  • M packages/fcl-json/src/fpjsonrtti.pp
  • M packages/fcl-json/src/fpjsontopas.pp
  • M packages/fcl-json/src/fpjsonvalue.pp
  • M packages/fcl-json/src/json2yaml.pp
  • M packages/fcl-json/src/jsonconf.pp
  • M packages/fcl-json/src/jsonfpcunit.pp
  • M packages/fcl-json/src/jsonini.pp
  • M packages/fcl-json/src/jsonparser.pp
  • M packages/fcl-json/src/jsonreader.pp
  • M packages/fcl-json/src/jsonscanner.pp


* Fix compilation in unicode RTL
Commit consists out of
  • M packages/fcl-json/src/jsonscanner.pp


Waaay faster TJSONScanner.
Commit consists out of
  • M packages/fcl-json/src/jsonscanner.pp


* Fix compilation in unicode rtl
Commit consists out of
  • M packages/fcl-json/src/jsonscanner.pp


Use varints for TJSONScanner.FParts to save memory.
Commit consists out of
  • M packages/fcl-json/src/jsonscanner.pp


* Inline documentation of TJSONOption. Fixes issue gitlab 0040943
Commit consists out of
  • M packages/fcl-json/src/jsonscanner.pp


* Update some comments
Commit consists out of
  • M packages/fcl-json/src/jsonscanner.pp


* JSON Writer
Commit consists out of
  • M packages/fcl-json/fpmake.pp
  • A packages/fcl-json/namespaced/FpJson.Writer.pp
  • M packages/fcl-json/namespaces.lst
  • A packages/fcl-json/src/jsonwriter.pp


* OpenAPI, initial commit
Commit consists out of
  • M packages/fcl-json/fpmake.pp
  • A packages/fcl-json/namespaced/FpJson.Comparer.pp
  • M packages/fcl-json/namespaces.lst
  • A packages/fcl-json/src/jsoncomparer.pp
  • A packages/fcl-openapi/fpmake.pp
  • A packages/fcl-openapi/src/fpopenapi.consts.pp
  • A packages/fcl-openapi/src/fpopenapi.objects.pp
  • A packages/fcl-openapi/src/fpopenapi.pascaltypes.pp
  • A packages/fcl-openapi/src/fpopenapi.reader.pp
  • A packages/fcl-openapi/src/fpopenapi.types.pp
  • A packages/fcl-openapi/src/fpopenapi.writer.pp
  • A packages/fcl-openapi/tests/testopenapi.lpi
  • A packages/fcl-openapi/tests/testopenapi.pp
  • A packages/fcl-openapi/tests/utOpenAPIWriter.pp
  • A packages/fcl-openapi/tests/utOpenApi.pp
  • A packages/fcl-openapi/tests/utOpenApiReader.pp
  • M packages/fpmake_add.inc
  • M packages/fpmake_proc.inc


StringParse - without unnecessary conversions, speedup~12%
Commit consists out of
  • M packages/fcl-json/src/jsonreader.pp
  • M packages/fcl-json/src/jsonscanner.pp


Calculating string length immediately, speedup 2.5%
Commit consists out of
  • M packages/fcl-json/src/jsonscanner.pp


ParseString string finalization ~0.5–1%
Commit consists out of
  • M packages/fcl-json/src/jsonreader.pp


Fewer warnings
Commit consists out of
  • M packages/fcl-json/src/fpjson.pp
  • M packages/fcl-json/src/jsonscanner.pp


Build the string immediately if there are no special encoded characters, speedup ~6%
Commit consists out of
  • M packages/fcl-json/src/jsonscanner.pp


* Fix gitlab 0041563
Commit consists out of
  • M packages/fcl-json/src/jsonscanner.pp


* Raise exception in case of no JSON and joSingle. Fix issue gitlab 0041588
Commit consists out of
  • M packages/fcl-json/src/jsonparser.pp


Delphi compatibility.
Commit consists out of
  • M packages/fcl-json/src/fpjson.pp
  • M packages/fcl-passrc/src/pastree.pp

(inactive) Revisions in this set b2251e34691a63bbb61cfaecd6125db6a51a23c6,dd6ccd0fb4bf6ed6988ad04fb71ee441a4600438,5700cb56aca837a4ba11b3451ab3630596e98ca9,f2ba814b9e75bfae1aadfcb4fbefb0696f5c8c0d,1b7aefc11df9cf7f034a29c4c372d571ab49e78b,44a2d4a1eb57711b0050279cc9f4a5cf558bd38b,940016034c369bf8f20ac2cdd8b4d57bd0ff7a77,ba15672a4414526fec873833d40d6e7d432e34c9,38776ca494b22f518de94226143d1505e8df4a55,fb7c1d880519d633f03477a789c2c87bb7c14685,450f250b2cfb817e39f18d4e0929fe3f14189496,bcaae577989d727919bfe5e1f2b2cf9aed394bb6,10d913624dd54fbe8fb3a55fc45c77fa6267c84a,e2be33b4bed12ead6e7659c999d5bbf4b8ae705b,f259ca5e40a5974443045759f7dd2a4cb380e38c,00f015f593865a453949e56db8edb499766de06a,687384f09123943a7d97082dff4de7315faaee90,9658da7b2e11aa760cdfb6cf6119f30bcb5e21c2,2594c8c4bf48b82aec8d601a285375b3f61bcbc1,5bf63265aafe976efda4e030359fa5063a94cd6d,7e4d5a15e924b1a09c0ea8be50667f7215c0d7d4,d686abacc62989585a38d6a8dd98d6f63014abef,ca76902643cb58c30e0b12220e8fcb70921dce67,52130578c441dc5b1d0b812ff9df5a0314bb8f5e,43dc8c41fc3b6c797810ca4a4458ebbac50b0488,3539b5710b3ed08d6329f97b786dea617bfd5b95


fcl-json: clean up
Commit consists out of
  • M packages/fcl-json/src/fpjson.pp


fcl-json: fixed compile with fpc 3.2.2
Commit consists out of
  • M packages/fcl-json/src/fpjson.pp


fcl-json: fixed StringToJSONString
Commit consists out of
  • M packages/fcl-json/src/fpjson.pp
  • M packages/fcl-json/tests/jsonconftest.pas
  • M packages/fcl-json/tests/testjsondata.pas


fcl-json: StringToJSON: fixed pas2js compile and less mem allocations
Commit consists out of
  • M packages/fcl-json/src/fpjson.pp
  • M packages/fcl-json/tests/testjsondata.pas


fcl-json: fixed compile pas2js
Commit consists out of
  • M packages/fcl-json/src/fpjson.pp


fcl-json: add support to create JSONObject with QWord values
Commit consists out of
  • M packages/fcl-json/src/fpjson.pp
  • M packages/fcl-json/tests/testjsondata.pas


* PChar -> PAnsiChar
Commit consists out of
  • M packages/fcl-json/examples/simpledemo.pp
  • M packages/fcl-json/src/fpjson.pp
  • M packages/fcl-json/src/fpjsonrtti.pp
  • M packages/fcl-json/src/jsonreader.pp
  • M packages/fcl-json/src/jsonscanner.pp
  • M packages/fcl-json/tests/testjson.lpi
  • M packages/fcl-json/tests/testjsondata.pas
  • M packages/fcl-json/tests/testjsonparser.pas
  • M packages/fcl-json/tests/testjsonrtti.pas


* Added JSON fpcunit helper
Commit consists out of
  • M packages/fcl-json/fpmake.pp
  • A packages/fcl-json/src/jsonfpcunit.pp


* Use const string arguments where possible. Fixes issue 0040441
Commit consists out of
  • M packages/fcl-json/src/fpjson.pp
  • M packages/fcl-json/src/fpjsonapply.pp
  • M packages/fcl-json/src/fpjsonrtti.pp


* Add foForceLF to allow LF-separated files on windows. Fixes issue 0039893
Commit consists out of
  • M packages/fcl-json/src/fpjson.pp
  • M packages/fcl-json/tests/testjson.lpi
  • M packages/fcl-json/tests/testjsondata.pas


fcl-json: fixed compile with pas2js
Commit consists out of
  • M packages/fcl-json/src/fpjson.pp


* Replace widestring with unicodestring (faster on windows). Fixes issue 0040613
Commit consists out of
  • M packages/fcl-json/src/jsonscanner.pp


* Flush when saving. Fixes issue 0040938
Commit consists out of
  • M packages/fcl-json/src/jsonconf.pp


* Only flush when actually writing
Commit consists out of
  • M packages/fcl-json/src/jsonconf.pp


* Add foFormatFloat option to FormatJSON. Fixes issue 0040937
Commit consists out of
  • M packages/fcl-json/src/fpjson.pp
  • M packages/fcl-json/tests/testjson.lpi
  • M packages/fcl-json/tests/testjsondata.pas


* Make flush virtual. Fixes issue 0040942
Commit consists out of
  • M packages/fcl-json/src/jsonconf.pp


fcl-json: less hints
Commit consists out of
  • M packages/fcl-json/src/fpjson.pp


Faster FormatJSON.
Commit consists out of
  • M packages/fcl-json/src/fpjson.pp


fpjson.pp adjustments: 37.5% growth, remove unused NCachedIndents, de-unoptimize potentially usable IndentSize = 0.
Commit consists out of
  • M packages/fcl-json/src/fpjson.pp

fcl-json: clean up
Commit consists out of
  • M packages/fcl-json/src/fpjson.pp


Reducing unnecessary UTF8<->String encoding conversions
Commit consists out of
  • M packages/fcl-json/src/fpjson.pp


Remove implicit string conversion. The digits of the number will always be less than $7F. ~7%
Commit consists out of
  • M packages/fcl-json/src/jsonreader.pp


Use JSONType for checking, "is" is heavier, speedup~3%
Commit consists out of
  • M packages/fcl-json/src/jsonparser.pp


IndexOfName (string finalization) another speedup ~1%
Commit consists out of
  • M packages/fcl-json/src/fpjson.pp


Remove finalization calls in TJSONObject.Create(Elements), speedup~2.5%
Commit consists out of
  • M packages/fcl-json/src/fpjson.pp
  • M packages/fcl-json/src/jsonparser.pp


* Fix issue 0040835
Commit consists out of
  • M packages/fcl-json/src/fpjsonrtti.pp
  • M packages/fcl-json/tests/testcomps.pas
  • M packages/fcl-json/tests/testjson.lpi
  • M packages/fcl-json/tests/testjsonrtti.pas