0

对于我的生活,我无法弄清楚如何让它发挥作用。
这是结构

//transaction.capnp
using V = import "values.capnp";
struct TransactionPayload {
    kwargs @6 :V.Map(Text, V.Value);
}

//values.capnp
struct Map(Key, Value) {
  entries @0 :List(Entry);
  struct Entry {
    key @0 :Key;
    value @1 :Value;
  }
}

我已经阅读了很多内容来理解这是一个“泛型”结构。

我正在尝试使用 capnp-ts 在打字稿中实现它。

我不知道如何设置地图的“文本”部分。我可以完成 Value,因为这只是 initRoot(mystructs.Value) 的问题,但我没有要使用的“Text”结构,所以我不确定我应该为此创建什么。

任何建议将不胜感激!

4

1 回答 1

0

找到了我的答案。分享给有兴趣的人。

        let keyMessage = new capnp.Message().initRoot(capnp.Text);
        keyMessage.set(0, 'foo')
        this.kwargEntries.get(0).setKey(keyMessage)
于 2019-12-12T03:41:25.223 回答