windychen
  • Joined on 2026-05-28

windychen-utils (1.1.6)

Published 2026-07-16 14:20:54 +08:00 by windychen in windychen/windyChenUtils

Installation

registry=https://gitea.windychen00n.work/api/packages/windychen/npm/
npm install windychen-utils@1.1.6
"windychen-utils": "1.1.6"

About this package

Windychen Utils

轻量级 JavaScript/TypeScript 工具库,提供对象、数组、存储等常用扩展方法。

安装

npm install windychen-utils

使用

Node.js / Bun.js

require('windychen-utils');

// Object 扩展
const obj = { a: { b: { c: 1 } } };
obj.getPro('a.b.c');        // 1
obj.setPro('x.y.z', 'hello');

// Array 扩展
[{ id: '1' }, { id: '2' }].findPro('id', '2');

浏览器

<script src="dist/windychen-utils.js"></script>

ES Module

import from 'windychen-utils/dist/windychen-utils.esm.js';

API 参考

Object

方法 说明 示例
getPro(path, default?) 安全获取嵌套属性,支持特殊键名 obj.getPro('a.b.c') / obj.getPro("['x.y'].z")
setPro(path, value) 设置嵌套路径值,自动创建中间对象 obj.setPro('foo.bar', 1)

路径格式支持:

  • 普通点分隔:'a.b.c'
  • 特殊键名:"['key.with.dot']"
  • 混合:"['a.b'].c['d.e']"

Array

方法 说明 示例
findPro(fn | key, val?) 增强查找 arr.findPro('id', '2')
filterPro(fn | key, val?) 增强过滤 arr.filterPro('user.name', 'Alice')
findIndexPro(fn | key, val?) 增强索引查找 arr.findIndexPro('status', 1)
findLastPro(fn | key, val?) 从末尾查找 arr.findLastPro('type', 'b')
somePro(fn | key, val?) 任一匹配 arr.somePro('active', true)
everyPro(fn | key, val?) 全部匹配 arr.everyPro('valid', true)

三种调用方式:

// 回调函数(同原生)
arr.findPro(item => item.id > 1);

// 单值精确匹配
['aa', 'bb'].findPro('bb');

// key-value 匹配(支持嵌套路径)
[{ user: { name: 'Bob' } }].findPro('user.name', 'Bob');

Storage(浏览器环境)

自动选择存储后端:

  • 支持 IndexedDB → 使用 IDBStorage
  • 仅支持 localStorage → 使用 ILocalStorage(内存缓存)
import storage from 'windychen-utils';

await storage.set('key', { data: 123 });
await storage.get('key', null);  // { data: 123 }

构建

npm run build       # 打包全部 (CJS + ESM + UMD)
npm run build:cjs   # CommonJS
npm run build:esm   # ES Module
npm run build:umd   # UMD (浏览器)
npm test            # 运行测试

License

ISC

Dependencies

Dependencies

ID Version
better-sqlite3 ^12.10.0

Development Dependencies

ID Version
webpack ^5.90.0
webpack-cli ^5.1.4
Details
npm
2026-07-16 14:20:54 +08:00
0
windychen
ISC
26 KiB
Assets (1)
Versions (5) View all
1.1.12 2026-07-21
1.1.11 2026-07-21
1.1.8 2026-07-16
1.1.7 2026-07-16
1.1.6 2026-07-16