@stryke/capnp 0.9.13 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dts/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
+ /// <reference types="node" />
2
+
1
3
  import { MessagePort as MessagePort$1 } from 'node:worker_threads';
2
- import { ParsedCommandLine } from 'typescript';
4
+ import { CompilerOptions } from 'typescript';
3
5
 
4
6
  export declare enum ListElementSize {
5
7
  VOID = 0,
@@ -2691,517 +2693,223 @@ export declare class Data extends List<number> {
2691
2693
  */
2692
2694
  toUint8Array(): Uint8Array;
2693
2695
  }
2694
- declare class PipelineClient<AnswerResults extends Struct, ParentResults extends Struct, Results extends Struct> implements Client {
2695
- pipeline: Pipeline<AnswerResults, ParentResults, Results>;
2696
- constructor(pipeline: Pipeline<AnswerResults, ParentResults, Results>);
2697
- transform(): PipelineOp[];
2698
- call<CallParams extends Struct, CallResults extends Struct>(call: Call<CallParams, CallResults>): Answer<CallResults>;
2699
- close(): void;
2700
- }
2701
- /**
2702
- * A Pipeline is a generic wrapper for an answer
2703
- */
2704
- export declare class Pipeline<AnswerResults extends Struct, ParentResults extends Struct, Results extends Struct> {
2705
- ResultsClass: StructCtor<Results>;
2706
- answer: Answer<AnswerResults>;
2707
- parent?: Pipeline<AnswerResults, Struct, ParentResults> | undefined;
2708
- op: PipelineOp;
2709
- pipelineClient?: PipelineClient<AnswerResults, ParentResults, Results>;
2710
- constructor(ResultsClass: StructCtor<Results>, answer: Answer<AnswerResults>, op?: PipelineOp, parent?: Pipeline<AnswerResults, Struct, ParentResults> | undefined);
2711
- transform(): PipelineOp[];
2712
- struct(): Promise<Results>;
2713
- client(): PipelineClient<AnswerResults, ParentResults, Results>;
2714
- getPipeline<RR extends Struct>(ResultsClass: StructCtor<RR>, off: number, defaultValue?: Pointer): Pipeline<AnswerResults, Results, RR>;
2715
- }
2716
- export declare abstract class DeferredTransport implements Transport {
2717
- protected d?: Deferred<Message$1>;
2718
- protected closed: boolean;
2719
- abstract sendMessage(msg: Message$1): void;
2720
- close(): void;
2721
- recvMessage(): Promise<Message$1>;
2722
- protected reject: (err: unknown) => void;
2723
- protected resolve: (buf: ArrayBuffer) => void;
2696
+ declare class Node_Parameter extends Struct {
2697
+ static readonly _capnp: {
2698
+ displayName: string;
2699
+ id: string;
2700
+ size: ObjectSize;
2701
+ };
2702
+ get name(): string;
2703
+ set name(value: string);
2704
+ toString(): string;
2724
2705
  }
2725
- export declare class ErrorClient implements Client {
2726
- err: Error;
2727
- constructor(err: Error);
2728
- call<P extends Struct, R extends Struct>(_call: Call<P, R>): Answer<R>;
2729
- close(): void;
2706
+ declare class Node_NestedNode extends Struct {
2707
+ static readonly _capnp: {
2708
+ displayName: string;
2709
+ id: string;
2710
+ size: ObjectSize;
2711
+ };
2712
+ /**
2713
+ * Unqualified symbol name. Unlike Node.displayName, this *can* be used programmatically.
2714
+ *
2715
+ * (On Zooko's triangle, this is the node's petname according to its parent scope.)
2716
+ *
2717
+ */
2718
+ get name(): string;
2719
+ set name(value: string);
2720
+ /**
2721
+ * ID of the nested node. Typically, the target node's scopeId points back to this node, but
2722
+ * robust code should avoid relying on this.
2723
+ *
2724
+ */
2725
+ get id(): bigint;
2726
+ set id(value: bigint);
2727
+ toString(): string;
2730
2728
  }
2731
- export declare function clientOrNull(client: Client | null): Client;
2732
- export interface InterfaceDefinition {
2733
- methods: Array<Method<any, any>>;
2729
+ declare class Node_SourceInfo_Member extends Struct {
2730
+ static readonly _capnp: {
2731
+ displayName: string;
2732
+ id: string;
2733
+ size: ObjectSize;
2734
+ };
2735
+ /**
2736
+ * Doc comment on the member.
2737
+ *
2738
+ */
2739
+ get docComment(): string;
2740
+ set docComment(value: string);
2741
+ toString(): string;
2734
2742
  }
2735
- export declare class Registry {
2736
- static readonly interfaces: Map<bigint, InterfaceDefinition>;
2737
- static register(id: bigint, def: InterfaceDefinition): void;
2738
- static lookup(id: bigint): InterfaceDefinition | undefined;
2743
+ declare class Node_SourceInfo extends Struct {
2744
+ static readonly Member: typeof Node_SourceInfo_Member;
2745
+ static readonly _capnp: {
2746
+ displayName: string;
2747
+ id: string;
2748
+ size: ObjectSize;
2749
+ };
2750
+ static _Members: ListCtor<Node_SourceInfo_Member>;
2751
+ /**
2752
+ * ID of the Node which this info describes.
2753
+ *
2754
+ */
2755
+ get id(): bigint;
2756
+ set id(value: bigint);
2757
+ /**
2758
+ * The top-level doc comment for the Node.
2759
+ *
2760
+ */
2761
+ get docComment(): string;
2762
+ set docComment(value: string);
2763
+ _adoptMembers(value: Orphan<List<Node_SourceInfo_Member>>): void;
2764
+ _disownMembers(): Orphan<List<Node_SourceInfo_Member>>;
2765
+ /**
2766
+ * Information about each member -- i.e. fields (for structs), enumerants (for enums), or
2767
+ * methods (for interfaces).
2768
+ *
2769
+ * This list is the same length and order as the corresponding list in the Node, i.e.
2770
+ * Node.struct.fields, Node.enum.enumerants, or Node.interface.methods.
2771
+ *
2772
+ */
2773
+ get members(): List<Node_SourceInfo_Member>;
2774
+ _hasMembers(): boolean;
2775
+ _initMembers(length: number): List<Node_SourceInfo_Member>;
2776
+ set members(value: List<Node_SourceInfo_Member>);
2777
+ toString(): string;
2739
2778
  }
2740
- export declare class Text extends List<string> {
2741
- static fromPointer(pointer: Pointer): Text;
2779
+ declare class Node_Struct extends Struct {
2780
+ static readonly _capnp: {
2781
+ displayName: string;
2782
+ id: string;
2783
+ size: ObjectSize;
2784
+ };
2785
+ static _Fields: ListCtor<Field>;
2742
2786
  /**
2743
- * Read a utf-8 encoded string value from this pointer.
2744
- *
2745
- * @param index The index at which to start reading; defaults to zero.
2746
- * @returns The string value.
2747
- */
2748
- get(index?: number): string;
2787
+ * Size of the data section, in words.
2788
+ *
2789
+ */
2790
+ get dataWordCount(): number;
2791
+ set dataWordCount(value: number);
2749
2792
  /**
2750
- * Get the number of utf-8 encoded bytes in this text. This does **not** include the NUL byte.
2751
- *
2752
- * @returns The number of bytes allocated for the text.
2753
- */
2754
- get length(): number;
2793
+ * Size of the pointer section, in pointers (which are one word each).
2794
+ *
2795
+ */
2796
+ get pointerCount(): number;
2797
+ set pointerCount(value: number);
2755
2798
  /**
2756
- * Write a utf-8 encoded string value starting at the specified index.
2757
- *
2758
- * @param index The index at which to start copying the string. Note that if this is not zero the bytes
2759
- * before `index` will be left as-is. All bytes after `index` will be overwritten.
2760
- * @param value The string value to set.
2761
- */
2762
- set(index: number, value: string): void;
2799
+ * The preferred element size to use when encoding a list of this struct. If this is anything
2800
+ * other than `inlineComposite` then the struct is one word or less in size and is a candidate
2801
+ * for list packing optimization.
2802
+ *
2803
+ */
2804
+ get preferredListEncoding(): ElementSize;
2805
+ set preferredListEncoding(value: ElementSize);
2806
+ /**
2807
+ * If true, then this "struct" node is actually not an independent node, but merely represents
2808
+ * some named union or group within a particular parent struct. This node's scopeId refers
2809
+ * to the parent struct, which may itself be a union/group in yet another struct.
2810
+ *
2811
+ * All group nodes share the same dataWordCount and pointerCount as the top-level
2812
+ * struct, and their fields live in the same ordinal and offset spaces as all other fields in
2813
+ * the struct.
2814
+ *
2815
+ * Note that a named union is considered a special kind of group -- in fact, a named union
2816
+ * is exactly equivalent to a group that contains nothing but an unnamed union.
2817
+ *
2818
+ */
2819
+ get isGroup(): boolean;
2820
+ set isGroup(value: boolean);
2821
+ /**
2822
+ * Number of fields in this struct which are members of an anonymous union, and thus may
2823
+ * overlap. If this is non-zero, then a 16-bit discriminant is present indicating which
2824
+ * of the overlapping fields is active. This can never be 1 -- if it is non-zero, it must be
2825
+ * two or more.
2826
+ *
2827
+ * Note that the fields of an unnamed union are considered fields of the scope containing the
2828
+ * union -- an unnamed union is not its own group. So, a top-level struct may contain a
2829
+ * non-zero discriminant count. Named unions, on the other hand, are equivalent to groups
2830
+ * containing unnamed unions. So, a named union has its own independent schema node, with
2831
+ * `isGroup` = true.
2832
+ *
2833
+ */
2834
+ get discriminantCount(): number;
2835
+ set discriminantCount(value: number);
2836
+ /**
2837
+ * If `discriminantCount` is non-zero, this is the offset of the union discriminant, in
2838
+ * multiples of 16 bits.
2839
+ *
2840
+ */
2841
+ get discriminantOffset(): number;
2842
+ set discriminantOffset(value: number);
2843
+ _adoptFields(value: Orphan<List<Field>>): void;
2844
+ _disownFields(): Orphan<List<Field>>;
2845
+ /**
2846
+ * Fields defined within this scope (either the struct's top-level fields, or the fields of
2847
+ * a particular group; see `isGroup`).
2848
+ *
2849
+ * The fields are sorted by ordinal number, but note that because groups share the same
2850
+ * ordinal space, the field's index in this list is not necessarily exactly its ordinal.
2851
+ * On the other hand, the field's position in this list does remain the same even as the
2852
+ * protocol evolves, since it is not possible to insert or remove an earlier ordinal.
2853
+ * Therefore, for most use cases, if you want to identify a field by number, it may make the
2854
+ * most sense to use the field's index in this list rather than its ordinal.
2855
+ *
2856
+ */
2857
+ get fields(): List<Field>;
2858
+ _hasFields(): boolean;
2859
+ _initFields(length: number): List<Field>;
2860
+ set fields(value: List<Field>);
2763
2861
  toString(): string;
2764
- toJSON(): string;
2765
- [Symbol.toPrimitive](): string;
2766
- [Symbol.toStringTag](): string;
2767
2862
  }
2768
- export declare class Void extends Struct {
2769
- static readonly _capnp: _StructCtor;
2863
+ declare class Node_Enum extends Struct {
2864
+ static readonly _capnp: {
2865
+ displayName: string;
2866
+ id: string;
2867
+ size: ObjectSize;
2868
+ };
2869
+ static _Enumerants: ListCtor<Enumerant>;
2870
+ _adoptEnumerants(value: Orphan<List<Enumerant>>): void;
2871
+ _disownEnumerants(): Orphan<List<Enumerant>>;
2872
+ /**
2873
+ * Enumerants ordered by numeric value (ordinal).
2874
+ *
2875
+ */
2876
+ get enumerants(): List<Enumerant>;
2877
+ _hasEnumerants(): boolean;
2878
+ _initEnumerants(length: number): List<Enumerant>;
2879
+ set enumerants(value: List<Enumerant>);
2880
+ toString(): string;
2770
2881
  }
2771
- declare function initStruct(size: ObjectSize, s: Struct): void;
2772
- declare function initStructAt<T extends Struct>(index: number, StructClass: StructCtor<T>, p: Pointer): T;
2773
- declare function checkPointerBounds(index: number, s: Struct): void;
2774
- declare function getInterfaceClientOrNullAt(index: number, s: Struct): Client;
2775
- declare function getInterfaceClientOrNull(p: Pointer): Client;
2776
- declare function resize(dstSize: ObjectSize, s: Struct): void;
2777
- declare function getAs<T extends Struct>(StructClass: StructCtor<T>, s: Struct): T;
2778
- declare function getBit(bitOffset: number, s: Struct, defaultMask?: DataView): boolean;
2779
- declare function getData(index: number, s: Struct, defaultValue?: Pointer): Data;
2780
- declare function getDataSection(s: Struct): Pointer;
2781
- declare function getFloat32(byteOffset: number, s: Struct, defaultMask?: DataView): number;
2782
- declare function getFloat64(byteOffset: number, s: Struct, defaultMask?: DataView): number;
2783
- declare function getInt16(byteOffset: number, s: Struct, defaultMask?: DataView): number;
2784
- declare function getInt32(byteOffset: number, s: Struct, defaultMask?: DataView): number;
2785
- declare function getInt64(byteOffset: number, s: Struct, defaultMask?: DataView): bigint;
2786
- declare function getInt8(byteOffset: number, s: Struct, defaultMask?: DataView): number;
2787
- declare function getList<T>(index: number, ListClass: ListCtor<T>, s: Struct, defaultValue?: Pointer): List<T>;
2788
- declare function getPointer(index: number, s: Struct): Pointer;
2789
- declare function getPointerAs<T extends Pointer>(index: number, PointerClass: PointerCtor<T>, s: Struct): T;
2790
- declare function getPointerSection(s: Struct): Pointer;
2791
- declare function getSize(s: Struct): ObjectSize;
2792
- declare function getStruct<T extends Struct>(index: number, StructClass: StructCtor<T>, s: Struct, defaultValue?: Pointer): T;
2793
- declare function getText(index: number, s: Struct, defaultValue?: string): string;
2794
- declare function getUint16(byteOffset: number, s: Struct, defaultMask?: DataView): number;
2795
- declare function getUint32(byteOffset: number, s: Struct, defaultMask?: DataView): number;
2796
- declare function getUint64(byteOffset: number, s: Struct, defaultMask?: DataView): bigint;
2797
- declare function getUint8(byteOffset: number, s: Struct, defaultMask?: DataView): number;
2798
- declare function initData(index: number, length: number, s: Struct): Data;
2799
- declare function initList<T>(index: number, ListClass: ListCtor<T>, length: number, s: Struct): List<T>;
2800
- declare function setBit(bitOffset: number, value: boolean, s: Struct, defaultMask?: DataView): void;
2801
- declare function setFloat32(byteOffset: number, value: number, s: Struct, defaultMask?: DataView): void;
2802
- declare function setFloat64(byteOffset: number, value: number, s: Struct, defaultMask?: DataView): void;
2803
- declare function setInt16(byteOffset: number, value: number, s: Struct, defaultMask?: DataView): void;
2804
- declare function setInt32(byteOffset: number, value: number, s: Struct, defaultMask?: DataView): void;
2805
- declare function setInt64(byteOffset: number, value: bigint, s: Struct, defaultMask?: DataView): void;
2806
- declare function setInt8(byteOffset: number, value: number, s: Struct, defaultMask?: DataView): void;
2807
- declare function setText(index: number, value: string, s: Struct): void;
2808
- declare function setUint16(byteOffset: number, value: number, s: Struct, defaultMask?: DataView): void;
2809
- declare function setUint32(byteOffset: number, value: number, s: Struct, defaultMask?: DataView): void;
2810
- declare function setUint64(byteOffset: number, value: bigint, s: Struct, defaultMask?: DataView): void;
2811
- declare function setUint8(byteOffset: number, value: number, s: Struct, defaultMask?: DataView): void;
2812
- declare function testWhich(name: string, found: number, wanted: number, s: Struct): void;
2813
- declare function checkDataBounds(byteOffset: number, byteLength: number, s: Struct): void;
2814
- declare function adopt<T extends Pointer>(src: Orphan<T>, p: T): void;
2815
- declare function disown<T extends Pointer>(p: T): Orphan<T>;
2816
- declare function dump$1(p: Pointer): string;
2817
- declare function getListByteLength(elementSize: ListElementSize, length: number, compositeSize?: ObjectSize): number;
2818
- declare function getListElementByteLength(elementSize: ListElementSize): number;
2819
- declare function add(offset: number, p: Pointer): Pointer;
2820
- declare function copyFrom(src: Pointer, p: Pointer): void;
2821
- declare function erase(p: Pointer): void;
2822
- declare function erasePointer(p: Pointer): void;
2823
- declare function followFar(p: Pointer): Pointer;
2824
- declare function followFars(p: Pointer): Pointer;
2825
- declare function getCapabilityId(p: Pointer): number;
2826
- declare function getContent(p: Pointer, ignoreCompositeIndex?: boolean): Pointer;
2827
- declare function getFarSegmentId(p: Pointer): number;
2828
- declare function getListElementSize(p: Pointer): ListElementSize;
2829
- declare function getListLength(p: Pointer): number;
2830
- declare function getOffsetWords(p: Pointer): number;
2831
- declare function getPointerType(p: Pointer): PointerType;
2832
- declare function getStructDataWords(p: Pointer): number;
2833
- declare function getStructPointerLength(p: Pointer): number;
2834
- declare function getStructSize(p: Pointer): ObjectSize;
2835
- declare function getTargetCompositeListTag(p: Pointer): Pointer;
2836
- declare function getTargetCompositeListSize(p: Pointer): ObjectSize;
2837
- declare function getTargetListElementSize(p: Pointer): ListElementSize;
2838
- declare function getTargetListLength(p: Pointer): number;
2839
- declare function getTargetPointerType(p: Pointer): PointerType;
2840
- declare function getTargetStructSize(p: Pointer): ObjectSize;
2841
- declare function initPointer(contentSegment: Segment, contentOffset: number, p: Pointer): PointerAllocationResult;
2842
- declare function isDoubleFar(p: Pointer): boolean;
2843
- declare function isNull(p: Pointer): boolean;
2844
- declare function relocateTo(dst: Pointer, src: Pointer): void;
2845
- declare function setFarPointer(doubleFar: boolean, offsetWords: number, segmentId: number, p: Pointer): void;
2846
- declare function setInterfacePointer(capId: number, p: Pointer): void;
2847
- declare function getInterfacePointer(p: Pointer): number;
2848
- declare function setListPointer(offsetWords: number, size: ListElementSize, length: number, p: Pointer, compositeSize?: ObjectSize): void;
2849
- declare function setStructPointer(offsetWords: number, size: ObjectSize, p: Pointer): void;
2850
- declare function validate(pointerType: PointerType, p: Pointer, elementSize?: ListElementSize): void;
2851
- declare function copyFromInterface(src: Pointer, dst: Pointer): void;
2852
- declare function copyFromList(src: Pointer, dst: Pointer): void;
2853
- declare function copyFromStruct(src: Pointer, dst: Pointer): void;
2854
- declare function trackPointerAllocation(message: Message, p: Pointer): void;
2855
- declare class PointerAllocationResult {
2856
- readonly pointer: Pointer;
2857
- readonly offsetWords: number;
2858
- constructor(pointer: Pointer, offsetWords: number);
2859
- }
2860
- export declare namespace utils {
2861
- export { PointerAllocationResult, add, adopt, checkDataBounds, checkPointerBounds, copyFrom, copyFromInterface, copyFromList, copyFromStruct, disown, dump$1, erase, erasePointer, followFar, followFars, getAs, getBit, getCapabilityId, getContent, getData, getDataSection, getFarSegmentId, getFloat32, getFloat64, getInt16, getInt32, getInt64, getInt8, getInterfaceClientOrNull, getInterfaceClientOrNullAt, getInterfacePointer, getList, getListByteLength, getListElementByteLength, getListElementSize, getListLength, getOffsetWords, getPointer, getPointerAs, getPointerSection, getPointerType, getSize, getStruct, getStructDataWords, getStructPointerLength, getStructSize, getTargetCompositeListSize, getTargetCompositeListTag, getTargetListElementSize, getTargetListLength, getTargetPointerType, getTargetStructSize, getText, getUint16, getUint32, getUint64, getUint8, initData, initList, initPointer, initStruct, initStructAt, isDoubleFar, isNull, relocateTo, resize, setBit, setFarPointer, setFloat32, setFloat64, setInt16, setInt32, setInt64, setInt8, setInterfacePointer, setListPointer, setStructPointer, setText, setUint16, setUint32, setUint64, setUint8, testWhich, trackPointerAllocation, validate };
2862
- }
2863
- export declare const AnyPointerList: ListCtor<Pointer>;
2864
- export declare class BoolList extends List<boolean> {
2865
- static readonly _capnp: _ListCtor;
2866
- get(index: number): boolean;
2867
- set(index: number, value: boolean): void;
2868
- [Symbol.toStringTag](): string;
2869
- }
2870
- export declare function CompositeList<T extends Struct>(CompositeClass: StructCtor<T>): ListCtor<T>;
2871
- export declare const DataList: ListCtor<Data>;
2872
- export declare class Float32List extends List<number> {
2873
- static readonly _capnp: _ListCtor;
2874
- get(index: number): number;
2875
- set(index: number, value: number): void;
2876
- [Symbol.toStringTag](): string;
2877
- }
2878
- export declare class Float64List extends List<number> {
2879
- static readonly _capnp: _ListCtor;
2880
- get(index: number): number;
2881
- set(index: number, value: number): void;
2882
- [Symbol.toStringTag](): string;
2883
- }
2884
- export declare class Int8List extends List<number> {
2885
- static readonly _capnp: _ListCtor;
2886
- get(index: number): number;
2887
- set(index: number, value: number): void;
2888
- [Symbol.toStringTag](): string;
2889
- }
2890
- export declare class Int16List extends List<number> {
2891
- static readonly _capnp: _ListCtor;
2892
- get(index: number): number;
2893
- set(index: number, value: number): void;
2894
- [Symbol.toStringTag](): string;
2895
- }
2896
- export declare class Int32List extends List<number> {
2897
- static readonly _capnp: _ListCtor;
2898
- get(index: number): number;
2899
- set(index: number, value: number): void;
2900
- [Symbol.toStringTag](): string;
2901
- }
2902
- export declare class Int64List extends List<bigint> {
2903
- static readonly _capnp: _ListCtor;
2904
- get(index: number): bigint;
2905
- set(index: number, value: bigint): void;
2906
- [Symbol.toStringTag](): string;
2907
- }
2908
- export declare const InterfaceList: ListCtor<Interface>;
2909
- export declare function PointerList<T extends Pointer>(PointerClass: PointerCtor<T>): ListCtor<T>;
2910
- export declare class TextList extends List<string> {
2911
- static readonly _capnp: _ListCtor;
2912
- get(index: number): string;
2913
- set(index: number, value: string): void;
2914
- [Symbol.toStringTag](): string;
2915
- }
2916
- export declare class Uint8List extends List<number> {
2917
- static readonly _capnp: _ListCtor;
2918
- get(index: number): number;
2919
- set(index: number, value: number): void;
2920
- [Symbol.toStringTag](): string;
2921
- }
2922
- export declare class Uint16List extends List<number> {
2923
- static readonly _capnp: _ListCtor;
2924
- get(index: number): number;
2925
- set(index: number, value: number): void;
2926
- [Symbol.toStringTag](): string;
2927
- }
2928
- export declare class Uint32List extends List<number> {
2929
- static readonly _capnp: _ListCtor;
2930
- get(index: number): number;
2931
- set(index: number, value: number): void;
2932
- [Symbol.toStringTag](): string;
2933
- }
2934
- export declare class Uint64List extends List<bigint> {
2935
- static readonly _capnp: _ListCtor;
2936
- get(index: number): bigint;
2937
- set(index: number, value: bigint): void;
2938
- [Symbol.toStringTag](): string;
2939
- }
2940
- export declare const VoidList: ListCtor<Void>;
2941
- export declare const getFloat32Mask: (x: number) => DataView;
2942
- export declare const getFloat64Mask: (x: number) => DataView;
2943
- export declare const getInt16Mask: (x: number) => DataView;
2944
- export declare const getInt32Mask: (x: number) => DataView;
2945
- export declare const getInt64Mask: (x: bigint) => DataView;
2946
- export declare const getInt8Mask: (x: number) => DataView;
2947
- export declare const getUint16Mask: (x: number) => DataView;
2948
- export declare const getUint32Mask: (x: number) => DataView;
2949
- export declare const getUint64Mask: (x: bigint) => DataView;
2950
- export declare const getUint8Mask: (x: number) => DataView;
2951
- export declare function getBitMask(value: boolean, bitOffset: number): DataView;
2952
- /**
2953
- * A class that manages Cap'n Proto RPC connections.
2954
- */
2955
- export declare class CapnpRPC {
2956
- protected acceptQueue: Deferred<Conn>[];
2957
- protected connections: Record<number, Conn>;
2958
- protected connectQueue: MessagePort$1[];
2959
- /**
2960
- * Creates a new {@link Conn} instance.
2961
- *
2962
- * @remarks
2963
- * This class is used to manage connections and accept incoming connections using the {@link MessageChannel} API.
2964
- */
2965
- connect(id?: number): Conn;
2966
- /**
2967
- * Accepts a connection from the connect queue.
2968
- *
2969
- * @returns A promise that resolves to a Conn instance when a connection is accepted.
2970
- * @throws If no connections are available in the connect queue.
2971
- */
2972
- accept(): Promise<Conn>;
2973
- /**
2974
- * Closes all connections and clears the queues.
2975
- *
2976
- * @remarks
2977
- * This method will reject all pending accept promises and close all
2978
- * connections in the connect queue.
2979
- */
2980
- close(): void;
2981
- }
2982
- export declare class MessageChannelTransport extends DeferredTransport {
2983
- port: MessagePort$1;
2984
- constructor(port: MessagePort$1);
2985
- close: () => void;
2986
- sendMessage(msg: Message$1): void;
2987
- }
2988
- declare class Node_Parameter extends Struct {
2989
- static readonly _capnp: {
2990
- displayName: string;
2991
- id: string;
2992
- size: ObjectSize;
2993
- };
2994
- get name(): string;
2995
- set name(value: string);
2996
- toString(): string;
2997
- }
2998
- declare class Node_NestedNode extends Struct {
2882
+ declare class Node_Interface extends Struct {
2999
2883
  static readonly _capnp: {
3000
2884
  displayName: string;
3001
2885
  id: string;
3002
2886
  size: ObjectSize;
3003
2887
  };
2888
+ static _Methods: ListCtor<Method$1>;
2889
+ static _Superclasses: ListCtor<Superclass>;
2890
+ _adoptMethods(value: Orphan<List<Method$1>>): void;
2891
+ _disownMethods(): Orphan<List<Method$1>>;
3004
2892
  /**
3005
- * Unqualified symbol name. Unlike Node.displayName, this *can* be used programmatically.
3006
- *
3007
- * (On Zooko's triangle, this is the node's petname according to its parent scope.)
2893
+ * Methods ordered by ordinal.
3008
2894
  *
3009
2895
  */
3010
- get name(): string;
3011
- set name(value: string);
2896
+ get methods(): List<Method$1>;
2897
+ _hasMethods(): boolean;
2898
+ _initMethods(length: number): List<Method$1>;
2899
+ set methods(value: List<Method$1>);
2900
+ _adoptSuperclasses(value: Orphan<List<Superclass>>): void;
2901
+ _disownSuperclasses(): Orphan<List<Superclass>>;
3012
2902
  /**
3013
- * ID of the nested node. Typically, the target node's scopeId points back to this node, but
3014
- * robust code should avoid relying on this.
2903
+ * Superclasses of this interface.
3015
2904
  *
3016
2905
  */
3017
- get id(): bigint;
3018
- set id(value: bigint);
2906
+ get superclasses(): List<Superclass>;
2907
+ _hasSuperclasses(): boolean;
2908
+ _initSuperclasses(length: number): List<Superclass>;
2909
+ set superclasses(value: List<Superclass>);
3019
2910
  toString(): string;
3020
2911
  }
3021
- declare class Node_SourceInfo_Member extends Struct {
3022
- static readonly _capnp: {
3023
- displayName: string;
3024
- id: string;
3025
- size: ObjectSize;
3026
- };
3027
- /**
3028
- * Doc comment on the member.
3029
- *
3030
- */
3031
- get docComment(): string;
3032
- set docComment(value: string);
3033
- toString(): string;
3034
- }
3035
- declare class Node_SourceInfo extends Struct {
3036
- static readonly Member: typeof Node_SourceInfo_Member;
3037
- static readonly _capnp: {
3038
- displayName: string;
3039
- id: string;
3040
- size: ObjectSize;
3041
- };
3042
- static _Members: ListCtor<Node_SourceInfo_Member>;
3043
- /**
3044
- * ID of the Node which this info describes.
3045
- *
3046
- */
3047
- get id(): bigint;
3048
- set id(value: bigint);
3049
- /**
3050
- * The top-level doc comment for the Node.
3051
- *
3052
- */
3053
- get docComment(): string;
3054
- set docComment(value: string);
3055
- _adoptMembers(value: Orphan<List<Node_SourceInfo_Member>>): void;
3056
- _disownMembers(): Orphan<List<Node_SourceInfo_Member>>;
3057
- /**
3058
- * Information about each member -- i.e. fields (for structs), enumerants (for enums), or
3059
- * methods (for interfaces).
3060
- *
3061
- * This list is the same length and order as the corresponding list in the Node, i.e.
3062
- * Node.struct.fields, Node.enum.enumerants, or Node.interface.methods.
3063
- *
3064
- */
3065
- get members(): List<Node_SourceInfo_Member>;
3066
- _hasMembers(): boolean;
3067
- _initMembers(length: number): List<Node_SourceInfo_Member>;
3068
- set members(value: List<Node_SourceInfo_Member>);
3069
- toString(): string;
3070
- }
3071
- declare class Node_Struct extends Struct {
3072
- static readonly _capnp: {
3073
- displayName: string;
3074
- id: string;
3075
- size: ObjectSize;
3076
- };
3077
- static _Fields: ListCtor<Field>;
3078
- /**
3079
- * Size of the data section, in words.
3080
- *
3081
- */
3082
- get dataWordCount(): number;
3083
- set dataWordCount(value: number);
3084
- /**
3085
- * Size of the pointer section, in pointers (which are one word each).
3086
- *
3087
- */
3088
- get pointerCount(): number;
3089
- set pointerCount(value: number);
3090
- /**
3091
- * The preferred element size to use when encoding a list of this struct. If this is anything
3092
- * other than `inlineComposite` then the struct is one word or less in size and is a candidate
3093
- * for list packing optimization.
3094
- *
3095
- */
3096
- get preferredListEncoding(): ElementSize;
3097
- set preferredListEncoding(value: ElementSize);
3098
- /**
3099
- * If true, then this "struct" node is actually not an independent node, but merely represents
3100
- * some named union or group within a particular parent struct. This node's scopeId refers
3101
- * to the parent struct, which may itself be a union/group in yet another struct.
3102
- *
3103
- * All group nodes share the same dataWordCount and pointerCount as the top-level
3104
- * struct, and their fields live in the same ordinal and offset spaces as all other fields in
3105
- * the struct.
3106
- *
3107
- * Note that a named union is considered a special kind of group -- in fact, a named union
3108
- * is exactly equivalent to a group that contains nothing but an unnamed union.
3109
- *
3110
- */
3111
- get isGroup(): boolean;
3112
- set isGroup(value: boolean);
3113
- /**
3114
- * Number of fields in this struct which are members of an anonymous union, and thus may
3115
- * overlap. If this is non-zero, then a 16-bit discriminant is present indicating which
3116
- * of the overlapping fields is active. This can never be 1 -- if it is non-zero, it must be
3117
- * two or more.
3118
- *
3119
- * Note that the fields of an unnamed union are considered fields of the scope containing the
3120
- * union -- an unnamed union is not its own group. So, a top-level struct may contain a
3121
- * non-zero discriminant count. Named unions, on the other hand, are equivalent to groups
3122
- * containing unnamed unions. So, a named union has its own independent schema node, with
3123
- * `isGroup` = true.
3124
- *
3125
- */
3126
- get discriminantCount(): number;
3127
- set discriminantCount(value: number);
3128
- /**
3129
- * If `discriminantCount` is non-zero, this is the offset of the union discriminant, in
3130
- * multiples of 16 bits.
3131
- *
3132
- */
3133
- get discriminantOffset(): number;
3134
- set discriminantOffset(value: number);
3135
- _adoptFields(value: Orphan<List<Field>>): void;
3136
- _disownFields(): Orphan<List<Field>>;
3137
- /**
3138
- * Fields defined within this scope (either the struct's top-level fields, or the fields of
3139
- * a particular group; see `isGroup`).
3140
- *
3141
- * The fields are sorted by ordinal number, but note that because groups share the same
3142
- * ordinal space, the field's index in this list is not necessarily exactly its ordinal.
3143
- * On the other hand, the field's position in this list does remain the same even as the
3144
- * protocol evolves, since it is not possible to insert or remove an earlier ordinal.
3145
- * Therefore, for most use cases, if you want to identify a field by number, it may make the
3146
- * most sense to use the field's index in this list rather than its ordinal.
3147
- *
3148
- */
3149
- get fields(): List<Field>;
3150
- _hasFields(): boolean;
3151
- _initFields(length: number): List<Field>;
3152
- set fields(value: List<Field>);
3153
- toString(): string;
3154
- }
3155
- declare class Node_Enum extends Struct {
3156
- static readonly _capnp: {
3157
- displayName: string;
3158
- id: string;
3159
- size: ObjectSize;
3160
- };
3161
- static _Enumerants: ListCtor<Enumerant>;
3162
- _adoptEnumerants(value: Orphan<List<Enumerant>>): void;
3163
- _disownEnumerants(): Orphan<List<Enumerant>>;
3164
- /**
3165
- * Enumerants ordered by numeric value (ordinal).
3166
- *
3167
- */
3168
- get enumerants(): List<Enumerant>;
3169
- _hasEnumerants(): boolean;
3170
- _initEnumerants(length: number): List<Enumerant>;
3171
- set enumerants(value: List<Enumerant>);
3172
- toString(): string;
3173
- }
3174
- declare class Node_Interface extends Struct {
3175
- static readonly _capnp: {
3176
- displayName: string;
3177
- id: string;
3178
- size: ObjectSize;
3179
- };
3180
- static _Methods: ListCtor<Method$1>;
3181
- static _Superclasses: ListCtor<Superclass>;
3182
- _adoptMethods(value: Orphan<List<Method$1>>): void;
3183
- _disownMethods(): Orphan<List<Method$1>>;
3184
- /**
3185
- * Methods ordered by ordinal.
3186
- *
3187
- */
3188
- get methods(): List<Method$1>;
3189
- _hasMethods(): boolean;
3190
- _initMethods(length: number): List<Method$1>;
3191
- set methods(value: List<Method$1>);
3192
- _adoptSuperclasses(value: Orphan<List<Superclass>>): void;
3193
- _disownSuperclasses(): Orphan<List<Superclass>>;
3194
- /**
3195
- * Superclasses of this interface.
3196
- *
3197
- */
3198
- get superclasses(): List<Superclass>;
3199
- _hasSuperclasses(): boolean;
3200
- _initSuperclasses(length: number): List<Superclass>;
3201
- set superclasses(value: List<Superclass>);
3202
- toString(): string;
3203
- }
3204
- declare class Node_Const extends Struct {
2912
+ declare class Node_Const extends Struct {
3205
2913
  static readonly _capnp: {
3206
2914
  displayName: string;
3207
2915
  id: string;
@@ -4237,6 +3945,20 @@ declare const ElementSize: {
4237
3945
  readonly INLINE_COMPOSITE: 7;
4238
3946
  };
4239
3947
  export type ElementSize = (typeof ElementSize)[keyof typeof ElementSize];
3948
+ declare class CapnpVersion extends Struct {
3949
+ static readonly _capnp: {
3950
+ displayName: string;
3951
+ id: string;
3952
+ size: ObjectSize;
3953
+ };
3954
+ get major(): number;
3955
+ set major(value: number);
3956
+ get minor(): number;
3957
+ set minor(value: number);
3958
+ get micro(): number;
3959
+ set micro(value: number);
3960
+ toString(): string;
3961
+ }
4240
3962
  declare class CodeGeneratorRequest_RequestedFile_Import extends Struct {
4241
3963
  static readonly _capnp: {
4242
3964
  displayName: string;
@@ -4262,6 +3984,98 @@ declare class CodeGeneratorRequest_RequestedFile_Import extends Struct {
4262
3984
  set name(value: string);
4263
3985
  toString(): string;
4264
3986
  }
3987
+ declare class CodeGeneratorRequest_RequestedFile extends Struct {
3988
+ static readonly Import: typeof CodeGeneratorRequest_RequestedFile_Import;
3989
+ static readonly _capnp: {
3990
+ displayName: string;
3991
+ id: string;
3992
+ size: ObjectSize;
3993
+ };
3994
+ static _Imports: ListCtor<CodeGeneratorRequest_RequestedFile_Import>;
3995
+ /**
3996
+ * ID of the file.
3997
+ *
3998
+ */
3999
+ get id(): bigint;
4000
+ set id(value: bigint);
4001
+ /**
4002
+ * Name of the file as it appeared on the command-line (minus the src-prefix). You may use
4003
+ * this to decide where to write the output.
4004
+ *
4005
+ */
4006
+ get filename(): string;
4007
+ set filename(value: string);
4008
+ _adoptImports(value: Orphan<List<CodeGeneratorRequest_RequestedFile_Import>>): void;
4009
+ _disownImports(): Orphan<List<CodeGeneratorRequest_RequestedFile_Import>>;
4010
+ /**
4011
+ * List of all imported paths seen in this file.
4012
+ *
4013
+ */
4014
+ get imports(): List<CodeGeneratorRequest_RequestedFile_Import>;
4015
+ _hasImports(): boolean;
4016
+ _initImports(length: number): List<CodeGeneratorRequest_RequestedFile_Import>;
4017
+ set imports(value: List<CodeGeneratorRequest_RequestedFile_Import>);
4018
+ toString(): string;
4019
+ }
4020
+ declare class CodeGeneratorRequest extends Struct {
4021
+ static readonly RequestedFile: typeof CodeGeneratorRequest_RequestedFile;
4022
+ static readonly _capnp: {
4023
+ displayName: string;
4024
+ id: string;
4025
+ size: ObjectSize;
4026
+ };
4027
+ static _Nodes: ListCtor<Node>;
4028
+ static _SourceInfo: ListCtor<Node_SourceInfo>;
4029
+ static _RequestedFiles: ListCtor<CodeGeneratorRequest_RequestedFile>;
4030
+ _adoptCapnpVersion(value: Orphan<CapnpVersion>): void;
4031
+ _disownCapnpVersion(): Orphan<CapnpVersion>;
4032
+ /**
4033
+ * Version of the `capnp` executable. Generally, code generators should ignore this, but the code
4034
+ * generators that ship with `capnp` itself will print a warning if this mismatches since that
4035
+ * probably indicates something is misconfigured.
4036
+ *
4037
+ * The first version of 'capnp' to set this was 0.6.0. So, if it's missing, the compiler version
4038
+ * is older than that.
4039
+ *
4040
+ */
4041
+ get capnpVersion(): CapnpVersion;
4042
+ _hasCapnpVersion(): boolean;
4043
+ _initCapnpVersion(): CapnpVersion;
4044
+ set capnpVersion(value: CapnpVersion);
4045
+ _adoptNodes(value: Orphan<List<Node>>): void;
4046
+ _disownNodes(): Orphan<List<Node>>;
4047
+ /**
4048
+ * All nodes parsed by the compiler, including for the files on the command line and their
4049
+ * imports.
4050
+ *
4051
+ */
4052
+ get nodes(): List<Node>;
4053
+ _hasNodes(): boolean;
4054
+ _initNodes(length: number): List<Node>;
4055
+ set nodes(value: List<Node>);
4056
+ _adoptSourceInfo(value: Orphan<List<Node_SourceInfo>>): void;
4057
+ _disownSourceInfo(): Orphan<List<Node_SourceInfo>>;
4058
+ /**
4059
+ * Information about the original source code for each node, where available. This array may be
4060
+ * omitted or may be missing some nodes if no info is available for them.
4061
+ *
4062
+ */
4063
+ get sourceInfo(): List<Node_SourceInfo>;
4064
+ _hasSourceInfo(): boolean;
4065
+ _initSourceInfo(length: number): List<Node_SourceInfo>;
4066
+ set sourceInfo(value: List<Node_SourceInfo>);
4067
+ _adoptRequestedFiles(value: Orphan<List<CodeGeneratorRequest_RequestedFile>>): void;
4068
+ _disownRequestedFiles(): Orphan<List<CodeGeneratorRequest_RequestedFile>>;
4069
+ /**
4070
+ * Files which were listed on the command line.
4071
+ *
4072
+ */
4073
+ get requestedFiles(): List<CodeGeneratorRequest_RequestedFile>;
4074
+ _hasRequestedFiles(): boolean;
4075
+ _initRequestedFiles(length: number): List<CodeGeneratorRequest_RequestedFile>;
4076
+ set requestedFiles(value: List<CodeGeneratorRequest_RequestedFile>);
4077
+ toString(): string;
4078
+ }
4265
4079
  export interface CodeGeneratorFileContext {
4266
4080
  readonly nodes: Node[];
4267
4081
  readonly imports: CodeGeneratorRequest_RequestedFile_Import[];
@@ -4296,12 +4110,358 @@ export interface CapnpcCLIOptions {
4296
4110
  tty?: boolean;
4297
4111
  }
4298
4112
  export type CapnpcOptions = Omit<CapnpcCLIOptions, "noTs" | "noDts" | "tsconfig" | "schema"> & {
4299
- tsconfig: ParsedCommandLine;
4113
+ tsconfig: CompilerOptions;
4300
4114
  schemas: string[];
4301
4115
  };
4302
4116
  export interface CapnpcResult {
4303
4117
  ctx: CodeGeneratorContext;
4304
4118
  files: Map<string, string>;
4305
4119
  }
4120
+ /**
4121
+ * Compiles Cap'n Proto schemas into TypeScript files.
4122
+ *
4123
+ * @param options - The options for the compilation process.
4124
+ * @returns A promise that resolves to the compilation result.
4125
+ */
4126
+ export declare function capnpc(options: CapnpcOptions): Promise<CapnpcResult>;
4127
+ /**
4128
+ * Compiles Cap'n Proto schemas into TypeScript files.
4129
+ *
4130
+ * @param dataBuf - The buffer containing the Cap'n Proto schema data.
4131
+ * @param options - The options for the compilation process.
4132
+ * @returns A promise that resolves to the compilation result.
4133
+ */
4134
+ export declare function compile(dataBuf: Buffer, options: CapnpcCLIOptions): Promise<{
4135
+ ctx: {
4136
+ files: {
4137
+ readonly req: CodeGeneratorRequest;
4138
+ readonly file: CodeGeneratorRequest_RequestedFile;
4139
+ readonly nodes: Node[];
4140
+ readonly imports: CodeGeneratorRequest_RequestedFile_Import[];
4141
+ concreteLists: Array<[
4142
+ string,
4143
+ Field
4144
+ ]>;
4145
+ generatedNodeIds: Set<string>;
4146
+ generatedResultsPromiseIds: Set<bigint>;
4147
+ tsPath: string;
4148
+ codeParts: string[];
4149
+ toString(): string;
4150
+ }[];
4151
+ };
4152
+ files: Map<string, string>;
4153
+ } | undefined>;
4154
+ declare class PipelineClient<AnswerResults extends Struct, ParentResults extends Struct, Results extends Struct> implements Client {
4155
+ pipeline: Pipeline<AnswerResults, ParentResults, Results>;
4156
+ constructor(pipeline: Pipeline<AnswerResults, ParentResults, Results>);
4157
+ transform(): PipelineOp[];
4158
+ call<CallParams extends Struct, CallResults extends Struct>(call: Call<CallParams, CallResults>): Answer<CallResults>;
4159
+ close(): void;
4160
+ }
4161
+ /**
4162
+ * A Pipeline is a generic wrapper for an answer
4163
+ */
4164
+ export declare class Pipeline<AnswerResults extends Struct, ParentResults extends Struct, Results extends Struct> {
4165
+ ResultsClass: StructCtor<Results>;
4166
+ answer: Answer<AnswerResults>;
4167
+ parent?: Pipeline<AnswerResults, Struct, ParentResults> | undefined;
4168
+ op: PipelineOp;
4169
+ pipelineClient?: PipelineClient<AnswerResults, ParentResults, Results>;
4170
+ constructor(ResultsClass: StructCtor<Results>, answer: Answer<AnswerResults>, op?: PipelineOp, parent?: Pipeline<AnswerResults, Struct, ParentResults> | undefined);
4171
+ transform(): PipelineOp[];
4172
+ struct(): Promise<Results>;
4173
+ client(): PipelineClient<AnswerResults, ParentResults, Results>;
4174
+ getPipeline<RR extends Struct>(ResultsClass: StructCtor<RR>, off: number, defaultValue?: Pointer): Pipeline<AnswerResults, Results, RR>;
4175
+ }
4176
+ export declare abstract class DeferredTransport implements Transport {
4177
+ protected d?: Deferred<Message$1>;
4178
+ protected closed: boolean;
4179
+ abstract sendMessage(msg: Message$1): void;
4180
+ close(): void;
4181
+ recvMessage(): Promise<Message$1>;
4182
+ protected reject: (err: unknown) => void;
4183
+ protected resolve: (buf: ArrayBuffer) => void;
4184
+ }
4185
+ export declare class ErrorClient implements Client {
4186
+ err: Error;
4187
+ constructor(err: Error);
4188
+ call<P extends Struct, R extends Struct>(_call: Call<P, R>): Answer<R>;
4189
+ close(): void;
4190
+ }
4191
+ export declare function clientOrNull(client: Client | null): Client;
4192
+ export interface InterfaceDefinition {
4193
+ methods: Array<Method<any, any>>;
4194
+ }
4195
+ export declare class Registry {
4196
+ static readonly interfaces: Map<bigint, InterfaceDefinition>;
4197
+ static register(id: bigint, def: InterfaceDefinition): void;
4198
+ static lookup(id: bigint): InterfaceDefinition | undefined;
4199
+ }
4200
+ export declare class Text extends List<string> {
4201
+ static fromPointer(pointer: Pointer): Text;
4202
+ /**
4203
+ * Read a utf-8 encoded string value from this pointer.
4204
+ *
4205
+ * @param index The index at which to start reading; defaults to zero.
4206
+ * @returns The string value.
4207
+ */
4208
+ get(index?: number): string;
4209
+ /**
4210
+ * Get the number of utf-8 encoded bytes in this text. This does **not** include the NUL byte.
4211
+ *
4212
+ * @returns The number of bytes allocated for the text.
4213
+ */
4214
+ get length(): number;
4215
+ /**
4216
+ * Write a utf-8 encoded string value starting at the specified index.
4217
+ *
4218
+ * @param index The index at which to start copying the string. Note that if this is not zero the bytes
4219
+ * before `index` will be left as-is. All bytes after `index` will be overwritten.
4220
+ * @param value The string value to set.
4221
+ */
4222
+ set(index: number, value: string): void;
4223
+ toString(): string;
4224
+ toJSON(): string;
4225
+ [Symbol.toPrimitive](): string;
4226
+ [Symbol.toStringTag](): string;
4227
+ }
4228
+ export declare class Void extends Struct {
4229
+ static readonly _capnp: _StructCtor;
4230
+ }
4231
+ declare function initStruct(size: ObjectSize, s: Struct): void;
4232
+ declare function initStructAt<T extends Struct>(index: number, StructClass: StructCtor<T>, p: Pointer): T;
4233
+ declare function checkPointerBounds(index: number, s: Struct): void;
4234
+ declare function getInterfaceClientOrNullAt(index: number, s: Struct): Client;
4235
+ declare function getInterfaceClientOrNull(p: Pointer): Client;
4236
+ declare function resize(dstSize: ObjectSize, s: Struct): void;
4237
+ declare function getAs<T extends Struct>(StructClass: StructCtor<T>, s: Struct): T;
4238
+ declare function getBit(bitOffset: number, s: Struct, defaultMask?: DataView): boolean;
4239
+ declare function getData(index: number, s: Struct, defaultValue?: Pointer): Data;
4240
+ declare function getDataSection(s: Struct): Pointer;
4241
+ declare function getFloat32(byteOffset: number, s: Struct, defaultMask?: DataView): number;
4242
+ declare function getFloat64(byteOffset: number, s: Struct, defaultMask?: DataView): number;
4243
+ declare function getInt16(byteOffset: number, s: Struct, defaultMask?: DataView): number;
4244
+ declare function getInt32(byteOffset: number, s: Struct, defaultMask?: DataView): number;
4245
+ declare function getInt64(byteOffset: number, s: Struct, defaultMask?: DataView): bigint;
4246
+ declare function getInt8(byteOffset: number, s: Struct, defaultMask?: DataView): number;
4247
+ declare function getList<T>(index: number, ListClass: ListCtor<T>, s: Struct, defaultValue?: Pointer): List<T>;
4248
+ declare function getPointer(index: number, s: Struct): Pointer;
4249
+ declare function getPointerAs<T extends Pointer>(index: number, PointerClass: PointerCtor<T>, s: Struct): T;
4250
+ declare function getPointerSection(s: Struct): Pointer;
4251
+ declare function getSize(s: Struct): ObjectSize;
4252
+ declare function getStruct<T extends Struct>(index: number, StructClass: StructCtor<T>, s: Struct, defaultValue?: Pointer): T;
4253
+ declare function getText(index: number, s: Struct, defaultValue?: string): string;
4254
+ declare function getUint16(byteOffset: number, s: Struct, defaultMask?: DataView): number;
4255
+ declare function getUint32(byteOffset: number, s: Struct, defaultMask?: DataView): number;
4256
+ declare function getUint64(byteOffset: number, s: Struct, defaultMask?: DataView): bigint;
4257
+ declare function getUint8(byteOffset: number, s: Struct, defaultMask?: DataView): number;
4258
+ declare function initData(index: number, length: number, s: Struct): Data;
4259
+ declare function initList<T>(index: number, ListClass: ListCtor<T>, length: number, s: Struct): List<T>;
4260
+ declare function setBit(bitOffset: number, value: boolean, s: Struct, defaultMask?: DataView): void;
4261
+ declare function setFloat32(byteOffset: number, value: number, s: Struct, defaultMask?: DataView): void;
4262
+ declare function setFloat64(byteOffset: number, value: number, s: Struct, defaultMask?: DataView): void;
4263
+ declare function setInt16(byteOffset: number, value: number, s: Struct, defaultMask?: DataView): void;
4264
+ declare function setInt32(byteOffset: number, value: number, s: Struct, defaultMask?: DataView): void;
4265
+ declare function setInt64(byteOffset: number, value: bigint, s: Struct, defaultMask?: DataView): void;
4266
+ declare function setInt8(byteOffset: number, value: number, s: Struct, defaultMask?: DataView): void;
4267
+ declare function setText(index: number, value: string, s: Struct): void;
4268
+ declare function setUint16(byteOffset: number, value: number, s: Struct, defaultMask?: DataView): void;
4269
+ declare function setUint32(byteOffset: number, value: number, s: Struct, defaultMask?: DataView): void;
4270
+ declare function setUint64(byteOffset: number, value: bigint, s: Struct, defaultMask?: DataView): void;
4271
+ declare function setUint8(byteOffset: number, value: number, s: Struct, defaultMask?: DataView): void;
4272
+ declare function testWhich(name: string, found: number, wanted: number, s: Struct): void;
4273
+ declare function checkDataBounds(byteOffset: number, byteLength: number, s: Struct): void;
4274
+ declare function adopt<T extends Pointer>(src: Orphan<T>, p: T): void;
4275
+ declare function disown<T extends Pointer>(p: T): Orphan<T>;
4276
+ declare function dump$1(p: Pointer): string;
4277
+ declare function getListByteLength(elementSize: ListElementSize, length: number, compositeSize?: ObjectSize): number;
4278
+ declare function getListElementByteLength(elementSize: ListElementSize): number;
4279
+ declare function add(offset: number, p: Pointer): Pointer;
4280
+ declare function copyFrom(src: Pointer, p: Pointer): void;
4281
+ declare function erase(p: Pointer): void;
4282
+ declare function erasePointer(p: Pointer): void;
4283
+ declare function followFar(p: Pointer): Pointer;
4284
+ declare function followFars(p: Pointer): Pointer;
4285
+ declare function getCapabilityId(p: Pointer): number;
4286
+ declare function getContent(p: Pointer, ignoreCompositeIndex?: boolean): Pointer;
4287
+ declare function getFarSegmentId(p: Pointer): number;
4288
+ declare function getListElementSize(p: Pointer): ListElementSize;
4289
+ declare function getListLength(p: Pointer): number;
4290
+ declare function getOffsetWords(p: Pointer): number;
4291
+ declare function getPointerType(p: Pointer): PointerType;
4292
+ declare function getStructDataWords(p: Pointer): number;
4293
+ declare function getStructPointerLength(p: Pointer): number;
4294
+ declare function getStructSize(p: Pointer): ObjectSize;
4295
+ declare function getTargetCompositeListTag(p: Pointer): Pointer;
4296
+ declare function getTargetCompositeListSize(p: Pointer): ObjectSize;
4297
+ declare function getTargetListElementSize(p: Pointer): ListElementSize;
4298
+ declare function getTargetListLength(p: Pointer): number;
4299
+ declare function getTargetPointerType(p: Pointer): PointerType;
4300
+ declare function getTargetStructSize(p: Pointer): ObjectSize;
4301
+ declare function initPointer(contentSegment: Segment, contentOffset: number, p: Pointer): PointerAllocationResult;
4302
+ declare function isDoubleFar(p: Pointer): boolean;
4303
+ declare function isNull(p: Pointer): boolean;
4304
+ declare function relocateTo(dst: Pointer, src: Pointer): void;
4305
+ declare function setFarPointer(doubleFar: boolean, offsetWords: number, segmentId: number, p: Pointer): void;
4306
+ declare function setInterfacePointer(capId: number, p: Pointer): void;
4307
+ declare function getInterfacePointer(p: Pointer): number;
4308
+ declare function setListPointer(offsetWords: number, size: ListElementSize, length: number, p: Pointer, compositeSize?: ObjectSize): void;
4309
+ declare function setStructPointer(offsetWords: number, size: ObjectSize, p: Pointer): void;
4310
+ declare function validate(pointerType: PointerType, p: Pointer, elementSize?: ListElementSize): void;
4311
+ declare function copyFromInterface(src: Pointer, dst: Pointer): void;
4312
+ declare function copyFromList(src: Pointer, dst: Pointer): void;
4313
+ declare function copyFromStruct(src: Pointer, dst: Pointer): void;
4314
+ declare function trackPointerAllocation(message: Message, p: Pointer): void;
4315
+ declare class PointerAllocationResult {
4316
+ readonly pointer: Pointer;
4317
+ readonly offsetWords: number;
4318
+ constructor(pointer: Pointer, offsetWords: number);
4319
+ }
4320
+ export declare namespace utils {
4321
+ export { PointerAllocationResult, add, adopt, checkDataBounds, checkPointerBounds, copyFrom, copyFromInterface, copyFromList, copyFromStruct, disown, dump$1, erase, erasePointer, followFar, followFars, getAs, getBit, getCapabilityId, getContent, getData, getDataSection, getFarSegmentId, getFloat32, getFloat64, getInt16, getInt32, getInt64, getInt8, getInterfaceClientOrNull, getInterfaceClientOrNullAt, getInterfacePointer, getList, getListByteLength, getListElementByteLength, getListElementSize, getListLength, getOffsetWords, getPointer, getPointerAs, getPointerSection, getPointerType, getSize, getStruct, getStructDataWords, getStructPointerLength, getStructSize, getTargetCompositeListSize, getTargetCompositeListTag, getTargetListElementSize, getTargetListLength, getTargetPointerType, getTargetStructSize, getText, getUint16, getUint32, getUint64, getUint8, initData, initList, initPointer, initStruct, initStructAt, isDoubleFar, isNull, relocateTo, resize, setBit, setFarPointer, setFloat32, setFloat64, setInt16, setInt32, setInt64, setInt8, setInterfacePointer, setListPointer, setStructPointer, setText, setUint16, setUint32, setUint64, setUint8, testWhich, trackPointerAllocation, validate };
4322
+ }
4323
+ export declare const AnyPointerList: ListCtor<Pointer>;
4324
+ export declare class BoolList extends List<boolean> {
4325
+ static readonly _capnp: _ListCtor;
4326
+ get(index: number): boolean;
4327
+ set(index: number, value: boolean): void;
4328
+ [Symbol.toStringTag](): string;
4329
+ }
4330
+ export declare function CompositeList<T extends Struct>(CompositeClass: StructCtor<T>): ListCtor<T>;
4331
+ export declare const DataList: ListCtor<Data>;
4332
+ export declare class Float32List extends List<number> {
4333
+ static readonly _capnp: _ListCtor;
4334
+ get(index: number): number;
4335
+ set(index: number, value: number): void;
4336
+ [Symbol.toStringTag](): string;
4337
+ }
4338
+ export declare class Float64List extends List<number> {
4339
+ static readonly _capnp: _ListCtor;
4340
+ get(index: number): number;
4341
+ set(index: number, value: number): void;
4342
+ [Symbol.toStringTag](): string;
4343
+ }
4344
+ export declare class Int8List extends List<number> {
4345
+ static readonly _capnp: _ListCtor;
4346
+ get(index: number): number;
4347
+ set(index: number, value: number): void;
4348
+ [Symbol.toStringTag](): string;
4349
+ }
4350
+ export declare class Int16List extends List<number> {
4351
+ static readonly _capnp: _ListCtor;
4352
+ get(index: number): number;
4353
+ set(index: number, value: number): void;
4354
+ [Symbol.toStringTag](): string;
4355
+ }
4356
+ export declare class Int32List extends List<number> {
4357
+ static readonly _capnp: _ListCtor;
4358
+ get(index: number): number;
4359
+ set(index: number, value: number): void;
4360
+ [Symbol.toStringTag](): string;
4361
+ }
4362
+ export declare class Int64List extends List<bigint> {
4363
+ static readonly _capnp: _ListCtor;
4364
+ get(index: number): bigint;
4365
+ set(index: number, value: bigint): void;
4366
+ [Symbol.toStringTag](): string;
4367
+ }
4368
+ export declare const InterfaceList: ListCtor<Interface>;
4369
+ export declare function PointerList<T extends Pointer>(PointerClass: PointerCtor<T>): ListCtor<T>;
4370
+ export declare class TextList extends List<string> {
4371
+ static readonly _capnp: _ListCtor;
4372
+ get(index: number): string;
4373
+ set(index: number, value: string): void;
4374
+ [Symbol.toStringTag](): string;
4375
+ }
4376
+ export declare class Uint8List extends List<number> {
4377
+ static readonly _capnp: _ListCtor;
4378
+ get(index: number): number;
4379
+ set(index: number, value: number): void;
4380
+ [Symbol.toStringTag](): string;
4381
+ }
4382
+ export declare class Uint16List extends List<number> {
4383
+ static readonly _capnp: _ListCtor;
4384
+ get(index: number): number;
4385
+ set(index: number, value: number): void;
4386
+ [Symbol.toStringTag](): string;
4387
+ }
4388
+ export declare class Uint32List extends List<number> {
4389
+ static readonly _capnp: _ListCtor;
4390
+ get(index: number): number;
4391
+ set(index: number, value: number): void;
4392
+ [Symbol.toStringTag](): string;
4393
+ }
4394
+ export declare class Uint64List extends List<bigint> {
4395
+ static readonly _capnp: _ListCtor;
4396
+ get(index: number): bigint;
4397
+ set(index: number, value: bigint): void;
4398
+ [Symbol.toStringTag](): string;
4399
+ }
4400
+ export declare const VoidList: ListCtor<Void>;
4401
+ export declare const getFloat32Mask: (x: number) => DataView;
4402
+ export declare const getFloat64Mask: (x: number) => DataView;
4403
+ export declare const getInt16Mask: (x: number) => DataView;
4404
+ export declare const getInt32Mask: (x: number) => DataView;
4405
+ export declare const getInt64Mask: (x: bigint) => DataView;
4406
+ export declare const getInt8Mask: (x: number) => DataView;
4407
+ export declare const getUint16Mask: (x: number) => DataView;
4408
+ export declare const getUint32Mask: (x: number) => DataView;
4409
+ export declare const getUint64Mask: (x: bigint) => DataView;
4410
+ export declare const getUint8Mask: (x: number) => DataView;
4411
+ export declare function getBitMask(value: boolean, bitOffset: number): DataView;
4412
+ export declare class MessageChannelTransport extends DeferredTransport {
4413
+ port: MessagePort$1;
4414
+ constructor(port: MessagePort$1);
4415
+ close: () => void;
4416
+ sendMessage(msg: Message$1): void;
4417
+ }
4418
+ /**
4419
+ * A class that manages Cap'n Proto RPC connections.
4420
+ */
4421
+ export declare class CapnpRPC {
4422
+ /**
4423
+ * A queue for deferred connections that are waiting to be accepted.
4424
+ *
4425
+ * @remarks
4426
+ * This is used to manage incoming connections when the accept method is called.
4427
+ */
4428
+ protected acceptQueue: Deferred<Conn>[];
4429
+ /**
4430
+ * A map of connections by their ID.
4431
+ *
4432
+ * @remarks
4433
+ * This is used to manage multiple connections and allows for easy retrieval by ID.
4434
+ */
4435
+ protected connections: Record<number, Conn>;
4436
+ /**
4437
+ * A queue for connections that are waiting to be accepted.
4438
+ *
4439
+ * @remarks
4440
+ * This is used to manage incoming connections when the accept method is called.
4441
+ */
4442
+ protected connectQueue: MessagePort$1[];
4443
+ /**
4444
+ * Creates a new {@link Conn} instance.
4445
+ *
4446
+ * @remarks
4447
+ * This class is used to manage connections and accept incoming connections using the {@link MessageChannel} API.
4448
+ */
4449
+ connect(id?: number): Conn;
4450
+ /**
4451
+ * Accepts a connection from the connect queue.
4452
+ *
4453
+ * @returns A promise that resolves to a Conn instance when a connection is accepted.
4454
+ * @throws If no connections are available in the connect queue.
4455
+ */
4456
+ accept(): Promise<Conn>;
4457
+ /**
4458
+ * Closes all connections and clears the queues.
4459
+ *
4460
+ * @remarks
4461
+ * This method will reject all pending accept promises and close all
4462
+ * connections in the connect queue.
4463
+ */
4464
+ close(): void;
4465
+ }
4306
4466
 
4307
4467
  export {};