Skip to content

Commit 370286e

Browse files
committed
update ts types
1 parent a51dd3f commit 370286e

10 files changed

Lines changed: 30 additions & 258 deletions

File tree

README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,12 @@ Calling directly from a library
4848
import { load, types } from "@xan105/ffi/[ napi | koffi ]";
4949

5050
const call = load("user32.dll", { abi: "stdcall" });
51-
const MessageBoxA = call("MessageBoxA", "int", ["void *", types.win32.LPCSTR, types.win32.LPCSTR, "uint"]);
51+
const MessageBoxA = call("MessageBoxA", "int", [
52+
"void *",
53+
types.win32.LPCSTR,
54+
types.win32.LPCSTR,
55+
"uint"
56+
]);
5257

5358
const MB_ICONINFORMATION = 0x40;
5459
MessageBoxA(null, "Hello World!", "Message", MB_ICONINFORMATION);

types/ffi-napi/helper.d.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
export class Callback {
22
constructor(definition: object, callback?: (unknown) => unknown | null);
3-
get type(): string;
3+
register(callback?: (unknown) => unknown): void;
4+
get type(): ref.Type<ref.Pointer<void>>;
45
get pointer(): ref.Pointer<() => any>;
6+
get address(): number | null;
57
close(): void;
6-
register(callback?: (unknown) => unknown): void;
78
#private;
89
}
910
export function pointer(value: unknown): ref.Type<ref.Pointer<any>>;
10-
1111
export function alloc(type: unknown): {
1212
pointer: Buffer;
1313
get: () => unknown;
1414
};
15-
import ref from "ref-napi";
15+
import ref from "ref-napi";

types/ffi-napi/index.d.ts

