overwrite `field` data with `computedFields` values
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 32/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- typescript
- Ambito
- content
Direzione di ricerca
L’issue non indica alcun file sorgente né alcun test; inizia dalla riproduzione di Blog defineDocumentType e traccia come i campi e computedFields diventano tipi generati. Verifica se un campo calcolato sostituisce la descrizione e il tipo originali e se i tipi lista sono supportati. Il lavoro è completo quando il tipo generato contiene l’unico campo tags previsto, con copertura di regressione per questo esempio.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
When defining a document with a field and computedFields child item with the same name, the computedFields field seems to be appended onto the generated type. Resulting in undesired types for the field.
I would have expected the computedFields data to overwrite the field data, both the description and the type.
For reference, I am converting a comma separated string of tags into a parsed array via the computedFields. Here is an example of my document definition:
export const Blog = defineDocumentType(() => ({
name: "Blog",
filePathPattern: `blog/**/*.md`,
fields: {
tags: {
type: "string",
description: "Comma separated listing of tags",
required: false,
},
},
computedFields: {
tags: {
description: "new description",
type: "list",
of: { type: "string" },
resolve: (item) =>
item?.tags?.split(",")?.map((tag) => tag.trim()) ?? undefined,
},
},
}));
Generates these types (simplified for the example):
/** Document types */
export type Blog = {
/** Comma separated listing of tags */
tags?: string | undefined
/** new description */
tags: list
}
Extra note: It also seems like the computedFields children do not support list types, or it may be a bug?
- Lingua principale
- TypeScript
- Stelle
- 3.5k
- Fork
- 192
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di contentlayerdev/contentlayer
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 25/100
contentlayerdev/contentlayer#506 · 84 commenti · 47 reazioni ·
-
Poor/broken monorepo DX: can't specify .contentlayer/ output path, no docs for custom config path Apertahelp wanted meta: never-stale needs-research
Difficoltà 4/5 3-5 giorni Idoneità per principianti 38/100
contentlayerdev/contentlayer#464 · 4 commenti · 9 reazioni ·
-
State of the project Apertameta: never-stale
Difficoltà 5/5 Più di una settimana Idoneità per principianti 10/100
contentlayerdev/contentlayer#429 · 49 commenti · 83 reazioni ·
-
meta: never-stale topic: markdown/mdx
Difficoltà 4/5 3-5 giorni Idoneità per principianti 42/100
contentlayerdev/contentlayer#421 · 4 reazioni ·
-
meta: never-stale needs-research topic: schema
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
contentlayerdev/contentlayer#420 ·
Tutte le issue di contentlayerdev/contentlayer
Issue simili
-
VerificationGate: ATTRIBUTION quote guard never matches a normal quotation (\b around the quote) Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
danielmiessler/LifeOS#2234 ·
-
T: Bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
-
Mend: dependency security vulnerability untriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100