@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.
- package/Api/Events/ChangeZoneEvent.d.ts +8 -0
- package/Api/Events/ColorEvent.d.ts +10 -0
- package/Api/Events/EmbeddedWebsiteEvent.d.ts +4 -4
- package/Api/Events/GameStateEvent.d.ts +1 -0
- package/Api/Events/IframeEvent.d.ts +28 -12
- package/Api/Events/OpenPopupEvent.d.ts +2 -2
- package/Api/Events/PlaySoundEvent.d.ts +7 -7
- package/Api/Events/SetVariableEvent.d.ts +2 -2
- package/Api/Events/ui/MenuRegisterEvent.d.ts +1 -1
- package/Api/Events/ui/TriggerMessageEventHandler.d.ts +4 -4
- package/Api/IframeListener.d.ts +11 -9
- package/Api/iframe/player.d.ts +4 -0
- package/package.json +1 -1
|
@@ -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:
|
|
25
|
-
y:
|
|
26
|
-
width:
|
|
27
|
-
height:
|
|
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:
|
|
163
|
-
y:
|
|
164
|
-
width:
|
|
165
|
-
height:
|
|
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:
|
|
183
|
-
y:
|
|
184
|
-
width:
|
|
185
|
-
height:
|
|
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;
|
|
@@ -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:
|
|
6
|
-
loop:
|
|
7
|
-
mute:
|
|
8
|
-
rate:
|
|
9
|
-
detune:
|
|
10
|
-
seek:
|
|
11
|
-
delay:
|
|
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:
|
|
14
|
-
value:
|
|
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:
|
|
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:
|
|
6
|
-
uuid:
|
|
7
|
-
type:
|
|
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:
|
|
12
|
+
uuid: string;
|
|
13
13
|
};
|
|
14
14
|
})>;
|
package/Api/IframeListener.d.ts
CHANGED
|
@@ -13,8 +13,8 @@ declare class IframeListener {
|
|
|
13
13
|
targetObject: string;
|
|
14
14
|
message: string;
|
|
15
15
|
buttons: (object & {
|
|
16
|
-
label:
|
|
17
|
-
className:
|
|
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:
|
|
57
|
-
loop:
|
|
58
|
-
mute:
|
|
59
|
-
rate:
|
|
60
|
-
detune:
|
|
61
|
-
seek:
|
|
62
|
-
delay:
|
|
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;
|
package/Api/iframe/player.d.ts
CHANGED
|
@@ -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;
|