@arkadiuminc/sdk 2.50.0 → 2.51.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,31 @@
1
+ import { RpcProvider } from '../../core/rpc';
2
+ import { GameLifecycleGame } from '../game-lifecycle/game-lifecycle.api';
3
+
4
+ declare type RecordedCommand = {
5
+ type: 'pointerdown' | 'keydown' | 'scroll' | 'pointermove' | 'pointerup';
6
+ timestamp: number;
7
+ key?: string;
8
+ x?: number;
9
+ y?: number;
10
+ };
11
+ export declare class RecorderArena {
12
+ private rpcProvider;
13
+ constructor(rpcProvider: RpcProvider);
14
+ startCapturing(): Promise<void>;
15
+ stopCapturing(): Promise<void>;
16
+ playCommands(commands: RecordedCommand[]): Promise<void>;
17
+ }
18
+ export declare class RecorderGame {
19
+ private rpcProvider;
20
+ private lifecycle;
21
+ private _inputFocused;
22
+ private _isCapturing;
23
+ private _scrollEndListener;
24
+ private _pointerMoveListener;
25
+ private _pointerUpListener;
26
+ constructor(rpcProvider: RpcProvider, lifecycle: GameLifecycleGame);
27
+ startCapturing(): Promise<void>;
28
+ stopCapturing(): Promise<void>;
29
+ private playCommands;
30
+ }
31
+ export {};
@@ -16,6 +16,7 @@ import { NotificationsArena } from './api/features/notifications';
16
16
  import { ChatArena } from './api/features/chat';
17
17
  import { RatingsArena } from './api/features/ratings';
18
18
  import { TournamentsArena } from './api/features/tournaments';
19
+ import { RecorderArena } from './api/features/recorder';
19
20
 
20
21
  import * as MockUserUtils from './api/utils/mockUser';
21
22
  /** @hidden */
