@spawnco/sdk-types 0.0.26 → 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 +21 -21
- package/dist/index.d.ts +21 -21
- package/package.json +1 -1
- package/src/v1.ts +30 -19
package/dist/index.d.mts
CHANGED
@@ -12,11 +12,11 @@ interface SpawnClientSDK__V1<TConfig = any> {
|
|
12
12
|
upgradeGuest(): Promise<void>;
|
13
13
|
};
|
14
14
|
room: {
|
15
|
-
connect<
|
15
|
+
connect<ClientSentMessages extends Record<string, any>, ServerSentMessages extends Record<string, any>>(options: {
|
16
16
|
roomId: string;
|
17
17
|
query?: Record<string, string>;
|
18
18
|
headers?: Record<string, string>;
|
19
|
-
}): Promise<Room<
|
19
|
+
}): Promise<Room<ClientSentMessages, ServerSentMessages>>;
|
20
20
|
};
|
21
21
|
config: {
|
22
22
|
get(): Promise<TConfig>;
|
@@ -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?:
|
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<
|
54
|
-
set(key: string, value:
|
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?:
|
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?:
|
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<
|
150
|
-
set(key: string, value:
|
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<
|
155
|
-
set(key: string, value:
|
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<
|
160
|
-
set(key: string, value:
|
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
|
};
|
@@ -185,10 +185,10 @@ interface User {
|
|
185
185
|
avatarUrl?: string;
|
186
186
|
isGuest: boolean;
|
187
187
|
}
|
188
|
-
interface Room<
|
188
|
+
interface Room<ClientSentMessages extends Record<string, any>, ServerSentMessages extends Record<string, any>> {
|
189
189
|
id: string;
|
190
|
-
send<K extends keyof
|
191
|
-
on<K extends keyof
|
190
|
+
send<K extends keyof ClientSentMessages>(type: K, data: ClientSentMessages[K]): void;
|
191
|
+
on<K extends keyof ServerSentMessages>(event: K, handler: (data: ServerSentMessages[K]) => void): void;
|
192
192
|
on(event: 'disconnect', handler: () => void): void;
|
193
193
|
leave(): void;
|
194
194
|
}
|
@@ -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?:
|
212
|
+
data?: T;
|
213
213
|
}
|
214
214
|
interface LeaderboardEntry {
|
215
215
|
rank: number;
|
package/dist/index.d.ts
CHANGED
@@ -12,11 +12,11 @@ interface SpawnClientSDK__V1<TConfig = any> {
|
|
12
12
|
upgradeGuest(): Promise<void>;
|
13
13
|
};
|
14
14
|
room: {
|
15
|
-
connect<
|
15
|
+
connect<ClientSentMessages extends Record<string, any>, ServerSentMessages extends Record<string, any>>(options: {
|
16
16
|
roomId: string;
|
17
17
|
query?: Record<string, string>;
|
18
18
|
headers?: Record<string, string>;
|
19
|
-
}): Promise<Room<
|
19
|
+
}): Promise<Room<ClientSentMessages, ServerSentMessages>>;
|
20
20
|
};
|
21
21
|
config: {
|
22
22
|
get(): Promise<TConfig>;
|
@@ -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?:
|
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<
|
54
|
-
set(key: string, value:
|
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?:
|
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?:
|
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<
|
150
|
-
set(key: string, value:
|
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<
|
155
|
-
set(key: string, value:
|
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<
|
160
|
-
set(key: string, value:
|
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
|
};
|
@@ -185,10 +185,10 @@ interface User {
|
|
185
185
|
avatarUrl?: string;
|
186
186
|
isGuest: boolean;
|
187
187
|
}
|
188
|
-
interface Room<
|
188
|
+
interface Room<ClientSentMessages extends Record<string, any>, ServerSentMessages extends Record<string, any>> {
|
189
189
|
id: string;
|
190
|
-
send<K extends keyof
|
191
|
-
on<K extends keyof
|
190
|
+
send<K extends keyof ClientSentMessages>(type: K, data: ClientSentMessages[K]): void;
|
191
|
+
on<K extends keyof ServerSentMessages>(event: K, handler: (data: ServerSentMessages[K]) => void): void;
|
192
192
|
on(event: 'disconnect', handler: () => void): void;
|
193
193
|
leave(): void;
|
194
194
|
}
|
@@ -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?:
|
212
|
+
data?: T;
|
213
213
|
}
|
214
214
|
interface LeaderboardEntry {
|
215
215
|
rank: number;
|
package/package.json
CHANGED
package/src/v1.ts
CHANGED
@@ -17,7 +17,11 @@ export interface SpawnClientSDK__V1<TConfig = any> {
|
|
17
17
|
|
18
18
|
room: {
|
19
19
|
// only one room per game for v1
|
20
|
-
connect<
|
20
|
+
connect<ClientSentMessages extends Record<string, any>, ServerSentMessages extends Record<string, any>>(options: {
|
21
|
+
roomId: string;
|
22
|
+
query?: Record<string, string>;
|
23
|
+
headers?: Record<string, string>;
|
24
|
+
}): Promise<Room<ClientSentMessages, ServerSentMessages>>;
|
21
25
|
};
|
22
26
|
|
23
27
|
config: {
|
@@ -29,7 +33,12 @@ export interface SpawnClientSDK__V1<TConfig = any> {
|
|
29
33
|
economy: {
|
30
34
|
balance(): Promise<{ amount: number }>;
|
31
35
|
|
32
|
-
purchase
|
36
|
+
purchase<T extends Record<string, any>>(options: {
|
37
|
+
sku: string;
|
38
|
+
price: number;
|
39
|
+
description: string;
|
40
|
+
data?: T;
|
41
|
+
}): Promise<{
|
33
42
|
success: boolean;
|
34
43
|
token?: string; // Contains signed purchase details
|
35
44
|
}>;
|
@@ -51,8 +60,8 @@ export interface SpawnClientSDK__V1<TConfig = any> {
|
|
51
60
|
|
52
61
|
storage: {
|
53
62
|
user: {
|
54
|
-
get(key: string): Promise<
|
55
|
-
set(key: string, value:
|
63
|
+
get<T>(key: string): Promise<T>;
|
64
|
+
set<T>(key: string, value: T): Promise<void>;
|
56
65
|
delete(key: string): Promise<void>;
|
57
66
|
};
|
58
67
|
};
|
@@ -107,10 +116,12 @@ export interface SpawnServerSDK__V1<TConfig = any> {
|
|
107
116
|
|
108
117
|
economy: {
|
109
118
|
// Redeem a purchase token from client
|
110
|
-
redeemPurchase
|
119
|
+
redeemPurchase<T extends Record<string, any>>(
|
120
|
+
token: string
|
121
|
+
): Promise<{
|
111
122
|
success: boolean;
|
112
123
|
sku: string;
|
113
|
-
data?:
|
124
|
+
data?: T;
|
114
125
|
userId: string;
|
115
126
|
}>;
|
116
127
|
};
|
@@ -158,11 +169,11 @@ export interface SpawnServerSDK__V1<TConfig = any> {
|
|
158
169
|
|
159
170
|
items: {
|
160
171
|
// Grant items to user (returns instance IDs)
|
161
|
-
grant(
|
172
|
+
grant<T extends Record<string, any>>(
|
162
173
|
userId: string,
|
163
174
|
items: Array<{
|
164
175
|
itemId: string;
|
165
|
-
data?:
|
176
|
+
data?: T;
|
166
177
|
}>,
|
167
178
|
options?: {
|
168
179
|
idempotencyKey?: string;
|
@@ -187,18 +198,18 @@ export interface SpawnServerSDK__V1<TConfig = any> {
|
|
187
198
|
|
188
199
|
storage: {
|
189
200
|
room: {
|
190
|
-
get(key: string): Promise<
|
191
|
-
set(key: string, value:
|
201
|
+
get<T>(key: string): Promise<T>;
|
202
|
+
set<T>(key: string, value: T): Promise<void>;
|
192
203
|
delete(key: string): Promise<void>;
|
193
204
|
};
|
194
205
|
global: {
|
195
|
-
get(key: string): Promise<
|
196
|
-
set(key: string, value:
|
206
|
+
get<T>(key: string): Promise<T>;
|
207
|
+
set<T>(key: string, value: T): Promise<void>;
|
197
208
|
delete(key: string): Promise<void>;
|
198
209
|
};
|
199
210
|
user: (userId: string) => {
|
200
|
-
get(key: string): Promise<
|
201
|
-
set(key: string, value:
|
211
|
+
get<T>(key: string): Promise<T>;
|
212
|
+
set<T>(key: string, value: T): Promise<void>;
|
202
213
|
delete(key: string): Promise<void>;
|
203
214
|
};
|
204
215
|
};
|
@@ -237,10 +248,10 @@ export interface User {
|
|
237
248
|
isGuest: boolean;
|
238
249
|
}
|
239
250
|
|
240
|
-
export interface Room<
|
251
|
+
export interface Room<ClientSentMessages extends Record<string, any>, ServerSentMessages extends Record<string, any>> {
|
241
252
|
id: string;
|
242
|
-
send<K extends keyof
|
243
|
-
on<K extends keyof
|
253
|
+
send<K extends keyof ClientSentMessages>(type: K, data: ClientSentMessages[K]): void;
|
254
|
+
on<K extends keyof ServerSentMessages>(event: K, handler: (data: ServerSentMessages[K]) => void): void;
|
244
255
|
on(event: 'disconnect', handler: () => void): void;
|
245
256
|
leave(): void;
|
246
257
|
}
|
@@ -261,10 +272,10 @@ export interface Item {
|
|
261
272
|
data?: Record<string, any>;
|
262
273
|
}
|
263
274
|
|
264
|
-
export interface InventoryItem {
|
275
|
+
export interface InventoryItem<T extends Record<string, any> = Record<string, any>> {
|
265
276
|
id: string; // Instance ID
|
266
277
|
itemId: string; // Item type
|
267
|
-
data?:
|
278
|
+
data?: T; // Item-specific data
|
268
279
|
}
|
269
280
|
|
270
281
|
export interface LeaderboardEntry {
|