@samlab-corp/sfm-node 0.5.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -260,35 +260,44 @@ The device automatically scans fingerprints and delivers identification results
260
260
 
261
261
  | Method | Description | Return Type |
262
262
  | -------------------------- | ---------------------------------------------------------- | ---------------------- |
263
- | `start(onResult, onLog?)` | Start FreeScan (auto-configures AUTO_RESPONSE + FREE_SCAN) | `{ success, message }` |
263
+ | `start()` | Start FreeScan (auto-configures AUTO_RESPONSE + FREE_SCAN) | `{ success, message }` |
264
264
  | `stop()` | Stop FreeScan | `{ success, message }` |
265
265
  | `isRunning` | Whether FreeScan is active (boolean) | — |
266
266
  | `isDeviceFreeScanActive()` | Check if device FREE_SCAN parameter is ON | `boolean` |
267
- | `onDataHandler(handler)` | Register external data handler | — |
267
+ | `onDataHandler(handler)` | Register external data handler (`FreeScanDataHandler`) | — |
268
268
  | `offDataHandler()` | Remove external data handler | — |
269
- | `onErrorHandler(handler)` | Register external error handler | — |
269
+ | `onErrorHandler(handler)` | Register external error handler (`FreeScanErrorHandler`) | — |
270
270
  | `offErrorHandler()` | Remove external error handler | — |
271
271
 
272
272
  #### Examples
273
273
 
274
274
  ```typescript
275
+ // Register data handler
276
+ sfm.freeScan.onDataHandler((result) => {
277
+ if (result.success) {
278
+ console.log(`Identified user: ${result.userId}`);
279
+ } else {
280
+ console.log("Unregistered fingerprint");
281
+ }
282
+ });
283
+
284
+ // Register error handler (optional)
285
+ sfm.freeScan.onErrorHandler((error) => {
286
+ console.error("FreeScan error:", error);
287
+ });
288
+
275
289
  // Start FreeScan
276
- await sfm.freeScan.start(
277
- (result) => {
278
- if (result.success) {
279
- console.log(`Identified user: ${result.userId}`);
280
- } else {
281
- console.log("Unregistered fingerprint");
282
- }
283
- },
284
- (msg) => console.log(msg), // Log callback (optional)
285
- );
290
+ await sfm.freeScan.start();
286
291
 
287
292
  // Check status
288
293
  console.log(sfm.freeScan.isRunning); // true
289
294
 
290
295
  // Stop FreeScan
291
296
  await sfm.freeScan.stop();
297
+
298
+ // Remove handlers when no longer needed
299
+ sfm.freeScan.offDataHandler();
300
+ sfm.freeScan.offErrorHandler();
292
301
  ```
293
302
 
294
303
  #### Callback Types
@@ -300,7 +309,8 @@ interface FreeScanResult {
300
309
  flag?: number; // Error flag on failure
301
310
  }
302
311
 
