This commit is contained in:
1-6
2023-07-31 17:06:59 +08:00
parent cff1acbceb
commit a6e272b673
4 changed files with 34 additions and 43 deletions
+1 -1
View File
@@ -24,7 +24,7 @@ type Language struct {
} }
var plugin_dir = utils.ExecPath + "/plugins" var plugin_dir = utils.ExecPath + "/plugins"
var release = "20230731" var release = "20230732"
var languages = []Language{ var languages = []Language{
{ {
+15 -8
View File
@@ -217,7 +217,7 @@ func AddNodePlugin(path, name string) error {
f.Suffix = ".js" f.Suffix = ".js"
f.Type = "node" f.Type = "node"
f.Path = path f.Path = path
f.Handle = func(s common.Sender, f func(vm *goja.Runtime)) interface{} { f.Handle = func(s common.Sender, _ func(vm *goja.Runtime)) interface{} {
console := &Console{UUID: uuid} console := &Console{UUID: uuid}
s.SetPluginID(uuid) s.SetPluginID(uuid)
plt := s.GetImType() plt := s.GetImType()
@@ -263,13 +263,20 @@ func AddNodePlugin(path, name string) error {
go func() { go func() {
defer wg.Done() defer wg.Done()
scanner := bufio.NewScanner(stderr) scanner := bufio.NewScanner(stderr)
for scanner.Scan() { if f.OnStart {
data := scanner.Text() for scanner.Scan() {
fmt.Println(data) fmt.Println(scanner.Text())
console.Error(data) }
// if _, err := file.WriteString(data + "\n"); err != nil { } else {
// fmt.Printf("写入文件失败:%v\n", err) lines := []string{}
// } for scanner.Scan() {
data := scanner.Text()
lines = append(lines, data)
}
if len(lines) != 0 {
console.Error(strings.Join(lines, "\n"))
}
} }
}() }()
processes.Store(cmd, s) processes.Store(cmd, s)
+9 -17
View File
@@ -375,29 +375,21 @@ class Bucket {
return v; return v;
} }
reverseTransform(value) { reverseTransform(value) {
if (typeof value === "number" || typeof value === "boolean") { if (typeof value === "number") {
return value.toString(); if (value % 1 === 0) {
return `d:${value}`;
}
return `f:${value}`;
}
if (typeof value === "boolean") {
return `b:${value}`;
} }
if (typeof value === "object" && value !== null) { if (typeof value === "object" && value !== null) {
return "o:" + JSON.stringify(value); return "o:" + JSON.stringify(value);
} }
if (value === undefined || value === null) { if (!value) {
return ""; return "";
} }
if (typeof value === "string") {
if (!value) {
return "";
}
if (!isNaN(parseFloat(value))) {
return "f:" + parseFloat(value);
}
if (!isNaN(parseInt(value))) {
return "d:" + parseInt(value);
}
if (value === "true" || value === "false") {
return "b:" + (value === "true");
}
}
return value; return value;
} }
async get(key, defaultValue = undefined) { async get(key, defaultValue = undefined) {
+9 -17
View File
@@ -425,29 +425,21 @@ class Bucket {
} }
reverseTransform(value: any): string { reverseTransform(value: any): string {
if (typeof value === "number" || typeof value === "boolean") { if (typeof value === "number") {
return value.toString(); if (value % 1 === 0) {
return `d:${value}`;
}
return `f:${value}`;
}
if (typeof value === "boolean") {
return `b:${value}`;
} }
if (typeof value === "object" && value !== null) { if (typeof value === "object" && value !== null) {
return "o:" + JSON.stringify(value); return "o:" + JSON.stringify(value);
} }
if (value === undefined || value === null) { if (!value) {
return ""; return "";
} }
if (typeof value === "string") {
if (!value) {
return "";
}
if (!isNaN(parseFloat(value))) {
return "f:" + parseFloat(value);
}
if (!isNaN(parseInt(value))) {
return "d:" + parseInt(value);
}
if (value === "true" || value === "false") {
return "b:" + (value === "true");
}
}
return value; return value;
} }