File tree Expand file tree Collapse file tree 2 files changed +42
-0
lines changed
Expand file tree Collapse file tree 2 files changed +42
-0
lines changed Original file line number Diff line number Diff line change @@ -43,3 +43,39 @@ export enum ReleaseTag {
4343 */
4444 Public = 4
4545}
46+
47+ /**
48+ * Helper functions for working with the `ReleaseTag` enum.
49+ * @public
50+ */
51+ export namespace ReleaseTag {
52+ /**
53+ * Returns the TSDoc tag name for a `ReleaseTag` value.
54+ *
55+ * @remarks
56+ * For example, `getTagName(ReleaseTag.Internal)` would return the string `@internal`.
57+ */
58+ export function getTagName ( releaseTag : ReleaseTag ) : string {
59+ switch ( releaseTag ) {
60+ case ReleaseTag . None : return '(none)' ;
61+ case ReleaseTag . Internal : return '@internal' ;
62+ case ReleaseTag . Alpha : return '@alpha' ;
63+ case ReleaseTag . Beta : return '@beta' ;
64+ case ReleaseTag . Public : return '@public' ;
65+ }
66+ throw new Error ( 'Unsupported release tag' ) ;
67+ }
68+
69+ /**
70+ * Compares two `ReleaseTag` values. Their values must not be `ReleaseTag.None`.
71+ * @returns 0 if `a` and `b` are equal, a positive number if `a` is more public than `b`,
72+ * and a negative number if `a` is less public than `b`.
73+ * @remarks
74+ * For example, `compareReleaseTag(ReleaseTag.Beta, ReleaseTag.Alpha)` will return a positive
75+ * number because beta is more public than alpha.
76+ */
77+ export function compare ( a : ReleaseTag , b : ReleaseTag ) : number {
78+ return a - b ;
79+ }
80+
81+ }
Original file line number Diff line number Diff line change @@ -781,5 +781,11 @@ declare enum ReleaseTag {
781781 Public = 4
782782}
783783
784+ // @public
785+ declare namespace ReleaseTag {
786+ function compare(a : ReleaseTag , b : ReleaseTag ): number ;
787+ function getTagName(releaseTag : ReleaseTag ): string ;
788+ }
789+
784790
785791```
You can’t perform that action at this time.
0 commit comments