@riddance/host 0.1.2 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/context.d.ts +1 -2
- package/context.js +1 -1
- package/event.d.ts +8 -0
- package/event.js +6 -0
- package/host/context.d.ts +6 -17
- package/host/context.js +2 -10
- package/host/event-registry.d.ts +10 -0
- package/host/event-registry.js +28 -0
- package/host/event.d.ts +11 -0
- package/host/event.js +15 -0
- package/host/git.d.ts +1 -0
- package/host/git.js +33 -0
- package/host/http-registry.d.ts +12 -0
- package/host/http-registry.js +33 -0
- package/host/http.d.ts +1 -1
- package/host/http.js +48 -6
- package/host/logging.js +79 -18
- package/host/meta.d.ts +12 -0
- package/host/meta.js +22 -0
- package/host/reflect.d.ts +15 -2
- package/host/reflect.js +33 -7
- package/host/registry.d.ts +10 -24
- package/host/registry.js +6 -56
- package/host/timer copy.d.ts +6 -0
- package/host/timer copy.js +14 -0
- package/host/timer-registry copy.d.ts +16 -0
- package/host/timer-registry copy.js +27 -0
- package/host/timer-registry.d.ts +16 -0
- package/host/timer-registry.js +27 -0
- package/host/timer.d.ts +6 -0
- package/host/timer.js +14 -0
- package/http.js +2 -2
- package/package.json +12 -5
- package/timer.d.ts +17 -0
- package/timer.js +6 -0
- package/host/events.d.ts +0 -13
- package/host/events.js +0 -68
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type HandlerConfiguration, type Handler as TimerFunction } from '../timer.js';
|
|
2
|
+
import { type FullConfiguration, type Metadata } from './meta.js';
|
|
3
|
+
export type TimerHandler = {
|
|
4
|
+
meta: Metadata | undefined;
|
|
5
|
+
config: FullConfiguration | undefined;
|
|
6
|
+
schedule: CronExpression;
|
|
7
|
+
entry: TimerFunction;
|
|
8
|
+
};
|
|
9
|
+
type MinuteField = string;
|
|
10
|
+
type HourField = string;
|
|
11
|
+
type DayOfMonthField = string;
|
|
12
|
+
type MonthField = string;
|
|
13
|
+
type DayOfWeekField = string;
|
|
14
|
+
export type CronExpression = `${MinuteField} ${HourField} ${DayOfMonthField} ${MonthField} ${DayOfWeekField}`;
|
|
15
|
+
export declare function registerTimerHandler(schedule: CronExpression, configOrHandler: HandlerConfiguration | TimerFunction, fn?: TimerFunction): void;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { combineConfig, getMetadata } from './meta.js';
|
|
2
|
+
import { addHandler } from './registry.js';
|
|
3
|
+
let timerHostRegistry;
|
|
4
|
+
function setTimerHost(host) {
|
|
5
|
+
timerHostRegistry = host;
|
|
6
|
+
}
|
|
7
|
+
function timerHost(meta, cfg, schedule, entry) {
|
|
8
|
+
addHandler('timer', {
|
|
9
|
+
meta,
|
|
10
|
+
config: combineConfig(meta?.config, cfg),
|
|
11
|
+
schedule,
|
|
12
|
+
entry,
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
setTimerHost(timerHost);
|
|
16
|
+
export function registerTimerHandler(schedule, configOrHandler, fn) {
|
|
17
|
+
if (typeof configOrHandler === 'function') {
|
|
18
|
+
timerHostRegistry(getMetadata(), undefined, schedule, configOrHandler);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
if (!fn) {
|
|
22
|
+
throw new Error('Please provide a handler function.');
|
|
23
|
+
}
|
|
24
|
+
timerHostRegistry(getMetadata(), configOrHandler, schedule, fn);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXItcmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0aW1lci1yZWdpc3RyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBeUMsTUFBTSxXQUFXLENBQUE7QUFDN0YsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQWdCMUMsSUFBSSxpQkFBNEIsQ0FBQTtBQUVoQyxTQUFTLFlBQVksQ0FBQyxJQUFlO0lBQ2pDLGlCQUFpQixHQUFHLElBQUksQ0FBQTtBQUM1QixDQUFDO0FBV0QsU0FBUyxTQUFTLENBQ2QsSUFBMEIsRUFDMUIsR0FBcUMsRUFDckMsUUFBd0IsRUFDeEIsS0FBb0I7SUFFcEIsVUFBVSxDQUFDLE9BQU8sRUFBRTtRQUNoQixJQUFJO1FBQ0osTUFBTSxFQUFFLGFBQWEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztRQUN4QyxRQUFRO1FBQ1IsS0FBSztLQUNSLENBQUMsQ0FBQTtBQUNOLENBQUM7QUFFRCxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUE7QUFFdkIsTUFBTSxVQUFVLG9CQUFvQixDQUNoQyxRQUF3QixFQUN4QixlQUFxRCxFQUNyRCxFQUFrQjtJQUVsQixJQUFJLE9BQU8sZUFBZSxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQ3hDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsZUFBZSxDQUFDLENBQUE7SUFDMUUsQ0FBQztTQUFNLENBQUM7UUFDSixJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDTixNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUE7UUFDekQsQ0FBQztRQUNELGlCQUFpQixDQUFDLFdBQVcsRUFBRSxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDbkUsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIEhhbmRsZXJDb25maWd1cmF0aW9uLCB0eXBlIEhhbmRsZXIgYXMgVGltZXJGdW5jdGlvbiB9IGZyb20gJy4uL3RpbWVyLmpzJ1xuaW1wb3J0IHsgY29tYmluZUNvbmZpZywgZ2V0TWV0YWRhdGEsIHR5cGUgRnVsbENvbmZpZ3VyYXRpb24sIHR5cGUgTWV0YWRhdGEgfSBmcm9tICcuL21ldGEuanMnXG5pbXBvcnQgeyBhZGRIYW5kbGVyIH0gZnJvbSAnLi9yZWdpc3RyeS5qcydcblxuZXhwb3J0IHR5cGUgVGltZXJIYW5kbGVyID0ge1xuICAgIG1ldGE6IE1ldGFkYXRhIHwgdW5kZWZpbmVkXG4gICAgY29uZmlnOiBGdWxsQ29uZmlndXJhdGlvbiB8IHVuZGVmaW5lZFxuICAgIHNjaGVkdWxlOiBDcm9uRXhwcmVzc2lvblxuICAgIGVudHJ5OiBUaW1lckZ1bmN0aW9uXG59XG5cbnR5cGUgVGltZXJIb3N0ID0gKFxuICAgIG1ldGE6IE1ldGFkYXRhIHwgdW5kZWZpbmVkLFxuICAgIGNvbmZpZzogSGFuZGxlckNvbmZpZ3VyYXRpb24gfCB1bmRlZmluZWQsXG4gICAgc2NoZWR1bGU6IENyb25FeHByZXNzaW9uLFxuICAgIGhhbmRsZXI6IFRpbWVyRnVuY3Rpb24sXG4pID0+IHZvaWRcblxubGV0IHRpbWVySG9zdFJlZ2lzdHJ5OiBUaW1lckhvc3RcblxuZnVuY3Rpb24gc2V0VGltZXJIb3N0KGhvc3Q6IFRpbWVySG9zdCkge1xuICAgIHRpbWVySG9zdFJlZ2lzdHJ5ID0gaG9zdFxufVxuXG50eXBlIE1pbnV0ZUZpZWxkID0gc3RyaW5nXG50eXBlIEhvdXJGaWVsZCA9IHN0cmluZ1xudHlwZSBEYXlPZk1vbnRoRmllbGQgPSBzdHJpbmdcbnR5cGUgTW9udGhGaWVsZCA9IHN0cmluZ1xudHlwZSBEYXlPZldlZWtGaWVsZCA9IHN0cmluZ1xuXG5leHBvcnQgdHlwZSBDcm9uRXhwcmVzc2lvbiA9XG4gICAgYCR7TWludXRlRmllbGR9ICR7SG91ckZpZWxkfSAke0RheU9mTW9udGhGaWVsZH0gJHtNb250aEZpZWxkfSAke0RheU9mV2Vla0ZpZWxkfWBcblxuZnVuY3Rpb24gdGltZXJIb3N0KFxuICAgIG1ldGE6IE1ldGFkYXRhIHwgdW5kZWZpbmVkLFxuICAgIGNmZzogSGFuZGxlckNvbmZpZ3VyYXRpb24gfCB1bmRlZmluZWQsXG4gICAgc2NoZWR1bGU6IENyb25FeHByZXNzaW9uLFxuICAgIGVudHJ5OiBUaW1lckZ1bmN0aW9uLFxuKSB7XG4gICAgYWRkSGFuZGxlcigndGltZXInLCB7XG4gICAgICAgIG1ldGEsXG4gICAgICAgIGNvbmZpZzogY29tYmluZUNvbmZpZyhtZXRhPy5jb25maWcsIGNmZyksXG4gICAgICAgIHNjaGVkdWxlLFxuICAgICAgICBlbnRyeSxcbiAgICB9KVxufVxuXG5zZXRUaW1lckhvc3QodGltZXJIb3N0KVxuXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJUaW1lckhhbmRsZXIoXG4gICAgc2NoZWR1bGU6IENyb25FeHByZXNzaW9uLFxuICAgIGNvbmZpZ09ySGFuZGxlcjogSGFuZGxlckNvbmZpZ3VyYXRpb24gfCBUaW1lckZ1bmN0aW9uLFxuICAgIGZuPzogVGltZXJGdW5jdGlvbixcbik6IHZvaWQge1xuICAgIGlmICh0eXBlb2YgY29uZmlnT3JIYW5kbGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRpbWVySG9zdFJlZ2lzdHJ5KGdldE1ldGFkYXRhKCksIHVuZGVmaW5lZCwgc2NoZWR1bGUsIGNvbmZpZ09ySGFuZGxlcilcbiAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoIWZuKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1BsZWFzZSBwcm92aWRlIGEgaGFuZGxlciBmdW5jdGlvbi4nKVxuICAgICAgICB9XG4gICAgICAgIHRpbWVySG9zdFJlZ2lzdHJ5KGdldE1ldGFkYXRhKCksIGNvbmZpZ09ySGFuZGxlciwgc2NoZWR1bGUsIGZuKVxuICAgIH1cbn1cbiJdfQ==
|
package/host/timer.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Context } from '../context.js';
|
|
2
|
+
import { RootLogger } from './context.js';
|
|
3
|
+
import type { TimerHandler } from './timer-registry.js';
|
|
4
|
+
export declare function triggerTimer(log: RootLogger, context: Omit<Context, 'log'>, handler: TimerHandler, options: {
|
|
5
|
+
readonly triggerTime: Date;
|
|
6
|
+
}, success: () => Promise<unknown>): Promise<void>;
|
package/host/timer.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { measure } from '../context.js';
|
|
2
|
+
export async function triggerTimer(log, context, handler, options, success) {
|
|
3
|
+
log = log.enrichReserved({ meta: context.meta, trigger: { time: triggerTimer } });
|
|
4
|
+
log.trace('Timer BEGIN');
|
|
5
|
+
try {
|
|
6
|
+
await measure(log, 'execution', () => handler.entry({ ...context, log }, options));
|
|
7
|
+
log.debug('Timer END');
|
|
8
|
+
await success();
|
|
9
|
+
}
|
|
10
|
+
catch (e) {
|
|
11
|
+
log.error('Timer END', e);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0aW1lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVcsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBSWhELE1BQU0sQ0FBQyxLQUFLLFVBQVUsWUFBWSxDQUM5QixHQUFlLEVBQ2YsT0FBNkIsRUFDN0IsT0FBcUIsRUFDckIsT0FFQyxFQUNELE9BQStCO0lBRS9CLEdBQUcsR0FBRyxHQUFHLENBQUMsY0FBYyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUNqRixHQUFHLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBQ3hCLElBQUksQ0FBQztRQUNELE1BQU0sT0FBTyxDQUFDLEdBQUcsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsT0FBTyxFQUFFLEdBQUcsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUE7UUFDbEYsR0FBRyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUN0QixNQUFNLE9BQU8sRUFBRSxDQUFBO0lBQ25CLENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1QsR0FBRyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDN0IsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250ZXh0LCBtZWFzdXJlIH0gZnJvbSAnLi4vY29udGV4dC5qcydcbmltcG9ydCB7IFJvb3RMb2dnZXIgfSBmcm9tICcuL2NvbnRleHQuanMnXG5pbXBvcnQgdHlwZSB7IFRpbWVySGFuZGxlciB9IGZyb20gJy4vdGltZXItcmVnaXN0cnkuanMnXG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB0cmlnZ2VyVGltZXIoXG4gICAgbG9nOiBSb290TG9nZ2VyLFxuICAgIGNvbnRleHQ6IE9taXQ8Q29udGV4dCwgJ2xvZyc+LFxuICAgIGhhbmRsZXI6IFRpbWVySGFuZGxlcixcbiAgICBvcHRpb25zOiB7XG4gICAgICAgIHJlYWRvbmx5IHRyaWdnZXJUaW1lOiBEYXRlXG4gICAgfSxcbiAgICBzdWNjZXNzOiAoKSA9PiBQcm9taXNlPHVua25vd24+LFxuKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgbG9nID0gbG9nLmVucmljaFJlc2VydmVkKHsgbWV0YTogY29udGV4dC5tZXRhLCB0cmlnZ2VyOiB7IHRpbWU6IHRyaWdnZXJUaW1lciB9IH0pXG4gICAgbG9nLnRyYWNlKCdUaW1lciBCRUdJTicpXG4gICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgbWVhc3VyZShsb2csICdleGVjdXRpb24nLCAoKSA9PiBoYW5kbGVyLmVudHJ5KHsgLi4uY29udGV4dCwgbG9nIH0sIG9wdGlvbnMpKVxuICAgICAgICBsb2cuZGVidWcoJ1RpbWVyIEVORCcpXG4gICAgICAgIGF3YWl0IHN1Y2Nlc3MoKVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgbG9nLmVycm9yKCdUaW1lciBFTkQnLCBlKVxuICAgIH1cbn1cbiJdfQ==
|
package/http.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { registerHttpHandler } from './host/registry.js';
|
|
1
|
+
import { registerHttpHandler } from './host/http-registry.js';
|
|
2
2
|
export * from './context.js';
|
|
3
3
|
export function get(path, configOrHandler, fn) {
|
|
4
4
|
registerHttpHandler('GET', path, configOrHandler, fn);
|
|
@@ -15,4 +15,4 @@ export function patch(path, configOrHandler, fn) {
|
|
|
15
15
|
export function del(path, configOrHandler, fn) {
|
|
16
16
|
registerHttpHandler('DELETE', path, configOrHandler, fn);
|
|
17
17
|
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImh0dHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFFeEQsY0FBYyxjQUFjLENBQUE7QUErTTVCLE1BQU0sVUFBVSxHQUFHLENBQ2YsSUFBWSxFQUNaLGVBQW1ELEVBQ25ELEVBQVk7SUFFWixtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQTtBQUN6RCxDQUFDO0FBR0QsTUFBTSxVQUFVLElBQUksQ0FDaEIsSUFBWSxFQUNaLGVBQW1ELEVBQ25ELEVBQVk7SUFFWixtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQTtBQUMxRCxDQUFDO0FBR0QsTUFBTSxVQUFVLEdBQUcsQ0FDZixJQUFZLEVBQ1osZUFBbUQsRUFDbkQsRUFBWTtJQUVaLG1CQUFtQixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0FBQ3pELENBQUM7QUFHRCxNQUFNLFVBQVUsS0FBSyxDQUNqQixJQUFZLEVBQ1osZUFBbUQsRUFDbkQsRUFBWTtJQUVaLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0FBQzNELENBQUM7QUFHRCxNQUFNLFVBQVUsR0FBRyxDQUNmLElBQVksRUFDWixlQUFtRCxFQUNuRCxFQUFZO0lBRVosbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUE7QUFDNUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRleHQsIEhhbmRsZXJDb25maWd1cmF0aW9uLCBKc29uIH0gZnJvbSAnLi9jb250ZXh0LmpzJ1xuaW1wb3J0IHsgcmVnaXN0ZXJIdHRwSGFuZGxlciB9IGZyb20gJy4vaG9zdC9yZWdpc3RyeS5qcydcblxuZXhwb3J0ICogZnJvbSAnLi9jb250ZXh0LmpzJ1xuXG5leHBvcnQgdHlwZSBSZXNwb25zZUhlYWRlcnMgPSB7XG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIEZ1bGxSZXN1bHQgPSB7XG4gICAgaGVhZGVycz86IFJlc3BvbnNlSGVhZGVyc1xuICAgIHN0YXR1cz86IG51bWJlclxuICAgIGJvZHk/OiB1bmtub3duXG59XG5cbmV4cG9ydCB0eXBlIFJlc3VsdCA9IHZvaWQgfCBzdHJpbmcgfCBGdWxsUmVzdWx0XG5cbmV4cG9ydCB0eXBlIEh0dHBSZXF1ZXN0ID0ge1xuICAgIHJlYWRvbmx5IHJhd1VybDogc3RyaW5nXG4gICAgcmVhZG9ubHkgdXJsOiBQYXJzZWRVcmxcbiAgICByZWFkb25seSBoZWFkZXJzOiBSZWFkb25seTxSZXNwb25zZUhlYWRlcnM+XG4gICAgcmVhZG9ubHkgYm9keT86IEpzb24gfCBzdHJpbmdcbn1cblxudHlwZSBHb25lID0gJ0dvbmUnIHwgdW5kZWZpbmVkXG5cbmV4cG9ydCB0eXBlIFBhcnNlZFVybCA9IHtcbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBmcmFnbWVudCBwb3J0aW9uIG9mIHRoZSBVUkwuXG4gICAgICpcbiAgICAgKiBgYGBqc1xuICAgICAqIGNvbnN0IG15VVJMID0gbmV3IFVSTCgnaHR0cHM6Ly9leGFtcGxlLm9yZy9mb28jYmFyJyk7XG4gICAgICogY29uc29sZS5sb2cobXlVUkwuaGFzaCk7XG4gICAgICogLy8gUHJpbnRzICNiYXJcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICByZWFkb25seSBoYXNoOiBzdHJpbmdcbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBob3N0IHBvcnRpb24gb2YgdGhlIFVSTC5cbiAgICAgKlxuICAgICAqIGBgYGpzXG4gICAgICogY29uc3QgbXlVUkwgPSBuZXcgVVJMKCdodHRwczovL2V4YW1wbGUub3JnOjgxL2ZvbycpO1xuICAgICAqIGNvbnNvbGUubG9nKG15VVJMLmhvc3QpO1xuICAgICAqIC8vIFByaW50cyBleGFtcGxlLm9yZzo4MVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGhvc3Q6IHN0cmluZ1xuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGhvc3QgbmFtZSBwb3J0aW9uIG9mIHRoZSBVUkwuIFRoZSBrZXkgZGlmZmVyZW5jZSBiZXR3ZWVuYHVybC5ob3N0YCBhbmQgYHVybC5ob3N0bmFtZWAgaXMgdGhhdCBgdXJsLmhvc3RuYW1lYCBkb2VzIF9ub3RfIGluY2x1ZGUgdGhlXG4gICAgICogcG9ydC5cbiAgICAgKlxuICAgICAqIGBgYGpzXG4gICAgICogY29uc3QgbXlVUkwgPSBuZXcgVVJMKCdodHRwczovL2V4YW1wbGUub3JnOjgxL2ZvbycpO1xuICAgICAqIGNvbnNvbGUubG9nKG15VVJMLmhvc3RuYW1lKTtcbiAgICAgKiAvLyBQcmludHMgZXhhbXBsZS5vcmdcbiAgICAgKi9cbiAgICByZWFkb25seSBob3N0bmFtZTogc3RyaW5nXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgc2VyaWFsaXplZCBVUkwuXG4gICAgICpcbiAgICAgKiBgYGBqc1xuICAgICAqIGNvbnN0IG15VVJMID0gbmV3IFVSTCgnaHR0cHM6Ly9leGFtcGxlLm9yZy9mb28nKTtcbiAgICAgKiBjb25zb2xlLmxvZyhteVVSTC5ocmVmKTtcbiAgICAgKiAvLyBQcmludHMgaHR0cHM6Ly9leGFtcGxlLm9yZy9mb29cbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICByZWFkb25seSBocmVmOiBzdHJpbmdcbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBzZXJpYWxpemF0aW9uIG9mIHRoZSBVUkwncyBvcmlnaW4uXG4gICAgICpcbiAgICAgKiBgYGBqc1xuICAgICAqIGNvbnN0IG15VVJMID0gbmV3IFVSTCgnaHR0cHM6Ly9leGFtcGxlLm9yZy9mb28vYmFyP2JheicpO1xuICAgICAqIGNvbnNvbGUubG9nKG15VVJMLm9yaWdpbik7XG4gICAgICogLy8gUHJpbnRzIGh0dHBzOi8vZXhhbXBsZS5vcmdcbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIGBgYGpzXG4gICAgICogY29uc3QgaWRuVVJMID0gbmV3IFVSTCgnaHR0cHM6Ly/muKzoqaYnKTtcbiAgICAgKiBjb25zb2xlLmxvZyhpZG5VUkwub3JpZ2luKTtcbiAgICAgKiAvLyBQcmludHMgaHR0cHM6Ly94bi0tZzZ3MjUxZFxuICAgICAqXG4gICAgICogY29uc29sZS5sb2coaWRuVVJMLmhvc3RuYW1lKTtcbiAgICAgKiAvLyBQcmludHMgeG4tLWc2dzI1MWRcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICByZWFkb25seSBvcmlnaW46IHN0cmluZ1xuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHBhc3N3b3JkIHBvcnRpb24gb2YgdGhlIFVSTC5cbiAgICAgKlxuICAgICAqIGBgYGpzXG4gICAgICogY29uc3QgbXlVUkwgPSBuZXcgVVJMKCdodHRwczovL2FiYzp4eXpAZXhhbXBsZS5jb20nKTtcbiAgICAgKiBjb25zb2xlLmxvZyhteVVSTC5wYXNzd29yZCk7XG4gICAgICogLy8gUHJpbnRzIHh5elxuICAgICAqXG4gICAgICogbXlVUkwucGFzc3dvcmQgPSAnMTIzJztcbiAgICAgKiBjb25zb2xlLmxvZyhteVVSTC5ocmVmKTtcbiAgICAgKiAvLyBQcmludHMgaHR0cHM6Ly9hYmM6MTIzQGV4YW1wbGUuY29tL1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHJlYWRvbmx5IHBhc3N3b3JkOiBzdHJpbmdcbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBwYXRoIHBvcnRpb24gb2YgdGhlIFVSTC5cbiAgICAgKlxuICAgICAqIGBgYGpzXG4gICAgICogY29uc3QgbXlVUkwgPSBuZXcgVVJMKCdodHRwczovL2V4YW1wbGUub3JnL2FiYy94eXo/MTIzJyk7XG4gICAgICogY29uc29sZS5sb2cobXlVUkwucGF0aG5hbWUpO1xuICAgICAqIC8vIFByaW50cyAvYWJjL3h5elxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHJlYWRvbmx5IHBhdGhuYW1lOiBzdHJpbmdcbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBwb3J0IHBvcnRpb24gb2YgdGhlIFVSTC5cbiAgICAgKlxuICAgICAqIFRoZSBwb3J0IHZhbHVlIG1heSBiZSBhIG51bWJlciBvciBhIHN0cmluZyBjb250YWluaW5nIGEgbnVtYmVyIGluIHRoZSByYW5nZSBgMGAgdG8gYDY1NTM1YCAoaW5jbHVzaXZlKS4gU2V0dGluZyB0aGUgdmFsdWUgdG8gdGhlIGRlZmF1bHQgcG9ydCBvZiB0aGUgYFVSTGAgb2JqZWN0cyBnaXZlbiBgcHJvdG9jb2xgIHdpbGxcbiAgICAgKiByZXN1bHQgaW4gdGhlIGBwb3J0YCB2YWx1ZSBiZWNvbWluZ1xuICAgICAqIHRoZSBlbXB0eSBzdHJpbmcgKGAnJ2ApLlxuICAgICAqXG4gICAgICogVGhlIHBvcnQgdmFsdWUgY2FuIGJlIGFuIGVtcHR5IHN0cmluZyBpbiB3aGljaCBjYXNlIHRoZSBwb3J0IGRlcGVuZHMgb25cbiAgICAgKiB0aGUgcHJvdG9jb2wvc2NoZW1lLlxuICAgICAqXG4gICAgICogSWYgdGhhdCBzdHJpbmcgaXMgaW52YWxpZCBidXQgaXQgYmVnaW5zIHdpdGggYSBudW1iZXIsIHRoZSBsZWFkaW5nIG51bWJlciBpc1xuICAgICAqIGFzc2lnbmVkIHRvIGBwb3J0YC5cbiAgICAgKiBJZiB0aGUgbnVtYmVyIGxpZXMgb3V0c2lkZSB0aGUgcmFuZ2UgZGVub3RlZCBhYm92ZSwgaXQgaXMgaWdub3JlZC5cbiAgICAgKlxuICAgICAqIGBgYGpzXG4gICAgICogY29uc3QgbXlVUkwgPSBuZXcgVVJMKCdodHRwczovL2V4YW1wbGUub3JnOjg4ODgnKTtcbiAgICAgKiBjb25zb2xlLmxvZyhteVVSTC5wb3J0KTtcbiAgICAgKiAvLyBQcmludHMgODg4OFxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHJlYWRvbmx5IHBvcnQ6IHN0cmluZ1xuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHByb3RvY29sIHBvcnRpb24gb2YgdGhlIFVSTC5cbiAgICAgKlxuICAgICAqIGBgYGpzXG4gICAgICogY29uc3QgbXlVUkwgPSBuZXcgVVJMKCdodHRwczovL2V4YW1wbGUub3JnJyk7XG4gICAgICogY29uc29sZS5sb2cobXlVUkwucHJvdG9jb2wpO1xuICAgICAqIC8vIFByaW50cyBodHRwczpcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICByZWFkb25seSBwcm90b2NvbDogc3RyaW5nXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgc2VyaWFsaXplZCBxdWVyeSBwb3J0aW9uIG9mIHRoZSBVUkwuXG4gICAgICpcbiAgICAgKiBgYGBqc1xuICAgICAqIGNvbnN0IG15VVJMID0gbmV3IFVSTCgnaHR0cHM6Ly9leGFtcGxlLm9yZy9hYmM/MTIzJyk7XG4gICAgICogY29uc29sZS5sb2cobXlVUkwuc2VhcmNoKTtcbiAgICAgKiAvLyBQcmludHMgPzEyM1xuICAgICAqIGBgYFxuICAgICAqXG4gICAgICogQW55IGludmFsaWQgVVJMIGNoYXJhY3RlcnMgYXBwZWFyaW5nIGluIHRoZSB2YWx1ZSBhc3NpZ25lZCB0aGUgYHNlYXJjaGBwcm9wZXJ0eSB3aWxsIGJlIGBwZXJjZW50LWVuY29kZWRgLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHNlYXJjaDogc3RyaW5nXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgYFVSTFNlYXJjaFBhcmFtc2Agb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgcXVlcnkgcGFyYW1ldGVycyBvZiB0aGVcbiAgICAgKiBVUkwuXG4gICAgICpcbiAgICAgKiBgYGBqc1xuICAgICAqIGNvbnN0IG15VVJMID0gbmV3IFVSTCgnaHR0cHM6Ly9leGFtcGxlLm9yZy9hYmM/Zm9vPX5iYXInKTtcbiAgICAgKlxuICAgICAqIGNvbnNvbGUubG9nKG15VVJMLnNlYXJjaCk7ICAvLyBwcmludHMgP2Zvbz1+YmFyXG4gICAgICogYGBgXG4gICAgICovXG4gICAgcmVhZG9ubHkgc2VhcmNoUGFyYW1zOiBVUkxTZWFyY2hQYXJhbXNcbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB1c2VybmFtZSBwb3J0aW9uIG9mIHRoZSBVUkwuXG4gICAgICpcbiAgICAgKiBgYGBqc1xuICAgICAqIGNvbnN0IG15VVJMID0gbmV3IFVSTCgnaHR0cHM6Ly9hYmM6eHl6QGV4YW1wbGUuY29tJyk7XG4gICAgICogY29uc29sZS5sb2cobXlVUkwudXNlcm5hbWUpO1xuICAgICAqIC8vIFByaW50cyBhYmNcbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIEFueSBpbnZhbGlkIFVSTCBjaGFyYWN0ZXJzIGFwcGVhcmluZyBpbiB0aGUgdmFsdWUgYXNzaWduZWQgdGhlIGB1c2VybmFtZWAgcHJvcGVydHkgd2lsbCBiZSBgcGVyY2VudC1lbmNvZGVkYC5cbiAgICAgKi9cbiAgICByZWFkb25seSB1c2VybmFtZTogc3RyaW5nXG5cbiAgICAvKipcbiAgICAgKiBHZXRzIGEgc3RlcCBvZiB0aGUgcGF0aCBwb3J0aW9uIG9mIHRoZSBVUkwuXG4gICAgICpcbiAgICAgKiBgYGBqc1xuICAgICAqIGNvbnN0IG15VVJMID0gbmV3IFVSTCgnaHR0cHM6Ly9leGFtcGxlLm9yZy9hYmMveHl6PzEyMycpO1xuICAgICAqIGNvbnNvbGUubG9nKG15VVJMLnBhdGhTdGVwQXQoMCkpO1xuICAgICAqIC8vIFByaW50cyBhYmNcbiAgICAgKiBjb25zb2xlLmxvZyhteVVSTC5wYXRoU3RlcEF0KDEpKTtcbiAgICAgKiAvLyBQcmludHMgeHl6XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcGF0aFN0ZXBBdDogKGluZGV4OiBudW1iZXIpID0+IHN0cmluZ1xuXG4gICAgLyoqXG4gICAgICogR29uZSwgdXNlIHNlYXJjaFBhcmFtcyBpbnN0ZWFkLlxuICAgICAqL1xuICAgIHF1ZXJ5PzogR29uZVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICB0b0pTT046ICgpID0+IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBIdHRwSGFuZGxlckNvbmZpZ3VyYXRpb24gPSBIYW5kbGVyQ29uZmlndXJhdGlvbiAmIHtcbiAgICAvKipcbiAgICAgKiBBIHN0cmluZyBpZGVudGlmeWluZyB3aGljaCBkb21haW5zIGNhbiBhY2Nlc3MgdGhlIGVuZHBvaW50IGNyb3NzLW9yaWdpbi5cbiAgICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICAgKi9cbiAgICByZWFkb25seSBjb3JzPzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIEhhbmRsZXIgPSAoY29udGV4dDogQ29udGV4dCwgcmVxdWVzdDogSHR0cFJlcXVlc3QpID0+IFByb21pc2U8UmVzdWx0PiB8IFJlc3VsdFxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0KHBhdGg6IHN0cmluZywgZm46IEhhbmRsZXIpOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gZ2V0KHBhdGg6IHN0cmluZywgY29uZmlnOiBIdHRwSGFuZGxlckNvbmZpZ3VyYXRpb24sIGZuOiBIYW5kbGVyKTogdm9pZFxuZXhwb3J0IGZ1bmN0aW9uIGdldChcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgY29uZmlnT3JIYW5kbGVyOiBIdHRwSGFuZGxlckNvbmZpZ3VyYXRpb24gfCBIYW5kbGVyLFxuICAgIGZuPzogSGFuZGxlcixcbik6IHZvaWQge1xuICAgIHJlZ2lzdGVySHR0cEhhbmRsZXIoJ0dFVCcsIHBhdGgsIGNvbmZpZ09ySGFuZGxlciwgZm4pXG59XG5leHBvcnQgZnVuY3Rpb24gcG9zdChwYXRoOiBzdHJpbmcsIGZuOiBIYW5kbGVyKTogdm9pZFxuZXhwb3J0IGZ1bmN0aW9uIHBvc3QocGF0aDogc3RyaW5nLCBjb25maWc6IEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvbiwgZm46IEhhbmRsZXIpOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gcG9zdChcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgY29uZmlnT3JIYW5kbGVyOiBIdHRwSGFuZGxlckNvbmZpZ3VyYXRpb24gfCBIYW5kbGVyLFxuICAgIGZuPzogSGFuZGxlcixcbik6IHZvaWQge1xuICAgIHJlZ2lzdGVySHR0cEhhbmRsZXIoJ1BPU1QnLCBwYXRoLCBjb25maWdPckhhbmRsZXIsIGZuKVxufVxuZXhwb3J0IGZ1bmN0aW9uIHB1dChwYXRoOiBzdHJpbmcsIGZuOiBIYW5kbGVyKTogdm9pZFxuZXhwb3J0IGZ1bmN0aW9uIHB1dChwYXRoOiBzdHJpbmcsIGNvbmZpZzogSHR0cEhhbmRsZXJDb25maWd1cmF0aW9uLCBmbjogSGFuZGxlcik6IHZvaWRcbmV4cG9ydCBmdW5jdGlvbiBwdXQoXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIGNvbmZpZ09ySGFuZGxlcjogSHR0cEhhbmRsZXJDb25maWd1cmF0aW9uIHwgSGFuZGxlcixcbiAgICBmbj86IEhhbmRsZXIsXG4pOiB2b2lkIHtcbiAgICByZWdpc3Rlckh0dHBIYW5kbGVyKCdQVVQnLCBwYXRoLCBjb25maWdPckhhbmRsZXIsIGZuKVxufVxuZXhwb3J0IGZ1bmN0aW9uIHBhdGNoKHBhdGg6IHN0cmluZywgZm46IEhhbmRsZXIpOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gcGF0Y2gocGF0aDogc3RyaW5nLCBjb25maWc6IEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvbiwgZm46IEhhbmRsZXIpOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gcGF0Y2goXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIGNvbmZpZ09ySGFuZGxlcjogSHR0cEhhbmRsZXJDb25maWd1cmF0aW9uIHwgSGFuZGxlcixcbiAgICBmbj86IEhhbmRsZXIsXG4pOiB2b2lkIHtcbiAgICByZWdpc3Rlckh0dHBIYW5kbGVyKCdQQVRDSCcsIHBhdGgsIGNvbmZpZ09ySGFuZGxlciwgZm4pXG59XG5leHBvcnQgZnVuY3Rpb24gZGVsKHBhdGg6IHN0cmluZywgZm46IEhhbmRsZXIpOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gZGVsKHBhdGg6IHN0cmluZywgY29uZmlnOiBIdHRwSGFuZGxlckNvbmZpZ3VyYXRpb24sIGZuOiBIYW5kbGVyKTogdm9pZFxuZXhwb3J0IGZ1bmN0aW9uIGRlbChcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgY29uZmlnT3JIYW5kbGVyOiBIdHRwSGFuZGxlckNvbmZpZ3VyYXRpb24gfCBIYW5kbGVyLFxuICAgIGZuPzogSGFuZGxlcixcbik6IHZvaWQge1xuICAgIHJlZ2lzdGVySHR0cEhhbmRsZXIoJ0RFTEVURScsIHBhdGgsIGNvbmZpZ09ySGFuZGxlciwgZm4pXG59XG4iXX0=
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImh0dHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFFN0QsY0FBYyxjQUFjLENBQUE7QUErTTVCLE1BQU0sVUFBVSxHQUFHLENBQ2YsSUFBWSxFQUNaLGVBQW1ELEVBQ25ELEVBQVk7SUFFWixtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQTtBQUN6RCxDQUFDO0FBR0QsTUFBTSxVQUFVLElBQUksQ0FDaEIsSUFBWSxFQUNaLGVBQW1ELEVBQ25ELEVBQVk7SUFFWixtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQTtBQUMxRCxDQUFDO0FBR0QsTUFBTSxVQUFVLEdBQUcsQ0FDZixJQUFZLEVBQ1osZUFBbUQsRUFDbkQsRUFBWTtJQUVaLG1CQUFtQixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0FBQ3pELENBQUM7QUFHRCxNQUFNLFVBQVUsS0FBSyxDQUNqQixJQUFZLEVBQ1osZUFBbUQsRUFDbkQsRUFBWTtJQUVaLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0FBQzNELENBQUM7QUFHRCxNQUFNLFVBQVUsR0FBRyxDQUNmLElBQVksRUFDWixlQUFtRCxFQUNuRCxFQUFZO0lBRVosbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUE7QUFDNUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRleHQsIEhhbmRsZXJDb25maWd1cmF0aW9uLCBKc29uIH0gZnJvbSAnLi9jb250ZXh0LmpzJ1xuaW1wb3J0IHsgcmVnaXN0ZXJIdHRwSGFuZGxlciB9IGZyb20gJy4vaG9zdC9odHRwLXJlZ2lzdHJ5LmpzJ1xuXG5leHBvcnQgKiBmcm9tICcuL2NvbnRleHQuanMnXG5cbmV4cG9ydCB0eXBlIFJlc3BvbnNlSGVhZGVycyA9IHtcbiAgICBba2V5OiBzdHJpbmddOiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgRnVsbFJlc3VsdCA9IHtcbiAgICBoZWFkZXJzPzogUmVzcG9uc2VIZWFkZXJzXG4gICAgc3RhdHVzPzogbnVtYmVyXG4gICAgYm9keT86IHVua25vd25cbn1cblxuZXhwb3J0IHR5cGUgUmVzdWx0ID0gdm9pZCB8IHN0cmluZyB8IEZ1bGxSZXN1bHRcblxuZXhwb3J0IHR5cGUgSHR0cFJlcXVlc3QgPSB7XG4gICAgcmVhZG9ubHkgcmF3VXJsOiBzdHJpbmdcbiAgICByZWFkb25seSB1cmw6IFBhcnNlZFVybFxuICAgIHJlYWRvbmx5IGhlYWRlcnM6IFJlYWRvbmx5PFJlc3BvbnNlSGVhZGVycz5cbiAgICByZWFkb25seSBib2R5PzogSnNvbiB8IHN0cmluZ1xufVxuXG50eXBlIEdvbmUgPSAnR29uZScgfCB1bmRlZmluZWRcblxuZXhwb3J0IHR5cGUgUGFyc2VkVXJsID0ge1xuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGZyYWdtZW50IHBvcnRpb24gb2YgdGhlIFVSTC5cbiAgICAgKlxuICAgICAqIGBgYGpzXG4gICAgICogY29uc3QgbXlVUkwgPSBuZXcgVVJMKCdodHRwczovL2V4YW1wbGUub3JnL2ZvbyNiYXInKTtcbiAgICAgKiBjb25zb2xlLmxvZyhteVVSTC5oYXNoKTtcbiAgICAgKiAvLyBQcmludHMgI2JhclxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGhhc2g6IHN0cmluZ1xuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGhvc3QgcG9ydGlvbiBvZiB0aGUgVVJMLlxuICAgICAqXG4gICAgICogYGBganNcbiAgICAgKiBjb25zdCBteVVSTCA9IG5ldyBVUkwoJ2h0dHBzOi8vZXhhbXBsZS5vcmc6ODEvZm9vJyk7XG4gICAgICogY29uc29sZS5sb2cobXlVUkwuaG9zdCk7XG4gICAgICogLy8gUHJpbnRzIGV4YW1wbGUub3JnOjgxXG4gICAgICovXG4gICAgcmVhZG9ubHkgaG9zdDogc3RyaW5nXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgaG9zdCBuYW1lIHBvcnRpb24gb2YgdGhlIFVSTC4gVGhlIGtleSBkaWZmZXJlbmNlIGJldHdlZW5gdXJsLmhvc3RgIGFuZCBgdXJsLmhvc3RuYW1lYCBpcyB0aGF0IGB1cmwuaG9zdG5hbWVgIGRvZXMgX25vdF8gaW5jbHVkZSB0aGVcbiAgICAgKiBwb3J0LlxuICAgICAqXG4gICAgICogYGBganNcbiAgICAgKiBjb25zdCBteVVSTCA9IG5ldyBVUkwoJ2h0dHBzOi8vZXhhbXBsZS5vcmc6ODEvZm9vJyk7XG4gICAgICogY29uc29sZS5sb2cobXlVUkwuaG9zdG5hbWUpO1xuICAgICAqIC8vIFByaW50cyBleGFtcGxlLm9yZ1xuICAgICAqL1xuICAgIHJlYWRvbmx5IGhvc3RuYW1lOiBzdHJpbmdcbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBzZXJpYWxpemVkIFVSTC5cbiAgICAgKlxuICAgICAqIGBgYGpzXG4gICAgICogY29uc3QgbXlVUkwgPSBuZXcgVVJMKCdodHRwczovL2V4YW1wbGUub3JnL2ZvbycpO1xuICAgICAqIGNvbnNvbGUubG9nKG15VVJMLmhyZWYpO1xuICAgICAqIC8vIFByaW50cyBodHRwczovL2V4YW1wbGUub3JnL2Zvb1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGhyZWY6IHN0cmluZ1xuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHNlcmlhbGl6YXRpb24gb2YgdGhlIFVSTCdzIG9yaWdpbi5cbiAgICAgKlxuICAgICAqIGBgYGpzXG4gICAgICogY29uc3QgbXlVUkwgPSBuZXcgVVJMKCdodHRwczovL2V4YW1wbGUub3JnL2Zvby9iYXI/YmF6Jyk7XG4gICAgICogY29uc29sZS5sb2cobXlVUkwub3JpZ2luKTtcbiAgICAgKiAvLyBQcmludHMgaHR0cHM6Ly9leGFtcGxlLm9yZ1xuICAgICAqIGBgYFxuICAgICAqXG4gICAgICogYGBganNcbiAgICAgKiBjb25zdCBpZG5VUkwgPSBuZXcgVVJMKCdodHRwczovL+a4rOippicpO1xuICAgICAqIGNvbnNvbGUubG9nKGlkblVSTC5vcmlnaW4pO1xuICAgICAqIC8vIFByaW50cyBodHRwczovL3huLS1nNncyNTFkXG4gICAgICpcbiAgICAgKiBjb25zb2xlLmxvZyhpZG5VUkwuaG9zdG5hbWUpO1xuICAgICAqIC8vIFByaW50cyB4bi0tZzZ3MjUxZFxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHJlYWRvbmx5IG9yaWdpbjogc3RyaW5nXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgcGFzc3dvcmQgcG9ydGlvbiBvZiB0aGUgVVJMLlxuICAgICAqXG4gICAgICogYGBganNcbiAgICAgKiBjb25zdCBteVVSTCA9IG5ldyBVUkwoJ2h0dHBzOi8vYWJjOnh5ekBleGFtcGxlLmNvbScpO1xuICAgICAqIGNvbnNvbGUubG9nKG15VVJMLnBhc3N3b3JkKTtcbiAgICAgKiAvLyBQcmludHMgeHl6XG4gICAgICpcbiAgICAgKiBteVVSTC5wYXNzd29yZCA9ICcxMjMnO1xuICAgICAqIGNvbnNvbGUubG9nKG15VVJMLmhyZWYpO1xuICAgICAqIC8vIFByaW50cyBodHRwczovL2FiYzoxMjNAZXhhbXBsZS5jb20vXG4gICAgICogYGBgXG4gICAgICovXG4gICAgcmVhZG9ubHkgcGFzc3dvcmQ6IHN0cmluZ1xuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHBhdGggcG9ydGlvbiBvZiB0aGUgVVJMLlxuICAgICAqXG4gICAgICogYGBganNcbiAgICAgKiBjb25zdCBteVVSTCA9IG5ldyBVUkwoJ2h0dHBzOi8vZXhhbXBsZS5vcmcvYWJjL3h5ej8xMjMnKTtcbiAgICAgKiBjb25zb2xlLmxvZyhteVVSTC5wYXRobmFtZSk7XG4gICAgICogLy8gUHJpbnRzIC9hYmMveHl6XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcmVhZG9ubHkgcGF0aG5hbWU6IHN0cmluZ1xuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHBvcnQgcG9ydGlvbiBvZiB0aGUgVVJMLlxuICAgICAqXG4gICAgICogVGhlIHBvcnQgdmFsdWUgbWF5IGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBudW1iZXIgaW4gdGhlIHJhbmdlIGAwYCB0byBgNjU1MzVgIChpbmNsdXNpdmUpLiBTZXR0aW5nIHRoZSB2YWx1ZSB0byB0aGUgZGVmYXVsdCBwb3J0IG9mIHRoZSBgVVJMYCBvYmplY3RzIGdpdmVuIGBwcm90b2NvbGAgd2lsbFxuICAgICAqIHJlc3VsdCBpbiB0aGUgYHBvcnRgIHZhbHVlIGJlY29taW5nXG4gICAgICogdGhlIGVtcHR5IHN0cmluZyAoYCcnYCkuXG4gICAgICpcbiAgICAgKiBUaGUgcG9ydCB2YWx1ZSBjYW4gYmUgYW4gZW1wdHkgc3RyaW5nIGluIHdoaWNoIGNhc2UgdGhlIHBvcnQgZGVwZW5kcyBvblxuICAgICAqIHRoZSBwcm90b2NvbC9zY2hlbWUuXG4gICAgICpcbiAgICAgKiBJZiB0aGF0IHN0cmluZyBpcyBpbnZhbGlkIGJ1dCBpdCBiZWdpbnMgd2l0aCBhIG51bWJlciwgdGhlIGxlYWRpbmcgbnVtYmVyIGlzXG4gICAgICogYXNzaWduZWQgdG8gYHBvcnRgLlxuICAgICAqIElmIHRoZSBudW1iZXIgbGllcyBvdXRzaWRlIHRoZSByYW5nZSBkZW5vdGVkIGFib3ZlLCBpdCBpcyBpZ25vcmVkLlxuICAgICAqXG4gICAgICogYGBganNcbiAgICAgKiBjb25zdCBteVVSTCA9IG5ldyBVUkwoJ2h0dHBzOi8vZXhhbXBsZS5vcmc6ODg4OCcpO1xuICAgICAqIGNvbnNvbGUubG9nKG15VVJMLnBvcnQpO1xuICAgICAqIC8vIFByaW50cyA4ODg4XG4gICAgICogYGBgXG4gICAgICovXG4gICAgcmVhZG9ubHkgcG9ydDogc3RyaW5nXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgcHJvdG9jb2wgcG9ydGlvbiBvZiB0aGUgVVJMLlxuICAgICAqXG4gICAgICogYGBganNcbiAgICAgKiBjb25zdCBteVVSTCA9IG5ldyBVUkwoJ2h0dHBzOi8vZXhhbXBsZS5vcmcnKTtcbiAgICAgKiBjb25zb2xlLmxvZyhteVVSTC5wcm90b2NvbCk7XG4gICAgICogLy8gUHJpbnRzIGh0dHBzOlxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHJlYWRvbmx5IHByb3RvY29sOiBzdHJpbmdcbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBzZXJpYWxpemVkIHF1ZXJ5IHBvcnRpb24gb2YgdGhlIFVSTC5cbiAgICAgKlxuICAgICAqIGBgYGpzXG4gICAgICogY29uc3QgbXlVUkwgPSBuZXcgVVJMKCdodHRwczovL2V4YW1wbGUub3JnL2FiYz8xMjMnKTtcbiAgICAgKiBjb25zb2xlLmxvZyhteVVSTC5zZWFyY2gpO1xuICAgICAqIC8vIFByaW50cyA/MTIzXG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBBbnkgaW52YWxpZCBVUkwgY2hhcmFjdGVycyBhcHBlYXJpbmcgaW4gdGhlIHZhbHVlIGFzc2lnbmVkIHRoZSBgc2VhcmNoYHByb3BlcnR5IHdpbGwgYmUgYHBlcmNlbnQtZW5jb2RlZGAuXG4gICAgICovXG4gICAgcmVhZG9ubHkgc2VhcmNoOiBzdHJpbmdcbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSBgVVJMU2VhcmNoUGFyYW1zYCBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBxdWVyeSBwYXJhbWV0ZXJzIG9mIHRoZVxuICAgICAqIFVSTC5cbiAgICAgKlxuICAgICAqIGBgYGpzXG4gICAgICogY29uc3QgbXlVUkwgPSBuZXcgVVJMKCdodHRwczovL2V4YW1wbGUub3JnL2FiYz9mb289fmJhcicpO1xuICAgICAqXG4gICAgICogY29uc29sZS5sb2cobXlVUkwuc2VhcmNoKTsgIC8vIHByaW50cyA/Zm9vPX5iYXJcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICByZWFkb25seSBzZWFyY2hQYXJhbXM6IFVSTFNlYXJjaFBhcmFtc1xuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHVzZXJuYW1lIHBvcnRpb24gb2YgdGhlIFVSTC5cbiAgICAgKlxuICAgICAqIGBgYGpzXG4gICAgICogY29uc3QgbXlVUkwgPSBuZXcgVVJMKCdodHRwczovL2FiYzp4eXpAZXhhbXBsZS5jb20nKTtcbiAgICAgKiBjb25zb2xlLmxvZyhteVVSTC51c2VybmFtZSk7XG4gICAgICogLy8gUHJpbnRzIGFiY1xuICAgICAqIGBgYFxuICAgICAqXG4gICAgICogQW55IGludmFsaWQgVVJMIGNoYXJhY3RlcnMgYXBwZWFyaW5nIGluIHRoZSB2YWx1ZSBhc3NpZ25lZCB0aGUgYHVzZXJuYW1lYCBwcm9wZXJ0eSB3aWxsIGJlIGBwZXJjZW50LWVuY29kZWRgLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHVzZXJuYW1lOiBzdHJpbmdcblxuICAgIC8qKlxuICAgICAqIEdldHMgYSBzdGVwIG9mIHRoZSBwYXRoIHBvcnRpb24gb2YgdGhlIFVSTC5cbiAgICAgKlxuICAgICAqIGBgYGpzXG4gICAgICogY29uc3QgbXlVUkwgPSBuZXcgVVJMKCdodHRwczovL2V4YW1wbGUub3JnL2FiYy94eXo/MTIzJyk7XG4gICAgICogY29uc29sZS5sb2cobXlVUkwucGF0aFN0ZXBBdCgwKSk7XG4gICAgICogLy8gUHJpbnRzIGFiY1xuICAgICAqIGNvbnNvbGUubG9nKG15VVJMLnBhdGhTdGVwQXQoMSkpO1xuICAgICAqIC8vIFByaW50cyB4eXpcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBwYXRoU3RlcEF0OiAoaW5kZXg6IG51bWJlcikgPT4gc3RyaW5nXG5cbiAgICAvKipcbiAgICAgKiBHb25lLCB1c2Ugc2VhcmNoUGFyYW1zIGluc3RlYWQuXG4gICAgICovXG4gICAgcXVlcnk/OiBHb25lXG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHRvSlNPTjogKCkgPT4gc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvbiA9IEhhbmRsZXJDb25maWd1cmF0aW9uICYge1xuICAgIC8qKlxuICAgICAqIEEgc3RyaW5nIGlkZW50aWZ5aW5nIHdoaWNoIGRvbWFpbnMgY2FuIGFjY2VzcyB0aGUgZW5kcG9pbnQgY3Jvc3Mtb3JpZ2luLlxuICAgICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGNvcnM/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgSGFuZGxlciA9IChjb250ZXh0OiBDb250ZXh0LCByZXF1ZXN0OiBIdHRwUmVxdWVzdCkgPT4gUHJvbWlzZTxSZXN1bHQ+IHwgUmVzdWx0XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXQocGF0aDogc3RyaW5nLCBmbjogSGFuZGxlcik6IHZvaWRcbmV4cG9ydCBmdW5jdGlvbiBnZXQocGF0aDogc3RyaW5nLCBjb25maWc6IEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvbiwgZm46IEhhbmRsZXIpOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gZ2V0KFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBjb25maWdPckhhbmRsZXI6IEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvbiB8IEhhbmRsZXIsXG4gICAgZm4/OiBIYW5kbGVyLFxuKTogdm9pZCB7XG4gICAgcmVnaXN0ZXJIdHRwSGFuZGxlcignR0VUJywgcGF0aCwgY29uZmlnT3JIYW5kbGVyLCBmbilcbn1cbmV4cG9ydCBmdW5jdGlvbiBwb3N0KHBhdGg6IHN0cmluZywgZm46IEhhbmRsZXIpOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gcG9zdChwYXRoOiBzdHJpbmcsIGNvbmZpZzogSHR0cEhhbmRsZXJDb25maWd1cmF0aW9uLCBmbjogSGFuZGxlcik6IHZvaWRcbmV4cG9ydCBmdW5jdGlvbiBwb3N0KFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBjb25maWdPckhhbmRsZXI6IEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvbiB8IEhhbmRsZXIsXG4gICAgZm4/OiBIYW5kbGVyLFxuKTogdm9pZCB7XG4gICAgcmVnaXN0ZXJIdHRwSGFuZGxlcignUE9TVCcsIHBhdGgsIGNvbmZpZ09ySGFuZGxlciwgZm4pXG59XG5leHBvcnQgZnVuY3Rpb24gcHV0KHBhdGg6IHN0cmluZywgZm46IEhhbmRsZXIpOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gcHV0KHBhdGg6IHN0cmluZywgY29uZmlnOiBIdHRwSGFuZGxlckNvbmZpZ3VyYXRpb24sIGZuOiBIYW5kbGVyKTogdm9pZFxuZXhwb3J0IGZ1bmN0aW9uIHB1dChcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgY29uZmlnT3JIYW5kbGVyOiBIdHRwSGFuZGxlckNvbmZpZ3VyYXRpb24gfCBIYW5kbGVyLFxuICAgIGZuPzogSGFuZGxlcixcbik6IHZvaWQge1xuICAgIHJlZ2lzdGVySHR0cEhhbmRsZXIoJ1BVVCcsIHBhdGgsIGNvbmZpZ09ySGFuZGxlciwgZm4pXG59XG5leHBvcnQgZnVuY3Rpb24gcGF0Y2gocGF0aDogc3RyaW5nLCBmbjogSGFuZGxlcik6IHZvaWRcbmV4cG9ydCBmdW5jdGlvbiBwYXRjaChwYXRoOiBzdHJpbmcsIGNvbmZpZzogSHR0cEhhbmRsZXJDb25maWd1cmF0aW9uLCBmbjogSGFuZGxlcik6IHZvaWRcbmV4cG9ydCBmdW5jdGlvbiBwYXRjaChcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgY29uZmlnT3JIYW5kbGVyOiBIdHRwSGFuZGxlckNvbmZpZ3VyYXRpb24gfCBIYW5kbGVyLFxuICAgIGZuPzogSGFuZGxlcixcbik6IHZvaWQge1xuICAgIHJlZ2lzdGVySHR0cEhhbmRsZXIoJ1BBVENIJywgcGF0aCwgY29uZmlnT3JIYW5kbGVyLCBmbilcbn1cbmV4cG9ydCBmdW5jdGlvbiBkZWwocGF0aDogc3RyaW5nLCBmbjogSGFuZGxlcik6IHZvaWRcbmV4cG9ydCBmdW5jdGlvbiBkZWwocGF0aDogc3RyaW5nLCBjb25maWc6IEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvbiwgZm46IEhhbmRsZXIpOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gZGVsKFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBjb25maWdPckhhbmRsZXI6IEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvbiB8IEhhbmRsZXIsXG4gICAgZm4/OiBIYW5kbGVyLFxuKTogdm9pZCB7XG4gICAgcmVnaXN0ZXJIdHRwSGFuZGxlcignREVMRVRFJywgcGF0aCwgY29uZmlnT3JIYW5kbGVyLCBmbilcbn1cbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@riddance/host",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"engines": {
|
|
7
|
-
"node": ">=20"
|
|
7
|
+
"node": ">=20.17"
|
|
8
8
|
},
|
|
9
9
|
"keywords": [
|
|
10
10
|
"riddance",
|
|
@@ -22,11 +22,18 @@
|
|
|
22
22
|
"exports": {
|
|
23
23
|
"./lib/context": "./context.js",
|
|
24
24
|
"./lib/http": "./http.js",
|
|
25
|
+
"./lib/timer": "./timer.js",
|
|
26
|
+
"./lib/event": "./event.js",
|
|
25
27
|
"./registry": "./host/registry.js",
|
|
26
28
|
"./reflect": "./host/reflect.js",
|
|
27
29
|
"./logging": "./host/logging.js",
|
|
28
30
|
"./context": "./host/context.js",
|
|
29
|
-
"./http": "./host/http.js"
|
|
31
|
+
"./http": "./host/http.js",
|
|
32
|
+
"./http-registry": "./host/http-registry.js",
|
|
33
|
+
"./timer": "./host/timer.js",
|
|
34
|
+
"./timer-registry": "./host/timer-registry.js",
|
|
35
|
+
"./event": "./host/event.js",
|
|
36
|
+
"./event-registry": "./host/event-registry.js"
|
|
30
37
|
},
|
|
31
38
|
"scripts": {
|
|
32
39
|
"start": "riddance-watch",
|
|
@@ -35,7 +42,7 @@
|
|
|
35
42
|
"postpublish": "riddance-sync"
|
|
36
43
|
},
|
|
37
44
|
"devDependencies": {
|
|
38
|
-
"@riddance/env": "0.
|
|
45
|
+
"@riddance/env": "0.8.2"
|
|
39
46
|
},
|
|
40
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "b243d96b737808e77a6171f8047039f5fc11199a"
|
|
41
48
|
}
|
package/timer.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Context, HandlerConfiguration } from './context.js';
|
|
2
|
+
import { type CronExpression } from './host/timer-registry.js';
|
|
3
|
+
export * from './context.js';
|
|
4
|
+
export type Timer = {
|
|
5
|
+
readonly triggerTime: Date;
|
|
6
|
+
};
|
|
7
|
+
export type TimerHandlerConfiguration = HandlerConfiguration & {
|
|
8
|
+
/**
|
|
9
|
+
* The TZ identifier identifying which time zone to the schedule is in, UTC if undefined.
|
|
10
|
+
* @default undefined
|
|
11
|
+
* @example 'America/Los_Angeles'
|
|
12
|
+
*/
|
|
13
|
+
readonly timezone?: string;
|
|
14
|
+
};
|
|
15
|
+
export type Handler = (context: Context, when: Timer) => Promise<void> | void;
|
|
16
|
+
export declare function setInterval(schedule: CronExpression, fn: Handler): void;
|
|
17
|
+
export declare function setInterval(schedule: CronExpression, config: HandlerConfiguration, fn: Handler): void;
|
package/timer.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { registerTimerHandler } from './host/timer-registry.js';
|
|
2
|
+
export * from './context.js';
|
|
3
|
+
export function setInterval(schedule, configOrHandler, fn) {
|
|
4
|
+
registerTimerHandler(schedule, configOrHandler, fn);
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0aW1lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsb0JBQW9CLEVBQXVCLE1BQU0sMEJBQTBCLENBQUE7QUFFcEYsY0FBYyxjQUFjLENBQUE7QUF1QjVCLE1BQU0sVUFBVSxXQUFXLENBQ3ZCLFFBQXdCLEVBQ3hCLGVBQStDLEVBQy9DLEVBQVk7SUFFWixvQkFBb0IsQ0FBQyxRQUFRLEVBQUUsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0FBQ3ZELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250ZXh0LCBIYW5kbGVyQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vY29udGV4dC5qcydcbmltcG9ydCB7IHJlZ2lzdGVyVGltZXJIYW5kbGVyLCB0eXBlIENyb25FeHByZXNzaW9uIH0gZnJvbSAnLi9ob3N0L3RpbWVyLXJlZ2lzdHJ5LmpzJ1xuXG5leHBvcnQgKiBmcm9tICcuL2NvbnRleHQuanMnXG5cbmV4cG9ydCB0eXBlIFRpbWVyID0ge1xuICAgIHJlYWRvbmx5IHRyaWdnZXJUaW1lOiBEYXRlXG59XG5cbmV4cG9ydCB0eXBlIFRpbWVySGFuZGxlckNvbmZpZ3VyYXRpb24gPSBIYW5kbGVyQ29uZmlndXJhdGlvbiAmIHtcbiAgICAvKipcbiAgICAgKiBUaGUgVFogaWRlbnRpZmllciBpZGVudGlmeWluZyB3aGljaCB0aW1lIHpvbmUgdG8gdGhlIHNjaGVkdWxlIGlzIGluLCBVVEMgaWYgdW5kZWZpbmVkLlxuICAgICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgICAqIEBleGFtcGxlICdBbWVyaWNhL0xvc19BbmdlbGVzJ1xuICAgICAqL1xuICAgIHJlYWRvbmx5IHRpbWV6b25lPzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIEhhbmRsZXIgPSAoY29udGV4dDogQ29udGV4dCwgd2hlbjogVGltZXIpID0+IFByb21pc2U8dm9pZD4gfCB2b2lkXG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRJbnRlcnZhbChzY2hlZHVsZTogQ3JvbkV4cHJlc3Npb24sIGZuOiBIYW5kbGVyKTogdm9pZFxuZXhwb3J0IGZ1bmN0aW9uIHNldEludGVydmFsKFxuICAgIHNjaGVkdWxlOiBDcm9uRXhwcmVzc2lvbixcbiAgICBjb25maWc6IEhhbmRsZXJDb25maWd1cmF0aW9uLFxuICAgIGZuOiBIYW5kbGVyLFxuKTogdm9pZFxuZXhwb3J0IGZ1bmN0aW9uIHNldEludGVydmFsKFxuICAgIHNjaGVkdWxlOiBDcm9uRXhwcmVzc2lvbixcbiAgICBjb25maWdPckhhbmRsZXI6IEhhbmRsZXJDb25maWd1cmF0aW9uIHwgSGFuZGxlcixcbiAgICBmbj86IEhhbmRsZXIsXG4pOiB2b2lkIHtcbiAgICByZWdpc3RlclRpbWVySGFuZGxlcihzY2hlZHVsZSwgY29uZmlnT3JIYW5kbGVyLCBmbilcbn1cbiJdfQ==
|
package/host/events.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Json, Logger } from '../context.js';
|
|
2
|
-
import { EventMetadata, EventTransport } from './context.js';
|
|
3
|
-
export declare class EventCollector {
|
|
4
|
-
#private;
|
|
5
|
-
constructor(transport: EventTransport, logger: Logger, ids: {
|
|
6
|
-
operationId?: string;
|
|
7
|
-
clientId?: string;
|
|
8
|
-
clientIp?: string;
|
|
9
|
-
userAgent?: string;
|
|
10
|
-
}, timeout: number, signal: AbortSignal);
|
|
11
|
-
emit(meta: EventMetadata, data?: Json): void;
|
|
12
|
-
flush(): Promise<void>;
|
|
13
|
-
}
|
package/host/events.js
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
export class EventCollector {
|
|
2
|
-
#transport;
|
|
3
|
-
#logger;
|
|
4
|
-
#ids;
|
|
5
|
-
#emitted = {};
|
|
6
|
-
#size = 0;
|
|
7
|
-
#flusher;
|
|
8
|
-
#deadline;
|
|
9
|
-
#buffered;
|
|
10
|
-
#signal;
|
|
11
|
-
constructor(transport, logger, ids, timeout, signal) {
|
|
12
|
-
this.#transport = transport;
|
|
13
|
-
this.#logger = logger;
|
|
14
|
-
this.#ids = ids;
|
|
15
|
-
this.#deadline = Date.now() + timeout;
|
|
16
|
-
this.#buffered = 0;
|
|
17
|
-
this.#signal = signal;
|
|
18
|
-
}
|
|
19
|
-
emit(meta, data) {
|
|
20
|
-
const eventTime = new Date();
|
|
21
|
-
const timeLeft = this.#deadline - Date.now();
|
|
22
|
-
if (this.#buffered / this.#transport.publishRate > timeLeft) {
|
|
23
|
-
throw new Error('Event overflow.');
|
|
24
|
-
}
|
|
25
|
-
const event = data === undefined
|
|
26
|
-
? { meta, ids: this.#ids, eventTime }
|
|
27
|
-
: { meta, ids: this.#ids, eventTime, json: JSON.stringify(data) };
|
|
28
|
-
const events = this.#emitted[meta.topic];
|
|
29
|
-
if (events) {
|
|
30
|
-
events.push(event);
|
|
31
|
-
if (events.length > 64 || this.#size > 64_000) {
|
|
32
|
-
// eslint-disable-next-line no-void
|
|
33
|
-
void this.flush();
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
this.#emitted[meta.topic] = [event];
|
|
38
|
-
}
|
|
39
|
-
++this.#buffered;
|
|
40
|
-
this.#size += event.json?.length ?? 0;
|
|
41
|
-
}
|
|
42
|
-
async flush() {
|
|
43
|
-
this.#startFlush(this.#emitted);
|
|
44
|
-
this.#emitted = {};
|
|
45
|
-
this.#size = 0;
|
|
46
|
-
return await this.#flusher;
|
|
47
|
-
}
|
|
48
|
-
#startFlush(emitted) {
|
|
49
|
-
if (this.#flusher) {
|
|
50
|
-
this.#flusher = this.#flusher.then(() => this.#flushEvents(emitted));
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
this.#flusher = this.#flushEvents(emitted);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
async #flushEvents(emitted) {
|
|
57
|
-
await Promise.all(Object.entries(emitted).map(async ([topic, events]) => {
|
|
58
|
-
try {
|
|
59
|
-
await this.#transport.sendEvents(topic, events, this.#signal);
|
|
60
|
-
}
|
|
61
|
-
catch (e) {
|
|
62
|
-
this.#logger.fatal('Error sending events.', e, { events });
|
|
63
|
-
}
|
|
64
|
-
this.#buffered -= events.length;
|
|
65
|
-
}));
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZXZlbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sT0FBTyxjQUFjO0lBQ2QsVUFBVSxDQUFnQjtJQUMxQixPQUFPLENBQVE7SUFDZixJQUFJLENBQVk7SUFDekIsUUFBUSxHQUFlLEVBQUUsQ0FBQTtJQUN6QixLQUFLLEdBQUcsQ0FBQyxDQUFBO0lBQ1QsUUFBUSxDQUFnQjtJQUNmLFNBQVMsQ0FBUTtJQUMxQixTQUFTLENBQVE7SUFDUixPQUFPLENBQWE7SUFFN0IsWUFDSSxTQUF5QixFQUN6QixNQUFjLEVBQ2QsR0FBdUYsRUFDdkYsT0FBZSxFQUNmLE1BQW1CO1FBRW5CLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFBO1FBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFBO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFBO1FBQ2YsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsT0FBTyxDQUFBO1FBQ3JDLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFBO1FBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFBO0lBQ3pCLENBQUM7SUFFRCxJQUFJLENBQUMsSUFBbUIsRUFBRSxJQUFXO1FBQ2pDLE1BQU0sU0FBUyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUE7UUFDNUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUE7UUFDNUMsSUFBSSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxHQUFHLFFBQVEsRUFBRSxDQUFDO1lBQzFELE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUN0QyxDQUFDO1FBQ0QsTUFBTSxLQUFLLEdBQ1AsSUFBSSxLQUFLLFNBQVM7WUFDZCxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQ3JDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQTtRQUN6RSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUN4QyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1QsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUNsQixJQUFJLE1BQU0sQ0FBQyxNQUFNLEdBQUcsRUFBRSxJQUFJLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxFQUFFLENBQUM7Z0JBQzVDLG1DQUFtQztnQkFDbkMsS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUE7WUFDckIsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUN2QyxDQUFDO1FBQ0QsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFBO1FBQ2hCLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFBO0lBQ3pDLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSztRQUNQLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQy9CLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFBO1FBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFBO1FBQ2QsT0FBTyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUE7SUFDOUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFtQjtRQUMzQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtRQUN4RSxDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUM5QyxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBbUI7UUFDbEMsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNiLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFO1lBQ2xELElBQUksQ0FBQztnQkFDRCxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1lBQ2pFLENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNULElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLHVCQUF1QixFQUFFLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUE7WUFDOUQsQ0FBQztZQUNELElBQUksQ0FBQyxTQUFTLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQTtRQUNuQyxDQUFDLENBQUMsQ0FDTCxDQUFBO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSnNvbiwgTG9nZ2VyIH0gZnJvbSAnLi4vY29udGV4dC5qcydcbmltcG9ydCB7IEJ1ZmZlcmVkRXZlbnQsIENsaWVudEluZm8sIEV2ZW50TWV0YWRhdGEsIEV2ZW50VHJhbnNwb3J0IH0gZnJvbSAnLi9jb250ZXh0LmpzJ1xuXG50eXBlIEVtaXRCdWZmZXIgPSB7XG4gICAgW3RvcGljOiBzdHJpbmddOiBCdWZmZXJlZEV2ZW50W11cbn1cblxuZXhwb3J0IGNsYXNzIEV2ZW50Q29sbGVjdG9yIHtcbiAgICByZWFkb25seSAjdHJhbnNwb3J0OiBFdmVudFRyYW5zcG9ydFxuICAgIHJlYWRvbmx5ICNsb2dnZXI6IExvZ2dlclxuICAgIHJlYWRvbmx5ICNpZHM6IENsaWVudEluZm9cbiAgICAjZW1pdHRlZDogRW1pdEJ1ZmZlciA9IHt9XG4gICAgI3NpemUgPSAwXG4gICAgI2ZsdXNoZXI/OiBQcm9taXNlPHZvaWQ+XG4gICAgcmVhZG9ubHkgI2RlYWRsaW5lOiBudW1iZXJcbiAgICAjYnVmZmVyZWQ6IG51bWJlclxuICAgIHJlYWRvbmx5ICNzaWduYWw6IEFib3J0U2lnbmFsXG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgdHJhbnNwb3J0OiBFdmVudFRyYW5zcG9ydCxcbiAgICAgICAgbG9nZ2VyOiBMb2dnZXIsXG4gICAgICAgIGlkczogeyBvcGVyYXRpb25JZD86IHN0cmluZzsgY2xpZW50SWQ/OiBzdHJpbmc7IGNsaWVudElwPzogc3RyaW5nOyB1c2VyQWdlbnQ/OiBzdHJpbmcgfSxcbiAgICAgICAgdGltZW91dDogbnVtYmVyLFxuICAgICAgICBzaWduYWw6IEFib3J0U2lnbmFsLFxuICAgICkge1xuICAgICAgICB0aGlzLiN0cmFuc3BvcnQgPSB0cmFuc3BvcnRcbiAgICAgICAgdGhpcy4jbG9nZ2VyID0gbG9nZ2VyXG4gICAgICAgIHRoaXMuI2lkcyA9IGlkc1xuICAgICAgICB0aGlzLiNkZWFkbGluZSA9IERhdGUubm93KCkgKyB0aW1lb3V0XG4gICAgICAgIHRoaXMuI2J1ZmZlcmVkID0gMFxuICAgICAgICB0aGlzLiNzaWduYWwgPSBzaWduYWxcbiAgICB9XG5cbiAgICBlbWl0KG1ldGE6IEV2ZW50TWV0YWRhdGEsIGRhdGE/OiBKc29uKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGV2ZW50VGltZSA9IG5ldyBEYXRlKClcbiAgICAgICAgY29uc3QgdGltZUxlZnQgPSB0aGlzLiNkZWFkbGluZSAtIERhdGUubm93KClcbiAgICAgICAgaWYgKHRoaXMuI2J1ZmZlcmVkIC8gdGhpcy4jdHJhbnNwb3J0LnB1Ymxpc2hSYXRlID4gdGltZUxlZnQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRXZlbnQgb3ZlcmZsb3cuJylcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBldmVudCA9XG4gICAgICAgICAgICBkYXRhID09PSB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICA/IHsgbWV0YSwgaWRzOiB0aGlzLiNpZHMsIGV2ZW50VGltZSB9XG4gICAgICAgICAgICAgICAgOiB7IG1ldGEsIGlkczogdGhpcy4jaWRzLCBldmVudFRpbWUsIGpzb246IEpTT04uc3RyaW5naWZ5KGRhdGEpIH1cbiAgICAgICAgY29uc3QgZXZlbnRzID0gdGhpcy4jZW1pdHRlZFttZXRhLnRvcGljXVxuICAgICAgICBpZiAoZXZlbnRzKSB7XG4gICAgICAgICAgICBldmVudHMucHVzaChldmVudClcbiAgICAgICAgICAgIGlmIChldmVudHMubGVuZ3RoID4gNjQgfHwgdGhpcy4jc2l6ZSA+IDY0XzAwMCkge1xuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby12b2lkXG4gICAgICAgICAgICAgICAgdm9pZCB0aGlzLmZsdXNoKClcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuI2VtaXR0ZWRbbWV0YS50b3BpY10gPSBbZXZlbnRdXG4gICAgICAgIH1cbiAgICAgICAgKyt0aGlzLiNidWZmZXJlZFxuICAgICAgICB0aGlzLiNzaXplICs9IGV2ZW50Lmpzb24/Lmxlbmd0aCA/PyAwXG4gICAgfVxuXG4gICAgYXN5bmMgZmx1c2goKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRoaXMuI3N0YXJ0Rmx1c2godGhpcy4jZW1pdHRlZClcbiAgICAgICAgdGhpcy4jZW1pdHRlZCA9IHt9XG4gICAgICAgIHRoaXMuI3NpemUgPSAwXG4gICAgICAgIHJldHVybiBhd2FpdCB0aGlzLiNmbHVzaGVyXG4gICAgfVxuXG4gICAgI3N0YXJ0Rmx1c2goZW1pdHRlZDogRW1pdEJ1ZmZlcikge1xuICAgICAgICBpZiAodGhpcy4jZmx1c2hlcikge1xuICAgICAgICAgICAgdGhpcy4jZmx1c2hlciA9IHRoaXMuI2ZsdXNoZXIudGhlbigoKSA9PiB0aGlzLiNmbHVzaEV2ZW50cyhlbWl0dGVkKSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuI2ZsdXNoZXIgPSB0aGlzLiNmbHVzaEV2ZW50cyhlbWl0dGVkKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXN5bmMgI2ZsdXNoRXZlbnRzKGVtaXR0ZWQ6IEVtaXRCdWZmZXIpIHtcbiAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgICAgICBPYmplY3QuZW50cmllcyhlbWl0dGVkKS5tYXAoYXN5bmMgKFt0b3BpYywgZXZlbnRzXSkgPT4ge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuI3RyYW5zcG9ydC5zZW5kRXZlbnRzKHRvcGljLCBldmVudHMsIHRoaXMuI3NpZ25hbClcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuI2xvZ2dlci5mYXRhbCgnRXJyb3Igc2VuZGluZyBldmVudHMuJywgZSwgeyBldmVudHMgfSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy4jYnVmZmVyZWQgLT0gZXZlbnRzLmxlbmd0aFxuICAgICAgICAgICAgfSksXG4gICAgICAgIClcbiAgICB9XG59XG4iXX0=
|