UNPKG

actionhero

Version:

The reusable, scalable, and quick node.js API server for stateless and stateful applications

44 lines (38 loc) 1.05 kB
import { Action } from "./../index"; function sleep(time: number): Promise<void> { return new Promise((resolve) => { setTimeout(resolve, time); }); } export class SleepTest extends Action { constructor() { super(); this.name = "sleepTest"; this.description = "I will sleep and then return"; this.inputs = { sleepDuration: { required: true, formatter: (n) => { return parseInt(n); }, default: () => { return 1000; }, }, }; this.outputExample = { sleepStarted: 1420953571322, sleepEnded: 1420953572327, sleepDelta: 1005, sleepDuration: 1000, }; } async run({ params }: { params: { sleepDuration: number } }) { const sleepDuration = params.sleepDuration; const sleepStarted = new Date().getTime(); await sleep(sleepDuration); const sleepEnded = new Date().getTime(); const sleepDelta = sleepEnded - sleepStarted; return { sleepStarted, sleepEnded, sleepDelta, sleepDuration }; } }