This package has been deprecated

Author message:

Package no longer supported. You can use @vividcat/shared instead.

@guanwei/app-javascript
TypeScript icon, indicating that this package has built-in type declarations

2.0.5 • Public • Published

app-javascript

app-javascript是一个轻量级,零依赖工具库,支持服务端和客户端,更多是定制化,供自己使用的,对于treeshake可以很好支持。

安装

  1. npm安装(推荐,可定制化)
npm i @guanwei/app-javascript
  1. link标签

通用写法:

<script href="//unpkg.com/@guanwei/app-javascript"></script>
<script>
  console.log(AppUtils.isClient)
</script>  

或者使用 es6 module

<script module>
  import { isClient } from 'https://unpkg.com/@guanwei/app-javascript?module'
  console.log(isCilent)
</script>

Api

Name File Description Params Return
bindFn bindFn.ts 绑定函数上下文 (fn: Function, ctx: unknown) any
add calc.ts (n1: number, n2: number) number
sub calc.ts (n1: number, n2: number) number
mul calc.ts (n1: number, n2: number) number
div calc.ts (n1: number, n2: number) number
hasClass className.ts 是否含有指定类名 (element: HTMLElement, cls: string) boolean
addClass className.ts 添加指定类名 (element: HTMLElement, cls: string) -
removeClass className.ts 移除指定类名 (element: HTMLElement, cls: string) -
copy copy.ts 简易版深拷贝 <T = unknown>(source: T, silence?: boolean) T
def def.ts 定义对象属性 (obj: object, key: string | symbol, value: any) -
isClient env.ts 常量:判别是否为客户端 - -
isFirefox env.ts 常量:是否是火狐浏览器 - -
isAndroid env.ts 常量:是否是安卓系统 - -
isOS env.ts 常量:是否是苹果系统 - -
isWindowsPhone env.ts 常量:是否是Win手机系统 - -
isSymbianos env.ts 常量:是否是塞班系统 - -
isMobile env.ts 常量:是否是手机 - -
getURLParam getURLParam.ts 获取链接参数 (name: string, search?: string) string | null
looseEqual looseEqual.ts 比较两个值是否相等(代码取自 @vue/shared) (a: any, b: any) boolean
looseIndexOf looseEqual.ts 找到数组中指定元素的下标 (arr: any[], val: any) number
noop noop.ts 空函数,用于赋值 - -
getPathProp pathProp.ts 获取指定对象路径属性值 (target: Record<any, any>, path: string | Array<string>) any
setPathProp pathProp.ts 设置指定对象路径属性值 (target: Record<any, any>, path: string | Array<string>, value: any) boolean
getStorage storage.ts 获取指定范围的本地储存 (name: string, content: any) -
setStorage storage.ts 设置指定范围的本地储存 (name: string) string | null | undefined
removeStorage storage.ts 移除指定范围的本地储存 (name: string) -
styleInject styleInject.ts head标签注入一段样式文本 (css: any, options?: Options) -
toDateString toDateString.ts 格式化部分时间格式 (time?: string | Date, format?: string) string
toNumber toNumber.ts 将输入值格式化为数字 (val: any) any
trim trim.ts 将前后空白移除 (string: string) string
uuid uuid.ts 生成一个uuid - string
hasOwn type.ts 当前值是否含有制定属性 (val: object, key: string | symbol) boolean
toRawType type.ts 当前值表现的类型名称 (val: unknown) string
isString type.ts 是否是字符串 (val: unknown) boolean
isNumber type.ts 是否是数字 (val: unknown) boolean
isBoolean type.ts 是否是布尔 (val: unknown) boolean
isBooleanish type.ts 是否是布尔或者字符串'true''false' (val: any) boolean
isSymbol type.ts 是否是Symbol (val: unknown) boolean
isRegExp type.ts 是否是正则 (val: unknown) boolean
isNil type.ts 是否是null或者undefined (val: unknown) boolean
isNumeric type.ts 是否可转成数字化 (val: unknown) boolean
isDef type.ts 是否定义了存在值,与函数isNil的结果相反 <T = any>(val?: T) boolean
isDate type.ts 是否是日期 (val: unknown) boolean
isFunction type.ts 是否是函数 (val: unknown) boolean
isArray type.ts 是否是数组 (val: any) boolean
isObject type.ts 是否是对象 (val: unknown) boolean
isPromise type.ts 是否是Promise (val: unknown) boolean
isPlainObject type.ts 是否是纯对象,即指向Object (val: unknown) boolean
isEmptyObject type.ts 是否是空对象 (val: any) boolean
validateURL validate.ts 验证链接地址 (val: string) boolean
validateEmail validate.ts 验证邮箱 (val: string) boolean
validateLetter validate.ts 验证字母 (val: string) boolean
validateMobileNumber validate.ts 验证手机号 (val: string) boolean

对比 1.0.0

  • 新增isClient(2022/01/16):用于判断是客户端还是服务端

  • 新增hasOwn:用于判别对象是否含有此属性

  • 新增toRawType:用于判别入参构造名称

  • 新增isBooleanish:用于判别 boolean 值和'true', 'false'

  • 新增isSymbol:用于判别 symbol 类型

  • 新增isRegExp:用于判别是否为正则表达式

  • 新增isNumeric:用于判别数字且那些可能是数字的字符串,如 '1', '2' 等

  • 新增isDef:用于判别是否已经定义,它是 isNil

  • 新增isDate:用于判别是否是日期类型

  • 新增looseIndexOfArray.findIndex的封装

  • 新增addClass/removeClass/hasClass:对于HTMLElement的类名操作

  • 新增def:用于定义对象属性

  • 更新arrayEquals:之前仅仅比较数组,现在使用@vue/shared包内的方法looseEqual,更加强大的对比功能,所以借鉴过来

  • 更新toNumber:之前直接将非数字变空白,过于暴力和不合理,此次重构,使之更合理化

  • 更名bind => bindFn

  • 更名getStore => getStorage, setStore => setStorage, removeStore => removeStorage

  • 更名isNull => isNil

  • 更名getKeyValue => getPathProp, setKeyValue => setPathProp

  • 移除manba:第三包,依旧推荐可用,只是不在集成了

  • 移除throttle/debounce:函数写的依旧不淳熟,推荐第三包如:lodash.throttlelodash.debounce

  • 移除getCookie/setCookie/removeCookie:集成 js-cookie,可根据项目再次调整

  • 移除generateId/freeze/trimAll/padLeft/toCN/toInt/cut/escape:使用度偏小

  • 移除beginWith/endWidth(名称拼写错误:已经有可替代函数,如 String.prototype.startsWith/String.prototype.endsWith

  • 移除暂时extend,请使用Object.assign或者第三方库作为替代

Package Sidebar

Install

npm i @guanwei/app-javascript

Weekly Downloads

8

Version

2.0.5

License

MIT

Unpacked Size

102 kB

Total Files

38

Last publish

Collaborators