npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

turbo-bio-dubu

v1.0.6

Published

React Native TurboModule for biometric authentication

Readme

turbo-bio-dubu

React Native TurboModule for biometric authentication (TouchID, FaceID, and Android Biometrics).

Installation

npm install turbo-bio-dubu
# or
yarn add turbo-bio-dubu

iOS

Add the following to your Podfile:

pod 'turbo-bio-dubu', :path => '../node_modules/turbo-bio-dubu'

Then run:

pod install

Android

No additional steps required for Android installation.

Usage

import { TurboBio } from 'turbo-bio';

// Check if biometric authentication is available
const checkBiometrics = async () => {
  try {
    const result = await TurboBio.isSensorAvailable();
    console.log('Biometrics available:', result.available);
    if (result.available) {
      console.log('Biometry type:', result.biometryType);
    } else {
      console.log('Error:', result.error);
    }
  } catch (error) {
    console.error('Error checking biometrics:', error);
  }
};

// Create keys for biometric authentication
const createBiometricKeys = async () => {
  try {
    const result = await TurboBio.createKeys();
    console.log('Public key:', result.publicKey);
    return result.publicKey;
  } catch (error) {
    console.error('Error creating keys:', error);
    return null;
  }
};

// Check if biometric keys exist
const checkBiometricKeysExist = async () => {
  try {
    const result = await TurboBio.biometricKeysExist();
    return result.keysExist;
  } catch (error) {
    console.error('Error checking keys:', error);
    return false;
  }
};

// Delete biometric keys
const deleteBiometricKeys = async () => {
  try {
    const result = await TurboBio.deleteKeys();
    return result.keysDeleted;
  } catch (error) {
    console.error('Error deleting keys:', error);
    return false;
  }
};

// Create signature with biometric authentication
const createBiometricSignature = async (payload: string) => {
  try {
    const result = await TurboBio.createSignature({
      promptMessage: 'Authenticate to sign data',
      payload,
      cancelButtonText: 'Cancel'
    });
    
    if (result.success) {
      return result.signature;
    } else {
      console.log('User cancelled or failed authentication');
      return null;
    }
  } catch (error) {
    console.error('Error creating signature:', error);
    return null;
  }
};

// Simple biometric prompt
const simpleBiometricPrompt = async () => {
  try {
    const result = await TurboBio.simplePrompt({
      promptMessage: 'Authenticate to continue',
      cancelButtonText: 'Cancel'
    });
    
    return result.success;
  } catch (error) {
    console.error('Error with biometric prompt:', error);
    return false;
  }
};

API

isSensorAvailable()

Checks if biometric authentication is available.

createKeys()

Creates cryptographic keys for biometric authentication.

biometricKeysExist()

Checks if biometric keys exist.

deleteKeys()

Deletes biometric keys.

createSignature(options)

Creates a signature with biometric authentication.

| Parameter | Type | Description | |-----------|------|-------------| | options.promptMessage | string | Message to display in the biometric prompt | | options.payload | string | Data to sign | | options.cancelButtonText | string | (Optional) Text for cancel button |

simplePrompt(options)

Displays a simple biometric prompt.

| Parameter | Type | Description | |-----------|------|-------------| | options.promptMessage | string | Message to display in the biometric prompt | | options.cancelButtonText | string | (Optional) Text for cancel button |

License

MIT