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

V2 - make update/remove/copy mutually exclusive

Aperta
#184 1 commento 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
45/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
yaml

Direzione di ricerca

Inizia esaminando lo schema dell’oggetto azione proposto e i tre esempi YAML allegati per le combinazioni update/copy/remove. Traccia dove sono definiti il linguaggio v1 e lo schema, quindi verifica che ogni azione consenta solo una di queste parole chiave e che gli esempi vengano rifiutati correttamente.

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

Descrizione

not-remove-with-copy.yaml
not-update-with-copy.yaml
not-update-with-remove.yaml

The v1 specification allows update/copy/remove to be in the same action definition even though it's semantically meaningless. It also defines "an order of precedence" of each keyword, which is going to become more difficult to maintain, and understand by readers, as we introduce more keywords.

I propose that we make those mutually exclusive in the language, but also in the schema. Here is the salvaged schema update from my pull request.

  action-object:
    properties:
      target:
        type: string
        pattern: ^\$
      description:
        type: string
    oneOf:
      - properties:
          update:
            type:
              - string
              - boolean
              - object
              - array
              - number
              - "null"
        required:
          - update
      - properties:
          copy:
            type: string
        required:
          - copy
      - properties:
          remove:
            type: boolean
            default: false
        required:
          - remove
    required:
      - target
    $ref: "#/$defs/specification-extensions"
    unevaluatedProperties: false
  specification-extensions:
    patternProperties:
      ^x-: true

Originally posted by @baywet in https://github.com/OAI/Overlay-Specification/pull/150#discussion_r2448832872

Lingua principale
JavaScript
Stelle
122
Fork
38
Merge medio
1g 17h
PR unite (30g)
9

Preparare l'ambiente

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 OAI/Overlay-Specification

Tutte le issue di OAI/Overlay-Specification

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.