Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

uareu-biometric

your-username200MIT1.0.2TypeScript support: included

Modern Node.js library for DigitalPersona 4500 biometric devices - FeatureSet matching and comparison

biometric, fingerprint, digitalpersona, featureset, matching, biometry, security, authentication, uareu, dp4500

readme

UAREU Biometric Library

Modern Node.js library for DigitalPersona 4500 biometric devices, focused on FeatureSet matching and comparison.

Features

  • ✅ FeatureSet matching and comparison
  • ✅ High-performance biometric scoring
  • ✅ TypeScript support with full type definitions
  • ✅ Modern async/await API
  • ✅ Windows x64 support
  • ✅ Lightweight and focused on core functionality

Installation

npm install uareu-biometric

Quick Start

import { FeatureSetMatcher } from 'uareu-biometric';

const matcher = new FeatureSetMatcher();

// Initialize the matcher
await matcher.initialize();

// Compare two FeatureSets
const result = await matcher.matchFeatureSets(featureSet1, featureSet2);

console.log(`Match score: ${result.score}`);
console.log(`Is match: ${result.isMatch}`);
console.log(`Confidence: ${result.confidence}`);

API Reference

FeatureSetMatcher

Main class for biometric matching operations.

Methods

initialize(): Promise<void>

Initializes the biometric engine. Must be called before any matching operations.

matchFeatureSets(fs1: Buffer, fs2: Buffer): Promise<FeatureSetMatch>

Compares two FeatureSets and returns match results.

Parameters:

  • fs1: First FeatureSet as Buffer
  • fs2: Second FeatureSet as Buffer

Returns: Promise<FeatureSetMatch>

validateFeatureSet(featureSet: Buffer): Promise<boolean>

Validates if a Buffer contains a valid FeatureSet.

getFeatureSetInfo(featureSet: Buffer): Promise<FeatureSetData>

Extracts information from a FeatureSet.

Types

FeatureSetMatch

interface FeatureSetMatch {
  score: number;        // Similarity score (0-100000)
  threshold: number;    // Recommended threshold for matching
  isMatch: boolean;     // Whether it's considered a match
  confidence: number;   // Confidence level (0-1)
}

FeatureSetData

interface FeatureSetData {
  format: number;  // FeatureSet format
  data: Buffer;    // Raw FeatureSet data
  size: number;    // Data size in bytes
}

Requirements

  • Node.js 16.0.0 or higher
  • Windows x64 operating system
  • DigitalPersona SDK compatible FeatureSets

Error Handling

The library provides structured error handling:

import { FeatureSetMatcher, ErrorHandler } from 'uareu-biometric';

try {
  const matcher = new FeatureSetMatcher();
  await matcher.initialize();
  const result = await matcher.matchFeatureSets(fs1, fs2);
} catch (error) {
  if (error instanceof ErrorHandler) {
    console.error('Biometric error:', error.message);
    console.error('Details:', error.originalError);
  } else {
    console.error('Unexpected error:', error);
  }
}

Advanced Usage

For advanced use cases, you can access the underlying UareU library:

import { UareU } from 'uareu-biometric';

const uareu = UareU.getInstance();
await uareu.loadLibs();
// Access low-level functionality...

Platform Support

  • ✅ Windows x64
  • ❌ Windows x32 (not supported)
  • ❌ macOS (not supported)
  • ❌ Linux (not supported)

License

MIT License - see LICENSE file for details.

Contributing

This library focuses exclusively on FeatureSet matching functionality. For bug reports or feature requests related to core matching capabilities, please open an issue.

Support

For technical support or questions about FeatureSet matching, please refer to the DigitalPersona SDK documentation or create an issue in this repository.