docs: TSchema guide is missing Union, TaggedStruct, Literal, Tuple, Boolean, and Struct options
Maintainer antworten meist innerhalb von 1 Tag
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 52/100
- Issue-Typ
- Dokumentation
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- typescript
- Bereich
- documentation
Rechercherichtung
Beginne mit docs/content/docs/encoding/tschema.mdx und den darin vorhandenen TSchema-Beispielen, und ordne dann jedes fehlende Konstrukt und jede fehlende Option einem Unterabschnitt zu. Füge kompilierende twoslash-Beispiele hinzu, erkläre die CBOR-Unterschiede zwischen Union, Variant und TaggedStruct und schließe mit der angeforderten Seitenstruktur und einer Anleitung zu Best Practices ab.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Problem
The TSchema guide page at `docs/content/docs/encoding/tschema.mdx` covers basic schemas (ByteArray, Integer, Struct, Variant, Array, Map, UndefinedOr) and codec creation, but is missing documentation for several important constructs and usage areas.
Missing Sections
Union — `TSchema.Union()` is the lower-level primitive that `Variant`, `TaggedStruct`, and other helpers are all built on. It is never documented on its own or explained in terms of when you'd reach for it directly over the helpers.
TaggedStruct — `TSchema.TaggedStruct()` creates discriminated unions with an explicit tag field (`_tag`, `type`, `kind`, `variant`). Auto-detection of tag fields inside `Union` members is a key feature that is not mentioned anywhere in the guide.
Literal — `TSchema.Literal()` for enum-style constructors with no fields. The `LiteralOptions` interface (`index`, `flatInUnion`) is not covered.
Tuple — `TSchema.Tuple()` for fixed-length positional data. No mention in the guide.
Boolean — `TSchema.Boolean` for Plutus-style booleans (Constr 0 = False, Constr 1 = True).
NullOr vs UndefinedOr — The guide only covers `UndefinedOr`. `NullOr` and the decision between them is absent.
Struct options — `flatFields`, `flatInUnion`, and `index` options on `TSchema.Struct()` are undocumented. These are critical for correctly matching Aiken on-chain encoding.
Variant vs Union vs TaggedStruct — No comparison section explaining when to use each and how they differ in CBOR encoding:
- Variant: wrapper-object shape (`{ VerificationKey: { hash } }`) — single-level CBOR
- TaggedStruct: discriminator-field shape (`{ _tag: "Mint", amount }`) — tag stripped in CBOR
- Union: raw position-based — constructor index determines variant
Schema utilities — `compose`, `filter`, `equivalence`, and `is` are exported but absent from the guide.
Acceptance Criteria
- Each missing schema type has its own subsection with description and code example
- A comparison section for Union vs Variant vs TaggedStruct with CBOR encoding differences
- Struct options (`flatFields`, `flatInUnion`, `index`) documented with encoding examples
- All examples use `twoslash` code fences and compile
- Page structure: Overview → Quick Start → Core Concepts → Reference → Best Practices
- Vorherrschende Sprache
- TypeScript
- Sterne
- 22
- Forks
- 33
- Ø Merge
- 2 T. 5 Std.
- Gemergte PRs (30 T.)
- 41
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus IntersectMBO/evolution-sdk
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
IntersectMBO/evolution-sdk#601 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
IntersectMBO/evolution-sdk#559 ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
IntersectMBO/evolution-sdk#557 ·
Maintainer antworten meist innerhalb von 1 Tag
-
dependencies good first issue
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 93/100
IntersectMBO/evolution-sdk#541 ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug external-review
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 86/100
IntersectMBO/evolution-sdk#530 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in IntersectMBO/evolution-sdk
Ähnliche Issues
-
clawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:other issue-rating: 🦞 diamond lobster no-stale P2
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
openclaw/openclaw#168089 · 2 Kommentare · 1 Reaktion ·
Maintainer antworten meist innerhalb von 1 Tag
-
✨ enhancement needs-discussion
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
-
[Bug]: [MCP/CLI] Bare loopback IP addresses (127.0.0.1:port) and hosts with ports fail to navigate due to erroneous scheme inferenceEvtl. vergeben @alok-108 hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
microsoft/playwright#43263 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area:studio type:security
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement good first issue Stellar Wave trivial
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
StellarCanary/ProtocolCanary-Action#331 ·
Maintainer antworten meist innerhalb von 1 Tag