-
Notifications
You must be signed in to change notification settings - Fork 148
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Using seprately declared enum in union in record. #461
Comments
Hi @svirpridon. This is an issue with the typings, the underlying library supports this. Until this is fixed, it is safe to use an const enumType = avro.Type.forSchema({
name: "Enum",
type: "enum",
symbols: ["foo", "bar", "baz"],
});
const recordType = avro.Type.forSchema({
name: "Record",
type: "record",
fields: [
{ name: "enum", type: ["null", "Enum"], default: null },
],
}, {registry: {Enum: enumType}}); |
@mtth can't we just add |
Seems like it. We should also then simplify |
I'll open a PR and give it a short test. Independently, and I realize this might be contentious: Given there's not a crazy amount of pull requests open where the fallout would be big: what are your thoughts on transforming this project to use Typescript? |
I think it makes sense to switch to TypeScript eventually. |
okay. Given #452 was just merged, this could be a great time? |
If we wanted to include this in |
Hi,
I have a use case where I have an enum I want to declare outside the record. It works fine if I'm not using a union:
But when I go to make it nullable with:
I get a type error pointing to the
enum
in["null", enum]
:If I inline the union it works fine... but I don't want to do that. It'd work for one of my unions, but another one is a union of a couple thousand entries, and I need it in multiple places so that'd get unwieldy fast.
I also tried using the name of the enum as a named type in the record, but that doesn't seem to work.
Thanks for the useful library!
The text was updated successfully, but these errors were encountered: