open-index/open-npm huggingface dataset:
npm package: @ip2geo/sdk
Description: Programmatically convert IP's into GEO location data.
Author: Ip2Geo
Latest version: 0.0.2

<div align='center'>
   <a href='https://ip2geo.dev'>
        <img 
            src='https://cdn-prod.ip2geo.dev/assets/npm/generals/ip2geo.svg' 
            alt='Ip2Geo Logo' 
        />
   </a>

   <br />
</div>

<p align='center'>
    Your go-to IP-to-Geo cloud service — fast, accurate, and built for developers. Start free with 2,000 monthly stored conversions.
</p>

<p align='center'>
    <a href='https://ip2geo.dev'>
        <b>
            Website
        </b>
    </a> 
    •
    <a href='https://app.ip2geo.dev'>
        <b>
            Dashboard
        </b>
    </a> 
    •
    <a href='https://docs.ip2geo.dev'>
        <b>
            Documentation
        </b>
    </a>
    •
    <a href='https://status.ip2geo.dev'>
        <b>
            Services Status
        </b>
    </a>
</p>

<br />

## Intro to the Npm Package

This package provides a lightweight, type-safe way to integrate Ip2Geo. Blazingly fast and works with Node, Bun, and Deno out of the box.

### Installing
```bun
npm i @ip2geo/sdk@latest
```

### Initializing
```typescript
import { Init } from '@ip2geo/sdk'
import { Env } from '@/data'

await Init(Env.IP2GEO_API_KEY)
```

