UNPKG

@inventorjs/api-service

Version:
20 lines (19 loc) 667 B
import { CONFIG_META } from './constants.js'; import { mergeConfig } from './util.js'; import { ApiService } from './core.js'; export function Service(serviceConfig) { return (Cls) => { Reflect.defineMetadata(CONFIG_META, serviceConfig, Cls); }; } export function Api(apiConfig) { return (Cls, propertyKey, propertyDescriptor) => { const context = { [propertyKey]: async (data, requestConfig) => { const config = mergeConfig(apiConfig, requestConfig); return ApiService.apiCall.call(Cls, data, config); }, }; propertyDescriptor.value = context[propertyKey]; }; }