Comparing version 20.4.1 to 20.5.0
@@ -12,3 +12,3 @@ /** | ||
DISPLAYCONFIG_ROTATION[DISPLAYCONFIG_ROTATION["DISPLAYCONFIG_ROTATION_FORCE_UINT32"] = 4294967295] = "DISPLAYCONFIG_ROTATION_FORCE_UINT32"; | ||
})(DISPLAYCONFIG_ROTATION = DISPLAYCONFIG_ROTATION || (DISPLAYCONFIG_ROTATION = {})); | ||
})(DISPLAYCONFIG_ROTATION || (DISPLAYCONFIG_ROTATION = {})); | ||
/** | ||
@@ -28,3 +28,3 @@ * Specifies the scaling transformation applied to content displayed | ||
DISPLAYCONFIG_SCALING[DISPLAYCONFIG_SCALING["DISPLAYCONFIG_SCALING_FORCE_UINT32"] = 4294967295] = "DISPLAYCONFIG_SCALING_FORCE_UINT32"; | ||
})(DISPLAYCONFIG_SCALING = DISPLAYCONFIG_SCALING || (DISPLAYCONFIG_SCALING = {})); | ||
})(DISPLAYCONFIG_SCALING || (DISPLAYCONFIG_SCALING = {})); | ||
/** | ||
@@ -42,3 +42,3 @@ * Specifies the method that the display uses to create an image on a screen. | ||
DISPLAYCONFIG_SCANLINE_ORDERING[DISPLAYCONFIG_SCANLINE_ORDERING["DISPLAYCONFIG_SCANLINE_ORDERING_FORCE_UINT32"] = 4294967295] = "DISPLAYCONFIG_SCANLINE_ORDERING_FORCE_UINT32"; | ||
})(DISPLAYCONFIG_SCANLINE_ORDERING = DISPLAYCONFIG_SCANLINE_ORDERING || (DISPLAYCONFIG_SCANLINE_ORDERING = {})); | ||
})(DISPLAYCONFIG_SCANLINE_ORDERING || (DISPLAYCONFIG_SCANLINE_ORDERING = {})); | ||
//# sourceMappingURL=wingdi.enum.js.map |
@@ -25,3 +25,3 @@ export var PrinterEnumFlags; | ||
PrinterEnumFlags[PrinterEnumFlags["PRINTER_ENUM_CATEGORY_3D"] = 67108864] = "PRINTER_ENUM_CATEGORY_3D"; | ||
})(PrinterEnumFlags = PrinterEnumFlags || (PrinterEnumFlags = {})); | ||
})(PrinterEnumFlags || (PrinterEnumFlags = {})); | ||
//# sourceMappingURL=winspool.enum.js.map |
@@ -52,3 +52,3 @@ /* eslint-disable id-length */ | ||
Def["voidPtrPtr"] = "void**"; | ||
})(Def = Def || (Def = {})); | ||
})(Def || (Def = {})); | ||
//# sourceMappingURL=def.enum.js.map |
@@ -30,10 +30,8 @@ /* eslint-disable import/no-extraneous-dependencies */ | ||
export function StructType(input, options) { | ||
const initType = genInitTyp(input, options); | ||
// @ts-ignore | ||
return Struct(initType); | ||
return genInitTyp(input, options); | ||
} | ||
export function StructFactory(input, options) { | ||
const initType = genInitTyp(input, options); | ||
// @ts-ignore | ||
return new Struct(initType)(); | ||
return new genInitTyp(input, options)(); | ||
} | ||
@@ -52,9 +50,15 @@ function genInitTyp(input, options) { | ||
} | ||
else if (typeof value === 'object' | ||
&& value | ||
// This is the same check "ref-napi" does to determine if the type | ||
&& !('size' in value && 'indirection' in value)) { | ||
initType[key] = genInitTyp(value, options); | ||
} | ||
else { | ||
// @TODO recursive convertion | ||
initType[key] = value; | ||
} | ||
}); | ||
return initType; | ||
// @ts-ignore | ||
return Struct(initType); | ||
} | ||
//# sourceMappingURL=helper.js.map |
@@ -90,3 +90,3 @@ /* eslint-disable id-length */ | ||
Reserved1: PVOID, | ||
PebBaseAddress: PVOID, | ||
PebBaseAddress: PVOID, // PPEB | ||
Reserved2: PVOID, | ||
@@ -93,0 +93,0 @@ UniqueProcessId: ULONG_PTR, |
@@ -1,2 +0,2 @@ | ||
import { ATOM, BYTE, DWORD, HANDLE, HBRUSH, HCURSOR, HICON, HINSTANCE, HWND, INT, LONG, LPARAM, LPCTSTR, _POINTER, PVOID, PWSTR, UINT, ULONG, ULONG_PTR, USHORT, VOID, WNDPROC, WORD, WPARAM, StructInstanceBase } from '../common.types.js'; | ||
import { ATOM, BYTE, DWORD, HANDLE, HBRUSH, HCURSOR, HICON, HINSTANCE, HWND, INT, LONG, LPARAM, LPCTSTR, _POINTER, PVOID, PWSTR, UINT, ULONG, ULONG_PTR, USHORT, WNDPROC, WORD, WPARAM, StructInstanceBase } from '../common.types.js'; | ||
/** | ||
@@ -163,4 +163,4 @@ * Struct usage: | ||
cbSize: DWORD; | ||
rcWindow: VOID; | ||
rcClient: VOID; | ||
rcWindow: RECT; | ||
rcClient: RECT; | ||
dwStyle: DWORD; | ||
@@ -167,0 +167,0 @@ dwExStyle: DWORD; |
{ | ||
"name": "win32-def", | ||
"author": "waiting", | ||
"version": "20.4.1", | ||
"version": "20.5.0", | ||
"description": "win32 definitions for node-ffi", | ||
@@ -92,3 +92,3 @@ "keywords": [ | ||
}, | ||
"gitHead": "98ce5bebdb368cab74055c114d2f4c600b042de1" | ||
"gitHead": "92955fb3cb3036b7946acc5fbf96b5a12da794df" | ||
} |
@@ -40,14 +40,11 @@ /* eslint-disable import/no-extraneous-dependencies */ | ||
): StructTypeConstructor<T> { | ||
const initType = genInitTyp(input, options) | ||
// @ts-ignore | ||
return Struct(initType) | ||
return genInitTyp<T>(input, options) | ||
} | ||
export function StructFactory<T>(input: StructDefType, options?: StructCharOptions): T { | ||
const initType = genInitTyp(input, options) | ||
// @ts-ignore | ||
return new Struct(initType)() as unknown as T | ||
return new genInitTyp<T>(input, options)() | ||
} | ||
function genInitTyp(input: StructDefType, options?: StructCharOptions): StructDefType { | ||
function genInitTyp(input: StructDefType, options?: StructCharOptions): StructTypeConstructor { | ||
const opts: Required<StructCharOptions> = { | ||
@@ -65,5 +62,10 @@ ...defaultStructCharOptions, | ||
initType[key] = wcharBuffer(opts.maxCharLength) | ||
} | ||
else { | ||
// @TODO recursive convertion | ||
} else if ( | ||
typeof value === 'object' | ||
&& value | ||
// This is the same check "ref-napi" does to determine if the type | ||
&& !('size' in value && 'indirection' in value) | ||
) { | ||
initType[key] = genInitTyp(value as StructDefType, options) as StructTypeConstructor | ||
} else { | ||
initType[key] = value | ||
@@ -73,3 +75,4 @@ } | ||
return initType | ||
// @ts-ignore | ||
return Struct(initType) | ||
} | ||
@@ -76,0 +79,0 @@ |
@@ -22,3 +22,2 @@ import { | ||
USHORT, | ||
VOID, | ||
WNDPROC, | ||
@@ -219,4 +218,4 @@ WORD, | ||
cbSize: DWORD | ||
rcWindow: VOID | ||
rcClient: VOID | ||
rcWindow: RECT | ||
rcClient: RECT | ||
dwStyle: DWORD | ||
@@ -223,0 +222,0 @@ dwExStyle: DWORD |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
492722
8085