npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@jcweb-cd/utils

v0.0.1-alpha.3

Published

jcweb基础库-基础工具方法

Downloads

81

Readme

jcweb-cd 基础工具库

数组操作

  • arrayIncludes: 检查数组是否包含指定的元素或元素数组。
  • chunk: 将一维数组按指定大小分割成二维数组。
  • arrayToMap: 将对象数组转换为Map,使用指定的属性作为键。
  • toggleArrayElement: 切换数组中的元素。

树结构操作

  • calculateNodeLine: 计算树结构中指定节点的行数。
  • arrayToTree: 将对象数组转换为树形结构。
  • filterTreeWithSubtrees: 在树结构中查找匹配的节点并返回它们及其子树。
  • findNodePath: 在树结构或扁平结构中查找节点的路径。。
  • flattenTree: 将树结构数组数据全部一维化的函数。
  • findNodesInTree: 在树形数组中查找所有匹配的节点。
  • findNodesAndAncestorsInTree: 在树结构中搜索匹配给定条件的所有节点,并返回匹配的节点及其所有祖先节点。
  • findNodeInTree: 在树形数组中查找指定节点。

对象操作

  • compareObjects: 比较两个对象,返回它们之间的差异。
  • deepEqual: 判定两个值是否深度相等。
  • deepClone: 深拷贝函数,可以处理循环引用的对象。
  • deepMerge: 深度合并两个对象。
  • defaults: 将默认值应用到给定对象,包括深层嵌套对象。
  • extendObject: 扩展对象的指定属性。
  • flattenNestedObject: 将嵌套对象扁平化为一个数组,保持每个对象的原始结构。
  • filterObjectArray: 高级对象数组过滤函数。
  • pick: 从对象中选取指定的字段并返回一个新的对象。
  • get: 安全地获取对象的嵌套属性值。
  • set: 在嵌套对象或数组中设置值。

字符串处理

  • constrainPrefixAndLength: 约束字符串前缀和总长度的函数。
  • padStart: 在字符串的开头填充指定的字符,直到字符串达到指定的长度。
  • padEnd: 在字符串的末尾填充指定的字符,直到字符串达到指定的长度。
  • pad: 在字符串的指定位置填充字符,直到字符串达到指定的长度。
  • safeTrim: 安全地去除字符串两端的空白字符。
  • jsonParse: 安全地解析 JSON 字符串。
  • jsonStringify: 安全地将 JavaScript 对象转换为 JSON 字符串。

数值处理

  • formatDataSize: 格式化数据大小,将字节数转换为更易读的格式。
  • formatNumberToThousands: 将数字转换为带有千分位分隔符的字符串。
  • toFixed: 对浮点数进行精度取舍。
  • random: 生成指定范围内的随机数。
  • randomMultiple: 生成指定范围内的多个随机数。

日期处理

  • toDate: 将输入转换为 Date 对象。
  • formatDate: 格式化日期函数。
  • getMinutesTimeRange: 获取指定分钟数之前到现在的时间范围。
  • getDateRange: 获取指定天数之前到现在(或昨天)的时间范围。
  • getTodayDateRange: 获取今天的日期范围。
  • getYesterdayDateRange: 获取昨天的日期范围。
  • getCurrentWeekDateRange: 获取本周的日期范围。
  • getLastWeekDateRange: 获取上周的日期范围。
  • getCurrentMonthDateRange: 获取本月的日期范围。
  • getLastMonthDateRange: 获取上月的日期范围。
  • getCurrentQuarterDateRange: 获取本季度的日期范围。
  • getLastQuarterDateRange: 获取上季度的日期范围。
  • getCurrentYearDateRange: 获取今年的日期范围。
  • getLastYearDateRange: 获取去年的日期范围。
  • getHourMilliseconds: 获取给定日期格式的当前日除去天的毫秒数。
  • formatRemainingTime: 将毫秒数格式化为剩余时间字符串。
  • splitTimeInterval: 将时间区间按指定间隔分割。
  • isTimeContained: 判断一个时间点或时间区间是否被另一个时间区间包含。

JSON 处理

  • jsonParse: 安全地解析 JSON 字符串。
  • jsonStringify: 安全地将 JavaScript 对象转换为 JSON 字符串。

类型检查

  • typeof2: 判定准确的数据类型并实现类型收窄。
  • isNumber: 判断值是否为数字类型。
  • isString: 判断值是否为字符串类型。
  • isBoolean: 判断值是否为布尔类型。
  • isNull: 判断值是否为 null。
  • isUndefined: 判断值是否为 undefined。
  • isError: 判断值是否为 Error 对象。
  • isSymbol: 判断值是否为 Symbol 类型。
  • isBigInt: 判断值是否为 BigInt 类型。
  • isRegExp: 判断值是否为正则表达式对象。
  • isArray: 判断值是否为数组。
  • isObject: 判断值是否为对象(不包括数组和 null)。
  • isDate: 判断值是否为 Date 对象。
  • isAsyncFunction: 判断值是否为异步函数。
  • isFunction: 判断值是否为函数(包括异步函数)。
  • isElement: 判断值是否为 DOM 元素。
  • isMap: 判断值是否为 Map 对象。
  • isSet: 判断值是否为 Set 对象。
  • isValidDate: 判断值是否为有效的 Date 对象。

其他函数工具

  • debounce: 创建一个防抖函数。
  • throttle: 创建一个节流函数。
  • isEmpty: 判断值是否为空。
  • triggerDocumentEvent: 手动触发 document 事件的函数。
  • SingletonProxy: SingletonProxy 函数。

运行环境

  • isBrowser: 检查当前环境是否为浏览器环境。
  • isNode: 检查当前环境是否为Node.js环境。
  • getBrowserInfo: 获取浏览器及版本信息。