open-index/open-npm huggingface dataset:
npm package: @irfan3dots/nets-payment
Description: NETS SDK plugin
Author: irfan3dots
Latest version: 0.0.2

# nets-payment

NETS SDK plugin

## Install

```bash
npm install nets-payment
npx cap sync
```

## API

<docgen-index>

* [`echo(...)`](#echo)

</docgen-index>

<docgen-api>
<!--Update the source file JSDoc comments and rerun docgen to update the docs below-->

### echo(...)

```typescript
echo(options: { value: string; }) => Promise<{ value: string; }>
```

| Param         | Type                            |
| ------------- | ------------------------------- |
| **`options`** | <code>{ value: string; }</code> |

**Returns:** <code>Promise&lt;{ value: string; }&gt;</code>

--------------------

</docgen-api>
npm package: @irfan7junior/fetch-type
Description: Fetching the type file for an async request
Author: irfan7junior
Latest version: 1.0.5

# FETCH TS TYPE

## Running fetch-type without installing

### Running fetch-type without the config file

```bash
npx @irfan7junior/fetch-type -n filename.ts -f folderpath -u some_url --clip
```

### Running fetch-type with config file

```bash
npx @irfan7junior/fetch-type -c config.json
```

> This should be the config.json

```json
{
  "url": "URL",
  "params": {
    "apikey": "SOMEKEY",
    "amount": 15
  },
  "folder": "src/components/@interfaces",
  "filename": "IInterface.ts",
  "clip": true
}
```

## Running fetch-type as a dev-dependency

> Create an npm script

```npm
fetch-type with-the-flags
```

## All flags

- -f, --folder
- -n, --filename
- -u, --url
- -c, --config
- -k, --clip
npm package: @irfanreza-memberid/nestjs-agenda
Description: An opioninated agenda module for Nestjs
Author: Irfan Reza
Latest version: 0.0.1

# nestjs-agenda
> The Agenda module you've been looking for

I've always wanted a module similar to @nestjs/schedule & @nestjs/bull but for [agenda](https://github.com/agenda/agenda), the mongoose task scheduling library. Stay tuned for a BullMQ nestjs module as well, because they sure as hell won't do it.


## Installation
```sh
yarn add @irfanreza-memberid/nestjs-agenda agenda
# npm install ...
```

## Usage
`app.processor.ts`
```ts
import { Processor, Define, Every, Schedule } from "@irfanreza-memberid/nestjs-agenda";
import { Job } from "agenda";

interface ISayYourName {
  name: string;
}

@Processor()
export class AppProcessor {
  @Define('Say "Hello world!"')
  @Every('30 seconds')
  sayHelloWorld() {
    console.log("Hello world!");
  }

  @Define('Say "Goodbye world!"')
  @Schedule('in 1 minute')
  sayGoodbyeWorld() {
    console.log("Goodbye world!")
  }

  @Define('Say your name')
  sayYourName(job: Job<ISayYourName>) {
    console.log(`Your name is ${job.attrs.data.name}`);
  }
}
```
`app.service.ts`
```ts
...
import { AgendaService } from "@irfanreza-memberid/nestjs-agenda";
@Injectable()
export class AppService {
  constructor(
    // AgendaService is an instance of Agenda
    private readonly agendaService: AgendaService,
  )
  
  sayYourName(name: string) {
    agendaService.now('Say your name', { name })
  }
}
```
`app.module.ts`
```ts
...
import { AgendaModule } from "@irfanreza-memberid/nestjs-agenda";
import { AppProcessor } from "./app.processor";

@Module({
  imports: [
    AgendaModule.forRoot({
      db: { 
        address: ... // Enter MongoDB URI Connection
      }
    })
  ],
  providers: [AppProcessor]
})
export class AppModule {}
```
npm package: @irfanwani/react-native-bottom-sheet
Description: Bottom sheet for react native apps
Author: Irfanwani
Latest version: 1.0.4

# React Native BottomSheet

For displaying a bottom sheet in a react native app.

#### How to thank me ?

Just click on ⭐️ button 😘

https://user-images.githubusercontent.com/62456735/205438152-b4fae14a-ba49-4bea-a965-eb2175203ea8.mov

## Installation:

```
npm install --save @irfanwani/react-native-bottom-sheet
OR
yarn add @irfanwani/react-native-bottom-sheet
```

## Basic Usage

```tsx
import { FC, useRef, useState } from "react";
import { Button, View, Animated, Dimensions } from "react-native";

import BottomSheet from "@irfanwani/react-native-bottom-sheet";

const App: FC = () => {
  const [visible, setVisible] = useState(false);
  const showsheet = () => {
    setVisible(true);
  };

  return (
    <View style={{ flex: 1, justifyContent: "center" }}>
      <BottomSheet
        visible={visible}
        onClose={() => {
          setVisible(false);
        }}
      >
        <Text>Here are the children elements</Text>
      </BottomSheet>
      <Button title="show sheet" onPress={showsheet} />
    </View>
  );
};

export default App;
```

## Props

| Prop               | Type                   | Required | Note                                               |
| ------------------ | ---------------------- | -------- | -------------------------------------------------- |
| `visible`          | `boolean`              | True     | Determines whether the bottomsheet is shown or not |
| `children`         | `ReactElement or null` | True     | Element to show in the bottom sheet                |
| `onClose`          | `() => void`           | True     | Called when the bottomsheet is closed              |
| `onShow`           | `() => void`           | False    | Called when the bottomsheet opens                  |
| `style`            | `ViewStyle`            | False    | CustomStyles for the bottomsheet                   |
| `draggerViewStyle` | `ViewStyle`            | False    | CustomStyles for the dragger container view        |
| `draggerStyle`     | `ViewStyle`            | False    | CustomStyles for the dragger Icon                  |
| `draggable`        | `boolean`              | False    | whether to show the dragger view or not            |
npm package: @irfnd/prettier-config
Description: Irfnd personal prettier config
Author: Irfnd
Latest version: 1.5.2

# `@irfnd/prettier-config`

> A shareable [Prettier](https://prettier.io) configuration with opinionated defaults.

This package includes [`prettier-plugin-organize-imports`](https://github.com/simonhaenisch/prettier-plugin-organize-imports) as a bundled dependency. No additional plugin installation is required.

## Installation

Install the package along with `prettier`, which is required as a peer dependency:

```bash
npm install @irfnd/prettier-config prettier -D
```

```bash
yarn add @irfnd/prettier-config prettier -D
```

```bash
pnpm add @irfnd/prettier-config prettier -D
```

```bash
bun add @irfnd/prettier-config prettier -D
```

## Usage

### Basic

For projects that do not require any configuration overrides, reference the package directly in `package.json`:

```json
{
  "prettier": "@irfnd/prettier-config"
}
```

Alternatively, use a `.prettierrc` file:

```
"@irfnd/prettier-config"
```

### Extending the Configuration

To override specific options, import the config into a Prettier configuration file and spread it as the base. This approach is required when using the `package.json` field is not sufficient.

**`prettier.config.mjs` / `.prettierrc.mjs`**
```js
import irfndConfig from '@irfnd/prettier-config';

/**
 * @see https://prettier.io/docs/configuration
 * @type {import("prettier").Config}
 */
const config = {
  ...irfndConfig,
  printWidth: 100,
};

export default config;
```

**`prettier.config.ts`**
```ts
import type { Config } from 'prettier';
import irfndConfig from '@irfnd/prettier-config';

const config = {
  ...irfndConfig,
  printWidth: 100,
} satisfies Config;

export default config;
```

> **Important:** Always spread `...irfndConfig` as the base. Omitting the spread will discard the bundled `prettier-plugin-organize-imports` plugin.

### Extending the Plugins

To include additional plugins alongside the bundled one, spread `irfndConfig.plugins` explicitly into the `plugins` array:

**`prettier.config.mjs` / `.prettierrc.mjs`**
```js
import irfndConfig from '@irfnd/prettier-config';

/**
 * @see https://prettier.io/docs/configuration
 * @type {import("prettier").Config}
 */
const config = {
  ...irfndConfig,
  plugins: [
    ...irfndConfig.plugins,
    'prettier-plugin-tailwindcss',
  ],
};

export default config;
```

**`prettier.config.ts`**
```ts
import type { Config } from 'prettier';
import irfndConfig from '@irfnd/prettier-config';

const config = {
  ...irfndConfig,
  plugins: [
    ...irfndConfig.plugins,
    'prettier-plugin-tailwindcss',
  ],
} satisfies Config;

export default config;
```

> **Important:** Spread `irfndConfig.plugins` as the first element to ensure `prettier-plugin-organize-imports` remains active alongside any additional plugins.

## License

[MIT](./LICENSE)
npm package: @iricbing/nestjs-ali-express
Description: 自用nestjs 阿里云快递物流查询插件
Author: Iric
Latest version: 0.0.4

# Nest.js 阿里云-全国快递物流查询API接口-插件
注意：<font color="#dd0000">仍在开发中，目前仅在内部使用</font><br /> 
产品地址：https://market.aliyun.com/products/57126001/cmapi011120.html

## 使用说明
- 外部人员仅供参考，请不要用于生产环境，因此导致的事故后果请自行承担。
- 目前仅支持App Code验证方式，计划2.x版本支持App Key验证方式。
- TS target es2017

### 安装
`$ npm i @iricbing/nestjs-ali-express` <br />
or <br />
`$ yarn add @iricbing/nestjs-ali-express`<br />
推荐使用yarn

### 配置
```typescript
import { AliExpressModule } from '@iricbing/nestjs-ali-express'

@Module({
  imports: [
    AliExpressModule.forRoot({
      appCode: config.Ali.Express.AppCode,  //账号，appCode，appKey和appSecret
      appKey: config.Ali.Express.AppKey,
      appSecret: config.Ali.Express.AppSecret,
    })
  ]
})
export class AppModule { }
```
npm package: @iricbing/nestjs-mp
Description: 自用nestjs 小程序插件
Author: Iric
Latest version: 0.2.3

# nestjs 小程序插件

注意：<font color="#dd0000">仍在开发中，目前仅在内部使用</font><br /> 

## 使用说明

* 外部人员仅供参考，请不要用于生产环境，因此导致的事故后果请自行承担。
* TS target es2017

### 安装

`$ npm i @iricbing/nestjs-mp` <br />
or <br />
`$ yarn add @iricbing/nestjs-mp` <br />
推荐使用yarn

### 配置

``` typescript
import { MpModule } from '@iricbing/nestjs-mp'

@Module({
  imports: [
    MpModule.forRoot({
      appId: config.MiniProgram.AppId, // 小程序appid
      appSecret: config.MiniProgram.AppSecret //小程序app secret
    })
  ]
})
export class AppModule { }
```

### 小程序登录

``` typescript
import { Body, Controller, HttpStatus, Post, HttpStatus, HttpException } from "@nestjs/common";
import { ApiOkResponse, ApiOperation, ApiTags } from "@nestjs/swagger";
import { Response } from 'express';
import { LantUtil } from "../../../utils/lant.util";
import { SystemLogAppender } from "../../log/constants/log.constant";
import { LogService } from "../../log/services/log.service";
import { LoginMpReqDto } from "../dtos/mp/login.mp.req.dto";
import { LoginMpResDto } from "../dtos/mp/login.mp.res.dto";
import { MpService } from "@iricbing/nestjs-mp";

@ApiTags('user')
@Controller('mp/users')
export class UserMpController {
  constructor(
    private readonly mpService: MpService,
    private readonly logService: LogService,
    private readonly lantUtil: LantUtil
  ) { }

  @ApiOperation({ summary: '小程序用户登录' })
  @ApiOkResponse({ description: '用户token信息', type: LoginMpResDto })
  @Post('login')
  async login(@Body() body: LoginMpReqDto):Promise<LoginMpResDto> {
    try {
      const { success, userInfo, errorMessage } = await this.mpService.login(body.temp_code, body.raw_data, body.signature, body.encrypted_data, body.iv);

      console.log(success, userInfo, errorMessage)
      return null;
    } catch (error) {
      if (error instanceof HttpException) throw error;
      this.logService.fatal(SystemLogAppender.user, `Mp user login by ${JSON.stringify(body)} failed and error is ${error}` , this.lantUtil.parseError(error));
      throw new HttpException(error, HttpStatus.INTERNAL_SERVER_ERROR);
    }
  }
}
```

### 特殊说明

* 登录时，小程序模拟器第一次调用会出现签名校验失败的错误，之后都是正常的，因此在调用login的接口中最后一个参数为默认参数，默认检查签名，可设置为false不去校验。