Add TypeScript declaration file
Expose list of readers via pcsclite.readers
This commit is contained in:
5
.idea/codeStyles/codeStyleConfig.xml
generated
Normal file
5
.idea/codeStyles/codeStyleConfig.xml
generated
Normal file
@@ -0,0 +1,5 @@
|
||||
<component name="ProjectCodeStyleConfiguration">
|
||||
<state>
|
||||
<option name="PREFERRED_PROJECT_CODE_STYLE" value="pokusew" />
|
||||
</state>
|
||||
</component>
|
||||
1
.idea/dictionaries/pokusew.xml
generated
1
.idea/dictionaries/pokusew.xml
generated
@@ -1,6 +1,7 @@
|
||||
<component name="ProjectDictionaryState">
|
||||
<dictionary name="pokusew">
|
||||
<words>
|
||||
<w>pcsc</w>
|
||||
<w>pcsclite</w>
|
||||
</words>
|
||||
</dictionary>
|
||||
|
||||
@@ -147,6 +147,9 @@ Emitted whenever a new card reader is detected.
|
||||
|
||||
It frees the resources associated with this PCSCLite instance. At a low level it calls [`SCardCancel`](https://pcsclite.alioth.debian.org/api/group__API.html#gaacbbc0c6d6c0cbbeb4f4debf6fbeeee6) so it stops watching for new readers.
|
||||
|
||||
#### pcsclite.readers
|
||||
|
||||
An object containing all detected readers by name. Updated as readers are attached and removed.
|
||||
|
||||
### Class: CardReader
|
||||
|
||||
|
||||
111
index.d.ts
vendored
Normal file
111
index.d.ts
vendored
Normal file
@@ -0,0 +1,111 @@
|
||||
import { EventEmitter } from "events";
|
||||
|
||||
type ConnectOptions = {
|
||||
share_mode?: number;
|
||||
protocol?: number;
|
||||
};
|
||||
|
||||
type Status = {
|
||||
atr?: Buffer;
|
||||
state: number;
|
||||
};
|
||||
|
||||
type AnyOrNothing = any | undefined | null;
|
||||
|
||||
interface PCSCLite extends EventEmitter {
|
||||
on(type: "error", listener: (error: any) => void): this;
|
||||
|
||||
once(type: "error", listener: (error: any) => void): this;
|
||||
|
||||
on(type: "reader", listener: (reader: CardReader) => void): this;
|
||||
|
||||
once(type: "reader", listener: (reader: CardReader) => void): this;
|
||||
|
||||
close(): void;
|
||||
}
|
||||
|
||||
interface CardReader extends EventEmitter {
|
||||
// Share Mode
|
||||
SCARD_SHARE_SHARED: number;
|
||||
SCARD_SHARE_EXCLUSIVE: number;
|
||||
SCARD_SHARE_DIRECT: number;
|
||||
// Protocol
|
||||
SCARD_PROTOCOL_T0: number;
|
||||
SCARD_PROTOCOL_T1: number;
|
||||
SCARD_PROTOCOL_RAW: number;
|
||||
// State
|
||||
SCARD_STATE_UNAWARE: number;
|
||||
SCARD_STATE_IGNORE: number;
|
||||
SCARD_STATE_CHANGED: number;
|
||||
SCARD_STATE_UNKNOWN: number;
|
||||
SCARD_STATE_UNAVAILABLE: number;
|
||||
SCARD_STATE_EMPTY: number;
|
||||
SCARD_STATE_PRESENT: number;
|
||||
SCARD_STATE_ATRMATCH: number;
|
||||
SCARD_STATE_EXCLUSIVE: number;
|
||||
SCARD_STATE_INUSE: number;
|
||||
SCARD_STATE_MUTE: number;
|
||||
// Disconnect disposition
|
||||
SCARD_LEAVE_CARD: number;
|
||||
SCARD_RESET_CARD: number;
|
||||
SCARD_UNPOWER_CARD: number;
|
||||
SCARD_EJECT_CARD: number;
|
||||
name: string;
|
||||
state: number;
|
||||
connected: boolean;
|
||||
|
||||
on(type: "error", listener: (this: CardReader, error: any) => void): this;
|
||||
|
||||
once(type: "error", listener: (this: CardReader, error: any) => void): this;
|
||||
|
||||
on(type: "end", listener: (this: CardReader) => void): this;
|
||||
|
||||
once(type: "end", listener: (this: CardReader) => void): this;
|
||||
|
||||
on(
|
||||
type: "status",
|
||||
listener: (this: CardReader, status: Status) => void
|
||||
): this;
|
||||
|
||||
once(
|
||||
type: "status",
|
||||
listener: (this: CardReader, status: Status) => void
|
||||
): this;
|
||||
|
||||
SCARD_CTL_CODE(code: number): number;
|
||||
|
||||
get_status(
|
||||
cb: (err: AnyOrNothing, state: number, atr?: Buffer) => void
|
||||
): void;
|
||||
|
||||
connect(callback: (err: AnyOrNothing, protocol: number) => void): void;
|
||||
|
||||
connect(
|
||||
options: ConnectOptions,
|
||||
callback: (err: AnyOrNothing, protocol: number) => void
|
||||
): void;
|
||||
|
||||
disconnect(callback: (err: AnyOrNothing) => void): void;
|
||||
|
||||
disconnect(disposition: number, callback: (err: AnyOrNothing) => void): void;
|
||||
|
||||
transmit(
|
||||
data: Buffer,
|
||||
res_len: number,
|
||||
protocol: number,
|
||||
cb: (err: AnyOrNothing, response: Buffer) => void
|
||||
): void;
|
||||
|
||||
control(
|
||||
data: Buffer,
|
||||
control_code: number,
|
||||
res_len: number,
|
||||
cb: (err: AnyOrNothing, response: Buffer) => void
|
||||
): void;
|
||||
|
||||
close(): void;
|
||||
}
|
||||
|
||||
declare function pcsc(): PCSCLite;
|
||||
|
||||
export = pcsc;
|
||||
@@ -45,6 +45,8 @@ module.exports = function () {
|
||||
|
||||
const p = new PCSCLite();
|
||||
|
||||
p.readers = readers;
|
||||
|
||||
process.nextTick(function () {
|
||||
|
||||
p.start(function (err, data) {
|
||||
|
||||
Reference in New Issue
Block a user