UNPKG

@eclipse-emfcloud/modelserver-client

Version:

Typescript rest client to interact with an EMF.cloud modelserver

72 lines 4.41 kB
/******************************************************************************** * Copyright (c) 2021-2023 STMicroelectronics and others. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v. 2.0 which is available at * https://www.eclipse.org/legal/epl-2.0, or the MIT License which is * available at https://opensource.org/licenses/MIT. * * SPDX-License-Identifier: EPL-2.0 OR MIT *******************************************************************************/ import { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios'; import WebSocket from 'isomorphic-ws'; import URI from 'urijs'; import { ModelServerClientApiV1, ModelServerError, ServerConfiguration, SubscriptionOptions } from './model-server-client-api-v1'; import { Mapper, MessageDataMapper, Model, ModelServerMessage } from './model-server-message'; import { ModelServerCommand } from './model/command-model'; import { Diagnostic } from './model/diagnostic'; import { SubscriptionListener } from './subscription-listener'; import { AnyObject, TypeGuard } from './utils/type-util'; /** * A client to interact with a model server. */ export declare class ModelServerClient implements ModelServerClientApiV1 { protected restClient: AxiosInstance; protected openSockets: Map<string, WebSocket>; protected _baseUrl: URI; protected defaultFormat: string; initialize(baseUrl: URI): void | Promise<void>; protected getAxisConfig(baseURL: URI): AxiosRequestConfig | undefined; get(modeluri: URI): Promise<AnyObject>; get<M>(modeluri: URI, typeGuard: TypeGuard<M>): Promise<M>; get(modeluri: URI, format: string): Promise<string>; getAll(): Promise<Model[]>; getAll<M>(typeGuard: TypeGuard<M>): Promise<Model<M>[]>; getAll(format: string): Promise<Model<string>[]>; getModelUris(): Promise<URI[]>; getElementById(modeluri: URI, elementid: string): Promise<AnyObject>; getElementById<M>(modeluri: URI, elementid: string, typeGuard: TypeGuard<M>): Promise<M>; getElementById(modeluri: URI, elementid: string, format: string): Promise<string>; getElementByName(modeluri: URI, elementname: string): Promise<AnyObject>; getElementByName<M>(modeluri: URI, elementname: string, typeGuard: TypeGuard<M>, format?: string): Promise<M>; getElementByName(modeluri: URI, elementname: string, format: string): Promise<string>; create(modeluri: URI, model: AnyObject | string): Promise<AnyObject>; create(modeluri: URI, model: AnyObject | string, format: string): Promise<string>; create<M>(modeluri: URI, model: AnyObject | string, typeGuard: TypeGuard<M>): Promise<M>; update(modeluri: URI, model: AnyObject | string): Promise<AnyObject>; update<M>(modeluri: URI, model: string | string, typeGuard: TypeGuard<M>): Promise<M>; update(modeluri: URI, model: AnyObject | string, format: string): Promise<AnyObject>; delete(modeluri: URI): Promise<boolean>; close(modeluri: URI): Promise<boolean>; save(modeluri: URI): Promise<boolean>; saveAll(): Promise<boolean>; validate(modeluri: URI): Promise<Diagnostic>; getValidationConstraints(modeluri: URI): Promise<string>; getTypeSchema(modeluri: URI): Promise<string>; getUiSchema(schemaname: string): Promise<string>; configureServer(configuration: ServerConfiguration): Promise<boolean>; ping(): Promise<boolean>; edit(modeluri: URI, command: ModelServerCommand): Promise<boolean>; undo(modeluri: URI): Promise<string>; redo(modeluri: URI): Promise<string>; send(modeluri: URI, message: ModelServerMessage): boolean; subscribe(modeluri: URI, options?: SubscriptionOptions): void; unsubscribe(modeluri: URI): boolean; protected createSubscriptionPath(modeluri: URI, options: SubscriptionOptions): URI; protected doSubscribe(listener: SubscriptionListener, modeluri: URI, path: URI): void; protected isSocketOpen(modeluri: URI): boolean; protected process<T>(request: Promise<AxiosResponse<ModelServerMessage>>, mapper: MessageDataMapper<T>): Promise<T>; protected processMessageAsData<M>(request: Promise<AxiosResponse<M>>): Promise<M>; protected processGeneric<M, T>(request: Promise<AxiosResponse<M>>, mapper: Mapper<M, T>, erroResponse: (message: M) => ModelServerError | undefined): Promise<T>; } //# sourceMappingURL=model-server-client.d.ts.map