UNPKG

@whook/whook

Version:

Build strong and efficient REST web services.

30 lines (29 loc) 1.79 kB
import { type Dependencies, type ServiceInitializer, type ProviderInitializer } from 'knifecycle'; import { type JsonValue } from 'type-fest'; import { type ExpressiveJSONSchema } from 'ya-json-schema-types'; import { type WhookHandlerWrapper } from './wrappers.js'; import { type WhookEnvironmentsConfig } from '../libs/environments.js'; import { type WhookModuleAsideSchemas } from '../index.js'; export declare const DEFAULT_TRANSFORMER_CONFIG: WhookTransformerConfig; export interface WhookBaseTransformerConfig { environments?: WhookEnvironmentsConfig; targetHandler?: string; } export interface WhookTransformerConfig extends WhookBaseTransformerConfig { } export interface WhookTransformerDefinition { name: string; inputSchema: ExpressiveJSONSchema; outputSchema: ExpressiveJSONSchema; config?: WhookTransformerConfig; } export type WhookTransformerHandler<T extends JsonValue, U extends JsonValue, D extends WhookTransformerDefinition = WhookTransformerDefinition> = (input: T, definition: D) => Promise<U>; export type WhookTransformerHandlerInitializer<T extends JsonValue, U extends JsonValue, D extends Dependencies = Record<string, unknown>> = ServiceInitializer<D, WhookTransformerHandler<T, U>> | ProviderInitializer<D, WhookTransformerHandler<T, U>>; export declare const TRANSFORMER_ASIDE_COMPONENTS_MAP: { readonly schemas: "Schema"; }; export interface WhookTransformerModule<T extends JsonValue = JsonValue, U extends JsonValue = JsonValue> extends WhookModuleAsideSchemas { default: WhookTransformerHandlerInitializer<T, U>; definition: WhookTransformerDefinition; } export type WhookTransformerHandlerWrapper<T extends JsonValue = JsonValue, U extends JsonValue = JsonValue> = WhookHandlerWrapper<WhookTransformerHandler<T, U>>;