Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

enum generation

Aperta
#37 4 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
julia, openapi
Ambito
api, tooling

Direzione di ricerca

Non sono indicati file sorgente o test. Inizia individuando il percorso del generatore OpenAPI per gli enum di tipo string e il percorso di deserializzazione per gli schemi referenziati, quindi confronta il modello Source generato in Julia con lo YAML e con gli esempi JSON/Python attesi. Il lavoro è completato quando Source rappresenta i tre valori dichiarati e DocumentMetadata accetta la forma string documentata.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

stale

Probably wrong generation of the enum type.

    DocumentMetadata:
      type: object
      properties:
        source:
          $ref: "#/components/schemas/Source"
    Source:
      title: Source
      enum:
        - email
        - file
        - chat
      type: string
      description: An enumeration.

Expectation is to have

      "metadata": {
       "source": "file"
     }

and an equivalent code in Python

class Source(str, Enum):
    email = "email"
    file = "file"
    chat = "chat"

But in fact we have:

Base.@kwdef mutable struct Source <: OpenAPI.APIModel

    function Source()
        return new()
    end
end # type Source

const _property_types_Source = Dict{Symbol,String}()
OpenAPI.property_type(::Type{ Source }, name::Symbol) = Union{Nothing,eval(Base.Meta.parse(_property_types_Source[name]))}

function check_required(o::Source)
    true
end

function OpenAPI.validate_property(::Type{ Source }, name::Symbol, val)
end

And de-serialization is working for the code only:

      "metadata": {
        "source": {"file":"file"}
      }
Lingua principale
Julia
Stelle
56
Fork
16
Merge medio
1g 51m
PR unite (30g)
12

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di JuliaComputing/OpenAPI.jl

Tutte le issue di JuliaComputing/OpenAPI.jl

Issue simili

Altre issue su Julia

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.