zuburi-game-platform 0.1.4 → 0.2.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.
package/README.md CHANGED
@@ -39,37 +39,51 @@ Game Platform は履歴を蓄積せず、現在状態を保持する state-first
39
39
 
40
40
  ## Client events
41
41
 
42
- ```ts
43
- const result = await platform.events.emit({
44
- type: 'tutorial_completed',
45
- sourceId: 'tutorial:v1',
46
- })
42
+ ゲームから送信できるイベントは Platform 標準の4種類だけです。
47
43
 
48
- console.log(result.points.balance)
49
- console.log(result.achievements.unlocked)
50
- ```
44
+ ```text
45
+ game_started
46
+ ゲーム開始
51
47
 
52
- `sourceId` は Event Definition で必要な場合の識別情報です。イベントはDBへ永続保存されません。
48
+ game_finished
49
+ ゲーム終了。value に最終スコアを付けてもよい
53
50
 
54
- 永続イベント行による idempotency 管理を行わないため、SDKは**書き込みRPCを自動リトライしません**。読み取りRPCのみ一時エラー時に最大1回リトライします。
51
+ personal_best_updated
52
+ 自己ベスト更新。value 必須
55
53
 
56
- ## Typed events
54
+ item_obtained
55
+ アイテム獲得。metadata.itemId 必須、quantity は任意
56
+ ```
57
57
 
58
58
  ```ts
59
- type CoffeeRoasterEvents = {
60
- tutorial_completed: { value?: never; metadata?: never }
61
- roast_completed: {
62
- value: number
63
- metadata?: { difficulty?: 'normal' | 'hard' }
64
- }
65
- }
66
-
67
- const platform = createGamePlatformClient<CoffeeRoasterEvents>({
68
- supabase,
69
- gameId: 'coffee_roaster',
59
+ import { PLATFORM_EVENTS } from 'zuburi-game-platform'
60
+
61
+ await platform.events.emit({
62
+ type: PLATFORM_EVENTS.GAME_FINISHED,
63
+ sourceId: 'run:123',
64
+ value: 85,
65
+ })
66
+
67
+ await platform.events.emit({
68
+ type: PLATFORM_EVENTS.PERSONAL_BEST_UPDATED,
69
+ value: 120,
70
+ })
71
+
72
+ await platform.events.emit({
73
+ type: PLATFORM_EVENTS.ITEM_OBTAINED,
74
+ metadata: {
75
+ itemId: 'golden-bean',
76
+ quantity: 1,
77
+ },
70
78
  })
71
79
  ```
72
80
 
81
+ 独自 EventMap をゲーム側から追加する API はありません。TypeScript の型を回避して任意文字列を渡しても SDK が送信前に拒否します。
82
+
83
+ `sourceId` は Event Definition で必要な場合の識別情報です。イベントはDBへ永続保存されません。
84
+
85
+ 永続イベント行による idempotency 管理を行わないため、SDKは**書き込みRPCを自動リトライしません**。読み取りRPCのみ一時エラー時に最大1回リトライします。
86
+
73
87
  ## Points
74
88
 
