@riddance/host
Version:
37 lines (36 loc) • 1.36 kB
TypeScript
import type { HandlerConfiguration } from '../context.js';
import type { HttpHandlerConfiguration } from '../http.js';
import type { TimerHandlerConfiguration } from '../timer.js';
type CPU = 'arm' | 'arm64' | 'ia32' | 'mips' | 'mipsel' | 'ppc' | 'ppc64' | 's390' | 's390x' | 'x32' | 'x64';
type CpuConfig = CPU | `!${CPU}`;
type OSConfig = NodeJS.Platform | `!${NodeJS.Platform}`;
export type PackageJsonConfiguration = {
nodeVersion?: string;
cpus?: CpuConfig[];
os?: OSConfig[];
};
export type Reflection = {
name: string;
revision: string | undefined;
http: {
name: string;
method: 'GET' | 'PUT' | 'POST' | 'PATCH' | 'DELETE';
pathPattern: string;
config: HttpHandlerConfiguration & PackageJsonConfiguration;
}[];
timers: {
name: string;
schedule: string;
config: TimerHandlerConfiguration & PackageJsonConfiguration;
}[];
events: {
name: string;
topic: string;
type: string;
config: HandlerConfiguration & PackageJsonConfiguration;
}[];
};
export declare function resolveCpu(config: PackageJsonConfiguration, supported: CPU[]): CPU;
export declare function resolveOS(config: PackageJsonConfiguration, supported: NodeJS.Platform[]): NodeJS.Platform;
export declare function reflect(path: string): Promise<Reflection>;
export {};