UNPKG

@riddance/host

Version:

27 lines 4.39 kB
import { combineConfig, getMetadata } from './meta.js'; import { addHandler } from './registry.js'; let timerHostRegistry; function setTimerHost(host) { timerHostRegistry = host; } function timerHost(meta, cfg, schedule, entry) { addHandler('timer', { meta, config: combineConfig(meta?.config, cfg), schedule, entry, }); } setTimerHost(timerHost); export function registerTimerHandler(schedule, configOrHandler, fn) { if (typeof configOrHandler === 'function') { timerHostRegistry(getMetadata(), undefined, schedule, configOrHandler); } else { if (!fn) { throw new Error('Please provide a handler function.'); } timerHostRegistry(getMetadata(), configOrHandler, schedule, fn); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXItcmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0aW1lci1yZWdpc3RyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBeUMsTUFBTSxXQUFXLENBQUE7QUFDN0YsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQWdCMUMsSUFBSSxpQkFBNEIsQ0FBQTtBQUVoQyxTQUFTLFlBQVksQ0FBQyxJQUFlO0lBQ2pDLGlCQUFpQixHQUFHLElBQUksQ0FBQTtBQUM1QixDQUFDO0FBV0QsU0FBUyxTQUFTLENBQ2QsSUFBMEIsRUFDMUIsR0FBcUMsRUFDckMsUUFBd0IsRUFDeEIsS0FBb0I7SUFFcEIsVUFBVSxDQUFDLE9BQU8sRUFBRTtRQUNoQixJQUFJO1FBQ0osTUFBTSxFQUFFLGFBQWEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztRQUN4QyxRQUFRO1FBQ1IsS0FBSztLQUNSLENBQUMsQ0FBQTtBQUNOLENBQUM7QUFFRCxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUE7QUFFdkIsTUFBTSxVQUFVLG9CQUFvQixDQUNoQyxRQUF3QixFQUN4QixlQUFxRCxFQUNyRCxFQUFrQjtJQUVsQixJQUFJLE9BQU8sZUFBZSxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ3hDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsZUFBZSxDQUFDLENBQUE7SUFDMUUsQ0FBQztTQUFNLENBQUM7UUFDSixJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDTixNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUE7UUFDekQsQ0FBQztRQUNELGlCQUFpQixDQUFDLFdBQVcsRUFBRSxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDbkUsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIEhhbmRsZXJDb25maWd1cmF0aW9uLCB0eXBlIEhhbmRsZXIgYXMgVGltZXJGdW5jdGlvbiB9IGZyb20gJy4uL3RpbWVyLmpzJ1xuaW1wb3J0IHsgY29tYmluZUNvbmZpZywgZ2V0TWV0YWRhdGEsIHR5cGUgRnVsbENvbmZpZ3VyYXRpb24sIHR5cGUgTWV0YWRhdGEgfSBmcm9tICcuL21ldGEuanMnXG5pbXBvcnQgeyBhZGRIYW5kbGVyIH0gZnJvbSAnLi9yZWdpc3RyeS5qcydcblxuZXhwb3J0IHR5cGUgVGltZXJIYW5kbGVyID0ge1xuICAgIG1ldGE6IE1ldGFkYXRhIHwgdW5kZWZpbmVkXG4gICAgY29uZmlnOiBGdWxsQ29uZmlndXJhdGlvbiB8IHVuZGVmaW5lZFxuICAgIHNjaGVkdWxlOiBDcm9uRXhwcmVzc2lvblxuICAgIGVudHJ5OiBUaW1lckZ1bmN0aW9uXG59XG5cbnR5cGUgVGltZXJIb3N0ID0gKFxuICAgIG1ldGE6IE1ldGFkYXRhIHwgdW5kZWZpbmVkLFxuICAgIGNvbmZpZzogSGFuZGxlckNvbmZpZ3VyYXRpb24gfCB1bmRlZmluZWQsXG4gICAgc2NoZWR1bGU6IENyb25FeHByZXNzaW9uLFxuICAgIGhhbmRsZXI6IFRpbWVyRnVuY3Rpb24sXG4pID0+IHZvaWRcblxubGV0IHRpbWVySG9zdFJlZ2lzdHJ5OiBUaW1lckhvc3RcblxuZnVuY3Rpb24gc2V0VGltZXJIb3N0KGhvc3Q6IFRpbWVySG9zdCkge1xuICAgIHRpbWVySG9zdFJlZ2lzdHJ5ID0gaG9zdFxufVxuXG50eXBlIE1pbnV0ZUZpZWxkID0gc3RyaW5nXG50eXBlIEhvdXJGaWVsZCA9IHN0cmluZ1xudHlwZSBEYXlPZk1vbnRoRmllbGQgPSBzdHJpbmdcbnR5cGUgTW9udGhGaWVsZCA9IHN0cmluZ1xudHlwZSBEYXlPZldlZWtGaWVsZCA9IHN0cmluZ1xuXG5leHBvcnQgdHlwZSBDcm9uRXhwcmVzc2lvbiA9XG4gICAgYCR7TWludXRlRmllbGR9ICR7SG91ckZpZWxkfSAke0RheU9mTW9udGhGaWVsZH0gJHtNb250aEZpZWxkfSAke0RheU9mV2Vla0ZpZWxkfWBcblxuZnVuY3Rpb24gdGltZXJIb3N0KFxuICAgIG1ldGE6IE1ldGFkYXRhIHwgdW5kZWZpbmVkLFxuICAgIGNmZzogSGFuZGxlckNvbmZpZ3VyYXRpb24gfCB1bmRlZmluZWQsXG4gICAgc2NoZWR1bGU6IENyb25FeHByZXNzaW9uLFxuICAgIGVudHJ5OiBUaW1lckZ1bmN0aW9uLFxuKSB7XG4gICAgYWRkSGFuZGxlcigndGltZXInLCB7XG4gICAgICAgIG1ldGEsXG4gICAgICAgIGNvbmZpZzogY29tYmluZUNvbmZpZyhtZXRhPy5jb25maWcsIGNmZyksXG4gICAgICAgIHNjaGVkdWxlLFxuICAgICAgICBlbnRyeSxcbiAgICB9KVxufVxuXG5zZXRUaW1lckhvc3QodGltZXJIb3N0KVxuXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJUaW1lckhhbmRsZXIoXG4gICAgc2NoZWR1bGU6IENyb25FeHByZXNzaW9uLFxuICAgIGNvbmZpZ09ySGFuZGxlcjogSGFuZGxlckNvbmZpZ3VyYXRpb24gfCBUaW1lckZ1bmN0aW9uLFxuICAgIGZuPzogVGltZXJGdW5jdGlvbixcbik6IHZvaWQge1xuICAgIGlmICh0eXBlb2YgY29uZmlnT3JIYW5kbGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRpbWVySG9zdFJlZ2lzdHJ5KGdldE1ldGFkYXRhKCksIHVuZGVmaW5lZCwgc2NoZWR1bGUsIGNvbmZpZ09ySGFuZGxlcilcbiAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoIWZuKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1BsZWFzZSBwcm92aWRlIGEgaGFuZGxlciBmdW5jdGlvbi4nKVxuICAgICAgICB9XG4gICAgICAgIHRpbWVySG9zdFJlZ2lzdHJ5KGdldE1ldGFkYXRhKCksIGNvbmZpZ09ySGFuZGxlciwgc2NoZWR1bGUsIGZuKVxuICAgIH1cbn1cbiJdfQ==