Skip to content

Latest commit

 

History

History
97 lines (80 loc) · 3.42 KB

async-call-rpc.api.md

File metadata and controls

97 lines (80 loc) · 3.42 KB

API Report File for "async-call-rpc"

Do not edit this file. It is a report generated by API Extractor.

// Warning: (ae-incompatible-release-tags) The symbol "AsyncCall" is marked as @public, but its signature references "_AsyncVersionOf" which is marked as @internal
//
// @public
export function AsyncCall<OtherSideImplementedFunctions = {}>(thisSideImplementation: object | Promise<object> | undefined, options: AsyncCallOptions): _AsyncVersionOf<OtherSideImplementedFunctions>;

// @public
export interface AsyncCallLogLevel {
    beCalled?: boolean;
    localError?: boolean;
    remoteError?: boolean;
    sendLocalStack?: boolean;
    type?: 'basic' | 'pretty';
}

// @public
export interface AsyncCallOptions {
    idGenerator?(): string | number;
    key?: string;
    log?: AsyncCallLogLevel | boolean;
    logger?: Console;
    messageChannel: MessageChannel;
    parameterStructures?: 'by-position' | 'by-name';
    preferLocalImplementation?: boolean;
    preservePauseOnException?: boolean;
    serializer?: Serialization;
    strict?: AsyncCallStrictJSONRPC | boolean;
}

// @public
export interface AsyncCallStrictJSONRPC {
    methodNotFound?: boolean;
    noUndefined?: boolean;
    unknownMessage?: boolean;
}

// Warning: (ae-incompatible-release-tags) The symbol "AsyncGeneratorCall" is marked as @public, but its signature references "_AsyncGeneratorVersionOf" which is marked as @internal
//
// @public
export function AsyncGeneratorCall<OtherSideImplementedFunctions = {}>(thisSideImplementation: object | Promise<object> | undefined, options: AsyncCallOptions): _AsyncGeneratorVersionOf<OtherSideImplementedFunctions>;

// @internal
export type _AsyncGeneratorVersionOf<T> = {
    [key in keyof T]: T[key] extends (...args: infer Args) => Iterator<infer Yield, infer Return, infer Next> | AsyncIterator<infer Yield, infer Return, infer Next> ? (...args: Args) => AsyncIterator<_UnboxPromise<Yield>, _UnboxPromise<Return>, _UnboxPromise<Next>> & {
        [Symbol.asyncIterator](): AsyncIterator<_UnboxPromise<Yield>, _UnboxPromise<Return>, _UnboxPromise<Next>>;
    } : T[key];
};

// @internal
export type _AsyncVersionOf<T> = {
    [key in keyof T]: T[key] extends (...args: infer Args) => infer Return ? Return extends PromiseLike<infer U> ? (...args: Args) => Promise<U> : (...args: Args) => Promise<Return> : never;
};

// @public
export interface Console {
    // (undocumented)
    debug?(...args: unknown[]): void;
    // (undocumented)
    error?(...args: unknown[]): void;
    // (undocumented)
    groupCollapsed?(...args: unknown[]): void;
    // (undocumented)
    groupEnd?(...args: unknown[]): void;
    // (undocumented)
    log(...args: unknown[]): void;
}

// @public
export const JSONSerialization: (replacerAndReceiver?: [(((key: string, value: any) => any) | undefined)?, (((key: string, value: any) => any) | undefined)?], space?: string | number | undefined) => Serialization;

// @public
export interface MessageChannel {
    // (undocumented)
    emit(event: string, data: unknown): void;
    // (undocumented)
    on(event: string, eventListener: (data: unknown) => void): void;
}

// @public
export const NoSerialization: Serialization;

// @public
export interface Serialization {
    deserialization(serialized: unknown): unknown | PromiseLike<unknown>;
    serialization(from: any): unknown | PromiseLike<unknown>;
}

// @internal
export type _UnboxPromise<T> = T extends PromiseLike<infer U> ? U : T;