@spawnco/sdk-types 0.0.20 → 0.0.22
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 +50 -3
- package/dist/index.d.ts +50 -3
- package/package.json +1 -1
- package/src/v1.ts +68 -2
package/dist/index.d.mts
CHANGED
@@ -52,8 +52,29 @@ interface SpawnClientSDK__V1<TConfig = any> {
|
|
52
52
|
user: {
|
53
53
|
get(key: string): Promise<any>;
|
54
54
|
set(key: string, value: any): Promise<void>;
|
55
|
+
delete(key: string): Promise<void>;
|
55
56
|
};
|
56
57
|
};
|
58
|
+
analytics: {
|
59
|
+
track(event: string, data: Record<string, any>): Promise<void>;
|
60
|
+
};
|
61
|
+
leaderboard: {
|
62
|
+
submit(leaderboardId: string, score: number): Promise<{
|
63
|
+
rank: number;
|
64
|
+
improved: boolean;
|
65
|
+
}>;
|
66
|
+
top(leaderboardId: string, options?: {
|
67
|
+
period?: 'today' | 'week' | 'month' | 'all';
|
68
|
+
limit?: number;
|
69
|
+
}): Promise<LeaderboardEntry[]>;
|
70
|
+
around(leaderboardId: string, options?: {
|
71
|
+
period?: 'today' | 'week' | 'month' | 'all';
|
72
|
+
range?: number;
|
73
|
+
}): Promise<{
|
74
|
+
entries: LeaderboardEntry[];
|
75
|
+
myRank: number;
|
76
|
+
}>;
|
77
|
+
};
|
57
78
|
}
|
58
79
|
interface SpawnServerSDK__V1<TConfig = any> {
|
59
80
|
user: {
|
@@ -99,7 +120,25 @@ interface SpawnServerSDK__V1<TConfig = any> {
|
|
99
120
|
room: {
|
100
121
|
get(key: string): Promise<any>;
|
101
122
|
set(key: string, value: any): Promise<void>;
|
123
|
+
delete(key: string): Promise<void>;
|
124
|
+
};
|
125
|
+
global: {
|
126
|
+
get(key: string): Promise<any>;
|
127
|
+
set(key: string, value: any): Promise<void>;
|
128
|
+
delete(key: string): Promise<void>;
|
102
129
|
};
|
130
|
+
user: (userId: string) => {
|
131
|
+
get(key: string): Promise<any>;
|
132
|
+
set(key: string, value: any): Promise<void>;
|
133
|
+
delete(key: string): Promise<void>;
|
134
|
+
};
|
135
|
+
};
|
136
|
+
leaderboard: {
|
137
|
+
submit(userId: string, leaderboardId: string, score: number): Promise<void>;
|
138
|
+
getMultiple(leaderboardIds: string[], options?: {
|
139
|
+
period?: 'today' | 'week' | 'month' | 'all';
|
140
|
+
limit?: number;
|
141
|
+
}): Promise<Record<string, LeaderboardEntry[]>>;
|
103
142
|
};
|
104
143
|
}
|
105
144
|
interface TokenPayload {
|
@@ -139,7 +178,15 @@ interface Item {
|
|
139
178
|
id: string;
|
140
179
|
data?: Record<string, any>;
|
141
180
|
}
|
142
|
-
|
143
|
-
|
181
|
+
interface LeaderboardEntry {
|
182
|
+
rank: number;
|
183
|
+
username: string;
|
184
|
+
avatarUrl?: string;
|
185
|
+
score: number;
|
186
|
+
isMe?: boolean;
|
187
|
+
timestamp: number;
|
188
|
+
}
|
189
|
+
type SpawnClientSDK__V0<TConfig = any> = Omit<SpawnClientSDK__V1<TConfig>, 'economy' | 'inventory'>;
|
190
|
+
type SpawnServerSDK__V0<TConfig = any> = Omit<SpawnServerSDK__V1<TConfig>, 'economy' | 'inventory' | 'room'>;
|
144
191
|
|
145
|
-
export type { Item, Room, RoomInfo, RoomVisibility, SpawnClientSDK__V0, SpawnClientSDK__V1, SpawnServerSDK__V0, SpawnServerSDK__V1, TokenPayload, User };
|
192
|
+
export type { Item, LeaderboardEntry, Room, RoomInfo, RoomVisibility, SpawnClientSDK__V0, SpawnClientSDK__V1, SpawnServerSDK__V0, SpawnServerSDK__V1, TokenPayload, User };
|
package/dist/index.d.ts
CHANGED
@@ -52,8 +52,29 @@ interface SpawnClientSDK__V1<TConfig = any> {
|
|
52
52
|
user: {
|
53
53
|
get(key: string): Promise<any>;
|
54
54
|
set(key: string, value: any): Promise<void>;
|
55
|
+
delete(key: string): Promise<void>;
|
55
56
|
};
|
56
57
|
};
|
58
|
+
analytics: {
|
59
|
+
track(event: string, data: Record<string, any>): Promise<void>;
|
60
|
+
};
|
61
|
+
leaderboard: {
|
62
|
+
submit(leaderboardId: string, score: number): Promise<{
|
63
|
+
rank: number;
|
64
|
+
improved: boolean;
|
65
|
+
}>;
|
66
|
+
top(leaderboardId: string, options?: {
|
67
|
+
period?: 'today' | 'week' | 'month' | 'all';
|
68
|
+
limit?: number;
|
69
|
+
}): Promise<LeaderboardEntry[]>;
|
70
|
+
around(leaderboardId: string, options?: {
|
71
|
+
period?: 'today' | 'week' | 'month' | 'all';
|
72
|
+
range?: number;
|
73
|
+
}): Promise<{
|
74
|
+
entries: LeaderboardEntry[];
|
75
|
+
myRank: number;
|
76
|
+
}>;
|
77
|
+
};
|
57
78
|
}
|
58
79
|
interface SpawnServerSDK__V1<TConfig = any> {
|
59
80
|
user: {
|
@@ -99,7 +120,25 @@ interface SpawnServerSDK__V1<TConfig = any> {
|
|
99
120
|
room: {
|
100
121
|
get(key: string): Promise<any>;
|
101
122
|
set(key: string, value: any): Promise<void>;
|
123
|
+
delete(key: string): Promise<void>;
|
124
|
+
};
|
125
|
+
global: {
|
126
|
+
get(key: string): Promise<any>;
|
127
|
+
set(key: string, value: any): Promise<void>;
|
128
|
+
delete(key: string): Promise<void>;
|
102
129
|
};
|
130
|
+
user: (userId: string) => {
|
131
|
+
get(key: string): Promise<any>;
|
132
|
+
set(key: string, value: any): Promise<void>;
|
133
|
+
delete(key: string): Promise<void>;
|
134
|
+
};
|
135
|
+
};
|
136
|
+
leaderboard: {
|
137
|
+
submit(userId: string, leaderboardId: string, score: number): Promise<void>;
|
138
|
+
getMultiple(leaderboardIds: string[], options?: {
|
139
|
+
period?: 'today' | 'week' | 'month' | 'all';
|
140
|
+
limit?: number;
|
141
|
+
}): Promise<Record<string, LeaderboardEntry[]>>;
|
103
142
|
};
|
104
143
|
}
|
105
144
|
interface TokenPayload {
|
@@ -139,7 +178,15 @@ interface Item {
|
|
139
178
|
id: string;
|
140
179
|
data?: Record<string, any>;
|
141
180
|
}
|
142
|
-
|
143
|
-
|
181
|
+
interface LeaderboardEntry {
|
182
|
+
rank: number;
|
183
|
+
username: string;
|
184
|
+
avatarUrl?: string;
|
185
|
+
score: number;
|
186
|
+
isMe?: boolean;
|
187
|
+
timestamp: number;
|
188
|
+
}
|
189
|
+
type SpawnClientSDK__V0<TConfig = any> = Omit<SpawnClientSDK__V1<TConfig>, 'economy' | 'inventory'>;
|
190
|
+
type SpawnServerSDK__V0<TConfig = any> = Omit<SpawnServerSDK__V1<TConfig>, 'economy' | 'inventory' | 'room'>;
|
144
191
|
|
145
|
-
export type { Item, Room, RoomInfo, RoomVisibility, SpawnClientSDK__V0, SpawnClientSDK__V1, SpawnServerSDK__V0, SpawnServerSDK__V1, TokenPayload, User };
|
192
|
+
export type { Item, LeaderboardEntry, Room, RoomInfo, RoomVisibility, SpawnClientSDK__V0, SpawnClientSDK__V1, SpawnServerSDK__V0, SpawnServerSDK__V1, TokenPayload, User };
|
package/package.json
CHANGED
package/src/v1.ts
CHANGED
@@ -53,8 +53,42 @@ export interface SpawnClientSDK__V1<TConfig = any> {
|
|
53
53
|
user: {
|
54
54
|
get(key: string): Promise<any>;
|
55
55
|
set(key: string, value: any): Promise<void>;
|
56
|
+
delete(key: string): Promise<void>;
|
56
57
|
};
|
57
58
|
};
|
59
|
+
|
60
|
+
analytics: {
|
61
|
+
track(event: string, data: Record<string, any>): Promise<void>;
|
62
|
+
};
|
63
|
+
|
64
|
+
leaderboard: {
|
65
|
+
submit(
|
66
|
+
leaderboardId: string,
|
67
|
+
score: number
|
68
|
+
): Promise<{
|
69
|
+
rank: number;
|
70
|
+
improved: boolean;
|
71
|
+
}>;
|
72
|
+
|
73
|
+
top(
|
74
|
+
leaderboardId: string,
|
75
|
+
options?: {
|
76
|
+
period?: 'today' | 'week' | 'month' | 'all';
|
77
|
+
limit?: number;
|
78
|
+
}
|
79
|
+
): Promise<LeaderboardEntry[]>;
|
80
|
+
|
81
|
+
around(
|
82
|
+
leaderboardId: string,
|
83
|
+
options?: {
|
84
|
+
period?: 'today' | 'week' | 'month' | 'all';
|
85
|
+
range?: number;
|
86
|
+
}
|
87
|
+
): Promise<{
|
88
|
+
entries: LeaderboardEntry[];
|
89
|
+
myRank: number;
|
90
|
+
}>;
|
91
|
+
};
|
58
92
|
}
|
59
93
|
|
60
94
|
// Server SDK - available in Durable Objects
|
@@ -105,7 +139,30 @@ export interface SpawnServerSDK__V1<TConfig = any> {
|
|
105
139
|
room: {
|
106
140
|
get(key: string): Promise<any>;
|
107
141
|
set(key: string, value: any): Promise<void>;
|
142
|
+
delete(key: string): Promise<void>;
|
143
|
+
};
|
144
|
+
global: {
|
145
|
+
get(key: string): Promise<any>;
|
146
|
+
set(key: string, value: any): Promise<void>;
|
147
|
+
delete(key: string): Promise<void>;
|
108
148
|
};
|
149
|
+
user: (userId: string) => {
|
150
|
+
get(key: string): Promise<any>;
|
151
|
+
set(key: string, value: any): Promise<void>;
|
152
|
+
delete(key: string): Promise<void>;
|
153
|
+
};
|
154
|
+
};
|
155
|
+
|
156
|
+
leaderboard: {
|
157
|
+
submit(userId: string, leaderboardId: string, score: number): Promise<void>;
|
158
|
+
|
159
|
+
getMultiple(
|
160
|
+
leaderboardIds: string[],
|
161
|
+
options?: {
|
162
|
+
period?: 'today' | 'week' | 'month' | 'all';
|
163
|
+
limit?: number;
|
164
|
+
}
|
165
|
+
): Promise<Record<string, LeaderboardEntry[]>>;
|
109
166
|
};
|
110
167
|
}
|
111
168
|
|
@@ -154,7 +211,16 @@ export interface Item {
|
|
154
211
|
data?: Record<string, any>;
|
155
212
|
}
|
156
213
|
|
214
|
+
export interface LeaderboardEntry {
|
215
|
+
rank: number;
|
216
|
+
username: string;
|
217
|
+
avatarUrl?: string;
|
218
|
+
score: number;
|
219
|
+
isMe?: boolean;
|
220
|
+
timestamp: number;
|
221
|
+
}
|
222
|
+
|
157
223
|
// v0 sdk types for testing
|
158
224
|
|
159
|
-
export type SpawnClientSDK__V0<TConfig = any> = Omit<SpawnClientSDK__V1<TConfig>, 'economy' | 'inventory'
|
160
|
-
export type SpawnServerSDK__V0<TConfig = any> = Omit<SpawnServerSDK__V1<TConfig>, 'economy' | 'inventory' | '
|
225
|
+
export type SpawnClientSDK__V0<TConfig = any> = Omit<SpawnClientSDK__V1<TConfig>, 'economy' | 'inventory'>;
|
226
|
+
export type SpawnServerSDK__V0<TConfig = any> = Omit<SpawnServerSDK__V1<TConfig>, 'economy' | 'inventory' | 'room'>;
|