@spawnco/sdk-types 0.0.27 → 0.0.29

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/dist/index.d.mts CHANGED
@@ -9,7 +9,12 @@ interface SpawnClientSDK__V1<TConfig = any> {
9
9
  user: {
10
10
  me(): Promise<User>;
11
11
  token(): Promise<string>;
12
- upgradeGuest(): Promise<void>;
12
+ upgradeGuest(): Promise<{
13
+ success: false;
14
+ error: string;
15
+ } | {
16
+ success: true;
17
+ }>;
13
18
  };
14
19
  room: {
15
20
  connect<ClientSentMessages extends Record<string, any>, ServerSentMessages extends Record<string, any>>(options: {
@@ -27,11 +32,11 @@ interface SpawnClientSDK__V1<TConfig = any> {
27
32
  balance(): Promise<{
28
33
  amount: number;
29
34
  }>;
30
- purchase(options: {
35
+ purchase<T extends Record<string, any>>(options: {
31
36
  sku: string;
32
37
  price: number;
33
38
  description: string;
34
- data?: Record<string, any>;
39
+ data?: T;
35
40
  }): Promise<{
36
41
  success: boolean;
37
42
  token?: string;
@@ -50,8 +55,8 @@ interface SpawnClientSDK__V1<TConfig = any> {
50
55
  };
51
56
  storage: {
52
57
  user: {
53
- get(key: string): Promise<any>;
54
- set(key: string, value: any): Promise<void>;
58
+ get<T>(key: string): Promise<T>;
59
+ set<T>(key: string, value: T): Promise<void>;
55
60
  delete(key: string): Promise<void>;
56
61
  };
57
62
  };
@@ -95,10 +100,10 @@ interface SpawnServerSDK__V1<TConfig = any> {
95
100
  effectiveVersion(): Promise<string>;
96
101
  };
97
102
  economy: {
98
- redeemPurchase(token: string): Promise<{
103
+ redeemPurchase<T extends Record<string, any>>(token: string): Promise<{
99
104
  success: boolean;
100
105
  sku: string;
101
- data?: Record<string, any>;
106
+ data?: T;
102
107
  userId: string;
103
108
  }>;
104
109
  };
@@ -130,9 +135,9 @@ interface SpawnServerSDK__V1<TConfig = any> {
130
135
  get(userId: string): Promise<Record<string, number>>;
131
136
  };
132
137
  items: {
133
- grant(userId: string, items: Array<{
138
+ grant<T extends Record<string, any>>(userId: string, items: Array<{
134
139
  itemId: string;
135
- data?: any;
140
+ data?: T;
136
141
  }>, options?: {
137
142
  idempotencyKey?: string;
138
143
  reason?: string;
@@ -146,18 +151,18 @@ interface SpawnServerSDK__V1<TConfig = any> {
146
151
  };
147
152
  storage: {
148
153
  room: {
149
- get(key: string): Promise<any>;
150
- set(key: string, value: any): Promise<void>;
154
+ get<T>(key: string): Promise<T>;
155
+ set<T>(key: string, value: T): Promise<void>;
151
156
  delete(key: string): Promise<void>;
152
157
  };
153
158
  global: {
154
- get(key: string): Promise<any>;
155
- set(key: string, value: any): Promise<void>;
159
+ get<T>(key: string): Promise<T>;
160
+ set<T>(key: string, value: T): Promise<void>;
156
161
  delete(key: string): Promise<void>;
157
162
  };
158
163
  user: (userId: string) => {
159
- get(key: string): Promise<any>;
160
- set(key: string, value: any): Promise<void>;
164
+ get<T>(key: string): Promise<T>;
165
+ set<T>(key: string, value: T): Promise<void>;
161
166
  delete(key: string): Promise<void>;
162
167
  };
163
168
  };
@@ -206,10 +211,10 @@ interface Item {
206
211
  id: string;
207
212
  data?: Record<string, any>;
208
213
  }
209
- interface InventoryItem {
214
+ interface InventoryItem<T extends Record<string, any> = Record<string, any>> {
210
215
  id: string;
211
216
  itemId: string;
212
- data?: any;
217
+ data?: T;
213
218
  }
214
219
  interface LeaderboardEntry {
215
220
  rank: number;
package/dist/index.d.ts CHANGED
@@ -9,7 +9,12 @@ interface SpawnClientSDK__V1<TConfig = any> {
9
9
  user: {
10
10
  me(): Promise<User>;
11
11
  token(): Promise<string>;
12
- upgradeGuest(): Promise<void>;
12
+ upgradeGuest(): Promise<{
13
+ success: false;
14
+ error: string;
15
+ } | {
16
+ success: true;
17
+ }>;
13
18
  };
14
19
  room: {
15
20
  connect<ClientSentMessages extends Record<string, any>, ServerSentMessages extends Record<string, any>>(options: {
@@ -27,11 +32,11 @@ interface SpawnClientSDK__V1<TConfig = any> {
27
32
  balance(): Promise<{
28
33
  amount: number;
29
34
  }>;
30
- purchase(options: {
35
+ purchase<T extends Record<string, any>>(options: {
31
36
  sku: string;
32
37
  price: number;
33
38
  description: string;
34
- data?: Record<string, any>;
39
+ data?: T;
35
40
  }): Promise<{
36
41
  success: boolean;
37
42
  token?: string;
@@ -50,8 +55,8 @@ interface SpawnClientSDK__V1<TConfig = any> {
50
55
  };
51
56
  storage: {
52
57
  user: {
53
- get(key: string): Promise<any>;
54
- set(key: string, value: any): Promise<void>;
58
+ get<T>(key: string): Promise<T>;
59
+ set<T>(key: string, value: T): Promise<void>;
55
60
  delete(key: string): Promise<void>;
56
61
  };
57
62
  };
@@ -95,10 +100,10 @@ interface SpawnServerSDK__V1<TConfig = any> {
95
100
  effectiveVersion(): Promise<string>;
96
101
  };
97
102
  economy: {
98
- redeemPurchase(token: string): Promise<{
103
+ redeemPurchase<T extends Record<string, any>>(token: string): Promise<{
99
104
  success: boolean;
100
105
  sku: string;
101
- data?: Record<string, any>;
106
+ data?: T;
102
107
  userId: string;
103
108
  }>;
104
109
  };
@@ -130,9 +135,9 @@ interface SpawnServerSDK__V1<TConfig = any> {
130
135
  get(userId: string): Promise<Record<string, number>>;
131
136
  };
132
137
  items: {
133
- grant(userId: string, items: Array<{
138
+ grant<T extends Record<string, any>>(userId: string, items: Array<{
134
139
  itemId: string;
135
- data?: any;
140
+ data?: T;
136
141
  }>, options?: {
137
142
  idempotencyKey?: string;
138
143
  reason?: string;
@@ -146,18 +151,18 @@ interface SpawnServerSDK__V1<TConfig = any> {
146
151
  };
147
152
  storage: {
148
153
  room: {
149
- get(key: string): Promise<any>;
150
- set(key: string, value: any): Promise<void>;
154
+ get<T>(key: string): Promise<T>;
155
+ set<T>(key: string, value: T): Promise<void>;
151
156
  delete(key: string): Promise<void>;
152
157
  };
153
158
  global: {
154
- get(key: string): Promise<any>;
155
- set(key: string, value: any): Promise<void>;
159
+ get<T>(key: string): Promise<T>;
160
+ set<T>(key: string, value: T): Promise<void>;
156
161
  delete(key: string): Promise<void>;
157
162
  };
158
163
  user: (userId: string) => {
159
- get(key: string): Promise<any>;
160
- set(key: string, value: any): Promise<void>;
164
+ get<T>(key: string): Promise<T>;
165
+ set<T>(key: string, value: T): Promise<void>;
161
166
  delete(key: string): Promise<void>;
162
167
  };
163
168
  };
@@ -206,10 +211,10 @@ interface Item {
206
211
  id: string;
207
212
  data?: Record<string, any>;
208
213
  }
209
- interface InventoryItem {
214
+ interface InventoryItem<T extends Record<string, any> = Record<string, any>> {
210
215
  id: string;
211
216
  itemId: string;
212
- data?: any;
217
+ data?: T;
213
218
  }
214
219
  interface LeaderboardEntry {
215
220
  rank: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spawnco/sdk-types",
3
- "version": "0.0.27",
3
+ "version": "0.0.29",
4
4
  "description": "TypeScript type definitions for Spawn SDK",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
package/src/v1.ts CHANGED
@@ -12,7 +12,13 @@ export interface SpawnClientSDK__V1<TConfig = any> {
12
12
  user: {
13
13
  me(): Promise<User>;
14
14
  token(): Promise<string>;
15
- upgradeGuest(): Promise<void>;
15
+ upgradeGuest(): Promise<
16
+ | {
17
+ success: false;
18
+ error: string;
19
+ }
20
+ | { success: true }
21
+ >;
16
22
  };
17
23
 
18
24
  room: {
@@ -33,7 +39,12 @@ export interface SpawnClientSDK__V1<TConfig = any> {
33
39
  economy: {
34
40
  balance(): Promise<{ amount: number }>;
35
41
 
36
- purchase(options: { sku: string; price: number; description: string; data?: Record<string, any> }): Promise<{
42
+ purchase<T extends Record<string, any>>(options: {
43
+ sku: string;
44
+ price: number;
45
+ description: string;
46
+ data?: T;
47
+ }): Promise<{
37
48
  success: boolean;
38
49
  token?: string; // Contains signed purchase details
39
50
  }>;
@@ -55,8 +66,8 @@ export interface SpawnClientSDK__V1<TConfig = any> {
55
66
 
56
67
  storage: {
57
68
  user: {
58
- get(key: string): Promise<any>;
59
- set(key: string, value: any): Promise<void>;
69
+ get<T>(key: string): Promise<T>;
70
+ set<T>(key: string, value: T): Promise<void>;
60
71
  delete(key: string): Promise<void>;
61
72
  };
62
73
  };
@@ -111,10 +122,12 @@ export interface SpawnServerSDK__V1<TConfig = any> {
111
122
 
112
123
  economy: {
113
124
  // Redeem a purchase token from client
114
- redeemPurchase(token: string): Promise<{
125
+ redeemPurchase<T extends Record<string, any>>(
126
+ token: string
127
+ ): Promise<{
115
128
  success: boolean;
116
129
  sku: string;
117
- data?: Record<string, any>;
130
+ data?: T;
118
131
  userId: string;
119
132
  }>;
120
133
  };
@@ -162,11 +175,11 @@ export interface SpawnServerSDK__V1<TConfig = any> {
162
175
 
163
176
  items: {
164
177
  // Grant items to user (returns instance IDs)
165
- grant(
178
+ grant<T extends Record<string, any>>(
166
179
  userId: string,
167
180
  items: Array<{
168
181
  itemId: string;
169
- data?: any;
182
+ data?: T;
170
183
  }>,
171
184
  options?: {
172
185
  idempotencyKey?: string;
@@ -191,18 +204,18 @@ export interface SpawnServerSDK__V1<TConfig = any> {
191
204
 
192
205
  storage: {
193
206
  room: {
194
- get(key: string): Promise<any>;
195
- set(key: string, value: any): Promise<void>;
207
+ get<T>(key: string): Promise<T>;
208
+ set<T>(key: string, value: T): Promise<void>;
196
209
  delete(key: string): Promise<void>;
197
210
  };
198
211
  global: {
199
- get(key: string): Promise<any>;
200
- set(key: string, value: any): Promise<void>;
212
+ get<T>(key: string): Promise<T>;
213
+ set<T>(key: string, value: T): Promise<void>;
201
214
  delete(key: string): Promise<void>;
202
215
  };
203
216
  user: (userId: string) => {
204
- get(key: string): Promise<any>;
205
- set(key: string, value: any): Promise<void>;
217
+ get<T>(key: string): Promise<T>;
218
+ set<T>(key: string, value: T): Promise<void>;
206
219
  delete(key: string): Promise<void>;
207
220
  };
208
221
  };
@@ -265,10 +278,10 @@ export interface Item {
265
278
  data?: Record<string, any>;
266
279
  }
267
280
 
268
- export interface InventoryItem {
281
+ export interface InventoryItem<T extends Record<string, any> = Record<string, any>> {
269
282
  id: string; // Instance ID
270
283
  itemId: string; // Item type
271
- data?: any; // Item-specific data
284
+ data?: T; // Item-specific data
272
285
  }
273
286
 
274
287
  export interface LeaderboardEntry {