@whook/whook
Version:
Build strong and efficient REST web services.
41 lines (40 loc) • 2.51 kB
TypeScript
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]>;