Comments (4)
Hmm, your schema file looks fine, so slightly odd that I haven't noticed this issue before.
What happens if you remove the id
property from the color
definition?
Nonetheless this clearly seems to be a bug and I will investigate the issue.
from json-schema-to-elm.
If I remove the id
I get only one name collision
--- NAME COLLISION ------------------------------------ examples/wine/wine.json
Found more than one property with identifier '#/definitions/color'
from json-schema-to-elm.
Okay, I think the error happens because the parser flattens the tree structure of the JSON schema object into a map of json pointers to type definitions (e.g.
%{
"#/properties/color" => %TypeReference{...},
"#/definitions/color" => %EnumType{...}
}
and perhaps an unintended clash happens between the definition of color
and the reference to color.
Btw, if you want to dig deeper into this, you can build the script with MIX_ENV=dev mix build
, which should make it print out a lot of debugging information when you run ./js2e ..
. If not, I will also be looking into this shortly.
from json-schema-to-elm.
Yes, I'll take a look at the code
from json-schema-to-elm.
Related Issues (20)
- Setup github actions for running tests HOT 1
- no with clause matching: "String" HOT 2
- Build instructions -- where is the executable
- ** (FunctionClauseError) no function clause matching in String.split/3
- Support Elixir 1.6
- Run mix format on codebase
- Encapsulate printers and parsers in their own contexts
- Referenced allOf types not parsing HOT 5
- JSON schema filename / URL as root schema alias? HOT 10
- Investigate parsing of generic 'array' and 'object' types
- Support constants, i.e. enums with 1 value. HOT 1
- Parse strings according to JSON schema patterns
- Review decoders for 'allOf' and 'anyOf' types HOT 1
- Investigate generating test files HOT 1
- Investigate possibility of inlining 'anonymous' schema nodes HOT 1
- Add utils functions HOT 2
- Split parsing and printing into two different projects HOT 1
- Update generated Elm code from 0.18 to 0.19 HOT 1
- Make dialyzer happy again HOT 1
- `** (FunctionClauseError) no function clause matching in URI.parse/1` HOT 5
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 json-schema-to-elm.