0.0.12 • Published 3 years ago

linshu-utils v0.0.12

Weekly downloads
-
License
MIT
Repository
-
Last release
3 years ago

个人工具类包

在 node 环境中 stroage dom 相关的方法不能使用

MyStorage 工具

使用方法

import { MyStorage } from "linshu-utils";
// 设置类型 可以是 string number object array 等可以JSON 格式化的数据类型
const token = new MyStorage<string>(
  "token", // 存储在本地缓存的键
  {
    expires: 1 * 60 * 60 * 1000, //过期时间 不设置为永久有效
    once: false, // 只读取一次就失效 默认为false
  },
  "localStorage" // 默认是sessionStorage   
);

实例属性方法

  • remove 删除方法
  • data 当前数据 能直接赋值 当赋值undefined 或 null 时 触发remove 方法 其他触发 set 方法
    console.log(token.data)
    token.data = ''
  • set(value) 设置 值
  • subscribe(event: 'set',callback:(data:T)=>any):void 订阅设置事件
  • subscribe(event: 'remove',callback:()=>any):void 订阅移除事件

发布订阅

Topic 类 实例方法

  • subscribe(event: string | symbol, callback: Function) 订阅事件
  • onceSubscribe(event: string | symbol, callback: Function) 订阅事件 只接收一次发布
  • emit(event: string | symbol, ...params: any[]) 推送信息
  • unSubscribe(event: string | symbol, callback: Function) 取消当个订阅事件
  • unSubscribeAll(event: string | symbol) 取消所有订阅事件
import { Topic } from 'linshu-utils'
const topic = new Topic();
const testSub = (...params: any[]) => {
  console.log("sub1 接收到发布信息: ", ...params);
};
const testSub2 = (...params: any[]) => {
  console.log("sub2 接收到发布信息: ", ...params);
};
topic.subscribe("test", testSub);
topic.subscribe("test", testSub2);
topic.onceSubscribe('test',(...params:any[])=>{
  console.log('我只触发一次:',...params)
})

topic.emit("test", "发布test信息");
topic.unSubscribe("test", testSub); // 取消 testSub 订阅
topic.emit("test", "发布test信息2");
topic.unSubscribeAll("test"); //取消所有订阅
topic.emit("test", "发布test信息3");

获取变量类型方法

import { getType } from 'linshu-utils'

getType(1) // number  内部通过 Object.prototype.toString 获取 (转小写) ,获取类的 内部属性 [[Class]] 如果是非内部类 可以通过 设置 get [Symbol.toStringTag] 

dom 方法 (不要在node 环境下调用)

常用正则表达式

0.0.12

3 years ago

0.0.11

3 years ago

0.0.10

3 years ago

0.0.9

3 years ago

0.0.8

3 years ago

0.0.7

4 years ago

0.0.6

4 years ago

0.0.5

4 years ago

0.0.4

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago

1.0.0

4 years ago