@mrtujiawei/utils

Table of Contents
Installing
Using npm:
$ npm install @mrtujiawei/utils
Using yarn:
$ yarn add @mrtujiawei/utils
Using unpkg CDN:
<script src="https://unpkg.com/@mrtujiawei/utils/dist/utils.js"></script>
Usage
note: Brower usage
const { Stack } = utils.Stack;
note: CommonJS usage
const { Stack } = require('@mrtujiawei/utils');
or
const utils = require('@mrtujiawei/utils');
const Stack = utils.Stack;
note: ESModule usage
import { Stack } from '@mrtujiawei/utils';
or
import utils from '@mrtujiawei/utils';
const Stack = utils.Stack;
Example
使用示例
Stack
import { Stack } from '@mrtujiawei/utils';
const stack = new Stack();
stack.size;
stack.isEmpty();
stack.push(1);
stack.push(2, 3);
stack.size;
stack.isEmpty();
stack.pop();
stack.peak();
stack.pop();
stack.peak();
stack.pop();
stack.peak();
stack.pop();
Queue
import { Queue } from '@mrtujiawei/utils';
const queue = new Queue();
queue.size;
queue.isEmpty();
queue.enqueue(1);
queue.enqueue(2);
queue.dequeue();
queue.enqueue(3);
queue.size;
queue.isEmpty();
queue.dequeue();
queue.dequeue();
queue.dequeue();
LinkList
import { LinkList } from '@mrtujiawei/utils';
const list = new LinkList();
Heap
BinarySearchTree
Lock
异步流程加锁
import { Lock, sleep } from '@/mrtujiawei/utils';
const lock = new Lock(1);
const run = async (value, timeout) => {
try {
await lock.lock();
await sleep(timeout);
console.log(value);
} finally {
lock.unLock();
}
};
run(0, 1000);
run(1, 100);
run(2, 0);
output: 0 1 2
DateTimeTool
日期时间处理类
解析时间太复杂,没做
import { DateTimeTool } from '@/mrtujiawei/utils';
DateTimeTool.timeFormat(new Date(), ':');
DateTimeTool.dateFormat(new Date(), '-');
DateTimeTool.dateTimeFormat(new Date());
DateTimeTool.getNthDayBefore(2);
DateTimeTool.getNthHourBefore(2);
DateTimeTool.getNthMonthBefore(1);
DateTimeTool.toDayBegin(new Date());
DateTimeTool.isLeapYear(new Date());
DateTimeTool.diffTimestamp(new Date(), new Date());
DateTimeTool.diffSeconds(new Date(), new Date());
DateTimeTool.diffMinutes(new Date(), new Date());
DateTimeTool.diffHours(new Date(), new Date());
DateTimeTool.diffDays(new Date(), new Date());
DateTimeTool.addDays(new Date(), 10);
DateTimeTool.timestampToTime(123);
DateTimeTool.timestampToDate(123);
DateTimeTool.timestampToDateTime(123);
Logger
Events
Random
utils