@riddance/host 0.0.12 → 0.0.14

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/host/reflect.js CHANGED
@@ -1,58 +1,58 @@
1
- import { readdir, readFile } from 'node:fs/promises';
2
- import { basename, extname, join, resolve } from 'node:path';
3
- import { pathToFileURL } from 'node:url';
4
- export function resolveCpu(config, supported) {
5
- const resolved = resolveSupported(config.cpus, supported);
6
- if (!resolved) {
7
- // resolve<T>(config, supported) actually asserts config is (T | `!${T}`)[], but that's not supported yet.
8
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
9
- throw new Error('Unsupported CPUs: ' + config.cpus.join(', '));
10
- }
11
- return resolved;
12
- }
13
- export function resolveOS(config, supported) {
14
- const resolved = resolveSupported(config.os, supported);
15
- if (!resolved) {
16
- // resolve<T>(config, supported) actually asserts config is (T | `!${T}`)[], but that's not supported yet.
17
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
18
- throw new Error('Unsupported operating systems: ' + config.os.join(', '));
19
- }
20
- return resolved;
21
- }
22
- function resolveSupported(config, supported) {
23
- if (!config) {
24
- return supported[0];
25
- }
26
- return supported.find(s => config.includes(s) && !config.includes(`!${s}`));
27
- }
28
- export async function reflect(path) {
29
- const packageJson = await readConfig();
30
- const absolutePath = resolve(process.cwd(), path);
31
- const files = (await readdir(absolutePath)).filter(file => extname(file) === '.ts' && !file.endsWith('.d.ts'));
32
- const { getHandlers, setMeta } = (await import(pathToFileURL(join(absolutePath, 'node_modules/@riddance/host/host/registry.js')).toString()));
33
- for (const file of files) {
34
- const base = basename(file, '.ts');
35
- setMeta(packageJson.name, base, undefined, packageJson.config);
36
- await import(pathToFileURL(join(absolutePath, base + '.js')).toString());
37
- }
38
- return {
39
- name: packageJson.name,
40
- http: getHandlers('http').map(h => ({
41
- config: {
42
- ...h.config,
43
- cpus: packageJson.cpu,
44
- os: packageJson.os,
45
- nodeVersion: packageJson.engines?.node,
46
- },
47
- name: h.meta?.fileName ?? '',
48
- method: h.method,
49
- pathPattern: h.pathPattern,
50
- pathRegExp: h.pathRegExp,
51
- })),
52
- };
53
- }
54
- async function readConfig() {
55
- const packageJson = JSON.parse(await readFile('package.json', 'utf-8'));
56
- return packageJson;
57
- }
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmbGVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInJlZmxlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFvQ3hDLE1BQU0sVUFBVSxVQUFVLENBQUMsTUFBZ0MsRUFBRSxTQUFnQjtJQUN6RSxNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFBO0lBQ3pELElBQUksQ0FBQyxRQUFRLEVBQUU7UUFDWCwwR0FBMEc7UUFDMUcsb0VBQW9FO1FBQ3BFLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLEdBQUcsTUFBTSxDQUFDLElBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtLQUNsRTtJQUNELE9BQU8sUUFBUSxDQUFBO0FBQ25CLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUNyQixNQUFnQyxFQUNoQyxTQUE0QjtJQUU1QixNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFBO0lBQ3ZELElBQUksQ0FBQyxRQUFRLEVBQUU7UUFDWCwwR0FBMEc7UUFDMUcsb0VBQW9FO1FBQ3BFLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLEdBQUcsTUFBTSxDQUFDLEVBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtLQUM3RTtJQUNELE9BQU8sUUFBUSxDQUFBO0FBQ25CLENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUNyQixNQUFtQyxFQUNuQyxTQUFjO0lBRWQsSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUNULE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFBO0tBQ3RCO0lBQ0QsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFDL0UsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsT0FBTyxDQUFDLElBQVk7SUFDdEMsTUFBTSxXQUFXLEdBQUcsTUFBTSxVQUFVLEVBQUUsQ0FBQTtJQUN0QyxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ2pELE1BQU0sS0FBSyxHQUFHLENBQUMsTUFBTSxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQzlDLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQzdELENBQUE7SUFDRCxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsTUFBTSxNQUFNLENBQzFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLDhDQUE4QyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FDL0YsQ0FlQSxDQUFBO0lBRUQsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUU7UUFDdEIsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUNsQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUM5RCxNQUFNLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBO0tBQzNFO0lBRUQsT0FBTztRQUNILElBQUksRUFBRSxXQUFXLENBQUMsSUFBSTtRQUN0QixJQUFJLEVBQUUsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDaEMsTUFBTSxFQUFFO2dCQUNKLEdBQUcsQ0FBQyxDQUFDLE1BQU07Z0JBQ1gsSUFBSSxFQUFFLFdBQVcsQ0FBQyxHQUFHO2dCQUNyQixFQUFFLEVBQUUsV0FBVyxDQUFDLEVBQUU7Z0JBQ2xCLFdBQVcsRUFBRSxXQUFXLENBQUMsT0FBTyxFQUFFLElBQUk7YUFDekM7WUFDRCxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxRQUFRLElBQUksRUFBRTtZQUM1QixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU07WUFDaEIsV0FBVyxFQUFFLENBQUMsQ0FBQyxXQUFXO1lBQzFCLFVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVTtTQUMzQixDQUFDLENBQUM7S0FDTixDQUFBO0FBQ0wsQ0FBQztBQUVELEtBQUssVUFBVSxVQUFVO0lBQ3JCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQU1yRSxDQUFBO0lBQ0QsT0FBTyxXQUFXLENBQUE7QUFDdEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHJlYWRkaXIsIHJlYWRGaWxlIH0gZnJvbSAnbm9kZTpmcy9wcm9taXNlcydcbmltcG9ydCB7IGJhc2VuYW1lLCBleHRuYW1lLCBqb2luLCByZXNvbHZlIH0gZnJvbSAnbm9kZTpwYXRoJ1xuaW1wb3J0IHsgcGF0aFRvRmlsZVVSTCB9IGZyb20gJ25vZGU6dXJsJ1xuaW1wb3J0IHsgSHR0cEhhbmRsZXJDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vaHR0cC5qcydcbmltcG9ydCB7IFBhY2thZ2VDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9yZWdpc3RyeS5qcydcblxudHlwZSBDUFUgPVxuICAgIHwgJ2FybSdcbiAgICB8ICdhcm02NCdcbiAgICB8ICdpYTMyJ1xuICAgIHwgJ21pcHMnXG4gICAgfCAnbWlwc2VsJ1xuICAgIHwgJ3BwYydcbiAgICB8ICdwcGM2NCdcbiAgICB8ICdzMzkwJ1xuICAgIHwgJ3MzOTB4J1xuICAgIHwgJ3gzMidcbiAgICB8ICd4NjQnXG50eXBlIENwdUNvbmZpZyA9IENQVSB8IGAhJHtDUFV9YFxudHlwZSBPU0NvbmZpZyA9IE5vZGVKUy5QbGF0Zm9ybSB8IGAhJHtOb2RlSlMuUGxhdGZvcm19YFxuXG5leHBvcnQgdHlwZSBQYWNrYWdlSnNvbkNvbmZpZ3VyYXRpb24gPSB7XG4gICAgbm9kZVZlcnNpb24/OiBzdHJpbmdcbiAgICBjcHVzPzogQ3B1Q29uZmlnW11cbiAgICBvcz86IE9TQ29uZmlnW11cbn1cblxuZXhwb3J0IHR5cGUgUmVmbGVjdGlvbiA9IHtcbiAgICBuYW1lOiBzdHJpbmdcbiAgICBodHRwOiB7XG4gICAgICAgIG5hbWU6IHN0cmluZ1xuICAgICAgICBtZXRob2Q6IHN0cmluZ1xuICAgICAgICBwYXRoUGF0dGVybjogc3RyaW5nXG4gICAgICAgIHBhdGhSZWdFeHA6IFJlZ0V4cFxuICAgICAgICBjb25maWc6IEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvbiAmIFBhY2thZ2VKc29uQ29uZmlndXJhdGlvblxuICAgIH1bXVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUNwdShjb25maWc6IFBhY2thZ2VKc29uQ29uZmlndXJhdGlvbiwgc3VwcG9ydGVkOiBDUFVbXSk6IENQVSB7XG4gICAgY29uc3QgcmVzb2x2ZWQgPSByZXNvbHZlU3VwcG9ydGVkKGNvbmZpZy5jcHVzLCBzdXBwb3J0ZWQpXG4gICAgaWYgKCFyZXNvbHZlZCkge1xuICAgICAgICAvLyByZXNvbHZlPFQ+KGNvbmZpZywgc3VwcG9ydGVkKSBhY3R1YWxseSBhc3NlcnRzIGNvbmZpZyBpcyAoVCB8IGAhJHtUfWApW10sIGJ1dCB0aGF0J3Mgbm90IHN1cHBvcnRlZCB5ZXQuXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgQ1BVczogJyArIGNvbmZpZy5jcHVzIS5qb2luKCcsICcpKVxuICAgIH1cbiAgICByZXR1cm4gcmVzb2x2ZWRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVPUyhcbiAgICBjb25maWc6IFBhY2thZ2VKc29uQ29uZmlndXJhdGlvbixcbiAgICBzdXBwb3J0ZWQ6IE5vZGVKUy5QbGF0Zm9ybVtdLFxuKTogTm9kZUpTLlBsYXRmb3JtIHtcbiAgICBjb25zdCByZXNvbHZlZCA9IHJlc29sdmVTdXBwb3J0ZWQoY29uZmlnLm9zLCBzdXBwb3J0ZWQpXG4gICAgaWYgKCFyZXNvbHZlZCkge1xuICAgICAgICAvLyByZXNvbHZlPFQ+KGNvbmZpZywgc3VwcG9ydGVkKSBhY3R1YWxseSBhc3NlcnRzIGNvbmZpZyBpcyAoVCB8IGAhJHtUfWApW10sIGJ1dCB0aGF0J3Mgbm90IHN1cHBvcnRlZCB5ZXQuXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgb3BlcmF0aW5nIHN5c3RlbXM6ICcgKyBjb25maWcub3MhLmpvaW4oJywgJykpXG4gICAgfVxuICAgIHJldHVybiByZXNvbHZlZFxufVxuXG5mdW5jdGlvbiByZXNvbHZlU3VwcG9ydGVkPFQgZXh0ZW5kcyBzdHJpbmc+KFxuICAgIGNvbmZpZzogKFQgfCBgISR7VH1gKVtdIHwgdW5kZWZpbmVkLFxuICAgIHN1cHBvcnRlZDogVFtdLFxuKTogVCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFjb25maWcpIHtcbiAgICAgICAgcmV0dXJuIHN1cHBvcnRlZFswXVxuICAgIH1cbiAgICByZXR1cm4gc3VwcG9ydGVkLmZpbmQocyA9PiBjb25maWcuaW5jbHVkZXMocykgJiYgIWNvbmZpZy5pbmNsdWRlcyhgISR7c31gKSlcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlZmxlY3QocGF0aDogc3RyaW5nKTogUHJvbWlzZTxSZWZsZWN0aW9uPiB7XG4gICAgY29uc3QgcGFja2FnZUpzb24gPSBhd2FpdCByZWFkQ29uZmlnKClcbiAgICBjb25zdCBhYnNvbHV0ZVBhdGggPSByZXNvbHZlKHByb2Nlc3MuY3dkKCksIHBhdGgpXG4gICAgY29uc3QgZmlsZXMgPSAoYXdhaXQgcmVhZGRpcihhYnNvbHV0ZVBhdGgpKS5maWx0ZXIoXG4gICAgICAgIGZpbGUgPT4gZXh0bmFtZShmaWxlKSA9PT0gJy50cycgJiYgIWZpbGUuZW5kc1dpdGgoJy5kLnRzJyksXG4gICAgKVxuICAgIGNvbnN0IHsgZ2V0SGFuZGxlcnMsIHNldE1ldGEgfSA9IChhd2FpdCBpbXBvcnQoXG4gICAgICAgIHBhdGhUb0ZpbGVVUkwoam9pbihhYnNvbHV0ZVBhdGgsICdub2RlX21vZHVsZXMvQHJpZGRhbmNlL2hvc3QvaG9zdC9yZWdpc3RyeS5qcycpKS50b1N0cmluZygpXG4gICAgKSkgYXMge1xuICAgICAgICBnZXRIYW5kbGVyczogKHR5cGU6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgbmFtZTogc3RyaW5nXG4gICAgICAgICAgICBtZXRhPzogeyBmaWxlTmFtZTogc3RyaW5nIH1cbiAgICAgICAgICAgIGNvbmZpZzogSHR0cEhhbmRsZXJDb25maWd1cmF0aW9uXG4gICAgICAgICAgICBtZXRob2Q6IHN0cmluZ1xuICAgICAgICAgICAgcGF0aFBhdHRlcm46IHN0cmluZ1xuICAgICAgICAgICAgcGF0aFJlZ0V4cDogUmVnRXhwXG4gICAgICAgIH1bXVxuICAgICAgICBzZXRNZXRhOiAoXG4gICAgICAgICAgICBwYWNrYWdlTmFtZTogc3RyaW5nLFxuICAgICAgICAgICAgZmlsZU5hbWU6IHN0cmluZyxcbiAgICAgICAgICAgIHJldjogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgICAgICAgICAgY2ZnOiBQYWNrYWdlQ29uZmlndXJhdGlvbiB8IHVuZGVmaW5lZCxcbiAgICAgICAgKSA9PiB2b2lkXG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKSB7XG4gICAgICAgIGNvbnN0IGJhc2UgPSBiYXNlbmFtZShmaWxlLCAnLnRzJylcbiAgICAgICAgc2V0TWV0YShwYWNrYWdlSnNvbi5uYW1lLCBiYXNlLCB1bmRlZmluZWQsIHBhY2thZ2VKc29uLmNvbmZpZylcbiAgICAgICAgYXdhaXQgaW1wb3J0KHBhdGhUb0ZpbGVVUkwoam9pbihhYnNvbHV0ZVBhdGgsIGJhc2UgKyAnLmpzJykpLnRvU3RyaW5nKCkpXG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZTogcGFja2FnZUpzb24ubmFtZSxcbiAgICAgICAgaHR0cDogZ2V0SGFuZGxlcnMoJ2h0dHAnKS5tYXAoaCA9PiAoe1xuICAgICAgICAgICAgY29uZmlnOiB7XG4gICAgICAgICAgICAgICAgLi4uaC5jb25maWcsXG4gICAgICAgICAgICAgICAgY3B1czogcGFja2FnZUpzb24uY3B1LFxuICAgICAgICAgICAgICAgIG9zOiBwYWNrYWdlSnNvbi5vcyxcbiAgICAgICAgICAgICAgICBub2RlVmVyc2lvbjogcGFja2FnZUpzb24uZW5naW5lcz8ubm9kZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBuYW1lOiBoLm1ldGE/LmZpbGVOYW1lID8/ICcnLFxuICAgICAgICAgICAgbWV0aG9kOiBoLm1ldGhvZCxcbiAgICAgICAgICAgIHBhdGhQYXR0ZXJuOiBoLnBhdGhQYXR0ZXJuLFxuICAgICAgICAgICAgcGF0aFJlZ0V4cDogaC5wYXRoUmVnRXhwLFxuICAgICAgICB9KSksXG4gICAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiByZWFkQ29uZmlnKCkge1xuICAgIGNvbnN0IHBhY2thZ2VKc29uID0gSlNPTi5wYXJzZShhd2FpdCByZWFkRmlsZSgncGFja2FnZS5qc29uJywgJ3V0Zi04JykpIGFzIHtcbiAgICAgICAgbmFtZTogc3RyaW5nXG4gICAgICAgIGVuZ2luZXM/OiB7IFtlbmdpbmU6IHN0cmluZ106IHN0cmluZyB9XG4gICAgICAgIGNwdT86IENwdUNvbmZpZ1tdXG4gICAgICAgIG9zPzogT1NDb25maWdbXVxuICAgICAgICBjb25maWc/OiBvYmplY3RcbiAgICB9XG4gICAgcmV0dXJuIHBhY2thZ2VKc29uXG59XG4iXX0=
1
+ import { readdir, readFile } from 'node:fs/promises';
2
+ import { basename, extname, join, resolve } from 'node:path';
3
+ import { pathToFileURL } from 'node:url';
4
+ export function resolveCpu(config, supported) {
5
+ const resolved = resolveSupported(config.cpus, supported);
6
+ if (!resolved) {
7
+ // resolve<T>(config, supported) actually asserts config is (T | `!${T}`)[], but that's not supported yet.
8
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
9
+ throw new Error('Unsupported CPUs: ' + config.cpus.join(', '));
10
+ }
11
+ return resolved;
12
+ }
13
+ export function resolveOS(config, supported) {
14
+ const resolved = resolveSupported(config.os, supported);
15
+ if (!resolved) {
16
+ // resolve<T>(config, supported) actually asserts config is (T | `!${T}`)[], but that's not supported yet.
17
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
18
+ throw new Error('Unsupported operating systems: ' + config.os.join(', '));
19
+ }
20
+ return resolved;
21
+ }
22
+ function resolveSupported(config, supported) {
23
+ if (!config) {
24
+ return supported[0];
25
+ }
26
+ return supported.find(s => config.includes(s) && !config.includes(`!${s}`));
27
+ }
28
+ export async function reflect(path) {
29
+ const packageJson = await readConfig();
30
+ const absolutePath = resolve(process.cwd(), path);
31
+ const files = (await readdir(absolutePath)).filter(file => extname(file) === '.ts' && !file.endsWith('.d.ts'));
32
+ const { getHandlers, setMeta } = (await import(pathToFileURL(join(absolutePath, 'node_modules/@riddance/host/host/registry.js')).toString()));
33
+ for (const file of files) {
34
+ const base = basename(file, '.ts');
35
+ setMeta(packageJson.name, base, undefined, packageJson.config);
36
+ await import(pathToFileURL(join(absolutePath, base + '.js')).toString());
37
+ }
38
+ return {
39
+ name: packageJson.name,
40
+ http: getHandlers('http').map(h => ({
41
+ config: {
42
+ ...h.config,
43
+ cpus: packageJson.cpu,
44
+ os: packageJson.os,
45
+ nodeVersion: packageJson.engines?.node,
46
+ },
47
+ name: h.meta?.fileName ?? '',
48
+ method: h.method,
49
+ pathPattern: h.pathPattern,
50
+ pathRegExp: h.pathRegExp,
51
+ })),
52
+ };
53
+ }
54
+ async function readConfig() {
55
+ const packageJson = JSON.parse(await readFile('package.json', 'utf-8'));
56
+ return packageJson;
57
+ }
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmbGVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInJlZmxlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUNwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBQzVELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFvQ3hDLE1BQU0sVUFBVSxVQUFVLENBQUMsTUFBZ0MsRUFBRSxTQUFnQjtJQUN6RSxNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFBO0lBQ3pELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNaLDBHQUEwRztRQUMxRyxvRUFBb0U7UUFDcEUsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsR0FBRyxNQUFNLENBQUMsSUFBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQ25FLENBQUM7SUFDRCxPQUFPLFFBQVEsQ0FBQTtBQUNuQixDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FDckIsTUFBZ0MsRUFDaEMsU0FBNEI7SUFFNUIsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUN2RCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDWiwwR0FBMEc7UUFDMUcsb0VBQW9FO1FBQ3BFLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLEdBQUcsTUFBTSxDQUFDLEVBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtJQUM5RSxDQUFDO0lBQ0QsT0FBTyxRQUFRLENBQUE7QUFDbkIsQ0FBQztBQUVELFNBQVMsZ0JBQWdCLENBQ3JCLE1BQW1DLEVBQ25DLFNBQWM7SUFFZCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDVixPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUN2QixDQUFDO0lBQ0QsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFDL0UsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsT0FBTyxDQUFDLElBQVk7SUFDdEMsTUFBTSxXQUFXLEdBQUcsTUFBTSxVQUFVLEVBQUUsQ0FBQTtJQUN0QyxNQUFNLFlBQVksR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ2pELE1BQU0sS0FBSyxHQUFHLENBQUMsTUFBTSxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQzlDLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQzdELENBQUE7SUFDRCxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsTUFBTSxNQUFNLENBQzFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLDhDQUE4QyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FDL0YsQ0FlQSxDQUFBO0lBRUQsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUN2QixNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQ2xDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQzlELE1BQU0sTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7SUFDNUUsQ0FBQztJQUVELE9BQU87UUFDSCxJQUFJLEVBQUUsV0FBVyxDQUFDLElBQUk7UUFDdEIsSUFBSSxFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2hDLE1BQU0sRUFBRTtnQkFDSixHQUFHLENBQUMsQ0FBQyxNQUFNO2dCQUNYLElBQUksRUFBRSxXQUFXLENBQUMsR0FBRztnQkFDckIsRUFBRSxFQUFFLFdBQVcsQ0FBQyxFQUFFO2dCQUNsQixXQUFXLEVBQUUsV0FBVyxDQUFDLE9BQU8sRUFBRSxJQUFJO2FBQ3pDO1lBQ0QsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxJQUFJLEVBQUU7WUFDNUIsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNO1lBQ2hCLFdBQVcsRUFBRSxDQUFDLENBQUMsV0FBVztZQUMxQixVQUFVLEVBQUUsQ0FBQyxDQUFDLFVBQVU7U0FDM0IsQ0FBQyxDQUFDO0tBQ04sQ0FBQTtBQUNMLENBQUM7QUFFRCxLQUFLLFVBQVUsVUFBVTtJQUNyQixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FNckUsQ0FBQTtJQUNELE9BQU8sV0FBVyxDQUFBO0FBQ3RCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZWFkZGlyLCByZWFkRmlsZSB9IGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnXG5pbXBvcnQgeyBiYXNlbmFtZSwgZXh0bmFtZSwgam9pbiwgcmVzb2x2ZSB9IGZyb20gJ25vZGU6cGF0aCdcbmltcG9ydCB7IHBhdGhUb0ZpbGVVUkwgfSBmcm9tICdub2RlOnVybCdcbmltcG9ydCB7IEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL2h0dHAuanMnXG5pbXBvcnQgeyBQYWNrYWdlQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vcmVnaXN0cnkuanMnXG5cbnR5cGUgQ1BVID1cbiAgICB8ICdhcm0nXG4gICAgfCAnYXJtNjQnXG4gICAgfCAnaWEzMidcbiAgICB8ICdtaXBzJ1xuICAgIHwgJ21pcHNlbCdcbiAgICB8ICdwcGMnXG4gICAgfCAncHBjNjQnXG4gICAgfCAnczM5MCdcbiAgICB8ICdzMzkweCdcbiAgICB8ICd4MzInXG4gICAgfCAneDY0J1xudHlwZSBDcHVDb25maWcgPSBDUFUgfCBgISR7Q1BVfWBcbnR5cGUgT1NDb25maWcgPSBOb2RlSlMuUGxhdGZvcm0gfCBgISR7Tm9kZUpTLlBsYXRmb3JtfWBcblxuZXhwb3J0IHR5cGUgUGFja2FnZUpzb25Db25maWd1cmF0aW9uID0ge1xuICAgIG5vZGVWZXJzaW9uPzogc3RyaW5nXG4gICAgY3B1cz86IENwdUNvbmZpZ1tdXG4gICAgb3M/OiBPU0NvbmZpZ1tdXG59XG5cbmV4cG9ydCB0eXBlIFJlZmxlY3Rpb24gPSB7XG4gICAgbmFtZTogc3RyaW5nXG4gICAgaHR0cDoge1xuICAgICAgICBuYW1lOiBzdHJpbmdcbiAgICAgICAgbWV0aG9kOiBzdHJpbmdcbiAgICAgICAgcGF0aFBhdHRlcm46IHN0cmluZ1xuICAgICAgICBwYXRoUmVnRXhwOiBSZWdFeHBcbiAgICAgICAgY29uZmlnOiBIdHRwSGFuZGxlckNvbmZpZ3VyYXRpb24gJiBQYWNrYWdlSnNvbkNvbmZpZ3VyYXRpb25cbiAgICB9W11cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVDcHUoY29uZmlnOiBQYWNrYWdlSnNvbkNvbmZpZ3VyYXRpb24sIHN1cHBvcnRlZDogQ1BVW10pOiBDUFUge1xuICAgIGNvbnN0IHJlc29sdmVkID0gcmVzb2x2ZVN1cHBvcnRlZChjb25maWcuY3B1cywgc3VwcG9ydGVkKVxuICAgIGlmICghcmVzb2x2ZWQpIHtcbiAgICAgICAgLy8gcmVzb2x2ZTxUPihjb25maWcsIHN1cHBvcnRlZCkgYWN0dWFsbHkgYXNzZXJ0cyBjb25maWcgaXMgKFQgfCBgISR7VH1gKVtdLCBidXQgdGhhdCdzIG5vdCBzdXBwb3J0ZWQgeWV0LlxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIENQVXM6ICcgKyBjb25maWcuY3B1cyEuam9pbignLCAnKSlcbiAgICB9XG4gICAgcmV0dXJuIHJlc29sdmVkXG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlT1MoXG4gICAgY29uZmlnOiBQYWNrYWdlSnNvbkNvbmZpZ3VyYXRpb24sXG4gICAgc3VwcG9ydGVkOiBOb2RlSlMuUGxhdGZvcm1bXSxcbik6IE5vZGVKUy5QbGF0Zm9ybSB7XG4gICAgY29uc3QgcmVzb2x2ZWQgPSByZXNvbHZlU3VwcG9ydGVkKGNvbmZpZy5vcywgc3VwcG9ydGVkKVxuICAgIGlmICghcmVzb2x2ZWQpIHtcbiAgICAgICAgLy8gcmVzb2x2ZTxUPihjb25maWcsIHN1cHBvcnRlZCkgYWN0dWFsbHkgYXNzZXJ0cyBjb25maWcgaXMgKFQgfCBgISR7VH1gKVtdLCBidXQgdGhhdCdzIG5vdCBzdXBwb3J0ZWQgeWV0LlxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIG9wZXJhdGluZyBzeXN0ZW1zOiAnICsgY29uZmlnLm9zIS5qb2luKCcsICcpKVxuICAgIH1cbiAgICByZXR1cm4gcmVzb2x2ZWRcbn1cblxuZnVuY3Rpb24gcmVzb2x2ZVN1cHBvcnRlZDxUIGV4dGVuZHMgc3RyaW5nPihcbiAgICBjb25maWc6IChUIHwgYCEke1R9YClbXSB8IHVuZGVmaW5lZCxcbiAgICBzdXBwb3J0ZWQ6IFRbXSxcbik6IFQgfCB1bmRlZmluZWQge1xuICAgIGlmICghY29uZmlnKSB7XG4gICAgICAgIHJldHVybiBzdXBwb3J0ZWRbMF1cbiAgICB9XG4gICAgcmV0dXJuIHN1cHBvcnRlZC5maW5kKHMgPT4gY29uZmlnLmluY2x1ZGVzKHMpICYmICFjb25maWcuaW5jbHVkZXMoYCEke3N9YCkpXG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWZsZWN0KHBhdGg6IHN0cmluZyk6IFByb21pc2U8UmVmbGVjdGlvbj4ge1xuICAgIGNvbnN0IHBhY2thZ2VKc29uID0gYXdhaXQgcmVhZENvbmZpZygpXG4gICAgY29uc3QgYWJzb2x1dGVQYXRoID0gcmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBwYXRoKVxuICAgIGNvbnN0IGZpbGVzID0gKGF3YWl0IHJlYWRkaXIoYWJzb2x1dGVQYXRoKSkuZmlsdGVyKFxuICAgICAgICBmaWxlID0+IGV4dG5hbWUoZmlsZSkgPT09ICcudHMnICYmICFmaWxlLmVuZHNXaXRoKCcuZC50cycpLFxuICAgIClcbiAgICBjb25zdCB7IGdldEhhbmRsZXJzLCBzZXRNZXRhIH0gPSAoYXdhaXQgaW1wb3J0KFxuICAgICAgICBwYXRoVG9GaWxlVVJMKGpvaW4oYWJzb2x1dGVQYXRoLCAnbm9kZV9tb2R1bGVzL0ByaWRkYW5jZS9ob3N0L2hvc3QvcmVnaXN0cnkuanMnKSkudG9TdHJpbmcoKVxuICAgICkpIGFzIHtcbiAgICAgICAgZ2V0SGFuZGxlcnM6ICh0eXBlOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIG5hbWU6IHN0cmluZ1xuICAgICAgICAgICAgbWV0YT86IHsgZmlsZU5hbWU6IHN0cmluZyB9XG4gICAgICAgICAgICBjb25maWc6IEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvblxuICAgICAgICAgICAgbWV0aG9kOiBzdHJpbmdcbiAgICAgICAgICAgIHBhdGhQYXR0ZXJuOiBzdHJpbmdcbiAgICAgICAgICAgIHBhdGhSZWdFeHA6IFJlZ0V4cFxuICAgICAgICB9W11cbiAgICAgICAgc2V0TWV0YTogKFxuICAgICAgICAgICAgcGFja2FnZU5hbWU6IHN0cmluZyxcbiAgICAgICAgICAgIGZpbGVOYW1lOiBzdHJpbmcsXG4gICAgICAgICAgICByZXY6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIGNmZzogUGFja2FnZUNvbmZpZ3VyYXRpb24gfCB1bmRlZmluZWQsXG4gICAgICAgICkgPT4gdm9pZFxuICAgIH1cblxuICAgIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xuICAgICAgICBjb25zdCBiYXNlID0gYmFzZW5hbWUoZmlsZSwgJy50cycpXG4gICAgICAgIHNldE1ldGEocGFja2FnZUpzb24ubmFtZSwgYmFzZSwgdW5kZWZpbmVkLCBwYWNrYWdlSnNvbi5jb25maWcpXG4gICAgICAgIGF3YWl0IGltcG9ydChwYXRoVG9GaWxlVVJMKGpvaW4oYWJzb2x1dGVQYXRoLCBiYXNlICsgJy5qcycpKS50b1N0cmluZygpKVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAgIG5hbWU6IHBhY2thZ2VKc29uLm5hbWUsXG4gICAgICAgIGh0dHA6IGdldEhhbmRsZXJzKCdodHRwJykubWFwKGggPT4gKHtcbiAgICAgICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgICAgICAgIC4uLmguY29uZmlnLFxuICAgICAgICAgICAgICAgIGNwdXM6IHBhY2thZ2VKc29uLmNwdSxcbiAgICAgICAgICAgICAgICBvczogcGFja2FnZUpzb24ub3MsXG4gICAgICAgICAgICAgICAgbm9kZVZlcnNpb246IHBhY2thZ2VKc29uLmVuZ2luZXM/Lm5vZGUsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbmFtZTogaC5tZXRhPy5maWxlTmFtZSA/PyAnJyxcbiAgICAgICAgICAgIG1ldGhvZDogaC5tZXRob2QsXG4gICAgICAgICAgICBwYXRoUGF0dGVybjogaC5wYXRoUGF0dGVybixcbiAgICAgICAgICAgIHBhdGhSZWdFeHA6IGgucGF0aFJlZ0V4cCxcbiAgICAgICAgfSkpLFxuICAgIH1cbn1cblxuYXN5bmMgZnVuY3Rpb24gcmVhZENvbmZpZygpIHtcbiAgICBjb25zdCBwYWNrYWdlSnNvbiA9IEpTT04ucGFyc2UoYXdhaXQgcmVhZEZpbGUoJ3BhY2thZ2UuanNvbicsICd1dGYtOCcpKSBhcyB7XG4gICAgICAgIG5hbWU6IHN0cmluZ1xuICAgICAgICBlbmdpbmVzPzogeyBbZW5naW5lOiBzdHJpbmddOiBzdHJpbmcgfVxuICAgICAgICBjcHU/OiBDcHVDb25maWdbXVxuICAgICAgICBvcz86IE9TQ29uZmlnW11cbiAgICAgICAgY29uZmlnPzogb2JqZWN0XG4gICAgfVxuICAgIHJldHVybiBwYWNrYWdlSnNvblxufVxuIl19
@@ -1,26 +1,27 @@
1
- import { HandlerConfiguration } from '../context.js';
2
- import { Handler } from '../http.js';
3
- export type HttpHandler = {
4
- meta: Metadata | undefined;
5
- config: (PackageConfiguration & HandlerConfiguration) | undefined;
6
- method: Method;
7
- pathPattern: string;
8
- pathRegExp: RegExp;
9
- entry: Handler;
10
- };
11
- type HandlerTypes = {
12
- http: HttpHandler;
13
- };
14
- export declare function getHandlers(type: keyof HandlerTypes): HttpHandler[];
15
- export declare function getHandler(type: keyof HandlerTypes): HttpHandler;
16
- export declare function setMeta(packageName: string, fileName: string, revision: string | undefined, config: PackageConfiguration | undefined): void;
17
- export type PackageConfiguration = HandlerConfiguration & {};
18
- export type Metadata = {
19
- packageName: string;
20
- fileName: string;
21
- revision: string | undefined;
22
- config?: PackageConfiguration;
23
- };
24
- export type Method = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
25
- export declare function registerHttpHandler(method: Method, path: string, configOrHandler: HandlerConfiguration | Handler, fn?: Handler): void;
26
- export {};
1
+ import { HandlerConfiguration } from '../context.js';
2
+ import { Handler } from '../http.js';
3
+ export type HttpHandler = {
4
+ meta: Metadata | undefined;
5
+ config: FullConfiguration | undefined;
6
+ method: Method;
7
+ pathPattern: string;
8
+ pathRegExp: RegExp;
9
+ entry: Handler;
10
+ };
11
+ type HandlerTypes = {
12
+ http: HttpHandler;
13
+ };
14
+ export declare function getHandlers(type: keyof HandlerTypes): HttpHandler[];
15
+ export declare function getHandler(type: keyof HandlerTypes): HttpHandler;
16
+ export declare function setMeta(packageName: string, fileName: string, revision: string | undefined, config: PackageConfiguration | undefined): void;
17
+ export type PackageConfiguration = HandlerConfiguration & {};
18
+ export type FullConfiguration = PackageConfiguration & HandlerConfiguration;
19
+ export type Metadata = {
20
+ packageName: string;
21
+ fileName: string;
22
+ revision: string | undefined;
23
+ config?: PackageConfiguration;
24
+ };
25
+ export type Method = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
26
+ export declare function registerHttpHandler(method: Method, path: string, configOrHandler: HandlerConfiguration | Handler, fn?: Handler): void;
27
+ export {};
package/host/registry.js CHANGED
@@ -1,72 +1,73 @@
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
- export function getHandler(type) {
10
- const hs = getHandlers(type);
11
- const [handler] = hs;
12
- if (!handler) {
13
- throw new Error(`No ${type} handler registered.`);
14
- }
15
- if (hs.length !== 1) {
16
- throw new Error(`Multiple ${type} handlers registered.`);
17
- }
18
- return handler;
19
- }
20
- let httpHostRegistry;
21
- function setHttpHost(host) {
22
- httpHostRegistry = host;
23
- }
24
- let metadata;
25
- export function setMeta(packageName, fileName, revision, config) {
26
- metadata = {
27
- packageName,
28
- fileName,
29
- revision,
30
- config,
31
- };
32
- }
33
- function getMetadata() {
34
- return metadata;
35
- }
36
- function pathToRegExp(path) {
37
- return new RegExp(('^' +
38
- path.replace(/[/\\^$+?.()|[\]{}]/gu, '\\$&').replaceAll('*', '[^/\\?]+') +
39
- '(\\?.*)?$').replace('[^/\\?]+[^/\\?]+(\\?.*)?$', ''), 'u');
40
- }
41
- function combineConfig(base, override) {
42
- if (base === undefined) {
43
- return override;
44
- }
45
- else if (override === undefined) {
46
- return base;
47
- }
48
- return { ...base, ...override };
49
- }
50
- function httpHost(meta, cfg, method, path, entry) {
51
- addHandler('http', {
52
- meta,
53
- config: combineConfig(meta?.config, cfg),
54
- method,
55
- pathPattern: path,
56
- pathRegExp: pathToRegExp(path),
57
- entry,
58
- });
59
- }
60
- setHttpHost(httpHost);
61
- export function registerHttpHandler(method, path, configOrHandler, fn) {
62
- if (typeof configOrHandler === 'function') {
63
- httpHostRegistry(getMetadata(), undefined, method, path, configOrHandler);
64
- }
65
- else {
66
- if (!fn) {
67
- throw new Error('Please provide a handler function.');
68
- }
69
- httpHostRegistry(getMetadata(), configOrHandler, method, path, fn);
70
- }
71
- }
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJyZWdpc3RyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQkEsTUFBTSxRQUFRLEdBQWlDLEVBQUUsQ0FBQTtBQUVqRCxTQUFTLFVBQVUsQ0FBQyxJQUF3QixFQUFFLE9BQW9CO0lBQzlELENBQUM7SUFBQSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7QUFDMUMsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsSUFBd0I7SUFDaEQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQWtCLENBQUE7QUFDbEQsQ0FBQztBQUVELE1BQU0sVUFBVSxVQUFVLENBQUMsSUFBd0I7SUFDL0MsTUFBTSxFQUFFLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzVCLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUE7SUFDcEIsSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLHNCQUFzQixDQUFDLENBQUE7S0FDcEQ7SUFDRCxJQUFJLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQ2pCLE1BQU0sSUFBSSxLQUFLLENBQUMsWUFBWSxJQUFJLHVCQUF1QixDQUFDLENBQUE7S0FDM0Q7SUFDRCxPQUFPLE9BQU8sQ0FBQTtBQUNsQixDQUFDO0FBVUQsSUFBSSxnQkFBMEIsQ0FBQTtBQUU5QixTQUFTLFdBQVcsQ0FBQyxJQUFjO0lBQy9CLGdCQUFnQixHQUFHLElBQUksQ0FBQTtBQUMzQixDQUFDO0FBRUQsSUFBSSxRQUE4QixDQUFBO0FBRWxDLE1BQU0sVUFBVSxPQUFPLENBQ25CLFdBQW1CLEVBQ25CLFFBQWdCLEVBQ2hCLFFBQTRCLEVBQzVCLE1BQXdDO0lBRXhDLFFBQVEsR0FBRztRQUNQLFdBQVc7UUFDWCxRQUFRO1FBQ1IsUUFBUTtRQUNSLE1BQU07S0FDVCxDQUFBO0FBQ0wsQ0FBQztBQWNELFNBQVMsV0FBVztJQUNoQixPQUFPLFFBQVEsQ0FBQTtBQUNuQixDQUFDO0FBRUQsU0FBUyxZQUFZLENBQUMsSUFBWTtJQUM5QixPQUFPLElBQUksTUFBTSxDQUNiLENBQ0ksR0FBRztRQUNILElBQUksQ0FBQyxPQUFPLENBQUMsc0JBQXNCLEVBQUUsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUM7UUFDeEUsV0FBVyxDQUNkLENBQUMsT0FBTyxDQUFDLDJCQUEyQixFQUFFLEVBQUUsQ0FBQyxFQUMxQyxHQUFHLENBQ04sQ0FBQTtBQUNMLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FDbEIsSUFBc0MsRUFDdEMsUUFBMEM7SUFFMUMsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFO1FBQ3BCLE9BQU8sUUFBUSxDQUFBO0tBQ2xCO1NBQU0sSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFO1FBQy9CLE9BQU8sSUFBSSxDQUFBO0tBQ2Q7SUFDRCxPQUFPLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxRQUFRLEVBQUUsQ0FBQTtBQUNuQyxDQUFDO0FBRUQsU0FBUyxRQUFRLENBQ2IsSUFBMEIsRUFDMUIsR0FBcUMsRUFDckMsTUFBYyxFQUNkLElBQVksRUFDWixLQUFjO0lBRWQsVUFBVSxDQUFDLE1BQU0sRUFBRTtRQUNmLElBQUk7UUFDSixNQUFNLEVBQUUsYUFBYSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO1FBQ3hDLE1BQU07UUFDTixXQUFXLEVBQUUsSUFBSTtRQUNqQixVQUFVLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQztRQUM5QixLQUFLO0tBQ1IsQ0FBQyxDQUFBO0FBQ04sQ0FBQztBQUVELFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQTtBQUlyQixNQUFNLFVBQVUsbUJBQW1CLENBQy9CLE1BQWMsRUFDZCxJQUFZLEVBQ1osZUFBK0MsRUFDL0MsRUFBWTtJQUVaLElBQUksT0FBTyxlQUFlLEtBQUssVUFBVSxFQUFFO1FBQ3ZDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFBO0tBQzVFO1NBQU07UUFDSCxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFBO1NBQ3hEO1FBQ0QsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUE7S0FDckU7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGFuZGxlckNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9jb250ZXh0LmpzJ1xuaW1wb3J0IHsgSGFuZGxlciB9IGZyb20gJy4uL2h0dHAuanMnXG5cbmV4cG9ydCB0eXBlIEh0dHBIYW5kbGVyID0ge1xuICAgIG1ldGE6IE1ldGFkYXRhIHwgdW5kZWZpbmVkXG4gICAgY29uZmlnOiAoUGFja2FnZUNvbmZpZ3VyYXRpb24gJiBIYW5kbGVyQ29uZmlndXJhdGlvbikgfCB1bmRlZmluZWRcbiAgICBtZXRob2Q6IE1ldGhvZFxuICAgIHBhdGhQYXR0ZXJuOiBzdHJpbmdcbiAgICBwYXRoUmVnRXhwOiBSZWdFeHBcbiAgICBlbnRyeTogSGFuZGxlclxufVxuXG50eXBlIEhhbmRsZXJUeXBlcyA9IHtcbiAgICBodHRwOiBIdHRwSGFuZGxlclxufVxuXG5jb25zdCBoYW5kbGVyczogeyBba2V5OiBzdHJpbmddOiB1bmtub3duW10gfSA9IHt9XG5cbmZ1bmN0aW9uIGFkZEhhbmRsZXIodHlwZToga2V5b2YgSGFuZGxlclR5cGVzLCBoYW5kbGVyOiBIdHRwSGFuZGxlcikge1xuICAgIDsoaGFuZGxlcnNbdHlwZV0gPz89IFtdKS5wdXNoKGhhbmRsZXIpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIYW5kbGVycyh0eXBlOiBrZXlvZiBIYW5kbGVyVHlwZXMpIHtcbiAgICByZXR1cm4gKGhhbmRsZXJzW3R5cGVdID8/IFtdKSBhcyBIdHRwSGFuZGxlcltdXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIYW5kbGVyKHR5cGU6IGtleW9mIEhhbmRsZXJUeXBlcykge1xuICAgIGNvbnN0IGhzID0gZ2V0SGFuZGxlcnModHlwZSlcbiAgICBjb25zdCBbaGFuZGxlcl0gPSBoc1xuICAgIGlmICghaGFuZGxlcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vICR7dHlwZX0gaGFuZGxlciByZWdpc3RlcmVkLmApXG4gICAgfVxuICAgIGlmIChocy5sZW5ndGggIT09IDEpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBNdWx0aXBsZSAke3R5cGV9IGhhbmRsZXJzIHJlZ2lzdGVyZWQuYClcbiAgICB9XG4gICAgcmV0dXJuIGhhbmRsZXJcbn1cblxudHlwZSBIdHRwSG9zdCA9IChcbiAgICBtZXRhOiBNZXRhZGF0YSB8IHVuZGVmaW5lZCxcbiAgICBjb25maWc6IEhhbmRsZXJDb25maWd1cmF0aW9uIHwgdW5kZWZpbmVkLFxuICAgIG1ldGhvZDogTWV0aG9kLFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBoYW5kbGVyOiBIYW5kbGVyLFxuKSA9PiB2b2lkXG5cbmxldCBodHRwSG9zdFJlZ2lzdHJ5OiBIdHRwSG9zdFxuXG5mdW5jdGlvbiBzZXRIdHRwSG9zdChob3N0OiBIdHRwSG9zdCkge1xuICAgIGh0dHBIb3N0UmVnaXN0cnkgPSBob3N0XG59XG5cbmxldCBtZXRhZGF0YTogTWV0YWRhdGEgfCB1bmRlZmluZWRcblxuZXhwb3J0IGZ1bmN0aW9uIHNldE1ldGEoXG4gICAgcGFja2FnZU5hbWU6IHN0cmluZyxcbiAgICBmaWxlTmFtZTogc3RyaW5nLFxuICAgIHJldmlzaW9uOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgY29uZmlnOiBQYWNrYWdlQ29uZmlndXJhdGlvbiB8IHVuZGVmaW5lZCxcbikge1xuICAgIG1ldGFkYXRhID0ge1xuICAgICAgICBwYWNrYWdlTmFtZSxcbiAgICAgICAgZmlsZU5hbWUsXG4gICAgICAgIHJldmlzaW9uLFxuICAgICAgICBjb25maWcsXG4gICAgfVxufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZVxuZXhwb3J0IHR5cGUgUGFja2FnZUNvbmZpZ3VyYXRpb24gPSBIYW5kbGVyQ29uZmlndXJhdGlvbiAmIHtcbiAgICAvLyBQbGFjZWhvbGRlciBmb3IgcGFja2FnZS1sZXZlbCBjb25maWd1cmF0aW9uc1xufVxuXG5leHBvcnQgdHlwZSBNZXRhZGF0YSA9IHtcbiAgICBwYWNrYWdlTmFtZTogc3RyaW5nXG4gICAgZmlsZU5hbWU6IHN0cmluZ1xuICAgIHJldmlzaW9uOiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgICBjb25maWc/OiBQYWNrYWdlQ29uZmlndXJhdGlvblxufVxuXG5mdW5jdGlvbiBnZXRNZXRhZGF0YSgpIHtcbiAgICByZXR1cm4gbWV0YWRhdGFcbn1cblxuZnVuY3Rpb24gcGF0aFRvUmVnRXhwKHBhdGg6IHN0cmluZykge1xuICAgIHJldHVybiBuZXcgUmVnRXhwKFxuICAgICAgICAoXG4gICAgICAgICAgICAnXicgK1xuICAgICAgICAgICAgcGF0aC5yZXBsYWNlKC9bL1xcXFxeJCs/LigpfFtcXF17fV0vZ3UsICdcXFxcJCYnKS5yZXBsYWNlQWxsKCcqJywgJ1teL1xcXFw/XSsnKSArXG4gICAgICAgICAgICAnKFxcXFw/LiopPyQnXG4gICAgICAgICkucmVwbGFjZSgnW14vXFxcXD9dK1teL1xcXFw/XSsoXFxcXD8uKik/JCcsICcnKSxcbiAgICAgICAgJ3UnLFxuICAgIClcbn1cblxuZnVuY3Rpb24gY29tYmluZUNvbmZpZyhcbiAgICBiYXNlOiBQYWNrYWdlQ29uZmlndXJhdGlvbiB8IHVuZGVmaW5lZCxcbiAgICBvdmVycmlkZTogSGFuZGxlckNvbmZpZ3VyYXRpb24gfCB1bmRlZmluZWQsXG4pOiAoUGFja2FnZUNvbmZpZ3VyYXRpb24gJiBIYW5kbGVyQ29uZmlndXJhdGlvbikgfCB1bmRlZmluZWQge1xuICAgIGlmIChiYXNlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIG92ZXJyaWRlXG4gICAgfSBlbHNlIGlmIChvdmVycmlkZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiBiYXNlXG4gICAgfVxuICAgIHJldHVybiB7IC4uLmJhc2UsIC4uLm92ZXJyaWRlIH1cbn1cblxuZnVuY3Rpb24gaHR0cEhvc3QoXG4gICAgbWV0YTogTWV0YWRhdGEgfCB1bmRlZmluZWQsXG4gICAgY2ZnOiBIYW5kbGVyQ29uZmlndXJhdGlvbiB8IHVuZGVmaW5lZCxcbiAgICBtZXRob2Q6IE1ldGhvZCxcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgZW50cnk6IEhhbmRsZXIsXG4pIHtcbiAgICBhZGRIYW5kbGVyKCdodHRwJywge1xuICAgICAgICBtZXRhLFxuICAgICAgICBjb25maWc6IGNvbWJpbmVDb25maWcobWV0YT8uY29uZmlnLCBjZmcpLFxuICAgICAgICBtZXRob2QsXG4gICAgICAgIHBhdGhQYXR0ZXJuOiBwYXRoLFxuICAgICAgICBwYXRoUmVnRXhwOiBwYXRoVG9SZWdFeHAocGF0aCksXG4gICAgICAgIGVudHJ5LFxuICAgIH0pXG59XG5cbnNldEh0dHBIb3N0KGh0dHBIb3N0KVxuXG5leHBvcnQgdHlwZSBNZXRob2QgPSAnR0VUJyB8ICdQT1NUJyB8ICdQVVQnIHwgJ1BBVENIJyB8ICdERUxFVEUnXG5cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3Rlckh0dHBIYW5kbGVyKFxuICAgIG1ldGhvZDogTWV0aG9kLFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBjb25maWdPckhhbmRsZXI6IEhhbmRsZXJDb25maWd1cmF0aW9uIHwgSGFuZGxlcixcbiAgICBmbj86IEhhbmRsZXIsXG4pOiB2b2lkIHtcbiAgICBpZiAodHlwZW9mIGNvbmZpZ09ySGFuZGxlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBodHRwSG9zdFJlZ2lzdHJ5KGdldE1ldGFkYXRhKCksIHVuZGVmaW5lZCwgbWV0aG9kLCBwYXRoLCBjb25maWdPckhhbmRsZXIpXG4gICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKCFmbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdQbGVhc2UgcHJvdmlkZSBhIGhhbmRsZXIgZnVuY3Rpb24uJylcbiAgICAgICAgfVxuICAgICAgICBodHRwSG9zdFJlZ2lzdHJ5KGdldE1ldGFkYXRhKCksIGNvbmZpZ09ySGFuZGxlciwgbWV0aG9kLCBwYXRoLCBmbilcbiAgICB9XG59XG4iXX0=
1
+ const handlers = {};
2
+ function addHandler(type, handler) {
3
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
4
+ ;
5
+ (handlers[type] ??= []).push(handler);
6
+ }
7
+ export function getHandlers(type) {
8
+ return (handlers[type] ?? []);
9
+ }
10
+ export function getHandler(type) {
11
+ const hs = getHandlers(type);
12
+ const [handler] = hs;
13
+ if (!handler) {
14
+ throw new Error(`No ${type} handler registered.`);
15
+ }
16
+ if (hs.length !== 1) {
17
+ throw new Error(`Multiple ${type} handlers registered.`);
18
+ }
19
+ return handler;
20
+ }
21
+ let httpHostRegistry;
22
+ function setHttpHost(host) {
23
+ httpHostRegistry = host;
24
+ }
25
+ let metadata;
26
+ export function setMeta(packageName, fileName, revision, config) {
27
+ metadata = {
28
+ packageName,
29
+ fileName,
30
+ revision,
31
+ config,
32
+ };
33
+ }
34
+ function getMetadata() {
35
+ return metadata;
36
+ }
37
+ function pathToRegExp(path) {
38
+ return new RegExp(('^' +
39
+ path.replace(/[/\\^$+?.()|[\]{}]/gu, '\\$&').replaceAll('*', '[^/\\?]+') +
40
+ '(\\?.*)?$').replace('[^/\\?]+[^/\\?]+(\\?.*)?$', ''), 'u');
41
+ }
42
+ function combineConfig(base, override) {
43
+ if (base === undefined) {
44
+ return override;
45
+ }
46
+ else if (override === undefined) {
47
+ return base;
48
+ }
49
+ return { ...base, ...override };
50
+ }
51
+ function httpHost(meta, cfg, method, path, entry) {
52
+ addHandler('http', {
53
+ meta,
54
+ config: combineConfig(meta?.config, cfg),
55
+ method,
56
+ pathPattern: path,
57
+ pathRegExp: pathToRegExp(path),
58
+ entry,
59
+ });
60
+ }
61
+ setHttpHost(httpHost);
62
+ export function registerHttpHandler(method, path, configOrHandler, fn) {
63
+ if (typeof configOrHandler === 'function') {
64
+ httpHostRegistry(getMetadata(), undefined, method, path, configOrHandler);
65
+ }
66
+ else {
67
+ if (!fn) {
68
+ throw new Error('Please provide a handler function.');
69
+ }
70
+ httpHostRegistry(getMetadata(), configOrHandler, method, path, fn);
71
+ }
72
+ }
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJyZWdpc3RyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQkEsTUFBTSxRQUFRLEdBQWlDLEVBQUUsQ0FBQTtBQUVqRCxTQUFTLFVBQVUsQ0FBQyxJQUF3QixFQUFFLE9BQW9CO0lBQzlELHVFQUF1RTtJQUN2RSxDQUFDO0lBQUEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0FBQzFDLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLElBQXdCO0lBQ2hELE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFrQixDQUFBO0FBQ2xELENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLElBQXdCO0lBQy9DLE1BQU0sRUFBRSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUM1QixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFBO0lBQ3BCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLHNCQUFzQixDQUFDLENBQUE7SUFDckQsQ0FBQztJQUNELElBQUksRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNsQixNQUFNLElBQUksS0FBSyxDQUFDLFlBQVksSUFBSSx1QkFBdUIsQ0FBQyxDQUFBO0lBQzVELENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQTtBQUNsQixDQUFDO0FBVUQsSUFBSSxnQkFBMEIsQ0FBQTtBQUU5QixTQUFTLFdBQVcsQ0FBQyxJQUFjO0lBQy9CLGdCQUFnQixHQUFHLElBQUksQ0FBQTtBQUMzQixDQUFDO0FBRUQsSUFBSSxRQUE4QixDQUFBO0FBRWxDLE1BQU0sVUFBVSxPQUFPLENBQ25CLFdBQW1CLEVBQ25CLFFBQWdCLEVBQ2hCLFFBQTRCLEVBQzVCLE1BQXdDO0lBRXhDLFFBQVEsR0FBRztRQUNQLFdBQVc7UUFDWCxRQUFRO1FBQ1IsUUFBUTtRQUNSLE1BQU07S0FDVCxDQUFBO0FBQ0wsQ0FBQztBQWlCRCxTQUFTLFdBQVc7SUFDaEIsT0FBTyxRQUFRLENBQUE7QUFDbkIsQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFDLElBQVk7SUFDOUIsT0FBTyxJQUFJLE1BQU0sQ0FDYixDQUNJLEdBQUc7UUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLHNCQUFzQixFQUFFLE1BQU0sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDO1FBQ3hFLFdBQVcsQ0FDZCxDQUFDLE9BQU8sQ0FBQywyQkFBMkIsRUFBRSxFQUFFLENBQUMsRUFDMUMsR0FBRyxDQUNOLENBQUE7QUFDTCxDQUFDO0FBRUQsU0FBUyxhQUFhLENBQ2xCLElBQXNDLEVBQ3RDLFFBQTBDO0lBRzFDLElBQUksSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ3JCLE9BQU8sUUFBUSxDQUFBO0lBQ25CLENBQUM7U0FBTSxJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUNoQyxPQUFPLElBQUksQ0FBQTtJQUNmLENBQUM7SUFDRCxPQUFPLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxRQUFRLEVBQUUsQ0FBQTtBQUNuQyxDQUFDO0FBRUQsU0FBUyxRQUFRLENBQ2IsSUFBMEIsRUFDMUIsR0FBcUMsRUFDckMsTUFBYyxFQUNkLElBQVksRUFDWixLQUFjO0lBRWQsVUFBVSxDQUFDLE1BQU0sRUFBRTtRQUNmLElBQUk7UUFDSixNQUFNLEVBQUUsYUFBYSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDO1FBQ3hDLE1BQU07UUFDTixXQUFXLEVBQUUsSUFBSTtRQUNqQixVQUFVLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQztRQUM5QixLQUFLO0tBQ1IsQ0FBQyxDQUFBO0FBQ04sQ0FBQztBQUVELFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQTtBQUlyQixNQUFNLFVBQVUsbUJBQW1CLENBQy9CLE1BQWMsRUFDZCxJQUFZLEVBQ1osZUFBK0MsRUFDL0MsRUFBWTtJQUVaLElBQUksT0FBTyxlQUFlLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDeEMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsZUFBZSxDQUFDLENBQUE7SUFDN0UsQ0FBQztTQUFNLENBQUM7UUFDSixJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDTixNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUE7UUFDekQsQ0FBQztRQUNELGdCQUFnQixDQUFDLFdBQVcsRUFBRSxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0lBQ3RFLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGFuZGxlckNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9jb250ZXh0LmpzJ1xuaW1wb3J0IHsgSGFuZGxlciB9IGZyb20gJy4uL2h0dHAuanMnXG5cbmV4cG9ydCB0eXBlIEh0dHBIYW5kbGVyID0ge1xuICAgIG1ldGE6IE1ldGFkYXRhIHwgdW5kZWZpbmVkXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1kdXBsaWNhdGUtdHlwZS1jb25zdGl0dWVudHNcbiAgICBjb25maWc6IEZ1bGxDb25maWd1cmF0aW9uIHwgdW5kZWZpbmVkXG4gICAgbWV0aG9kOiBNZXRob2RcbiAgICBwYXRoUGF0dGVybjogc3RyaW5nXG4gICAgcGF0aFJlZ0V4cDogUmVnRXhwXG4gICAgZW50cnk6IEhhbmRsZXJcbn1cblxudHlwZSBIYW5kbGVyVHlwZXMgPSB7XG4gICAgaHR0cDogSHR0cEhhbmRsZXJcbn1cblxuY29uc3QgaGFuZGxlcnM6IHsgW2tleTogc3RyaW5nXTogdW5rbm93bltdIH0gPSB7fVxuXG5mdW5jdGlvbiBhZGRIYW5kbGVyKHR5cGU6IGtleW9mIEhhbmRsZXJUeXBlcywgaGFuZGxlcjogSHR0cEhhbmRsZXIpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LWNvbmRpdGlvblxuICAgIDsoaGFuZGxlcnNbdHlwZV0gPz89IFtdKS5wdXNoKGhhbmRsZXIpXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIYW5kbGVycyh0eXBlOiBrZXlvZiBIYW5kbGVyVHlwZXMpIHtcbiAgICByZXR1cm4gKGhhbmRsZXJzW3R5cGVdID8/IFtdKSBhcyBIdHRwSGFuZGxlcltdXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRIYW5kbGVyKHR5cGU6IGtleW9mIEhhbmRsZXJUeXBlcykge1xuICAgIGNvbnN0IGhzID0gZ2V0SGFuZGxlcnModHlwZSlcbiAgICBjb25zdCBbaGFuZGxlcl0gPSBoc1xuICAgIGlmICghaGFuZGxlcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vICR7dHlwZX0gaGFuZGxlciByZWdpc3RlcmVkLmApXG4gICAgfVxuICAgIGlmIChocy5sZW5ndGggIT09IDEpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBNdWx0aXBsZSAke3R5cGV9IGhhbmRsZXJzIHJlZ2lzdGVyZWQuYClcbiAgICB9XG4gICAgcmV0dXJuIGhhbmRsZXJcbn1cblxudHlwZSBIdHRwSG9zdCA9IChcbiAgICBtZXRhOiBNZXRhZGF0YSB8IHVuZGVmaW5lZCxcbiAgICBjb25maWc6IEhhbmRsZXJDb25maWd1cmF0aW9uIHwgdW5kZWZpbmVkLFxuICAgIG1ldGhvZDogTWV0aG9kLFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBoYW5kbGVyOiBIYW5kbGVyLFxuKSA9PiB2b2lkXG5cbmxldCBodHRwSG9zdFJlZ2lzdHJ5OiBIdHRwSG9zdFxuXG5mdW5jdGlvbiBzZXRIdHRwSG9zdChob3N0OiBIdHRwSG9zdCkge1xuICAgIGh0dHBIb3N0UmVnaXN0cnkgPSBob3N0XG59XG5cbmxldCBtZXRhZGF0YTogTWV0YWRhdGEgfCB1bmRlZmluZWRcblxuZXhwb3J0IGZ1bmN0aW9uIHNldE1ldGEoXG4gICAgcGFja2FnZU5hbWU6IHN0cmluZyxcbiAgICBmaWxlTmFtZTogc3RyaW5nLFxuICAgIHJldmlzaW9uOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgY29uZmlnOiBQYWNrYWdlQ29uZmlndXJhdGlvbiB8IHVuZGVmaW5lZCxcbikge1xuICAgIG1ldGFkYXRhID0ge1xuICAgICAgICBwYWNrYWdlTmFtZSxcbiAgICAgICAgZmlsZU5hbWUsXG4gICAgICAgIHJldmlzaW9uLFxuICAgICAgICBjb25maWcsXG4gICAgfVxufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZVxuZXhwb3J0IHR5cGUgUGFja2FnZUNvbmZpZ3VyYXRpb24gPSBIYW5kbGVyQ29uZmlndXJhdGlvbiAmIHtcbiAgICAvLyBQbGFjZWhvbGRlciBmb3IgcGFja2FnZS1sZXZlbCBjb25maWd1cmF0aW9uc1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWR1cGxpY2F0ZS10eXBlLWNvbnN0aXR1ZW50c1xuZXhwb3J0IHR5cGUgRnVsbENvbmZpZ3VyYXRpb24gPSBQYWNrYWdlQ29uZmlndXJhdGlvbiAmIEhhbmRsZXJDb25maWd1cmF0aW9uXG5cbmV4cG9ydCB0eXBlIE1ldGFkYXRhID0ge1xuICAgIHBhY2thZ2VOYW1lOiBzdHJpbmdcbiAgICBmaWxlTmFtZTogc3RyaW5nXG4gICAgcmV2aXNpb246IHN0cmluZyB8IHVuZGVmaW5lZFxuICAgIGNvbmZpZz86IFBhY2thZ2VDb25maWd1cmF0aW9uXG59XG5cbmZ1bmN0aW9uIGdldE1ldGFkYXRhKCkge1xuICAgIHJldHVybiBtZXRhZGF0YVxufVxuXG5mdW5jdGlvbiBwYXRoVG9SZWdFeHAocGF0aDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBSZWdFeHAoXG4gICAgICAgIChcbiAgICAgICAgICAgICdeJyArXG4gICAgICAgICAgICBwYXRoLnJlcGxhY2UoL1svXFxcXF4kKz8uKCl8W1xcXXt9XS9ndSwgJ1xcXFwkJicpLnJlcGxhY2VBbGwoJyonLCAnW14vXFxcXD9dKycpICtcbiAgICAgICAgICAgICcoXFxcXD8uKik/JCdcbiAgICAgICAgKS5yZXBsYWNlKCdbXi9cXFxcP10rW14vXFxcXD9dKyhcXFxcPy4qKT8kJywgJycpLFxuICAgICAgICAndScsXG4gICAgKVxufVxuXG5mdW5jdGlvbiBjb21iaW5lQ29uZmlnKFxuICAgIGJhc2U6IFBhY2thZ2VDb25maWd1cmF0aW9uIHwgdW5kZWZpbmVkLFxuICAgIG92ZXJyaWRlOiBIYW5kbGVyQ29uZmlndXJhdGlvbiB8IHVuZGVmaW5lZCxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWR1cGxpY2F0ZS10eXBlLWNvbnN0aXR1ZW50c1xuKTogRnVsbENvbmZpZ3VyYXRpb24gfCB1bmRlZmluZWQge1xuICAgIGlmIChiYXNlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIG92ZXJyaWRlXG4gICAgfSBlbHNlIGlmIChvdmVycmlkZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiBiYXNlXG4gICAgfVxuICAgIHJldHVybiB7IC4uLmJhc2UsIC4uLm92ZXJyaWRlIH1cbn1cblxuZnVuY3Rpb24gaHR0cEhvc3QoXG4gICAgbWV0YTogTWV0YWRhdGEgfCB1bmRlZmluZWQsXG4gICAgY2ZnOiBIYW5kbGVyQ29uZmlndXJhdGlvbiB8IHVuZGVmaW5lZCxcbiAgICBtZXRob2Q6IE1ldGhvZCxcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgZW50cnk6IEhhbmRsZXIsXG4pIHtcbiAgICBhZGRIYW5kbGVyKCdodHRwJywge1xuICAgICAgICBtZXRhLFxuICAgICAgICBjb25maWc6IGNvbWJpbmVDb25maWcobWV0YT8uY29uZmlnLCBjZmcpLFxuICAgICAgICBtZXRob2QsXG4gICAgICAgIHBhdGhQYXR0ZXJuOiBwYXRoLFxuICAgICAgICBwYXRoUmVnRXhwOiBwYXRoVG9SZWdFeHAocGF0aCksXG4gICAgICAgIGVudHJ5LFxuICAgIH0pXG59XG5cbnNldEh0dHBIb3N0KGh0dHBIb3N0KVxuXG5leHBvcnQgdHlwZSBNZXRob2QgPSAnR0VUJyB8ICdQT1NUJyB8ICdQVVQnIHwgJ1BBVENIJyB8ICdERUxFVEUnXG5cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3Rlckh0dHBIYW5kbGVyKFxuICAgIG1ldGhvZDogTWV0aG9kLFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBjb25maWdPckhhbmRsZXI6IEhhbmRsZXJDb25maWd1cmF0aW9uIHwgSGFuZGxlcixcbiAgICBmbj86IEhhbmRsZXIsXG4pOiB2b2lkIHtcbiAgICBpZiAodHlwZW9mIGNvbmZpZ09ySGFuZGxlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBodHRwSG9zdFJlZ2lzdHJ5KGdldE1ldGFkYXRhKCksIHVuZGVmaW5lZCwgbWV0aG9kLCBwYXRoLCBjb25maWdPckhhbmRsZXIpXG4gICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKCFmbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdQbGVhc2UgcHJvdmlkZSBhIGhhbmRsZXIgZnVuY3Rpb24uJylcbiAgICAgICAgfVxuICAgICAgICBodHRwSG9zdFJlZ2lzdHJ5KGdldE1ldGFkYXRhKCksIGNvbmZpZ09ySGFuZGxlciwgbWV0aG9kLCBwYXRoLCBmbilcbiAgICB9XG59XG4iXX0=
package/http.d.ts CHANGED
@@ -1,39 +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 type ResponseHeaders = {
6
- [key: string]: string;
7
- };
8
- export type FullResult = {
9
- headers?: ResponseHeaders;
10
- status?: number;
11
- body?: unknown;
12
- };
13
- export type Result = void | string | FullResult;
14
- export type 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 type HttpHandlerConfiguration = 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 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;
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 type ResponseHeaders = {
6
+ [key: string]: string;
7
+ };
8
+ export type FullResult = {
9
+ headers?: ResponseHeaders;
10
+ status?: number;
11
+ body?: unknown;
12
+ };
13
+ export type Result = void | string | FullResult;
14
+ export type 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 type HttpHandlerConfiguration = 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 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 CHANGED
@@ -1,18 +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
- }
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
18
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImh0dHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFFeEQsY0FBYyxjQUFjLENBQUE7QUFpQzVCLE1BQU0sVUFBVSxHQUFHLENBQ2YsSUFBWSxFQUNaLGVBQW1ELEVBQ25ELEVBQVk7SUFFWixtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQTtBQUN6RCxDQUFDO0FBR0QsTUFBTSxVQUFVLElBQUksQ0FDaEIsSUFBWSxFQUNaLGVBQW1ELEVBQ25ELEVBQVk7SUFFWixtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQTtBQUMxRCxDQUFDO0FBR0QsTUFBTSxVQUFVLEdBQUcsQ0FDZixJQUFZLEVBQ1osZUFBbUQsRUFDbkQsRUFBWTtJQUVaLG1CQUFtQixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0FBQ3pELENBQUM7QUFHRCxNQUFNLFVBQVUsS0FBSyxDQUNqQixJQUFZLEVBQ1osZUFBbUQsRUFDbkQsRUFBWTtJQUVaLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFBO0FBQzNELENBQUM7QUFHRCxNQUFNLFVBQVUsR0FBRyxDQUNmLElBQVksRUFDWixlQUFtRCxFQUNuRCxFQUFZO0lBRVosbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBRSxDQUFDLENBQUE7QUFDNUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgVXJsV2l0aFBhcnNlZFF1ZXJ5IH0gZnJvbSAnbm9kZTp1cmwnXG5pbXBvcnQgeyBDb250ZXh0LCBIYW5kbGVyQ29uZmlndXJhdGlvbiwgSnNvbiB9IGZyb20gJy4vY29udGV4dC5qcydcbmltcG9ydCB7IHJlZ2lzdGVySHR0cEhhbmRsZXIgfSBmcm9tICcuL2hvc3QvcmVnaXN0cnkuanMnXG5cbmV4cG9ydCAqIGZyb20gJy4vY29udGV4dC5qcydcblxuZXhwb3J0IHR5cGUgUmVzcG9uc2VIZWFkZXJzID0ge1xuICAgIFtrZXk6IHN0cmluZ106IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBGdWxsUmVzdWx0ID0ge1xuICAgIGhlYWRlcnM/OiBSZXNwb25zZUhlYWRlcnNcbiAgICBzdGF0dXM/OiBudW1iZXJcbiAgICBib2R5PzogdW5rbm93blxufVxuXG5leHBvcnQgdHlwZSBSZXN1bHQgPSB2b2lkIHwgc3RyaW5nIHwgRnVsbFJlc3VsdFxuXG5leHBvcnQgdHlwZSBIdHRwUmVxdWVzdCA9IHtcbiAgICByZWFkb25seSByYXdVcmw6IHN0cmluZ1xuICAgIHJlYWRvbmx5IHVybDogUmVhZG9ubHk8VXJsV2l0aFBhcnNlZFF1ZXJ5PiAmIHsgcGF0aFN0ZXBBdDogKGluZGV4OiBudW1iZXIpID0+IHN0cmluZyB9XG4gICAgcmVhZG9ubHkgaGVhZGVyczogUmVhZG9ubHk8UmVzcG9uc2VIZWFkZXJzPlxuICAgIHJlYWRvbmx5IGJvZHk/OiBKc29uIHwgc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvbiA9IEhhbmRsZXJDb25maWd1cmF0aW9uICYge1xuICAgIC8qKlxuICAgICAqIEEgc3RyaW5nIGlkZW50aWZ5aW5nIHdoaWNoIGRvbWFpbnMgY2FuIGFjY2VzcyB0aGUgZW5kcG9pbnQgY3Jvc3Mtb3JpZ2luLlxuICAgICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGNvcnM/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgSGFuZGxlciA9IChjb250ZXh0OiBDb250ZXh0LCByZXF1ZXN0OiBIdHRwUmVxdWVzdCkgPT4gUHJvbWlzZTxSZXN1bHQ+IHwgUmVzdWx0XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXQocGF0aDogc3RyaW5nLCBmbjogSGFuZGxlcik6IHZvaWRcbmV4cG9ydCBmdW5jdGlvbiBnZXQocGF0aDogc3RyaW5nLCBjb25maWc6IEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvbiwgZm46IEhhbmRsZXIpOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gZ2V0KFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBjb25maWdPckhhbmRsZXI6IEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvbiB8IEhhbmRsZXIsXG4gICAgZm4/OiBIYW5kbGVyLFxuKTogdm9pZCB7XG4gICAgcmVnaXN0ZXJIdHRwSGFuZGxlcignR0VUJywgcGF0aCwgY29uZmlnT3JIYW5kbGVyLCBmbilcbn1cbmV4cG9ydCBmdW5jdGlvbiBwb3N0KHBhdGg6IHN0cmluZywgZm46IEhhbmRsZXIpOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gcG9zdChwYXRoOiBzdHJpbmcsIGNvbmZpZzogSHR0cEhhbmRsZXJDb25maWd1cmF0aW9uLCBmbjogSGFuZGxlcik6IHZvaWRcbmV4cG9ydCBmdW5jdGlvbiBwb3N0KFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBjb25maWdPckhhbmRsZXI6IEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvbiB8IEhhbmRsZXIsXG4gICAgZm4/OiBIYW5kbGVyLFxuKTogdm9pZCB7XG4gICAgcmVnaXN0ZXJIdHRwSGFuZGxlcignUE9TVCcsIHBhdGgsIGNvbmZpZ09ySGFuZGxlciwgZm4pXG59XG5leHBvcnQgZnVuY3Rpb24gcHV0KHBhdGg6IHN0cmluZywgZm46IEhhbmRsZXIpOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gcHV0KHBhdGg6IHN0cmluZywgY29uZmlnOiBIdHRwSGFuZGxlckNvbmZpZ3VyYXRpb24sIGZuOiBIYW5kbGVyKTogdm9pZFxuZXhwb3J0IGZ1bmN0aW9uIHB1dChcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgY29uZmlnT3JIYW5kbGVyOiBIdHRwSGFuZGxlckNvbmZpZ3VyYXRpb24gfCBIYW5kbGVyLFxuICAgIGZuPzogSGFuZGxlcixcbik6IHZvaWQge1xuICAgIHJlZ2lzdGVySHR0cEhhbmRsZXIoJ1BVVCcsIHBhdGgsIGNvbmZpZ09ySGFuZGxlciwgZm4pXG59XG5leHBvcnQgZnVuY3Rpb24gcGF0Y2gocGF0aDogc3RyaW5nLCBmbjogSGFuZGxlcik6IHZvaWRcbmV4cG9ydCBmdW5jdGlvbiBwYXRjaChwYXRoOiBzdHJpbmcsIGNvbmZpZzogSHR0cEhhbmRsZXJDb25maWd1cmF0aW9uLCBmbjogSGFuZGxlcik6IHZvaWRcbmV4cG9ydCBmdW5jdGlvbiBwYXRjaChcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgY29uZmlnT3JIYW5kbGVyOiBIdHRwSGFuZGxlckNvbmZpZ3VyYXRpb24gfCBIYW5kbGVyLFxuICAgIGZuPzogSGFuZGxlcixcbik6IHZvaWQge1xuICAgIHJlZ2lzdGVySHR0cEhhbmRsZXIoJ1BBVENIJywgcGF0aCwgY29uZmlnT3JIYW5kbGVyLCBmbilcbn1cbmV4cG9ydCBmdW5jdGlvbiBkZWwocGF0aDogc3RyaW5nLCBmbjogSGFuZGxlcik6IHZvaWRcbmV4cG9ydCBmdW5jdGlvbiBkZWwocGF0aDogc3RyaW5nLCBjb25maWc6IEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvbiwgZm46IEhhbmRsZXIpOiB2b2lkXG5leHBvcnQgZnVuY3Rpb24gZGVsKFxuICAgIHBhdGg6IHN0cmluZyxcbiAgICBjb25maWdPckhhbmRsZXI6IEh0dHBIYW5kbGVyQ29uZmlndXJhdGlvbiB8IEhhbmRsZXIsXG4gICAgZm4/OiBIYW5kbGVyLFxuKTogdm9pZCB7XG4gICAgcmVnaXN0ZXJIdHRwSGFuZGxlcignREVMRVRFJywgcGF0aCwgY29uZmlnT3JIYW5kbGVyLCBmbilcbn1cbiJdfQ==
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@riddance/host",
3
- "version": "0.0.12",
3
+ "version": "0.0.14",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "engines": {
7
- "node": ">=16"
7
+ "node": ">=18"
8
8
  },
9
9
  "keywords": [
10
10
  "riddance",
@@ -29,10 +29,13 @@
29
29
  "./http": "./host/http.js"
30
30
  },
31
31
  "scripts": {
32
+ "start": "riddance-watch",
32
33
  "prepack": "riddance-build",
33
- "start": "riddance-watch"
34
+ "prepublishOnly": "riddance-prepublish",
35
+ "postpublish": "riddance-sync"
34
36
  },
35
37
  "devDependencies": {
36
- "@riddance/env": "0.2.6"
37
- }
38
- }
38
+ "@riddance/env": "0.4.5"
39
+ },
40
+ "gitHead": "0ee838b3761f266345058b38e01f9ae12e4bd4e0"
41
+ }