gm api通信
Some checks failed
test / Run tests (push) Failing after 9s
build / Build (push) Failing after 16s

This commit is contained in:
2025-01-26 15:39:14 +08:00
parent 415f00a3d1
commit 9f8f7c8347
29 changed files with 1941 additions and 112 deletions

25
src/pkg/utils/queue.ts Normal file
View File

@ -0,0 +1,25 @@
// 一个简单的队列,可以使用pop阻塞等待消息
export default class Queue<T> {
list: T[] = [];
resolve?: (data: T) => void;
push(data: T) {
if (this.resolve) {
this.resolve(data);
this.resolve = undefined;
} else {
this.list.push(data);
}
}
pop(): Promise<T | undefined> {
return new Promise((resolve) => {
if (this.list.length > 0) {
resolve(this.list.shift());
} else {
this.resolve = resolve;
}
});
}
}

View File

@ -277,7 +277,7 @@ export function prepareScriptByCode(
let old: Script | undefined;
let oldCode: string | undefined;
if (uuid) {
old = await dao.findByUUID(uuid);
old = await dao.get(uuid);
if (!old && override) {
old = await dao.findByNameAndNamespace(script.name, script.namespace);
}