@consumidor-positivo/ts-utils (英语)
用于 Consumidor Positivo 项目的 TypeScript 工具库 .
安装
npm install @consumidor-positivo/ts-utils
使用量
工具函数
import { range } from '@consumidor-positivo/ts-utils';
// Generate an array of sequential numbers
const numbers = range(5);
console.log(numbers); // [0, 1, 2, 3, 4]
反应钩 (可选)
库还提供可单独导入的回放钩. 这些钩子是可选的,需要反应作为同级依赖.
使用 Persisted 状态
import { usePersistedState } from '@consumidor-positivo/ts-utils/hooks';
function UserPreferences() {
// Persist state in localStorage (default)
const [preferences, setPreferences, clearPreferences] = usePersistedState('user-preferences', {
theme: 'light',
fontSize: 14
});
// Persist state in sessionStorage
const [sessionData, setSessionData] = usePersistedState('session-data',
{ isLoggedIn: true },
{ storage: 'session' }
);
const toggleTheme = () => {
setPreferences({
...preferences,
theme: preferences?.theme === 'light' ? 'dark' : 'light'
});
};
return (
<div>
<p>Current theme: {preferences?.theme}</p>
<button onClick={toggleTheme}>Toggle Theme</button>
<button onClick={clearPreferences}>Reset Preferences</button>
</div>
);
}
见 文档 用于更详细的示例和 API 参考.
发展指导方针
此库旨在包含 只有通用的公用函数 可以安全地用于客户端应用程序。 在作出贡献时,请遵守这些重要原则:
- 没有商业逻辑: 此库不应包含任何具体业务的逻辑或规则.
- 无内部请求:不包括API呼叫或请求内部服务.
- 无敏感代码: 避免包含任何敏感信息或算法.
- 客户端安全:所有公用设施应适合用于浏览器环境.
这个库的目的是提供可再用,通用的公用功能,帮助不同Consumidor Positivo项目执行共同的编程任务.
捐款
请读我们的 贡献指南 详细介绍我们的开发进程、Git工作流程以及如何提交拉动请求.
文档
生成文档
要生成图书馆文件,请运行:
npm run docs
文件将编入本报告 docs/ 目录.
本地查看文档
要在本地服务器上生成并查看文档, 请运行 :
npm run docs:serve
这将启动一个本地服务器,文件将在http://localhost:3000上提供.
建立图书馆和文件
为了建设图书馆和文件,运行:
npm run build:all
测试
这个库使用Vitest进行测试. 以下是可用的测试命令 :
运行测试
npm test
在监视模式下运行测试
npm run test:watch
进行覆盖测试
npm run test:coverage
用 UI 运行测试
npm run test:ui
许可证
独资 - 孔苏米多·波西蒂沃