@@ -37,13 +38,14 @@ export declare class ArkadiumArenaSdk {
37
38
  chats: ChatArena;
38
39
  ratings: RatingsArena;
39
40
  tournaments: TournamentsArena;
41
+ recorder: RecorderArena;
40
42
  private currentEnv;
41
43
  private currentTarget;
42
44
  private gamePingSender;
43
45
  private gamePingListener;
44
46
  $pingNotification: Observable<number>;
45
47
  version: string;
46
- constructor(backendApi: Backend, host: HostArena, lifecycle: GameLifecycleArena, ads: AdsArena, auth: AuthArena, analytics: AnalyticsApiContract, timeoutTester: TimeoutTesterContract, persistence: PersistenceArena, wallet: WalletArena, debug: DebugProviderArena, supportV1: SupportV1, leaderboard: LeaderboardArena, friends: FriendsArena, notifications: NotificationsArena, chats: ChatArena, ratings: RatingsArena, tournaments: TournamentsArena);
48
+ constructor(backendApi: Backend, host: HostArena, lifecycle: GameLifecycleArena, ads: AdsArena, auth: AuthArena, analytics: AnalyticsApiContract, timeoutTester: TimeoutTesterContract, persistence: PersistenceArena, wallet: WalletArena, debug: DebugProviderArena, supportV1: SupportV1, leaderboard: LeaderboardArena, friends: FriendsArena, notifications: NotificationsArena, chats: ChatArena, ratings: RatingsArena, tournaments: TournamentsArena, recorder: RecorderArena);
47
49
  setEnv(e: ApiEnv): void;
48
50
  initialize(env: ApiEnv, isGameSide: boolean, sessionStorage?: SessionStorageType | null): Promise<void>;
49
51
  private envDiscoverListener;
@@ -10,6 +10,7 @@ import { Wallet, WalletGame } from './api/features/wallet';
10
10
  import { HostGame } from './api/features/host';
11
11
  import { LeaderboardGame } from './api/features/leaderboard';
12
12
  import { TournamentsGame } from './api/features/tournaments';
13
+ import { RecorderGame } from './api/features/recorder';
13
14
 
14
15
  export declare class ArkadiumGameSdk {
15
16
  version: string;
@@ -28,7 +29,7 @@ export declare class ArkadiumGameSdk {
28
29
  wallet: Wallet;
29
30
  leaderboard: LeaderboardGame;
30
31
  tournaments: TournamentsGame;
31
- constructor({ rpcProvider, backendApi, host, lifecycle, ads, auth, analytics, timeoutTester, persistence, wallet, leaderboard, tournaments }: {
32
+ constructor({ rpcProvider, backendApi, host, lifecycle, ads, auth, analytics, timeoutTester, persistence, wallet, leaderboard, tournaments, recorder }: {
32
33
  rpcProvider: RpcProvider;
33
34
  backendApi: Backend;
34
35
  host: HostGame;
@@ -41,6 +42,7 @@ export declare class ArkadiumGameSdk {
41
42
  wallet: WalletGame;
42
43
  leaderboard: LeaderboardGame;
43
44
  tournaments: TournamentsGame;
45
+ recorder: RecorderGame;
44
46
  });
45
47
  initialize(env: ApiEnv, isGameSide: boolean): Promise<void>;
46
48
  getEnv(): ApiEnv;
@@ -1,23 +1,25 @@
1
- const a = "https://developers.arkadium.com/cdn/sdk/v2/sdk.js", l = "https://developers.arkadium.com/cdn/sdk/dev/v2/sdk.js";
2
- var m = /* @__PURE__ */ ((e) => (e.DEV = "DEV", e.PROD = "PROD", e.STAGING = "STAGING", e))(m || {});
1
+ const l = "https://developers.arkadium.com/cdn/sdk/v2/sdk.js", m = "https://developers.arkadium.com/cdn/sdk/dev/v2/sdk.js";
2
+ var f = /* @__PURE__ */ ((e) => (e.DEV = "DEV", e.PROD = "PROD", e.STAGING = "STAGING", e))(f || {});
3
3
  let i, n;
4
- function f(e = "PROD") {
5
- return n ? Promise.resolve(n) : (i || (i = new Promise((t) => {
6
- const d = [
4
+ function u(e = "PROD") {
5
+ return n ? Promise.resolve(n) : (i || (i = new Promise((d, c) => {
6
+ const r = [
7
7
  "STAGING",
8
8
  "PROD"
9
9
  /* PROD */
10
- ].includes(e) ? a : l, s = window.location.href.includes("microsoft") || window.location.href.includes("cdn.zone.msn.com"), c = window.define;
10
+ ].includes(e) ? l : m, s = window.location.href.includes("microsoft") || window.location.href.includes("cdn.zone.msn.com"), a = window.define;
11
11
  s && (window.define = void 0);
12
12
  const o = document.createElement("script");
13
- o.src = d, o.onload = () => {
14
- s && (window.define = c), globalThis.__GameApi__.getInstance().then((r) => {
15
- n = r, t(n);
13
+ o.src = r, o.onload = () => {
14
+ s && (window.define = a), globalThis.__GameApi__.getInstance().then((t) => {
15
+ n = t, d(n);
16
+ }).catch((t) => {
17
+ c(t);
16
18
  });
17
19
  }, (document.head || document.body).appendChild(o);
18
20
  })), i);
19
21
  }
20
22
  export {
21
- m as Env,
22
- f as getInstance
23
+ f as Env,
24
+ u as getInstance
23
25
  };
@@ -1 +1 @@
1
- (function(e,o){typeof exports=="object"&&typeof module<"u"?o(exports):typeof define=="function"&&define.amd?define(["exports"],o):(e=typeof globalThis<"u"?globalThis:e||self,o(e.ArkadiumSdk={}))})(this,function(e){"use strict";const o="https://developers.arkadium.com/cdn/sdk/v2/sdk.js",r="https://developers.arkadium.com/cdn/sdk/dev/v2/sdk.js";var s=(n=>(n.DEV="DEV",n.PROD="PROD",n.STAGING="STAGING",n))(s||{});let t,i;function f(n="PROD"){return i?Promise.resolve(i):(t||(t=new Promise(u=>{const l=["STAGING","PROD"].includes(n)?o:r,c=window.location.href.includes("microsoft")||window.location.href.includes("cdn.zone.msn.com"),a=window.define;c&&(window.define=void 0);const d=document.createElement("script");d.src=l,d.onload=()=>{c&&(window.define=a),globalThis.__GameApi__.getInstance().then(m=>{i=m,u(i)})},(document.head||document.body).appendChild(d)})),t)}e.Env=s,e.getInstance=f,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})});
1
+ (function(e,o){typeof exports=="object"&&typeof module<"u"?o(exports):typeof define=="function"&&define.amd?define(["exports"],o):(e=typeof globalThis<"u"?globalThis:e||self,o(e.ArkadiumSdk={}))})(this,function(e){"use strict";const o="https://developers.arkadium.com/cdn/sdk/v2/sdk.js",f="https://developers.arkadium.com/cdn/sdk/dev/v2/sdk.js";var c=(n=>(n.DEV="DEV",n.PROD="PROD",n.STAGING="STAGING",n))(c||{});let i,t;function u(n="PROD"){return t?Promise.resolve(t):(i||(i=new Promise((l,a)=>{const m=["STAGING","PROD"].includes(n)?o:f,r=window.location.href.includes("microsoft")||window.location.href.includes("cdn.zone.msn.com"),p=window.define;r&&(window.define=void 0);const d=document.createElement("script");d.src=m,d.onload=()=>{r&&(window.define=p),globalThis.__GameApi__.getInstance().then(s=>{t=s,l(t)}).catch(s=>{a(s)})},(document.head||document.body).appendChild(d)})),i)}e.Env=c,e.getInstance=u,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arkadiuminc/sdk",
3
- "version": "2.50.0",
3
+ "version": "2.51.1",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "main": "dist/pkg/arkadium-sdk.umd.js",