Nevertheless! Party Metaphorically

    veal

    0.0.0 • Public • Published

    veal

    a common tool library

    Provide web service API and common function

    core

    • regexp
    export const regexp = {
        number: /^[0-9]*\.?[0-9]*$/, // 数字
        float: /^(-?\d+)(\.\d+)?$/, // 浮点数
        zh: /^[\u4e00-\u9fa5]{0,}$/, // 汉字
        mobilePhone: /^(13[0-9]|14[0-9]|15[0-9]|166|17[0-9]|18[0-9]|19[8|9])\d{8}$/, // 手机号
        telPhone: /^\d{3}-\d{7,8}|\d{4}-\d{7,8}$/, //  固定电话
        email:/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/ // 邮箱
    }
    • formatDate

    (data:(string|number),fmt:string?)=> string

    将时间戳格式化为日期字符串

    • dateToStamp

    (str:string,len:number=10?)=> number

    将日期字符串转换为时间戳

    • deepClone

    (source:object)=> object

    深拷贝

    • sublen

    (value:string,len:number=8?)=> string

    字符串截取

    • fixedTo

    (val:(string|number),len:number=4?)=> number

    四舍五入保留n位小数

    • delayFn

    (fn, delay, mustDelay)=> function

     
    /**
     * 函数节流
     * @param fn 需要被节流的函数
     * @param delay 触发执行的时间间隔
     * @param mustDelay 必然触发执行的间隔时间
     * @returns {*} 
     */
    • isFunction

    (target:any)=> boolean

    判断是不是函数

    • isPlainObject

    (target:any)=> boolean

    判断是不是字面量对象

    • mergeOptions

    (l:plainObject,r:plainObject)=> plainObject

    深度合并对象

    • compose

    (...rest:Array)=> function

    函数管道

    • curry

    (function)=> function

    柯里化函数工厂

    • urlEncode

    (target:plainObject)=> string

    转换对象为uri参数字符串

    http

    • createFetch

    (hof:function?)=> Fetch

    fetch 工厂

    • applyMiddleware

    (...middleware:Array?)=> (Fecth|any)

    中间件加载器

    http middlewares

    • log

    日志中间件

    • methods

    基础http方法中间件(会改变fetch的默认行为 生成一个 包含{get,post,del,put}方法的对象)

    NOTE: 如果使用methods中间件,methods必须是applyMiddleware的第一个参数,因为methods会改变fetch的默认行为

    • filter

    (errorHandler=()=>{}?,chain=(response)=>{/.../}?)=> middleware

    errorHandler:error=>void 错误处理方法

    chain:response=>Promise 自定义数据处理

    • headers

    (headers:plainObject)=>middleware

    设置headers

    demo

    // base
    const fetch = createFetch();
     
    // advanced
    const fetch = createFetch(applyMiddleware(methods,filter(),log));

    math

    math.strip(0.09999999999999998); // = 0.1
    math.plus(0.1, 0.2);             // = 0.3, not 0.30000000000000004
    math.plus(2.3, 2.4);             // = 4.7, not 4.699999999999999
    math.minus(1.0, 0.9);            // = 0.1, not 0.09999999999999998
    math.times(3, 0.3);              // = 0.9, not 0.8999999999999999
    math.times(0.362, 100);          // = 36.2, not 36.199999999999996
    math.divide(1.21, 1.1);          // = 1.1, not 1.0999999999999999
    math.round(0.105, 2);            // = 0.11, not 0.1

    vue

    • Vue.prototype.$_util

    core挂载入口

    • Vue.prototype.$_math

    math挂载入口

    • Vue.filters

    core挂载

    components

    • Cache
    {
      props: {
             keys: { // cache keys
                 type: Array,
                 default: () => []
             }
         }
     }

    Keywords

    none

    Install

    npm i veal

    DownloadsWeekly Downloads

    2

    Version

    0.0.0

    License

    MIT

    Unpacked Size

    40.9 kB

    Total Files

    55

    Last publish

    Collaborators

    • dawenxi