Lines changed: 1 addition & 216 deletions
Original file line numberDiff line numberDiff line change
@@ -1,218 +1,3 @@
11
export * from "./open.js";
22
export * from "./helper.js";
3-
export const types: {
4-
i8: ref.Type<number>;
5-
u8: ref.Type<number>;
6-
i16: ref.Type<number>;
7-
u16: ref.Type<number>;
8-
i32: ref.Type<number>;
9-
u32: ref.Type<number>;
10-
i64: ref.Type<string | number>;
11-
u64: ref.Type<string | number>;
12-
usize: ref.Type<string | number>;
13-
f32: ref.Type<number>;
14-
f64: ref.Type<number>;
15-
VOID: ref.Type<void>;
16-
ENUM: ref.Type<number>;
17-
DWORD: ref.Type<string | number>;
18-
WORD: ref.Type<number>;
19-
SHORT: ref.Type<number>;
20-
BYTE: ref.Type<number>;
21-
WCHAR: ref.Type<number>;
22-
ACCESS_MASK: ref.Type<number>;
23-
ATOM: ref.Type<number>;
24-
PVOID: ref.Type<ref.Pointer<string | number>>;
25-
HANDLE: ref.Type<string | number>;
26-
HANDLE_PVOID: ref.Type<ref.Pointer<string | number>>;
27-
LONG_PTR: ref.Type<ref.Pointer<string | number>>;
28-
ULONG_PTR: ref.Type<ref.Pointer<string | number>>;
29-
BOOL: ref.Type<number>;
30-
BOOLEAN: ref.Type<boolean>;
31-
CALLBACK: any;
32-
CCHAR: ref.Type<number>;
33-
CHAR: ref.Type<number>;
34-
COLORREF: ref.Type<string | number>;
35-
DWORDLONG: ref.Type<string | number>;
36-
DWORD_PTR: ref.Type<ref.Pointer<string | number>>;
37-
DWORD32: ref.Type<number>;
38-
DWORD64: ref.Type<string | number>;
39-
FLOAT: ref.Type<number>;
40-
HACCEL: ref.Type<string | number>;
41-
HALF_PTR: ref.Type<number>;
42-
HBITMAP: ref.Type<string | number>;
43-
HBRUSH: ref.Type<string | number>;
44-
HCOLORSPACE: ref.Type<string | number>;
45-
HCONV: ref.Type<string | number>;
46-
HCONVLIST: ref.Type<string | number>;
47-
HCURSOR: ref.Type<string | number>;
48-
HDC: ref.Type<string | number>;
49-
HDDEDATA: ref.Type<string | number>;
50-
HDESK: ref.Type<string | number>;
51-
HDROP: ref.Type<string | number>;
52-
HDWP: ref.Type<string | number>;
53-
HENHMETAFILE: ref.Type<string | number>;
54-
HFILE: ref.Type<string | number>;
55-
HFONT: ref.Type<string | number>;
56-
HGDIOBJ: ref.Type<string | number>;
57-
HGLOBAL: ref.Type<string | number>;
58-
HHOOK: ref.Type<string | number>;
59-
HICON: ref.Type<string | number>;
60-
HINSTANCE: ref.Type<string | number>;
61-
HKEY: ref.Type<string | number>;
62-
HKL: ref.Type<string | number>;
63-
HLOCAL: ref.Type<string | number>;
64-
HMENU: ref.Type<string | number>;
65-
HMETAFILE: ref.Type<string | number>;
66-
HMODULE: ref.Type<string | number>;
67-
HMONITOR: ref.Type<string | number>;
68-
HPALETTE: ref.Type<string | number>;
69-
HPEN: ref.Type<string | number>;
70-
HRESULT: ref.Type<string | number>;
71-
HRGN: ref.Type<string | number>;
72-
HRSRC: ref.Type<string | number>;
73-
HSZ: ref.Type<string | number>;
74-
HWINEVENTHOOK: ref.Type<string | number>;
75-
HWINSTA: ref.Type<string | number>;
76-
HWND: ref.Type<string | number>;
77-
INT: ref.Type<number>;
78-
INT_PTR: ref.Type<string | number>;
79-
INT8: ref.Type<number>;
80-
INT16: ref.Type<number>;
81-
INT32: ref.Type<number>;
82-
INT64: ref.Type<string | number>;
83-
LANGID: ref.Type<number>;
84-
LCID: ref.Type<string | number>;
85-
LCTYPE: ref.Type<string | number>;
86-
LGRPID: ref.Type<string | number>;
87-
LONG: ref.Type<string | number>;
88-
LONGLONG: ref.Type<string | number>;
89-
LONG32: ref.Type<number>;
90-
LONG64: ref.Type<string | number>;
91-
LPARAM: ref.Type<ref.Pointer<string | number>>;
92-
LPBOOL: ref.Type<number>;
93-
LPBYTE: ref.Type<ref.Pointer<number>>;
94-
LPCOLORREF: ref.Type<string | number>;
95-
LPCSTR: ref.Type<string | null>;
96-
LPCTSTR: ref.Type<string | null>;
97-
LPCWSTR: ref.Type<string | null>;
98-
LPVOID: ref.Type<ref.Pointer<void>>;
99-
LPCVOID: ref.Type<ref.Pointer<void>>;
100-
LPDWORD: ref.Type<ref.Pointer<number>>;
101-
LPHANDLE: ref.Type<ref.Pointer<string | number>>;
102-
LPINT: ref.Type<ref.Pointer<number>>;
103-
LPLONG: ref.Type<ref.Pointer<number>>;
104-
LPMSG: any;
105-
LPPOINT: any;
106-
LPSTR: ref.Type<ref.Pointer<number>>;
107-
LPWSTR: ref.Type<ref.Pointer<number>>;
108-
LPTSTR: ref.Type<ref.Pointer<number>>;
109-
LPWORD: ref.Type<ref.Pointer<number>>;
110-
LRESULT: ref.Type<ref.Pointer<string | number>>;
111-
NTSTATUS: ref.Type<number>;
112-
PBOOL: ref.Type<ref.Pointer<number>>;
113-
PBOOLEAN: ref.Type<ref.Pointer<boolean>>;
114-
PBYTE: ref.Type<ref.Pointer<number>>;
115-
PCHAR: ref.Type<ref.Pointer<number>>;
116-
PCSTR: ref.Type<ref.Pointer<number>>;
117-
PCTSTR: ref.Type<ref.Pointer<number>>;
118-
PCWSTR: ref.Type<ref.Pointer<number>>;
119-
PDWORD: ref.Type<ref.Pointer<number>>;
120-
PDWORDLONG: ref.Type<ref.Pointer<string | number>>;
121-
PDWORD_PTR: ref.Type<ref.Pointer<string | number>>;
122-
PDWORD32: ref.Type<ref.Pointer<number>>;
123-
PDWORD64: ref.Type<ref.Pointer<string | number>>;
124-
PFLOAT: ref.Type<ref.Pointer<number>>;
125-
PHALF_PTR: any;
126-
PHANDLE: ref.Type<ref.Pointer<ref.Pointer<string | number>>>;
127-
PHKEY: ref.Type<ref.Pointer<ref.Pointer<string | number>>>;
128-
PINT: ref.Type<ref.Pointer<number>>;
129-
PINT_PTR: ref.Type<ref.Pointer<ref.Pointer<number>>>;
130-
PINT8: ref.Type<ref.Pointer<number>>;
131-
PINT16: ref.Type<ref.Pointer<number>>;
132-
PINT32: ref.Type<ref.Pointer<number>>;
133-
PINT64: ref.Type<ref.Pointer<string | number>>;
134-
PLCID: ref.Type<ref.Pointer<number>>;
135-
PLONG: ref.Type<ref.Pointer<string | number>>;
136-
PLONGLONG: ref.Type<ref.Pointer<string | number>>;
137-
PLONG_PTR: any;
138-
PLONG32: ref.Type<ref.Pointer<number>>;
139-
PLONG64: ref.Type<ref.Pointer<string | number>>;
140-
POINTER_32: ref.Type<ref.Pointer<number>>;
141-
POINTER_64: ref.Type<ref.Pointer<string | number>>;
142-
POINTER_SIGNED: any;
143-
POINTER_UNSIGNED: any;
144-
PSHORT: ref.Type<ref.Pointer<number>>;
145-
PSIZE_T: ref.Type<ref.Pointer<string | number>>;
146-
PSSIZE_T: any;
147-
PSTR: ref.Type<ref.Pointer<number>>;
148-
PTBYTE: ref.Type<ref.Pointer<number>>;
149-
PTCHAR: ref.Type<ref.Pointer<number>>;
150-
PTSTR: ref.Type<ref.Pointer<number>>;
151-
PUCHAR: any;
152-
PUHALF_PTR: any;
153-
PUINT: ref.Type<ref.Pointer<number>>;
154-
PUINT_PTR: ref.Type<ref.Pointer<ref.Pointer<number>>>;
155-
PUINT8: ref.Type<ref.Pointer<number>>;
156-
PUINT16: ref.Type<ref.Pointer<number>>;
157-
PUINT32: ref.Type<ref.Pointer<number>>;
158-
PUINT64: ref.Type<ref.Pointer<string | number>>;
159-
PULONG: ref.Type<ref.Pointer<number>>;
160-
PULONGLONG: ref.Type<ref.Pointer<string | number>>;
161-
PULONG_PTR: ref.Type<ref.Pointer<ref.Pointer<string | number>>>;
162-
PULONG32: ref.Type<ref.Pointer<number>>;
163-
PULONG64: ref.Type<ref.Pointer<string | number>>;
164-
PUSHORT: ref.Type<ref.Pointer<number>>;
165-
PWCHAR: ref.Type<ref.Pointer<number>>;
166-
PWORD: ref.Type<ref.Pointer<number>>;
167-
PWSTR: ref.Type<ref.Pointer<number>>;
168-
QWORD: ref.Type<ref.Pointer<string | number>>;
169-
SC_HANDLE: ref.Type<string | number>;
170-
SC_LOCK: ref.Type<ref.Pointer<void>>;
171-
SERVICE_STATUS_HANDLE: ref.Type<string | number>;
172-
SIZE_T: ref.Type<ref.Pointer<string | number>>;
173-
SSIZE_T: ref.Type<ref.Pointer<string | number>>;
174-
TBYTE: ref.Type<number>;
175-
TCHAR: ref.Type<number>;
176-
UCHAR: ref.Type<number>;
177-
UHALF_PTR: ref.Type<number>;
178-
UINT: ref.Type<number>;
179-
UINT_PTR: ref.Type<string | number>;
180-
UINT8: ref.Type<number>;
181-
UINT16: ref.Type<number>;
182-
UINT32: ref.Type<number>;
183-
UINT64: ref.Type<string | number>;
184-
ULONG: ref.Type<string | number>;
185-
ULONGLONG: ref.Type<string | number>;
186-
ULONG32: ref.Type<number>;
187-
ULONG64: ref.Type<string | number>;
188-
USHORT: ref.Type<number>;
189-
USN: ref.Type<string | number>;
190-
WPARAM: ref.Type<string | number>;
191-
long: ref.Type<string | number>;
192-
short: ref.Type<number>;
193-
float: ref.Type<number>;
194-
void: ref.Type<void>;
195-
int64: ref.Type<string | number>;
196-
ushort: ref.Type<number>;
197-
int: ref.Type<number>;
198-
uint64: ref.Type<string | number>;
199-
uint: ref.Type<number>;
200-
double: ref.Type<number>;
201-
int8: ref.Type<number>;
202-
ulong: ref.Type<string | number>;
203-
Object: ref.Type<unknown>;
204-
uint8: ref.Type<number>;
205-
longlong: ref.Type<string | number>;
206-
CString: ref.Type<string | null>;
207-
int16: ref.Type<number>;
208-
ulonglong: ref.Type<string | number>;
209-
bool: ref.Type<boolean>;
210-
uint16: ref.Type<number>;
211-
char: ref.Type<number>;
212-
byte: ref.Type<number>;
213-
int32: ref.Type<number>;
214-
uchar: ref.Type<number>;
215-
size_t: ref.Type<string | number>;
216-
uint32: ref.Type<number>;
217-
};
218-
import ref from "ref-napi";
3+
export const types: object;

types/ffi-napi/types/deno.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export const types: object;

types/ffi-napi/types/rust.d.ts

Lines changed: 0 additions & 12 deletions
This file was deleted.

types/ffi-napi/types/windows.d.ts

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export const LONG_PTR: ref.Type<ref.Pointer<string | number>>;
1414
export const ULONG_PTR: ref.Type<ref.Pointer<string | number>>;
1515
export const BOOL: ref.Type<number>;
1616
export const BOOLEAN: ref.Type<boolean>;
17-
export const CALLBACK: any;
17+
export const CALLBACK: ref.Type<ref.Pointer<void>>;
1818
export const CCHAR: ref.Type<number>;
1919
export const CHAR: ref.Type<number>;
2020
export const COLORREF: ref.Type<string | number>;
@@ -54,6 +54,7 @@ export const HMONITOR: ref.Type<string | number>;
5454
export const HPALETTE: ref.Type<string | number>;
5555
export const HPEN: ref.Type<string | number>;
5656
export const HRESULT: ref.Type<string | number>;
57+
export const NTSTATUS: ref.Type<string | number>;
5758
export const HRGN: ref.Type<string | number>;
5859
export const HRSRC: ref.Type<string | number>;
5960
export const HSZ: ref.Type<string | number>;
@@ -87,14 +88,13 @@ export const LPDWORD: ref.Type<ref.Pointer<number>>;
8788
export const LPHANDLE: ref.Type<ref.Pointer<string | number>>;
8889
export const LPINT: ref.Type<ref.Pointer<number>>;
8990
export const LPLONG: ref.Type<ref.Pointer<number>>;
90-
export const LPMSG: any;
91-
export const LPPOINT: any;
91+
export const LPMSG: ref.Type<ref.Pointer<void>>;
92+
export const LPPOINT: ref.Type<ref.Pointer<void>>;
9293
export const LPSTR: ref.Type<ref.Pointer<number>>;
9394
export const LPWSTR: ref.Type<ref.Pointer<number>>;
9495
export const LPTSTR: ref.Type<ref.Pointer<number>>;
9596
export const LPWORD: ref.Type<ref.Pointer<number>>;
9697
export const LRESULT: ref.Type<ref.Pointer<string | number>>;
97-
export const NTSTATUS: ref.Type<number>;
9898
export const PBOOL: ref.Type<ref.Pointer<number>>;
9999
export const PBOOLEAN: ref.Type<ref.Pointer<boolean>>;
100100
export const PBYTE: ref.Type<ref.Pointer<number>>;
@@ -108,7 +108,7 @@ export const PDWORD_PTR: ref.Type<ref.Pointer<string | number>>;
108108
export const PDWORD32: ref.Type<ref.Pointer<number>>;
109109
export const PDWORD64: ref.Type<ref.Pointer<string | number>>;
110110
export const PFLOAT: ref.Type<ref.Pointer<number>>;
111-
export const PHALF_PTR: any;
111+
export const PHALF_PTR: ref.Type<ref.Pointer<void>>;
112112
export const PHANDLE: ref.Type<ref.Pointer<ref.Pointer<string | number>>>;
113113
export const PHKEY: ref.Type<ref.Pointer<ref.Pointer<string | number>>>;
114114
export const PINT: ref.Type<ref.Pointer<number>>;
@@ -120,22 +120,22 @@ export const PINT64: ref.Type<ref.Pointer<string | number>>;
120120
export const PLCID: ref.Type<ref.Pointer<number>>;
121121
export const PLONG: ref.Type<ref.Pointer<string | number>>;
122122
export const PLONGLONG: ref.Type<ref.Pointer<string | number>>;
123-
export const PLONG_PTR: any;
123+
export const PLONG_PTR: ref.Type<ref.Pointer<void>>;
124124
export const PLONG32: ref.Type<ref.Pointer<number>>;
125125
export const PLONG64: ref.Type<ref.Pointer<string | number>>;
126126
export const POINTER_32: ref.Type<ref.Pointer<number>>;
127127
export const POINTER_64: ref.Type<ref.Pointer<string | number>>;
128-
export const POINTER_SIGNED: any;
129-
export const POINTER_UNSIGNED: any;
128+
export const POINTER_SIGNED: ref.Type<ref.Pointer<void>>;
129+
export const POINTER_UNSIGNED: ref.Type<ref.Pointer<void>>;
130130
export const PSHORT: ref.Type<ref.Pointer<number>>;
131131
export const PSIZE_T: ref.Type<ref.Pointer<string | number>>;
132-
export const PSSIZE_T: any;
132+
export const PSSIZE_T: ref.Type<ref.Pointer<void>>;
133133
export const PSTR: ref.Type<ref.Pointer<number>>;
134134
export const PTBYTE: ref.Type<ref.Pointer<number>>;
135135
export const PTCHAR: ref.Type<ref.Pointer<number>>;
136136
export const PTSTR: ref.Type<ref.Pointer<number>>;
137-
export const PUCHAR: any;
138-
export const PUHALF_PTR: any;
137+
export const PUCHAR: ref.Type<ref.Pointer<void>>;
138+
export const PUHALF_PTR: ref.Type<ref.Pointer<void>>;
139139
export const PUINT: ref.Type<ref.Pointer<number>>;
140140
export const PUINT_PTR: ref.Type<ref.Pointer<ref.Pointer<number>>>;
141141
export const PUINT8: ref.Type<ref.Pointer<number>>;

