qidian-shared 1.0.62 → 1.0.63
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/utils/str.mjs +1 -3
- package/dist/utils/str.mjs.map +1 -1
- package/package.json +1 -1
package/dist/utils/str.mjs
CHANGED
|
@@ -6,9 +6,7 @@ function initialConversion(str, isLowerCase) {
|
|
|
6
6
|
}
|
|
7
7
|
}
|
|
8
8
|
function camelize(str) {
|
|
9
|
-
return str.replace(
|
|
10
|
-
return c ? c.toUpperCase() : "";
|
|
11
|
-
});
|
|
9
|
+
return str.replace(/[-_](\w)/g, (_, c) => c.toUpperCase());
|
|
12
10
|
}
|
|
13
11
|
function kebabCase(str, separator = "-") {
|
|
14
12
|
return str.replace(/([A-Z])/g, `${separator}$1`).toLowerCase().replace(new RegExp(`^\\${separator}`), "");
|
package/dist/utils/str.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"str.mjs","sources":["../../src/utils/str.ts"],"sourcesContent":["/**\n * 首字母转换\n * @param str 要转换的string\n * @param isLowerCase 首字母是否小写(默认大写)\n * @returns 结果\n */\nexport function initialConversion(str: string, isLowerCase?: boolean) {\n if (!isLowerCase) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n } else {\n return str.charAt(0).toLowerCase() + str.slice(1)\n }\n}\n\n/**\n * 驼峰化\n * @param str\n * @returns 结果\n */\nexport function camelize(str: string) {\n return str.replace(
|
|
1
|
+
{"version":3,"file":"str.mjs","sources":["../../src/utils/str.ts"],"sourcesContent":["/**\n * 首字母转换\n * @param str 要转换的string\n * @param isLowerCase 首字母是否小写(默认大写)\n * @returns 结果\n */\nexport function initialConversion(str: string, isLowerCase?: boolean) {\n if (!isLowerCase) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n } else {\n return str.charAt(0).toLowerCase() + str.slice(1)\n }\n}\n\n/**\n * 驼峰化\n * @param str\n * @returns 结果\n */\nexport function camelize(str: string) {\n return str.replace(/[-_](\\w)/g, (_, c) => c.toUpperCase())\n}\n\n/**\n * 驼峰转短横线\n * @param str\n * @param separator 分隔符(默认-)\n * @returns 结果\n */\nexport function kebabCase(str: string, separator = '-') {\n return str\n .replace(/([A-Z])/g, `${separator}$1`)\n .toLowerCase()\n .replace(new RegExp(`^\\\\${separator}`), '')\n}\n\n/**\n * 获取相似度\n * @param a 内容\n * @param b 内容\n * @returns 相似度\n */\nexport function levenshtein(a: string, b: string) {\n const matrix: number[][] = []\n\n for (let i = 0; i <= b.length; i++) {\n matrix[i] = [i]\n }\n for (let j = 0; j <= a.length; j++) {\n matrix[0][j] = j\n }\n\n for (let i = 1; i <= b.length; i++) {\n for (let j = 1; j <= a.length; j++) {\n if (b.charAt(i - 1) === a.charAt(j - 1)) {\n matrix[i][j] = matrix[i - 1][j - 1]\n } else {\n matrix[i][j] = Math.min(\n matrix[i - 1][j - 1] + 1,\n matrix[i][j - 1] + 1,\n matrix[i - 1][j] + 1\n )\n }\n }\n }\n\n return 1 - matrix[b.length][a.length] / Math.max(a.length, b.length)\n}\n\n/**\n * 复制文本到剪贴板\n * @param input 文本\n * @param options.target 默认为 body\n */\nexport function copy2Clipboard(input: string, { target = document.body } = {}) {\n const element = document.createElement('textarea')\n const previouslyFocusedElement = document.activeElement\n\n element.value = input\n\n // Prevent keyboard from showing on mobile\n element.setAttribute('readonly', '')\n\n element.style.contain = 'strict'\n element.style.position = 'absolute'\n element.style.left = '-9999px'\n element.style.fontSize = '12pt' // Prevent zooming on iOS\n\n const selection = document.getSelection()\n const originalRange = selection && selection.rangeCount > 0 && selection.getRangeAt(0)\n\n target.append(element)\n element.select()\n\n // Explicit selection workaround for iOS\n element.selectionStart = 0\n element.selectionEnd = input.length\n\n let isSuccess = false\n try {\n isSuccess = document.execCommand('copy')\n } catch {\n // ignore\n }\n\n element.remove()\n\n if (originalRange) {\n selection.removeAllRanges()\n selection.addRange(originalRange)\n }\n\n // Get the focus back on the previously focused element, if any\n if (previouslyFocusedElement) {\n // @ts-expect-error-error\n previouslyFocusedElement?.focus()\n }\n\n return isSuccess\n}\n\n/**\n * 删除所有空格\n * @param str 值\n * @returns 删除空格后的值\n */\nexport function deleteSpace(str: string) {\n return str.replace(/\\s*/g, '')\n}\n"],"names":[],"mappings":"AAMO,SAAS,kBAAkB,KAAa,aAAuB;AACpE,MAAI,CAAC,aAAa;AAChB,WAAO,IAAI,OAAO,CAAC,EAAE,gBAAgB,IAAI,MAAM,CAAC;AAAA,EAClD,OAAO;AACL,WAAO,IAAI,OAAO,CAAC,EAAE,gBAAgB,IAAI,MAAM,CAAC;AAAA,EAClD;AACF;AAOO,SAAS,SAAS,KAAa;AACpC,SAAO,IAAI,QAAQ,aAAa,CAAC,GAAG,MAAM,EAAE,aAAa;AAC3D;AAQO,SAAS,UAAU,KAAa,YAAY,KAAK;AACtD,SAAO,IACJ,QAAQ,YAAY,GAAG,SAAS,IAAI,EACpC,YAAA,EACA,QAAQ,IAAI,OAAO,MAAM,SAAS,EAAE,GAAG,EAAE;AAC9C;AAQO,SAAS,YAAY,GAAW,GAAW;AAChD,QAAM,SAAqB,CAAA;AAE3B,WAAS,IAAI,GAAG,KAAK,EAAE,QAAQ,KAAK;AAClC,WAAO,CAAC,IAAI,CAAC,CAAC;AAAA,EAChB;AACA,WAAS,IAAI,GAAG,KAAK,EAAE,QAAQ,KAAK;AAClC,WAAO,CAAC,EAAE,CAAC,IAAI;AAAA,EACjB;AAEA,WAAS,IAAI,GAAG,KAAK,EAAE,QAAQ,KAAK;AAClC,aAAS,IAAI,GAAG,KAAK,EAAE,QAAQ,KAAK;AAClC,UAAI,EAAE,OAAO,IAAI,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC,GAAG;AACvC,eAAO,CAAC,EAAE,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,IAAI,CAAC;AAAA,MACpC,OAAO;AACL,eAAO,CAAC,EAAE,CAAC,IAAI,KAAK;AAAA,UAClB,OAAO,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI;AAAA,UACvB,OAAO,CAAC,EAAE,IAAI,CAAC,IAAI;AAAA,UACnB,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI;AAAA,QAAA;AAAA,MAEvB;AAAA,IACF;AAAA,EACF;AAEA,SAAO,IAAI,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,IAAI,KAAK,IAAI,EAAE,QAAQ,EAAE,MAAM;AACrE;AAOO,SAAS,eAAe,OAAe,EAAE,SAAS,SAAS,KAAA,IAAS,IAAI;AAC7E,QAAM,UAAU,SAAS,cAAc,UAAU;AACjD,QAAM,2BAA2B,SAAS;AAE1C,UAAQ,QAAQ;AAGhB,UAAQ,aAAa,YAAY,EAAE;AAEnC,UAAQ,MAAM,UAAU;AACxB,UAAQ,MAAM,WAAW;AACzB,UAAQ,MAAM,OAAO;AACrB,UAAQ,MAAM,WAAW;AAEzB,QAAM,YAAY,SAAS,aAAA;AAC3B,QAAM,gBAAgB,aAAa,UAAU,aAAa,KAAK,UAAU,WAAW,CAAC;AAErF,SAAO,OAAO,OAAO;AACrB,UAAQ,OAAA;AAGR,UAAQ,iBAAiB;AACzB,UAAQ,eAAe,MAAM;AAE7B,MAAI,YAAY;AAChB,MAAI;AACF,gBAAY,SAAS,YAAY,MAAM;AAAA,EACzC,QAAQ;AAAA,EAER;AAEA,UAAQ,OAAA;AAER,MAAI,eAAe;AACjB,cAAU,gBAAA;AACV,cAAU,SAAS,aAAa;AAAA,EAClC;AAGA,MAAI,0BAA0B;AAE5B,8BAA0B,MAAA;AAAA,EAC5B;AAEA,SAAO;AACT;AAOO,SAAS,YAAY,KAAa;AACvC,SAAO,IAAI,QAAQ,QAAQ,EAAE;AAC/B;"}
|