UNPKG

rest-client-sdk

Version:
35 lines (34 loc) 1.43 kB
import Mapping from './Mapping'; import type RestClientSdkInterface from './RestClientSdkInterface'; import type { Config } from './RestClientSdkInterface'; import { Token } from './TokenGenerator/types'; import TokenStorageInterface from './TokenStorageInterface'; import UnitOfWork from './UnitOfWork'; import AbstractClient from './client/AbstractClient'; import SerializerInterface from './serializer/SerializerInterface'; import { Logger } from './utils/logging'; declare type Entity = any; export declare type MetadataDefinition = { entity: Entity; list: Iterable<Entity>; }; export declare type SdkMetadata = Record<string, MetadataDefinition>; declare class RestClientSdk<M extends SdkMetadata> implements RestClientSdkInterface<M> { #private; config: Config; tokenStorage: TokenStorageInterface<Token>; serializer: SerializerInterface; mapping: Mapping; unitOfWork: UnitOfWork; readonly logger?: Logger; constructor(tokenStorage: TokenStorageInterface<Token>, config: Config, mapping: Mapping, serializer?: SerializerInterface); /** * get a repository by it's metadata "key" attribute * * @param {string} key the repository "key" (the first argument of `new ClassMetadata`) */ getRepository<K extends keyof M & string>(key: K): AbstractClient<M[K]>; private _mergeWithBaseConfig; private checkConfigValidity; } export default RestClientSdk;