mirror of
https://github.com/fofolee/uTools-quickcommand.git
synced 2025-09-24 13:03:30 +08:00
编排新增url/dns/buffer/zlib,新增arrayEditor组件,优化parseFunction
This commit is contained in:
140
plugin/lib/quickcomposer/developer/buffer.js
Normal file
140
plugin/lib/quickcomposer/developer/buffer.js
Normal file
@@ -0,0 +1,140 @@
|
||||
// 创建 Buffer
|
||||
function from(data, encoding = "utf8") {
|
||||
try {
|
||||
return Buffer.from(data, encoding);
|
||||
} catch (error) {
|
||||
throw new Error(`创建Buffer失败: ${error.message}`);
|
||||
}
|
||||
}
|
||||
|
||||
// 转换为字符串
|
||||
function toString(buffer, encoding = "utf8", start = 0, end = buffer.length) {
|
||||
try {
|
||||
return buffer.toString(encoding, start, end);
|
||||
} catch (error) {
|
||||
throw new Error(`转换字符串失败: ${error.message}`);
|
||||
}
|
||||
}
|
||||
|
||||
// 写入数据
|
||||
function write(
|
||||
buffer,
|
||||
string,
|
||||
offset = 0,
|
||||
length = buffer.length,
|
||||
encoding = "utf8"
|
||||
) {
|
||||
try {
|
||||
return buffer.write(string, offset, length, encoding);
|
||||
} catch (error) {
|
||||
throw new Error(`写入数据失败: ${error.message}`);
|
||||
}
|
||||
}
|
||||
|
||||
// 填充数据
|
||||
function fill(
|
||||
buffer,
|
||||
value,
|
||||
offset = 0,
|
||||
end = buffer.length,
|
||||
encoding = "utf8"
|
||||
) {
|
||||
try {
|
||||
return buffer.fill(value, offset, end, encoding);
|
||||
} catch (error) {
|
||||
throw new Error(`填充数据失败: ${error.message}`);
|
||||
}
|
||||
}
|
||||
|
||||
// 复制数据
|
||||
function copy(
|
||||
source,
|
||||
target,
|
||||
targetStart = 0,
|
||||
sourceStart = 0,
|
||||
sourceEnd = source.length
|
||||
) {
|
||||
try {
|
||||
return source.copy(target, targetStart, sourceStart, sourceEnd);
|
||||
} catch (error) {
|
||||
throw new Error(`复制数据失败: ${error.message}`);
|
||||
}
|
||||
}
|
||||
|
||||
// 比较数据
|
||||
function compare(buf1, buf2) {
|
||||
try {
|
||||
return Buffer.compare(buf1, buf2);
|
||||
} catch (error) {
|
||||
throw new Error(`比较数据失败: ${error.message}`);
|
||||
}
|
||||
}
|
||||
|
||||
// 连接 Buffer
|
||||
function concat(buffers, totalLength) {
|
||||
try {
|
||||
return Buffer.concat(buffers, totalLength);
|
||||
} catch (error) {
|
||||
throw new Error(`连接Buffer失败: ${error.message}`);
|
||||
}
|
||||
}
|
||||
|
||||
// 查找数据
|
||||
function indexOf(buffer, value, byteOffset = 0, encoding = "utf8") {
|
||||
try {
|
||||
return buffer.indexOf(value, byteOffset, encoding);
|
||||
} catch (error) {
|
||||
throw new Error(`查找数据失败: ${error.message}`);
|
||||
}
|
||||
}
|
||||
|
||||
// 切片数据
|
||||
function slice(buffer, start = 0, end = buffer.length) {
|
||||
try {
|
||||
return buffer.slice(start, end);
|
||||
} catch (error) {
|
||||
throw new Error(`切片数据失败: ${error.message}`);
|
||||
}
|
||||
}
|
||||
|
||||
// 交换字节序
|
||||
function swap(buffer, size) {
|
||||
try {
|
||||
switch (size) {
|
||||
case 16:
|
||||
return buffer.swap16();
|
||||
case 32:
|
||||
return buffer.swap32();
|
||||
case 64:
|
||||
return buffer.swap64();
|
||||
default:
|
||||
throw new Error("不支持的字节大小");
|
||||
}
|
||||
} catch (error) {
|
||||
throw new Error(`交换字节序失败: ${error.message}`);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
from,
|
||||
toString,
|
||||
write,
|
||||
fill,
|
||||
copy,
|
||||
compare,
|
||||
concat,
|
||||
indexOf,
|
||||
slice,
|
||||
swap,
|
||||
// 编码类型
|
||||
encodings: [
|
||||
"utf8",
|
||||
"utf16le",
|
||||
"latin1",
|
||||
"base64",
|
||||
"hex",
|
||||
"ascii",
|
||||
"binary",
|
||||
"ucs2",
|
||||
],
|
||||
};
|
3
plugin/lib/quickcomposer/developer/index.js
Normal file
3
plugin/lib/quickcomposer/developer/index.js
Normal file
@@ -0,0 +1,3 @@
|
||||
module.exports = {
|
||||
buffer: require("./buffer"),
|
||||
};
|
Reference in New Issue
Block a user