avocado-old/packages/behavior/context/timing.hooks.js
2020-06-19 15:31:35 -05:00

41 lines
666 B
JavaScript

import {TickingPromise} from '@avocado/core';
class Timing {
static contextDescription() {
return {
type: 'object',
children: {
wait: {
type: 'ticking-promise',
label: 'Wait for $1 seconds.',
args: [
['duration', {
type: 'number',
}],
],
},
},
};
}
static wait (duration) {
return new TickingPromise(
() => {},
(elapsed, resolve) => {
duration -= elapsed;
if (duration <= 0) {
resolve();
}
},
);
}
}
export function behaviorContextGlobals() {
return {
Timing,
};
}