types/koffi/helper.d.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1+
/// <reference types="node" resolution-mode="require"/>
12
export class Callback {
23
constructor(definition: object, callback?: (unknown) => unknown | null);
4+
register(callback?: (unknown) => unknown): void;
35
get type(): koffi.IKoffiCType;
46
get pointer(): koffi.IKoffiRegisteredCallback;
7+
get address(): bigint | null;
58
close(): void;
6-
register(callback?: (unknown) => unknown): void;
79
#private;
810
}
911
export function pointer(value: unknown, direction?: string): koffi.IKoffiCType;
@@ -12,3 +14,4 @@ export function alloc(type: unknown): {
1214
get: () => unknown;
1315
};
1416
import koffi from "koffi";
17+
import { Buffer } from "buffer";

types/koffi/types/deno.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
export const types: object;

types/koffi/types/rust.d.ts

Lines changed: 0 additions & 12 deletions
This file was deleted.

types/koffi/types/windows.d.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ export const LONG_PTR: koffi.IKoffiCType;
1212
export const ULONG_PTR: koffi.IKoffiCType;
1313
export const BOOL: any;
1414
export const BOOLEAN: any;
15+
export const CALLBACK: koffi.IKoffiCType;
1516
export const CCHAR: any;
1617
export const CHAR: any;
1718
export const COLORREF: any;
@@ -22,6 +23,7 @@ export const DWORD64: any;
2223
export const FLOAT: any;
2324
export const HALF_PTR: any;
2425
export const HRESULT: any;
26+
export const NTSTATUS: any;
2527
export const INT: any;
2628
export const INT_PTR: any;
2729
export const INT8: any;
@@ -54,7 +56,6 @@ export const LPWSTR: koffi.IKoffiCType;
5456
export const LPTSTR: koffi.IKoffiCType;
5557
export const LPWORD: koffi.IKoffiCType;
5658
export const LRESULT: koffi.IKoffiCType;
57-
export const NTSTATUS: any;
5859
export const PBOOL: koffi.IKoffiCType;
5960
export const PBOOLEAN: koffi.IKoffiCType;
6061
export const PBYTE: koffi.IKoffiCType;

0 commit comments

Comments
 (0)