api-core
Version:
Model-based dynamic multi-level APIs for any provider, plus multiple consumption channels
40 lines (39 loc) • 1.17 kB
TypeScript
import { ApiEdgeDefinition } from "../edge/ApiEdgeDefinition";
import { Api } from "../Api";
export interface ExportedApiEdgeRelation {
type: string;
name: string;
relationId: string;
relatedId: string;
from: string;
to: string;
hasPair: boolean;
}
export type ApiEdgeRelationConstructor = new (from: ApiEdgeDefinition, to: ApiEdgeDefinition) => ApiEdgeRelation;
export declare const ApiEdgeRelationTypes: {
[key: string]: ApiEdgeRelationConstructor;
};
export declare abstract class ApiEdgeRelation {
abstract getType(): string;
constructor(from: ApiEdgeDefinition, to: ApiEdgeDefinition);
name: string;
relationId: string;
relatedId: string;
from: ApiEdgeDefinition;
to: ApiEdgeDefinition;
hasPair: boolean;
readonly external: boolean;
private resolved;
onResolve: () => void;
toJSON(): {
type: string;
name: string;
relationId: string;
relatedId: string;
from: string;
to: string;
hasPair: boolean;
};
static fromJSON(obj: ExportedApiEdgeRelation, api: Api): Promise<ApiEdgeRelation>;
resolve(): Promise<boolean>;
}