303
- type FreeScanCallback = (result: FreeScanResult) => void;
312
+ type FreeScanDataHandler = (result: FreeScanResult) => void;
313
+ type FreeScanErrorHandler = (error?: Error) => void;
304
314
  ```
305
315
 
306
316
  ---
@@ -457,8 +467,19 @@ Keys and available values for `sfm.system.getParam(key)`, `sfm.system.setParam(k
457
467
  All types are exported:
458
468
 
459
469
  ```typescript
470
+ import {
471
+ SfmCommands,
472
+ SFM_ERROR,
473
+ SFM_FLAG,
474
+ ENCRYPTION_MODE,
475
+ } from "@samlab-corp/sfm-node";
476
+
460
477
  import type {
461
478
  SfmClientOptions,
479
+ SfmParamKey,
480
+ SfmParamAliasMap,
481
+ EncryptionMode,
482
+ SerialPortInfo,
462
483
  EnrollResult,
463
484
  VerifyResult,
464
485
  IdentifyResult,
@@ -469,7 +490,8 @@ import type {
469
490
  ParamResult,
470
491
  SelfTestResult,
471
492
  FreeScanResult,
472
- FreeScanCallback,
493
+ FreeScanDataHandler,
494
+ FreeScanErrorHandler,
473
495
  FirmwareOptions,
474
496
  } from "@samlab-corp/sfm-node";
475
497
  ```
@@ -78,6 +78,8 @@ export declare class SfmSerial {
78
78
  * (FUN_140010350: CreateFileA + SetCommState + SetCommTimeouts)
79
79
  */
80
80
  open(path?: string): Promise<void>;
81
+ private _doOpen;
82
+ private _openWithRetry;
81
83
  /**
82
84
  * 시리얼 포트 닫기
83
85
  * (FUN_140010280: PurgeComm + CloseHandle)
@@ -1 +1 @@
1
- {"version":3,"file":"serial.d.ts","sourceRoot":"","sources":["../../src/core/serial.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serial.d.ts","sourceRoot":"","sources":["../../src/core/serial.ts"],"names":[],"mappings":"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"}
@@ -87,6 +87,13 @@ class SfmSerial {
87
87
  if (!this.portPath) {
88
88
  throw new Error("Port path must be specified");
89
89
  }
90
+ // autoReconnect가 활성화된 경우 초기 open 실패도 재시도
91
+ if (this._autoReconnect && !this._reconnecting) {
92
+ return this._openWithRetry();
93
+ }
94
+ return this._doOpen();
95
+ }
96
+ _doOpen() {
90
97
  return new Promise((resolve, reject) => {
91
98
  this.port = new serialport_1.SerialPort({
92
99
  path: this.portPath,
@@ -145,6 +152,51 @@ class SfmSerial {
145
152
  });
146
153
  });
147
154
  }
155
+ _openWithRetry() {
156
+ return new Promise((resolve, reject) => {
157
+ this._reconnecting = true;
158
+ let attempt = 0;
159
+ const tryOpen = async () => {
160
+ if (!this._reconnecting) {
161
+ reject(new Error("Open cancelled"));
162
+ return;
163
+ }
164
+ const maxRetries = this._autoReconnect?.maxRetries ?? 5;
165
+ const interval = this._autoReconnect?.interval ?? 2000;
166
+ attempt++;
167
+ this._autoReconnect?.onRetry?.(attempt, maxRetries);
168
+ try {
169
+ await this._doOpen();
170
+ this._reconnecting = false;
171
+ if (this._reconnectTimer) {
172
+ clearTimeout(this._reconnectTimer);
173
+ this._reconnectTimer = null;
174
+ }
175
+ resolve();
176
+ }
177
+ catch (err) {
178
+ if (!this._reconnecting) {
179
+ reject(new Error("Open cancelled"));
180
+ return;
181
+ }
182
+ if (maxRetries > 0 && attempt >= maxRetries) {
183
+ this._reconnecting = false;
184
+ if (this._reconnectTimer) {
185
+ clearTimeout(this._reconnectTimer);
186
+ this._reconnectTimer = null;
187
+ }
188
+ const failError = new Error(`Failed to open port after ${maxRetries} attempts: ${err.message}`);
189
+ this._autoReconnect?.onFailed?.(failError);
190
+ reject(failError);
191
+ }
192
+ else {
193
+ this._reconnectTimer = setTimeout(tryOpen, interval);
194
+ }
195
+ }
196
+ };
197
+ tryOpen();
198
+ });
199
+ }
148
200
  /**
149
201
  * 시리얼 포트 닫기
150
202
  * (FUN_140010280: PurgeComm + CloseHandle)
@@ -1 +1 @@
1
- {"version":3,"file":"serial.js","sourceRoot":"","sources":["../../src/core/serial.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serial.js","sourceRoot":"","sources":["../../src/core/serial.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -15,6 +15,6 @@ export type { SerialPortInfo } from './core/index.js';
15
15
  export type { EncryptionMode } from './constants/index.js';
16
16
  export type { SfmParamKey, SfmParamAliasMap } from './constants/index.js';
17
17
  export { ENCRYPTION_MODE } from './constants/index.js';
18
- export { SFM_ERROR } from './constants/index.js';
18
+ export { SFM_ERROR, SFM_FLAG } from './constants/index.js';
19
19
  export type { EnrollResult, CommandResult, IdentifyResult, VerifyResult, ListUserIdsResult, CaptureImageResult, SystemStatusResult, ParamResult, SelfTestResult, FirmwareOptions, FreeScanResult, FreeScanDataHandler, FreeScanErrorHandler, } from './commands/index.js';
20
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD,YAAY,EACV,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EACzD,iBAAiB,EAAE,kBAAkB,EACrC,kBAAkB,EAAE,WAAW,EAAE,cAAc,EAC/C,eAAe,EACf,cAAc,EAAE,mBAAmB,EAAE,oBAAoB,GAC1D,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAG3D,YAAY,EACV,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EACzD,iBAAiB,EAAE,kBAAkB,EACrC,kBAAkB,EAAE,WAAW,EAAE,cAAc,EAC/C,eAAe,EACf,cAAc,EAAE,mBAAmB,EAAE,oBAAoB,GAC1D,MAAM,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -11,7 +11,7 @@
11
11
  * await finger.disconnect();
12
12
  */
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.SFM_ERROR = exports.ENCRYPTION_MODE = exports.SfmCommands = void 0;
14
+ exports.SFM_FLAG = exports.SFM_ERROR = exports.ENCRYPTION_MODE = exports.SfmCommands = void 0;
15
15
  // 공개 API
16
16
  var index_js_1 = require("./commands/index.js");
17
17
  Object.defineProperty(exports, "SfmCommands", { enumerable: true, get: function () { return index_js_1.SfmCommands; } });
@@ -19,4 +19,5 @@ var index_js_2 = require("./constants/index.js");
19
19
  Object.defineProperty(exports, "ENCRYPTION_MODE", { enumerable: true, get: function () { return index_js_2.ENCRYPTION_MODE; } });
20
20
  var index_js_3 = require("./constants/index.js");
21
21
  Object.defineProperty(exports, "SFM_ERROR", { enumerable: true, get: function () { return index_js_3.SFM_ERROR; } });
22
+ Object.defineProperty(exports, "SFM_FLAG", { enumerable: true, get: function () { return index_js_3.SFM_FLAG; } });
22
23
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAEH,SAAS;AACT,gDAAkD;AAAzC,uGAAA,WAAW,OAAA;AAKpB,iDAAuD;AAA9C,2GAAA,eAAe,OAAA;AACxB,iDAAiD;AAAxC,qGAAA,SAAS,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAEH,SAAS;AACT,gDAAkD;AAAzC,uGAAA,WAAW,OAAA;AAKpB,iDAAuD;AAA9C,2GAAA,eAAe,OAAA;AACxB,iDAA2D;AAAlD,qGAAA,SAAS,OAAA;AAAE,oGAAA,QAAQ,OAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@samlab-corp/sfm-node",
3
- "version": "0.5.0",
3
+ "version": "0.5.1",
4
4
  "description": "SFM Protocol V3.6.0 based fingerprint recognition library for Node.js",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -47,5 +47,5 @@
47
47
  "@types/node": "^25.2.3",
48
48
  "typescript": "^5.9.3"
49
49
  },
50
- "gitHead": "c9f43cf3ebaa07d486750d237d6b37ad5a7da0a5"
50
+ "gitHead": "12d935d4b49b06f1c36d3031366ccfe25aa9f6f7"
51
51
  }