open-index/open-npm huggingface dataset:
npm package: @foxwallet/rn-fingerprint-change
Description: detect if fingerprint changed
Author: foxwallet
Latest version: 0.3.0

# rn-fingerprint-change

detect if fingerprint changed

## Installation

```sh
npm install rn-fingerprint-change
```

## Usage

```js
import { hasFingerPrintChanged } from 'rn-fingerprint-change';

// ...

const result = hasFingerPrintChanged();
```

## Contributing

See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.

## License

MIT

---

Made with [create-react-native-library](https://github.com/callstack/react-native-builder-bob)
npm package: @foxxie/centra
Description: A fork of Centra to support shortcut methods in Foxxie, and with typescript support.
Author: ruffpuff
Latest version: 1.2.9

<div align='center'>
  <img src='https://avatars.githubusercontent.com/u/84743025?s=200&v=4' width='140' height='140' />
  <h1>centra 🌎</h1>
  <blockquote>A revision of Centra by Ethan Davis to include methods Foxxie uses + a full typescript rewrite.</blockquote>

  <br />

  [![Discord server](https://img.shields.io/discord/761512748898844702?color=5865F2&logo=discord&logoColor=white)](https://ruff.cafe/community)
  [![Typescript](https://img.shields.io/badge/TypeScript-007ACC?logo=typescript&logoColor=white)](https://www.typescriptlang.org)
<a href="https://wakatime.com/badge/user/72bf611d-9557-4a85-aa1d-46f6a3346744/project/959b3a6c-8c4e-4433-9c2d-9b1177273344"><img src="https://wakatime.com/badge/user/72bf611d-9557-4a85-aa1d-46f6a3346744/project/959b3a6c-8c4e-4433-9c2d-9b1177273344.svg" alt="wakatime"></a>
[![GitHub Package Registry](https://github.com/FoxxieBot/centra/actions/workflows/github-release.yml/badge.svg)](https://github.com/FoxxieBot/centra/actions/workflows/github-release.yml)
  [![npm](https://img.shields.io/npm/v/@foxxie/centra?color=crimson&logo=npm&style=flat-square&label=@foxxie/centra)](https://www.npmjs.com/package/@foxxie/centra)
  [![Ko-fi Donate](https://img.shields.io/badge/kofi-donate-brightgreen.svg?label=Donate%20with%20Ko-fi&logo=ko-fi&colorB=F16061&link=https://ko-fi.com/ruffpuff&logoColor=FFFFFF)](https://ko-fi.com/ruffpuff)

</div>

<hr />

<h2>Donating 💰</h2>

Donating helps ensure that I can keep this project going. Thank you for supporting :D

<a href='https://ko-fi.com/D1D63NVS8' target='_blank'><img height='36' style='border:0px;height:36px;' src='https://cdn.ko-fi.com/cdn/kofi1.png?v=3' border='0' alt='Buy Me a Coffee at ko-fi.com' /></a>

<h2>Contributors ✨</h2>

Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- ALL-CONTRIBUTORS-LIST:END -->

This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
npm package: @foxxmd/redact-string
Description: Redact part or all of string by replacing character
Author: FoxxMD
Latest version: 0.1.2

# redact-string

Redact (replace) part or all of a string with a character.

## Why another redact package?

The other popular packages seem to be restricted to a certain behavior:

* Redaction of objects/json (instead of plain variables/values you control)
* Redaction **entirely** replaces value leaving no structure or hint of what it was

This didn't fit my needs. I wanted to be able to control how many characters were replaced as well as leave part of the structure intact for hinting in logging. A prime example being replacing _part_ of an IP address so users can view/post logs which confirm correct settings but don't give away full addresses IE `192.168.1.105` -> `**********105`

# Install/Usage

```
npm install @foxxmd/react-string
```

```js
import {reactString} from '@foxxmd/redact-string';

console.log(reactString('192.168.1.105', 3)); // 3 is the number of character to leave visible
// *********105
```

# Options

An optional, third argument can be passed that defines how the redact occurs:

```ts
export interface RedactOptions {
    /**
     * Replace characters starting at the start or end of string (default start)
     * */
    replaceFrom?: 'start' | 'end'
    /**
     * The character/string that characters are replaced with (default '*')
     * */
    replaceWith?: string
    /**
     * Which type of characters to replace in the string (default any)
     * */
    replace?: 'any' | 'alphanumeric' | 'alpha' | 'numeric'
}
```

# Examples

```js

// replace all but last 3 characters
console.log(reactString('192.168.1.105', 3));
// *********105

// replace all but first 3 characters
console.log(reactString('192.168.1.105', 3, {replaceFrom: 'end'}));
// 192**********

// replace all but last 3 characters, numeric only
console.log(reactString('192.168.1.105', 3, {replace: 'numeric'}));
// ***.***.*.105

// replace all but last 5 characters with 'X'
console.log(reactString('superSecretPassword', 5, {replaceWith: 'X'}));
// XXXXXXXXXXXXXXsword
```
npm package: @foxxmd/youtube-music-ts-api
Description: An unofficial YouTube Music API written in TypeScript for easy integration into your projects
Author: nickp10@hotmail.com
Latest version: 1.6.1

# youtube-music-ts-api

Description
----
This is a TypeScript API for YouTube Music (not to be confused with music videos and what not that you can watch on YouTube). This is written in TypeScript with all the appropriate types exported, so that you can easily use this API in your developer tools.

Using the API
----
This node module can be used as a dependency of another node module. Run `npm install youtube-music-ts-api --save` to add it as a dependency to your node module. An example usage of the module (note this example was built with TypeScript using these options `tsc demo.ts --target es6 --module commonjs`):

```
import YouTubeMusic from "youtube-music-ts-api";

async function main(): Promise<void> {
    const cookieStr = "TODO: PUT YOUR COOKIE STRING HERE";
    const ytm = new YouTubeMusic();
    const ytma = await ytm.authenticate(cookieStr);
    const playlists = await ytma.getLibraryPlaylists();
    if (playlists) {
        for (const playlist of playlists) {
            console.log("Playlist: " + playlist.name);
            const playlistDetail = await ytma.getPlaylist(playlist.id);
            if (playlistDetail) {
                for (const track of playlistDetail.tracks) {
                    console.log("    Track: " + track.title);
                }
            }
        }
    }
}
main();
```

For more detailed information regarding the API, visit the [DOCUMENTATION.md](DOCUMENTATION.md).

Contributing
----
It would be greatly appreciated to have others contribute into this project by submitting pull requests that can be merged. The main things that could be worked on would be improved API authentication to remove the current manual process and/or building out more API calls that YouTube Music provides. All other features and changes are welcome as well pending a code review. Some commands that are useful when developing in this project are:

1. Run `npm install` to initialize the project.
1. Run `npm run test` to run the unit tests or `npm run test-coverage` to retrieve code coverage.
1. Run `npm run build` to build the production version of the API or `npm run build-debug` to build a debuggable version of the API.
1. Run `npm run build-docs` to build an updated API documentation markdown file.

Attribution
----
A huge thanks goes to the [ytmusicapi](https://github.com/sigma67/ytmusicapi) which is a Python API that did a lot of the groundwork reverse engineering the YouTube Music API.

Thanks to this [StackOverflow](https://stackoverflow.com/a/32065323/5726546) post for reverse engineering the authentication to the YouTube Music API (which is attributed in the source code of ytmusicapi).

Thanks to [YouTube Music](https://music.youtube.com/) for building a platform for our music pleasures.
npm package: @foxycorps/nanoevent
Description: The less than `500 Byte` event emitter.
Author: crazywolf132
Latest version: 4.2.0

# NanoEvent
The less than `500 Byte` event emitter.

## Usage

### As a class
```js
import NanoEvent from '@foxycorps/nanoevent';

class MyClass extends NanoEvent {
    constructor() {
        super();
    }
}
```
npm package: @foxyimg/toaster
Description: ![Foxy Image Logo](https://aspekt-media.b-cdn.net/logo.png)
Latest version: 0.1.0

![Foxy Image Logo](https://aspekt-media.b-cdn.net/logo.png)

# @foxyimg/toaster

<!-- automd:badges color=yellow -->

[![npm version](https://img.shields.io/npm/v/packageName?color=yellow)](https://npmjs.com/package/@foxyimg/toaster)
[![npm downloads](https://img.shields.io/npm/dm/packageName?color=yellow)](https://npmjs.com/package/@foxyimg/toaster)

<!-- /automd -->

Vue component for displaying toasts.

## Usage

Install package:

<!-- automd:pm-install -->

```sh
# ✨ Auto-detect
npx nypm install @foxyimg/toaster

# npm
npm install @foxyimg/toaster

# yarn
yarn add @foxyimg/toaster

# pnpm
pnpm install @foxyimg/toaster

# bun
bun install @foxyimg/toaster
```

<!-- /automd -->

In `tailwind.config.js` add the following to the `content` array:

```js
export default {
	content: [
		"./node_modules/@foxyimg/toaster/dist/components/**/*.{vue,js,ts,jsx,tsx}",
	],
}
```


In `app.vue`:
```vue
<script setup lang="ts">
  import {Toaster} from "@foxyimg/toaster";
</script>
<template>
  <div>
    <!-- Your main components -->
    <Toaster />
  </div>
</template>
```

To show a toast:

```vue
<script setup lang="ts">
  import {useToastStore} from "@foxyimg/toaster";
  const { toast } = useToastStore();

  function showToast() {
    toast('info', 'Hello World', 'This is a toast');
  }
</script>
<template>
  <button type="button" @click="showToast">Show Toast</button>
</template>
```

If using with Nuxt, make sure to wrap the `<Toaster />` component in a `<ClientOnly>` component.

## License

Published under the [MIT](https://github.com/unjs/packageName/blob/main/LICENSE) license.
npm package: @foxyimg/utils
Description: ![Foxy Image Logo](https://aspekt-media.b-cdn.net/logo.png)
Latest version: 0.1.10

![Foxy Image Logo](https://aspekt-media.b-cdn.net/logo.png)

# @foxyimg/utils

<!-- automd:badges color=yellow -->

[![npm version](https://img.shields.io/npm/v/packageName?color=yellow)](https://npmjs.com/package/@foxyimg/utils)
[![npm downloads](https://img.shields.io/npm/dm/packageName?color=yellow)](https://npmjs.com/package/@foxyimg/utils)

<!-- /automd -->

A typescript/javascript utils used by the various [Foxy](https://github.com/FoxyImg/Foxy) packages and apps.

## Usage

Install package:

<!-- automd:pm-install -->

```sh
# ✨ Auto-detect
npx nypm install @foxyimg/utils

# npm
npm install @foxyimg/utils

# yarn
yarn add @foxyimg/utils

# pnpm
pnpm install @foxyimg/utils

# bun
bun install @foxyimg/utils
```

<!-- /automd -->

Usage:

```js
import { ucFirst } from "@foxyimg/utils";
const str = ucFirst("hello world");  // str: "Hello world"
```

## License

Published under the [MIT](https://github.com/unjs/packageName/blob/main/LICENSE) license.
npm package: @foxyimg/vue-utils
Description: ![Foxy Image Logo](https://aspekt-media.b-cdn.net/logo.png)
Latest version: 0.1.8

![Foxy Image Logo](https://aspekt-media.b-cdn.net/logo.png)

# @foxyimg/vue-utils

<!-- automd:badges color=yellow -->

[![npm version](https://img.shields.io/npm/v/packageName?color=yellow)](https://npmjs.com/package/@foxyimg/vue-utils)
[![npm downloads](https://img.shields.io/npm/dm/packageName?color=yellow)](https://npmjs.com/package/@foxyimg/vue-utils)

<!-- /automd -->

A utility functions and composables for use with Vue.

## Usage

Install package:

<!-- automd:pm-install -->

```sh
# ✨ Auto-detect
npx nypm install @foxyimg/vue-utils

# npm
npm install @foxyimg/vue-utils

# yarn
yarn add @foxyimg/vue-utils

# pnpm
pnpm install @foxyimg/vue-utils

# bun
bun install @foxyimg/vue-utils
```

<!-- /automd -->

Usage:

```js
import { useWritableWrappedRef, useClampedRef } from "@foxyimg/vue-utils";
const someRef = useWritableWrappedRef(25, 0, 100);  // current value: 25
someRef.value = 102;  // current value: 1

const someOtherRef = ref(12);
const clampedRef = useClampedRef(someOtherRef, 0, 15);  // clampedRef's current value: 12
someOtherRef.value = 23;  // clampedRef's current value: 15
```

## License

<!-- automd:contributors license=MIT -->

Published under the [MIT](https://github.com/unjs/packageName/blob/main/LICENSE) license.

<!-- /automd -->
npm package: @foxythemes/client-server-cli
Description: Express server to boost our templates development
Author: Jhon Pérez
Latest version: 1.0.4

# client-server-cli

Express server to boost our templates development

## Getting Started

*  Install with npm: `npm install @foxythemes/client-server-cli -D`
*  Run it with `clientserver`

## Docs

```	

clientserver --p 8080 -n src/html/pages-404.html -v src/html -a src/assets -j src/js

Basic options

-p, --port           Port
-n, --not-found      Source path of not found page
-v, --views          Source path of views
-a, --assets         Source path of assets
-j, --js             Source path of js


```

## License

Copyright (c) FoxyThemes
Licensed under the MIT license.
npm package: @foxythemes/depcopy-cli
Description: Copy front-end dependencies from node_modules to custom paths
Author: Jhon Pérez
Latest version: 1.0.2

# depcopy-cli

This is a command line client Dependencies Copy, useful when you need copy dependencies to a specific directory.

## Getting Started

*  Install with npm: `npm install @foxythemes/depcopy-cli -D`
*  Run it with `depcopy`

### Initial Setup

Create a JSON file named `dep-copy.json` in the root, this file will saved all dependencies that will be copied to your custom path.

## Usage

Add the dependencies that you want to copy specifying the destination path.

Example:

```	
{
  "options": {
    "destPrefix": "src/assets/lib/"
  },
  "dependency-name":{
    "files": {
      "dependency-name-dest/scss" : "dependency-name-orig/scss/*",
      "dependency-name-dest/dist" : "dependency-name-orig/dist/*"
    }
  }
}

```

## License

Copyright (c) FoxyThemes
Licensed under the MIT license.
npm package: @foxythemes/dev-server-cli
Description: Server for development side
Author: Jhon Pérez
Latest version: 1.0.2

# dev-server-cli

This is a express server we use for our products development.

## Getting Started

*  Install with npm: `npm install @foxythemes/dev-server-cli -D`
*  Run it with `devserver`

## Docs

```	
devserver -c path/to/config-file -v path/to/views -a path/to/assets -j path/to/js -p 8080

Basic options

-c, --config-file    Source path of config file
-v, --views-path     Source path of views
-a, --assets-path    Source path of assets
-j, --js-path        Source path of JS
-p, --port           Port

```

## License

Copyright (c) FoxyThemes
Licensed under the MIT license.