TS SDK: `t.result()` is typed `Ok | Err`, but the runtime expects `{ ok } | { err }`
メンテナーはふだん 1 日以内に返信
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 72/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- typescript
- 領域
- api
調査の方向性
crates/bindings-typescript/src/lib/type_builders.ts の約1452行目付近にある ResultBuilder から始めてください。ここでは値の型が Ok と Err の builder 型のユニオンとして推論されています。issue にリンクされているシリアライザー (#1) を読み、ok と err のキーを確認していることを確かめてください。型がタグ付きユニオン { ok: ... } | { err: ... } になり、既存の結果型の利用箇所がコンパイルでき、TypeScript のテストが通れば完了です。
索引モデルが issue の本文から書いたものです。
説明
Where: crates/bindings-typescript/src/lib/type_builders.ts, class ResultBuilder (~L1452)
ResultBuilder<Ok, Err> infers its value type as InferTypeOfTypeBuilder<Ok> | InferTypeOfTypeBuilder<Err>. The
serializer (see #1) requires an object with an ok or err key and throws otherwise. Correctly shaped code therefore
needs a cast, and with the declared type there's no way to tell ok from err when both are strings.
Fix: type it as { ok: InferTypeOfTypeBuilder<Ok> } | { err: InferTypeOfTypeBuilder<Err> }.
- 主要言語
- Rust
- スター
- 25.3k
- フォーク
- 1.1k
- 平均マージ
- 4日 6時間
- マージ済み PR(30日)
- 43
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートあり
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
clockworklabs/SpacetimeDB のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
clockworklabs/SpacetimeDB#6146 ·
メンテナーはふだん 1 日以内に返信
-
TS SDK: `ctx.http.fetch` throws for status codes the `statuses` package doesn't know対応中かも @kshanxs が 2 日前に担当しました。 オープン
難易度 1/5 1時間未満 初心者へのやさしさ 82/100
clockworklabs/SpacetimeDB#6126 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
clockworklabs/SpacetimeDB#6124 ·
メンテナーはふだん 1 日以内に返信
-
TS SDK: `ctx.http.fetch` splits header values that contain commas対応中かも @kshanxs が 2 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
clockworklabs/SpacetimeDB#6123 ·
メンテナーはふだん 1 日以内に返信
-
TS SDK: `Result` errors are serialized with the `ok` type (instance crash)対応中かも @Tyagiquamar が 2 日前に担当しました。 オープン
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
clockworklabs/SpacetimeDB#6122 ·
メンテナーはふだん 1 日以内に返信
clockworklabs/SpacetimeDB の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
storytold/photocraft#5260 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
extendr/extendr.github.io#134 ·
-
awaiting-response bug
難易度 1/5 1時間未満 初心者へのやさしさ 72/100
wildcard/caro#1655 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信