一些常见的pure-js工具函数,适用于任何场景
npm install @gaubee/util1. 个人项目经验,涵盖大量常用函数集合,建议与 deno 的 @std/* 互为补充。
> 这个库中与 @std 系列有一些交集,交集的部分通常是我个人觉得我自己的实现更好:
>
> - 可能是性能上更好
> - 可能是使用体验上更易用好用
> - 可能是条件边界覆盖更全。
2. 这个库不会包含垫片相关的,只要在 esnext 范畴内我都会使用,所以请自行处理垫片相关的问题
install:
``bash`
npm install @gaubee/util
pnpm install @gaubee/util
yarn install @gaubee/util
deno add @gaubee/util
bun add @gaubee/util
usage:
> 注意,本项目没有副作用了,对 Tree-Shaking 支持良好,你可以直接 import 一整个包,最终 bundle 的时候,只会包含你实际使用的部分。
`ts`
import { delay } from "@gaubee/util";
1. 个人项目经验,涵盖大量常用函数集合,建议与 deno 的 @std/* 互为补充。
> 这个库中与 @std 系列有一些交集,交集的部分通常是我个人觉得我自己的实现更好:
>
> - 可能是性能上更好
> - 可能是使用体验上更易用好用
> - 可能是条件边界覆盖更全。
2. 这个库通常不会包含垫片相关的,只要在 esnext 范畴内我都会使用,所以请自行处理垫片相关的问题
> 例如 Promise.withResolvers
- 参考链接:jsr-docs 文档
- 参考链接:deepwiki-docs 文档
- abort_signal_merge:(..._signals: (AbortSignal | undefined | null)[]) => AbortSignal | undefined
-
- 将 N 个 AbortSignal 合并成 0/1 个
- arr_set_next:(arr: Array
- sparse_arr_get_first
- 在数组末尾追加元素
- :
- sparse_arr_get_first_or_null
- 取数组第一个元素(跳过稀疏部分),不存在则抛出异常
- :
- sparse_arr_get_first_or_default
- 取数组第一个元素(跳过稀疏部分),不存在则返回 undefined
- :
- arr_get_first
- 取数组第一个元素(跳过稀疏部分),不存在则返回默认值
- :
- arr_get_first_or_null
- 取数组第一个元素(下标 0),不存在则抛出异常
- :
- arr_get_first_or_default
- 取数组第一个元素(下标 0),不存在则返回 undefined
- :
- sparse_arr_get_last
- 取数组第一个元素(下标 0),不存在则返回默认值
- :
- sparse_arr_get_last_or_null
- 取数组最后一个元素(跳过稀疏部分),不存在则抛出异常
- :
- sparse_arr_get_last_or_default
- 取数组最后一个元素(跳过稀疏部分),不存在则返回 undefined
- :
- arr_get_last
- 取数组最后一个元素(跳过稀疏部分),不存在则返回默认值
- :
- arr_get_last_or_null
- 取数组最后一个元素(下标 length-1),不存在则抛出异常
- :
- arr_get_last_or_default
- 取数组最后一个元素(下标 length-1),不存在则返回 undefined
- :
- arr_remove_first
- 取数组最后一个元素(下标 length-1),不存在则返回默认值
- :
-
- 移除数组中指定的第一个匹配项,返回移除的索引,未找到返回 -1
- bigint_gcd:(left: bigint, right: bigint) => bigint
-
- 计算两个 bigint 的最大公约数 (GCD)
- date_clone:(date: Date) => Date
- Duration
- 克隆 Date 对象
- :type Duration = { year: number; month: number; day: number; minutes: number; seconds: number; milliseconds: number; }
- date_add_duration
- 人类可读的时间对象类型
- :(date: Date, duration: Partial
- date_to_duration
- 向 Date 对象添加时间段
- :(date: Date) => Duration
- date_set_duration
- 将 Date 对象转换为 Duration 对象
- :(date: Date, duration: Partial
- FormatifyDate
- 设置 Date 对象的指定时间部分
- :type FormatifyDate = { ... }
- date_formatify
- 用于格式化的日期信息对象类型
- :(date: string | number | Date) => FormatifyDate
- date_format
- 将日期转换为易于格式化的信息对象
- :(format: string, date: string | number | Date) => string
-
- 根据指定模板格式化日期
- func_debounce:
- isPending
- 创建一个防抖函数,延迟执行提供的函数直到等待时间过去。包含 , cancel, source, flush 方法。DebouncedFunction`: 带有额外控制方法的函数类型
-