aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-08-29Fix #19HEADmasterOskari Timperi
2021-08-29Fix #18Oskari Timperi
2020-04-22Merge pull request #17 from tmokazaki/build_nim_1.2Oskari Timperi
fix build on v1.2
2020-04-21remove parameter since there is no such parameter in v1.2Tomohiko OKAZAKI
2019-09-24Fixes for Nim 1.0Oskari Timperi
2019-06-25Merge pull request #13 from xcokazaki/fix-type-check-on-nim-0.20Oskari Timperi
Update nim 0.20
2019-06-25move conditional checktomohiko okazaki
2019-06-24Merge pull request #14 from oswjk/fix-travisOskari Timperi
Fix travis build
2019-06-24Fix travis buildOskari Timperi
See https://github.com/nim-lang/Nim/issues/11454
2019-06-17fix testtomohiko okazaki
2019-06-16support nim 0.20.0tomohiko okazaki
2019-03-12avoid index error if input size is zero (#1)Tomohiko OKAZAKI
avoid index error if input size is zero (#1)
2018-10-10Merge remote-tracking branch 'timo/pr_fix_nimble'Oskari Timperi
2018-10-10Merge pull request #10 from oswjk/fixes-for-nim-0.19Oskari Timperi
Small fixes for Nim 0.19 compatibility
2018-10-10bump versionTimothee Cour
2018-10-09Small fixes for Nim 0.19 compatibilityOskari Timperi
2018-05-09Merge pull request #6 from timotheecour/patch-1Oskari Timperi
Rename TODO to TODO.md
2018-05-08Rename TODO to TODO.mdTimothee Cour
(more standard, plays better with binary exclusions, etc)
2018-05-05Add nimble task for building conformance suiteOskari Timperi
2018-05-05Update TODOOskari Timperi
2018-05-05Add documentationOskari Timperi
2018-05-05Change a relative import to absoluteOskari Timperi
2018-05-05Add a little bit of documentationOskari Timperi
2018-04-30First try at somewhat working AnyOskari Timperi
Now users can register their own types to work with Any. WKT's are automatically registered. User messages can be packed into an Any and unpacked from an Any. Then there's support for converting Any to/from JSON with user types and WKT's. The conformance test suite looks always better and better: Required.Proto3.JsonInput.Int32FieldLeadingZero Required.Proto3.JsonInput.Int32FieldNegativeWithLeadingZero Required.Proto3.JsonInput.Struct.ProtobufOutput Required.Proto3.JsonInput.Uint64FieldMaxValueNotQuoted.JsonOutput Required.Proto3.JsonInput.Uint64FieldMaxValueNotQuoted.ProtobufOutput Required.Proto3.JsonInput.ValueAcceptNull.JsonOutput Required.Proto3.JsonInput.ValueAcceptNull.ProtobufOutput Required.Proto3.ProtobufInput.RepeatedScalarSelectsLast.DOUBLE.JsonOutput Required.Proto3.ProtobufInput.ValidDataRepeated.DOUBLE.JsonOutput CONFORMANCE SUITE FAILED: 594 successes, 194 skipped, 0 expected failures, 9 unexpected failures.
2018-04-29Re-generate WKTs & small fixes to themOskari Timperi
2018-04-29Try to be more in line with proto3 specOskari Timperi
And the other implementations. Namely, use the default values of fields for checking if they are present. This means that we also don't generate the `hasSomeField` procs for anything else than oneofs and messages. Also make some changes to oneofs. Include a `NotSet` in the oneof enums which can be used to see if a oneof field has a value or not. With these changes, the conformance test suite reports the following: Required.Proto3.JsonInput.Any.JsonOutput Required.Proto3.JsonInput.Any.ProtobufOutput Required.Proto3.JsonInput.AnyNested.JsonOutput Required.Proto3.JsonInput.AnyNested.ProtobufOutput Required.Proto3.JsonInput.AnyUnorderedTypeTag.JsonOutput Required.Proto3.JsonInput.AnyUnorderedTypeTag.ProtobufOutput Required.Proto3.JsonInput.AnyWithDuration.JsonOutput Required.Proto3.JsonInput.AnyWithDuration.ProtobufOutput Required.Proto3.JsonInput.AnyWithFieldMask.JsonOutput Required.Proto3.JsonInput.AnyWithFieldMask.ProtobufOutput Required.Proto3.JsonInput.AnyWithInt32ValueWrapper.JsonOutput Required.Proto3.JsonInput.AnyWithInt32ValueWrapper.ProtobufOutput Required.Proto3.JsonInput.AnyWithStruct.JsonOutput Required.Proto3.JsonInput.AnyWithStruct.ProtobufOutput Required.Proto3.JsonInput.AnyWithTimestamp.JsonOutput Required.Proto3.JsonInput.AnyWithTimestamp.ProtobufOutput Required.Proto3.JsonInput.AnyWithValueForInteger.JsonOutput Required.Proto3.JsonInput.AnyWithValueForInteger.ProtobufOutput Required.Proto3.JsonInput.AnyWithValueForJsonObject.JsonOutput Required.Proto3.JsonInput.AnyWithValueForJsonObject.ProtobufOutput Required.Proto3.JsonInput.Int32FieldLeadingZero Required.Proto3.JsonInput.Int32FieldNegativeWithLeadingZero Required.Proto3.JsonInput.Struct.ProtobufOutput Required.Proto3.JsonInput.Uint64FieldMaxValueNotQuoted.JsonOutput Required.Proto3.JsonInput.Uint64FieldMaxValueNotQuoted.ProtobufOutput Required.Proto3.JsonInput.ValueAcceptNull.JsonOutput Required.Proto3.JsonInput.ValueAcceptNull.ProtobufOutput Required.Proto3.ProtobufInput.RepeatedScalarSelectsLast.DOUBLE.JsonOutput Required.Proto3.ProtobufInput.ValidDataRepeated.DOUBLE.JsonOutput CONFORMANCE SUITE FAILED: 574 successes, 194 skipped, 0 expected failures, 29 unexpected failures.
2018-04-27Fix JSON parsing of FieldMaskOskari Timperi
The camelcasing proc was not implemented so conformance suite didn't like us.
2018-04-27Fix JSON parsing of more WKTsOskari Timperi
See the commit 44b39c7 for more information.
2018-04-27Fix Duration JSON parsingOskari Timperi
I use `include duration_pb` in the `duration.nim` file. This has the effect of not using the property setter procs when doing assignments! Instead, we directly use the member variable bypassing the setter. This means that `hasField` is not updated. Which means that when serializing a message that was parsed from JSON, we don't serialize the `Duration.seconds` and `Duration.nanos` fields because the library thinks they are not set. The fix for now is to use the dedicated `setFoo` procs for setting fields in these WKT extra functionality files which include the corresponding `*_pb.nim` file. This is not a problem when using `import`, as the fields are private to the `*_pb.nim` module, so outside code uses the property setters when doing assignments.
2018-04-27Fix parsing oneofs from JSONOskari Timperi
We should fail parsing if we see multiple oneof members in the same message. This is checked by conformance test suite.
2018-04-27Generate object variants for oneofsOskari Timperi
This fixes a segfault problem that I had, when running the conformance test suite. The following piece of code segfaulted on the last assignment: msg.oneofUint32 = 1 msg.oneofString = "test" If the first assignment was `0`, then there was no problem. Now we use the object variant, which gives nim runtime the ability to track what data the union holds.
2018-04-26Add initial JSON parsing supportOskari Timperi
It's looking quite nice from conformance point of view: CONFORMANCE SUITE FAILED: 564 successes, 194 skipped, 0 expected failures, 38 unexpected failures.
2018-04-26Fixes to FieldMask serializationOskari Timperi
Basically just being more strict about the paths than before.
2018-04-26Fixes to bytes handlingOskari Timperi
2018-04-25Move WKT JSON support procs to their own filesOskari Timperi
2018-04-25Add travis build badge to README.mdOskari Timperi
2018-04-25Build examples on travisOskari Timperi
2018-04-25Update examplesOskari Timperi
2018-04-25Update .travis.ymltravisOskari Timperi
2018-04-24Update .travis.ymlOskari Timperi
2018-04-24Update .travis.ymlOskari Timperi
2018-04-24Add initial .travis.ymlOskari Timperi
2018-04-24Replace bytes type with seq[byte]Oskari Timperi
2018-04-19Update README.mdOskari Timperi
2018-04-19Use parseopt2 in nimpb_buildOskari Timperi
2018-04-17Update examplesOskari Timperi
2018-04-14Allow services to be generated in their own filesOskari Timperi
2018-04-14Make ServiceGenerator an objectOskari Timperi
The object has a number of callbacks, which the service backend can fill to perform different tasks. Currently there are two callbacks: genImports and genService. genImports is called once per file and genService once per service.
2018-04-12Generate camelCase field namesOskari Timperi
2018-04-12Move descriptor_pb.nim to nimpb/wktOskari Timperi