open-index/open-npm huggingface dataset:
npm package: @some0neelse/get-webp-duration
Description: Get WebP animation duration by parsing RIFF structure directly in the browser
Author: some0neelse
Latest version: 1.0.0

# @some0neelse/get-webp-duration

Get WebP animation duration by parsing RIFF structure directly in the browser.

## Installation

```bash
npm install @some0neelse/get-webp-duration
```

## Usage

```typescript
import { getWebPDurationMs } from '@some0neelse/get-webp-duration';

const duration = await getWebPDurationMs('https://example.com/animation.webp');
// Returns: number (duration in milliseconds) | 0 (static WebP) | null (error)
```

## API

### `getWebPDurationMs(url: string): Promise<number | null>`

Calculates the total duration of a WebP animation by analyzing its RIFF binary structure directly in the browser.

**Parameters:**

- `url` - URL of the WebP file

**Returns:**

- `number` - Total duration of all animation frames in milliseconds
- `0` - If WebP is valid but static (no ANIM/ANMF chunks)
- `null` - If the file cannot be loaded or doesn't match WebP format

**Note:** This calculates the "duration from file metadata", not the actual playback duration in browsers (browsers may override very small delays).

## License

MIT
npm package: @some19ice/nigeria-geo-core
Description: Core geographic data for Nigeria - States, LGAs, and search utilities
Author: Nigeria Geo Contributors
Latest version: 0.1.4

# @some19ice/nigeria-geo-core

> Complete Nigerian States and LGAs Database for JavaScript & TypeScript

