API Reference / @gtkx/runtime / Descriptor
Type Alias: Descriptor
Descriptor =
Exclude<NativeDescriptor, {kind:"bytes"|"object"|"boxed"|"struct"|"fundamental"|"array"|"hashtable"|"callback"|"bigint64"|"biguint64"|"reference"|"ref"; }> | {kind:"int64"; } | {kind:"uint64"; } | {kind:"bigint64"; } | {kind:"biguint64"; } |Omit<{hasOwnedStorage:boolean;kind:"bytes";length?:number;ownership:Ownership; },"hasOwnedStorage"> &Partial<Pick<{hasOwnedStorage:boolean;kind:"bytes";length?:number;ownership:Ownership; },"hasOwnedStorage">> |Omit<Omit<{hasOwnedStorage:boolean;kind:"bytes";length?:number;ownership:Ownership; },"hasOwnedStorage"> &Partial<Pick<{hasOwnedStorage:boolean;kind:"bytes";length?:number;ownership:Ownership; },"hasOwnedStorage">>,"kind"> &object|Omit<Omit<{isCallScoped:boolean;kind:"object";ownership:Ownership;typeResolver?: () =>bigint; },"isCallScoped"> &Partial<Pick<{isCallScoped:boolean;kind:"object";ownership:Ownership;typeResolver?: () =>bigint; },"isCallScoped">>,"typeResolver"> &object| {abiFields?:Descriptor[];freeFnName?:string;getTypeFnName?:string;isCallerAllocated?:boolean;isInline?:boolean;isRefCounted?:boolean;isValueSafe?:boolean;kind:"boxed";ownership:Ownership;sharedLibrary?:string;size?:number;typeName:string; } | {abiFields?:Descriptor[];copyFnName?:string;copyStrategy?:string;freeFnName?:string;isCallerAllocated?:boolean;isInline?:boolean;isValueSafe?:boolean;kind:"struct";ownership:Ownership;sharedLibrary?:string;size?:number; } |Omit<Omit<{isCallerAllocated:boolean;isInline:boolean;isValueSafe:boolean;kind:"fundamental";ownership:Ownership;refResolver?: () =>ExternalObject<Handle>;unrefLabel:string;unrefResolver?: () =>ExternalObject<Handle>; },"isCallerAllocated"|"isInline"|"isValueSafe"> &Partial<Pick<{isCallerAllocated:boolean;isInline:boolean;isValueSafe:boolean;kind:"fundamental";ownership:Ownership;refResolver?: () =>ExternalObject<Handle>;unrefLabel:string;unrefResolver?: () =>ExternalObject<Handle>; },"isCallerAllocated"|"isInline"|"isValueSafe">>,"refResolver"|"unrefResolver"|"unrefLabel"> &object| {innerDescriptor:Descriptor;kind:"indirect";ownership:Ownership; } | {innerDescriptor:Descriptor;kind:"pointerValue"; } | {kind:"boolean"; } | {kind:"unichar"; } | {getTypeFnName:string;isSigned:boolean;kind:"enum";members?:number[];sharedLibrary:string; } | {getTypeFnName:string;isSigned:boolean;kind:"flags";mask?:number;sharedLibrary:string; } | {arrayKind:ArrayKind;baseParamIndex?:number;elementOwnership?:ElementOwnership;elementSize?:number;fixedSize?:number;isBytes?:boolean;isCallerAllocated?:boolean;isZeroTerminated?:boolean;itemDescriptor:Descriptor;kind:"array";ownership:Ownership;preserveNull?:boolean;sizeParamIndex?:number; } |Omit<Extract<NativeDescriptor, {kind:"hashtable"; }>,"keyDescriptor"|"valueDescriptor"> &object|Omit<{destroyKind:DestroyNotifyKind;hasDestroy:boolean;hasUserData:boolean;kind:"callback";releaseWithCompletion:boolean;scope:CallbackScope;signature:ExternalObject<FunctionSignature>; },"signature"|"releaseWithCompletion"|"scope"|"hasDestroy"|"destroyKind"|"hasUserData"> &Partial<Pick<{destroyKind:DestroyNotifyKind;hasDestroy:boolean;hasUserData:boolean;kind:"callback";releaseWithCompletion:boolean;scope:CallbackScope;signature:ExternalObject<FunctionSignature>; },"scope"|"hasDestroy"|"destroyKind"|"hasUserData">> &object| {innerDescriptor:Descriptor;inout?:boolean;kind:"ref"; }
Defined in: packages/runtime/src/descriptor-types.ts:68