Comments (11)
Discussed this here: fsprojects/Fleece#65
Requires substantial effort so marking as nice addition for now.
from falanx.
After discussion with @gusty we think this is best done in Fleece.
from falanx.
@gusty Can you remember what needs to be done for this?
from falanx.
Yes, there's no built-in support in Fleece for enums.
We can add a default codec there, based either on numbers or names. We need to decide which, it sounds to me that names are best suited for human-readable json.
Otherwise, since enums can't contain static members, the only way to encode them externally is by using explicit combinators.
Let me know which way you would prefer to move forward, for Falanx.
from falanx.
@gusty I think the reasoning around json encoding is to be more human readable so lets just go for names for now although the proto definition of json encoding is this:
enum | string | "FOO_BAR" |
The name of the enum value as specified in proto is used. Parsers accept both enum names and integer values.
from falanx.
OK, let's add an overload for this.
from falanx.
This is done in Fleece. Once a new nuget is created we should be able to reference it and fix this.
from falanx.
BTW: I think this
Parsers accept both enum names and integer values.
is also doable in Fleece, the question is whether it makes sense, as it would work one way only.
from falanx.
Why closing this without merging #169 ?
from falanx.
Just for the sake of closing it? But the issue is real and the PR that would solve it is not merged.
from falanx.
I know, but in the OSS world you never know who's using what.
If you're not the maintainer and can't merge the PR that will effectively close this issue, you should leave it open.
By closing it this way you are giving the false information that the issue is resolved, when is not.
from falanx.
Related Issues (20)
- Usage of external project resources HOT 4
- A proto file with a normal field follows by a oneOf results in incorrect generated code
- Missing oneOf property assignment in a message with more than one oneOf
- Recursively nested types fail HOT 7
- Mutual recursion is not supported HOT 1
- Enum with duplicate value produced code with duplicates
- Field ordering test produces out of ordered assignments in json HOT 1
- Running falanx on a proto file with a map in it fails with error HOT 2
- A proto message with primitive field then a map throws a not implemented exception HOT 1
- In a proto message a map followed by a primitive causes an exception HOT 1
- Poor error message HOT 2
- Enum in class is not working: lead.proto.fs(251, 13): [FS0001] No overloads match for method 'OfJson'. HOT 1
- update froto HOT 2
- Is there a way to import well known types?
- Generation fails when an Enum is inside of a oneof block HOT 1
- Move to FsProjects HOT 4
- It failed to build when there's a "bytes" field in the "oneof" HOT 1
- Parse fail for Mapbox vector_tile.proto HOT 1
- Quick question: does this use https://github.com/grpc/grpc-dotnet under the hood? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from falanx.