@riddance/host 0.0.1

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.
@@ -0,0 +1,61 @@
1
+ const handlers = {};
2
+ function addHandler(type, handler) {
3
+ ;
4
+ (handlers[type] ??= []).push(handler);
5
+ }
6
+ export function getHandlers(type) {
7
+ return (handlers[type] ?? []);
8
+ }
9
+ let httpHostRegistry;
10
+ function setHttpHost(host) {
11
+ httpHostRegistry = host;
12
+ }
13
+ let metadata;
14
+ export function setMeta(packageName, fileName, revision, config) {
15
+ metadata = {
16
+ packageName,
17
+ fileName,
18
+ revision,
19
+ config,
20
+ };
21
+ }
22
+ function getMetadata() {
23
+ return metadata;
24
+ }
25
+ function pathToRegExp(path) {
26
+ return new RegExp(('^' +
27
+ path.replace(/[/\\^$+?.()|[\]{}]/gu, '\\$&').replaceAll('*', '[^/\\?]+') +
28
+ '(\\?.*)?$').replace('[^/\\?]+[^/\\?]+(\\?.*)?$', ''), 'u');
29
+ }
30
+ function combineConfig(base, override) {
31
+ if (base === undefined) {
32
+ return override;
33
+ }
34
+ else if (override === undefined) {
35
+ return base;
36
+ }
37
+ return { ...base, ...override };
38
+ }
39
+ function httpHost(meta, cfg, method, path, entry) {
40
+ addHandler('http', {
41
+ meta,
42
+ config: combineConfig(meta?.config, cfg),
43
+ method,
44
+ pathPattern: path,
45
+ pathRegExp: pathToRegExp(path),
46
+ entry,
47
+ });
48
+ }
49
+ setHttpHost(httpHost);
50
+ export function registerHttpHandler(method, path, configOrHandler, fn) {
51
+ if (typeof configOrHandler === 'function') {
52
+ httpHostRegistry(getMetadata(), undefined, method, path, configOrHandler);
53
+ }
54
+ else {
55
+ if (!fn) {
56
+ throw new Error('Please provide a handler function.');
57
+ }
58
+ httpHostRegistry(getMetadata(), configOrHandler, method, path, fn);
59
+ }
60
+ }
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJyZWdpc3RyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQkEsTUFBTSxRQUFRLEdBQWlDLEVBQUUsQ0FBQTtBQUVqRCxTQUFTLFVBQVUsQ0FBQyxJQUF3QixFQUFFLE9BQW9CO0lBQzlELENBQUM7SUFBQSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7QUFDMUMsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsSUFBd0I7SUFDaEQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQWtCLENBQUE7QUFDbEQsQ0FBQztBQVVELElBQUksZ0JBQTBCLENBQUE7QUFFOUIsU0FBUyxXQUFXLENBQUMsSUFBYztJQUMvQixnQkFBZ0IsR0FBRyxJQUFJLENBQUE7QUFDM0IsQ0FBQztBQUVELElBQUksUUFBOEIsQ0FBQTtBQUVsQyxNQUFNLFVBQVUsT0FBTyxDQUNuQixXQUFtQixFQUNuQixRQUFnQixFQUNoQixRQUE0QixFQUM1QixNQUF3QztJQUV4QyxRQUFRLEdBQUc7UUFDUCxXQUFXO1FBQ1gsUUFBUTtRQUNSLFFBQVE7UUFDUixNQUFNO0tBQ1QsQ0FBQTtBQUNMLENBQUM7QUFjRCxTQUFTLFdBQVc7SUFDaEIsT0FBTyxRQUFRLENBQUE7QUFDbkIsQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFDLElBQVk7SUFDOUIsT0FBTyxJQUFJLE1BQU0sQ0FDYixDQUNJLEdBQUc7UUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLHNCQUFzQixFQUFFLE1BQU0sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDO1FBQ3hFLFdBQVcsQ0FDZCxDQUFDLE9BQU8sQ0FBQywyQkFBMkIsRUFBRSxFQUFFLENBQUMsRUFDMUMsR0FBRyxDQUNOLENBQUE7QUFDTCxDQUFDO0FBRUQsU0FBUyxhQUFhLENBQ2xCLElBQXNDLEVBQ3RDLFFBQTBDO0lBRTFDLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRTtRQUNwQixPQUFPLFFBQVEsQ0FBQTtLQUNsQjtTQUFNLElBQUksUUFBUSxLQUFLLFNBQVMsRUFBRTtRQUMvQixPQUFPLElBQUksQ0FBQTtLQUNkO0lBQ0QsT0FBTyxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsUUFBUSxFQUFFLENBQUE7QUFDbkMsQ0FBQztBQUVELFNBQVMsUUFBUSxDQUNiLElBQTBCLEVBQzFCLEdBQXFDLEVBQ3JDLE1BQWMsRUFDZCxJQUFZLEVBQ1osS0FBYztJQUVkLFVBQVUsQ0FBQyxNQUFNLEVBQUU7UUFDZixJQUFJO1FBQ0osTUFBTSxFQUFFLGFBQWEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsQ0FBQztRQUN4QyxNQUFNO1FBQ04sV0FBVyxFQUFFLElBQUk7UUFDakIsVUFBVSxFQUFFLFlBQVksQ0FBQyxJQUFJLENBQUM7UUFDOUIsS0FBSztLQUNSLENBQUMsQ0FBQTtBQUNOLENBQUM7QUFFRCxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUE7QUFJckIsTUFBTSxVQUFVLG1CQUFtQixDQUMvQixNQUFjLEVBQ2QsSUFBWSxFQUNaLGVBQStDLEVBQy9DLEVBQVk7SUFFWixJQUFJLE9BQU8sZUFBZSxLQUFLLFVBQVUsRUFBRTtRQUN2QyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxlQUFlLENBQUMsQ0FBQTtLQUM1RTtTQUFNO1FBQ0gsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNMLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQTtTQUN4RDtRQUNELGdCQUFnQixDQUFDLFdBQVcsRUFBRSxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0tBQ3JFO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhbmRsZXJDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vY29udGV4dC5qcydcclxuaW1wb3J0IHsgSGFuZGxlciB9IGZyb20gJy4uL2h0dHAuanMnXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBIYW5kbGVyIHtcclxuICAgIG1ldGE6IE1ldGFkYXRhIHwgdW5kZWZpbmVkXHJcbiAgICBjb25maWc6IChQYWNrYWdlQ29uZmlndXJhdGlvbiAmIEhhbmRsZXJDb25maWd1cmF0aW9uKSB8IHVuZGVmaW5lZFxyXG4gICAgbWV0aG9kOiBNZXRob2RcclxuICAgIHBhdGhQYXR0ZXJuOiBzdHJpbmdcclxuICAgIHBhdGhSZWdFeHA6IFJlZ0V4cFxyXG4gICAgZW50cnk6IEhhbmRsZXJcclxufVxyXG5cclxuaW50ZXJmYWNlIEhhbmRsZXJUeXBlcyB7XHJcbiAgICBodHRwOiBIdHRwSGFuZGxlclxyXG59XHJcblxyXG5jb25zdCBoYW5kbGVyczogeyBba2V5OiBzdHJpbmddOiB1bmtub3duW10gfSA9IHt9XHJcblxyXG5mdW5jdGlvbiBhZGRIYW5kbGVyKHR5cGU6IGtleW9mIEhhbmRsZXJUeXBlcywgaGFuZGxlcjogSHR0cEhhbmRsZXIpIHtcclxuICAgIDsoaGFuZGxlcnNbdHlwZV0gPz89IFtdKS5wdXNoKGhhbmRsZXIpXHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRIYW5kbGVycyh0eXBlOiBrZXlvZiBIYW5kbGVyVHlwZXMpIHtcclxuICAgIHJldHVybiAoaGFuZGxlcnNbdHlwZV0gPz8gW10pIGFzIEh0dHBIYW5kbGVyW11cclxufVxyXG5cclxudHlwZSBIdHRwSG9zdCA9IChcclxuICAgIG1ldGE6IE1ldGFkYXRhIHwgdW5kZWZpbmVkLFxyXG4gICAgY29uZmlnOiBIYW5kbGVyQ29uZmlndXJhdGlvbiB8IHVuZGVmaW5lZCxcclxuICAgIG1ldGhvZDogTWV0aG9kLFxyXG4gICAgcGF0aDogc3RyaW5nLFxyXG4gICAgaGFuZGxlcjogSGFuZGxlcixcclxuKSA9PiB2b2lkXHJcblxyXG5sZXQgaHR0cEhvc3RSZWdpc3RyeTogSHR0cEhvc3RcclxuXHJcbmZ1bmN0aW9uIHNldEh0dHBIb3N0KGhvc3Q6IEh0dHBIb3N0KSB7XHJcbiAgICBodHRwSG9zdFJlZ2lzdHJ5ID0gaG9zdFxyXG59XHJcblxyXG5sZXQgbWV0YWRhdGE6IE1ldGFkYXRhIHwgdW5kZWZpbmVkXHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc2V0TWV0YShcclxuICAgIHBhY2thZ2VOYW1lOiBzdHJpbmcsXHJcbiAgICBmaWxlTmFtZTogc3RyaW5nLFxyXG4gICAgcmV2aXNpb246IHN0cmluZyB8IHVuZGVmaW5lZCxcclxuICAgIGNvbmZpZzogUGFja2FnZUNvbmZpZ3VyYXRpb24gfCB1bmRlZmluZWQsXHJcbikge1xyXG4gICAgbWV0YWRhdGEgPSB7XHJcbiAgICAgICAgcGFja2FnZU5hbWUsXHJcbiAgICAgICAgZmlsZU5hbWUsXHJcbiAgICAgICAgcmV2aXNpb24sXHJcbiAgICAgICAgY29uZmlnLFxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZVxyXG5leHBvcnQgaW50ZXJmYWNlIFBhY2thZ2VDb25maWd1cmF0aW9uIGV4dGVuZHMgSGFuZGxlckNvbmZpZ3VyYXRpb24ge1xyXG4gICAgLy8gUGxhY2Vob2xkZXIgZm9yIHBhY2thZ2UtbGV2ZWwgY29uZmlndXJhdGlvbnNcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBNZXRhZGF0YSB7XHJcbiAgICBwYWNrYWdlTmFtZTogc3RyaW5nXHJcbiAgICBmaWxlTmFtZTogc3RyaW5nXHJcbiAgICByZXZpc2lvbjogc3RyaW5nIHwgdW5kZWZpbmVkXHJcbiAgICBjb25maWc/OiBQYWNrYWdlQ29uZmlndXJhdGlvblxyXG59XHJcblxyXG5mdW5jdGlvbiBnZXRNZXRhZGF0YSgpIHtcclxuICAgIHJldHVybiBtZXRhZGF0YVxyXG59XHJcblxyXG5mdW5jdGlvbiBwYXRoVG9SZWdFeHAocGF0aDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gbmV3IFJlZ0V4cChcclxuICAgICAgICAoXHJcbiAgICAgICAgICAgICdeJyArXHJcbiAgICAgICAgICAgIHBhdGgucmVwbGFjZSgvWy9cXFxcXiQrPy4oKXxbXFxde31dL2d1LCAnXFxcXCQmJykucmVwbGFjZUFsbCgnKicsICdbXi9cXFxcP10rJykgK1xyXG4gICAgICAgICAgICAnKFxcXFw/LiopPyQnXHJcbiAgICAgICAgKS5yZXBsYWNlKCdbXi9cXFxcP10rW14vXFxcXD9dKyhcXFxcPy4qKT8kJywgJycpLFxyXG4gICAgICAgICd1JyxcclxuICAgIClcclxufVxyXG5cclxuZnVuY3Rpb24gY29tYmluZUNvbmZpZyhcclxuICAgIGJhc2U6IFBhY2thZ2VDb25maWd1cmF0aW9uIHwgdW5kZWZpbmVkLFxyXG4gICAgb3ZlcnJpZGU6IEhhbmRsZXJDb25maWd1cmF0aW9uIHwgdW5kZWZpbmVkLFxyXG4pOiAoUGFja2FnZUNvbmZpZ3VyYXRpb24gJiBIYW5kbGVyQ29uZmlndXJhdGlvbikgfCB1bmRlZmluZWQge1xyXG4gICAgaWYgKGJhc2UgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHJldHVybiBvdmVycmlkZVxyXG4gICAgfSBlbHNlIGlmIChvdmVycmlkZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgcmV0dXJuIGJhc2VcclxuICAgIH1cclxuICAgIHJldHVybiB7IC4uLmJhc2UsIC4uLm92ZXJyaWRlIH1cclxufVxyXG5cclxuZnVuY3Rpb24gaHR0cEhvc3QoXHJcbiAgICBtZXRhOiBNZXRhZGF0YSB8IHVuZGVmaW5lZCxcclxuICAgIGNmZzogSGFuZGxlckNvbmZpZ3VyYXRpb24gfCB1bmRlZmluZWQsXHJcbiAgICBtZXRob2Q6IE1ldGhvZCxcclxuICAgIHBhdGg6IHN0cmluZyxcclxuICAgIGVudHJ5OiBIYW5kbGVyLFxyXG4pIHtcclxuICAgIGFkZEhhbmRsZXIoJ2h0dHAnLCB7XHJcbiAgICAgICAgbWV0YSxcclxuICAgICAgICBjb25maWc6IGNvbWJpbmVDb25maWcobWV0YT8uY29uZmlnLCBjZmcpLFxyXG4gICAgICAgIG1ldGhvZCxcclxuICAgICAgICBwYXRoUGF0dGVybjogcGF0aCxcclxuICAgICAgICBwYXRoUmVnRXhwOiBwYXRoVG9SZWdFeHAocGF0aCksXHJcbiAgICAgICAgZW50cnksXHJcbiAgICB9KVxyXG59XHJcblxyXG5zZXRIdHRwSG9zdChodHRwSG9zdClcclxuXHJcbmV4cG9ydCB0eXBlIE1ldGhvZCA9ICdHRVQnIHwgJ1BPU1QnIHwgJ1BVVCcgfCAnUEFUQ0gnIHwgJ0RFTEVURSdcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiByZWdpc3Rlckh0dHBIYW5kbGVyKFxyXG4gICAgbWV0aG9kOiBNZXRob2QsXHJcbiAgICBwYXRoOiBzdHJpbmcsXHJcbiAgICBjb25maWdPckhhbmRsZXI6IEhhbmRsZXJDb25maWd1cmF0aW9uIHwgSGFuZGxlcixcclxuICAgIGZuPzogSGFuZGxlcixcclxuKTogdm9pZCB7XHJcbiAgICBpZiAodHlwZW9mIGNvbmZpZ09ySGFuZGxlciA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICAgIGh0dHBIb3N0UmVnaXN0cnkoZ2V0TWV0YWRhdGEoKSwgdW5kZWZpbmVkLCBtZXRob2QsIHBhdGgsIGNvbmZpZ09ySGFuZGxlcilcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKCFmbikge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1BsZWFzZSBwcm92aWRlIGEgaGFuZGxlciBmdW5jdGlvbi4nKVxyXG4gICAgICAgIH1cclxuICAgICAgICBodHRwSG9zdFJlZ2lzdHJ5KGdldE1ldGFkYXRhKCksIGNvbmZpZ09ySGFuZGxlciwgbWV0aG9kLCBwYXRoLCBmbilcclxuICAgIH1cclxufVxyXG4iXX0=
package/http.d.ts ADDED
@@ -0,0 +1,39 @@
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ import type { UrlWithParsedQuery } from 'node:url';
3
+ import { Context, HandlerConfiguration, Json } from './context.js';
4
+ export * from './context.js';
5
+ export interface ResponseHeaders {
6
+ [key: string]: string;
7
+ }
8
+ export interface FullResult {
9
+ headers?: ResponseHeaders;
10
+ status?: number;
11
+ body?: unknown;
12
+ }
13
+ export declare type Result = void | string | FullResult;
14
+ export interface HttpRequest {
15
+ readonly rawUrl: string;
16
+ readonly url: Readonly<UrlWithParsedQuery> & {
17
+ pathStepAt: (index: number) => string;
18
+ };
19
+ readonly headers: Readonly<ResponseHeaders>;
20
+ readonly body?: Json | string;
21
+ }
22
+ export interface HttpHandlerConfiguration extends HandlerConfiguration {
23
+ /**
24
+ * A string identifying which domains can access the endpoint cross-origin.
25
+ * @default undefined
26
+ */
27
+ readonly cors?: string;
28
+ }
29
+ export declare type Handler = (context: Context, request: HttpRequest) => Promise<Result> | Result;
30
+ export declare function get(path: string, fn: Handler): void;
31
+ export declare function get(path: string, config: HttpHandlerConfiguration, fn: Handler): void;
32
+ export declare function post(path: string, fn: Handler): void;
33
+ export declare function post(path: string, config: HttpHandlerConfiguration, fn: Handler): void;
34
+ export declare function put(path: string, fn: Handler): void;
35
+ export declare function put(path: string, config: HttpHandlerConfiguration, fn: Handler): void;
36
+ export declare function patch(path: string, fn: Handler): void;
37
+ export declare function patch(path: string, config: HttpHandlerConfiguration, fn: Handler): void;
38
+ export declare function del(path: string, fn: Handler): void;
39
+ export declare function del(path: string, config: HttpHandlerConfiguration, fn: Handler): void;
package/http.js ADDED
@@ -0,0 +1,18 @@
1
+ import { registerHttpHandler } from './host/registry.js';
2
+ export * from './context.js';
3
+ export function get(path, configOrHandler, fn) {
4
+ registerHttpHandler('GET', path, configOrHandler, fn);
5
+ }
6
+ export function post(path, configOrHandler, fn) {
7
+ registerHttpHandler('POST', path, configOrHandler, fn);
8
+ }
9
+ export function put(path, configOrHandler, fn) {
10
+ registerHttpHandler('PUT', path, configOrHandler, fn);
11
+ }
12
+ export function patch(path, configOrHandler, fn) {
13
+ registerHttpHandler('PATCH', path, configOrHandler, fn);
14
+ }
15
+ export function del(path, configOrHandler, fn) {
16
+ registerHttpHandler('DELETE', path, configOrHandler, fn);
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImh0dHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFFeEQsY0FBYyxjQUFjLENBQUE7QUFpQzVCLE1BQU0sVUFBVSxHQUFHLENBQ2YsSUFBWSxFQUNaLGVBQW1ELEVBQ25ELEVBQVk7SUFFWixtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQTtBQUN6RCxDQUFDO0FBR0QsTUFBTSxVQUFVLElBQUksQ0FDaEIsSUFBWSxFQUNaLGVBQW1ELEVBQ25ELEVBQVk7SUFFWixtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQTtBQUMxRCxDQUFDO0FBR0QsTUFBTSxVQUFVLEdBQUcsQ0FDZixJQUFZLEVBQ1osZUFBbUQsRUFDbkQsRUFBWTtJQUVaLG1CQUFtQixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0FBQ3pELENBQUM7QUFHRCxNQUFNLFVBQVUsS0FBSyxDQUNqQixJQUFZLEVBQ1osZUFBbUQsRUFDbkQsRUFBWTtJQUVaLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0FBQzNELENBQUM7QUFHRCxNQUFNLFVBQVUsR0FBRyxDQUNmLElBQVksRUFDWixlQUFtRCxFQUNuRCxFQUFZO0lBRVosbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUE7QUFDNUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVXJsV2l0aFBhcnNlZFF1ZXJ5IH0gZnJvbSAnbm9kZTp1cmwnXHJcbmltcG9ydCB7IENvbnRleHQsIEhhbmRsZXJDb25maWd1cmF0aW9uLCBKc29uIH0gZnJvbSAnLi9jb250ZXh0LmpzJ1xyXG5pbXBvcnQgeyByZWdpc3Rlckh0dHBIYW5kbGVyIH0gZnJvbSAnLi9ob3N0L3JlZ2lzdHJ5LmpzJ1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9jb250ZXh0LmpzJ1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSZXNwb25zZUhlYWRlcnMge1xyXG4gICAgW2tleTogc3RyaW5nXTogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRnVsbFJlc3VsdCB7XHJcbiAgICBoZWFkZXJzPzogUmVzcG9uc2VIZWFkZXJzXHJcbiAgICBzdGF0dXM/OiBudW1iZXJcclxuICAgIGJvZHk/OiB1bmtub3duXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFJlc3VsdCA9IHZvaWQgfCBzdHJpbmcgfCBGdWxsUmVzdWx0XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEh0dHBSZXF1ZXN0IHtcclxuICAgIHJlYWRvbmx5IHJhd1VybDogc3RyaW5nXHJcbiAgICByZWFkb25seSB1cmw6IFJlYWRvbmx5PFVybFdpdGhQYXJzZWRRdWVyeT4gJiB7IHBhdGhTdGVwQXQ6IChpbmRleDogbnVtYmVyKSA9PiBzdHJpbmcgfVxyXG4gICAgcmVhZG9ubHkgaGVhZGVyczogUmVhZG9ubHk8UmVzcG9uc2VIZWFkZXJzPlxyXG4gICAgcmVhZG9ubHkgYm9keT86IEpzb24gfCBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBIdHRwSGFuZGxlckNvbmZpZ3VyYXRpb24gZXh0ZW5kcyBIYW5kbGVyQ29uZmlndXJhdGlvbiB7XHJcbiAgICAvKipcclxuICAgICAqIEEgc3RyaW5nIGlkZW50aWZ5aW5nIHdoaWNoIGRvbWFpbnMgY2FuIGFjY2VzcyB0aGUgZW5kcG9pbnQgY3Jvc3Mtb3JpZ2luLlxyXG4gICAgICogQGRlZmF1bHQgdW5kZWZpbmVkXHJcbiAgICAgKi9cclxuICAgIHJlYWRvbmx5IGNvcnM/OiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgSGFuZGxlciA9IChjb250ZXh0OiBDb250ZXh0LCByZXF1ZXN0OiBIdHRwUmVxdWVzdCkgPT4gUHJvbWlzZTxSZXN1bHQ+IHwgUmVzdWx0XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0KHBhdGg6IHN0cmluZywgZm46IEhhbmRsZXIpOiB2b2lkXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXQocGF0aDogc3RyaW5nLCBjb25maWc6IEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvbiwgZm46IEhhbmRsZXIpOiB2b2lkXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXQoXHJcbiAgICBwYXRoOiBzdHJpbmcsXHJcbiAgICBjb25maWdPckhhbmRsZXI6IEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvbiB8IEhhbmRsZXIsXHJcbiAgICBmbj86IEhhbmRsZXIsXHJcbik6IHZvaWQge1xyXG4gICAgcmVnaXN0ZXJIdHRwSGFuZGxlcignR0VUJywgcGF0aCwgY29uZmlnT3JIYW5kbGVyLCBmbilcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gcG9zdChwYXRoOiBzdHJpbmcsIGZuOiBIYW5kbGVyKTogdm9pZFxyXG5leHBvcnQgZnVuY3Rpb24gcG9zdChwYXRoOiBzdHJpbmcsIGNvbmZpZzogSHR0cEhhbmRsZXJDb25maWd1cmF0aW9uLCBmbjogSGFuZGxlcik6IHZvaWRcclxuZXhwb3J0IGZ1bmN0aW9uIHBvc3QoXHJcbiAgICBwYXRoOiBzdHJpbmcsXHJcbiAgICBjb25maWdPckhhbmRsZXI6IEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvbiB8IEhhbmRsZXIsXHJcbiAgICBmbj86IEhhbmRsZXIsXHJcbik6IHZvaWQge1xyXG4gICAgcmVnaXN0ZXJIdHRwSGFuZGxlcignUE9TVCcsIHBhdGgsIGNvbmZpZ09ySGFuZGxlciwgZm4pXHJcbn1cclxuZXhwb3J0IGZ1bmN0aW9uIHB1dChwYXRoOiBzdHJpbmcsIGZuOiBIYW5kbGVyKTogdm9pZFxyXG5leHBvcnQgZnVuY3Rpb24gcHV0KHBhdGg6IHN0cmluZywgY29uZmlnOiBIdHRwSGFuZGxlckNvbmZpZ3VyYXRpb24sIGZuOiBIYW5kbGVyKTogdm9pZFxyXG5leHBvcnQgZnVuY3Rpb24gcHV0KFxyXG4gICAgcGF0aDogc3RyaW5nLFxyXG4gICAgY29uZmlnT3JIYW5kbGVyOiBIdHRwSGFuZGxlckNvbmZpZ3VyYXRpb24gfCBIYW5kbGVyLFxyXG4gICAgZm4/OiBIYW5kbGVyLFxyXG4pOiB2b2lkIHtcclxuICAgIHJlZ2lzdGVySHR0cEhhbmRsZXIoJ1BVVCcsIHBhdGgsIGNvbmZpZ09ySGFuZGxlciwgZm4pXHJcbn1cclxuZXhwb3J0IGZ1bmN0aW9uIHBhdGNoKHBhdGg6IHN0cmluZywgZm46IEhhbmRsZXIpOiB2b2lkXHJcbmV4cG9ydCBmdW5jdGlvbiBwYXRjaChwYXRoOiBzdHJpbmcsIGNvbmZpZzogSHR0cEhhbmRsZXJDb25maWd1cmF0aW9uLCBmbjogSGFuZGxlcik6IHZvaWRcclxuZXhwb3J0IGZ1bmN0aW9uIHBhdGNoKFxyXG4gICAgcGF0aDogc3RyaW5nLFxyXG4gICAgY29uZmlnT3JIYW5kbGVyOiBIdHRwSGFuZGxlckNvbmZpZ3VyYXRpb24gfCBIYW5kbGVyLFxyXG4gICAgZm4/OiBIYW5kbGVyLFxyXG4pOiB2b2lkIHtcclxuICAgIHJlZ2lzdGVySHR0cEhhbmRsZXIoJ1BBVENIJywgcGF0aCwgY29uZmlnT3JIYW5kbGVyLCBmbilcclxufVxyXG5leHBvcnQgZnVuY3Rpb24gZGVsKHBhdGg6IHN0cmluZywgZm46IEhhbmRsZXIpOiB2b2lkXHJcbmV4cG9ydCBmdW5jdGlvbiBkZWwocGF0aDogc3RyaW5nLCBjb25maWc6IEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvbiwgZm46IEhhbmRsZXIpOiB2b2lkXHJcbmV4cG9ydCBmdW5jdGlvbiBkZWwoXHJcbiAgICBwYXRoOiBzdHJpbmcsXHJcbiAgICBjb25maWdPckhhbmRsZXI6IEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvbiB8IEhhbmRsZXIsXHJcbiAgICBmbj86IEhhbmRsZXIsXHJcbik6IHZvaWQge1xyXG4gICAgcmVnaXN0ZXJIdHRwSGFuZGxlcignREVMRVRFJywgcGF0aCwgY29uZmlnT3JIYW5kbGVyLCBmbilcclxufVxyXG4iXX0=
package/package.json ADDED
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "@riddance/host",
3
+ "version": "0.0.1",
4
+ "type": "module",
5
+ "license": "MIT",
6
+ "engines": {
7
+ "node": ">=16"
8
+ },
9
+ "keywords": [
10
+ "riddance",
11
+ "serverless",
12
+ "environment",
13
+ "devenv",
14
+ "opinionated"
15
+ ],
16
+ "files": [
17
+ "*.js",
18
+ "*.d.ts",
19
+ "host/*.js",
20
+ "host/*.d.ts"
21
+ ],
22
+ "exports": {
23
+ "./lib/context": "./context.js",
24
+ "./lib/http": "./http.js",
25
+ "./registry": "./host/registry.js",
26
+ "./reflect": "./host/reflect.js",
27
+ "./logging": "./host/logging.js",
28
+ "./context": "./host/context.js",
29
+ "./http": "./host/http.js"
30
+ },
31
+ "devDependencies": {
32
+ "@riddance/env": "0.0.1"
33
+ },
34
+ "scripts": {
35
+ "prepare": "tsc",
36
+ "watch": "watch"
37
+ }
38
+ }