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

@vipjs/utils

v0.0.2

Published

Vipjs front end common tools.

Downloads

1

Readme

vips-utils

常用前端工具方法

安装

yarn add @vipjs/utils or npm insatll @vipjs/utils

haveDomRectIntersection(r1: DOMRect, r2: DOMRect): boolean

dom碰撞检测

| 参数名称 | 类型 | 默认值 | 说明 |
| :--- | :--- | :--- | :--- | | r1 | DOMRect | | dom1 client rect | | r2 | DOMRect | | dom2 client rect |

Client

初始化的设备信息对象

| 返回参数 | 返回值 | 说明 |
| :--- | :--- | :--- | | type | 'pc' / 'mobile' | 设备类型 | lang | string | 语言 | OS | 'Windows' / 'Android' / 'IOS' | 系统 | | version | string | '' | 系统版本 |

Client.init(lang, isMount)

重新初始化设备信息对象

| 返回参数 | 返回值 | 说明 |
| :--- | :--- | :--- | | lang | string | navigator.language | 语言 | | isMount | boolean | true | 是否挂载节点信息 |

clip2Board(text): promise

复制内容到剪切板, 返回promise

| 参数名称 | 类型 | 默认值 | 说明 |
| :--- | :--- | :--- | :--- | | text | string | navigator.language | 文本内容

camelCase(name): string

将字符串转为驼峰

| 参数名称 | 类型 | 默认值 | 说明 |
| :--- | :--- | :--- | :--- | | name | string | | 文本内容 |

lineCase(name): string

将字符串转为中线

| 参数名称 | 类型 | 默认值 | 说明 |
| :--- | :--- | :--- | :--- | | name | string | | 文本内容 |

imageLoaded(url): promise[then({ height, width })])

预加载图片, 返回promise,

| 参数名称 | 类型 | 默认值 | 说明 |
| :--- | :--- | :--- | :--- | | url | string | | 文本内容 |

then返回图片信息参数

| 返回参数 | 返回值 | 说明 |
| :--- | :--- | :--- | | height | number | 高度 | width | number | 宽度

scrollToY($scroller, { target, justify, duration, transition }): promise

滚动到Y轴某个位置

| 参数名称 | 类型 | 默认值 | 说明 |
| :--- | :--- | :--- | :--- | | $scroller | HTMLElement | | 要滚动的容器 | | target | HTMLElement / number / 'start' / 'end' | 0 | 滚动的目标节点,如果该参数存在,则会滚动到该节点的距离, 'start':滚动到起始位置, 'end':滚动到结束位置, 正数表示正向滚动, 比如300表示向下滚动300距离 | | justify | number | 0 | 滚动偏差值,在target的基础最终计算滚动值加上该值 | | duration | number | 500 | 过渡时间 | | transition | 'linear' / 'easeIn' / 'strongEaseIn' / 'strongEaseOut' / 'sineaseIn' / 'sineaseOut' | 'sineaseOut' | 过渡动画 | | position | 'start' / 'end' / 'center' | 'center' | target为DOM时候滚动到dom视图点 |

scrollToX($scroller, { target, justify, duration, transition }): promise

滚动到X轴某个位置

参照scrollToY

strStyle(styleObj): string

css样式构造

| 参数名称 | 类型 | 默认值 | 说明 |
| :--- | :--- | :--- | :--- | | styleObj | object | | 样式表键值对 |

getStyle(element, styleName): any

获取节点的CSS属性的值

| 参数名称 | 类型 | 默认值 | 说明 |
| :--- | :--- | :--- | :--- | | element | HTMLElement | |节点 | | styleName | string | | 属性名 |

getUrlParam(name, url): string

获取指定的URL参数值

| 参数名称 | 类型 | 默认值 | 说明 |
| :--- | :--- | :--- | :--- | | name | string | |参数名 | | url | string | location.href | url |

getUrlParams(url): string

获取指定的URL全部参数值

| 参数名称 | 类型 | 默认值 | 说明 |
| :--- | :--- | :--- | :--- | | url | string | location.href | url |

appendUrlParams(params, url, sort): string

追加指定的URL参数值

| 参数名称 | 类型 | 默认值 | 说明 |
| :--- | :--- | :--- | :----: | | params | object | |参数键值对 | | url | string | location.href | url | | sort | boolean | false | 是否对参数做重组排序 |

arraySwap:(arr:array, index0, index1)=>Array

数组元素替换

| 参数名称 | 类型 | 默认值 | 说明 | | :--- | :--- | :--- | :--- | | array | Array | - |输入数组| | index0 | Number | - |交换元素下标| | index1 | Number | - |交换元素下标|

arrayUnique:(arr:array)=>Array

数组去重

| 参数名称 | 类型 | 默认值 | 说明 | | :--- | :--- | :--- | :--- | | array | Array | - |输入数组|

deepCopy:(arr:any)=>any

深度拷贝

| 参数名称 | 类型 | 默认值 | 说明 | | :--- | :--- | :--- | :--- | | input | Object | - |输入json对象|

findNode:({data:object | array,id:string,childStr:string})=>object | array

节点查找

| 参数名称 | 类型 | 默认值 | 说明 | | :--- | :--- | :--- | :--- | | data | Object | - |数据源| | field | String | id |唯一标示字段| | key | String | - |唯一标示字段值|

deepEqual:(param1:any,param2:any)=>boolean

json深度对比

| 参数名称 | 类型 | 默认值 | 说明 | | :--- | :--- | :--- | :--- | | param1,param2 | any | - |需要对比的数据|

absArray:(param:any)=>any[]

数组绝对格式化,非数组数据丢弃设置空数组

| 参数名称 | 类型 | 默认值 | 说明 | | :--- | :--- | :--- | :--- | | param | any | - |需要做格式处理数据|

absObject:(param:any)=>any

对象绝对格式化,非对象数据丢弃设置空对象

| 参数名称 | 类型 | 默认值 | 说明 | | :--- | :--- | :--- | :--- | | param | any | - |需要做格式处理数据|

langAdapt:(lang:string)=>langType

语言适配

| 参数名称 | 类型 | 默认值 | 说明 | | :--- | :--- | :--- | :--- | | lang | string | - | 需要适配语言字段 |

langMap

语言表

langType 对照表

| 语言 | 说明 | 代码 | | :--- | :--- | :--- | |简体中文|简体中文 | zh-CN| |繁体中文|繁体中文 | zh-TW| |العربية|阿语 | ar| |Deutsch|德语 | de| |English|英语 | en| |Español|西语 | es| |Français|法语 | fr| |Indonesia|印尼语 | id| |Italiano|意大利语 | it| |日本語|日語 | ja| |한국어|韩语 | ko| |Nederlands| | nl| |Polski| | po| |Português|葡萄牙语 | pt| |română|罗马尼亚语 | ro| |Русский|俄语 | ru| |Svenska|越南语 | sv| |ไทย| | th| |Türkçe| | tr| |Tiếng Việt| | vi|