UNPKG

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
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;