diff --git a/.changeset/tame-trains-look.md b/.changeset/tame-trains-look.md new file mode 100644 index 00000000..3b69d189 --- /dev/null +++ b/.changeset/tame-trains-look.md @@ -0,0 +1,5 @@ +--- +'@matrix-widget-toolkit/api': patch +--- + +Expose `ROOM_VERSION_12_CREATOR` and `compareUserPowerLevelToNormalPowerLevel` on the API surface diff --git a/packages/api/api-report.api.md b/packages/api/api-report.api.md index 5e349608..f64fbc90 100644 --- a/packages/api/api-report.api.md +++ b/packages/api/api-report.api.md @@ -30,6 +30,9 @@ export function calculateUserPowerLevel(powerLevelStateEvent: PowerLevelsStateEv // @public export function compareOriginServerTS(a: RoomEvent, b: RoomEvent): number; +// @public +export function compareUserPowerLevelToNormalPowerLevel(userPowerLevel: UserPowerLevelType, normalPowerLevel: number): boolean; + // @public export type EventWithRelatesTo = RoomEvent<{ 'm.relates_to': RelatesTo; diff --git a/packages/api/src/api/extras/index.ts b/packages/api/src/api/extras/index.ts index 470eaba3..bb9866d8 100644 --- a/packages/api/src/api/extras/index.ts +++ b/packages/api/src/api/extras/index.ts @@ -34,14 +34,16 @@ export { WIDGET_CAPABILITY_NAVIGATE, navigateToRoom } from './navigateTo'; export type { NavigateToRoomOptions } from './navigateTo'; export { compareOriginServerTS } from './originServerTs'; export { + ROOM_VERSION_12_CREATOR, STATE_EVENT_POWER_LEVELS, calculateUserPowerLevel, + compareUserPowerLevelToNormalPowerLevel, hasActionPower, hasRoomEventPower, hasStateEventPower, isValidPowerLevelStateEvent, } from './powerLevel'; -export type { ROOM_VERSION_12_CREATOR, UserPowerLevelType } from './powerLevel'; +export type { UserPowerLevelType } from './powerLevel'; export { ROOM_EVENT_REDACTION, isValidRedactionEvent, diff --git a/packages/api/src/api/extras/powerLevel.ts b/packages/api/src/api/extras/powerLevel.ts index a628a3eb..a532da33 100644 --- a/packages/api/src/api/extras/powerLevel.ts +++ b/packages/api/src/api/extras/powerLevel.ts @@ -33,7 +33,13 @@ export const ROOM_VERSION_12_CREATOR = 'ROOM_VERSION_12_CREATOR'; export type UserPowerLevelType = number | typeof ROOM_VERSION_12_CREATOR; -function compareUserPowerLevelToNormalPowerLevel( +/** + * Compare a user's power level to a normal power level. + * @param userPowerLevel - The user's power level + * @param normalPowerLevel - The normal power level + * @returns True if the user's power level is greater than or equal to the normal power level, false otherwise + */ +export function compareUserPowerLevelToNormalPowerLevel( userPowerLevel: UserPowerLevelType, normalPowerLevel: number, ): boolean {