@typespec/versioning
Version:
TypeSpec library for declaring and emitting versioned APIs
24 lines • 1.54 kB
TypeScript
import { type Enum, type EnumMember, type Namespace, type Program, type Type } from "@typespec/compiler";
import { type VersionMap } from "./decorators.js";
import type { Version, VersionResolution } from "./types.js";
import { TimelineMoment, VersioningTimeline } from "./versioning-timeline.js";
export declare function getVersionDependencies(program: Program, namespace: Namespace): Map<Namespace, Map<Version, Version> | Version> | undefined;
/**
* Resolve the version to use for all namespace for each of the root namespace versions.
* @param program
* @param rootNs Root namespace.
*/
export declare function resolveVersions(program: Program, namespace: Namespace): VersionResolution[];
export declare function getVersionsForEnum(program: Program, en: Enum): [Namespace, VersionMap] | [];
export declare function getVersions(p: Program, t: Type): [Namespace, VersionMap] | [];
export declare function getAllVersions(p: Program, t: Type): Version[] | undefined;
export declare enum Availability {
Unavailable = "Unavailable",
Added = "Added",
Available = "Available",
Removed = "Removed"
}
export declare function getAvailabilityMap(program: Program, type: Type): Map<string, Availability> | undefined;
export declare function getAvailabilityMapInTimeline(program: Program, type: Type, timeline: VersioningTimeline): Map<TimelineMoment, Availability> | undefined;
export declare function getVersionForEnumMember(program: Program, member: EnumMember): Version | undefined;
//# sourceMappingURL=versioning.d.ts.map