chore: initial commit
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
import type {NodeHandler} from '../../../types/bot/workflow/runtime.ts';
|
||||
import type {WorkflowNodeTemplate} from '../../../types/bot/workflow/metadata.ts';
|
||||
import {describe, failure_port, output, success_port} from '../metadata.ts';
|
||||
|
||||
export const config_template: WorkflowNodeTemplate = {
|
||||
name: 'sleep', version: '1.0.0',
|
||||
i18n: describe('等待', '按毫秒或游戏刻等待指定时长,再继续执行。'),
|
||||
config: [
|
||||
{name: 'mode', type: 'select', required: true, default: 'milliseconds',
|
||||
i18n: describe('计时方式', '选择等待时长的单位。'),
|
||||
options: [
|
||||
{value: 'milliseconds', i18n: describe('毫秒', '按毫秒等待,1000 毫秒为 1 秒。')},
|
||||
{value: 'ticks', i18n: describe('游戏刻', '按游戏刻等待,实际时长取决于游戏刻推进速度。')},
|
||||
]},
|
||||
{name: 'value', type: 'number', required: true, default: 1000, integer: true, min: 0, max: 2_147_483_647,
|
||||
i18n: describe('等待时长', '使用所选单位的非负整数时长,0 表示不增加等待时长。')},
|
||||
],
|
||||
output: output('null', '等待结果', '等待完成后输出 null。'),
|
||||
ports: [success_port, failure_port],
|
||||
};
|
||||
|
||||
export const execute: NodeHandler = async (node, _state, signal, deps) => {
|
||||
if (node.type !== 'sleep') throw new Error('Expected a sleep node');
|
||||
signal.throwIfAborted();
|
||||
await deps.sleep(node.config.mode, node.config.value, signal);
|
||||
signal.throwIfAborted();
|
||||
return {port: 'success', result: {status: 'success', output: null}};
|
||||
};
|
||||
Reference in New Issue
Block a user