Files
smartserve/ts/decorators/index.ts

72 lines
1.3 KiB
TypeScript

// Type exports
export type {
IControllerMetadata,
IRouteMetadata,
IRouteCompressionOptions,
IRegisteredController,
ICompiledRoute,
// OpenAPI types
TJsonSchema,
IOpenApiOperationMeta,
IOpenApiParamMeta,
IOpenApiRequestBodyMeta,
IOpenApiResponseBodyMeta,
IOpenApiRouteMeta,
IOpenApiControllerMeta,
} from './decorators.types.js';
// Route decorator
export { Route } from './decorators.route.js';
// HTTP method decorators
export {
Get,
Post,
Put,
Delete,
Patch,
Head,
Options,
All,
} from './decorators.methods.js';
// Interceptor decorators
export {
Guard,
Transform,
Intercept,
// Utility guards
hasHeader,
hasBearerToken,
rateLimit,
// Utility transforms
wrapSuccess,
addTimestamp,
} from './decorators.interceptors.js';
// Compression decorators
export { Compress, NoCompress } from './decorators.compress.js';
// Registry
export { ControllerRegistry } from './decorators.registry.js';
// Metadata utilities
export {
getControllerMetadata,
getMetadataFromInstance,
normalizePath,
combinePaths,
} from './decorators.metadata.js';
// OpenAPI decorators
export {
ApiOperation,
ApiParam,
ApiQuery,
ApiHeader,
ApiRequestBody,
ApiResponseBody,
ApiSecurity,
ApiTag,
} from '../openapi/openapi.decorators.js';