[![npm version](https://img.shields.io/npm/v/@some19ice/nigeria-geo-core.svg)](https://www.npmjs.com/package/@some19ice/nigeria-geo-core)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)

All **37 Nigerian states** (36 + FCT) and **774 Local Government Areas** with coordinates, fuzzy search, and full TypeScript support.

## Installation

```bash
npm install @some19ice/nigeria-geo-core
# or
pnpm add @some19ice/nigeria-geo-core
```

## Quick Start

```typescript
import {
  getStates,
  getStateById,
  getLGAsByState,
  searchLocations,
} from '@some19ice/nigeria-geo-core';

// Get all 37 Nigerian states
const states = getStates();

// Get Lagos State with capital and coordinates
const lagos = getStateById('lagos');
// { id: 'lagos', name: 'Lagos', capital: 'Ikeja', zone: 'South West', ... }

// Get all 20 LGAs in Lagos State
const lagosLGAs = getLGAsByState('lagos');

// Fuzzy search - handles typos!
const results = searchLocations('ikeha'); // finds "Ikeja"
```

## API Reference

### States

| Function | Description |
|----------|-------------|
| `getStates()` | Get all 37 Nigerian states |
| `getStateById(id)` | Get state by slug (e.g., `'lagos'`) |
| `getStateByName(name)` | Get state by name (case-insensitive) |
| `getStatesByZone(zone)` | Get states by geopolitical zone |
| `getStateCount()` | Returns 37 |

### LGAs

| Function | Description |
|----------|-------------|
| `getLGAs()` | Get all 774 Nigerian LGAs |
| `getLGAById(id)` | Get LGA by slug |
| `getLGAsByState(stateId)` | Get all LGAs in a state |
| `getLGAByName(name, stateId?)` | Get LGA by name |
| `getLGACount()` | Returns 774 |

### Search

| Function | Description |
|----------|-------------|
| `searchStates(query)` | Fuzzy search Nigerian states |
| `searchLGAs(query)` | Fuzzy search LGAs |
| `searchLocations(query)` | Search both states and LGAs |

## Data Structure

**State:**
- `id` - Slug identifier (e.g., `'lagos'`)
- `name` - Official name (e.g., `'Lagos'`)
- `capital` - State capital
- `zone` - Geopolitical zone (North Central, North East, North West, South East, South South, South West)
- `coordinates` - Centroid `{ latitude, longitude }`
- `bbox` - Bounding box `[minLng, minLat, maxLng, maxLat]`
- `isoCode` - ISO 3166-2:NG code

**LGA:**
- `id` - Slug identifier
- `name` - Official name
- `stateId` - Parent state ID
- `coordinates` - Centroid
- `bbox` - Bounding box

## License

MIT © [Some19ice](https://github.com/Some19ice)

---

**Keywords:** Nigeria states list, Nigerian LGAs, Nigeria local government areas, Lagos LGAs, Nigerian states API, Nigeria geography data, Nigerian address database
npm package: @some19ice/nigeria-geo-viz
Description: Visualization components for Nigeria maps - React components and TopoJSON assets
Author: Nigeria Geo Contributors
Latest version: 0.1.4

# @some19ice/nigeria-geo-viz

> Interactive Nigeria Map Components for React - States & LGAs with Choropleth Support

[![npm version](https://img.shields.io/npm/v/@some19ice/nigeria-geo-viz.svg)](https://www.npmjs.com/package/@some19ice/nigeria-geo-viz)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)

Render interactive **Nigeria maps** in React with state and LGA boundaries, choropleth data visualization, and click/hover interactions.

## Installation

```bash
npm install @some19ice/nigeria-geo-viz react
# or
pnpm add @some19ice/nigeria-geo-viz react
```

## Quick Start

```tsx
import { NigeriaMap } from '@some19ice/nigeria-geo-viz/react';

function App() {
  return (
    <NigeriaMap
      width={600}
      height={500}
      onStateClick={(stateId) => console.log('Clicked:', stateId)}
    />
  );
}
```

## Examples

### Choropleth Map (Data Visualization)

```tsx
<NigeriaMap
  width={600}
  height={500}
  choroplethData={{
    lagos: 100,
    kano: 80,
    rivers: 60,
    fct: 40,
  }}
  colorScale={['#f0f9ff', '#0284c7']}
/>
```

### LGA-Level Map

```tsx
import { LGAMap } from '@some19ice/nigeria-geo-viz/react';

// Show all LGAs in Lagos State
<LGAMap
  width={400}
  height={400}
  stateId="lagos"
  onLGAClick={(lgaId) => console.log('Clicked:', lgaId)}
/>
```

### Direct TopoJSON Access

```typescript
import statesGeo from '@some19ice/nigeria-geo-viz/assets/nigeria-states.topo.json';
import lgasGeo from '@some19ice/nigeria-geo-viz/assets/nigeria-lgas.topo.json';
```

## Components

### `<NigeriaMap />`

| Prop | Type | Default | Description |
|------|------|---------|-------------|
| `width` | `number` | `600` | Map width in pixels |
| `height` | `number` | `500` | Map height in pixels |
| `onStateClick` | `(stateId: string) => void` | - | State click handler |
| `onStateHover` | `(stateId: string \| null) => void` | - | State hover handler |
| `showLabels` | `boolean` | `false` | Show state name labels |
| `choroplethData` | `Record<string, number>` | - | Data values for coloring |
| `colorScale` | `string[]` | Blues | Min/max colors for choropleth |
| `theme` | `Partial<MapTheme>` | - | Custom styling |

### `<LGAMap />`

Same props as `NigeriaMap`, plus:

| Prop | Type | Description |
|------|------|-------------|
| `stateId` | `string` | Filter to show only LGAs in this state |
| `onLGAClick` | `(lgaId: string) => void` | LGA click handler |
| `onLGAHover` | `(lgaId: string \| null) => void` | LGA hover handler |

## Theming

```tsx
<NigeriaMap
  theme={{
    backgroundColor: '#1a1a2e',
    defaultFill: '#16213e',
    strokeColor: '#0f3460',
    hoverFill: '#e94560',
    selectedFill: '#533483',
    labelColor: '#ffffff',
  }}
/>
```

## License

MIT © [Some19ice](https://github.com/Some19ice)

---

**Keywords:** Nigeria map React, Nigerian states map component, Nigeria choropleth map, Nigeria SVG map, Nigerian LGA map, Nigeria data visualization, interactive Nigeria map JavaScript
npm package: @some21/autoversion
Description: 这是一个用于更新开发项目版本的插件包，作者很懒，拖更比较久，偶尔做迭代。
Author: Yancy
Latest version: 0.0.5

# @some21/autoversion

这是一个用于更新开发项目版本的插件包，作者很懒，拖更比较久，偶尔做迭代。

够用就行

## 安装

```bash
# 本地安装
$cnpm i -D @some21/autoversion

# 全局安装
$cnpm i -g @some21/autoversion
```

## 使用方法

- 本地安装可使用指令

```bash
# 查看指令帮助
$npx autoversion -h

# 更新版本
$npx autoversion up
```

- 全局安装可使用指令

```bash
# 查看指令帮助
$autoversion -h

# 更新版本
$autoversion up
```

## 此插件的基本包和过程，大家可以参考

[开发流程说明](https://gitee.com/some21/autoversion/blob/master/README.plugins.help.md)
npm package: @some21/element-ui-plus
Description: Element UI 的扩展UI
Author: Yancy
Latest version: 0.0.18

# 目前处于测试阶段

## 打包 UMD 时候的情况记录

进行 UMD 打包时 `package.json` 文件中的 `dependencies` 会打包到 UMD 模块输出路径中，但会排除 `dependencies` 中存在，同时 `peerDependencies` `devDependencies` 也存在的相关模块，最终打包的结果为 `dependencies` 与 `peerDependencies` `devDependencies` 的差集

### Babel 的一些特殊插件

```js

["@babel/plugin-transform-runtime", { corejs: false /*解决 helper 函数重复引入*/ }
"@babel/plugin-proposal-object-rest-spread", //扩展运算符 ...
["@babel/plugin-proposal-decorators", { "decoratorsBeforeExport": false, "legacy": true }], //启用装饰器的识别
"@babel/plugin-syntax-dynamic-import", //顶层 import
"@babel/plugin-proposal-optional-chaining" //可选链 ?.
["@babel/plugin-proposal-pipeline-operator", { "proposal": "smart" }] //空值合并运算符 ??

```

### 解除包的发布

```bash
npm unpublish 包版本 --registry=https://registry.npmjs.org/
    "@some21/element-ui-plus": "file:./",

```

// 转换输出 .d.ts 文件中的路径

```JSON
{ "transform": "typescript-transform-paths", "afterDeclarations": true }
```

## rollup.config.ts 作为 配置文件直接执行指令时的注意事项

- 安装插件 `rollup-plugin-typescript2` (注意：`@rollup/plugin-typescript` 可能会有 BUG)
- 在`tsconfig.json` 中的 includes 中加入 `rollup.config.ts`，加入文件以后需要注意 rootDir 必须为 rollup.config.ts 文件所在目录，否则可能出现问题
- 执行指令时，把指令放到`package.json` 的 `scripts` 当中后使用 `npm run XXX` 运行；除非全局安装了`rollup` 及 插件 `rollup-plugin-typescript2`
  - 允许给 `XXX` 指定参数 写法为`npm run XXX={...}`
npm package: @some21/h5-plus
Description: web 的一些扩展
Author: Yancy
Latest version: 0.0.14

# H5-plus

移动端扩展库

~~如果使用 UMD 方式加载时，需要在加载资源之前进行 `CryptoJS`【`backbutton`模块所需】 加载（至少保证 `crypto-jS/core` `crypto-jS/md5` ）或全部加载`crypto-jS/crypto-js.js`~~

## backbutton

返回按钮事件扩展

|   成员名   |   类型   | 说明                |
| :--------: | :------: | :------------------ |
| EVENT_NAME |  string  | 固定为 `backbutton` |
|  destory   | Function | 释放监听            |

- 使用方法

```js
import { backbutton } from "@some21/h5-plus";
const back = new backbutton.BackButton(() => {
  // 点击后退时候执行的事件
});

//页面离开钱或关闭窗口前需要调用此方法进行释放
back.destory();
```

## flexible

px 转 rem 计算控制模块

> <font color="red">
> 仅允许初始化一次！！！后续再次调用不再受影响
> </font>

| 成员名 |                              类型                              | 说明                                          |
| :----: | :------------------------------------------------------------: | :-------------------------------------------- |
|  init  | (originalDesignWidth:number,"portrait"&#124;"landscape")=>void | 初始化。给定设计稿宽度和方向来初始化 flexible |

- 使用方法

```js
import { flexible } from "h5-plus";
flexible(365, "portrait"); // 初始化为竖屏
// 或
flexible(1366, "landscape"); // 初始化为横屏
```

### 使用方法

## orientation

旋转监听模块

> <font color="red">
> 注意！！！！！！<br>
> 虽然监听了屏幕方向变化，<br>
> 但是实际上是根据屏幕变化后宽高情况来决定当前的屏幕方向的<br>
> 使用该方式来监听会比直接监听 resize 来的准确，推荐使用！！
> </font>

|       成员名        |          类型          | 说明             |
| :-----------------: | :--------------------: | :--------------- |
| getCurrentOriention | `portrait` `landscape` | 获取当前屏幕方向 |

### 使用方法

```js
// 引入js后
window.addEventListener(
  "orientationchanged",
  e => {
    // 方向变化后执行的操作
  },
  false,
);
```

## utils

一些通用方法

|  成员名   |  类型   | 说明                                                                                          |
| :-------: | :-----: | :-------------------------------------------------------------------------------------------- |
| IS_MOBILE | boolean | 是否移动端访问                                                                                |
|   IS_IE   | boolean | 是否 IE 浏览器访问                                                                            |
|  BROWSER  | string  | 当前是使用的什么浏览器打开 <br>- `Dingtalk` 钉钉<br>- `Wechat` 微信<br>- `Browser` 其他浏览器 |
npm package: @some21/vue-class-decorator
Description: - 没有特殊情况，该文件夹下的文件无需做任何调整
Author: Yancy
Latest version: 0.0.8

# 插件说明

本插件集成 `vue-class-component` 和 `vue-property-decorator` 的仓库，保证注册路由钩子时，钩子函数能有效果。

代码来源参照 `vue-class-decorator` 并进行了一定的修改

## 代码参照

- 关于 Vue 组件代码块，可参考一下模版，与本文件夹内组件相关

```json
{
  // Place your snippets for vue here. Each snippet is defined under a snippet name and has a prefix, body and
  // description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
  // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the
  // same ids are connected.
  // Example:
  "Print to console": {
    "prefix": "vue-ts-scss",
    "body": [
      "<template>",
      "  <div class=\"${0:ComponentName}\">",
      "  </div>",
      "</template>",
      "",
      "<script lang=\"ts\">",
      "  import { Component, Vue } from \"@some21/vue-class-decorator\";",
      "",
      "  @Component({",
      "    name:\"${0:ComponentName}\"",
      "  })",
      "  export default class extends Vue {",
      "  }",
      "</script>",
      "",
      "<style lang=\"scss\" scoped>",
      "</style>"
    ],
    "description": "建立Vue文件时候所使用的默认模版"
  }
}
```