Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@sumor/utils

Package Overview
Dependencies
Maintainers
1
Versions
99
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@sumor/utils

轻呈云工具集提供了Node.JS的基础常见工具,方便构建应用。

  • 11.0.47
  • npm
  • Socket score

Version published
Weekly downloads
2
decreased by-33.33%
Maintainers
1
Weekly downloads
 
Created
Source

轻呈云工具集提供了Node.JS的基础常见工具,方便构建应用。

安装

要求 Node.JS v7.6.0 以上。

npm install @sumor/utils --save

引入方式

const utils = require("@sumor/utils");

简单案例

const utils = require("@sumor/utils");//引入utils库
const uuid = utils.basic.uuid();//调用utils库方法
console.log(uuid); //将生成通用唯一识别码

基础工具集 basic

uuid

生成通用唯一识别码

const uuid = utils.basic.uuid();
console.log("uuid:",uuid);

md5

MD5消息摘要算法

const md5 = utils.basic.md5("test");
console.log("md5:",md5);

getTimestamp

获取时间戳
时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数。

const timestamp = utils.basic.getTimestamp();
console.log("timestamp:",timestamp);

delay 【异步方法】

延迟事件,将暂停程序执行一段时间,仅供测试使用。

console.log("延迟前");
await utils.basic.delay(1000);
console.log("延迟后");

formatTime

格式化日期时间,支持不同时区,支持数字格式时间戳和JS Date对象,时区目前仅支持分钟差,不传则使用服务器时区。
utils.basic.formatTime(时间戳,格式[,时区])

const timeForUTC0 = utils.basic.formatTime(timestamp,'yyyy年MM月dd日 hh:mm:ss 星期W');
console.log(`当前英国时间:${timeForUTC0}`);
const timeForUTC8 = utils.basic.formatTime(new Date(),'yyyy年MM月dd日 hh:mm:ss 星期W',8*60);
console.log(`当前北京时间:${timeForUTC8}`);

qrcode 【异步方法】

生成二维码

const qrcode = await utils.basic.qrcode("你好,世界");
console.log("您可拷贝以下黏贴到浏览器地址栏查看二维码");
console.log(qrcode+"\n");

toCamelCase

转驼峰写法
utils.basic.toCamelCase(待转文本[,分隔符,是否为小写驼峰])

const upper1 = utils.basic.toCamelCase("say-hello");//SayHello
const lower1 = utils.basic.toCamelCase("say_hello","_",true);//sayHello

fromCamelCase

驼峰写法转单词切分
utils.basic.fromCamelCase(待转文本[,分隔符])

const upper2 = utils.basic.fromCamelCase("SayHello");//say-hello
const lower2 = utils.basic.fromCamelCase("sayHello","_");//say_hello

trigger

生成触发程序
const fn = utils.basic.trigger(程序);

let num = 0;
const fn = utils.basic.trigger(async()=>{
    num+=1;
    await utils.basic.delay(2000);
    console.log(num);
});
fn();fn();fn();//连续触发3次后num = 2
setTimeout(()=>{
    fn();
},10000);//延迟触发10秒后num = 3

文件工具集 file

normalize

格式化路径

const normalizePath = utils.file.normalize("C:/level1/level2/../hello.txt");
console.log(normalizePath);

download 【异步方法】

下载文件

await utils.file.download("https://www.baidu.com",__dirname+"/baidu.html");

find 【异步方法】

寻找文件

const fileList = await utils.file.find("*",{cwd:__dirname,ignore:"**/node_modules/**"});
console.log(fileList);

zip & unzip 【异步方法】

压缩及解压ZIP文件

//创建了一个demo目录,其中包含一个txt文件,一个json文件
const testFolder = __dirname+"/../dist/test";
const demoFolder = __dirname+"/../dist/test/demo";
await utils.file.ensureDir(demoFolder);
await utils.file.writeFile(demoFolder+"/zip.txt","hello zip");
await utils.file.writeFile(demoFolder+"/config.json","{}");

//生成一个压缩包,json文件被忽略,不包含在zip压缩包内
await utils.file.zip(demoFolder,__dirname+"/../dist/test/demo.zip",["*.json*"]);

//解压压缩包至demoUnzip目录
await utils.file.unzip(__dirname+"/../dist/test/demo.zip",testFolder+"/demoUnzip");

exist 【异步方法】

检查是否存在文件夹或目录

const existFlag = await utils.file.exist(demoFolder);
console.log("existFlag:",existFlag);

isDirectory 【异步方法】

检查路径是否为目录

const isDirectory = await utils.file.isDirectory(demoFolder);
console.log("isDirectory:",isDirectory);

move 【异步方法】

移动文件或目录,也可用于改名

await utils.file.move(__dirname+"/demo.zip",__dirname+"/move/demo_rename.zip");

delete 【异步方法】

删除目录或文件

await utils.file.move(__dirname+"/demo.zip");

ensureFile 【异步方法】

确保文件存在,如不存在则创建

await utils.file.ensureFile(__dirname+"/demo.zip");

ensureDir 【异步方法】

确保目录存在,如不存在则创建

await utils.file.ensureDir(__dirname+"/demo");

copy 【异步方法】

复制目录或文件

await utils.file.copy(__dirname+"/demo",__dirname+"/demo_copy");

writeFile 【异步方法】

写入文件

await utils.file.writeFile(__dirname+"/demo.txt","test");

appendFile 【异步方法】

尾部追加写入文件

await utils.file.appendFile(__dirname+"/demo.txt","test");

readFile 【异步方法】

读取文件,如果不存在则返回undefined 参数2为编码格式,不输入为返回buffer

const fileData = await utils.file.readFile(__dirname+"/demo.txt","utf-8");
console.log(fileData);

readJson 【异步方法】

读取JSON

const jsonData = await utils.file.readJson(__dirname+"/demo.txt");
console.log(jsonData);

getExt 【异步方法】

获取后缀名

const extData = await utils.file.getExt(__dirname+"/demo.txt");
console.log(extData);

FAQs

Package last updated on 07 Jun 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc