@spawnco/sdk-types 0.0.27 → 0.0.28

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
@@ -27,11 +27,11 @@ interface SpawnClientSDK__V1<TConfig = any> {
27
27
  balance(): Promise<{
28
28
  amount: number;
29
29
  }>;
30
- purchase(options: {
30
+ purchase<T extends Record<string, any>>(options: {
31
31
  sku: string;
32
32
  price: number;
33
33
  description: string;
34
- data?: Record<string, any>;
34
+ data?: T;
35
35
  }): Promise<{
36
36
  success: boolean;
37
37
  token?: string;
@@ -50,8 +50,8 @@ interface SpawnClientSDK__V1<TConfig = any> {
50
50
  };
51
51
  storage: {
52
52
  user: {
53
- get(key: string): Promise<any>;
54
- set(key: string, value: any): Promise<void>;
53
+ get<T>(key: string): Promise<T>;
54
+ set<T>(key: string, value: T): Promise<void>;
55
55
  delete(key: string): Promise<void>;
56
56
  };
57
57
  };
@@ -95,10 +95,10 @@ interface SpawnServerSDK__V1<TConfig = any> {
95
95
  effectiveVersion(): Promise<string>;
96
96
  };
97
97
  economy: {
98
- redeemPurchase(token: string): Promise<{
98
+ redeemPurchase<T extends Record<string, any>>(token: string): Promise<{
99
99
  success: boolean;
100
100
  sku: string;
101
- data?: Record<string, any>;
101
+ data?: T;
102
102
  userId: string;
103
103
  }>;
104
104
  };
@@ -130,9 +130,9 @@ interface SpawnServerSDK__V1<TConfig = any> {
130
130
  get(userId: string): Promise<Record<string, number>>;
131
131
  };
132
132
  items: {
133
- grant(userId: string, items: Array<{
133
+ grant<T extends Record<string, any>>(userId: string, items: Array<{
134
134
  itemId: string;
135
- data?: any;
135
+ data?: T;
136
136
  }>, options?: {
137
137
  idempotencyKey?: string;
138
138
  reason?: string;
@@ -146,18 +146,18 @@ interface SpawnServerSDK__V1<TConfig = any> {
146
146
  };
147
147
  storage: {
148
148
  room: {
149
- get(key: string): Promise<any>;
150
- set(key: string, value: any): Promise<void>;
149
+ get<T>(key: string): Promise<T>;
150
+ set<T>(key: string, value: T): Promise<void>;
151
151
  delete(key: string): Promise<void>;
152
152
  };
153
153
  global: {
154
- get(key: string): Promise<any>;
155
- set(key: string, value: any): Promise<void>;
154
+ get<T>(key: string): Promise<T>;
155
+ set<T>(key: string, value: T): Promise<void>;
156
156
  delete(key: string): Promise<void>;
157
157
  };
158
158
  user: (userId: string) => {
159
- get(key: string): Promise<any>;
160
- set(key: string, value: any): Promise<void>;
159
+ get<T>(key: string): Promise<T>;
160
+ set<T>(key: string, value: T): Promise<void>;
161
161
  delete(key: string): Promise<void>;
162
162
  };
163
163
  };
@@ -206,10 +206,10 @@ interface Item {
206
206
  id: string;
207
207
  data?: Record<string, any>;
208
208
  }
209
- interface InventoryItem {
209
+ interface InventoryItem<T extends Record<string, any> = Record<string, any>> {
210
210
  id: string;
211
211
  itemId: string;
212
- data?: any;
212
+ data?: T;
213
213
  }
214
214
  interface LeaderboardEntry {
215
215
  rank: number;
package/dist/index.d.ts CHANGED
@@ -27,11 +27,11 @@ interface SpawnClientSDK__V1<TConfig = any> {
27
27
  balance(): Promise<{
28
28
  amount: number;
29
29
  }>;
30
- purchase(options: {
30
+ purchase<T extends Record<string, any>>(options: {
31
31
  sku: string;
32
32
  price: number;
33
33
  description: string;
34
- data?: Record<string, any>;
34
+ data?: T;
35
35
  }): Promise<{
36
36
  success: boolean;
37
37
  token?: string;
@@ -50,8 +50,8 @@ interface SpawnClientSDK__V1<TConfig = any> {
50
50
  };
51
51
  storage: {
52
52
  user: {
53
- get(key: string): Promise<any>;
54
- set(key: string, value: any): Promise<void>;
53
+ get<T>(key: string): Promise<T>;
54
+ set<T>(key: string, value: T): Promise<void>;
55
55
  delete(key: string): Promise<void>;
56
56
  };
57
57
  };
@@ -95,10 +95,10 @@ interface SpawnServerSDK__V1<TConfig = any> {
95
95
  effectiveVersion(): Promise<string>;
96
96
  };
97
97
  economy: {
98
- redeemPurchase(token: string): Promise<{
98
+ redeemPurchase<T extends Record<string, any>>(token: string): Promise<{
99
99
  success: boolean;
100
100
  sku: string;
101
- data?: Record<string, any>;
101
+ data?: T;
102
102
  userId: string;
103
103
  }>;
104
104
  };
@@ -130,9 +130,9 @@ interface SpawnServerSDK__V1<TConfig = any> {
130
130
  get(userId: string): Promise<Record<string, number>>;
131
131
  };
132
132
  items: {
133
- grant(userId: string, items: Array<{
133
+ grant<T extends Record<string, any>>(userId: string, items: Array<{
134
134
  itemId: string;
135
- data?: any;
135
+ data?: T;
136
136
  }>, options?: {
137
137
  idempotencyKey?: string;
138
138
  reason?: string;
@@ -146,18 +146,18 @@ interface SpawnServerSDK__V1<TConfig = any> {
146
146
  };
147
147
  storage: {
148
148
  room: {
149
- get(key: string): Promise<any>;
150
- set(key: string, value: any): Promise<void>;
149
+ get<T>(key: string): Promise<T>;
150
+ set<T>(key: string, value: T): Promise<void>;
151
151
  delete(key: string): Promise<void>;
152
152
  };
153
153
  global: {
154
- get(key: string): Promise<any>;
155
- set(key: string, value: any): Promise<void>;
154
+ get<T>(key: string): Promise<T>;
155
+ set<T>(key: string, value: T): Promise<void>;
156
156
  delete(key: string): Promise<void>;
157
157
  };
158
158
  user: (userId: string) => {
159
- get(key: string): Promise<any>;
160
- set(key: string, value: any): Promise<void>;
159
+ get<T>(key: string): Promise<T>;
160
+ set<T>(key: string, value: T): Promise<void>;
161
161
  delete(key: string): Promise<void>;
162
162
  };
163
163
  };
@@ -206,10 +206,10 @@ interface Item {
206
206
  id: string;
207
207
  data?: Record<string, any>;
208
208
  }
209
- interface InventoryItem {
209
+ interface InventoryItem<T extends Record<string, any> = Record<string, any>> {
210
210
  id: string;
211
211
  itemId: string;
212
- data?: any;
212
+ data?: T;
213
213
  }
214
214
  interface LeaderboardEntry {
215
215
  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.28",
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
@@ -33,7 +33,12 @@ export interface SpawnClientSDK__V1<TConfig = any> {
33
33
  economy: {
34
34
  balance(): Promise<{ amount: number }>;
35
35
 
36
- purchase(options: { sku: string; price: number; description: string; data?: Record<string, any> }): Promise<{
36
+ purchase<T extends Record<string, any>>(options: {
37
+ sku: string;
38
+ price: number;
39
+ description: string;
40
+ data?: T;
41
+ }): Promise<{
37
42
  success: boolean;
38
43
  token?: string; // Contains signed purchase details
39
44
  }>;
@@ -55,8 +60,8 @@ export interface SpawnClientSDK__V1<TConfig = any> {
55
60
 
56
61
  storage: {
57
62
  user: {
58
- get(key: string): Promise<any>;
59
- set(key: string, value: any): Promise<void>;
63
+ get<T>(key: string): Promise<T>;
64
+ set<T>(key: string, value: T): Promise<void>;
60
65
  delete(key: string): Promise<void>;
61
66
  };
62
67
  };
@@ -111,10 +116,12 @@ export interface SpawnServerSDK__V1<TConfig = any> {
111
116
 
112
117
  economy: {
113
118
  // Redeem a purchase token from client
114
- redeemPurchase(token: string): Promise<{
119
+ redeemPurchase<T extends Record<string, any>>(
120
+ token: string
121
+ ): Promise<{
115
122
  success: boolean;
116
123
  sku: string;
117
- data?: Record<string, any>;
124
+ data?: T;
118
125
  userId: string;
119
126
  }>;
120
127
  };
@@ -162,11 +169,11 @@ export interface SpawnServerSDK__V1<TConfig = any> {
162
169
 
163
170
  items: {
164
171
  // Grant items to user (returns instance IDs)
165
- grant(
172
+ grant<T extends Record<string, any>>(
166
173
  userId: string,
167
174
  items: Array<{
168
175
  itemId: string;
169
- data?: any;
176
+ data?: T;
170
177
  }>,
171
178
  options?: {
172
179
  idempotencyKey?: string;
@@ -191,18 +198,18 @@ export interface SpawnServerSDK__V1<TConfig = any> {
191
198
 
192
199
  storage: {
193
200
  room: {
194
- get(key: string): Promise<any>;
195
- set(key: string, value: any): Promise<void>;
201
+ get<T>(key: string): Promise<T>;
202
+ set<T>(key: string, value: T): Promise<void>;
196
203
  delete(key: string): Promise<void>;
197
204
  };
198
205
  global: {
199
- get(key: string): Promise<any>;
200
- set(key: string, value: any): Promise<void>;
206
+ get<T>(key: string): Promise<T>;
207
+ set<T>(key: string, value: T): Promise<void>;
201
208
  delete(key: string): Promise<void>;
202
209
  };
203
210
  user: (userId: string) => {
204
- get(key: string): Promise<any>;
205
- set(key: string, value: any): Promise<void>;
211
+ get<T>(key: string): Promise<T>;
212
+ set<T>(key: string, value: T): Promise<void>;
206
213
  delete(key: string): Promise<void>;
207
214
  };
208
215
  };
@@ -265,10 +272,10 @@ export interface Item {
265
272
  data?: Record<string, any>;
266
273
  }
267
274
 
268
- export interface InventoryItem {
275
+ export interface InventoryItem<T extends Record<string, any> = Record<string, any>> {
269
276
  id: string; // Instance ID
270
277
  itemId: string; // Item type
271
- data?: any; // Item-specific data
278
+ data?: T; // Item-specific data
272
279
  }
273
280
 
274
281
  export interface LeaderboardEntry {