nats-micro
Version:
NATS micro compatible extra-lightweight microservice library
21 lines (20 loc) • 816 B
TypeScript
import { Handler, MicroserviceConfig, MicroserviceMethodConfig } from '../types/index.js';
type StoredMicroserviceClassMethod<T, R> = {
method: Handler<T, R>;
config: {
name?: string;
} & Omit<MicroserviceMethodConfig<T, R>, 'handler'>;
};
type StoredMicroserviceClass = {
target: unknown;
config: Omit<MicroserviceConfig, 'methods'>;
methods: StoredMicroserviceClassMethod<any, any>[];
};
declare class ClassStorage {
readonly items: StoredMicroserviceClass[];
ensureClassAdded(target: unknown): StoredMicroserviceClass;
ensureClassMethodAdded<T, R>(targetClass: unknown, classMethod: Handler<T, R>): StoredMicroserviceClassMethod<T, R>;
getConfig<T extends object>(target: T): MicroserviceConfig | undefined;
}
export declare const storage: ClassStorage;
export {};