zklib-ts
Version:
Unofficial zkteco library allows Node.js developers to easily interface with ZK BioMetric Fingerprint Attendance Devices
50 lines (49 loc) • 1.69 kB
TypeScript
import { RecordData16, UserData28 } from './helper/utils';
import * as dgram from "node:dgram";
interface DeviceInfo {
userCounts: number;
logCounts: number;
logCapacity: number;
}
interface ChunkedDataResponse {
data: Buffer | null;
err: Error | null;
}
export declare class ZUDP {
private ip;
private port;
private timeout;
socket: dgram.Socket | null;
private sessionId;
private replyId;
private inport;
private comm_key;
constructor(ip: string, port: number, timeout: number, inport: number, comm_key?: number);
createSocket(cbError?: (err: Error) => void, cbClose?: (type: string) => void): Promise<dgram.Socket>;
connect(): Promise<boolean>;
closeSocket(): Promise<unknown>;
private writeMessage;
private requestData;
executeCmd(command: number, data: string | Buffer): Promise<Buffer>;
private sendChunkRequest;
readWithBuffer(reqData: Buffer, cb?: ((progress: number, total: number) => void) | null): Promise<ChunkedDataResponse>;
private handleChunkedData;
getUsers(): Promise<{
data: UserData28[];
}>;
getAttendances(callbackInProcess?: (progress: number, total: number) => void): Promise<{
data: RecordData16[];
err: Error;
}>;
freeData(): Promise<boolean>;
getInfo(): Promise<DeviceInfo>;
getTime(): Promise<Date>;
setTime(tm: Date | string): Promise<boolean>;
clearAttendanceLog(): Promise<Buffer>;
clearData(): Promise<Buffer>;
disableDevice(): Promise<boolean>;
enableDevice(): Promise<boolean>;
disconnect(): Promise<void>;
getRealTimeLogs(cb?: (log: any) => void): Promise<void>;
}
export default ZUDP;