Merge branch 'next' of https://gitee.com/layui/layui-vue into next
This commit is contained in:
commit
474e91b945
@ -28,7 +28,8 @@
|
|||||||
"rollup": "^2.70.1",
|
"rollup": "^2.70.1",
|
||||||
"typescript": "^4.6.3",
|
"typescript": "^4.6.3",
|
||||||
"vite-plugin-md": "^0.13.1",
|
"vite-plugin-md": "^0.13.1",
|
||||||
"vite": "2.9.8"
|
"vite": "2.9.8",
|
||||||
|
"fflate": "^0.7.3"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
"lib",
|
"lib",
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import type { BuiltInParserName } from "prettier";
|
import type { BuiltInParserName } from "prettier";
|
||||||
|
import { zlibSync, unzlibSync, strToU8, strFromU8 } from "fflate";
|
||||||
|
|
||||||
const scriptRe = /<script[^>]*>([\s\S]*)<\/script>/;
|
const scriptRe = /<script[^>]*>([\s\S]*)<\/script>/;
|
||||||
const exportDefaultRe = /export\s*default\s*\{([\s\S]*)\}\;?\s*<\/script>/;
|
const exportDefaultRe = /export\s*default\s*\{([\s\S]*)\}\;?\s*<\/script>/;
|
||||||
@ -77,24 +78,6 @@ export const usePlayGround = async (
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
* 编码
|
|
||||||
* @param data
|
|
||||||
* @returns
|
|
||||||
*/
|
|
||||||
function utoa(data: string): string {
|
|
||||||
return btoa(unescape(encodeURIComponent(data)));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 去除字符串两端的空白行
|
|
||||||
* @param str
|
|
||||||
* @returns
|
|
||||||
*/
|
|
||||||
function trimBr(str: string): string {
|
|
||||||
return str.replace(/(^[\r\n]*)|([\r\n]*$)/, "");
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @returns 格式化代码
|
* @returns 格式化代码
|
||||||
@ -131,3 +114,34 @@ async function formatCode(filename: string, data: string) {
|
|||||||
|
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 去除字符串两端的空白行
|
||||||
|
* @param str
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
function trimBr(str: string): string {
|
||||||
|
return str.replace(/(^[\r\n]*)|([\r\n]*$)/, "");
|
||||||
|
}
|
||||||
|
|
||||||
|
export function utoa(data: string): string {
|
||||||
|
const buffer = strToU8(data);
|
||||||
|
const zipped = zlibSync(buffer, { level: 9 });
|
||||||
|
const binary = strFromU8(zipped, true);
|
||||||
|
return btoa(binary);
|
||||||
|
}
|
||||||
|
|
||||||
|
export function atou(base64: string): string {
|
||||||
|
const binary = atob(base64);
|
||||||
|
|
||||||
|
// zlib header (x78), level 9 (xDA)
|
||||||
|
if (binary.startsWith("\x78\xDA")) {
|
||||||
|
const buffer = strToU8(binary, true);
|
||||||
|
const unzipped = unzlibSync(buffer);
|
||||||
|
return strFromU8(unzipped);
|
||||||
|
}
|
||||||
|
|
||||||
|
// old unicode hacks for backward compatibility
|
||||||
|
// https://base64.guru/developers/javascript/examples/unicode-strings
|
||||||
|
return decodeURIComponent(escape(binary));
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user