### Using
```typescript
import { ConvertIP, ConvertIPs } from '@ip2geo/sdk'

const convertedIp = await ConvertIP({
    ip: '8.8.8.8'
})

const convertedIps = await ConvertIPs({
    ips: [
        '8.8.8.8',
        '1.1.1.1',
        '9.9.9.9',
        '64.6.64.6'
    ]
})

// {
//     success: boolean
//     code: number
//     message: string
//     data: Ip | null
//     _req: {
//          reqId: string | null
//          resTime: number
//     }
// }

// {
//     message: string
//     code: number
//     sucess: boolean
//     data: [
//         {
//             ip: string
//             conversion: Ip | null
//         }
//     ],
//     _req: {
//          reqId: string | null
//          resTime: number
//     }
// }
```
npm package: @ipa-community/element-plus
Description: based on [vue-component-library](https://github.com/ipa-community/vue-component-library)
Latest version: 0.0.31

# @ipa-community/element-plus

based on [vue-component-library](https://github.com/ipa-community/vue-component-library)

1. [unplugin-vue-component](https://github.com/unplugin/unplugin-vue-components#readme)
2. [unplugin-auto-import](https://github.com/unplugin/unplugin-auto-import)
3. [unplugin-icon](https://github.com/unplugin/unplugin-icons)
4. [unplugin-vue-router](https://github.com/posva/unplugin-vue-router)
5. [vue-i18n](https://vue-i18n.intlify.dev/guide/essentials/started.html)
6. [vueuse](https://vueuse.org/)
7. [lodash-es](https://lodash.com/)
8. [commitlint](https://commitlint.js.org/guides/getting-started.html)
9. [prettier](https://prettier.io/)
10. [eslint](https://zh-hans.eslint.org/docs/latest/use/getting-started)
11. [vitest](https://cn.vitest.dev/)
12. [simple-git-hooks](https://github.com/toplenboren/simple-git-hooks/tree/master)
13. [husky](https://typicode.github.io/husky)
14. [release-it](https://github.com/release-it/release-it)

## branch

1. `branch main` is the common branch
2. `branch feat/main/element-plus` = `branch main` + `element-plus ui framework`
3. `branch feat/main/naive-ui` = `branch main` + `naive ui framework`

## tips

1. `import { createApp } from "@/shared";`

## usage

1. install dependencies

```bash
bun i
```

2. run dev server

```bash
bun run dev
```

3. build library

```bash
bun run build:lib
```

4. build the total project

```bash
bun run build
```

or

```bash
bun run build:hash
```

4. run test

```bash
bun run test
```

5. lint and format code

```bash
bun run lint
bun run format
```

6. release library

```bash
bun run release
```

or test release

```bash
bun run release --dry-run
```

## TODO

- [ ] decrease package size
npm package: @ipa-community/vue-component-library
Description: This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.
Latest version: 0.0.3

# vite7 + vitest + i18n + prettier + eslint + unplugin... + husky

This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.

Learn more about the recommended Project Setup and IDE Support in the [Vue Docs TypeScript Guide](https://vuejs.org/guide/typescript/overview.html#project-setup).

1. [unplugin-vue-component](https://github.com/unplugin/unplugin-vue-components#readme)
2. [unplugin-auto-import](https://github.com/unplugin/unplugin-auto-import)
3. [unplugin-icon](https://github.com/unplugin/unplugin-icons)
4. [unplugin-vue-router](https://github.com/posva/unplugin-vue-router)
5. [vue-i18n](https://vue-i18n.intlify.dev/guide/essentials/started.html)
6. [vueuse](https://vueuse.org/)
7. [lodash-es](https://lodash.com/)
8. [commitlint](https://commitlint.js.org/guides/getting-started.html)
9. [prettier](https://prettier.io/)
10. [eslint](https://zh-hans.eslint.org/docs/latest/use/getting-started)
11. [vitest](https://cn.vitest.dev/)
12. [simple-git-hooks](https://github.com/toplenboren/simple-git-hooks/tree/master)
13. [husky](https://typicode.github.io/husky)
14. [release-it](https://github.com/release-it/release-it)

## branch

1. `branch main` is the common branch
2. `branch feat/main/element-plus` = `branch main` + `element-plus ui framework`
3. `branch feat/main/naive-ui` = `branch main` + `naive ui framework`

## tips

1. `import { createApp } from "@/shared";`

## usage

1. install dependencies

```bash
bun i
```

2. run dev server

```bash
bun run dev
```

3. build library

```bash
bun run build:lib
```

4. build the total project

```bash
bun run build
```

or

```bash
bun run build:hash
```

4. run test

```bash
bun run test
```

5. lint and format code

```bash
bun run lint
bun run format
```

6. release library

```bash
bun run release
```

or test release

```bash
bun run release --dry-run
```
npm package: @ipa-oss/s3-like
Description: `cloudflare R2`兼容`S3`
Latest version: 0.0.1

# `@ipa-oss/s3-like`

`cloudflare R2`兼容`S3`

据`llm`说，目前市面上主流的对象存储都兼容`s3`接口

## 使用指导

1. 相关环境变量：`S3_API_TOKEN、S3_ENDPOINT、S3_ACCESS_KEY_ID、S3_SECRET_ACCESS_KEY`

## 运行说明

To install dependencies:

```bash
bun install
```

To run:

```bash
bun run index.ts
```

This project was created using `bun init` in bun v1.2.15. [Bun](https://bun.sh) is a fast all-in-one JavaScript runtime.
npm package: @ipa-pia/logic-liteflow
Description: 基于logicflow创建流程，生成符合liteflow规则的产物
Author: yabcd & xdewx
Latest version: 1.0.1

# logic-liteflow

项目基于[logicflow-liteflow](https://www.npmjs.com/package/logicflow-liteflow)扩展而来

将logicflow生成的图形数据转化为liteflow规则，支持拖拽和实时预览liteflow规则，支持 then、when、switch和循环节点

## 使用步骤

项目已上传至npm仓库

1. 下载

```
npm/pnpm install logic-liteflow
```

2. 导入（这里默认注册了需要的组件）

```ts
import {LiteFlow} from 'logic-liteflow';
```

3. 作为LogicFlow插件使用

```ts
new LogicFlow({
    ...,
    plugins: [LiteFlow],
})
```

4. 解析为liteFlow表达式

```ts
import {parse} from 'logic-liteflow';

data = lf.getGraphRawData()
parse(data);
```

## 仅使用解析功能
如果想要自定义图形界面，仅使用解析功能，需要保证图形数据至少有以下的属性
```ts
interface Data {
    nodes: {
        id: string;
        type: "COMMON" | "SWITCH" | "IF" | "LOOP";

        //仅循环需要的属性
        flowData?: Data;//循环包含的内容
        properties?: {
            name: "FOR" | "WHILE" | "ITERATOR";
            startNum?: number; //循环次数，当name为FOR时生效，同时startId失效。
        };

        startId?: string; //循环节点id
        breakId?: string; //跳出循环节点id
    }[];
    edges: {
        sourceNodeId: string,
        targetNodeId: string
    };
}
```


## 自定义节点样式
你可以用任何logicflow支持的方式自定义节点（继承项目中的或是自己写），并注册为项目已有type(COMMON,IF,LOOP,SWITCH)，这会覆盖默认注册的组件
如果重写loop节点，注意在getData中输出上面5中需要的属性


## 运行实例项目
通过gitee直接下载本项目运行试试看。

### 项目截图

![Alt text](./src/assets/image1.png)

### 启动步骤

```
npm install
npm run dev
```

### id生成和数据保存

id从1开始自动递增，和图形数据一起保存在localstorage中，可以自行修改


### IF 节点的使用

1. 最稳妥的使用方式当然是有两个分支，并且连线上标明true和false（false可以省略）

![](./src/assets/if3.png)

2. liteFlow中有IF(x,a)的语法，但是从图上不好判断IF节点何时结束，所以用空分支指向结束位置。

![](./src/assets/if2.png)

2. 为了方便，当if节点在最后时可以只有一个分支，指定为true
   ![](./src/assets/if1.png)

### 循环节点的使用(更新)

循环节点更换成单独的一个节点
![](./src/assets/for1.png)
![](./src/assets/for2.png)
![](./src/assets/while.png)
![](./src/assets/interator.png)