Render one Object or paired Interface entity without path/context, lookups or wire-schema changes. Preserve declarations, summaries, optional/unit and empty distinctions; validate protocol semantics and bounded input before rendering. Add five spec/nested goldens and 13 external API tests plus a standalone doctest. Validation: cargo fmt --all -- --check; cargo check --workspace --all-targets; cargo test --workspace --all-targets; cargo test --workspace --doc; nix develop -c bash (cargo clippy --workspace --all-targets -- -D warnings, RUSTDOCFLAGS='-D warnings' cargo doc --workspace --no-deps, cargo run --package wip-public-api-example); git diff --check. All passed. Default shell lacks clippy; declared Nix dev shell supplied it.
23 lines
511 B
Plaintext
23 lines
511 B
Plaintext
/// "Issueの内容と関連項目を読む。"
|
|
interface "/::issue.read" {
|
|
type Relation = enum {
|
|
parent,
|
|
sibling,
|
|
related,
|
|
};
|
|
type RelatedItems = {
|
|
/// "同じWorldspace内の関連項目。"
|
|
items: [entry],
|
|
next_cursor?: string,
|
|
};
|
|
/// "本文を取得する。"
|
|
operation read_body() -> {
|
|
body: string,
|
|
};
|
|
/// "関係を指定して関連項目を取得する。"
|
|
operation get_related_items(
|
|
relation: Relation,
|
|
limit?: integer,
|
|
) -> RelatedItems;
|
|
}
|