{"version":3,"file":"compile-tQXFOze7.mjs","names":[],"sources":["../../../../node_modules/.pnpm/capnp-es@0.0.11_patch_hash=503a440bd2bef41c0cb22819bc4ced5a7f04993fb999f0d944e284220f14916b_typescript@6.0.3/node_modules/capnp-es/dist/capnp/schema.mjs","../../../../node_modules/.pnpm/capnp-es@0.0.11_patch_hash=503a440bd2bef41c0cb22819bc4ced5a7f04993fb999f0d944e284220f14916b_typescript@6.0.3/node_modules/capnp-es/dist/shared/capnp-es.CbTQkT9D.mjs","../../src/compile.ts"],"sourcesContent":["import { S as Struct, O as ObjectSize, q as getText, r as setText, b as getUint16, s as setUint16, a as adopt, g as getPointer, d as disown, m as getList, i as isNull, n as initList, c as copyFrom, t as testWhich, w as getAs, u as getUint64, v as setUint64, h as getBit, j as setBit, e as getUint32, f as setUint32, k as getStruct, l as initStructAt, x as getInt8, y as setInt8, z as getInt16, A as setInt16, B as getInt32, C as setInt32, D as getInt64, E as setInt64, o as getUint8, p as setUint8, F as getFloat32, G as setFloat32, H as getFloat64, I as setFloat64, J as getData, K as initData } from '../shared/capnp-es.0-_cOx6D.mjs';\nimport { b as getUint16Mask, C as CompositeList } from '../shared/capnp-es.BvfUH5E6.mjs';\n\nconst _capnpFileId = BigInt(\"0xa93fc509624c72d9\");\nclass Node_Parameter extends Struct {\n  static _capnp = {\n    displayName: \"Parameter\",\n    id: \"b9521bccf10fa3b1\",\n    size: new ObjectSize(0, 1)\n  };\n  get name() {\n    return getText(0, this);\n  }\n  set name(value) {\n    setText(0, value, this);\n  }\n  toString() {\n    return \"Node_Parameter_\" + super.toString();\n  }\n}\nclass Node_NestedNode extends Struct {\n  static _capnp = {\n    displayName: \"NestedNode\",\n    id: \"debf55bbfa0fc242\",\n    size: new ObjectSize(8, 1)\n  };\n  /**\n  * Unqualified symbol name.  Unlike Node.displayName, this *can* be used programmatically.\n  *\n  * (On Zooko's triangle, this is the node's petname according to its parent scope.)\n  *\n  */\n  get name() {\n    return getText(0, this);\n  }\n  set name(value) {\n    setText(0, value, this);\n  }\n  /**\n  * ID of the nested node.  Typically, the target node's scopeId points back to this node, but\n  * robust code should avoid relying on this.\n  *\n  */\n  get id() {\n    return getUint64(0, this);\n  }\n  set id(value) {\n    setUint64(0, value, this);\n  }\n  toString() {\n    return \"Node_NestedNode_\" + super.toString();\n  }\n}\nclass Node_SourceInfo_Member extends Struct {\n  static _capnp = {\n    displayName: \"Member\",\n    id: \"c2ba9038898e1fa2\",\n    size: new ObjectSize(0, 1)\n  };\n  /**\n  * Doc comment on the member.\n  *\n  */\n  get docComment() {\n    return getText(0, this);\n  }\n  set docComment(value) {\n    setText(0, value, this);\n  }\n  toString() {\n    return \"Node_SourceInfo_Member_\" + super.toString();\n  }\n}\nclass Node_SourceInfo extends Struct {\n  static Member = Node_SourceInfo_Member;\n  static _capnp = {\n    displayName: \"SourceInfo\",\n    id: \"f38e1de3041357ae\",\n    size: new ObjectSize(8, 2)\n  };\n  static _Members;\n  /**\n  * ID of the Node which this info describes.\n  *\n  */\n  get id() {\n    return getUint64(0, this);\n  }\n  set id(value) {\n    setUint64(0, value, this);\n  }\n  /**\n  * The top-level doc comment for the Node.\n  *\n  */\n  get docComment() {\n    return getText(0, this);\n  }\n  set docComment(value) {\n    setText(0, value, this);\n  }\n  _adoptMembers(value) {\n    adopt(value, getPointer(1, this));\n  }\n  _disownMembers() {\n    return disown(this.members);\n  }\n  /**\n  * Information about each member -- i.e. fields (for structs), enumerants (for enums), or\n  * methods (for interfaces).\n  *\n  * This list is the same length and order as the corresponding list in the Node, i.e.\n  * Node.struct.fields, Node.enum.enumerants, or Node.interface.methods.\n  *\n  */\n  get members() {\n    return getList(1, Node_SourceInfo._Members, this);\n  }\n  _hasMembers() {\n    return !isNull(getPointer(1, this));\n  }\n  _initMembers(length) {\n    return initList(1, Node_SourceInfo._Members, length, this);\n  }\n  set members(value) {\n    copyFrom(value, getPointer(1, this));\n  }\n  toString() {\n    return \"Node_SourceInfo_\" + super.toString();\n  }\n}\nclass Node_Struct extends Struct {\n  static _capnp = {\n    displayName: \"struct\",\n    id: \"9ea0b19b37fb4435\",\n    size: new ObjectSize(40, 6)\n  };\n  static _Fields;\n  /**\n  * Size of the data section, in words.\n  *\n  */\n  get dataWordCount() {\n    return getUint16(14, this);\n  }\n  set dataWordCount(value) {\n    setUint16(14, value, this);\n  }\n  /**\n  * Size of the pointer section, in pointers (which are one word each).\n  *\n  */\n  get pointerCount() {\n    return getUint16(24, this);\n  }\n  set pointerCount(value) {\n    setUint16(24, value, this);\n  }\n  /**\n  * The preferred element size to use when encoding a list of this struct.  If this is anything\n  * other than `inlineComposite` then the struct is one word or less in size and is a candidate\n  * for list packing optimization.\n  *\n  */\n  get preferredListEncoding() {\n    return getUint16(26, this);\n  }\n  set preferredListEncoding(value) {\n    setUint16(26, value, this);\n  }\n  /**\n  * If true, then this \"struct\" node is actually not an independent node, but merely represents\n  * some named union or group within a particular parent struct.  This node's scopeId refers\n  * to the parent struct, which may itself be a union/group in yet another struct.\n  *\n  * All group nodes share the same dataWordCount and pointerCount as the top-level\n  * struct, and their fields live in the same ordinal and offset spaces as all other fields in\n  * the struct.\n  *\n  * Note that a named union is considered a special kind of group -- in fact, a named union\n  * is exactly equivalent to a group that contains nothing but an unnamed union.\n  *\n  */\n  get isGroup() {\n    return getBit(224, this);\n  }\n  set isGroup(value) {\n    setBit(224, value, this);\n  }\n  /**\n  * Number of fields in this struct which are members of an anonymous union, and thus may\n  * overlap.  If this is non-zero, then a 16-bit discriminant is present indicating which\n  * of the overlapping fields is active.  This can never be 1 -- if it is non-zero, it must be\n  * two or more.\n  *\n  * Note that the fields of an unnamed union are considered fields of the scope containing the\n  * union -- an unnamed union is not its own group.  So, a top-level struct may contain a\n  * non-zero discriminant count.  Named unions, on the other hand, are equivalent to groups\n  * containing unnamed unions.  So, a named union has its own independent schema node, with\n  * `isGroup` = true.\n  *\n  */\n  get discriminantCount() {\n    return getUint16(30, this);\n  }\n  set discriminantCount(value) {\n    setUint16(30, value, this);\n  }\n  /**\n  * If `discriminantCount` is non-zero, this is the offset of the union discriminant, in\n  * multiples of 16 bits.\n  *\n  */\n  get discriminantOffset() {\n    return getUint32(32, this);\n  }\n  set discriminantOffset(value) {\n    setUint32(32, value, this);\n  }\n  _adoptFields(value) {\n    adopt(value, getPointer(3, this));\n  }\n  _disownFields() {\n    return disown(this.fields);\n  }\n  /**\n  * Fields defined within this scope (either the struct's top-level fields, or the fields of\n  * a particular group; see `isGroup`).\n  *\n  * The fields are sorted by ordinal number, but note that because groups share the same\n  * ordinal space, the field's index in this list is not necessarily exactly its ordinal.\n  * On the other hand, the field's position in this list does remain the same even as the\n  * protocol evolves, since it is not possible to insert or remove an earlier ordinal.\n  * Therefore, for most use cases, if you want to identify a field by number, it may make the\n  * most sense to use the field's index in this list rather than its ordinal.\n  *\n  */\n  get fields() {\n    return getList(3, Node_Struct._Fields, this);\n  }\n  _hasFields() {\n    return !isNull(getPointer(3, this));\n  }\n  _initFields(length) {\n    return initList(3, Node_Struct._Fields, length, this);\n  }\n  set fields(value) {\n    copyFrom(value, getPointer(3, this));\n  }\n  toString() {\n    return \"Node_Struct_\" + super.toString();\n  }\n}\nclass Node_Enum extends Struct {\n  static _capnp = {\n    displayName: \"enum\",\n    id: \"b54ab3364333f598\",\n    size: new ObjectSize(40, 6)\n  };\n  static _Enumerants;\n  _adoptEnumerants(value) {\n    adopt(value, getPointer(3, this));\n  }\n  _disownEnumerants() {\n    return disown(this.enumerants);\n  }\n  /**\n  * Enumerants ordered by numeric value (ordinal).\n  *\n  */\n  get enumerants() {\n    return getList(3, Node_Enum._Enumerants, this);\n  }\n  _hasEnumerants() {\n    return !isNull(getPointer(3, this));\n  }\n  _initEnumerants(length) {\n    return initList(3, Node_Enum._Enumerants, length, this);\n  }\n  set enumerants(value) {\n    copyFrom(value, getPointer(3, this));\n  }\n  toString() {\n    return \"Node_Enum_\" + super.toString();\n  }\n}\nclass Node_Interface extends Struct {\n  static _capnp = {\n    displayName: \"interface\",\n    id: \"e82753cff0c2218f\",\n    size: new ObjectSize(40, 6)\n  };\n  static _Methods;\n  static _Superclasses;\n  _adoptMethods(value) {\n    adopt(value, getPointer(3, this));\n  }\n  _disownMethods() {\n    return disown(this.methods);\n  }\n  /**\n  * Methods ordered by ordinal.\n  *\n  */\n  get methods() {\n    return getList(3, Node_Interface._Methods, this);\n  }\n  _hasMethods() {\n    return !isNull(getPointer(3, this));\n  }\n  _initMethods(length) {\n    return initList(3, Node_Interface._Methods, length, this);\n  }\n  set methods(value) {\n    copyFrom(value, getPointer(3, this));\n  }\n  _adoptSuperclasses(value) {\n    adopt(value, getPointer(4, this));\n  }\n  _disownSuperclasses() {\n    return disown(this.superclasses);\n  }\n  /**\n  * Superclasses of this interface.\n  *\n  */\n  get superclasses() {\n    return getList(4, Node_Interface._Superclasses, this);\n  }\n  _hasSuperclasses() {\n    return !isNull(getPointer(4, this));\n  }\n  _initSuperclasses(length) {\n    return initList(4, Node_Interface._Superclasses, length, this);\n  }\n  set superclasses(value) {\n    copyFrom(value, getPointer(4, this));\n  }\n  toString() {\n    return \"Node_Interface_\" + super.toString();\n  }\n}\nclass Node_Const extends Struct {\n  static _capnp = {\n    displayName: \"const\",\n    id: \"b18aa5ac7a0d9420\",\n    size: new ObjectSize(40, 6)\n  };\n  _adoptType(value) {\n    adopt(value, getPointer(3, this));\n  }\n  _disownType() {\n    return disown(this.type);\n  }\n  get type() {\n    return getStruct(3, Type, this);\n  }\n  _hasType() {\n    return !isNull(getPointer(3, this));\n  }\n  _initType() {\n    return initStructAt(3, Type, this);\n  }\n  set type(value) {\n    copyFrom(value, getPointer(3, this));\n  }\n  _adoptValue(value) {\n    adopt(value, getPointer(4, this));\n  }\n  _disownValue() {\n    return disown(this.value);\n  }\n  get value() {\n    return getStruct(4, Value, this);\n  }\n  _hasValue() {\n    return !isNull(getPointer(4, this));\n  }\n  _initValue() {\n    return initStructAt(4, Value, this);\n  }\n  set value(value) {\n    copyFrom(value, getPointer(4, this));\n  }\n  toString() {\n    return \"Node_Const_\" + super.toString();\n  }\n}\nclass Node_Annotation extends Struct {\n  static _capnp = {\n    displayName: \"annotation\",\n    id: \"ec1619d4400a0290\",\n    size: new ObjectSize(40, 6)\n  };\n  _adoptType(value) {\n    adopt(value, getPointer(3, this));\n  }\n  _disownType() {\n    return disown(this.type);\n  }\n  get type() {\n    return getStruct(3, Type, this);\n  }\n  _hasType() {\n    return !isNull(getPointer(3, this));\n  }\n  _initType() {\n    return initStructAt(3, Type, this);\n  }\n  set type(value) {\n    copyFrom(value, getPointer(3, this));\n  }\n  get targetsFile() {\n    return getBit(112, this);\n  }\n  set targetsFile(value) {\n    setBit(112, value, this);\n  }\n  get targetsConst() {\n    return getBit(113, this);\n  }\n  set targetsConst(value) {\n    setBit(113, value, this);\n  }\n  get targetsEnum() {\n    return getBit(114, this);\n  }\n  set targetsEnum(value) {\n    setBit(114, value, this);\n  }\n  get targetsEnumerant() {\n    return getBit(115, this);\n  }\n  set targetsEnumerant(value) {\n    setBit(115, value, this);\n  }\n  get targetsStruct() {\n    return getBit(116, this);\n  }\n  set targetsStruct(value) {\n    setBit(116, value, this);\n  }\n  get targetsField() {\n    return getBit(117, this);\n  }\n  set targetsField(value) {\n    setBit(117, value, this);\n  }\n  get targetsUnion() {\n    return getBit(118, this);\n  }\n  set targetsUnion(value) {\n    setBit(118, value, this);\n  }\n  get targetsGroup() {\n    return getBit(119, this);\n  }\n  set targetsGroup(value) {\n    setBit(119, value, this);\n  }\n  get targetsInterface() {\n    return getBit(120, this);\n  }\n  set targetsInterface(value) {\n    setBit(120, value, this);\n  }\n  get targetsMethod() {\n    return getBit(121, this);\n  }\n  set targetsMethod(value) {\n    setBit(121, value, this);\n  }\n  get targetsParam() {\n    return getBit(122, this);\n  }\n  set targetsParam(value) {\n    setBit(122, value, this);\n  }\n  get targetsAnnotation() {\n    return getBit(123, this);\n  }\n  set targetsAnnotation(value) {\n    setBit(123, value, this);\n  }\n  toString() {\n    return \"Node_Annotation_\" + super.toString();\n  }\n}\nconst Node_Which = {\n  FILE: 0,\n  /**\n  * Name to present to humans to identify this Node.  You should not attempt to parse this.  Its\n  * format could change.  It is not guaranteed to be unique.\n  *\n  * (On Zooko's triangle, this is the node's nickname.)\n  *\n  */\n  STRUCT: 1,\n  /**\n  * If you want a shorter version of `displayName` (just naming this node, without its surrounding\n  * scope), chop off this many characters from the beginning of `displayName`.\n  *\n  */\n  ENUM: 2,\n  /**\n  * ID of the lexical parent node.  Typically, the scope node will have a NestedNode pointing back\n  * at this node, but robust code should avoid relying on this (and, in fact, group nodes are not\n  * listed in the outer struct's nestedNodes, since they are listed in the fields).  `scopeId` is\n  * zero if the node has no parent, which is normally only the case with files, but should be\n  * allowed for any kind of node (in order to make runtime type generation easier).\n  *\n  */\n  INTERFACE: 3,\n  /**\n  * List of nodes nested within this node, along with the names under which they were declared.\n  *\n  */\n  CONST: 4,\n  /**\n  * Annotations applied to this node.\n  *\n  */\n  ANNOTATION: 5\n};\nclass Node extends Struct {\n  static FILE = Node_Which.FILE;\n  static STRUCT = Node_Which.STRUCT;\n  static ENUM = Node_Which.ENUM;\n  static INTERFACE = Node_Which.INTERFACE;\n  static CONST = Node_Which.CONST;\n  static ANNOTATION = Node_Which.ANNOTATION;\n  static Parameter = Node_Parameter;\n  static NestedNode = Node_NestedNode;\n  static SourceInfo = Node_SourceInfo;\n  static _capnp = {\n    displayName: \"Node\",\n    id: \"e682ab4cf923a417\",\n    size: new ObjectSize(40, 6)\n  };\n  static _Parameters;\n  static _NestedNodes;\n  static _Annotations;\n  get id() {\n    return getUint64(0, this);\n  }\n  set id(value) {\n    setUint64(0, value, this);\n  }\n  /**\n  * Name to present to humans to identify this Node.  You should not attempt to parse this.  Its\n  * format could change.  It is not guaranteed to be unique.\n  *\n  * (On Zooko's triangle, this is the node's nickname.)\n  *\n  */\n  get displayName() {\n    return getText(0, this);\n  }\n  set displayName(value) {\n    setText(0, value, this);\n  }\n  /**\n  * If you want a shorter version of `displayName` (just naming this node, without its surrounding\n  * scope), chop off this many characters from the beginning of `displayName`.\n  *\n  */\n  get displayNamePrefixLength() {\n    return getUint32(8, this);\n  }\n  set displayNamePrefixLength(value) {\n    setUint32(8, value, this);\n  }\n  /**\n  * ID of the lexical parent node.  Typically, the scope node will have a NestedNode pointing back\n  * at this node, but robust code should avoid relying on this (and, in fact, group nodes are not\n  * listed in the outer struct's nestedNodes, since they are listed in the fields).  `scopeId` is\n  * zero if the node has no parent, which is normally only the case with files, but should be\n  * allowed for any kind of node (in order to make runtime type generation easier).\n  *\n  */\n  get scopeId() {\n    return getUint64(16, this);\n  }\n  set scopeId(value) {\n    setUint64(16, value, this);\n  }\n  _adoptParameters(value) {\n    adopt(value, getPointer(5, this));\n  }\n  _disownParameters() {\n    return disown(this.parameters);\n  }\n  /**\n  * If this node is parameterized (generic), the list of parameters. Empty for non-generic types.\n  *\n  */\n  get parameters() {\n    return getList(5, Node._Parameters, this);\n  }\n  _hasParameters() {\n    return !isNull(getPointer(5, this));\n  }\n  _initParameters(length) {\n    return initList(5, Node._Parameters, length, this);\n  }\n  set parameters(value) {\n    copyFrom(value, getPointer(5, this));\n  }\n  /**\n  * True if this node is generic, meaning that it or one of its parent scopes has a non-empty\n  * `parameters`.\n  *\n  */\n  get isGeneric() {\n    return getBit(288, this);\n  }\n  set isGeneric(value) {\n    setBit(288, value, this);\n  }\n  _adoptNestedNodes(value) {\n    adopt(value, getPointer(1, this));\n  }\n  _disownNestedNodes() {\n    return disown(this.nestedNodes);\n  }\n  /**\n  * List of nodes nested within this node, along with the names under which they were declared.\n  *\n  */\n  get nestedNodes() {\n    return getList(1, Node._NestedNodes, this);\n  }\n  _hasNestedNodes() {\n    return !isNull(getPointer(1, this));\n  }\n  _initNestedNodes(length) {\n    return initList(1, Node._NestedNodes, length, this);\n  }\n  set nestedNodes(value) {\n    copyFrom(value, getPointer(1, this));\n  }\n  _adoptAnnotations(value) {\n    adopt(value, getPointer(2, this));\n  }\n  _disownAnnotations() {\n    return disown(this.annotations);\n  }\n  /**\n  * Annotations applied to this node.\n  *\n  */\n  get annotations() {\n    return getList(2, Node._Annotations, this);\n  }\n  _hasAnnotations() {\n    return !isNull(getPointer(2, this));\n  }\n  _initAnnotations(length) {\n    return initList(2, Node._Annotations, length, this);\n  }\n  set annotations(value) {\n    copyFrom(value, getPointer(2, this));\n  }\n  get _isFile() {\n    return getUint16(12, this) === 0;\n  }\n  set file(_) {\n    setUint16(12, 0, this);\n  }\n  get struct() {\n    testWhich(\"struct\", getUint16(12, this), 1, this);\n    return getAs(Node_Struct, this);\n  }\n  _initStruct() {\n    setUint16(12, 1, this);\n    return getAs(Node_Struct, this);\n  }\n  get _isStruct() {\n    return getUint16(12, this) === 1;\n  }\n  set struct(_) {\n    setUint16(12, 1, this);\n  }\n  get enum() {\n    testWhich(\"enum\", getUint16(12, this), 2, this);\n    return getAs(Node_Enum, this);\n  }\n  _initEnum() {\n    setUint16(12, 2, this);\n    return getAs(Node_Enum, this);\n  }\n  get _isEnum() {\n    return getUint16(12, this) === 2;\n  }\n  set enum(_) {\n    setUint16(12, 2, this);\n  }\n  get interface() {\n    testWhich(\"interface\", getUint16(12, this), 3, this);\n    return getAs(Node_Interface, this);\n  }\n  _initInterface() {\n    setUint16(12, 3, this);\n    return getAs(Node_Interface, this);\n  }\n  get _isInterface() {\n    return getUint16(12, this) === 3;\n  }\n  set interface(_) {\n    setUint16(12, 3, this);\n  }\n  get const() {\n    testWhich(\"const\", getUint16(12, this), 4, this);\n    return getAs(Node_Const, this);\n  }\n  _initConst() {\n    setUint16(12, 4, this);\n    return getAs(Node_Const, this);\n  }\n  get _isConst() {\n    return getUint16(12, this) === 4;\n  }\n  set const(_) {\n    setUint16(12, 4, this);\n  }\n  get annotation() {\n    testWhich(\"annotation\", getUint16(12, this), 5, this);\n    return getAs(Node_Annotation, this);\n  }\n  _initAnnotation() {\n    setUint16(12, 5, this);\n    return getAs(Node_Annotation, this);\n  }\n  get _isAnnotation() {\n    return getUint16(12, this) === 5;\n  }\n  set annotation(_) {\n    setUint16(12, 5, this);\n  }\n  toString() {\n    return \"Node_\" + super.toString();\n  }\n  which() {\n    return getUint16(12, this);\n  }\n}\nclass Field_Slot extends Struct {\n  static _capnp = {\n    displayName: \"slot\",\n    id: \"c42305476bb4746f\",\n    size: new ObjectSize(24, 4)\n  };\n  /**\n  * Offset, in units of the field's size, from the beginning of the section in which the field\n  * resides.  E.g. for a UInt32 field, multiply this by 4 to get the byte offset from the\n  * beginning of the data section.\n  *\n  */\n  get offset() {\n    return getUint32(4, this);\n  }\n  set offset(value) {\n    setUint32(4, value, this);\n  }\n  _adoptType(value) {\n    adopt(value, getPointer(2, this));\n  }\n  _disownType() {\n    return disown(this.type);\n  }\n  get type() {\n    return getStruct(2, Type, this);\n  }\n  _hasType() {\n    return !isNull(getPointer(2, this));\n  }\n  _initType() {\n    return initStructAt(2, Type, this);\n  }\n  set type(value) {\n    copyFrom(value, getPointer(2, this));\n  }\n  _adoptDefaultValue(value) {\n    adopt(value, getPointer(3, this));\n  }\n  _disownDefaultValue() {\n    return disown(this.defaultValue);\n  }\n  get defaultValue() {\n    return getStruct(3, Value, this);\n  }\n  _hasDefaultValue() {\n    return !isNull(getPointer(3, this));\n  }\n  _initDefaultValue() {\n    return initStructAt(3, Value, this);\n  }\n  set defaultValue(value) {\n    copyFrom(value, getPointer(3, this));\n  }\n  /**\n  * Whether the default value was specified explicitly.  Non-explicit default values are always\n  * zero or empty values.  Usually, whether the default value was explicit shouldn't matter.\n  * The main use case for this flag is for structs representing method parameters:\n  * explicitly-defaulted parameters may be allowed to be omitted when calling the method.\n  *\n  */\n  get hadExplicitDefault() {\n    return getBit(128, this);\n  }\n  set hadExplicitDefault(value) {\n    setBit(128, value, this);\n  }\n  toString() {\n    return \"Field_Slot_\" + super.toString();\n  }\n}\nclass Field_Group extends Struct {\n  static _capnp = {\n    displayName: \"group\",\n    id: \"cafccddb68db1d11\",\n    size: new ObjectSize(24, 4)\n  };\n  /**\n  * The ID of the group's node.\n  *\n  */\n  get typeId() {\n    return getUint64(16, this);\n  }\n  set typeId(value) {\n    setUint64(16, value, this);\n  }\n  toString() {\n    return \"Field_Group_\" + super.toString();\n  }\n}\nconst Field_Ordinal_Which = {\n  IMPLICIT: 0,\n  /**\n  * The original ordinal number given to the field.  You probably should NOT use this; if you need\n  * a numeric identifier for a field, use its position within the field array for its scope.\n  * The ordinal is given here mainly just so that the original schema text can be reproduced given\n  * the compiled version -- i.e. so that `capnp compile -ocapnp` can do its job.\n  *\n  */\n  EXPLICIT: 1\n};\nclass Field_Ordinal extends Struct {\n  static IMPLICIT = Field_Ordinal_Which.IMPLICIT;\n  static EXPLICIT = Field_Ordinal_Which.EXPLICIT;\n  static _capnp = {\n    displayName: \"ordinal\",\n    id: \"bb90d5c287870be6\",\n    size: new ObjectSize(24, 4)\n  };\n  get _isImplicit() {\n    return getUint16(10, this) === 0;\n  }\n  set implicit(_) {\n    setUint16(10, 0, this);\n  }\n  /**\n  * The original ordinal number given to the field.  You probably should NOT use this; if you need\n  * a numeric identifier for a field, use its position within the field array for its scope.\n  * The ordinal is given here mainly just so that the original schema text can be reproduced given\n  * the compiled version -- i.e. so that `capnp compile -ocapnp` can do its job.\n  *\n  */\n  get explicit() {\n    testWhich(\"explicit\", getUint16(10, this), 1, this);\n    return getUint16(12, this);\n  }\n  get _isExplicit() {\n    return getUint16(10, this) === 1;\n  }\n  set explicit(value) {\n    setUint16(10, 1, this);\n    setUint16(12, value, this);\n  }\n  toString() {\n    return \"Field_Ordinal_\" + super.toString();\n  }\n  which() {\n    return getUint16(10, this);\n  }\n}\nconst Field_Which = {\n  SLOT: 0,\n  /**\n  * Indicates where this member appeared in the code, relative to other members.\n  * Code ordering may have semantic relevance -- programmers tend to place related fields\n  * together.  So, using code ordering makes sense in human-readable formats where ordering is\n  * otherwise irrelevant, like JSON.  The values of codeOrder are tightly-packed, so the maximum\n  * value is count(members) - 1.  Fields that are members of a union are only ordered relative to\n  * the other members of that union, so the maximum value there is count(union.members).\n  *\n  */\n  GROUP: 1\n};\nclass Field extends Struct {\n  static NO_DISCRIMINANT = 65535;\n  static SLOT = Field_Which.SLOT;\n  static GROUP = Field_Which.GROUP;\n  static _capnp = {\n    displayName: \"Field\",\n    id: \"9aad50a41f4af45f\",\n    size: new ObjectSize(24, 4),\n    defaultDiscriminantValue: getUint16Mask(65535)\n  };\n  static _Annotations;\n  get name() {\n    return getText(0, this);\n  }\n  set name(value) {\n    setText(0, value, this);\n  }\n  /**\n  * Indicates where this member appeared in the code, relative to other members.\n  * Code ordering may have semantic relevance -- programmers tend to place related fields\n  * together.  So, using code ordering makes sense in human-readable formats where ordering is\n  * otherwise irrelevant, like JSON.  The values of codeOrder are tightly-packed, so the maximum\n  * value is count(members) - 1.  Fields that are members of a union are only ordered relative to\n  * the other members of that union, so the maximum value there is count(union.members).\n  *\n  */\n  get codeOrder() {\n    return getUint16(0, this);\n  }\n  set codeOrder(value) {\n    setUint16(0, value, this);\n  }\n  _adoptAnnotations(value) {\n    adopt(value, getPointer(1, this));\n  }\n  _disownAnnotations() {\n    return disown(this.annotations);\n  }\n  get annotations() {\n    return getList(1, Field._Annotations, this);\n  }\n  _hasAnnotations() {\n    return !isNull(getPointer(1, this));\n  }\n  _initAnnotations(length) {\n    return initList(1, Field._Annotations, length, this);\n  }\n  set annotations(value) {\n    copyFrom(value, getPointer(1, this));\n  }\n  /**\n  * If the field is in a union, this is the value which the union's discriminant should take when\n  * the field is active.  If the field is not in a union, this is 0xffff.\n  *\n  */\n  get discriminantValue() {\n    return getUint16(2, this, Field._capnp.defaultDiscriminantValue);\n  }\n  set discriminantValue(value) {\n    setUint16(2, value, this, Field._capnp.defaultDiscriminantValue);\n  }\n  /**\n  * A regular, non-group, non-fixed-list field.\n  *\n  */\n  get slot() {\n    testWhich(\"slot\", getUint16(8, this), 0, this);\n    return getAs(Field_Slot, this);\n  }\n  _initSlot() {\n    setUint16(8, 0, this);\n    return getAs(Field_Slot, this);\n  }\n  get _isSlot() {\n    return getUint16(8, this) === 0;\n  }\n  set slot(_) {\n    setUint16(8, 0, this);\n  }\n  /**\n  * A group.\n  *\n  */\n  get group() {\n    testWhich(\"group\", getUint16(8, this), 1, this);\n    return getAs(Field_Group, this);\n  }\n  _initGroup() {\n    setUint16(8, 1, this);\n    return getAs(Field_Group, this);\n  }\n  get _isGroup() {\n    return getUint16(8, this) === 1;\n  }\n  set group(_) {\n    setUint16(8, 1, this);\n  }\n  get ordinal() {\n    return getAs(Field_Ordinal, this);\n  }\n  _initOrdinal() {\n    return getAs(Field_Ordinal, this);\n  }\n  toString() {\n    return \"Field_\" + super.toString();\n  }\n  which() {\n    return getUint16(8, this);\n  }\n}\nclass Enumerant extends Struct {\n  static _capnp = {\n    displayName: \"Enumerant\",\n    id: \"978a7cebdc549a4d\",\n    size: new ObjectSize(8, 2)\n  };\n  static _Annotations;\n  get name() {\n    return getText(0, this);\n  }\n  set name(value) {\n    setText(0, value, this);\n  }\n  /**\n  * Specifies order in which the enumerants were declared in the code.\n  * Like utils.Field.codeOrder.\n  *\n  */\n  get codeOrder() {\n    return getUint16(0, this);\n  }\n  set codeOrder(value) {\n    setUint16(0, value, this);\n  }\n  _adoptAnnotations(value) {\n    adopt(value, getPointer(1, this));\n  }\n  _disownAnnotations() {\n    return disown(this.annotations);\n  }\n  get annotations() {\n    return getList(1, Enumerant._Annotations, this);\n  }\n  _hasAnnotations() {\n    return !isNull(getPointer(1, this));\n  }\n  _initAnnotations(length) {\n    return initList(1, Enumerant._Annotations, length, this);\n  }\n  set annotations(value) {\n    copyFrom(value, getPointer(1, this));\n  }\n  toString() {\n    return \"Enumerant_\" + super.toString();\n  }\n}\nclass Superclass extends Struct {\n  static _capnp = {\n    displayName: \"Superclass\",\n    id: \"a9962a9ed0a4d7f8\",\n    size: new ObjectSize(8, 1)\n  };\n  get id() {\n    return getUint64(0, this);\n  }\n  set id(value) {\n    setUint64(0, value, this);\n  }\n  _adoptBrand(value) {\n    adopt(value, getPointer(0, this));\n  }\n  _disownBrand() {\n    return disown(this.brand);\n  }\n  get brand() {\n    return getStruct(0, Brand, this);\n  }\n  _hasBrand() {\n    return !isNull(getPointer(0, this));\n  }\n  _initBrand() {\n    return initStructAt(0, Brand, this);\n  }\n  set brand(value) {\n    copyFrom(value, getPointer(0, this));\n  }\n  toString() {\n    return \"Superclass_\" + super.toString();\n  }\n}\nclass Method extends Struct {\n  static _capnp = {\n    displayName: \"Method\",\n    id: \"9500cce23b334d80\",\n    size: new ObjectSize(24, 5)\n  };\n  static _ImplicitParameters;\n  static _Annotations;\n  get name() {\n    return getText(0, this);\n  }\n  set name(value) {\n    setText(0, value, this);\n  }\n  /**\n  * Specifies order in which the methods were declared in the code.\n  * Like utils.Field.codeOrder.\n  *\n  */\n  get codeOrder() {\n    return getUint16(0, this);\n  }\n  set codeOrder(value) {\n    setUint16(0, value, this);\n  }\n  _adoptImplicitParameters(value) {\n    adopt(value, getPointer(4, this));\n  }\n  _disownImplicitParameters() {\n    return disown(this.implicitParameters);\n  }\n  /**\n  * The parameters listed in [] (typically, type / generic parameters), whose bindings are intended\n  * to be inferred rather than specified explicitly, although not all languages support this.\n  *\n  */\n  get implicitParameters() {\n    return getList(4, Method._ImplicitParameters, this);\n  }\n  _hasImplicitParameters() {\n    return !isNull(getPointer(4, this));\n  }\n  _initImplicitParameters(length) {\n    return initList(4, Method._ImplicitParameters, length, this);\n  }\n  set implicitParameters(value) {\n    copyFrom(value, getPointer(4, this));\n  }\n  /**\n  * ID of the parameter struct type.  If a named parameter list was specified in the method\n  * declaration (rather than a single struct parameter type) then a corresponding struct type is\n  * auto-generated.  Such an auto-generated type will not be listed in the interface's\n  * `nestedNodes` and its `scopeId` will be zero -- it is completely detached from the namespace.\n  * (Awkwardly, it does of course inherit generic parameters from the method's scope, which makes\n  * this a situation where you can't just climb the scope chain to find where a particular\n  * generic parameter was introduced. Making the `scopeId` zero was a mistake.)\n  *\n  */\n  get paramStructType() {\n    return getUint64(8, this);\n  }\n  set paramStructType(value) {\n    setUint64(8, value, this);\n  }\n  _adoptParamBrand(value) {\n    adopt(value, getPointer(2, this));\n  }\n  _disownParamBrand() {\n    return disown(this.paramBrand);\n  }\n  /**\n  * Brand of param struct type.\n  *\n  */\n  get paramBrand() {\n    return getStruct(2, Brand, this);\n  }\n  _hasParamBrand() {\n    return !isNull(getPointer(2, this));\n  }\n  _initParamBrand() {\n    return initStructAt(2, Brand, this);\n  }\n  set paramBrand(value) {\n    copyFrom(value, getPointer(2, this));\n  }\n  /**\n  * ID of the return struct type; similar to `paramStructType`.\n  *\n  */\n  get resultStructType() {\n    return getUint64(16, this);\n  }\n  set resultStructType(value) {\n    setUint64(16, value, this);\n  }\n  _adoptResultBrand(value) {\n    adopt(value, getPointer(3, this));\n  }\n  _disownResultBrand() {\n    return disown(this.resultBrand);\n  }\n  /**\n  * Brand of result struct type.\n  *\n  */\n  get resultBrand() {\n    return getStruct(3, Brand, this);\n  }\n  _hasResultBrand() {\n    return !isNull(getPointer(3, this));\n  }\n  _initResultBrand() {\n    return initStructAt(3, Brand, this);\n  }\n  set resultBrand(value) {\n    copyFrom(value, getPointer(3, this));\n  }\n  _adoptAnnotations(value) {\n    adopt(value, getPointer(1, this));\n  }\n  _disownAnnotations() {\n    return disown(this.annotations);\n  }\n  get annotations() {\n    return getList(1, Method._Annotations, this);\n  }\n  _hasAnnotations() {\n    return !isNull(getPointer(1, this));\n  }\n  _initAnnotations(length) {\n    return initList(1, Method._Annotations, length, this);\n  }\n  set annotations(value) {\n    copyFrom(value, getPointer(1, this));\n  }\n  toString() {\n    return \"Method_\" + super.toString();\n  }\n}\nclass Type_List extends Struct {\n  static _capnp = {\n    displayName: \"list\",\n    id: \"87e739250a60ea97\",\n    size: new ObjectSize(24, 1)\n  };\n  _adoptElementType(value) {\n    adopt(value, getPointer(0, this));\n  }\n  _disownElementType() {\n    return disown(this.elementType);\n  }\n  get elementType() {\n    return getStruct(0, Type, this);\n  }\n  _hasElementType() {\n    return !isNull(getPointer(0, this));\n  }\n  _initElementType() {\n    return initStructAt(0, Type, this);\n  }\n  set elementType(value) {\n    copyFrom(value, getPointer(0, this));\n  }\n  toString() {\n    return \"Type_List_\" + super.toString();\n  }\n}\nclass Type_Enum extends Struct {\n  static _capnp = {\n    displayName: \"enum\",\n    id: \"9e0e78711a7f87a9\",\n    size: new ObjectSize(24, 1)\n  };\n  get typeId() {\n    return getUint64(8, this);\n  }\n  set typeId(value) {\n    setUint64(8, value, this);\n  }\n  _adoptBrand(value) {\n    adopt(value, getPointer(0, this));\n  }\n  _disownBrand() {\n    return disown(this.brand);\n  }\n  get brand() {\n    return getStruct(0, Brand, this);\n  }\n  _hasBrand() {\n    return !isNull(getPointer(0, this));\n  }\n  _initBrand() {\n    return initStructAt(0, Brand, this);\n  }\n  set brand(value) {\n    copyFrom(value, getPointer(0, this));\n  }\n  toString() {\n    return \"Type_Enum_\" + super.toString();\n  }\n}\nclass Type_Struct extends Struct {\n  static _capnp = {\n    displayName: \"struct\",\n    id: \"ac3a6f60ef4cc6d3\",\n    size: new ObjectSize(24, 1)\n  };\n  get typeId() {\n    return getUint64(8, this);\n  }\n  set typeId(value) {\n    setUint64(8, value, this);\n  }\n  _adoptBrand(value) {\n    adopt(value, getPointer(0, this));\n  }\n  _disownBrand() {\n    return disown(this.brand);\n  }\n  get brand() {\n    return getStruct(0, Brand, this);\n  }\n  _hasBrand() {\n    return !isNull(getPointer(0, this));\n  }\n  _initBrand() {\n    return initStructAt(0, Brand, this);\n  }\n  set brand(value) {\n    copyFrom(value, getPointer(0, this));\n  }\n  toString() {\n    return \"Type_Struct_\" + super.toString();\n  }\n}\nclass Type_Interface extends Struct {\n  static _capnp = {\n    displayName: \"interface\",\n    id: \"ed8bca69f7fb0cbf\",\n    size: new ObjectSize(24, 1)\n  };\n  get typeId() {\n    return getUint64(8, this);\n  }\n  set typeId(value) {\n    setUint64(8, value, this);\n  }\n  _adoptBrand(value) {\n    adopt(value, getPointer(0, this));\n  }\n  _disownBrand() {\n    return disown(this.brand);\n  }\n  get brand() {\n    return getStruct(0, Brand, this);\n  }\n  _hasBrand() {\n    return !isNull(getPointer(0, this));\n  }\n  _initBrand() {\n    return initStructAt(0, Brand, this);\n  }\n  set brand(value) {\n    copyFrom(value, getPointer(0, this));\n  }\n  toString() {\n    return \"Type_Interface_\" + super.toString();\n  }\n}\nconst Type_AnyPointer_Unconstrained_Which = {\n  /**\n  * truly AnyPointer\n  *\n  */\n  ANY_KIND: 0,\n  /**\n  * AnyStruct\n  *\n  */\n  STRUCT: 1,\n  /**\n  * AnyList\n  *\n  */\n  LIST: 2,\n  /**\n  * Capability\n  *\n  */\n  CAPABILITY: 3\n};\nclass Type_AnyPointer_Unconstrained extends Struct {\n  static ANY_KIND = Type_AnyPointer_Unconstrained_Which.ANY_KIND;\n  static STRUCT = Type_AnyPointer_Unconstrained_Which.STRUCT;\n  static LIST = Type_AnyPointer_Unconstrained_Which.LIST;\n  static CAPABILITY = Type_AnyPointer_Unconstrained_Which.CAPABILITY;\n  static _capnp = {\n    displayName: \"unconstrained\",\n    id: \"8e3b5f79fe593656\",\n    size: new ObjectSize(24, 1)\n  };\n  get _isAnyKind() {\n    return getUint16(10, this) === 0;\n  }\n  set anyKind(_) {\n    setUint16(10, 0, this);\n  }\n  get _isStruct() {\n    return getUint16(10, this) === 1;\n  }\n  set struct(_) {\n    setUint16(10, 1, this);\n  }\n  get _isList() {\n    return getUint16(10, this) === 2;\n  }\n  set list(_) {\n    setUint16(10, 2, this);\n  }\n  get _isCapability() {\n    return getUint16(10, this) === 3;\n  }\n  set capability(_) {\n    setUint16(10, 3, this);\n  }\n  toString() {\n    return \"Type_AnyPointer_Unconstrained_\" + super.toString();\n  }\n  which() {\n    return getUint16(10, this);\n  }\n}\nclass Type_AnyPointer_Parameter extends Struct {\n  static _capnp = {\n    displayName: \"parameter\",\n    id: \"9dd1f724f4614a85\",\n    size: new ObjectSize(24, 1)\n  };\n  /**\n  * ID of the generic type whose parameter we're referencing. This should be a parent of the\n  * current scope.\n  *\n  */\n  get scopeId() {\n    return getUint64(16, this);\n  }\n  set scopeId(value) {\n    setUint64(16, value, this);\n  }\n  /**\n  * Index of the parameter within the generic type's parameter list.\n  *\n  */\n  get parameterIndex() {\n    return getUint16(10, this);\n  }\n  set parameterIndex(value) {\n    setUint16(10, value, this);\n  }\n  toString() {\n    return \"Type_AnyPointer_Parameter_\" + super.toString();\n  }\n}\nclass Type_AnyPointer_ImplicitMethodParameter extends Struct {\n  static _capnp = {\n    displayName: \"implicitMethodParameter\",\n    id: \"baefc9120c56e274\",\n    size: new ObjectSize(24, 1)\n  };\n  get parameterIndex() {\n    return getUint16(10, this);\n  }\n  set parameterIndex(value) {\n    setUint16(10, value, this);\n  }\n  toString() {\n    return \"Type_AnyPointer_ImplicitMethodParameter_\" + super.toString();\n  }\n}\nconst Type_AnyPointer_Which = {\n  /**\n  * A regular AnyPointer.\n  *\n  * The name \"unconstrained\" means as opposed to constraining it to match a type parameter.\n  * In retrospect this name is probably a poor choice given that it may still be constrained\n  * to be a struct, list, or capability.\n  *\n  */\n  UNCONSTRAINED: 0,\n  /**\n  * This is actually a reference to a type parameter defined within this scope.\n  *\n  */\n  PARAMETER: 1,\n  /**\n  * This is actually a reference to an implicit (generic) parameter of a method. The only\n  * legal context for this type to appear is inside Method.paramBrand or Method.resultBrand.\n  *\n  */\n  IMPLICIT_METHOD_PARAMETER: 2\n};\nclass Type_AnyPointer extends Struct {\n  static UNCONSTRAINED = Type_AnyPointer_Which.UNCONSTRAINED;\n  static PARAMETER = Type_AnyPointer_Which.PARAMETER;\n  static IMPLICIT_METHOD_PARAMETER = Type_AnyPointer_Which.IMPLICIT_METHOD_PARAMETER;\n  static _capnp = {\n    displayName: \"anyPointer\",\n    id: \"c2573fe8a23e49f1\",\n    size: new ObjectSize(24, 1)\n  };\n  /**\n  * A regular AnyPointer.\n  *\n  * The name \"unconstrained\" means as opposed to constraining it to match a type parameter.\n  * In retrospect this name is probably a poor choice given that it may still be constrained\n  * to be a struct, list, or capability.\n  *\n  */\n  get unconstrained() {\n    testWhich(\"unconstrained\", getUint16(8, this), 0, this);\n    return getAs(Type_AnyPointer_Unconstrained, this);\n  }\n  _initUnconstrained() {\n    setUint16(8, 0, this);\n    return getAs(Type_AnyPointer_Unconstrained, this);\n  }\n  get _isUnconstrained() {\n    return getUint16(8, this) === 0;\n  }\n  set unconstrained(_) {\n    setUint16(8, 0, this);\n  }\n  /**\n  * This is actually a reference to a type parameter defined within this scope.\n  *\n  */\n  get parameter() {\n    testWhich(\"parameter\", getUint16(8, this), 1, this);\n    return getAs(Type_AnyPointer_Parameter, this);\n  }\n  _initParameter() {\n    setUint16(8, 1, this);\n    return getAs(Type_AnyPointer_Parameter, this);\n  }\n  get _isParameter() {\n    return getUint16(8, this) === 1;\n  }\n  set parameter(_) {\n    setUint16(8, 1, this);\n  }\n  /**\n  * This is actually a reference to an implicit (generic) parameter of a method. The only\n  * legal context for this type to appear is inside Method.paramBrand or Method.resultBrand.\n  *\n  */\n  get implicitMethodParameter() {\n    testWhich(\"implicitMethodParameter\", getUint16(8, this), 2, this);\n    return getAs(Type_AnyPointer_ImplicitMethodParameter, this);\n  }\n  _initImplicitMethodParameter() {\n    setUint16(8, 2, this);\n    return getAs(Type_AnyPointer_ImplicitMethodParameter, this);\n  }\n  get _isImplicitMethodParameter() {\n    return getUint16(8, this) === 2;\n  }\n  set implicitMethodParameter(_) {\n    setUint16(8, 2, this);\n  }\n  toString() {\n    return \"Type_AnyPointer_\" + super.toString();\n  }\n  which() {\n    return getUint16(8, this);\n  }\n}\nconst Type_Which = {\n  VOID: 0,\n  BOOL: 1,\n  INT8: 2,\n  INT16: 3,\n  INT32: 4,\n  INT64: 5,\n  UINT8: 6,\n  UINT16: 7,\n  UINT32: 8,\n  UINT64: 9,\n  FLOAT32: 10,\n  FLOAT64: 11,\n  TEXT: 12,\n  DATA: 13,\n  LIST: 14,\n  ENUM: 15,\n  STRUCT: 16,\n  INTERFACE: 17,\n  ANY_POINTER: 18\n};\nclass Type extends Struct {\n  static VOID = Type_Which.VOID;\n  static BOOL = Type_Which.BOOL;\n  static INT8 = Type_Which.INT8;\n  static INT16 = Type_Which.INT16;\n  static INT32 = Type_Which.INT32;\n  static INT64 = Type_Which.INT64;\n  static UINT8 = Type_Which.UINT8;\n  static UINT16 = Type_Which.UINT16;\n  static UINT32 = Type_Which.UINT32;\n  static UINT64 = Type_Which.UINT64;\n  static FLOAT32 = Type_Which.FLOAT32;\n  static FLOAT64 = Type_Which.FLOAT64;\n  static TEXT = Type_Which.TEXT;\n  static DATA = Type_Which.DATA;\n  static LIST = Type_Which.LIST;\n  static ENUM = Type_Which.ENUM;\n  static STRUCT = Type_Which.STRUCT;\n  static INTERFACE = Type_Which.INTERFACE;\n  static ANY_POINTER = Type_Which.ANY_POINTER;\n  static _capnp = {\n    displayName: \"Type\",\n    id: \"d07378ede1f9cc60\",\n    size: new ObjectSize(24, 1)\n  };\n  get _isVoid() {\n    return getUint16(0, this) === 0;\n  }\n  set void(_) {\n    setUint16(0, 0, this);\n  }\n  get _isBool() {\n    return getUint16(0, this) === 1;\n  }\n  set bool(_) {\n    setUint16(0, 1, this);\n  }\n  get _isInt8() {\n    return getUint16(0, this) === 2;\n  }\n  set int8(_) {\n    setUint16(0, 2, this);\n  }\n  get _isInt16() {\n    return getUint16(0, this) === 3;\n  }\n  set int16(_) {\n    setUint16(0, 3, this);\n  }\n  get _isInt32() {\n    return getUint16(0, this) === 4;\n  }\n  set int32(_) {\n    setUint16(0, 4, this);\n  }\n  get _isInt64() {\n    return getUint16(0, this) === 5;\n  }\n  set int64(_) {\n    setUint16(0, 5, this);\n  }\n  get _isUint8() {\n    return getUint16(0, this) === 6;\n  }\n  set uint8(_) {\n    setUint16(0, 6, this);\n  }\n  get _isUint16() {\n    return getUint16(0, this) === 7;\n  }\n  set uint16(_) {\n    setUint16(0, 7, this);\n  }\n  get _isUint32() {\n    return getUint16(0, this) === 8;\n  }\n  set uint32(_) {\n    setUint16(0, 8, this);\n  }\n  get _isUint64() {\n    return getUint16(0, this) === 9;\n  }\n  set uint64(_) {\n    setUint16(0, 9, this);\n  }\n  get _isFloat32() {\n    return getUint16(0, this) === 10;\n  }\n  set float32(_) {\n    setUint16(0, 10, this);\n  }\n  get _isFloat64() {\n    return getUint16(0, this) === 11;\n  }\n  set float64(_) {\n    setUint16(0, 11, this);\n  }\n  get _isText() {\n    return getUint16(0, this) === 12;\n  }\n  set text(_) {\n    setUint16(0, 12, this);\n  }\n  get _isData() {\n    return getUint16(0, this) === 13;\n  }\n  set data(_) {\n    setUint16(0, 13, this);\n  }\n  get list() {\n    testWhich(\"list\", getUint16(0, this), 14, this);\n    return getAs(Type_List, this);\n  }\n  _initList() {\n    setUint16(0, 14, this);\n    return getAs(Type_List, this);\n  }\n  get _isList() {\n    return getUint16(0, this) === 14;\n  }\n  set list(_) {\n    setUint16(0, 14, this);\n  }\n  get enum() {\n    testWhich(\"enum\", getUint16(0, this), 15, this);\n    return getAs(Type_Enum, this);\n  }\n  _initEnum() {\n    setUint16(0, 15, this);\n    return getAs(Type_Enum, this);\n  }\n  get _isEnum() {\n    return getUint16(0, this) === 15;\n  }\n  set enum(_) {\n    setUint16(0, 15, this);\n  }\n  get struct() {\n    testWhich(\"struct\", getUint16(0, this), 16, this);\n    return getAs(Type_Struct, this);\n  }\n  _initStruct() {\n    setUint16(0, 16, this);\n    return getAs(Type_Struct, this);\n  }\n  get _isStruct() {\n    return getUint16(0, this) === 16;\n  }\n  set struct(_) {\n    setUint16(0, 16, this);\n  }\n  get interface() {\n    testWhich(\"interface\", getUint16(0, this), 17, this);\n    return getAs(Type_Interface, this);\n  }\n  _initInterface() {\n    setUint16(0, 17, this);\n    return getAs(Type_Interface, this);\n  }\n  get _isInterface() {\n    return getUint16(0, this) === 17;\n  }\n  set interface(_) {\n    setUint16(0, 17, this);\n  }\n  get anyPointer() {\n    testWhich(\"anyPointer\", getUint16(0, this), 18, this);\n    return getAs(Type_AnyPointer, this);\n  }\n  _initAnyPointer() {\n    setUint16(0, 18, this);\n    return getAs(Type_AnyPointer, this);\n  }\n  get _isAnyPointer() {\n    return getUint16(0, this) === 18;\n  }\n  set anyPointer(_) {\n    setUint16(0, 18, this);\n  }\n  toString() {\n    return \"Type_\" + super.toString();\n  }\n  which() {\n    return getUint16(0, this);\n  }\n}\nconst Brand_Scope_Which = {\n  /**\n  * ID of the scope to which these params apply.\n  *\n  */\n  BIND: 0,\n  /**\n  * List of parameter bindings.\n  *\n  */\n  INHERIT: 1\n};\nclass Brand_Scope extends Struct {\n  static BIND = Brand_Scope_Which.BIND;\n  static INHERIT = Brand_Scope_Which.INHERIT;\n  static _capnp = {\n    displayName: \"Scope\",\n    id: \"abd73485a9636bc9\",\n    size: new ObjectSize(16, 1)\n  };\n  static _Bind;\n  /**\n  * ID of the scope to which these params apply.\n  *\n  */\n  get scopeId() {\n    return getUint64(0, this);\n  }\n  set scopeId(value) {\n    setUint64(0, value, this);\n  }\n  _adoptBind(value) {\n    setUint16(8, 0, this);\n    adopt(value, getPointer(0, this));\n  }\n  _disownBind() {\n    return disown(this.bind);\n  }\n  /**\n  * List of parameter bindings.\n  *\n  */\n  get bind() {\n    testWhich(\"bind\", getUint16(8, this), 0, this);\n    return getList(0, Brand_Scope._Bind, this);\n  }\n  _hasBind() {\n    return !isNull(getPointer(0, this));\n  }\n  _initBind(length) {\n    setUint16(8, 0, this);\n    return initList(0, Brand_Scope._Bind, length, this);\n  }\n  get _isBind() {\n    return getUint16(8, this) === 0;\n  }\n  set bind(value) {\n    setUint16(8, 0, this);\n    copyFrom(value, getPointer(0, this));\n  }\n  get _isInherit() {\n    return getUint16(8, this) === 1;\n  }\n  set inherit(_) {\n    setUint16(8, 1, this);\n  }\n  toString() {\n    return \"Brand_Scope_\" + super.toString();\n  }\n  which() {\n    return getUint16(8, this);\n  }\n}\nconst Brand_Binding_Which = {\n  UNBOUND: 0,\n  TYPE: 1\n};\nclass Brand_Binding extends Struct {\n  static UNBOUND = Brand_Binding_Which.UNBOUND;\n  static TYPE = Brand_Binding_Which.TYPE;\n  static _capnp = {\n    displayName: \"Binding\",\n    id: \"c863cd16969ee7fc\",\n    size: new ObjectSize(8, 1)\n  };\n  get _isUnbound() {\n    return getUint16(0, this) === 0;\n  }\n  set unbound(_) {\n    setUint16(0, 0, this);\n  }\n  _adoptType(value) {\n    setUint16(0, 1, this);\n    adopt(value, getPointer(0, this));\n  }\n  _disownType() {\n    return disown(this.type);\n  }\n  get type() {\n    testWhich(\"type\", getUint16(0, this), 1, this);\n    return getStruct(0, Type, this);\n  }\n  _hasType() {\n    return !isNull(getPointer(0, this));\n  }\n  _initType() {\n    setUint16(0, 1, this);\n    return initStructAt(0, Type, this);\n  }\n  get _isType() {\n    return getUint16(0, this) === 1;\n  }\n  set type(value) {\n    setUint16(0, 1, this);\n    copyFrom(value, getPointer(0, this));\n  }\n  toString() {\n    return \"Brand_Binding_\" + super.toString();\n  }\n  which() {\n    return getUint16(0, this);\n  }\n}\nclass Brand extends Struct {\n  static Scope = Brand_Scope;\n  static Binding = Brand_Binding;\n  static _capnp = {\n    displayName: \"Brand\",\n    id: \"903455f06065422b\",\n    size: new ObjectSize(0, 1)\n  };\n  static _Scopes;\n  _adoptScopes(value) {\n    adopt(value, getPointer(0, this));\n  }\n  _disownScopes() {\n    return disown(this.scopes);\n  }\n  /**\n  * For each of the target type and each of its parent scopes, a parameterization may be included\n  * in this list. If no parameterization is included for a particular relevant scope, then either\n  * that scope has no parameters or all parameters should be considered to be `AnyPointer`.\n  *\n  */\n  get scopes() {\n    return getList(0, Brand._Scopes, this);\n  }\n  _hasScopes() {\n    return !isNull(getPointer(0, this));\n  }\n  _initScopes(length) {\n    return initList(0, Brand._Scopes, length, this);\n  }\n  set scopes(value) {\n    copyFrom(value, getPointer(0, this));\n  }\n  toString() {\n    return \"Brand_\" + super.toString();\n  }\n}\nconst Value_Which = {\n  VOID: 0,\n  BOOL: 1,\n  INT8: 2,\n  INT16: 3,\n  INT32: 4,\n  INT64: 5,\n  UINT8: 6,\n  UINT16: 7,\n  UINT32: 8,\n  UINT64: 9,\n  FLOAT32: 10,\n  FLOAT64: 11,\n  TEXT: 12,\n  DATA: 13,\n  LIST: 14,\n  ENUM: 15,\n  STRUCT: 16,\n  /**\n  * The only interface value that can be represented statically is \"null\", whose methods always\n  * throw exceptions.\n  *\n  */\n  INTERFACE: 17,\n  ANY_POINTER: 18\n};\nclass Value extends Struct {\n  static VOID = Value_Which.VOID;\n  static BOOL = Value_Which.BOOL;\n  static INT8 = Value_Which.INT8;\n  static INT16 = Value_Which.INT16;\n  static INT32 = Value_Which.INT32;\n  static INT64 = Value_Which.INT64;\n  static UINT8 = Value_Which.UINT8;\n  static UINT16 = Value_Which.UINT16;\n  static UINT32 = Value_Which.UINT32;\n  static UINT64 = Value_Which.UINT64;\n  static FLOAT32 = Value_Which.FLOAT32;\n  static FLOAT64 = Value_Which.FLOAT64;\n  static TEXT = Value_Which.TEXT;\n  static DATA = Value_Which.DATA;\n  static LIST = Value_Which.LIST;\n  static ENUM = Value_Which.ENUM;\n  static STRUCT = Value_Which.STRUCT;\n  static INTERFACE = Value_Which.INTERFACE;\n  static ANY_POINTER = Value_Which.ANY_POINTER;\n  static _capnp = {\n    displayName: \"Value\",\n    id: \"ce23dcd2d7b00c9b\",\n    size: new ObjectSize(16, 1)\n  };\n  get _isVoid() {\n    return getUint16(0, this) === 0;\n  }\n  set void(_) {\n    setUint16(0, 0, this);\n  }\n  get bool() {\n    testWhich(\"bool\", getUint16(0, this), 1, this);\n    return getBit(16, this);\n  }\n  get _isBool() {\n    return getUint16(0, this) === 1;\n  }\n  set bool(value) {\n    setUint16(0, 1, this);\n    setBit(16, value, this);\n  }\n  get int8() {\n    testWhich(\"int8\", getUint16(0, this), 2, this);\n    return getInt8(2, this);\n  }\n  get _isInt8() {\n    return getUint16(0, this) === 2;\n  }\n  set int8(value) {\n    setUint16(0, 2, this);\n    setInt8(2, value, this);\n  }\n  get int16() {\n    testWhich(\"int16\", getUint16(0, this), 3, this);\n    return getInt16(2, this);\n  }\n  get _isInt16() {\n    return getUint16(0, this) === 3;\n  }\n  set int16(value) {\n    setUint16(0, 3, this);\n    setInt16(2, value, this);\n  }\n  get int32() {\n    testWhich(\"int32\", getUint16(0, this), 4, this);\n    return getInt32(4, this);\n  }\n  get _isInt32() {\n    return getUint16(0, this) === 4;\n  }\n  set int32(value) {\n    setUint16(0, 4, this);\n    setInt32(4, value, this);\n  }\n  get int64() {\n    testWhich(\"int64\", getUint16(0, this), 5, this);\n    return getInt64(8, this);\n  }\n  get _isInt64() {\n    return getUint16(0, this) === 5;\n  }\n  set int64(value) {\n    setUint16(0, 5, this);\n    setInt64(8, value, this);\n  }\n  get uint8() {\n    testWhich(\"uint8\", getUint16(0, this), 6, this);\n    return getUint8(2, this);\n  }\n  get _isUint8() {\n    return getUint16(0, this) === 6;\n  }\n  set uint8(value) {\n    setUint16(0, 6, this);\n    setUint8(2, value, this);\n  }\n  get uint16() {\n    testWhich(\"uint16\", getUint16(0, this), 7, this);\n    return getUint16(2, this);\n  }\n  get _isUint16() {\n    return getUint16(0, this) === 7;\n  }\n  set uint16(value) {\n    setUint16(0, 7, this);\n    setUint16(2, value, this);\n  }\n  get uint32() {\n    testWhich(\"uint32\", getUint16(0, this), 8, this);\n    return getUint32(4, this);\n  }\n  get _isUint32() {\n    return getUint16(0, this) === 8;\n  }\n  set uint32(value) {\n    setUint16(0, 8, this);\n    setUint32(4, value, this);\n  }\n  get uint64() {\n    testWhich(\"uint64\", getUint16(0, this), 9, this);\n    return getUint64(8, this);\n  }\n  get _isUint64() {\n    return getUint16(0, this) === 9;\n  }\n  set uint64(value) {\n    setUint16(0, 9, this);\n    setUint64(8, value, this);\n  }\n  get float32() {\n    testWhich(\"float32\", getUint16(0, this), 10, this);\n    return getFloat32(4, this);\n  }\n  get _isFloat32() {\n    return getUint16(0, this) === 10;\n  }\n  set float32(value) {\n    setUint16(0, 10, this);\n    setFloat32(4, value, this);\n  }\n  get float64() {\n    testWhich(\"float64\", getUint16(0, this), 11, this);\n    return getFloat64(8, this);\n  }\n  get _isFloat64() {\n    return getUint16(0, this) === 11;\n  }\n  set float64(value) {\n    setUint16(0, 11, this);\n    setFloat64(8, value, this);\n  }\n  get text() {\n    testWhich(\"text\", getUint16(0, this), 12, this);\n    return getText(0, this);\n  }\n  get _isText() {\n    return getUint16(0, this) === 12;\n  }\n  set text(value) {\n    setUint16(0, 12, this);\n    setText(0, value, this);\n  }\n  _adoptData(value) {\n    setUint16(0, 13, this);\n    adopt(value, getPointer(0, this));\n  }\n  _disownData() {\n    return disown(this.data);\n  }\n  get data() {\n    testWhich(\"data\", getUint16(0, this), 13, this);\n    return getData(0, this);\n  }\n  _hasData() {\n    return !isNull(getPointer(0, this));\n  }\n  _initData(length) {\n    setUint16(0, 13, this);\n    return initData(0, length, this);\n  }\n  get _isData() {\n    return getUint16(0, this) === 13;\n  }\n  set data(value) {\n    setUint16(0, 13, this);\n    copyFrom(value, getPointer(0, this));\n  }\n  _adoptList(value) {\n    setUint16(0, 14, this);\n    adopt(value, getPointer(0, this));\n  }\n  _disownList() {\n    return disown(this.list);\n  }\n  get list() {\n    testWhich(\"list\", getUint16(0, this), 14, this);\n    return getPointer(0, this);\n  }\n  _hasList() {\n    return !isNull(getPointer(0, this));\n  }\n  get _isList() {\n    return getUint16(0, this) === 14;\n  }\n  set list(value) {\n    setUint16(0, 14, this);\n    copyFrom(value, getPointer(0, this));\n  }\n  get enum() {\n    testWhich(\"enum\", getUint16(0, this), 15, this);\n    return getUint16(2, this);\n  }\n  get _isEnum() {\n    return getUint16(0, this) === 15;\n  }\n  set enum(value) {\n    setUint16(0, 15, this);\n    setUint16(2, value, this);\n  }\n  _adoptStruct(value) {\n    setUint16(0, 16, this);\n    adopt(value, getPointer(0, this));\n  }\n  _disownStruct() {\n    return disown(this.struct);\n  }\n  get struct() {\n    testWhich(\"struct\", getUint16(0, this), 16, this);\n    return getPointer(0, this);\n  }\n  _hasStruct() {\n    return !isNull(getPointer(0, this));\n  }\n  get _isStruct() {\n    return getUint16(0, this) === 16;\n  }\n  set struct(value) {\n    setUint16(0, 16, this);\n    copyFrom(value, getPointer(0, this));\n  }\n  get _isInterface() {\n    return getUint16(0, this) === 17;\n  }\n  set interface(_) {\n    setUint16(0, 17, this);\n  }\n  _adoptAnyPointer(value) {\n    setUint16(0, 18, this);\n    adopt(value, getPointer(0, this));\n  }\n  _disownAnyPointer() {\n    return disown(this.anyPointer);\n  }\n  get anyPointer() {\n    testWhich(\"anyPointer\", getUint16(0, this), 18, this);\n    return getPointer(0, this);\n  }\n  _hasAnyPointer() {\n    return !isNull(getPointer(0, this));\n  }\n  get _isAnyPointer() {\n    return getUint16(0, this) === 18;\n  }\n  set anyPointer(value) {\n    setUint16(0, 18, this);\n    copyFrom(value, getPointer(0, this));\n  }\n  toString() {\n    return \"Value_\" + super.toString();\n  }\n  which() {\n    return getUint16(0, this);\n  }\n}\nclass Annotation extends Struct {\n  static _capnp = {\n    displayName: \"Annotation\",\n    id: \"f1c8950dab257542\",\n    size: new ObjectSize(8, 2)\n  };\n  /**\n  * ID of the annotation node.\n  *\n  */\n  get id() {\n    return getUint64(0, this);\n  }\n  set id(value) {\n    setUint64(0, value, this);\n  }\n  _adoptBrand(value) {\n    adopt(value, getPointer(1, this));\n  }\n  _disownBrand() {\n    return disown(this.brand);\n  }\n  /**\n  * Brand of the annotation.\n  *\n  * Note that the annotation itself is not allowed to be parameterized, but its scope might be.\n  *\n  */\n  get brand() {\n    return getStruct(1, Brand, this);\n  }\n  _hasBrand() {\n    return !isNull(getPointer(1, this));\n  }\n  _initBrand() {\n    return initStructAt(1, Brand, this);\n  }\n  set brand(value) {\n    copyFrom(value, getPointer(1, this));\n  }\n  _adoptValue(value) {\n    adopt(value, getPointer(0, this));\n  }\n  _disownValue() {\n    return disown(this.value);\n  }\n  get value() {\n    return getStruct(0, Value, this);\n  }\n  _hasValue() {\n    return !isNull(getPointer(0, this));\n  }\n  _initValue() {\n    return initStructAt(0, Value, this);\n  }\n  set value(value) {\n    copyFrom(value, getPointer(0, this));\n  }\n  toString() {\n    return \"Annotation_\" + super.toString();\n  }\n}\nconst ElementSize = {\n  /**\n  * aka \"void\", but that's a keyword.\n  *\n  */\n  EMPTY: 0,\n  BIT: 1,\n  BYTE: 2,\n  TWO_BYTES: 3,\n  FOUR_BYTES: 4,\n  EIGHT_BYTES: 5,\n  POINTER: 6,\n  INLINE_COMPOSITE: 7\n};\nclass CapnpVersion extends Struct {\n  static _capnp = {\n    displayName: \"CapnpVersion\",\n    id: \"d85d305b7d839963\",\n    size: new ObjectSize(8, 0)\n  };\n  get major() {\n    return getUint16(0, this);\n  }\n  set major(value) {\n    setUint16(0, value, this);\n  }\n  get minor() {\n    return getUint8(2, this);\n  }\n  set minor(value) {\n    setUint8(2, value, this);\n  }\n  get micro() {\n    return getUint8(3, this);\n  }\n  set micro(value) {\n    setUint8(3, value, this);\n  }\n  toString() {\n    return \"CapnpVersion_\" + super.toString();\n  }\n}\nclass CodeGeneratorRequest_RequestedFile_Import extends Struct {\n  static _capnp = {\n    displayName: \"Import\",\n    id: \"ae504193122357e5\",\n    size: new ObjectSize(8, 1)\n  };\n  /**\n  * ID of the imported file.\n  *\n  */\n  get id() {\n    return getUint64(0, this);\n  }\n  set id(value) {\n    setUint64(0, value, this);\n  }\n  /**\n  * Name which *this* file used to refer to the foreign file.  This may be a relative name.\n  * This information is provided because it might be useful for code generation, e.g. to\n  * generate #include directives in C++.  We don't put this in Node.file because this\n  * information is only meaningful at compile time anyway.\n  *\n  * (On Zooko's triangle, this is the import's petname according to the importing file.)\n  *\n  */\n  get name() {\n    return getText(0, this);\n  }\n  set name(value) {\n    setText(0, value, this);\n  }\n  toString() {\n    return \"CodeGeneratorRequest_RequestedFile_Import_\" + super.toString();\n  }\n}\nclass CodeGeneratorRequest_RequestedFile extends Struct {\n  static Import = CodeGeneratorRequest_RequestedFile_Import;\n  static _capnp = {\n    displayName: \"RequestedFile\",\n    id: \"cfea0eb02e810062\",\n    size: new ObjectSize(8, 2)\n  };\n  static _Imports;\n  /**\n  * ID of the file.\n  *\n  */\n  get id() {\n    return getUint64(0, this);\n  }\n  set id(value) {\n    setUint64(0, value, this);\n  }\n  /**\n  * Name of the file as it appeared on the command-line (minus the src-prefix).  You may use\n  * this to decide where to write the output.\n  *\n  */\n  get filename() {\n    return getText(0, this);\n  }\n  set filename(value) {\n    setText(0, value, this);\n  }\n  _adoptImports(value) {\n    adopt(value, getPointer(1, this));\n  }\n  _disownImports() {\n    return disown(this.imports);\n  }\n  /**\n  * List of all imported paths seen in this file.\n  *\n  */\n  get imports() {\n    return getList(1, CodeGeneratorRequest_RequestedFile._Imports, this);\n  }\n  _hasImports() {\n    return !isNull(getPointer(1, this));\n  }\n  _initImports(length) {\n    return initList(1, CodeGeneratorRequest_RequestedFile._Imports, length, this);\n  }\n  set imports(value) {\n    copyFrom(value, getPointer(1, this));\n  }\n  toString() {\n    return \"CodeGeneratorRequest_RequestedFile_\" + super.toString();\n  }\n}\nclass CodeGeneratorRequest extends Struct {\n  static RequestedFile = CodeGeneratorRequest_RequestedFile;\n  static _capnp = {\n    displayName: \"CodeGeneratorRequest\",\n    id: \"bfc546f6210ad7ce\",\n    size: new ObjectSize(0, 4)\n  };\n  static _Nodes;\n  static _SourceInfo;\n  static _RequestedFiles;\n  _adoptCapnpVersion(value) {\n    adopt(value, getPointer(2, this));\n  }\n  _disownCapnpVersion() {\n    return disown(this.capnpVersion);\n  }\n  /**\n  * Version of the `capnp` executable. Generally, code generators should ignore this, but the code\n  * generators that ship with `capnp` itself will print a warning if this mismatches since that\n  * probably indicates something is misconfigured.\n  *\n  * The first version of 'capnp' to set this was 0.6.0. So, if it's missing, the compiler version\n  * is older than that.\n  *\n  */\n  get capnpVersion() {\n    return getStruct(2, CapnpVersion, this);\n  }\n  _hasCapnpVersion() {\n    return !isNull(getPointer(2, this));\n  }\n  _initCapnpVersion() {\n    return initStructAt(2, CapnpVersion, this);\n  }\n  set capnpVersion(value) {\n    copyFrom(value, getPointer(2, this));\n  }\n  _adoptNodes(value) {\n    adopt(value, getPointer(0, this));\n  }\n  _disownNodes() {\n    return disown(this.nodes);\n  }\n  /**\n  * All nodes parsed by the compiler, including for the files on the command line and their\n  * imports.\n  *\n  */\n  get nodes() {\n    return getList(0, CodeGeneratorRequest._Nodes, this);\n  }\n  _hasNodes() {\n    return !isNull(getPointer(0, this));\n  }\n  _initNodes(length) {\n    return initList(0, CodeGeneratorRequest._Nodes, length, this);\n  }\n  set nodes(value) {\n    copyFrom(value, getPointer(0, this));\n  }\n  _adoptSourceInfo(value) {\n    adopt(value, getPointer(3, this));\n  }\n  _disownSourceInfo() {\n    return disown(this.sourceInfo);\n  }\n  /**\n  * Information about the original source code for each node, where available. This array may be\n  * omitted or may be missing some nodes if no info is available for them.\n  *\n  */\n  get sourceInfo() {\n    return getList(3, CodeGeneratorRequest._SourceInfo, this);\n  }\n  _hasSourceInfo() {\n    return !isNull(getPointer(3, this));\n  }\n  _initSourceInfo(length) {\n    return initList(3, CodeGeneratorRequest._SourceInfo, length, this);\n  }\n  set sourceInfo(value) {\n    copyFrom(value, getPointer(3, this));\n  }\n  _adoptRequestedFiles(value) {\n    adopt(value, getPointer(1, this));\n  }\n  _disownRequestedFiles() {\n    return disown(this.requestedFiles);\n  }\n  /**\n  * Files which were listed on the command line.\n  *\n  */\n  get requestedFiles() {\n    return getList(1, CodeGeneratorRequest._RequestedFiles, this);\n  }\n  _hasRequestedFiles() {\n    return !isNull(getPointer(1, this));\n  }\n  _initRequestedFiles(length) {\n    return initList(1, CodeGeneratorRequest._RequestedFiles, length, this);\n  }\n  set requestedFiles(value) {\n    copyFrom(value, getPointer(1, this));\n  }\n  toString() {\n    return \"CodeGeneratorRequest_\" + super.toString();\n  }\n}\nNode_SourceInfo._Members = CompositeList(Node_SourceInfo_Member);\nNode_Struct._Fields = CompositeList(Field);\nNode_Enum._Enumerants = CompositeList(Enumerant);\nNode_Interface._Methods = CompositeList(Method);\nNode_Interface._Superclasses = CompositeList(Superclass);\nNode._Parameters = CompositeList(Node_Parameter);\nNode._NestedNodes = CompositeList(Node_NestedNode);\nNode._Annotations = CompositeList(Annotation);\nField._Annotations = CompositeList(Annotation);\nEnumerant._Annotations = CompositeList(Annotation);\nMethod._ImplicitParameters = CompositeList(Node_Parameter);\nMethod._Annotations = CompositeList(Annotation);\nBrand_Scope._Bind = CompositeList(Brand_Binding);\nBrand._Scopes = CompositeList(Brand_Scope);\nCodeGeneratorRequest_RequestedFile._Imports = CompositeList(CodeGeneratorRequest_RequestedFile_Import);\nCodeGeneratorRequest._Nodes = CompositeList(Node);\nCodeGeneratorRequest._SourceInfo = CompositeList(Node_SourceInfo);\nCodeGeneratorRequest._RequestedFiles = CompositeList(CodeGeneratorRequest_RequestedFile);\n\nexport { Annotation, Brand, Brand_Binding, Brand_Binding_Which, Brand_Scope, Brand_Scope_Which, CapnpVersion, CodeGeneratorRequest, CodeGeneratorRequest_RequestedFile, CodeGeneratorRequest_RequestedFile_Import, ElementSize, Enumerant, Field, Field_Group, Field_Ordinal, Field_Ordinal_Which, Field_Slot, Field_Which, Method, Node, Node_Annotation, Node_Const, Node_Enum, Node_Interface, Node_NestedNode, Node_Parameter, Node_SourceInfo, Node_SourceInfo_Member, Node_Struct, Node_Which, Superclass, Type, Type_AnyPointer, Type_AnyPointer_ImplicitMethodParameter, Type_AnyPointer_Parameter, Type_AnyPointer_Unconstrained, Type_AnyPointer_Unconstrained_Which, Type_AnyPointer_Which, Type_Enum, Type_Interface, Type_List, Type_Struct, Type_Which, Value, Value_Which, _capnpFileId };\n","import ts from 'typescript';\nimport { Type, ElementSize, Field, Type_Which, Value, Node, CodeGeneratorRequest } from '../capnp/schema.mjs';\nimport { M as Message } from './capnp-es.GpvEvMIK.mjs';\nimport { N as format, t as testWhich, b as getUint16, g as getPointer, an as pad } from './capnp-es.0-_cOx6D.mjs';\n\nconst GEN_EXPLICIT_DEFAULT_NON_PRIMITIVE = \"CAPNP-ES000 Don't know how to generate a %s field with an explicit default value.\";\nconst GEN_FIELD_NON_INLINE_STRUCT_LIST = \"CAPNP-ES001 Don't know how to generate non-inline struct lists.\";\nconst GEN_NODE_LOOKUP_FAIL = \"CAPNP-ES002 Failed to look up node id %s.\";\nconst GEN_NODE_UNKNOWN_TYPE = `CAPNP-ES003 Don't know how to generate a \"%s\" node.`;\nconst GEN_SERIALIZE_UNKNOWN_VALUE = \"CAPNP-ES004 Don't know how to serialize a value of kind %s.\";\nconst GEN_UNKNOWN_STRUCT_FIELD = \"CAPNP-ES005 Don't know how to generate a struct field of kind %d.\";\nconst GEN_UNKNOWN_TYPE = \"CAPNP-ES006 Unknown slot type encountered: %d\";\nconst GEN_UNSUPPORTED_LIST_ELEMENT_TYPE = \"CAPNP-ES007 Encountered an unsupported list element type: %d\";\nconst GEN_TS_EMIT_FAILED = \"CAPNP-ES009 Failed to transpile emitted schema source code; see above for error messages.\";\nconst GEN_UNKNOWN_DEFAULT = \"CAPNP-ES010 Don't know how to generate a default value for %s fields.\";\n\nconst ConcreteListType = {\n  [Type.ANY_POINTER]: \"$.AnyPointerList\",\n  [Type.BOOL]: \"$.BoolList\",\n  [Type.DATA]: \"$.DataList\",\n  [Type.ENUM]: \"$.Uint16List\",\n  [Type.FLOAT32]: \"$.Float32List\",\n  [Type.FLOAT64]: \"$.Float64List\",\n  [Type.INT16]: \"$.Int16List\",\n  [Type.INT32]: \"$.Int32List\",\n  [Type.INT64]: \"$.Int64List\",\n  [Type.INT8]: \"$.Int8List\",\n  [Type.INTERFACE]: \"$.InterfaceList\",\n  [Type.LIST]: \"$.PointerList\",\n  [Type.STRUCT]: \"$.CompositeList\",\n  [Type.TEXT]: \"$.TextList\",\n  [Type.UINT16]: \"$.Uint16List\",\n  [Type.UINT32]: \"$.Uint32List\",\n  [Type.UINT64]: \"$.Uint64List\",\n  [Type.UINT8]: \"$.Uint8List\",\n  [Type.VOID]: \"$.VoidList\"\n};\nconst Primitives = {\n  [Type.BOOL]: {\n    byteLength: 1,\n    getter: \"getBit\",\n    mask: \"getBitMask\",\n    setter: \"setBit\"\n  },\n  [Type.ENUM]: {\n    byteLength: 2,\n    getter: \"getUint16\",\n    mask: \"getUint16Mask\",\n    setter: \"setUint16\"\n  },\n  [Type.FLOAT32]: {\n    byteLength: 4,\n    getter: \"getFloat32\",\n    mask: \"getFloat32Mask\",\n    setter: \"setFloat32\"\n  },\n  [Type.FLOAT64]: {\n    byteLength: 8,\n    getter: \"getFloat64\",\n    mask: \"getFloat64Mask\",\n    setter: \"setFloat64\"\n  },\n  [Type.INT16]: {\n    byteLength: 2,\n    getter: \"getInt16\",\n    mask: \"getInt16Mask\",\n    setter: \"setInt16\"\n  },\n  [Type.INT32]: {\n    byteLength: 4,\n    getter: \"getInt32\",\n    mask: \"getInt32Mask\",\n    setter: \"setInt32\"\n  },\n  [Type.INT64]: {\n    byteLength: 8,\n    getter: \"getInt64\",\n    mask: \"getInt64Mask\",\n    setter: \"setInt64\"\n  },\n  [Type.INT8]: {\n    byteLength: 1,\n    getter: \"getInt8\",\n    mask: \"getInt8Mask\",\n    setter: \"setInt8\"\n  },\n  [Type.UINT16]: {\n    byteLength: 2,\n    getter: \"getUint16\",\n    mask: \"getUint16Mask\",\n    setter: \"setUint16\"\n  },\n  [Type.UINT32]: {\n    byteLength: 4,\n    getter: \"getUint32\",\n    mask: \"getUint32Mask\",\n    setter: \"setUint32\"\n  },\n  [Type.UINT64]: {\n    byteLength: 8,\n    getter: \"getUint64\",\n    mask: \"getUint64Mask\",\n    setter: \"setUint64\"\n  },\n  [Type.UINT8]: {\n    byteLength: 1,\n    getter: \"getUint8\",\n    mask: \"getUint8Mask\",\n    setter: \"setUint8\"\n  },\n  [Type.VOID]: {\n    byteLength: 0,\n    getter: \"getVoid\",\n    mask: \"getVoidMask\",\n    setter: \"setVoid\"\n  }\n};\n\nconst SOURCE_COMMENT = `\n/* eslint-disable */\n// biome-ignore lint: disable\n\n// Generated by storm-capnpc\n// Note: Do not edit this file manually - it will be overwritten automatically\n\n`;\nconst TS_FILE_ID = \"e37ded525a68a7c9\";\n\n/**\n * A function for converting hex <-> dec w/o loss of precision.\n *\n * The problem is that parseInt(\"0x12345...\") isn't precise enough to convert\n * 64-bit integers correctly.\n *\n * Internally, this uses arrays to encode decimal digits starting with the least\n * significant:\n * 8 = [8]\n * 16 = [6, 1]\n * 1024 = [4, 2, 0, 1]\n *\n * Source: http://www.danvk.org/hex2dec.html\n */\n\nvar hex2dec;\nvar hasRequiredHex2dec;\n\nfunction requireHex2dec () {\n\tif (hasRequiredHex2dec) return hex2dec;\n\thasRequiredHex2dec = 1;\n\t// Adds two arrays for the given base (10 or 16), returning the result.\n\t// This turns out to be the only \"primitive\" operation we need.\n\tfunction add(x, y, base) {\n\t  var z = [];\n\t  var n = Math.max(x.length, y.length);\n\t  var carry = 0;\n\t  var i = 0;\n\t  while (i < n || carry) {\n\t    var xi = i < x.length ? x[i] : 0;\n\t    var yi = i < y.length ? y[i] : 0;\n\t    var zi = carry + xi + yi;\n\t    z.push(zi % base);\n\t    carry = Math.floor(zi / base);\n\t    i++;\n\t  }\n\t  return z;\n\t}\n\n\t// Returns a*x, where x is an array of decimal digits and a is an ordinary\n\t// JavaScript number. base is the number base of the array x.\n\tfunction multiplyByNumber(num, x, base) {\n\t  if (num < 0) return null;\n\t  if (num == 0) return [];\n\n\t  var result = [];\n\t  var power = x;\n\t  while (true) {\n\t    if (num & 1) {\n\t      result = add(result, power, base);\n\t    }\n\t    num = num >> 1;\n\t    if (num === 0) break;\n\t    power = add(power, power, base);\n\t  }\n\n\t  return result;\n\t}\n\n\tfunction parseToDigitsArray(str, base) {\n\t  var digits = str.split('');\n\t  var ary = [];\n\t  for (var i = digits.length - 1; i >= 0; i--) {\n\t    var n = parseInt(digits[i], base);\n\t    if (isNaN(n)) return null;\n\t    ary.push(n);\n\t  }\n\t  return ary;\n\t}\n\n\tfunction convertBase(str, fromBase, toBase) {\n\t  var digits = parseToDigitsArray(str, fromBase);\n\t  if (digits === null) return null;\n\n\t  var outArray = [];\n\t  var power = [1];\n\t  for (var i = 0; i < digits.length; i++) {\n\t    // invariant: at this point, fromBase^i = power\n\t    if (digits[i]) {\n\t      outArray = add(outArray, multiplyByNumber(digits[i], power, toBase), toBase);\n\t    }\n\t    power = multiplyByNumber(fromBase, power, toBase);\n\t  }\n\n\t  var out = '';\n\t  for (var i = outArray.length - 1; i >= 0; i--) {\n\t    out += outArray[i].toString(toBase);\n\t  }\n\t  if (out === '') {\n\t    out = '0';\n\t  }\n\t  return out;\n\t}\n\n\tfunction decToHex(decStr, opts) {\n\t  var hidePrefix = opts && opts.prefix === false;\n\t  var hex = convertBase(decStr, 10, 16);\n\t  return hex ? (hidePrefix ? hex : '0x' + hex) : null;\n\t}\n\n\tfunction hexToDec(hexStr) {\n\t  if (hexStr.substring(0, 2) === '0x') hexStr = hexStr.substring(2);\n\t  hexStr = hexStr.toLowerCase();\n\t  return convertBase(hexStr, 16, 10);\n\t}\n\n\thex2dec = {\n\t  hexToDec: hexToDec,\n\t  decToHex: decToHex\n\t};\n\treturn hex2dec;\n}\n\nvar hex2decExports = requireHex2dec();\n\nfunction c2s(s) {\n  return splitCamel(s).map((x) => x.toUpperCase()).join(\"_\");\n}\nfunction c2t(s) {\n  return s[0].toUpperCase() + s.slice(1);\n}\nfunction splitCamel(s) {\n  let wasLo = false;\n  return s.split(\"\").reduce((a, c) => {\n    const lo = c.toUpperCase() !== c;\n    const up = c.toLowerCase() !== c;\n    if (a.length === 0 || wasLo && up) {\n      a.push(c);\n    } else {\n      const i = a.length - 1;\n      a[i] = a[i] + c;\n    }\n    wasLo = lo;\n    return a;\n  }, []);\n}\nfunction hexToBigInt(hexString) {\n  return BigInt(hex2decExports.hexToDec(hexString));\n}\n\nfunction compareCodeOrder(a, b) {\n  return a.codeOrder - b.codeOrder;\n}\nfunction getConcreteListType(ctx, type) {\n  if (!type._isList) {\n    return getJsType(ctx, type, false);\n  }\n  const { elementType } = type.list;\n  const elementTypeWhich = elementType.which();\n  if (elementTypeWhich === Type.LIST) {\n    return `$.PointerList(${getConcreteListType(ctx, elementType)})`;\n  } else if (elementTypeWhich === Type.STRUCT) {\n    const structNode = lookupNode(ctx, elementType.struct.typeId);\n    if (structNode.struct.preferredListEncoding !== ElementSize.INLINE_COMPOSITE) {\n      throw new Error(GEN_FIELD_NON_INLINE_STRUCT_LIST);\n    }\n    return `$.CompositeList(${getJsType(ctx, elementType, false)})`;\n  }\n  return ConcreteListType[elementTypeWhich];\n}\nfunction getDisplayNamePrefix(node) {\n  return node.displayName.slice(node.displayNamePrefixLength);\n}\nfunction getFullClassName(node) {\n  return node.displayName.split(\":\")[1].split(\".\").map((s) => c2t(s)).join(\"_\");\n}\nfunction getJsType(ctx, type, constructor) {\n  const whichType = type.which();\n  switch (whichType) {\n    case Type.ANY_POINTER: {\n      return \"$.Pointer\";\n    }\n    case Type.BOOL: {\n      return \"boolean\";\n    }\n    case Type.DATA: {\n      return \"$.Data\";\n    }\n    case Type.ENUM: {\n      return getFullClassName(lookupNode(ctx, type.enum.typeId));\n    }\n    case Type.FLOAT32:\n    case Type.FLOAT64:\n    case Type.INT16:\n    case Type.INT32:\n    case Type.INT8:\n    case Type.UINT16:\n    case Type.UINT32:\n    case Type.UINT8: {\n      return \"number\";\n    }\n    case Type.UINT64:\n    case Type.INT64: {\n      return \"bigint\";\n    }\n    case Type.INTERFACE: {\n      return getFullClassName(lookupNode(ctx, type.interface.typeId));\n    }\n    case Type.LIST: {\n      return `$.List${constructor ? \"Ctor\" : \"\"}<${getJsType(ctx, type.list.elementType, false)}>`;\n    }\n    case Type.STRUCT: {\n      const c = getFullClassName(lookupNode(ctx, type.struct.typeId));\n      return constructor ? `$.StructCtor<${c}>` : c;\n    }\n    case Type.TEXT: {\n      return \"string\";\n    }\n    case Type.VOID: {\n      return \"$.Void\";\n    }\n    default: {\n      throw new Error(format(GEN_UNKNOWN_TYPE, whichType));\n    }\n  }\n}\nfunction getUnnamedUnionFields(node) {\n  return node.struct.fields.filter(\n    (field) => field.discriminantValue !== Field.NO_DISCRIMINANT\n  );\n}\nfunction hasNode(ctx, lookup) {\n  const id = typeof lookup === \"bigint\" ? lookup : lookup.id;\n  return ctx.nodes.some((n) => n.id === id);\n}\nfunction loadRequestedFile(req, file) {\n  const ctx = new CodeGeneratorFileContext(req, file);\n  const schema2 = lookupNode(ctx, file.id);\n  ctx.tsPath = schema2.displayName.replace(/\\.capnp$/, \"\") + \".ts\";\n  return ctx;\n}\nfunction lookupNode(ctx, lookup) {\n  const id = typeof lookup === \"bigint\" ? lookup : lookup.id;\n  const node = ctx.nodes.find((n) => n.id === id);\n  if (node === undefined) {\n    throw new Error(format(GEN_NODE_LOOKUP_FAIL, id));\n  }\n  return node;\n}\nfunction lookupNodeSourceInfo(ctx, lookup) {\n  const id = typeof lookup === \"bigint\" ? lookup : lookup.id;\n  return ctx.req.sourceInfo.find((s) => s.id === id);\n}\nfunction needsConcreteListClass(field) {\n  if (!field._isSlot) {\n    return false;\n  }\n  const slotType = field.slot.type;\n  if (!slotType._isList) {\n    return false;\n  }\n  const { elementType } = slotType.list;\n  return elementType._isStruct || elementType._isList;\n}\n\nfunction createBigInt(value) {\n  let v = value.toString(16);\n  let sign = \"\";\n  if (v[0] === \"-\") {\n    v = v.slice(1);\n    sign = \"-\";\n  }\n  return `${sign}BigInt(\"0x${v}\")`;\n}\nfunction extractJSDocs(sourceInfo) {\n  const docComment = sourceInfo?.docComment;\n  if (!docComment) {\n    return \"\";\n  }\n  return \"/**\\n\" + docComment.toString().split(\"\\n\").map((l) => `* ${l}`).join(\"\\n\") + \"\\n*/\";\n}\n\nfunction generateEnumNode(ctx, className, parentNode, fields) {\n  const fieldIndexInCodeOrder = fields.map(({ codeOrder }, fieldIndex) => ({ fieldIndex, codeOrder })).sort(compareCodeOrder).map(({ fieldIndex }) => fieldIndex);\n  const sourceInfo = lookupNodeSourceInfo(ctx, parentNode);\n  const propInits = fieldIndexInCodeOrder.map((index) => {\n    const field = fields[index];\n    const docComment = extractJSDocs(sourceInfo?.members.at(index));\n    const key = c2s(field.name);\n    const val = field.discriminantValue || index;\n    return `\n      ${docComment}\n      ${key}: ${val}`;\n  });\n  ctx.codeParts.push(`\n    export const ${className} = {\n      ${propInits.join(\",\\n\")}\n    } as const;\n\n    export type ${className} = (typeof ${className})[keyof typeof ${className}];\n  `);\n}\n\nfunction generateInterfaceClasses(ctx, node) {\n  generateMethodStructs(ctx, node);\n  generateClient(ctx, node);\n  generateServer(ctx, node);\n}\nfunction generateMethodStructs(ctx, node) {\n  for (const method of node.interface.methods) {\n    const paramNode = lookupNode(ctx, method.paramStructType);\n    const resultNode = lookupNode(ctx, method.resultStructType);\n    generateNode(ctx, paramNode);\n    generateNode(ctx, resultNode);\n    generateResultPromise(ctx, resultNode);\n  }\n}\nfunction generateServer(ctx, node) {\n  const fullClassName = getFullClassName(node);\n  const serverName = `${fullClassName}$Server`;\n  const serverTargetName = `${serverName}$Target`;\n  const clientName = `${fullClassName}$Client`;\n  const methodSignatures = node.interface.methods.map((method) => {\n    const paramTypeName = getFullClassName(\n      lookupNode(ctx, method.paramStructType)\n    );\n    const resultTypeName = getFullClassName(\n      lookupNode(ctx, method.resultStructType)\n    );\n    return `${method.name}(params: ${paramTypeName}, results: ${resultTypeName}): Promise<void>;`;\n  }).join(\"\\n\");\n  ctx.codeParts.push(`\n  export interface ${serverTargetName} {\n    ${methodSignatures}\n  }`);\n  const members = [];\n  members.push(`public override readonly target: ${serverTargetName};`);\n  const codeServerMethods = [];\n  let index = 0;\n  for (const method of node.interface.methods) {\n    codeServerMethods.push(`{\n        ...${clientName}.methods[${index}],\n        impl: target.${method.name}\n      }`);\n    index++;\n  }\n  members.push(`\n      constructor(target: ${serverTargetName}) {\n        super(target, [\n          ${codeServerMethods.join(\",\\n\")}\n        ]);\n        this.target = target;\n      }\n      client(): ${clientName} {\n        return new ${clientName}(this);\n      }\n  `);\n  ctx.codeParts.push(`\n    export class ${serverName} extends $.Server {\n      ${members.join(\"\\n\")}\n    }\n  `);\n}\nfunction generateClient(ctx, node) {\n  const fullClassName = getFullClassName(node);\n  const clientName = `${fullClassName}$Client`;\n  const members = [];\n  members.push(`\n    client: $.Client;\n    static readonly interfaceId: bigint = ${createBigInt(node.id)};\n    constructor(client: $.Client) {\n      this.client = client;\n    }\n  `);\n  const methods = [];\n  const methodDefs = [];\n  const methodDefTypes = [];\n  for (let index = 0; index < node.interface.methods.length; index++) {\n    generateClientMethod(\n      ctx,\n      node,\n      clientName,\n      methods,\n      methodDefs,\n      methodDefTypes,\n      index\n    );\n  }\n  members.push(`\n    static readonly methods:[\n      ${methodDefTypes.join(\",\\n\")}\n    ] = [\n      ${methodDefs.join(\",\\n\")}\n    ];\n    ${methods.join(\"\\n\")}\n    `);\n  ctx.codeParts.push(`\n    export class ${clientName} {\n      ${members.join(\"\\n\")}\n    }\n    $.Registry.register(${clientName}.interfaceId, ${clientName});\n  `);\n}\nfunction generateResultPromise(ctx, node) {\n  const nodeId = node.id;\n  if (ctx.generatedResultsPromiseIds.has(nodeId)) {\n    return;\n  }\n  ctx.generatedResultsPromiseIds.add(nodeId);\n  const resultsClassName = getFullClassName(node);\n  const fullClassName = `${resultsClassName}$Promise`;\n  const members = [];\n  members.push(`\n    pipeline: $.Pipeline<any, any, ${resultsClassName}>;\n    constructor(pipeline: $.Pipeline<any, any, ${resultsClassName}>) {\n      this.pipeline = pipeline;\n    }\n  `);\n  const { struct } = node;\n  const fields = struct.fields.toArray().sort(compareCodeOrder);\n  const generatePromiseFieldMethod = (field) => {\n    let jsType;\n    let isInterface = false;\n    let slot;\n    if (field._isSlot) {\n      slot = field.slot;\n      const slotType = slot.type;\n      if (slotType.which() !== Type.INTERFACE) {\n        return;\n      }\n      isInterface = true;\n      jsType = getJsType(ctx, slotType, false);\n    } else if (field._isGroup) {\n      return;\n    } else {\n      throw new Error(format(GEN_UNKNOWN_STRUCT_FIELD, field.which()));\n    }\n    const promisedJsType = jsType;\n    if (isInterface) {\n      jsType = `${jsType}$Client`;\n    }\n    const { name } = field;\n    const properName = c2t(name);\n    members.push(`\n      get${properName}(): ${jsType} {\n        return new ${jsType}(this.pipeline.getPipeline(${promisedJsType}, ${slot.offset}).client());\n      }\n    `);\n  };\n  for (const field of fields) {\n    generatePromiseFieldMethod(field);\n  }\n  members.push(`\n    async promise(): Promise<${resultsClassName}> {\n      return await this.pipeline.struct();\n    }\n  `);\n  ctx.codeParts.push(`\n    export class ${fullClassName} {\n      ${members.join(\"\\n\")}\n    }\n  `);\n}\nfunction generateClientMethod(ctx, node, clientName, methodsCode, methodDefs, methodDefTypes, index) {\n  const method = node.interface.methods[index];\n  const { name } = method;\n  const paramTypeName = getFullClassName(\n    lookupNode(ctx, method.paramStructType)\n  );\n  const resultTypeName = getFullClassName(\n    lookupNode(ctx, method.resultStructType)\n  );\n  methodDefTypes.push(`$.Method<${paramTypeName}, ${resultTypeName}>`);\n  methodDefs.push(`{\n    ParamsClass: ${paramTypeName},\n    ResultsClass: ${resultTypeName},\n    interfaceId: ${clientName}.interfaceId,\n    methodId: ${index},\n    interfaceName: \"${node.displayName}\",\n    methodName: \"${method.name}\"\n  }`);\n  const docComment = extractJSDocs(\n    lookupNodeSourceInfo(ctx, node)?.members.at(index)\n  );\n  methodsCode.push(`\n    ${docComment}\n    ${name}(paramsFunc?: (params: ${paramTypeName}) => void): ${resultTypeName}$Promise {\n      const answer = this.client.call({\n        method: ${clientName}.methods[${index}],\n        paramsFunc: paramsFunc\n      });\n      const pipeline = new $.Pipeline(${resultTypeName}, answer);\n      return new ${resultTypeName}$Promise(pipeline);\n    }\n  `);\n}\n\nfunction generateStructNode(ctx, node) {\n  const displayNamePrefix = getDisplayNamePrefix(node);\n  const fullClassName = getFullClassName(node);\n  const nestedNodes = node.nestedNodes.map(({ id }) => lookupNode(ctx, id)).filter((node2) => !node2._isConst && !node2._isAnnotation);\n  const nodeId = node.id;\n  const nodeIdHex = nodeId.toString(16);\n  const unionFields = getUnnamedUnionFields(node);\n  const { struct } = node;\n  const { dataWordCount, discriminantCount, discriminantOffset, pointerCount } = struct;\n  const dataByteLength = dataWordCount * 8;\n  const fields = struct.fields.toArray();\n  const fieldIndexInCodeOrder = fields.map(({ codeOrder }, fieldIndex) => ({ fieldIndex, codeOrder })).sort(compareCodeOrder).map(({ fieldIndex }) => fieldIndex);\n  const concreteLists = fields.filter((field) => needsConcreteListClass(field)).sort(compareCodeOrder);\n  const consts = ctx.nodes.filter(\n    (node2) => node2.scopeId === nodeId && node2._isConst\n  );\n  const hasUnnamedUnion = discriminantCount !== 0;\n  if (hasUnnamedUnion) {\n    generateEnumNode(ctx, fullClassName + \"_Which\", node, unionFields);\n  }\n  const members = [];\n  members.push(\n    ...consts.map((node2) => {\n      const name = c2s(getDisplayNamePrefix(node2));\n      const value = createValue(node2.const.value);\n      return `static readonly ${name} = ${value}`;\n    }),\n    ...unionFields.sort(compareCodeOrder).map((field) => createUnionConstProperty(fullClassName, field)),\n    ...nestedNodes.map((node2) => createNestedNodeProperty(node2))\n  );\n  const defaultValues = [];\n  for (const index of fieldIndexInCodeOrder) {\n    const field = fields[index];\n    if (field._isSlot && field.slot.hadExplicitDefault && field.slot.type.which() !== Type.VOID) {\n      defaultValues.push(generateDefaultValue(field));\n    }\n  }\n  members.push(\n    `\n      public static override readonly _capnp = {\n        displayName: \"${displayNamePrefix}\",\n        id: \"${nodeIdHex}\",\n        size: new $.ObjectSize(${dataByteLength}, ${pointerCount}),\n        ${defaultValues.join(\",\")}\n      }`,\n    ...concreteLists.map((field) => createConcreteListProperty(ctx, field))\n  );\n  for (const index of fieldIndexInCodeOrder) {\n    const field = fields[index];\n    generateStructFieldMethods(ctx, members, node, field, index);\n  }\n  members.push(\n    `public override toString(): string { return \"${fullClassName}_\" + super.toString(); }`\n  );\n  if (hasUnnamedUnion) {\n    members.push(`\n      which(): ${fullClassName}_Which {\n        return $.utils.getUint16(${discriminantOffset * 2}, this) as ${fullClassName}_Which;\n      }\n    `);\n  }\n  const docComment = extractJSDocs(lookupNodeSourceInfo(ctx, node));\n  const classCode = `\n  ${docComment}\n  export class ${fullClassName} extends $.Struct {\n    ${members.join(\"\\n\")}\n  }`;\n  ctx.codeParts.push(classCode);\n  ctx.concreteLists.push(\n    ...concreteLists.map((field) => [\n      fullClassName,\n      field\n    ])\n  );\n}\nfunction generateStructFieldMethods(ctx, members, node, field, fieldIndex) {\n  let jsType;\n  let whichType;\n  if (field._isSlot) {\n    const slotType = field.slot.type;\n    jsType = getJsType(ctx, slotType, false);\n    whichType = slotType.which();\n  } else if (field._isGroup) {\n    jsType = getFullClassName(lookupNode(ctx, field.group.typeId));\n    whichType = \"group\";\n  } else {\n    throw new Error(format(GEN_UNKNOWN_STRUCT_FIELD, field.which()));\n  }\n  const isInterface = whichType === Type.INTERFACE;\n  if (isInterface) {\n    jsType = `${jsType}$Client`;\n  }\n  const { discriminantOffset } = node.struct;\n  const { name } = field;\n  const accessorName = name === \"constructor\" ? \"$constructor\" : name;\n  const capitalizedName = c2t(name);\n  const { discriminantValue } = field;\n  const fullClassName = getFullClassName(node);\n  const hadExplicitDefault = field._isSlot && field.slot.hadExplicitDefault;\n  const maybeDefaultArg = hadExplicitDefault ? `, ${fullClassName}._capnp.default${capitalizedName}` : \"\";\n  const union = discriminantValue !== Field.NO_DISCRIMINANT;\n  const offset = field._isSlot ? field.slot.offset : 0;\n  let adopt = false;\n  let disown = false;\n  let has = false;\n  let init;\n  let get;\n  let set;\n  switch (whichType) {\n    case Type.ANY_POINTER: {\n      adopt = true;\n      disown = true;\n      has = true;\n      get = `$.utils.getPointer(${offset}, this${maybeDefaultArg})`;\n      set = `$.utils.copyFrom(value, ${get})`;\n      break;\n    }\n    case Type.BOOL:\n    case Type.ENUM:\n    case Type.FLOAT32:\n    case Type.FLOAT64:\n    case Type.INT16:\n    case Type.INT32:\n    case Type.INT64:\n    case Type.INT8:\n    case Type.UINT16:\n    case Type.UINT32:\n    case Type.UINT64:\n    case Type.UINT8: {\n      const { byteLength, getter, setter } = Primitives[whichType];\n      const byteOffset = offset * byteLength;\n      get = `$.utils.${getter}(${byteOffset}, this${maybeDefaultArg})`;\n      set = `$.utils.${setter}(${byteOffset}, value, this${maybeDefaultArg})`;\n      if (whichType === Type.ENUM) {\n        get = `${get} as ${jsType}`;\n      }\n      break;\n    }\n    case Type.DATA: {\n      adopt = true;\n      disown = true;\n      has = true;\n      get = `$.utils.getData(${offset}, this${maybeDefaultArg})`;\n      set = `$.utils.copyFrom(value, $.utils.getPointer(${offset}, this))`;\n      init = `$.utils.initData(${offset}, length, this)`;\n      break;\n    }\n    case Type.INTERFACE: {\n      get = `new ${jsType}($.utils.getInterfaceClientOrNullAt(${offset}, this))`;\n      set = `$.utils.setInterfacePointer(this.segment.message.addCap(value.client), $.utils.getPointer(${offset}, this))`;\n      break;\n    }\n    case Type.LIST: {\n      const elementType = field.slot.type.list.elementType.which();\n      let listClass = ConcreteListType[elementType];\n      if (elementType === Type.LIST || elementType === Type.STRUCT) {\n        listClass = `${fullClassName}._${capitalizedName}`;\n      } else if (listClass === undefined) {\n        throw new Error(\n          format(GEN_UNSUPPORTED_LIST_ELEMENT_TYPE, elementType)\n        );\n      }\n      adopt = true;\n      disown = true;\n      has = true;\n      get = `$.utils.getList(${offset}, ${listClass}, this${maybeDefaultArg})`;\n      set = `$.utils.copyFrom(value, $.utils.getPointer(${offset}, this))`;\n      init = `$.utils.initList(${offset}, ${listClass}, length, this)`;\n      if (elementType === Type.ENUM) {\n        get = `${get} as ${jsType}`;\n        init = `${init} as ${jsType}`;\n      }\n      break;\n    }\n    case Type.STRUCT: {\n      adopt = true;\n      disown = true;\n      has = true;\n      get = `$.utils.getStruct(${offset}, ${jsType}, this${maybeDefaultArg})`;\n      set = `$.utils.copyFrom(value, $.utils.getPointer(${offset}, this))`;\n      init = `$.utils.initStructAt(${offset}, ${jsType}, this)`;\n      break;\n    }\n    case Type.TEXT: {\n      get = `$.utils.getText(${offset}, this${maybeDefaultArg})`;\n      set = `$.utils.setText(${offset}, value, this)`;\n      break;\n    }\n    case Type.VOID: {\n      break;\n    }\n    case \"group\": {\n      if (hadExplicitDefault) {\n        throw new Error(format(GEN_EXPLICIT_DEFAULT_NON_PRIMITIVE, \"group\"));\n      }\n      get = `$.utils.getAs(${jsType}, this)`;\n      init = get;\n      break;\n    }\n  }\n  if (adopt) {\n    members.push(`\n      _adopt${capitalizedName}(value: $.Orphan<${jsType}>): void {\n        ${union ? `$.utils.setUint16(${discriminantOffset * 2}, ${discriminantValue}, this);` : \"\"}\n        $.utils.adopt(value, $.utils.getPointer(${offset}, this));\n      }\n    `);\n  }\n  if (disown) {\n    members.push(`\n      _disown${capitalizedName}(): $.Orphan<${jsType}> {\n        return $.utils.disown(this.${name === \"constructor\" ? `$${name}` : name});\n      }\n    `);\n  }\n  if (get) {\n    const docComment = extractJSDocs(\n      lookupNodeSourceInfo(ctx, node)?.members.at(fieldIndex)\n    );\n    members.push(`\n      ${docComment}\n      get ${accessorName}(): ${jsType} {\n        ${union ? `$.utils.testWhich(${JSON.stringify(name)}, $.utils.getUint16(${discriminantOffset * 2}, this), ${discriminantValue}, this);` : \"\"}\n        return ${get};\n      }\n    `);\n  }\n  if (has) {\n    members.push(`\n      _has${capitalizedName}(): boolean {\n        return !$.utils.isNull($.utils.getPointer(${offset}, this));\n      }\n    `);\n  }\n  if (init) {\n    const params = whichType === Type.DATA || whichType === Type.LIST ? `length: number` : \"\";\n    members.push(`\n      _init${capitalizedName}(${params}): ${jsType} {\n        ${union ? `$.utils.setUint16(${discriminantOffset * 2}, ${discriminantValue}, this);` : \"\"}\n        return ${init};\n      }\n    `);\n  }\n  if (union) {\n    members.push(`\n      get _is${capitalizedName}(): boolean {\n        return $.utils.getUint16(${discriminantOffset * 2}, this) === ${discriminantValue};\n      }\n    `);\n  }\n  if (set || union) {\n    const param = set ? `value: ${jsType}` : `_: true`;\n    members.push(`\n      set ${accessorName}(${param}) {\n        ${union ? `$.utils.setUint16(${discriminantOffset * 2}, ${discriminantValue}, this);` : \"\"}\n        ${set ? `${set};` : \"\"}\n      }\n    `);\n  }\n}\nfunction generateDefaultValue(field) {\n  const { name, slot } = field;\n  const whichSlotType = slot.type.which();\n  const primitive = Primitives[whichSlotType];\n  let initializer;\n  switch (whichSlotType) {\n    case Type_Which.ANY_POINTER:\n    case Type_Which.DATA:\n    case Type_Which.LIST:\n    case Type_Which.STRUCT:\n    case Type_Which.INTERFACE: {\n      initializer = createValue(slot.defaultValue);\n      break;\n    }\n    case Type_Which.TEXT: {\n      initializer = JSON.stringify(slot.defaultValue.text);\n      break;\n    }\n    case Type_Which.BOOL: {\n      const value = createValue(slot.defaultValue);\n      const bitOffset = slot.offset % 8;\n      initializer = `$.${primitive.mask}(${value}, ${bitOffset})`;\n      break;\n    }\n    case Type_Which.ENUM:\n    case Type_Which.FLOAT32:\n    case Type_Which.FLOAT64:\n    case Type_Which.INT16:\n    case Type_Which.INT32:\n    case Type_Which.INT64:\n    case Type_Which.INT8:\n    case Type_Which.UINT16:\n    case Type_Which.UINT32:\n    case Type_Which.UINT64:\n    case Type_Which.UINT8: {\n      const value = createValue(slot.defaultValue);\n      initializer = `$.${primitive.mask}(${value})`;\n      break;\n    }\n    default: {\n      throw new Error(\n        format(\n          GEN_UNKNOWN_DEFAULT,\n          whichSlotType\n        )\n      );\n    }\n  }\n  return `default${c2t(name)}: ${initializer}`;\n}\nfunction createConcreteListProperty(ctx, field) {\n  const name = `_${c2t(field.name)}`;\n  const type = getJsType(ctx, field.slot.type, true);\n  return `static ${name}: ${type};`;\n}\nfunction createUnionConstProperty(fullClassName, field) {\n  const name = c2s(field.name);\n  const initializer = `${fullClassName}_Which.${name}`;\n  return `static readonly ${name} = ${initializer};`;\n}\nfunction createValue(value) {\n  let p;\n  switch (value.which()) {\n    case Value.BOOL: {\n      return value.bool ? `true` : `false`;\n    }\n    case Value.ENUM: {\n      return String(value.enum);\n    }\n    case Value.FLOAT32: {\n      return String(value.float32);\n    }\n    case Value.FLOAT64: {\n      return String(value.float64);\n    }\n    case Value.INT8: {\n      return String(value.int8);\n    }\n    case Value.INT16: {\n      return String(value.int16);\n    }\n    case Value.INT32: {\n      return String(value.int32);\n    }\n    case Value.INT64: {\n      return createBigInt(value.int64);\n    }\n    case Value.UINT8: {\n      return String(value.uint8);\n    }\n    case Value.UINT16: {\n      return String(value.uint16);\n    }\n    case Value.UINT32: {\n      return String(value.uint32);\n    }\n    case Value.UINT64: {\n      return createBigInt(value.uint64);\n    }\n    case Value.TEXT: {\n      return JSON.stringify(value.text);\n    }\n    case Value.VOID: {\n      return \"undefined\";\n    }\n    case Value.ANY_POINTER: {\n      p = value.anyPointer;\n      break;\n    }\n    case Value.DATA: {\n      p = value.data;\n      break;\n    }\n    case Value.LIST: {\n      p = value.list;\n      break;\n    }\n    case Value.STRUCT: {\n      p = value.struct;\n      break;\n    }\n    case Value.INTERFACE: {\n      testWhich(\"interface\", getUint16(0, value), 17, value);\n      p = getPointer(0, value);\n      break;\n    }\n    default: {\n      throw new Error(format(GEN_SERIALIZE_UNKNOWN_VALUE, value.which()));\n    }\n  }\n  const message = new Message();\n  message.setRoot(p);\n  const buf = new Uint8Array(message.toPackedArrayBuffer());\n  const values = [];\n  for (let i = 0; i < buf.byteLength; i++) {\n    values.push(`0x${pad(buf[i].toString(16), 2)}`);\n  }\n  return `$.readRawPointer(new Uint8Array([${values.join(\",\")}]).buffer)`;\n}\nfunction createNestedNodeProperty(node) {\n  const name = getDisplayNamePrefix(node);\n  const initializer = getFullClassName(node);\n  return `static readonly ${name} = ${initializer};`;\n}\n\nfunction generateInterfaceNode(ctx, node) {\n  const displayNamePrefix = getDisplayNamePrefix(node);\n  const fullClassName = getFullClassName(node);\n  const nestedNodes = node.nestedNodes.map((n) => lookupNode(ctx, n)).filter((n) => !n._isConst && !n._isAnnotation);\n  const nodeId = node.id;\n  const nodeIdHex = nodeId.toString(16);\n  const consts = ctx.nodes.filter((n) => n.scopeId === nodeId && n._isConst);\n  const members = [];\n  members.push(\n    ...consts.map((node2) => {\n      const name = c2s(getDisplayNamePrefix(node2));\n      const value = createValue(node2.const.value);\n      return `static readonly ${name} = ${value}`;\n    }),\n    ...nestedNodes.map((node2) => createNestedNodeProperty(node2)),\n    `static readonly Client = ${fullClassName}$Client;\n     static readonly Server = ${fullClassName}$Server;\n     public static override readonly _capnp = {\n        displayName: \"${displayNamePrefix}\",\n        id: \"${nodeIdHex}\",\n        size: new $.ObjectSize(0, 0),\n      }\n    public override toString(): string { return \"${fullClassName}_\" + super.toString(); }`\n  );\n  const docComment = extractJSDocs(lookupNodeSourceInfo(ctx, node));\n  const classCode = `\n  ${docComment}\n  export class ${fullClassName} extends $.Interface {\n    ${members.join(\"\\n\")}\n  }`;\n  generateInterfaceClasses(ctx, node);\n  ctx.codeParts.push(classCode);\n}\n\nfunction generateNode(ctx, node) {\n  const nodeId = node.id;\n  const nodeIdHex = nodeId.toString(16);\n  if (ctx.generatedNodeIds.has(nodeIdHex)) {\n    return;\n  }\n  ctx.generatedNodeIds.add(nodeIdHex);\n  const nestedNodes = node.nestedNodes.map((node2) => lookupNode(ctx, node2));\n  for (const nestedNode of nestedNodes) {\n    generateNode(ctx, nestedNode);\n  }\n  const groupNodes = ctx.nodes.filter(\n    (node2) => node2.scopeId === nodeId && node2._isStruct && node2.struct.isGroup\n  );\n  for (const groupNode of groupNodes) {\n    generateNode(ctx, groupNode);\n  }\n  const nodeType = node.which();\n  switch (nodeType) {\n    case Node.STRUCT: {\n      generateStructNode(ctx, node);\n      break;\n    }\n    case Node.CONST: {\n      break;\n    }\n    case Node.ENUM: {\n      generateEnumNode(\n        ctx,\n        getFullClassName(node),\n        node,\n        node.enum.enumerants.toArray()\n      );\n      break;\n    }\n    case Node.INTERFACE: {\n      generateInterfaceNode(ctx, node);\n      break;\n    }\n    case Node.ANNOTATION: {\n      break;\n    }\n    // case s.Node.FILE:\n    default: {\n      throw new Error(\n        format(\n          GEN_NODE_UNKNOWN_TYPE,\n          nodeType\n          /* s.Node_Which[whichNode] */\n        )\n      );\n    }\n  }\n}\nclass CodeGeneratorContext {\n  files = [];\n}\nclass CodeGeneratorFileContext {\n  constructor(req, file) {\n    this.req = req;\n    this.file = file;\n    this.nodes = req.nodes.toArray();\n    this.imports = file.imports.toArray();\n  }\n  // inputs\n  nodes;\n  imports;\n  // outputs\n  concreteLists = [];\n  generatedNodeIds = /* @__PURE__ */ new Set();\n  generatedResultsPromiseIds = /* @__PURE__ */ new Set();\n  tsPath = \"\";\n  codeParts = [];\n  toString() {\n    return this.file?.filename ?? \"CodeGeneratorFileContext()\";\n  }\n}\n\nfunction generateFileId(ctx) {\n  ctx.codeParts.push(\n    `export const _capnpFileId = BigInt(\"0x${ctx.file.id.toString(16)}\");`\n  );\n}\n\nfunction generateConcreteListInitializer(ctx, fullClassName, field) {\n  const name = `_${c2t(field.name)}`;\n  const type = getConcreteListType(ctx, field.slot.type);\n  ctx.codeParts.push(`${fullClassName}.${name} = ${type};`);\n}\n\nfunction generateCapnpImport(ctx) {\n  const fileNode = lookupNode(ctx, ctx.file);\n  const tsFileId = hexToBigInt(TS_FILE_ID);\n  const tsAnnotationFile = ctx.nodes.find((n) => n.id === tsFileId);\n  const tsImportPathAnnotation = tsAnnotationFile?.nestedNodes.find(\n    (n) => n.name === \"importPath\"\n  );\n  const importAnnotation = tsImportPathAnnotation && fileNode.annotations.find((a) => a.id === tsImportPathAnnotation.id);\n  const importPath = importAnnotation === undefined ? \"@stryke/capnp\" : importAnnotation.value.text;\n  ctx.codeParts.push(`import * as $ from '${importPath}';`);\n}\nfunction generateNestedImports(ctx) {\n  for (const imp of ctx.imports) {\n    const { name } = imp;\n    let importPath;\n    if (name.startsWith(\"/capnp/\")) {\n      importPath = `@stryke/capnp/schemas/${name.slice(7).replace(/\\.capnp$/, \"\")}`;\n    } else {\n      importPath = name.replace(/\\.capnp$/, \"\");\n      if (importPath[0] !== \".\") {\n        importPath = `./${importPath}`;\n      }\n    }\n    const importNode = lookupNode(ctx, imp);\n    const imports = getImportNodes(ctx, importNode).flatMap((node) => {\n      const fullClassName = getFullClassName(node);\n      if (node._isInterface) {\n        return [fullClassName, `${fullClassName}$Client`];\n      }\n      return fullClassName;\n    }).sort().join(\", \");\n    if (imports.length === 0) {\n      continue;\n    }\n    ctx.codeParts.push(`import { ${imports} } from \"${importPath}\";`);\n  }\n}\nfunction getImportNodes(ctx, node, visitedIds = /* @__PURE__ */ new Set()) {\n  visitedIds.add(node.id);\n  const nestedNodes = node.nestedNodes.filter(({ id }) => hasNode(ctx, id));\n  const newNestedNodes = nestedNodes.filter(({ id }) => !visitedIds.has(id));\n  const nodes = newNestedNodes.map(({ id }) => lookupNode(ctx, id)).filter((node2) => node2._isStruct || node2._isEnum || node2._isInterface);\n  return nodes.concat(\n    nodes.flatMap((node2) => getImportNodes(ctx, node2, visitedIds))\n  );\n}\n\nasync function compileAll(codeGenRequest, opts) {\n  const req = new Message(codeGenRequest, false).getRoot(\n    CodeGeneratorRequest\n  );\n\n  const ctx = new CodeGeneratorContext();\n  ctx.files = req.requestedFiles.map((file) => loadRequestedFile(req, file));\n  if (ctx.files.length === 0) {\n    throw new Error(GEN_NO_FILES);\n  } \n\n  const files = new Map(\n    ctx.files.map((file) => [file.tsPath, compileFile(file)])\n  );\n  if (files.size === 0) {\n    throw new Error(GEN_NO_FILES);\n  } \n\n  if (opts?.dts === true || opts?.js === true) {\n    tsCompile(files, opts?.dts === true, opts?.js === true, opts?.tsconfig);\n  }\n\n  if (!opts?.ts) {\n    for (const [fileName] of files) {\n      if (fileName.endsWith(\".ts\") && !fileName.endsWith(\".d.ts\")) {\n        files.delete(fileName);\n      }\n    }\n  }\n\n  return {\n    ctx,\n    files\n  };\n}\n\nfunction compileFile(ctx) {\n  generateCapnpImport(ctx);\n  generateNestedImports(ctx);\n  generateFileId(ctx);\n  const nestedNodes = lookupNode(ctx, ctx.file).nestedNodes.map(\n    (n) => lookupNode(ctx, n)\n  );\n  for (const node of nestedNodes) {\n    generateNode(ctx, node);\n  }\n  for (const [fullClassName, field] of ctx.concreteLists) {\n    generateConcreteListInitializer(ctx, fullClassName, field);\n  }\n  const sourceFile = ts.createSourceFile(\n    ctx.tsPath,\n    ctx.codeParts.map((p) => p.toString()).join(\"\"),\n    ts.ScriptTarget.Latest,\n    false,\n    ts.ScriptKind.TS\n  );\n  return SOURCE_COMMENT + ts.createPrinter().printFile(sourceFile);\n}\n\nfunction tsCompile(files, dts, js, tsconfig) {\n  if (!dts && !js) {\n    return;\n  }\n  const compileOptions = {\n    moduleResolution: ts.ModuleResolutionKind.Bundler,\n    target: ts.ScriptTarget.ESNext,\n    strict: true,\n    ...tsconfig,\n    noEmitOnError: false,\n    noFallthroughCasesInSwitch: true,\n    preserveConstEnums: true,\n    noImplicitReturns: true,\n    noUnusedLocals: false,\n    noUnusedParameters: false,\n    removeComments: false,\n    skipLibCheck: true,\n    sourceMap: false,\n    emitDeclarationOnly: dts && !js,\n    declaration: dts\n  };\n  const compilerHost = ts.createCompilerHost(compileOptions);\n  compilerHost.writeFile = (fileName, declaration) => {\n    files.set(fileName, declaration);\n  };\n  const _readFile = compilerHost.readFile;\n  compilerHost.readFile = (filename) => {\n    if (files.has(filename)) {\n      return files.get(filename);\n    }\n    return _readFile(filename);\n  };\n  const program = ts.createProgram(\n    [...files.keys()],\n    compileOptions,\n    compilerHost\n  );\n  const emitResult = program.emit();\n  const allDiagnostics = [\n    ...ts.getPreEmitDiagnostics(program),\n    ...emitResult.diagnostics\n  ];\n  if (allDiagnostics.length > 0) {\n    for (const diagnostic of allDiagnostics) {\n      const message = ts.flattenDiagnosticMessageText(\n        diagnostic.messageText,\n        \"\\n\"\n      );\n      if (diagnostic.file && diagnostic.start) {\n        const { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start);\n        console.log(\n          `${diagnostic.file.fileName}:${line + 1}:${character + 1} ${message}`\n        );\n      } else {\n        console.log(`==> ${message}`);\n      }\n    }\n    throw new Error(GEN_TS_EMIT_FAILED);\n  }\n}\n\nexport { compileAll as c };\n","/* -------------------------------------------------------------------\n\n                       ⚡ Storm Software - Stryke\n\n This code was released as part of the Stryke project. Stryke\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/stryke.\n\n Website:                  https://stormsoftware.com\n Repository:               https://github.com/storm-software/stryke\n Documentation:            https://docs.stormsoftware.com/projects/stryke\n Contact:                  https://stormsoftware.com/contact\n\n SPDX-License-Identifier:  Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport { writeWarning } from \"@storm-software/config-tools/logger/console\";\nimport { existsSync } from \"@stryke/fs/exists\";\nimport { compileAll } from \"capnp-es/compiler\";\nimport defu from \"defu\";\nimport { Buffer } from \"node:buffer\";\nimport { exec } from \"node:child_process\";\nimport { resolveOptions } from \"./helpers.js\";\nimport type {\n  CapnpcOptions,\n  CapnpcResolvedOptions,\n  CapnpcResult\n} from \"./types.js\";\n\n/**\n * Compiles Cap'n Proto schemas into TypeScript files.\n *\n * @param options - The options for the compilation process.\n * @returns A promise that resolves to the compilation result.\n */\nexport async function capnpc(\n  options: CapnpcResolvedOptions\n): Promise<CapnpcResult> {\n  const { output, tsconfig, schemas = [], tty } = options;\n\n  let dataBuf: Buffer = Buffer.alloc(0);\n  if (tty) {\n    const chunks: Buffer[] = [];\n    process.stdin.on(\"data\", (chunk: Buffer) => {\n      chunks.push(chunk);\n    });\n\n    await new Promise(resolve => {\n      process.stdin.on(\"end\", resolve);\n    });\n\n    const reqBuffer = Buffer.alloc(\n      chunks.reduce((l, chunk) => l + chunk.byteLength, 0)\n    );\n\n    let i = 0;\n    for (const chunk of chunks) {\n      chunk.copy(reqBuffer, i);\n      i += chunk.byteLength;\n    }\n\n    dataBuf = reqBuffer;\n  }\n\n  if (dataBuf.byteLength === 0) {\n    const opts: string[] = [];\n\n    if (output && existsSync(output)) {\n      opts.push(`-o-:${output}`);\n    } else {\n      if (output && !existsSync(output)) {\n        writeWarning(\n          `Output directory \"${output}\" does not exist, will write to schema path...`\n        );\n      }\n\n      opts.push(\"-o-\");\n    }\n\n    dataBuf = await new Promise<Buffer>(resolve => {\n      exec(\n        `capnpc ${opts.join(\" \")} ${schemas.join(\" \")}`,\n        { encoding: \"buffer\" },\n        (error, stdout, stderr) => {\n          if (stderr.length > 0) {\n            process.stderr.write(stderr);\n          }\n          if (error) {\n            throw error;\n          }\n          resolve(stdout);\n        }\n      );\n    });\n  }\n\n  return compileAll(dataBuf, {\n    ts: options.ts ?? true,\n    js: false,\n    dts: false,\n    tsconfig: tsconfig.options\n  });\n}\n\n/**\n * Compiles Cap'n Proto schemas into TypeScript files.\n *\n * @param dataBuf - The buffer containing the Cap'n Proto schema data.\n * @param options - The options for the compilation process.\n * @returns A promise that resolves to the compilation result.\n */\nexport async function compile(dataBuf: Buffer, options: CapnpcOptions) {\n  const resolvedOptions = await resolveOptions(\n    options as Parameters<typeof resolveOptions>[0]\n  );\n  if (!resolvedOptions) {\n    writeWarning(\n      \"✖ Unable to resolve Cap'n Proto compiler options - the program will terminate\",\n      { logLevel: \"all\" }\n    );\n    return;\n  }\n\n  return compileAll(\n    dataBuf,\n    defu(\n      {\n        tsconfig: resolvedOptions.tsconfig.options\n      },\n      resolvedOptions,\n      {\n        ts: true,\n        js: false,\n        dts: false\n      }\n    )\n  );\n}\n"],"x_google_ignoreList":[0,1],"mappings":"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"}