75
89
  ```ts
@@ -1,4 +1,3 @@
1
- import type { EventMap, DefaultEventMap } from "../types/event.js";
2
1
  import type { CreateGamePlatformClientOptions, GamePlatformClient } from "./types.js";
3
- export declare function createGamePlatformClient<TEvents extends EventMap = DefaultEventMap>(options: CreateGamePlatformClientOptions): GamePlatformClient<TEvents>;
2
+ export declare function createGamePlatformClient(options: CreateGamePlatformClientOptions): GamePlatformClient;
4
3
  //# sourceMappingURL=createGamePlatformClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createGamePlatformClient.d.ts","sourceRoot":"","sources":["../../src/client/createGamePlatformClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAqB,MAAM,mBAAmB,CAAA;AAUrF,OAAO,KAAK,EAAE,+BAA+B,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAErF,wBAAgB,wBAAwB,CACtC,OAAO,SAAS,QAAQ,GAAG,eAAe,EAC1C,OAAO,EAAE,+BAA+B,GAAG,kBAAkB,CAAC,OAAO,CAAC,CA2BvE"}
1
+ {"version":3,"file":"createGamePlatformClient.d.ts","sourceRoot":"","sources":["../../src/client/createGamePlatformClient.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,+BAA+B,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAErF,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,+BAA+B,GAAG,kBAAkB,CA2BrG"}
@@ -1 +1 @@
1
- {"version":3,"file":"createGamePlatformClient.js","sourceRoot":"","sources":["../../src/client/createGamePlatformClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAA;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAI/C,MAAM,UAAU,wBAAwB,CAEtC,OAAwC;IACxC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;IACpC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,iBAAiB,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAA;IAEhF,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAwC,CAAA;IACjE,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,IAAI,CAAA;IACnD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,MAAM;QACN,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;QAClD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,CAAuC,KAAwC,EAAE,EAAE,CACvF,SAAS,CAAiB,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC;SAC5E,CAAC;QACF,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;YACpB,UAAU,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC;SACpD,CAAC;QACF,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC;YAC1B,IAAI,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SACvD,CAAC;QACF,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;YACxB,SAAS,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YAC9D,cAAc,EAAE,GAAG,EAAE,CAAC,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC;YACzF,YAAY,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC;SAChH,CAAC;KACH,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"createGamePlatformClient.js","sourceRoot":"","sources":["../../src/client/createGamePlatformClient.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAA;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAA;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAI/C,MAAM,UAAU,wBAAwB,CAAC,OAAwC;IAC/E,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;IACpC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,iBAAiB,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,CAAA;IAEhF,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAwC,CAAA;IACjE,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,IAAI,CAAA;IACnD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAE7B,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,MAAM;QACN,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;QAClD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,CAAkC,KAA+B,EAAE,EAAE,CACzE,SAAS,CAAQ,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC;SACnE,CAAC;QACF,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;YACpB,UAAU,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC;SACpD,CAAC;QACF,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC;YAC1B,IAAI,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SACvD,CAAC;QACF,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC;YACxB,SAAS,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;YAC9D,cAAc,EAAE,GAAG,EAAE,CAAC,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC;YACzF,YAAY,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC;SAChH,CAAC;KACH,CAAC,CAAA;AACJ,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { GamePlatformLogger } from "../types/api.js";
2
2
  import type { AchievementState } from "../types/achievement.js";
3
- import type { DefaultEventMap, EmitEventInputFor, EventMap, EventResult } from "../types/event.js";
3
+ import type { EmitEventInputFor, EventResult, PlatformEventType } from "../types/event.js";
4
4
  import type { LoginBonusClaimResult, LoginBonusSingleClaimResult, LoginBonusStatus } from "../types/loginBonus.js";
5
5
  import type { PointAccount } from "../types/point.js";
6
6
  import type { GamePlatformState } from "../types/state.js";
@@ -13,11 +13,11 @@ export type CreateGamePlatformClientOptions = {
13
13
  writesEnabled?: boolean;
14
14
  logger?: GamePlatformLogger;
15
15
  };
16
- export type GamePlatformClient<TEvents extends EventMap = DefaultEventMap> = {
16
+ export type GamePlatformClient = {
17
17
  readonly gameId: string;
18
18
  getState: () => Promise<GamePlatformState>;
19
19
  events: {
20
- emit: <TType extends keyof TEvents & string>(input: EmitEventInputFor<TEvents, TType>) => Promise<EventResult>;
20
+ emit: <TType extends PlatformEventType>(input: EmitEventInputFor<TType>) => Promise<EventResult>;
21
21
  };
22
22
  points: {
23
23
  getAccount: () => Promise<PointAccount>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAClG,OAAO,KAAK,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAClH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAE1D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG;IAC5C,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,MAAM,CAAC,EAAE,kBAAkB,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,kBAAkB,CAAC,OAAO,SAAS,QAAQ,GAAG,eAAe,IAAI;IAC3E,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAC1C,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,KAAK,SAAS,MAAM,OAAO,GAAG,MAAM,EACzC,KAAK,EAAE,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,KACrC,OAAO,CAAC,WAAW,CAAC,CAAA;KAC1B,CAAA;IACD,MAAM,EAAE;QACN,UAAU,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAA;KACxC,CAAA;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,MAAM,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAA;KACxC,CAAA;IACD,UAAU,EAAE;QACV,SAAS,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAA;QAC1C,cAAc,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAA;QACpD,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,2BAA2B,CAAC,CAAA;KAC1E,CAAA;CACF,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/client/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC1F,OAAO,KAAK,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAClH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAE1D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;CAC7B,CAAA;AAED,MAAM,MAAM,+BAA+B,GAAG;IAC5C,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,MAAM,CAAC,EAAE,kBAAkB,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAC1C,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,KAAK,SAAS,iBAAiB,EACpC,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,KAC5B,OAAO,CAAC,WAAW,CAAC,CAAA;KAC1B,CAAA;IACD,MAAM,EAAE;QACN,UAAU,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAA;KACxC,CAAA;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,MAAM,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAA;KACxC,CAAA;IACD,UAAU,EAAE;QACV,SAAS,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAA;QAC1C,cAAc,EAAE,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAA;QACpD,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,2BAA2B,CAAC,CAAA;KAC1E,CAAA;CACF,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import { type SupabaseRpcClient } from "../internal/callRpc.js";
2
2
  import type { GamePlatformLogger } from "../types/api.js";
3
- import type { EmitEventInputFor, EventMap, EventResult } from "../types/event.js";
4
- export declare function emitEvent<TEvents extends EventMap, TType extends keyof TEvents & string>(supabase: SupabaseRpcClient, gameId: string, writesEnabled: boolean, input: EmitEventInputFor<TEvents, TType>, logger?: GamePlatformLogger): Promise<EventResult>;
3
+ import { type EmitEventInputFor, type EventResult, type PlatformEventType } from "../types/event.js";
4
+ export declare function emitEvent<TType extends PlatformEventType>(supabase: SupabaseRpcClient, gameId: string, writesEnabled: boolean, input: EmitEventInputFor<TType>, logger?: GamePlatformLogger): Promise<EventResult>;
5
5
  //# sourceMappingURL=emitEvent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"emitEvent.d.ts","sourceRoot":"","sources":["../../src/events/emitEvent.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAExE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAEjF,wBAAsB,SAAS,CAC7B,OAAO,SAAS,QAAQ,EACxB,KAAK,SAAS,MAAM,OAAO,GAAG,MAAM,EAEpC,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,OAAO,EACtB,KAAK,EAAE,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,EACxC,MAAM,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,WAAW,CAAC,CAuBtB"}
1
+ {"version":3,"file":"emitEvent.d.ts","sourceRoot":"","sources":["../../src/events/emitEvent.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAExE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAuB,KAAK,iBAAiB,EAAE,KAAK,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAEzH,wBAAsB,SAAS,CAAC,KAAK,SAAS,iBAAiB,EAC7D,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,OAAO,EACtB,KAAK,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAC/B,MAAM,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,WAAW,CAAC,CA2BtB"}
@@ -1,10 +1,14 @@
1
1
  import { GamePlatformError } from "../errors/GamePlatformError.js";
2
2
  import { callRpc } from "../internal/callRpc.js";
3
3
  import { mapEventResult } from "../internal/mappers.js";
4
+ import { isPlatformEventType } from "../types/event.js";
4
5
  export async function emitEvent(supabase, gameId, writesEnabled, input, logger) {
5
6
  if (!writesEnabled) {
6
7
  throw new GamePlatformError("WRITE_DISABLED", "Game Platform writes are disabled");
7
8
  }
9
+ if (!isPlatformEventType(input.type)) {
10
+ throw new GamePlatformError("INVALID_ARGUMENT", `Unsupported platform event type: ${String(input.type)}`);
11
+ }
8
12
  const raw = await callRpc(supabase, "game_platform_v1_emit_event", {
9
13
  p_game_id: gameId,
10
14
  p_event_type: input.type,
@@ -1 +1 @@
1
- {"version":3,"file":"emitEvent.js","sourceRoot":"","sources":["../../src/events/emitEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,EAAE,OAAO,EAA0B,MAAM,wBAAwB,CAAA;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAIvD,MAAM,CAAC,KAAK,UAAU,SAAS,CAI7B,QAA2B,EAC3B,MAAc,EACd,aAAsB,EACtB,KAAwC,EACxC,MAA2B;IAE3B,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,iBAAiB,CAAC,gBAAgB,EAAE,mCAAmC,CAAC,CAAA;IACpF,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,OAAO,CACvB,QAAQ,EACR,6BAA6B,EAC7B;QACE,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,KAAK,CAAC,IAAI;QACxB,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI;QACtD,WAAW,EAAE,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI;QAChE,UAAU,EAAE,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;KAC5D,EACD,EAAE,MAAM,EAAE,CACX,CAAA;IAED,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,CAAA;IAClC,MAAM,EAAE,KAAK,EAAE,CAAC,+BAA+B,EAAE;QAC/C,SAAS,EAAE,KAAK,CAAC,IAAI;KACtB,CAAC,CAAA;IACF,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"emitEvent.js","sourceRoot":"","sources":["../../src/events/emitEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAClE,OAAO,EAAE,OAAO,EAA0B,MAAM,wBAAwB,CAAA;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAEvD,OAAO,EAAE,mBAAmB,EAAoE,MAAM,mBAAmB,CAAA;AAEzH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,QAA2B,EAC3B,MAAc,EACd,aAAsB,EACtB,KAA+B,EAC/B,MAA2B;IAE3B,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,iBAAiB,CAAC,gBAAgB,EAAE,mCAAmC,CAAC,CAAA;IACpF,CAAC;IAED,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,iBAAiB,CAAC,kBAAkB,EAAE,oCAAoC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC3G,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,OAAO,CACvB,QAAQ,EACR,6BAA6B,EAC7B;QACE,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,KAAK,CAAC,IAAI;QACxB,OAAO,EAAE,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI;QACtD,WAAW,EAAE,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI;QAChE,UAAU,EAAE,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE;KAC5D,EACD,EAAE,MAAM,EAAE,CACX,CAAA;IAED,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,CAAA;IAClC,MAAM,EAAE,KAAK,EAAE,CAAC,+BAA+B,EAAE;QAC/C,SAAS,EAAE,KAAK,CAAC,IAAI;KACtB,CAAC,CAAA;IACF,OAAO,MAAM,CAAA;AACf,CAAC"}
package/dist/index.d.ts CHANGED
@@ -4,7 +4,8 @@ export { GamePlatformError } from "./errors/GamePlatformError.js";
4
4
  export type { GamePlatformErrorCode } from "./errors/GamePlatformError.js";
5
5
  export type { GamePlatformLogger, Json, JsonObject } from "./types/api.js";
6
6
  export type { AchievementProgress, AchievementState, AchievementUnlocked } from "./types/achievement.js";
7
- export type { DefaultEventMap, EmitEventInputFor, EventMap, EventResult, EventSpec } from "./types/event.js";
7
+ export { PLATFORM_EVENTS, isPlatformEventType } from "./types/event.js";
8
+ export type { EmitEventInputFor, EmitPlatformEventInput, EventResult, PlatformEventMap, PlatformEventType } from "./types/event.js";
8
9
  export type { LoginBonusClaim, LoginBonusClaimResult, LoginBonusProgramState, LoginBonusSingleClaimResult, LoginBonusStatus } from "./types/loginBonus.js";
9
10
  export type { PointAccount } from "./types/point.js";
10
11
  export type { GamePlatformState } from "./types/state.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAA;AAC/E,YAAY,EAAE,+BAA+B,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAEhH,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACjE,YAAY,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAE1E,YAAY,EAAE,kBAAkB,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC1E,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACxG,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5G,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC1J,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAA;AAC/E,YAAY,EAAE,+BAA+B,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAEhH,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACjE,YAAY,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAE1E,YAAY,EAAE,kBAAkB,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC1E,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACxG,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACvE,YAAY,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACnI,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC1J,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA"}
package/dist/index.js CHANGED
@@ -1,3 +1,4 @@
1
1
  export { createGamePlatformClient } from "./client/createGamePlatformClient.js";
2
2
  export { GamePlatformError } from "./errors/GamePlatformError.js";
3
+ export { PLATFORM_EVENTS, isPlatformEventType } from "./types/event.js";
3
4
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAA;AAG/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAA;AAG/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAKjE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA"}
@@ -1,5 +1,5 @@
1
1
  import type { AchievementProgress, AchievementState } from "../types/achievement.js";
2
- import type { EventResult } from "../types/event.js";
2
+ import { type EventResult } from "../types/event.js";
3
3
  import type { LoginBonusClaim, LoginBonusClaimResult, LoginBonusProgramState, LoginBonusSingleClaimResult, LoginBonusStatus } from "../types/loginBonus.js";
4
4
  import type { PointAccount } from "../types/point.js";
5
5
  import type { GamePlatformState } from "../types/state.js";
@@ -1 +1 @@
1
- {"version":3,"file":"mappers.d.ts","sourceRoot":"","sources":["../../src/internal/mappers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AACpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC3J,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAG1D,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,CAO1D;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB,CAelE;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,mBAAmB,CAWxE;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,sBAAsB,CAiBpE;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB,CAM7D;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe,CAa3D;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW,CAuBxD;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB,CAUxD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,qBAAqB,CAarE;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,2BAA2B,CAIxE"}
1
+ {"version":3,"file":"mappers.d.ts","sourceRoot":"","sources":["../../src/internal/mappers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AACpF,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC3J,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAG1D,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,CAO1D;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB,CAelE;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,mBAAmB,CAWxE;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,sBAAsB,CAiBpE;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB,CAM7D;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,eAAe,CAa3D;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW,CAuBxD;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB,CAUxD;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,qBAAqB,CAarE;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,2BAA2B,CAIxE"}
@@ -1,4 +1,5 @@
1
1
  import { GamePlatformError } from "../errors/GamePlatformError.js";
2
+ import { PLATFORM_EVENTS } from "../types/event.js";
2
3
  import { array, boolean, literal, nullableSafeInteger, nullableString, record, safeInteger, string } from "./validators.js";
3
4
  export function mapPointAccount(raw) {
4
5
  const value = record(raw, "account");
@@ -87,7 +88,7 @@ export function mapEventResult(raw) {
87
88
  ok: true,
88
89
  event: {
89
90
  gameId: string(event.game_id, "event.game_id"),
90
- type: string(event.event_type, "event.event_type"),
91
+ type: literal(event.event_type, Object.values(PLATFORM_EVENTS), "event.event_type"),
91
92
  origin: literal(event.origin, ["client", "trusted"], "event.origin"),
92
93
  },
93
94
  points: {
@@ -1 +1 @@
1
- {"version":3,"file":"mappers.js","sourceRoot":"","sources":["../../src/internal/mappers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AAMlE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAE3H,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;IACpC,OAAO;QACL,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC;QACtD,cAAc,EAAE,WAAW,CAAC,KAAK,CAAC,eAAe,EAAE,yBAAyB,CAAC;QAC7E,aAAa,EAAE,WAAW,CAAC,KAAK,CAAC,cAAc,EAAE,wBAAwB,CAAC;KAC3E,CAAA;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;IACxC,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,gBAAgB,CAAC;QACtC,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC;QAC5D,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,kBAAkB,CAAC;QAC5C,WAAW,EAAE,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,yBAAyB,CAAC;QACzE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,sBAAsB,CAAC;QACxD,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,sBAAsB,CAAC;QAC7D,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,YAAY,EAAE,0BAA0B,CAAC;QACxE,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,sBAAsB,CAAC;QACzD,UAAU,EAAE,cAAc,CAAC,KAAK,CAAC,WAAW,EAAE,yBAAyB,CAAC;QACxE,YAAY,EAAE,WAAW,CAAC,KAAK,CAAC,aAAa,EAAE,2BAA2B,CAAC;QAC3E,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,oBAAoB,CAAC;KACpD,CAAA;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,GAAY;IACjD,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAA;IACjD,OAAO;QACL,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,qCAAqC,CAAC;QAClF,QAAQ,EAAE,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,+BAA+B,CAAC;QACtE,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,YAAY,EAAE,mCAAmC,CAAC;QACjF,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,+BAA+B,CAAC;QAClE,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,qCAAqC,CAAC;QACnF,YAAY,EAAE,WAAW,CAAC,KAAK,CAAC,aAAa,EAAE,oCAAoC,CAAC;QACpF,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC,OAAO,EAAE,8BAA8B,CAAC;KAC5E,CAAA;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAY;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAA;IAChD,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,wBAAwB,CAAC;QAC7D,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,kBAAkB,CAAC;QAC5C,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAU,EAAE,wBAAwB,CAAC;QAC3F,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,UAAU,CAAU,EAAE,0BAA0B,CAAC;QACvG,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC;QAC5D,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,UAAU,CAAU,EAAE,wBAAwB,CAAC;QAC7F,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,wBAAwB,CAAC;QAC7D,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,yBAAyB,CAAC;QACrE,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC,UAAU,EAAE,wBAAwB,CAAC;QAClE,YAAY,EAAE,mBAAmB,CAAC,KAAK,CAAC,aAAa,EAAE,2BAA2B,CAAC;QACnF,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,2BAA2B,CAAC;QACvE,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,sBAAsB,CAAC;QACzD,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,oBAAoB,CAAC;KACpD,CAAA;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAA;IAC/C,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC1G,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC;KAChF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAA;IAC9C,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,kBAAkB,CAAC;QACvD,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC;QAChD,cAAc,EAAE,KAAK,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,uBAAuB,CAAC;QACrH,SAAS,EAAE,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,iBAAiB,CAAC;QAC9F,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,UAAU,EAAE,kBAAkB,CAAC;QAC/D,UAAU,EAAE,mBAAmB,CAAC,KAAK,CAAC,WAAW,EAAE,mBAAmB,CAAC;QACvE,SAAS,EAAE,mBAAmB,CAAC,KAAK,CAAC,UAAU,EAAE,kBAAkB,CAAC;QACpE,YAAY,EAAE,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,aAAa,EAAE,qBAAqB,CAAC;QAC7G,OAAO,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC;KACrD,CAAA;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;IACzC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAA;IACvD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;IAC1D,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,2BAA2B,CAAC,CAAA;IAC5E,IAAI,KAAK,CAAC,EAAE,KAAK,IAAI;QAAE,MAAM,IAAI,iBAAiB,CAAC,kBAAkB,EAAE,8BAA8B,CAAC,CAAA;IACtG,OAAO;QACL,UAAU,EAAE,CAAC;QACb,EAAE,EAAE,IAAI;QACR,KAAK,EAAE;YACL,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC;YAC9C,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,kBAAkB,CAAC;YAClD,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAU,EAAE,cAAc,CAAC;SAC9E;QACD,MAAM,EAAE;YACN,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,oBAAoB,CAAC;YACtD,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,sBAAsB,CAAC;SAC7D;QACD,YAAY,EAAE;YACZ,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC;YAC9F,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAAC,GAAG,CAAC,sBAAsB,CAAC;SAClG;KACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,GAAY;IACnC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IAClC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAA;IAC7C,OAAO;QACL,UAAU,EAAE,CAAC;QACb,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE;QAC9E,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC;QACrC,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC;QACtF,UAAU,EAAE,cAAc,CAAC,KAAK,CAAC,WAAW,CAAC;KAC9C,CAAA;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAY;IAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAA;IAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAA;IAChE,IAAI,KAAK,CAAC,EAAE,KAAK,IAAI;QAAE,MAAM,IAAI,iBAAiB,CAAC,kBAAkB,EAAE,oCAAoC,CAAC,CAAA;IAC5G,OAAO;QACL,UAAU,EAAE,CAAC;QACb,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC;QAC3E,MAAM,EAAE;YACN,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,iCAAiC,CAAC;YACnE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,mCAAmC,CAAC;SAC1E;KACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,EAAE,2BAA2B,CAAC,CAAA;IACtD,IAAI,KAAK,CAAC,EAAE,KAAK,IAAI;QAAE,MAAM,IAAI,iBAAiB,CAAC,kBAAkB,EAAE,2CAA2C,CAAC,CAAA;IACnH,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAA;AACvE,CAAC"}
1
+ {"version":3,"file":"mappers.js","sourceRoot":"","sources":["../../src/internal/mappers.ts"],"names":[],"mappings":"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"}
@@ -1,33 +1,60 @@
1
1
  import type { AchievementProgress, AchievementUnlocked } from "./achievement.js";
2
2
  import type { JsonObject } from "./api.js";
3
- export type EventSpec = {
3
+ export declare const PLATFORM_EVENTS: {
4
+ readonly GAME_STARTED: "game_started";
5
+ readonly GAME_FINISHED: "game_finished";
6
+ readonly PERSONAL_BEST_UPDATED: "personal_best_updated";
7
+ readonly ITEM_OBTAINED: "item_obtained";
8
+ };
9
+ export type PlatformEventType = (typeof PLATFORM_EVENTS)[keyof typeof PLATFORM_EVENTS];
10
+ type EventSpec = {
4
11
  value?: number | never;
5
12
  metadata?: JsonObject | never;
6
13
  };
7
- export type EventMap = Record<string, EventSpec>;
8
- type PropertyInput<T extends EventSpec, K extends "value" | "metadata", Fallback> = K extends keyof T ? {} extends Pick<T, K> ? {
14
+ export type PlatformEventMap = {
15
+ game_started: {
16
+ value?: never;
17
+ metadata?: never;
18
+ };
19
+ game_finished: {
20
+ value?: number;
21
+ metadata?: never;
22
+ };
23
+ personal_best_updated: {
24
+ value: number;
25
+ metadata?: never;
26
+ };
27
+ item_obtained: {
28
+ value?: never;
29
+ metadata: {
30
+ itemId: string;
31
+ quantity?: number;
32
+ };
33
+ };
34
+ };
35
+ type PropertyInput<T extends EventSpec, K extends "value" | "metadata"> = K extends keyof T ? {} extends Pick<T, K> ? {
9
36
  [P in K]?: Exclude<T[P], undefined>;
10
37
  } : [T[K]] extends [never] ? {
11
38
  [P in K]?: never;
12
39
  } : {
13
40
  [P in K]: T[K];
14
41
  } : {
15
- [P in K]?: Fallback;
42
+ [P in K]?: never;
16
43
  };
17
- export type EmitEventInputFor<TEvents extends EventMap, TType extends keyof TEvents & string> = {
44
+ export type EmitEventInputFor<TType extends PlatformEventType> = {
18
45
  type: TType;
19
46
  sourceId?: string;
20
- } & PropertyInput<TEvents[TType], "value", number> & PropertyInput<TEvents[TType], "metadata", JsonObject>;
21
- export type DefaultEventMap = Record<string, {
22
- value?: number;
23
- metadata?: JsonObject;
24
- }>;
47
+ } & PropertyInput<PlatformEventMap[TType], "value"> & PropertyInput<PlatformEventMap[TType], "metadata">;
48
+ export type EmitPlatformEventInput = {
49
+ [TType in PlatformEventType]: EmitEventInputFor<TType>;
50
+ }[PlatformEventType];
51
+ export declare function isPlatformEventType(value: string): value is PlatformEventType;
25
52
  export type EventResult = {
26
53
  apiVersion: 1;
27
54
  ok: true;
28
55
  event: {
29
56
  gameId: string;
30
- type: string;
57
+ type: PlatformEventType;
31
58
  origin: "client" | "trusted";
32
59
  };
33
60
  points: {
@@ -1 +1 @@
1
- {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/types/event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAChF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAE1C,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IACtB,QAAQ,CAAC,EAAE,UAAU,GAAG,KAAK,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAA;AAEhD,KAAK,aAAa,CAChB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,OAAO,GAAG,UAAU,EAC9B,QAAQ,IACN,CAAC,SAAS,MAAM,CAAC,GACjB,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACnB;KAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;CAAE,GACvC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACpB;KAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK;CAAE,GACpB;KAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,GACtB;KAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ;CAAE,CAAA;AAE3B,MAAM,MAAM,iBAAiB,CAC3B,OAAO,SAAS,QAAQ,EACxB,KAAK,SAAS,MAAM,OAAO,GAAG,MAAM,IAClC;IACF,IAAI,EAAE,KAAK,CAAA;IACX,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,GAC9C,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAA;AAEzD,MAAM,MAAM,eAAe,GAAG,MAAM,CAClC,MAAM,EACN;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,UAAU,CAAA;CAAE,CAC1C,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,EAAE,CAAC,CAAA;IACb,EAAE,EAAE,IAAI,CAAA;IACR,KAAK,EAAE;QACL,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAA;KAC7B,CAAA;IACD,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,mBAAmB,EAAE,CAAA;QAC9B,QAAQ,EAAE,mBAAmB,EAAE,CAAA;KAChC,CAAA;CACF,CAAA"}
1
+ {"version":3,"file":"event.d.ts","sourceRoot":"","sources":["../../src/types/event.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAChF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAE1C,eAAO,MAAM,eAAe;;;;;CAKlB,CAAA;AAEV,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAA;AAEtF,KAAK,SAAS,GAAG;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IACtB,QAAQ,CAAC,EAAE,UAAU,GAAG,KAAK,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,YAAY,EAAE;QACZ,KAAK,CAAC,EAAE,KAAK,CAAA;QACb,QAAQ,CAAC,EAAE,KAAK,CAAA;KACjB,CAAA;IACD,aAAa,EAAE;QACb,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,QAAQ,CAAC,EAAE,KAAK,CAAA;KACjB,CAAA;IACD,qBAAqB,EAAE;QACrB,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,CAAC,EAAE,KAAK,CAAA;KACjB,CAAA;IACD,aAAa,EAAE;QACb,KAAK,CAAC,EAAE,KAAK,CAAA;QACb,QAAQ,EAAE;YACR,MAAM,EAAE,MAAM,CAAA;YACd,QAAQ,CAAC,EAAE,MAAM,CAAA;SAClB,CAAA;KACF,CAAA;CACF,CAAA;AAED,KAAK,aAAa,CAChB,CAAC,SAAS,SAAS,EACnB,CAAC,SAAS,OAAO,GAAG,UAAU,IAC5B,CAAC,SAAS,MAAM,CAAC,GACjB,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACnB;KAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;CAAE,GACvC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GACpB;KAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK;CAAE,GACpB;KAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,GACtB;KAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK;CAAE,CAAA;AAExB,MAAM,MAAM,iBAAiB,CAAC,KAAK,SAAS,iBAAiB,IAAI;IAC/D,IAAI,EAAE,KAAK,CAAA;IACX,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,GAAG,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,GAC/C,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,CAAA;AAEtD,MAAM,MAAM,sBAAsB,GAAG;KAClC,KAAK,IAAI,iBAAiB,GAAG,iBAAiB,CAAC,KAAK,CAAC;CACvD,CAAC,iBAAiB,CAAC,CAAA;AAEpB,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,iBAAiB,CAE7E;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,EAAE,CAAC,CAAA;IACb,EAAE,EAAE,IAAI,CAAA;IACR,KAAK,EAAE;QACL,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,EAAE,iBAAiB,CAAA;QACvB,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAA;KAC7B,CAAA;IACD,MAAM,EAAE;QACN,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;KAChB,CAAA;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,mBAAmB,EAAE,CAAA;QAC9B,QAAQ,EAAE,mBAAmB,EAAE,CAAA;KAChC,CAAA;CACF,CAAA"}
@@ -1,2 +1,10 @@
1
- export {};
1
+ export const PLATFORM_EVENTS = {
2
+ GAME_STARTED: "game_started",
3
+ GAME_FINISHED: "game_finished",
4
+ PERSONAL_BEST_UPDATED: "personal_best_updated",
5
+ ITEM_OBTAINED: "item_obtained",
6
+ };
7
+ export function isPlatformEventType(value) {
8
+ return Object.values(PLATFORM_EVENTS).includes(value);
9
+ }
2
10
  //# sourceMappingURL=event.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/types/event.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"event.js","sourceRoot":"","sources":["../../src/types/event.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,YAAY,EAAE,cAAc;IAC5B,aAAa,EAAE,eAAe;IAC9B,qBAAqB,EAAE,uBAAuB;IAC9C,aAAa,EAAE,eAAe;CACtB,CAAA;AAoDV,MAAM,UAAU,mBAAmB,CAAC,KAAa;IAC/C,OAAQ,MAAM,CAAC,MAAM,CAAC,eAAe,CAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AACrE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zuburi-game-platform",
3
- "version": "0.1.4",
3
+ "version": "0.2.0",
4
4
  "description": "Framework-independent TypeScript SDK for KZTK Game Platform",
5
5
  "type": "module",
6
6
  "sideEffects": false,