1.0.7 • Published 6 years ago

@hasaki-ui/hsk-lulu v1.0.7

Weekly downloads
-
License
MIT
Repository
github
Last release
6 years ago

hsk-lulu

作者:joyer,邮箱:972325584@qq.com,最后修改时间:2017年10月11日星期三

作者是个菜逼,有什么错误,欢迎指正。

nodejs工具库.

使用

依赖:

npm i @hasaki-ui/hsk-lulu
npm i --save @hasaki-ui/hsk-lulu

直接使用:

const Utl = require('@hasaki-ui/hsk-lulu');
Utl.wrapArray("1");

使用某个模块

const ArrayUtl = require('@hasaki-ui/hsk-lulu/src/array');
ArrayUtl.wrapArray("1");

API

ArrayUtl

数组工具。

wrapArray(value)

将值包装成一个数组,如果这个值原先就是数组的话,会原值返回。

paddingLeftLastValue(array,length)

往数组左边填数组的最后一个值值.

不会创建新的数组.

AsyncUtl

异步操作工具。

flatPromise()

创建一个扁平的promise.

如:

const {promise,resolve,reject} = AsyncUtl.flatPromise();

// 成功
resolve();

// 或者失败
// reject();

return promise();

这样可以减少

return new Promise((res,rej) => {
    // 成功
    res();

    // 或者失败
    // rej();
})

这样的代码深度。

syncExecMultiplePromiseFunction(functionList)

同步执行多个异步的函数.

functionList:返回promise的函数.

Promise.All()的区别:

Promise.All()也是执行多个异步函数,但是Promise.all()是无序执行,syncExecMultiplePromiseFunction是按数组顺序依此执行。并且Promise.All 的参数为一个promise对象数组,而syncExecMultiplePromiseFunction需要传递一个返回promise对象的函数数组。

FileUtl

文件操作相关工具

rmrf(path)

删除一个带子文件或者子文件夹的文件件,相当于执行linux命令rm -rf path

path: 需要删除的目录的路径。

rmrfSync(path)

同步的rmrf

mkdirp(path)

递归创建目录,如果目录存在,什么事情都不做,相当于执行linux命令mkdir -p path.

path: 需要创建的目录的路径。

mkdirpSync(path)

同步的mkdirp

LangUtl

常用工具函数。

withCatch(fn,errCb)

将一个函数环绕catch执行

fn:需要执行的函数

errCb:出现异常时的回调函数,默认值为

(err) => {
    throw err;
}

finallyCb:finally的回调函数,默认值为_.noop

strategy(factory,name,dft,isTrow)

简单的策略模式

利用map来降低if,else的使用,避免代码结构层次过多。

factory:工厂,主要存储了每个策略下执行的逻辑.为一个map,key为策略名字,value为逻辑; name:策略名; dft:默认逻辑。当工厂没有匹配这个策略的逻辑时,执行; isTrow:当工厂没有匹配这个策略的逻辑和默认函数时,是否抛出异常;

PathUtl

关于path(路径)的工具

WORKSPACE

当前工作目录的常量

projectPath(path ,dftPath)

根据指定的路径获取这个路径所在npm项目的绝对路径。如果给定的路径不再npm项目中,则返回dftPath

判断是否为npm项目是根据package.json

path:操作目录

dftPath:默认目录,默认值为path的值

resolve(path)

将根据工作目录的相对路径转为绝对路径

可以通过设置process[PathUtl.WORKSPACE]设置工作目录,默认值为执行命令所在的npm项目的根目录

path:相对于当前项目路径的相对路径。不一定需要存在。

ProcessUtl

关于进程的工具

exec(commond,options)

exec的promise版本

execScript(script, options)

执行暂时js脚本

会暂时生成脚本文件在当前项目根目录下,然后执行

采用exec执行脚本

返回promise

测试

进入项目目录后,执行:

npm run test

就可以执行所有的测试案例。

也可以通过查看/test目录下的测试案例了解每个API的使用案例。

1.0.7

6 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago