@arkadiuminc/sdk 2.11.0 → 2.13.0

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.
@@ -1,4 +1,5 @@
1
1
  import { RpcProvider } from './rpc';
2
+
2
3
  export interface TimeoutTesterContract {
3
4
  timeout(): Promise<void>;
4
5
  }
@@ -1,4 +1,5 @@
1
- import { ApiEnv } from "../../backend/backend.api";
1
+ import { ApiEnv } from '../../backend/backend.api';
2
+
2
3
  export declare class VideoAd {
3
4
  static getInstance(): VideoAd;
4
5
  protected _scriptLoaded: Promise<void>;
@@ -1,6 +1,7 @@
1
1
  import { RpcProvider } from '../../core/rpc';
2
2
  import { ApiEnv } from '../backend/backend.api';
3
3
  import { Auth } from '../auth/';
4
+
4
5
  export interface GameAdsContract {
5
6
  showPrerollAd?(options: {
6
7
  duration?: number;
@@ -1,4 +1,5 @@
1
- import { ApiEnv } from "../backend/backend.api";
1
+ import { ApiEnv } from '../backend/backend.api';
2
+
2
3
  export declare class VideoAd {
3
4
  static domain: string;
4
5
  static getInstance(domain?: string): VideoAd;
@@ -2,6 +2,7 @@ import { RpcProvider } from '../../core/rpc';
2
2
  import { AnalyticsProviderType, IAnalyticConfig } from './defs';
3
3
  import { DimensionsObject, Dimension } from './dimensions';
4
4
  import { IHost } from '../host';
5
+
5
6
  interface EnvironmentVersion {
6
7
  GameKey: string;
7
8
  GameVersion: string;
@@ -1,5 +1,6 @@
1
- import { DimensionsObject } from "../dimensions";
1
+ import { DimensionsObject } from '../dimensions';
2
2
  import { IAnalyticConfig } from '../defs';
3
+
3
4
  declare type EventArr = [string, string, DimensionsObject];
4
5
  declare type PageViewArr = [string, DimensionsObject];
5
6
  export declare abstract class AnalyticsProvider {
@@ -14,6 +15,6 @@ export declare abstract class AnalyticsProvider {
14
15
  sendEvent(eventCategory: string, eventAction: string, dimensions: DimensionsObject): void;
15
16
  sendPageView(pageName: string, dimensions: DimensionsObject): void;
16
17
  trackException(exception: Error): void;
17
- getProviderType(): import("../defs").AnalyticsProviderType;
18
+ getProviderType(): import('../defs').AnalyticsProviderType;
18
19
  }
19
20
  export {};
@@ -1,5 +1,6 @@
1
- import { DimensionsObject } from "../dimensions";
2
- import { AnalyticsProvider } from "./AnalyticsProvider";
1
+ import { DimensionsObject } from '../dimensions';
2
+ import { AnalyticsProvider } from './AnalyticsProvider';
3
+
3
4
  declare global {
4
5
  interface Window {
5
6
  Microsoft: {
@@ -1,5 +1,6 @@
1
- import { DimensionsObject } from "../dimensions";
2
- import { AnalyticsProvider } from "./AnalyticsProvider";
1
+ import { DimensionsObject } from '../dimensions';
2
+ import { AnalyticsProvider } from './AnalyticsProvider';
3
+
3
4
  /**
4
5
  * based on game-core-monorepo/packages/engine/src/Analytics/Provider/ConsoleAnalytic.ts
5
6
  */
@@ -1,5 +1,6 @@
1
- import { DimensionsObject, Dimension } from "../dimensions";
2
- import { AnalyticsProvider } from "./AnalyticsProvider";
1
+ import { DimensionsObject, Dimension } from '../dimensions';
2
+ import { AnalyticsProvider } from './AnalyticsProvider';
3
+
3
4
  /**
4
5
  * based on game-core-monorepo/packages/engine/src/Analytics/Provider/GoogleAnalytic.ts
5
6
  */
@@ -2,6 +2,7 @@ import { ApiEnv, Backend } from '../backend/backend.api';
2
2
  import { createStore } from '../../utils/observable';
3
3
  import { RpcProvider } from '../../core/rpc';
4
4
  import { IHost } from '../host';
5
+
5
6
  interface Image {
6
7
  png: string;
7
8
  webp: string;
@@ -1,5 +1,6 @@
1
1
  import { ApiGateway as UserApiGateway } from '@arkadium/eagle-user-client';
2
2
  import { UserGameDataApi } from '@arkadium/eagle-user-client/dist/types/api/v1/user-game-data.api';
3
+
3
4
  export declare enum ApiEnv {
4
5
  DEV = "DEV",
5
6
  PROD = "PROD",
@@ -13,15 +14,16 @@ export declare type SessionStorageType = ReturnType<typeof UserApiGateway.protot
13
14
  export declare class Backend {
14
15
  user: Awaited<ReturnType<typeof UserApiGateway.prototype.getAuthApi>> | null;
15
16
  private userGateway;
16
- userGameData: UserGameDataApi | null;
17
- uiOpenRequest: import("../../utils/observable").Observable<boolean>;
18
- authStatus: import("../../utils/observable").Observable<boolean>;
17
+ private userGameData;
18
+ uiOpenRequest: import('../../utils/observable').Observable<boolean>;
19
+ authStatus: import('../../utils/observable').Observable<boolean>;
19
20
  addEventListener(event: number, cb: () => void): void;
20
21
  init(env: ApiEnv, isGameSide: boolean, sessionStorage?: SessionStorageType | null): Promise<void>;
21
22
  getAuthToken(): Promise<string> | undefined;
22
- getSessionStorage(): import("@arkadium/eagle-user-client/dist/types/session-storage").SessionStorage | undefined;
23
+ getSessionStorage(): import('@arkadium/eagle-user-client/dist/types/session-storage').SessionStorage | undefined;
23
24
  checkAuth(): void;
24
25
  isUserAuthorized(): boolean;
25
26
  openAuthForm(): void;
26
27
  logout(): void;
28
+ getUserGameData(): UserGameDataApi | undefined;
27
29
  }
@@ -1,4 +1,5 @@
1
1
  import { RpcProvider } from '../../core/rpc';
2
+
2
3
  declare enum LifecycleEvent {
3
4
  TEST_READY = 1,
4
5
  GAME_START = 2,
@@ -1,4 +1,5 @@
1
1
  import { RpcProvider } from '../../core/rpc';
2
+
2
3
  export interface IHost {
3
4
  getQueryParameter(key: string): Promise<string | null>;
4
5
  getGameId(): Promise<string>;
@@ -1,12 +1,13 @@
1
1
  import { RpcProvider } from '../../core/rpc';
2
- import { NakamaProvider } from '../nakama/nakama-provider';
2
+ import { Backend } from '../backend/backend.api';
3
3
  import { IHost } from '../host';
4
+
4
5
  declare type RemoteStorageValueType = string | object;
5
6
  export interface IPersistence {
7
+ getCookie(cookieName: string): Promise<string>;
6
8
  getLocalStorageItem(key: string): Promise<string | null>;
7
9
  setLocalStorageItem(key: string, value: string): Promise<void>;
8
10
  removeLocalStorageItem(key: string): Promise<void>;
9
- getCookie(cookieName: string): Promise<string>;
10
11
  getRemoteStorageItem?(key: string): Promise<RemoteStorageValueType | null>;
11
12
  setRemoteStorageItem?(key: string, value: RemoteStorageValueType): Promise<void>;
12
13
  removeRemoteStorageItem?(key: string): Promise<boolean>;
@@ -17,24 +18,26 @@ export declare class PersistenceArena implements IPersistence {
17
18
  * @internal
18
19
  */
19
20
  constructor(rpcProvider: RpcProvider);
21
+ getCookie(cookieName: string): Promise<string>;
20
22
  getLocalStorageItem(key: string): Promise<string | null>;
21
23
  setLocalStorageItem(key: string, value: string): Promise<void>;
22
24
  removeLocalStorageItem(key: string): Promise<void>;
23
- getCookie(cookieName: string): Promise<string>;
24
25
  }
25
26
  export declare class PersistenceGame implements IPersistence {
26
27
  private rpcProvider;
27
28
  private host;
29
+ private backend;
28
30
  private remoteStorageBlacklist;
29
31
  /**
30
32
  * @internal
31
33
  */
32
- constructor(rpcProvider: RpcProvider, nakamaProvider: NakamaProvider, host: IHost);
34
+ constructor(rpcProvider: RpcProvider, host: IHost, backend: Backend);
35
+ getCookie(cookieName: string): Promise<string>;
33
36
  getLocalStorageItem(key: string): Promise<string | null>;
34
37
  setLocalStorageItem(key: string, value: string): Promise<void>;
35
38
  removeLocalStorageItem(key: string): Promise<void>;
36
- getCookie(cookieName: string): Promise<string>;
37
- private getRemoteStorageCollection;
39
+ private getCollection;
40
+ private getRemoteToLocalStorageCollection;
38
41
  private isRemoteStorageBlacklisted;
39
42
  getRemoteStorageItem(key: string): Promise<RemoteStorageValueType | null>;
40
43
  setRemoteStorageItem(key: string, value: RemoteStorageValueType): Promise<void>;
@@ -8,6 +8,7 @@ import { Observable } from './api/utils/observable';
8
8
  import { TimeoutTesterContract } from './api/core/timeout-tester';
9
9
  import { PersistenceArena } from './api/features/persistence';
10
10
  import { HostArena } from './api/features/host';
11
+
11
12
  export declare class ArkadiumGameSdk {
12
13
  private rpcProvider;
13
14
  backendApi: Backend;
@@ -2,12 +2,12 @@ import { ApiEnv, Backend, SessionStorageType } from './api/features/backend/back
2
2
  import { GameLifecycleContract } from './api/features/game-lifecycle/game-lifecycle.api';
3
3
  import { GameAdsContract } from './api/features/ads/';
4
4
  import { Auth } from './api/features/auth/';
5
- import { NakamaProvider } from './api/features/nakama/nakama-provider';
6
5
  import { AnalyticsApiContract } from './api/features/analytics/analytics.api';
7
6
  import { RpcProvider } from './api/core/rpc';
8
7
  import { TimeoutTesterContract } from './api/core/timeout-tester';
9
8
  import { PersistenceGame } from './api/features/persistence';
10
9
  import { HostGame } from './api/features/host';
10
+
11
11
  export declare class ArkadiumGameSdk {
12
12
  version: string;
13
13
  private currentEnv;
@@ -19,18 +19,16 @@ export declare class ArkadiumGameSdk {
19
19
  lifecycle: GameLifecycleContract;
20
20
  ads: GameAdsContract;
21
21
  auth: Auth;
22
- private nakamaProvider;
23
22
  analytics: AnalyticsApiContract;
24
23
  private timeoutTester;
25
24
  persistence: PersistenceGame;
26
- constructor({ rpcProvider, backendApi, host, lifecycle, ads, auth, nakamaProvider, analytics, timeoutTester, persistence }: {
25
+ constructor({ rpcProvider, backendApi, host, lifecycle, ads, auth, analytics, timeoutTester, persistence }: {
27
26
  rpcProvider: RpcProvider;
28
27
  backendApi: Backend;
29
28
  host: HostGame;
30
29
  lifecycle: GameLifecycleContract;
31
30
  ads: GameAdsContract;
32
31
  auth: Auth;
33
- nakamaProvider?: NakamaProvider;
34
32
  analytics: AnalyticsApiContract;
35
33
  timeoutTester: TimeoutTesterContract;
36
34
  persistence: PersistenceGame;
@@ -1,4 +1,5 @@
1
1
  import { ArkadiumGameSdk } from './arkadium-game-sdk';
2
+
2
3
  declare type API = ArkadiumGameSdk;
3
4
  export declare enum Env {
4
5
  DEV = "DEV",
@@ -1,7 +1,8 @@
1
1
  import { RpcProvider } from './api/core/rpc';
2
+
2
3
  export declare class PingModule {
3
4
  constructor(rpcProvider: RpcProvider);
4
- $ping: import("./api/utils/observable").Observable<number>;
5
+ $ping: import('./api/utils/observable').Observable<number>;
5
6
  ping(): boolean;
6
7
  }
7
8
  export declare class PingModuleProxy {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arkadiuminc/sdk",
3
- "version": "2.11.0",
3
+ "version": "2.13.0",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "main": "dist/pkg/arkadium-sdk.umd.js",
@@ -95,7 +95,6 @@
95
95
  "vitest": "^1.4.0"
96
96
  },
97
97
  "dependencies": {
98
- "@heroiclabs/nakama-js": "^2.8.0",
99
98
  "@microsoft/applicationinsights-web": "^3.0.4",
100
99
  "jsonpack": "^1.1.5",
101
100
  "nanoid": "^5.0.4",
@@ -1,50 +0,0 @@
1
- import { Client as NakamaApiClient, Session as NakamaSession } from '@heroiclabs/nakama-js';
2
- import { ApiEnv, Backend } from '../backend/backend.api';
3
- import { IHost } from '../host';
4
- import { AnalyticsApiProxy } from '../analytics/analytics.api';
5
- import { Auth } from '../auth';
6
- interface NakamaProviderContract {
7
- isUserAuthorized(): boolean;
8
- getNakamaSession(): Promise<NakamaSession>;
9
- getNakamaClient(): NakamaApiClient;
10
- }
11
- export declare class NakamaProvider implements NakamaProviderContract {
12
- private backendApi;
13
- private host;
14
- private analytics;
15
- private auth;
16
- private nakamaApiClient;
17
- private userSession?;
18
- private userSessionDeferred?;
19
- private wasEagleSubscribed;
20
- private env;
21
- private gameId;
22
- constructor(backendApi: Backend, host: IHost, analytics: AnalyticsApiProxy, auth: Auth);
23
- init(env: ApiEnv): void;
24
- private getGameId;
25
- isUserAuthorized(): boolean;
26
- getNakamaClient(): NakamaApiClient;
27
- /**
28
- * this method authenticates the user if no session exists or if it is unsuited to proceed
29
- */
30
- getNakamaSession(): Promise<NakamaSession>;
31
- private getClientAndSession;
32
- private isNakamaUserLinkedToEagle;
33
- private getNakamaVars;
34
- private initNakamaSession;
35
- private initNakamaSessionViaFingerprint;
36
- private initNakamaSessionViaEagle;
37
- private onAuthBootstrap;
38
- /**
39
- * this method is called when the user is logged in
40
- * CAUTION: this method is called from eagle login status change, therefore it can't throw
41
- */
42
- private onEagleLogIn;
43
- /**
44
- * this method is called when the user is logged out
45
- * CAUTION: this method is called from eagle login status change, therefore it can't throw
46
- */
47
- private onEagleLogOut;
48
- private getAccount;
49
- }
50
- export {};