{"version":3,"sources":["../../src/utils/string.util.ts"],"sourcesContent":["/**\n * 根据key升序生成 key1=val1&key2=val2的字符串\n * @param {object} data 需要处理的对象\n * @param {boolean} ignoreNull 是否过滤空值(空格或者null值不参与拼接)\n * @param splitChar 连接的字符, 默认是&\n * @param equalChar =\n */\nexport function generateKeyValStr(data: {}, ignoreNull = true, splitChar: string = '&', equalChar = '=') {\n const keys = Object.keys(data)\n keys.sort()\n let result = ''\n let i = 0\n for (let key of keys) {\n if (ignoreNull && !data[key]) {\n return\n }\n if (i++ > 0) result += splitChar\n result += `${key}${equalChar}${data[key]}`\n }\n return result\n}\n\n/**\n * 将key1=val&key2=val的字符串组装成对象\n * @param str key1=val&key2=val的字符串\n * @param splitChar 连接的字符, 默认是&\n * @param equalChar =\n */\nexport function keyValToObject(str: string, splitChar: string = '&', equalChar = '='): {} {\n let result = {}\n if (!str) {\n return result\n }\n let arrs = str.split(splitChar)\n for (let sub of arrs) {\n let subArr = sub.split(equalChar)\n result[subArr[0]] = subArr[1]\n }\n return result\n}\n\n/**\n * 判断传入的值是否为true\n * @param {Object} obj 传入值为'true','TRUE',1,'1','on','ON','YES','yes'时,返回true,其他值均返回false\n * @return {boolean}\n */\nexport function isTrue(obj) {\n return (\n obj === 'true' ||\n obj === 'TRUE' ||\n obj === 'True' ||\n obj === 'on' ||\n obj === 'ON' ||\n obj === true ||\n obj === 1 ||\n obj === '1' ||\n obj === 'YES' ||\n obj === 'yes'\n )\n}\n\n/**\n * 验证ObjectId格式是否正确\n * @param {string} id\n * @return {boolean}\n */\nexport function isObjectId(id: string): boolean {\n //mongoose.Types.ObjectId.isValid(id)\n return /^[a-fA-F0-9]{24}$/.test(id)\n}\n\n/**\n * 10进制 -> 62进制\n * @param {string | number} number\n * @return {string}\n */\nexport function string10to62(number: string | number) {\n const chars = '0123456789abcdefghigklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ'.split('')\n const radix = chars.length\n let qutient = +number\n const arr = []\n do {\n const mod = qutient % radix\n qutient = (qutient - mod) / radix\n arr.unshift(chars[mod])\n } while (qutient)\n return arr.join('')\n}\n\n/**\n * 62进制 -> 10 进制\n * @param {string} numberCode\n * @return {number}\n */\nexport function string62to10(numberCode: string) {\n const chars = '0123456789abcdefghigklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ'\n const radix = chars.length\n numberCode = numberCode + ''\n const len = numberCode.length\n let i = 0\n let originNumber = 0\n while (i < len) {\n originNumber += Math.pow(radix, i++) * (chars.indexOf(numberCode.charAt(len - i)) || 0)\n }\n return originNumber\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOO,SAAS,kBAAkB,MAAU,aAAa,MAAM,YAAoB,KAAK,YAAY,KAAK;AACvG,QAAM,OAAO,OAAO,KAAK,IAAI;AAC7B,OAAK,KAAK;AACV,MAAI,SAAS;AACb,MAAI,IAAI;AACR,WAAS,OAAO,MAAM;AACpB,QAAI,cAAc,CAAC,KAAK,GAAG,GAAG;AAC5B;AAAA,IACF;AACA,QAAI,MAAM;AAAG,gBAAU;AACvB,cAAU,GAAG,GAAG,GAAG,SAAS,GAAG,KAAK,GAAG,CAAC;AAAA,EAC1C;AACA,SAAO;AACT;AAQO,SAAS,eAAe,KAAa,YAAoB,KAAK,YAAY,KAAS;AACxF,MAAI,SAAS,CAAC;AACd,MAAI,CAAC,KAAK;AACR,WAAO;AAAA,EACT;AACA,MAAI,OAAO,IAAI,MAAM,SAAS;AAC9B,WAAS,OAAO,MAAM;AACpB,QAAI,SAAS,IAAI,MAAM,SAAS;AAChC,WAAO,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC;AAAA,EAC9B;AACA,SAAO;AACT;AAOO,SAAS,OAAO,KAAK;AAC1B,SACE,QAAQ,UACR,QAAQ,UACR,QAAQ,UACR,QAAQ,QACR,QAAQ,QACR,QAAQ,QACR,QAAQ,KACR,QAAQ,OACR,QAAQ,SACR,QAAQ;AAEZ;AAOO,SAAS,WAAW,IAAqB;AAE9C,SAAO,oBAAoB,KAAK,EAAE;AACpC;AAOO,SAAS,aAAa,QAAyB;AACpD,QAAM,QAAQ,iEAAiE,MAAM,EAAE;AACvF,QAAM,QAAQ,MAAM;AACpB,MAAI,UAAU,CAAC;AACf,QAAM,MAAM,CAAC;AACb,KAAG;AACD,UAAM,MAAM,UAAU;AACtB,eAAW,UAAU,OAAO;AAC5B,QAAI,QAAQ,MAAM,GAAG,CAAC;AAAA,EACxB,SAAS;AACT,SAAO,IAAI,KAAK,EAAE;AACpB;AAOO,SAAS,aAAa,YAAoB;AAC/C,QAAM,QAAQ;AACd,QAAM,QAAQ,MAAM;AACpB,eAAa,aAAa;AAC1B,QAAM,MAAM,WAAW;AACvB,MAAI,IAAI;AACR,MAAI,eAAe;AACnB,SAAO,IAAI,KAAK;AACd,oBAAgB,KAAK,IAAI,OAAO,GAAG,KAAK,MAAM,QAAQ,WAAW,OAAO,MAAM,CAAC,CAAC,KAAK;AAAA,EACvF;AACA,SAAO;AACT;","names":[]}