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

Calculate coercers/schemas outside contexts when not dependent on request

Aperta
#464 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
clojure

Direzione di ricerca

Inizia esaminando la cache del coercer, la gestione dinamica del contesto e i percorsi routes/map->Route e merge-parameters menzionati nell’issue. L’issue richiede un ambito di ottimizzazione concordato e un modo per verificare che il lavoro indipendente dalla richiesta venga calcolato al di fuori dei contesti senza modificare il comportamento delle route.

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

Descrizione

Coercers aren't really amenable to this at the moment, and use a memoized cache to get around this limitation (but given that equivalent Schema's are often not equal, might not be totally effective), but the idea is:

(context "/foo" req
  (GET "/" []
    :body [body :- MySchema]
    ...))
=>
(let [coercer (cache-coercion s/Int)]
  (context "/foo" req
    (GET "/" []
      :body [body :- coercer]
      ...))

Or perhaps an even more general optimization that would cache all sorts of things like merge-parameters and all the other args to routes/map->Route and the route itself, even under a dynamic context.

(let [rs (GET "/" []
             :body [body :- coercer]
             ...)]
  (context "/foo" req
    rs))
Lingua principale
Clojure
Stelle
1.1k
Fork
145
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

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 metosin/compojure-api

Tutte le issue di metosin/compojure-api

Issue simili

Altre issue su Clojure

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.