UNPKG

node-universe

Version:

基于 Nodejs 环境的一款微服务框架,原理来自于宇宙中的恒星,行星,卫星等系统。

46 lines (45 loc) 2.52 kB
import { ServiceDependency, ServiceSchema, ServiceSettingSchema } from '../../typings/service'; import Star from '.'; import { GenericObject } from '../../typings'; import { LoggerInstance } from '../../typings/logger'; import { ServiceActions } from '../../typings/star/service'; import _ from 'lodash'; export default class Service<S = ServiceSettingSchema> { star: Star; fullName: string; name: string; version: string | number; settings?: ServiceSettingSchema | GenericObject; schema?: ServiceSchema<S>; metadata: GenericObject; logger: LoggerInstance | null; actions: ServiceActions | null; events: any; originalSchema: ServiceSchema<S> | null; dependencies: string | ServiceDependency | (string | ServiceDependency)[] | null; _serviceSpecification: GenericObject; constructor(star: Star, schema?: ServiceSchema<S>, schemaMods?: any); static getVersionedFullName(name: string, version?: string | number): string; private parseServiceSchema; applyMixins(schema: ServiceSchema | Partial<ServiceSchema<ServiceSettingSchema>>): any; _init(): void; _start(): Promise<void | undefined>; _stop(): Promise<void | undefined>; _createMethod(methodDef: any, name: string): any; _createAction(actionDef: any, name: string): GenericObject; _createEvent(eventDef: any, name: string): GenericObject; _getPublishSettings(settings?: GenericObject): _.Omit<GenericObject, any> | undefined; mergeSchemas(mixinSchema: any, serviceSchema: any): any; mergeSchemaSettings(src: GenericObject, target: GenericObject): any; mergeSchemaMetadata(src: GenericObject, target: GenericObject): any; mergeSchemaUniqArray(src: GenericObject, target: GenericObject): any[]; mergeSchemaDependencies(src: GenericObject, target: GenericObject): any[]; mergeSchemaHooks(src: GenericObject, target: GenericObject): GenericObject; mergeSchemaActions(src: GenericObject, target: GenericObject): GenericObject; mergeSchemaMethods(src: GenericObject, target: GenericObject): GenericObject; mergeSchemaEvents(src: GenericObject, target: GenericObject): void; mergeSchemaLifecycleHandlers(src: GenericObject, target: GenericObject): any[]; mergeSchemaUnkown(src: GenericObject, target: GenericObject): GenericObject; waitForServices(serviceNames: string | string[], timeout: number, interval: number): Promise<unknown>; emitLocalEventHandler(eventName: string, params?: any, options?: GenericObject): any; }