UNPKG

@whook/whook

Version:

Build strong and efficient REST web services.

41 lines (40 loc) 2.51 kB
import { type Injector, type Autoloader, type Initializer, type Dependencies, type Service, ServiceInitializer } from 'knifecycle'; import { type AppConfig } from 'application-services'; import { type WhookRoutesWrappersConfig } from './ROUTES_WRAPPERS.js'; import { type WhookCronsWrappersConfig } from './CRONS_WRAPPERS.js'; import { type WhookConsumersWrappersConfig } from './CONSUMERS_WRAPPERS.js'; import { type WhookTransformersWrappersConfig } from './TRANSFORMERS_WRAPPERS.js'; import { access as _access } from 'node:fs/promises'; import { type ResolveService, type ImporterService, type LogService } from 'common-services'; import { type WhookPluginName, type WhookResolvedPluginsService } from './WHOOK_RESOLVED_PLUGINS.js'; import { type WhookRawCommandArgs } from '../libs/args.js'; import { type WhookCronDefinitionsOptions } from './CRONS_DEFINITIONS.js'; import { type WhookRoutesDefinitionsOptions } from './ROUTES_DEFINITIONS.js'; import { type WhookConsumerDefinitionsOptions } from './CONSUMERS_DEFINITIONS.js'; import { type WhookTransformerDefinitionsOptions } from './TRANSFORMERS_DEFINITIONS.js'; import { type WhookCommandsDefinitionsOptions } from './COMMANDS_DEFINITIONS.js'; import { type WhookCommandModule } from '../types/commands.js'; export type WhookInitializerMap = Record<string, string>; export type WhookAutoloadDependencies = WhookRoutesWrappersConfig & WhookCronsWrappersConfig & WhookConsumersWrappersConfig & WhookTransformersWrappersConfig & { APP_CONFIG?: AppConfig; INITIALIZER_PATH_MAP?: WhookInitializerMap; WHOOK_PLUGINS?: WhookPluginName[]; WHOOK_RESOLVED_PLUGINS: WhookResolvedPluginsService; COMMANDS_DEFINITIONS_OPTIONS?: WhookCommandsDefinitionsOptions; ROUTES_DEFINITIONS_OPTIONS?: WhookRoutesDefinitionsOptions; CRONS_DEFINITIONS_OPTIONS?: WhookCronDefinitionsOptions; CONSUMERS_DEFINITIONS_OPTIONS?: WhookConsumerDefinitionsOptions; TRANSFORMERS_DEFINITIONS_OPTIONS?: WhookTransformerDefinitionsOptions; args: WhookRawCommandArgs; $injector: Injector<Service>; importer: ImporterService<WhookCommandModule>; resolve: ResolveService; access?: typeof _access; log?: LogService; }; declare const _default: ServiceInitializer<WhookAutoloadDependencies, Autoloader<Initializer<unknown, Dependencies>>>; export default _default; export declare function checkAccess({ log, access, }: { log: LogService; access?: typeof _access; }, url: URL): Promise<Parameters<NonNullable<typeof access>>[0]>;