@workadventure/iframe-api-typings 1.7.1 → 1.7.2
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/EmbeddedWebsiteEvent.d.ts +4 -0
- package/Api/Events/GameStateEvent.d.ts +1 -0
- package/Api/Events/IframeEvent.d.ts +20 -4
- package/Api/Events/PlayerPosition.d.ts +6 -0
- package/Api/Events/SetVariableEvent.d.ts +2 -0
- package/Api/Events/WasCameraUpdatedEvent.d.ts +13 -0
- package/Api/IframeListener.d.ts +8 -0
- package/Api/iframe/Room/EmbeddedWebsite.d.ts +10 -0
- package/Api/iframe/camera.d.ts +9 -0
- package/Api/iframe/player.d.ts +8 -0
- package/Api/iframe/state.d.ts +7 -3
- package/iframe_api.d.ts +4 -2
- package/package.json +1 -1
|
@@ -16,6 +16,8 @@ export declare const isEmbeddedWebsiteEvent: tg.TypeGuard<object & {
|
|
|
16
16
|
y: number;
|
|
17
17
|
width: number;
|
|
18
18
|
height: number;
|
|
19
|
+
origin: "player" | "map";
|
|
20
|
+
scale: number;
|
|
19
21
|
}>>;
|
|
20
22
|
export declare const isCreateEmbeddedWebsiteEvent: tg.TypeGuard<object & {
|
|
21
23
|
name: string;
|
|
@@ -30,6 +32,8 @@ export declare const isCreateEmbeddedWebsiteEvent: tg.TypeGuard<object & {
|
|
|
30
32
|
visible: boolean;
|
|
31
33
|
allowApi: boolean;
|
|
32
34
|
allow: string;
|
|
35
|
+
origin: "player" | "map";
|
|
36
|
+
scale: number;
|
|
33
37
|
}>>;
|
|
34
38
|
/**
|
|
35
39
|
* A message sent from the iFrame to the game to modify an embedded website
|
|
@@ -8,6 +8,7 @@ export declare const isGameStateEvent: tg.TypeGuard<object & {
|
|
|
8
8
|
tags: string[];
|
|
9
9
|
variables: object;
|
|
10
10
|
userRoomToken: string | undefined;
|
|
11
|
+
playerVariables: object;
|
|
11
12
|
}>;
|
|
12
13
|
/**
|
|
13
14
|
* A message sent from the game to the iFrame when the gameState is received by the script
|
|
@@ -22,6 +22,7 @@ import type { MessageReferenceEvent } from "./ui/TriggerActionMessageEvent";
|
|
|
22
22
|
import type { MenuRegisterEvent, UnregisterMenuEvent } from "./ui/MenuRegisterEvent";
|
|
23
23
|
import type { ChangeLayerEvent } from "./ChangeLayerEvent";
|
|
24
24
|
import type { ChangeZoneEvent } from "./ChangeZoneEvent";
|
|
25
|
+
import type { WasCameraUpdatedEvent } from "./WasCameraUpdatedEvent";
|
|
25
26
|
export interface TypedMessageEvent<T> extends MessageEvent {
|
|
26
27
|
data: T;
|
|
27
28
|
}
|
|
@@ -40,6 +41,7 @@ export declare type IframeEventMap = {
|
|
|
40
41
|
displayBubble: null;
|
|
41
42
|
removeBubble: null;
|
|
42
43
|
onPlayerMove: undefined;
|
|
44
|
+
onCameraUpdate: undefined;
|
|
43
45
|
showLayer: LayerEvent;
|
|
44
46
|
hideLayer: LayerEvent;
|
|
45
47
|
setProperty: SetPropertyEvent;
|
|
@@ -68,6 +70,7 @@ export interface IframeResponseEventMap {
|
|
|
68
70
|
leaveZoneEvent: ChangeZoneEvent;
|
|
69
71
|
buttonClickedEvent: ButtonClickedEvent;
|
|
70
72
|
hasPlayerMoved: HasPlayerMovedEvent;
|
|
73
|
+
wasCameraUpdated: WasCameraUpdatedEvent;
|
|
71
74
|
menuItemClicked: MenuItemClickedEvent;
|
|
72
75
|
setVariable: SetVariableEvent;
|
|
73
76
|
messageTriggered: MessageReferenceEvent;
|
|
@@ -95,6 +98,7 @@ export declare const iframeQueryMapTypeGuards: {
|
|
|
95
98
|
tags: string[];
|
|
96
99
|
variables: object;
|
|
97
100
|
userRoomToken: string | undefined;
|
|
101
|
+
playerVariables: object;
|
|
98
102
|
}>;
|
|
99
103
|
};
|
|
100
104
|
getMapData: {
|
|
@@ -107,6 +111,7 @@ export declare const iframeQueryMapTypeGuards: {
|
|
|
107
111
|
query: tg.TypeGuard<object & {
|
|
108
112
|
key: string;
|
|
109
113
|
value: unknown;
|
|
114
|
+
target: "global" | "player";
|
|
110
115
|
}>;
|
|
111
116
|
answer: tg.TypeGuard<undefined>;
|
|
112
117
|
};
|
|
@@ -172,6 +177,8 @@ export declare const iframeQueryMapTypeGuards: {
|
|
|
172
177
|
visible: boolean;
|
|
173
178
|
allowApi: boolean;
|
|
174
179
|
allow: string;
|
|
180
|
+
origin: "player" | "map";
|
|
181
|
+
scale: number;
|
|
175
182
|
}>>;
|
|
176
183
|
};
|
|
177
184
|
deleteEmbeddedWebsite: {
|
|
@@ -192,6 +199,8 @@ export declare const iframeQueryMapTypeGuards: {
|
|
|
192
199
|
visible: boolean;
|
|
193
200
|
allowApi: boolean;
|
|
194
201
|
allow: string;
|
|
202
|
+
origin: "player" | "map";
|
|
203
|
+
scale: number;
|
|
195
204
|
}>>;
|
|
196
205
|
answer: tg.TypeGuard<undefined>;
|
|
197
206
|
};
|
|
@@ -207,6 +216,13 @@ export declare const iframeQueryMapTypeGuards: {
|
|
|
207
216
|
query: tg.TypeGuard<undefined>;
|
|
208
217
|
answer: tg.TypeGuard<undefined>;
|
|
209
218
|
};
|
|
219
|
+
getPlayerPosition: {
|
|
220
|
+
query: tg.TypeGuard<undefined>;
|
|
221
|
+
answer: tg.TypeGuard<object & {
|
|
222
|
+
x: number;
|
|
223
|
+
y: number;
|
|
224
|
+
}>;
|
|
225
|
+
};
|
|
210
226
|
};
|
|
211
227
|
declare type GuardedType<T> = T extends (x: unknown) => x is infer T ? T : never;
|
|
212
228
|
declare type IframeQueryMapTypeGuardsType = typeof iframeQueryMapTypeGuards;
|
|
@@ -225,9 +241,9 @@ export interface IframeQueryWrapper<T extends keyof IframeQueryMap> {
|
|
|
225
241
|
id: number;
|
|
226
242
|
query: IframeQuery<T>;
|
|
227
243
|
}
|
|
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">;
|
|
244
|
+
export declare const isIframeQueryKey: (type: string) => type is "getState" | "getMapData" | "setVariable" | "loadTileset" | "openCoWebsite" | "getCoWebsites" | "closeCoWebsite" | "closeCoWebsites" | "triggerActionMessage" | "removeActionMessage" | "getEmbeddedWebsite" | "deleteEmbeddedWebsite" | "createEmbeddedWebsite" | "setPlayerOutline" | "removePlayerOutline" | "getPlayerPosition";
|
|
245
|
+
export declare const isIframeQuery: (event: any) => event is IframeQuery<"getState" | "getMapData" | "setVariable" | "loadTileset" | "openCoWebsite" | "getCoWebsites" | "closeCoWebsite" | "closeCoWebsites" | "triggerActionMessage" | "removeActionMessage" | "getEmbeddedWebsite" | "deleteEmbeddedWebsite" | "createEmbeddedWebsite" | "setPlayerOutline" | "removePlayerOutline" | "getPlayerPosition">;
|
|
246
|
+
export declare const isIframeQueryWrapper: (event: any) => event is IframeQueryWrapper<"getState" | "getMapData" | "setVariable" | "loadTileset" | "openCoWebsite" | "getCoWebsites" | "closeCoWebsite" | "closeCoWebsites" | "triggerActionMessage" | "removeActionMessage" | "getEmbeddedWebsite" | "deleteEmbeddedWebsite" | "createEmbeddedWebsite" | "setPlayerOutline" | "removePlayerOutline" | "getPlayerPosition">;
|
|
231
247
|
export interface IframeAnswerEvent<T extends keyof IframeQueryMap> {
|
|
232
248
|
id: number;
|
|
233
249
|
type: T;
|
|
@@ -236,7 +252,7 @@ export interface IframeAnswerEvent<T extends keyof IframeQueryMap> {
|
|
|
236
252
|
export declare const isIframeAnswerEvent: (event: {
|
|
237
253
|
type?: string;
|
|
238
254
|
id?: number;
|
|
239
|
-
}) => event is IframeAnswerEvent<"getState" | "getMapData" | "setVariable" | "loadTileset" | "openCoWebsite" | "getCoWebsites" | "closeCoWebsite" | "closeCoWebsites" | "triggerActionMessage" | "removeActionMessage" | "getEmbeddedWebsite" | "deleteEmbeddedWebsite" | "createEmbeddedWebsite" | "setPlayerOutline" | "removePlayerOutline">;
|
|
255
|
+
}) => event is IframeAnswerEvent<"getState" | "getMapData" | "setVariable" | "loadTileset" | "openCoWebsite" | "getCoWebsites" | "closeCoWebsite" | "closeCoWebsites" | "triggerActionMessage" | "removeActionMessage" | "getEmbeddedWebsite" | "deleteEmbeddedWebsite" | "createEmbeddedWebsite" | "setPlayerOutline" | "removePlayerOutline" | "getPlayerPosition">;
|
|
240
256
|
export interface IframeErrorAnswerEvent {
|
|
241
257
|
id: number;
|
|
242
258
|
type: keyof IframeQueryMap;
|
|
@@ -2,6 +2,7 @@ import * as tg from "generic-type-guard";
|
|
|
2
2
|
export declare const isSetVariableEvent: tg.TypeGuard<object & {
|
|
3
3
|
key: string;
|
|
4
4
|
value: unknown;
|
|
5
|
+
target: "global" | "player";
|
|
5
6
|
}>;
|
|
6
7
|
/**
|
|
7
8
|
* A message sent from the iFrame to the game to change the value of the property of the layer
|
|
@@ -12,5 +13,6 @@ export declare const isSetVariableIframeEvent: tg.TypeGuard<object & {
|
|
|
12
13
|
data: object & {
|
|
13
14
|
key: string;
|
|
14
15
|
value: unknown;
|
|
16
|
+
target: "global" | "player";
|
|
15
17
|
};
|
|
16
18
|
}>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as tg from "generic-type-guard";
|
|
2
|
+
export declare const isWasCameraUpdatedEvent: tg.TypeGuard<object & {
|
|
3
|
+
x: number;
|
|
4
|
+
y: number;
|
|
5
|
+
width: number;
|
|
6
|
+
height: number;
|
|
7
|
+
zoom: number;
|
|
8
|
+
}>;
|
|
9
|
+
/**
|
|
10
|
+
* A message sent from the game to the iFrame to notify a movement from the camera.
|
|
11
|
+
*/
|
|
12
|
+
export declare type WasCameraUpdatedEvent = tg.GuardedType<typeof isWasCameraUpdatedEvent>;
|
|
13
|
+
export declare type WasCameraUpdatedEventCallback = (event: WasCameraUpdatedEvent) => void;
|
package/Api/IframeListener.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { IframeQueryMap, IframeResponseEvent, IframeResponseEventMap } from "./Events/IframeEvent";
|
|
2
2
|
import type { HasPlayerMovedEvent } from "./Events/HasPlayerMovedEvent";
|
|
3
3
|
import type { SetVariableEvent } from "./Events/SetVariableEvent";
|
|
4
|
+
import type { WasCameraUpdatedEvent } from "./Events/WasCameraUpdatedEvent";
|
|
4
5
|
declare type AnswererCallback<T extends keyof IframeQueryMap> = (query: IframeQueryMap[T]["query"], source: MessageEventSource | null) => IframeQueryMap[T]["answer"] | PromiseLike<IframeQueryMap[T]["answer"]>;
|
|
5
6
|
/**
|
|
6
7
|
* Listens to messages from iframes and turn those messages into easy to use observables.
|
|
@@ -70,6 +71,10 @@ declare class IframeListener {
|
|
|
70
71
|
readonly loadSoundStream: import("rxjs").Observable<object & {
|
|
71
72
|
url: string;
|
|
72
73
|
}>;
|
|
74
|
+
private readonly _trackCameraUpdateStream;
|
|
75
|
+
readonly trackCameraUpdateStream: import("rxjs").Observable<object & {
|
|
76
|
+
url: string;
|
|
77
|
+
}>;
|
|
73
78
|
private readonly _setTilesStream;
|
|
74
79
|
readonly setTilesStream: import("rxjs").Observable<(object & {
|
|
75
80
|
x: number;
|
|
@@ -89,6 +94,8 @@ declare class IframeListener {
|
|
|
89
94
|
y: number;
|
|
90
95
|
width: number;
|
|
91
96
|
height: number;
|
|
97
|
+
origin: "player" | "map";
|
|
98
|
+
scale: number;
|
|
92
99
|
}>>;
|
|
93
100
|
private readonly iframes;
|
|
94
101
|
private readonly iframeCloseCallbacks;
|
|
@@ -114,6 +121,7 @@ declare class IframeListener {
|
|
|
114
121
|
sendEnterZoneEvent(zoneName: string): void;
|
|
115
122
|
sendLeaveZoneEvent(zoneName: string): void;
|
|
116
123
|
hasPlayerMoved(event: HasPlayerMovedEvent): void;
|
|
124
|
+
sendCameraUpdated(event: WasCameraUpdatedEvent): void;
|
|
117
125
|
sendButtonClickedEvent(popupId: number, buttonId: number): void;
|
|
118
126
|
setVariable(setVariableEvent: SetVariableEvent): void;
|
|
119
127
|
sendActionMessageTriggered(uuid: string): void;
|
|
@@ -7,11 +7,21 @@ export declare class EmbeddedWebsite {
|
|
|
7
7
|
private _allow;
|
|
8
8
|
private _allowApi;
|
|
9
9
|
private _position;
|
|
10
|
+
private readonly origin;
|
|
11
|
+
private _scale;
|
|
10
12
|
constructor(config: CreateEmbeddedWebsiteEvent);
|
|
13
|
+
get url(): string;
|
|
11
14
|
set url(url: string);
|
|
15
|
+
get visible(): boolean;
|
|
12
16
|
set visible(visible: boolean);
|
|
17
|
+
get x(): number;
|
|
13
18
|
set x(x: number);
|
|
19
|
+
get y(): number;
|
|
14
20
|
set y(y: number);
|
|
21
|
+
get width(): number;
|
|
15
22
|
set width(width: number);
|
|
23
|
+
get height(): number;
|
|
16
24
|
set height(height: number);
|
|
25
|
+
get scale(): number;
|
|
26
|
+
set scale(scale: number);
|
|
17
27
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IframeApiContribution } from "./IframeApiContribution";
|
|
2
|
+
import { Subject } from "rxjs";
|
|
3
|
+
import type { WasCameraUpdatedEvent } from "../Events/WasCameraUpdatedEvent";
|
|
4
|
+
export declare class WorkAdventureCameraCommands extends IframeApiContribution<WorkAdventureCameraCommands> {
|
|
5
|
+
callbacks: import("./IframeApiContribution").IframeCallbackContribution<keyof import("../Events/IframeEvent").IframeResponseEventMap>[];
|
|
6
|
+
onCameraUpdate(): Subject<WasCameraUpdatedEvent>;
|
|
7
|
+
}
|
|
8
|
+
declare const _default: WorkAdventureCameraCommands;
|
|
9
|
+
export default _default;
|
package/Api/iframe/player.d.ts
CHANGED
|
@@ -5,14 +5,22 @@ export declare const setTags: (_tags: string[]) => void;
|
|
|
5
5
|
export declare const setUserRoomToken: (token: string | undefined) => void;
|
|
6
6
|
export declare const setUuid: (_uuid: string | undefined) => void;
|
|
7
7
|
export declare class WorkadventurePlayerCommands extends IframeApiContribution<WorkadventurePlayerCommands> {
|
|
8
|
+
readonly state: import("./state").WorkadventureStateCommands & {
|
|
9
|
+
[key: string]: unknown;
|
|
10
|
+
};
|
|
8
11
|
callbacks: import("./IframeApiContribution").IframeCallbackContribution<keyof import("../Events/IframeEvent").IframeResponseEventMap>[];
|
|
9
12
|
onPlayerMove(callback: HasPlayerMovedEventCallback): void;
|
|
10
13
|
get name(): string;
|
|
11
14
|
get tags(): string[];
|
|
12
15
|
get id(): string | undefined;
|
|
16
|
+
getPosition(): Promise<Position>;
|
|
13
17
|
get userRoomToken(): string | undefined;
|
|
14
18
|
setOutlineColor(red: number, green: number, blue: number): Promise<void>;
|
|
15
19
|
removeOutlineColor(): Promise<void>;
|
|
16
20
|
}
|
|
21
|
+
export declare type Position = {
|
|
22
|
+
x: number;
|
|
23
|
+
y: number;
|
|
24
|
+
};
|
|
17
25
|
declare const _default: WorkadventurePlayerCommands;
|
|
18
26
|
export default _default;
|
package/Api/iframe/state.d.ts
CHANGED
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import { Observable } from "rxjs";
|
|
2
2
|
import { IframeApiContribution } from "./IframeApiContribution";
|
|
3
|
-
export declare const initVariables: (_variables: Map<string, unknown>) => void;
|
|
4
3
|
export declare class WorkadventureStateCommands extends IframeApiContribution<WorkadventureStateCommands> {
|
|
4
|
+
private target;
|
|
5
|
+
private setVariableResolvers;
|
|
6
|
+
private variables;
|
|
7
|
+
private variableSubscribers;
|
|
8
|
+
constructor(target: "global" | "player");
|
|
5
9
|
callbacks: import("./IframeApiContribution").IframeCallbackContribution<keyof import("../Events/IframeEvent").IframeResponseEventMap>[];
|
|
10
|
+
initVariables(_variables: Map<string, unknown>): void;
|
|
6
11
|
saveVariable(key: string, value: unknown): Promise<void>;
|
|
7
12
|
loadVariable(key: string): unknown;
|
|
8
13
|
hasVariable(key: string): boolean;
|
|
9
14
|
onVariableChange(key: string): Observable<unknown>;
|
|
10
15
|
}
|
|
11
|
-
declare
|
|
16
|
+
export declare function createState(target: "global" | "player"): WorkadventureStateCommands & {
|
|
12
17
|
[key: string]: unknown;
|
|
13
18
|
};
|
|
14
|
-
export default proxyCommand;
|
package/iframe_api.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { CoWebsite } from "./Api/iframe/nav";
|
|
1
2
|
import type { ButtonDescriptor } from "./Api/iframe/Ui/ButtonDescriptor";
|
|
2
3
|
import type { Popup } from "./Api/iframe/Ui/Popup";
|
|
3
4
|
import type { Sound } from "./Api/iframe/Sound/Sound";
|
|
@@ -9,6 +10,7 @@ declare const wa: {
|
|
|
9
10
|
sound: import("./Api/iframe/sound").WorkadventureSoundCommands;
|
|
10
11
|
room: import("./Api/iframe/room").WorkadventureRoomCommands;
|
|
11
12
|
player: import("./Api/iframe/player").WorkadventurePlayerCommands;
|
|
13
|
+
camera: import("./Api/iframe/camera").WorkAdventureCameraCommands;
|
|
12
14
|
state: import("./Api/iframe/state").WorkadventureStateCommands & {
|
|
13
15
|
[key: string]: unknown;
|
|
14
16
|
};
|
|
@@ -52,11 +54,11 @@ declare const wa: {
|
|
|
52
54
|
/**
|
|
53
55
|
* @deprecated Use WA.nav.openCoWebSite instead
|
|
54
56
|
*/
|
|
55
|
-
openCoWebSite(url: string, allowApi?: boolean, allowPolicy?: string):
|
|
57
|
+
openCoWebSite(url: string, allowApi?: boolean, allowPolicy?: string): Promise<CoWebsite>;
|
|
56
58
|
/**
|
|
57
59
|
* @deprecated Use WA.nav.closeCoWebSite instead
|
|
58
60
|
*/
|
|
59
|
-
closeCoWebSite(): void
|
|
61
|
+
closeCoWebSite(): Promise<void>;
|
|
60
62
|
/**
|
|
61
63
|
* @deprecated Use WA.ui.openPopup instead
|
|
62
64
|
*/
|