- 文档
开始使用
- 工具类
array 数组,树,扁平,分组,去重 browser Cookie、Copy、DOM 等 date-time 日期时间转换 decorator 装饰器 form 响应式表单校验 format 字符,校验,货币,掩码 math 范围、四舍五入 other 深获取、拷贝、合并、延迟、断言 token Token
- 管道
currency 货币管道 filter 过滤数组 format 掩码
忽略 obj
指定属性。
omit({ a: 1, b: 2, c: 3 }, 'a') // { b: 2, c: 3 }
omit({ a: 1, b: 2, c: 3 }, ['a', 'c']) // { b: 2 }
omit({ a: 1, b: 2 }, key => key === 'a') // { a: 1 }
类似 _.get
,根据 path
获取安全值。
const obj = {
id: 1,
user: {
name: 'yunzai-bot',
age: 18
}
};
deepGet(obj, 'id'); // 1
deepGet(obj, 'user.age'); // 18
基于 extend 的深度拷贝。
const source = { a: 1, user: { name: 'yunzai-bot' } };
const obj = deepCopy(source);
深度合并。
let original = { a: 1, b: { c: 'c' } };
deepMerge(original, { b: { d: 'd' }, arr: [ 1 ] });
// output: { a: 1, b: { c: 'c', d: 'd' }, arr: [ 1 ] }
LazyService
用于延迟加载 JS 或 CSS 文件,对于无须被打包 script.js 且又是第三方类库比较大时,非常有用,一个简单的用法,例如:
import { LazyService } from '@yelon/util/other';
export class AppComponent {
constructor(private lazy: LazyService) {}
ngOnInit() {
this.lazy.load([ `//cdn.bootcss.com/xlsx/0.11.17/xlsx.full.min.js` ]).then(() => {
// do something
});
}
}
断言表达式是否符合预期,并在开发模式下会在控制台抛出一个错误。
assert
断言表达式是否符合预期
assertEmpty
断言是否空值(null
或 undefined
)
assertNumber
断言是否 number
类型
assertString
断言是否 string
类型
assertArray
断言是否 array
类型
assertObservable
断言是否 Observable
类型