UNPKG

@eclipse-ditto/ditto-javascript-client-dom

Version:

DOM implementation of Eclipse Ditto JavaScript API to be used in browsers.

45 lines 2.06 kB
/*! * Copyright (c) 2019 Contributors to the Eclipse Foundation * * See the NOTICE file(s) distributed with this work for additional * information regarding copyright ownership. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License 2.0 which is available at * http://www.eclipse.org/legal/epl-2.0 * * SPDX-License-Identifier: EPL-2.0 */ import { FeaturesHandle } from './handles/features.interfaces'; import { ThingsHandle } from './handles/things.interfaces'; import { RequestSenderFactory } from './request-factory/request-sender'; import { CustomBuilderContext } from './builder-steps'; export interface DittoClient<T extends ThingsHandle, U extends FeaturesHandle> { /** * Builds a handle to handle Things requests. * * @param customBuildContext - The custom builder context. * @return a ThingsHandle. */ getThingsHandle(customBuildContext?: CustomBuilderContext): T; /** * Builds a handle for the specified ThingId to handle Feature requests. * * @param customBuildContext - The custom builder context. * @param thingId - The ThingId to use. * @return a FeaturesHandle. */ getFeaturesHandle(thingId: string, customBuildContext?: CustomBuilderContext): U; } export interface DittoClientHandles<T extends RequestSenderFactory> { thingsHandle?: (requestSenderBuilder: T, customBuildContext?: CustomBuilderContext) => ThingsHandle; featuresHandle?: (requestSenderBuilder: T, thingId: string, customBuildContext?: CustomBuilderContext) => FeaturesHandle; } export declare class AbstractDittoClient<T extends RequestSenderFactory, H extends DittoClientHandles<T>> { protected readonly builder: T; protected readonly handles: H; protected constructor(builder: T, handles: H); getFeaturesHandle(thingId: string, customBuildContext?: CustomBuilderContext): FeaturesHandle; getThingsHandle(customBuildContext?: CustomBuilderContext): ThingsHandle; } //# sourceMappingURL=ditto-client.d.ts.map