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

simple-js-helper

v2.0.3

Published

some js helper modules

Downloads

1

Readme

simple-js-helper

介绍

Js工具库,支持Ts(d.ts类型标注)

使用

所有工具都是export出来,没有export default

import {PinYinUtils} from 'simple-js-helper';
console.log(PinYinUtils.firstLetter('你好中国'));

!!!!!!!!!!!!!!!!!与1.x不兼容

PinYinUtils class

  • 中文拼音工具
  • method firstLetter 获取中文的大写首字母(中国 => ZG)

SimpleValidator class

  • 验证器
  • method isPlateNumber 判断车牌号是否合法,包含武警车牌、军车车牌、使馆车牌、民用车牌

autoDisposeWhenUnload function

  • 页面/进程销毁时自动执行销毁函数,支持浏览器和nodejs

AwesomeCache class extends AutoDestroyClass

  • 优雅的缓存器

一些小东西

  • others 一个对象{ globalWin: Window|null; globalNode: Global|null; globalThis: Window|Global|null; }
  • nothing2do 一个空函数,只打印传入的参数,其他什么也不做,有时候需要一个空函数,可以避免重复创建
  • EmptyArray 一个空数组,请勿修改此数组,有时候需要一个空数组,可以避免重复创建
  • IsWKWebviewInWx boolean,微信网页是否使用WKWebview内核
  • UNDEFINED undefined的别名
  • pad function 在少于指定长度时往前或往后填充指定字符

Calendar class

  • 日历帮助类,中国农历相关功能及与公历互转

copy2Clipboard function

  • 复制内容到系统剪切板,仅支持浏览器

DateHelper class

  • 日期帮助类

dynamicLoadScript function

  • Promise化,使用script标签加载js脚本

getDefaultUserInitPsw function

  • 获取一个8~16位长度随机密码,密码由小写字母大写字母数字组成

getVarType function

  • 获取变量的类型,返回一个枚举类型VariableType(已export)

InfiniteLoopGet class extends AutoDestroyClass

  • 按顺序无限循环获取数组中的项
  • method get 获取下一项

md5 function

mobilePartialShow function

  • 格式化手机号保护隐私,将中间4位显示为星号*188****8888
  • 返回一个对象{mobile:string; source:string;}mobile为加星号的值,source为原始传入的值

Queue class extends AutoDestroyClass

  • 先进先出的队列

randomStr function

  • 获取随机字符串
  • parameter len 长度
  • parameter excludeGot 是否排除已命中的字符,默认为false
  • parameter seeds 字符种子,从种子中随机取字符。默认为ascii码值33127之间的字符

SimpleEvent class extends AutoDestroyClass

  • 一个简单的事件总线,类静态方法为全局总线,实例化的为私有总线

SpecificLotteryRate class extends AutoDestroyClass

  • 大乐透抽奖算法。给每个奖品设置一个中奖概率(概率取值范围(0,1]),然后调一次 method getOne 返回一个奖品
  • method getOne 抽一个奖品
  • 实例化的第二个参数excludeGot,表示是否排除抽中的奖品,即每个奖品只能抽中一次,默认为true-要排除
  • method reset 重置已抽中奖项,excludeGot=true时清除被排除的奖品,false时无任何作用

URLHelper class extends AutoDestroyClass

  • 网页url帮助类,自动解析各个部分
  • method clone 克隆一个新的值一样的URLHelper
  • get static current 当前页面的url帮助类
  • property excludeHashString 不包含hash部分的url,字符串
  • method static from 快速创建一个URLHelper
  • method static toQueryUrlObject 处理url上的query参数xxx=123&yyy=456,字符串转对象
  • method static toQueryUrlString 处理url上的query参数{ xxx: 123, yyy: 456 },对象转字符串

Wait class

  • Promise类型的等待方案
  • method static milliSeconds 等待指定毫秒数后执行Promise.resolve
  • method static atLeast WaitMinTime.begin 的包装

WaitMinTime class extends CommonPool

  • Promise类型的分体式最小等待延迟方案,可设置最小等待毫秒数(内部使用setTimeout执行延迟)
  • method static begin 返回结束计时进行等待方法,此等待方法判断是否满足最小等待时间并在满足时才执行Promise.resolve
  • method begin 分体式等待的开始计时方法,无返回值
  • method end 分体式等待的结束计时方法,与 method begin 配套使用,返回Promise,此时判断是否满足最小等待时间,满足才Promise.resolve,不满足则继续等待达到最小时间

WechatHelper class

  • 微信网页JS-SDK帮助类
  • 内置跳转网页授权获取code获取用户信息一套授权流程功能
  • 封装关闭页面获取定位查看定位扫码选择图片上传图片获取本地图片方法,并已封装为Promise返回值

WxCustomElement enum

AutoDestroyClass class

  • 可自动销毁基类
  • 支持浏览器node.js,在window.onbeforeunloadprocess.onBeforeExit时自动执行销毁
  • 可以手动执行 method destroy 进行销毁
  • method destroy 可重写,但需要手动调用super.destroy()

AwesomeArray class extends Array

  • 增强版Array
  • 新增一些实用方法和属性
  • get isEmpty 是否是空数组
  • method clear 清空数组
  • method first 返回第一个数组项
  • method last 返回最后一个数组项
  • method unshiftWhenNotIn 项不存在时才unshift
  • method pushWhenNotIn 项不存在时才push
  • method spliceItemWhenIn 项存在时才splice

AwesomeObject class extends Object

  • 增强版Object
  • 新增 method clear,清空所有私有属性

CommonPool class extends AwesomeCache

  • 通用池子类,一般作为基类被其他类继承
  • method static instantiate 从池子中获取实例
  • method free 释放实例到池子中
  • method clear 销毁实例,不释放到池子中

SRTHelper class extends AutoDestroyClass

  • srt文件处理器,可以解析srt文件并获取指定时间点的字幕文本

Stack class extends AutoDestroyClass

  • 先进后出的栈

deepCopy function

  • 深拷贝函数
  • DateArrayObject类型的值进行深拷贝,其他类型的值原样返回

ElementSizeChanged class

  • 元素宽高监听器,使用getBoundingClientRect轮询获取元素宽高
  • detectTimeout检测频率,全局参数
  • 具有自动销毁功能,自建示例也可手动销毁

ColorTransformer class

  • 颜色转换器,支持rgb/rgba/hex/hsl/hsla/hsv/cmyk之间的互转
  • hex支持透明度
  • method toString 返回rgba格式
  • 具有自动销毁功能,自建示例也可手动销毁

PowerJSON class

  • 增强版JSON,补充JSON的不足,stringifyparse方法与JSON的输入输出类型一致
  • 可完整序列号和反序列化Function(建议纯函数,只简单保存了函数toString的值)、RegExpDateundefined
  • 如果运行环境支持Symbol.for,可以在开启开关PowerJSON.handleSymbol = true后处理Symbol值(内部使用Symbol.for取值来保证是同一个Symbol