open-index/open-npm huggingface dataset:
npm package: @fatnlazycat/rn-expo-remote-controls
Description: A module for listening the remote controls bluetooth headset
Author: Fatnlazycat
Latest version: 0.1.2

# rn-expo-remote-controls

A module for listening the remote media controls (currently iOS only). 

Under the hood uses `AVAudioPlayer` which plays a short (250ms) audio file when initializing the module to make the app eligible to receive remote media control events from the OS. 

# API documentation

```
export const startListening = (
  listeners: Partial<{
    onPlay: () => void;
    onPause: () => void;
    onNextTrack: () => void;
    onPrevTrack: () => void;
  }>,
): void

export const stopListening = (): void
```

#### Usage

```
import * as RemoteControls from '@fatnlazycat/rn-expo-remote-controls';
```

```
  useEffect(() => {
    RemoteControls.startListening({
      onPlay: // play command logic
      onPause: // pause command logic
      onNextTrack: // next track command logic
      onPrevTrack: // prevoius track command logic
    });
    return RemoteControls.stopListening;
  }, [startAutoPlayback, stopAutoPlayback]);
  ```

# Installation in managed Expo projects
```
npm install @fatnlazycat/rn-expo-remote-controls
```

## Installation in bare React Native projects

For bare React Native projects, you must ensure that you have [installed and configured the `expo` package](https://docs.expo.dev/bare/installing-expo-modules/) before starting.


### Configure for iOS

Run `npx pod-install` after installing the npm package.


### Configure for Android

n/a
npm package: @fator/vue-material
Description: - [Vue.js](https://github.com/vuejs/vue) `3.x`
Author: fator
Latest version: 0.2.6

# vue-material

# Requirements

- [Vue.js](https://github.com/vuejs/vue) `3.x`

# Installation

## npm

```bash

$ npm i @fator/vue-material

```

## yarn

```bash

$ yarn add @fator/vue-material

```

# Usage

## Import Styles

Import styles inside your main.js:

```javascript

import { createApp } from 'vue'
import '@fator/vue-material/styles' // import styles
...

```

## Use Components

Import and use components

```vue
<template>
  <h2>Vue Component</h2>
  <Button>Click me</Button> // <-- use component
</template>

<script>
import { Button } from "@fator/vue-material"; // <-- import component

export default {
  name: "MyApp",
  components: {
    Button, // <-- register component
  },
};
</script>

<style></style>
```

## Adjust theme (optional)

Import and adjust theme colors. Colors need to be in rgb, like shown below.

```javascript

import { createApp } from 'vue'
import theme from '@fator/vue-material/theme' // <-- import styles

  // default theme stylings
  // primaryColor: "26, 91, 255",
  // primaryBackgroundColor: "255, 255, 255",
  // secondaryColor: "255, 255, 255",
  // secondaryBackgroundColor: "27, 30, 44",
  // elevation: "0px 1px 2px rgba(0, 0, 0, 0.3), 0px 2px 6px rgba(0, 0, 0, 0.16)",
  // elevationColored: `0 10px 20px -10px `,
  // ripple: "26, 91, 255"

theme.primaryColor = '123, 104, 238' // <-- example
...

```

## Documentation (optional)

You can always check the documentation inside your project. Currently it is not complete.

```javascript
import { createApp } from "vue";
import MyApp from "./src/components/MyApp.vue";
import Documentation from "@fator/vue-material/documentation"; // <-- import documentation

const create = async () => {
  const app = createApp(MyApp);
  app.use(Documentation); // <-- use documentation
  app.mount("#app");
};
create();
```

```vue

<template>
  <h2>Vue Component</h2>
  <Documentation> // <-- display documentation
</template>

<script>
export default {
  name: 'MyApp',
}
</script>

<style></style>

```

## Mixins (optional)

So far there is only one mixin available.

```vue
<template>
  <h2>Vue Component</h2>
  <Button @click="copyToClipboard('copy this text to clipboard')"
    >Copy to clipboard</Button
  >
</template>

<script>
import { Button } from "@fator/vue-material";
import { copyToClipboard } from "@fator/vue-material/mixins";

export default {
  name: "MyApp",
  components: {
    Button,
  },
  mixins: [copyToClipboard],
};
</script>

<style></style>
```
npm package: @fatpig0416/core-crm
Description: This is Core module for CRM
Author: fatpig0416
Latest version: 0.0.14

# CRM-core
This is a core module for CRM which works with NestJs application

<p align="center">
  <img src="https://img.shields.io/npm/v/npm" alt="NPM Version" />
</p>


## Environments

node: v16.13.2

npm: v8.1.2

yarn: v1.22.18

## Prerequisites
You should have the following peer dependencies installed in your project

- [@nestjs/common](https://www.npmjs.com/package/@nestjs/common)
- [@nestjs/core](https://www.npmjs.com/package/@nestjs/core)


## Installing
```bash
$ npm i @fatpig0416/core-crm
$ yarn add @fatpig0416/core-crm
```

## Usage
In `app.module.ts`

```bash
import { CoreModule } from '@fatpig0416/core-crm'
```

Import `CoreModule`:

```bash
@Module({
  imports:[
    ...
    CoreModule.forRoot(opts)
  ]
})
```

When you define your custom controller, you can extend `CoreController`, which provides `ACL, AuthGuard` by default

```bash
import { CoreController } from '@fatpig0416/core-crm'

@Controller('controller-name')
@AccessSubject('access-subject')
export class YourController extends CoreController {
  constructor(readonly service: YourService) {
    super(service)
  }
}

# controller-name: relevant to route prefix

# access-subject: access scope of the module, it decides whether current user has permission for this controller or not.

# This works with @Access decorator comes from CoreModule
``` 


You can also override the method or create a new one.

During the definition of the method, you can assign an `access` action so that you can restrict the user's access to the method.

```bash
import { Access } from '@fatpig0416/core-crm'

... ...
@Post()
@Access('create')
create(@Body() payload: any) {
  ... ...
}

# Or you can skip default access restriction or skip auth check
import { GrantAccess, SkipAuth } from '@fatpig0416/core-crm'

... ...
@SkipAuth()
@GrantAccess()
@Post()
create(@Body() payload: any) {
  ... ...
}
```
npm package: @fatrex/nestjs-agenda
Description: agenda module for Nestjs
Latest version: 0.0.3

# nestjs-agenda

[Agenda](https://github.com/agenda/agenda) module for [Nestjs](https://github.com/nestjs/nest)

Nestjs version `^9.4.0`  
Agenda version `^5.0.0`

# Note

Original forked from https://github.com/hanFengSan/nestjs-agenda

# Installation

```
npm install @fatrex/nestjs-agenda
```

# Usage

**1. Import `AgendaModule`:**

_Sync register_:

```TypeScript
import { AgendaModule } from 'nestjs-agenda';

@Module({
  imports: [AgendaModule.register({ db: { address: 'mongodb://xxxxx' }})], // Same as configuring an agenda
  providers: [...],
})
export class FooModule {}
```

_Async register_:

```TypeScript
import { AgendaModule } from 'nestjs-agenda';

@Module({
  imports: [
    AgendaModule.registerAsync({
      imports: [ConfigModule],
      useFactory: async (config: ConfigService) => ({
        db: { address: config.get('MONGODB_URI') },
      }),
      inject: [ConfigService],
    }),
  ],
  providers: [...],
})
export class FooModule {}
```

**2. Inject `AgendaService` (AgendaService is a instance of Agenda):**

```TypeScript
import { Injectable } from '@nestjs/common';
import { AgendaService } from 'nestjs-agenda';

@Injectable()
export class FooService {
  constructor(private readonly agenda: AgendaService) {
    // define a job, more details: [Agenda documentation](https://github.com/agenda/agenda)
    this.agenda.define('TEST_JOB', { lockLifetime: 10000 }, this.testJob.bind(this));
    // schedule a job
    this.agenda.schedule('10 seconds from now', 'TEST_JOB', {});
  }

  private async testJob(job: any, done: any): Promise<void> {
    console.log('a job');
    await job.remove();
    done();
  }
}
```
npm package: @fatso83/mini-mocha
Description: A minimal emulation of Mocha
Author: Carl-Erik Kopseng
Latest version: 2.2.1

# mini-mocha
> An absolutely minimal emulation of Mocha for demos.

## Why
This was hacked together very quickly for demo purposes, making it possible to verify bugs on the Sinon issue tracker
without having access to a development environment. Having an API emulation of Mocha makes it easier to [demo bugs on RunKit](https://runkit.com/fatso83/sinon-test-issue-101) when I see a verification test using Mocha or Jasmine, as I can just copy-paste the test into RunKit, add `require('@fatso83/mini-mocha').install()` at the top and it will run!

## Typical usage

```javascript
require('@fatso83/mini-mocha').install();

describe("issue #101 ES5 version", function() {
    it("shows a normal sync test", function() {
        // passes
    });

    it("will fail", function() {
        throw new Error("My error");
    });

    it("shows a normal async test using callbacks", function(done) {
        setTimeout(() => {
            done();
        });
    });

    it("will fail async", function(done) {
        setTimeout(() => {
            done(new Error("My error"));
        });
    });
});
```

Results in this being printed
```
$ node demo.js

issue #101 ES5 version
✔️  shows a normal sync test
❌ will fail (Failed with: "My error")
✔️  shows a normal async test using callbacks
❌ will fail async (Failed with: "My error")

async/await (aka Promises) feature
✔️  should pass as expected
❌ should fail (Failed with: "Some wrong type")

```

## Known limitations
There are bits and pieces missing from the Mocha API, but it fulfills all the basic requirements.

- No support for Mocha internals like `this.title`, `this.fullTitle()`, etc.

## Pull requests welcome :)
If you want to contribute, here are some tips:

- `npm run update-snapshots` will update the snapshots used for testing the output
npm package: @fatsoap/telegraph-downloader
Description: ![Telegraph](Telegraph.jpg)
Author: fatsoap
Latest version: 1.1.0

# Teleghaph Image Downloader :zap:

![Telegraph](Telegraph.jpg)

## Version

version  	|Description
:---		|:---
v1.1.0		|add callback & seperate request function
v1.0.0		|first version

## Introduce Project

This is a web spider which can download images in telegraph. Simply input url of telegraph, then it will download all images in that web page. Have fun :rocket:

## How 2 use

1. Install modules 
```
yarn add @fatsoap/telegraph-downloader
// or
npm install @fatsoap/telegraph-downloader
```
2. Require function 
```
const { downloadAlbum, downloadImage } from require('@fatsoap/telegraph-downloader');
```
3. Run function

Get All Pictures' URL

```
downloadAlbum(yourURL, dest_folder, (title, pictures) => {
	// do something with 'title' & 'pictures'
});

type Title: string  //album name
type Pictures: {
	src: string // picture url
	path: string  // save folder
	title: string //album name
}[]
```

Download All Images

```
const len = pictures.length;
pictures.map((img, index) => {
	downloadImage(img.src, img.path, () => {
		console.log(`${img.title} --- download ${index+1}/${len} done.`);
	});
});
```

4. Done ! :sunglasses: You can find images in dest folder :muscle:
npm package: @fatsolutions/ganchos
Description: Git Hook Manager for Polyglot Monorepos, developed in house by FatSolutions
Author: FatSolutions
Latest version: 1.1.2

# @fatsolutions/ganchos

Git Hook Manager for Polyglot Monorepos.

## Installation

```bash
pnpm add -D @fatsolutions/ganchos
```

## Quick Setup

Add your desired languages to `package.json`:

```json
{
  "ganchos": {
    "languages": ["typescript", "python", "cairo"]
  }
}
```

The hooks will be automatically installed on `pnpm install` via the postinstall bootstrap.

## Manual Setup

If you prefer manual control, skip the `ganchos` field in `package.json` and use the CLI:

```bash
# Enable languages
pnpm ganchos enable typescript python cairo

# Install the hooks
pnpm ganchos install
```

## CLI Commands

| Command | Description |
|---------|-------------|
| `ganchos install` | Install git hooks based on configuration |
| `ganchos generate` | Generate hook content to stdout (for inspection) |
| `ganchos list` | List configured and available languages |
| `ganchos enable <languages...>` | Enable one or more languages |
| `ganchos disable <languages...>` | Disable one or more languages |

## Supported Languages

- **javascript** - ESLint, Prettier
- **typescript** - TypeScript compiler, ESLint, Prettier
- **python** - Black, isort, flake8, mypy *(work in progress)*
- **cairo** - scarb fmt, scarb lint

## How It Works

1. Configuration is stored in `.ganchos.json` (auto-generated, added to `.git/info/exclude`)
2. Language-specific hook scripts are located in `hooks/pre-commit/`
3. On commit, the pre-commit hook runs checks for all enabled languages on staged files
4. Auto-fixable issues (formatting) are fixed automatically; you'll be prompted to review and commit again

## Language-Specific Requirements

### JavaScript/TypeScript
- `eslint` and `prettier` available via `npx`

### Python
- Optional: `black`, `isort`, `flake8`, `mypy` installed in your environment

### Cairo (Starknet)
- `scarb` installed ([installation guide](https://docs.swmansion.com/scarb/))
- `Scarb.toml` present in project root or package directories

## Monorepo Support

Ganchos detects `packages/` subdirectories and runs language tools from the appropriate project roots:
- Looks for `package.json`, `tsconfig.json`, `pyproject.toml`, `Scarb.toml` in package directories
- Falls back to root-level configuration when appropriate

## Contributing

Contributions are welcome! Feel free to open issues or submit pull requests.

## License

GPL-2.0