@workadventure/iframe-api-typings 1.6.2 → 1.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,8 @@
1
+ import * as tg from "generic-type-guard";
2
+ export declare const isChangeZoneEvent: tg.TypeGuard<object & {
3
+ name: string;
4
+ }>;
5
+ /**
6
+ * A message sent from the game to the iFrame when a user enters or leaves a zone.
7
+ */
8
+ export declare type ChangeZoneEvent = tg.GuardedType<typeof isChangeZoneEvent>;
@@ -0,0 +1,10 @@
1
+ import * as tg from "generic-type-guard";
2
+ export declare const isColorEvent: tg.TypeGuard<object & {
3
+ red: number;
4
+ green: number;
5
+ blue: number;
6
+ }>;
7
+ /**
8
+ * A message sent from the iFrame to the game to dynamically set the outline of the player.
9
+ */
10
+ export declare type ColorEvent = tg.GuardedType<typeof isColorEvent>;
@@ -21,10 +21,10 @@ export declare const isCreateEmbeddedWebsiteEvent: tg.TypeGuard<object & {
21
21
  name: string;
22
22
  url: string;
23
23
  position: object & {
24
- x: any;
25
- y: any;
26
- width: any;
27
- height: any;
24
+ x: number;
25
+ y: number;
26
+ width: number;
27
+ height: number;
28
28
  };
29
29
  } & Partial<{
30
30
  visible: boolean;
@@ -7,6 +7,7 @@ export declare const isGameStateEvent: tg.TypeGuard<object & {
7
7
  startLayerName: string | null;
8
8
  tags: string[];
9
9
  variables: object;
10
+ userRoomToken: string | undefined;
10
11
  }>;
11
12
  /**
12
13
  * A message sent from the game to the iFrame when the gameState is received by the script
@@ -21,6 +21,7 @@ import type { LoadTilesetEvent } from "./LoadTilesetEvent";
21
21
  import type { MessageReferenceEvent } from "./ui/TriggerActionMessageEvent";
22
22
  import type { MenuRegisterEvent, UnregisterMenuEvent } from "./ui/MenuRegisterEvent";
23
23
  import type { ChangeLayerEvent } from "./ChangeLayerEvent";
24
+ import type { ChangeZoneEvent } from "./ChangeZoneEvent";
24
25
  export interface TypedMessageEvent<T> extends MessageEvent {
25
26
  data: T;
26
27
  }
@@ -63,6 +64,8 @@ export interface IframeResponseEventMap {
63
64
  leaveEvent: EnterLeaveEvent;
64
65
  enterLayerEvent: ChangeLayerEvent;
65
66
  leaveLayerEvent: ChangeLayerEvent;
67
+ enterZoneEvent: ChangeZoneEvent;
68
+ leaveZoneEvent: ChangeZoneEvent;
66
69
  buttonClickedEvent: ButtonClickedEvent;
67
70
  hasPlayerMoved: HasPlayerMovedEvent;
68
71
  menuItemClicked: MenuItemClickedEvent;
@@ -91,6 +94,7 @@ export declare const iframeQueryMapTypeGuards: {
91
94
  startLayerName: string | null;
92
95
  tags: string[];
93
96
  variables: object;
97
+ userRoomToken: string | undefined;
94
98
  }>;
95
99
  };
96
100
  getMapData: {
@@ -159,10 +163,10 @@ export declare const iframeQueryMapTypeGuards: {
159
163
  name: string;
160
164
  url: string;
161
165
  position: object & {
162
- x: any;
163
- y: any;
164
- width: any;
165
- height: any;
166
+ x: number;
167
+ y: number;
168
+ width: number;
169
+ height: number;
166
170
  };
167
171
  } & Partial<{
168
172
  visible: boolean;
@@ -179,10 +183,10 @@ export declare const iframeQueryMapTypeGuards: {
179
183
  name: string;
180
184
  url: string;
181
185
  position: object & {
182
- x: any;
183
- y: any;
184
- width: any;
185
- height: any;
186
+ x: number;
187
+ y: number;
188
+ width: number;
189
+ height: number;
186
190
  };
187
191
  } & Partial<{
188
192
  visible: boolean;
@@ -191,6 +195,18 @@ export declare const iframeQueryMapTypeGuards: {
191
195
  }>>;
192
196
  answer: tg.TypeGuard<undefined>;
193
197
  };
198
+ setPlayerOutline: {
199
+ query: tg.TypeGuard<object & {
200
+ red: number;
201
+ green: number;
202
+ blue: number;
203
+ }>;
204
+ answer: tg.TypeGuard<undefined>;
205
+ };
206
+ removePlayerOutline: {
207
+ query: tg.TypeGuard<undefined>;
208
+ answer: tg.TypeGuard<undefined>;
209
+ };
194
210
  };
195
211
  declare type GuardedType<T> = T extends (x: unknown) => x is infer T ? T : never;
196
212
  declare type IframeQueryMapTypeGuardsType = typeof iframeQueryMapTypeGuards;
@@ -209,9 +225,9 @@ export interface IframeQueryWrapper<T extends keyof IframeQueryMap> {
209
225
  id: number;
210
226
  query: IframeQuery<T>;
211
227
  }
212
- export declare const isIframeQueryKey: (type: string) => type is "getState" | "getMapData" | "setVariable" | "loadTileset" | "openCoWebsite" | "getCoWebsites" | "closeCoWebsite" | "closeCoWebsites" | "triggerActionMessage" | "removeActionMessage" | "getEmbeddedWebsite" | "deleteEmbeddedWebsite" | "createEmbeddedWebsite";
213
- export declare const isIframeQuery: (event: any) => event is IframeQuery<"getState" | "getMapData" | "setVariable" | "loadTileset" | "openCoWebsite" | "getCoWebsites" | "closeCoWebsite" | "closeCoWebsites" | "triggerActionMessage" | "removeActionMessage" | "getEmbeddedWebsite" | "deleteEmbeddedWebsite" | "createEmbeddedWebsite">;
214
- export declare const isIframeQueryWrapper: (event: any) => event is IframeQueryWrapper<"getState" | "getMapData" | "setVariable" | "loadTileset" | "openCoWebsite" | "getCoWebsites" | "closeCoWebsite" | "closeCoWebsites" | "triggerActionMessage" | "removeActionMessage" | "getEmbeddedWebsite" | "deleteEmbeddedWebsite" | "createEmbeddedWebsite">;
228
+ export declare const isIframeQueryKey: (type: string) => type is "getState" | "getMapData" | "setVariable" | "loadTileset" | "openCoWebsite" | "getCoWebsites" | "closeCoWebsite" | "closeCoWebsites" | "triggerActionMessage" | "removeActionMessage" | "getEmbeddedWebsite" | "deleteEmbeddedWebsite" | "createEmbeddedWebsite" | "setPlayerOutline" | "removePlayerOutline";
229
+ export declare const isIframeQuery: (event: any) => event is IframeQuery<"getState" | "getMapData" | "setVariable" | "loadTileset" | "openCoWebsite" | "getCoWebsites" | "closeCoWebsite" | "closeCoWebsites" | "triggerActionMessage" | "removeActionMessage" | "getEmbeddedWebsite" | "deleteEmbeddedWebsite" | "createEmbeddedWebsite" | "setPlayerOutline" | "removePlayerOutline">;
230
+ export declare const isIframeQueryWrapper: (event: any) => event is IframeQueryWrapper<"getState" | "getMapData" | "setVariable" | "loadTileset" | "openCoWebsite" | "getCoWebsites" | "closeCoWebsite" | "closeCoWebsites" | "triggerActionMessage" | "removeActionMessage" | "getEmbeddedWebsite" | "deleteEmbeddedWebsite" | "createEmbeddedWebsite" | "setPlayerOutline" | "removePlayerOutline">;
215
231
  export interface IframeAnswerEvent<T extends keyof IframeQueryMap> {
216
232
  id: number;
217
233
  type: T;
@@ -220,7 +236,7 @@ export interface IframeAnswerEvent<T extends keyof IframeQueryMap> {
220
236
  export declare const isIframeAnswerEvent: (event: {
221
237
  type?: string;
222
238
  id?: number;
223
- }) => event is IframeAnswerEvent<"getState" | "getMapData" | "setVariable" | "loadTileset" | "openCoWebsite" | "getCoWebsites" | "closeCoWebsite" | "closeCoWebsites" | "triggerActionMessage" | "removeActionMessage" | "getEmbeddedWebsite" | "deleteEmbeddedWebsite" | "createEmbeddedWebsite">;
239
+ }) => event is IframeAnswerEvent<"getState" | "getMapData" | "setVariable" | "loadTileset" | "openCoWebsite" | "getCoWebsites" | "closeCoWebsite" | "closeCoWebsites" | "triggerActionMessage" | "removeActionMessage" | "getEmbeddedWebsite" | "deleteEmbeddedWebsite" | "createEmbeddedWebsite" | "setPlayerOutline" | "removePlayerOutline">;
224
240
  export interface IframeErrorAnswerEvent {
225
241
  id: number;
226
242
  type: keyof IframeQueryMap;
@@ -4,8 +4,8 @@ export declare const isOpenPopupEvent: tg.TypeGuard<object & {
4
4
  targetObject: string;
5
5
  message: string;
6
6
  buttons: (object & {
7
- label: any;
8
- className: any;
7
+ label: string;
8
+ className: string | undefined;
9
9
  })[];
10
10
  }>;
11
11
  /**
@@ -2,13 +2,13 @@ import * as tg from "generic-type-guard";
2
2
  export declare const isPlaySoundEvent: tg.TypeGuard<object & {
3
3
  url: string;
4
4
  config: (object & {
5
- volume: any;
6
- loop: any;
7
- mute: any;
8
- rate: any;
9
- detune: any;
10
- seek: any;
11
- delay: any;
5
+ volume: number | undefined;
6
+ loop: boolean | undefined;
7
+ mute: boolean | undefined;
8
+ rate: number | undefined;
9
+ detune: number | undefined;
10
+ seek: number | undefined;
11
+ delay: number | undefined;
12
12
  }) | undefined;
13
13
  }>;
14
14
  /**
@@ -10,7 +10,7 @@ export declare type SetVariableEvent = tg.GuardedType<typeof isSetVariableEvent>
10
10
  export declare const isSetVariableIframeEvent: tg.TypeGuard<object & {
11
11
  type: "setVariable";
12
12
  data: object & {
13
- key: any;
14
- value: any;
13
+ key: string;
14
+ value: unknown;
15
15
  };
16
16
  }>;
@@ -16,7 +16,7 @@ export declare const isMenuRegisterEvent: tg.TypeGuard<object & {
16
16
  name: string;
17
17
  iframe: string | undefined;
18
18
  options: object & {
19
- allowApi: any;
19
+ allowApi: boolean;
20
20
  };
21
21
  }>;
22
22
  export declare type MenuRegisterEvent = tg.GuardedType<typeof isMenuRegisterEvent>;
@@ -2,13 +2,13 @@ import * as tg from "generic-type-guard";
2
2
  export declare const isTriggerMessageHandlerEvent: tg.PartialTypeGuard<unknown, (object & {
3
3
  type: "triggerActionMessage";
4
4
  data: object & {
5
- message: any;
6
- uuid: any;
7
- type: any;
5
+ message: string;
6
+ uuid: string;
7
+ type: "message" | "warning";
8
8
  };
9
9
  }) | (object & {
10
10
  type: "removeActionMessage";
11
11
  data: object & {
12
- uuid: any;
12
+ uuid: string;
13
13
  };
14
14
  })>;
@@ -13,8 +13,8 @@ declare class IframeListener {
13
13
  targetObject: string;
14
14
  message: string;
15
15
  buttons: (object & {
16
- label: any;
17
- className: any;
16
+ label: string;
17
+ className: string | undefined;
18
18
  })[];
19
19
  }>;
20
20
  private readonly _openTabStream;
@@ -53,13 +53,13 @@ declare class IframeListener {
53
53
  readonly playSoundStream: import("rxjs").Observable<object & {
54
54
  url: string;
55
55
  config: (object & {
56
- volume: any;
57
- loop: any;
58
- mute: any;
59
- rate: any;
60
- detune: any;
61
- seek: any;
62
- delay: any;
56
+ volume: number | undefined;
57
+ loop: boolean | undefined;
58
+ mute: boolean | undefined;
59
+ rate: number | undefined;
60
+ detune: number | undefined;
61
+ seek: number | undefined;
62
+ delay: number | undefined;
63
63
  }) | undefined;
64
64
  }>;
65
65
  private readonly _stopSoundStream;
@@ -111,6 +111,8 @@ declare class IframeListener {
111
111
  sendLeaveEvent(name: string): void;
112
112
  sendEnterLayerEvent(layerName: string): void;
113
113
  sendLeaveLayerEvent(layerName: string): void;
114
+ sendEnterZoneEvent(zoneName: string): void;
115
+ sendLeaveZoneEvent(zoneName: string): void;
114
116
  hasPlayerMoved(event: HasPlayerMovedEvent): void;
115
117
  sendButtonClickedEvent(popupId: number, buttonId: number): void;
116
118
  setVariable(setVariableEvent: SetVariableEvent): void;
@@ -2,6 +2,7 @@ import { IframeApiContribution } from "./IframeApiContribution";
2
2
  import type { HasPlayerMovedEventCallback } from "../Events/HasPlayerMovedEvent";
3
3
  export declare const setPlayerName: (name: string) => void;
4
4
  export declare const setTags: (_tags: string[]) => void;
5
+ export declare const setUserRoomToken: (token: string | undefined) => void;
5
6
  export declare const setUuid: (_uuid: string | undefined) => void;
6
7
  export declare class WorkadventurePlayerCommands extends IframeApiContribution<WorkadventurePlayerCommands> {
7
8
  callbacks: import("./IframeApiContribution").IframeCallbackContribution<keyof import("../Events/IframeEvent").IframeResponseEventMap>[];
@@ -9,6 +10,9 @@ export declare class WorkadventurePlayerCommands extends IframeApiContribution<W
9
10
  get name(): string;
10
11
  get tags(): string[];
11
12
  get id(): string | undefined;
13
+ get userRoomToken(): string | undefined;
14
+ setOutlineColor(red: number, green: number, blue: number): Promise<void>;
15
+ removeOutlineColor(): Promise<void>;
12
16
  }
13
17
  declare const _default: WorkadventurePlayerCommands;
14
18
  export default _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@workadventure/iframe-api-typings",
3
- "version": "v1.6.2",
3
+ "version": "v1.7.1",
4
4
  "description": "Typescript typings for WorkAdventure iFrame API",
5
5
  "main": "iframe_api.js",
6
6
  "types": "iframe_api.d.ts",