@kokimoki/app 1.7.2 → 1.8.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.
@@ -93,7 +93,7 @@ export declare class KokimokiClient<ClientContextT = any> extends KokimokiClient
93
93
  * @param metadata
94
94
  * @returns
95
95
  */
96
- insertLeaderboardEntry<MetadataT, PrivateMetadataT>(leaderboardName: string, sortMethod: "asc" | "desc", score: number, metadata: MetadataT, privateMetadata: PrivateMetadataT): Promise<{
96
+ insertLeaderboardEntry<MetadataT, PrivateMetadataT>(leaderboardName: string, sortDir: "asc" | "desc", score: number, metadata: MetadataT, privateMetadata: PrivateMetadataT): Promise<{
97
97
  rank: number;
98
98
  }>;
99
99
  /**
@@ -104,7 +104,7 @@ export declare class KokimokiClient<ClientContextT = any> extends KokimokiClient
104
104
  * @param privateMetadata Can only be read using the leaderboard API
105
105
  * @returns
106
106
  */
107
- upsertLeaderboardEntry<MetadataT, PrivateMetadataT>(leaderboardName: string, sortMethod: "asc" | "desc", score: number, metadata: MetadataT, privateMetadata: PrivateMetadataT): Promise<{
107
+ upsertLeaderboardEntry<MetadataT, PrivateMetadataT>(leaderboardName: string, sortDir: "asc" | "desc", score: number, metadata: MetadataT, privateMetadata: PrivateMetadataT): Promise<{
108
108
  rank: number;
109
109
  }>;
110
110
  /**
@@ -114,9 +114,21 @@ export declare class KokimokiClient<ClientContextT = any> extends KokimokiClient
114
114
  * @param limit
115
115
  * @returns
116
116
  */
117
- listLeaderboardEntries<MetadataT>(leaderboardName: string, sortMethod: "asc" | "desc", skip?: number, limit?: number): Promise<Paginated<{
117
+ listLeaderboardEntries<MetadataT>(leaderboardName: string, sortDir: "asc" | "desc", skip?: number, limit?: number): Promise<Paginated<{
118
+ rank: number;
118
119
  score: number;
119
120
  metadata: MetadataT;
120
121
  }>>;
122
+ /**
123
+ * Get best entry in leaderboard for a client, defaults to current client
124
+ * @param leaderboardName
125
+ * @param sortDir
126
+ * @param clientId
127
+ */
128
+ getBestLeaderboardEntry<MetadataT>(leaderboardName: string, sortDir: "asc" | "desc", clientId?: string): Promise<{
129
+ rank: number;
130
+ score: number;
131
+ metadata: MetadataT;
132
+ }>;
121
133
  }
122
134
  export {};
@@ -615,13 +615,13 @@ export class KokimokiClient extends EventEmitter {
615
615
  * @param metadata
616
616
  * @returns
617
617
  */
618
- async insertLeaderboardEntry(leaderboardName, sortMethod, score, metadata, privateMetadata) {
618
+ async insertLeaderboardEntry(leaderboardName, sortDir, score, metadata, privateMetadata) {
619
619
  const res = await fetch(`${this._apiUrl}/leaderboard-entries`, {
620
620
  method: "POST",
621
621
  headers: this.apiHeaders,
622
622
  body: JSON.stringify({
623
623
  leaderboardName,
624
- sortMethod,
624
+ sortDir,
625
625
  score,
626
626
  metadata,
627
627
  privateMetadata,
@@ -638,13 +638,13 @@ export class KokimokiClient extends EventEmitter {
638
638
  * @param privateMetadata Can only be read using the leaderboard API
639
639
  * @returns
640
640
  */
641
- async upsertLeaderboardEntry(leaderboardName, sortMethod, score, metadata, privateMetadata) {
641
+ async upsertLeaderboardEntry(leaderboardName, sortDir, score, metadata, privateMetadata) {
642
642
  const res = await fetch(`${this._apiUrl}/leaderboard-entries`, {
643
643
  method: "POST",
644
644
  headers: this.apiHeaders,
645
645
  body: JSON.stringify({
646
646
  leaderboardName,
647
- sortMethod,
647
+ sortDir,
648
648
  score,
649
649
  metadata,
650
650
  privateMetadata,
@@ -660,8 +660,18 @@ export class KokimokiClient extends EventEmitter {
660
660
  * @param limit
661
661
  * @returns
662
662
  */
663
- async listLeaderboardEntries(leaderboardName, sortMethod, skip = 0, limit = 100) {
664
- const res = await fetch(`${this._apiUrl}/leaderboard-entries?leaderboardName=${leaderboardName}&sortMethod=${sortMethod}&skip=${skip}&limit=${limit}`);
663
+ async listLeaderboardEntries(leaderboardName, sortDir, skip = 0, limit = 100) {
664
+ const res = await fetch(`${this._apiUrl}/leaderboard-entries?leaderboardName=${leaderboardName}&sortDir=${sortDir}&skip=${skip}&limit=${limit}`);
665
+ return await res.json();
666
+ }
667
+ /**
668
+ * Get best entry in leaderboard for a client, defaults to current client
669
+ * @param leaderboardName
670
+ * @param sortDir
671
+ * @param clientId
672
+ */
673
+ async getBestLeaderboardEntry(leaderboardName, sortDir, clientId) {
674
+ const res = await fetch(`${this._apiUrl}/leaderboard-entries/best?leaderboardName=${leaderboardName}&sortDir=${sortDir}&clientId=${clientId || this.id}`);
665
675
  return await res.json();
666
676
  }
667
677
  }
@@ -316,7 +316,7 @@ declare class KokimokiClient<ClientContextT = any> extends KokimokiClient_base {
316
316
  * @param metadata
317
317
  * @returns
318
318
  */
319
- insertLeaderboardEntry<MetadataT, PrivateMetadataT>(leaderboardName: string, sortMethod: "asc" | "desc", score: number, metadata: MetadataT, privateMetadata: PrivateMetadataT): Promise<{
319
+ insertLeaderboardEntry<MetadataT, PrivateMetadataT>(leaderboardName: string, sortDir: "asc" | "desc", score: number, metadata: MetadataT, privateMetadata: PrivateMetadataT): Promise<{
320
320
  rank: number;
321
321
  }>;
322
322
  /**
@@ -327,7 +327,7 @@ declare class KokimokiClient<ClientContextT = any> extends KokimokiClient_base {
327
327
  * @param privateMetadata Can only be read using the leaderboard API
328
328
  * @returns
329
329
  */
330
- upsertLeaderboardEntry<MetadataT, PrivateMetadataT>(leaderboardName: string, sortMethod: "asc" | "desc", score: number, metadata: MetadataT, privateMetadata: PrivateMetadataT): Promise<{
330
+ upsertLeaderboardEntry<MetadataT, PrivateMetadataT>(leaderboardName: string, sortDir: "asc" | "desc", score: number, metadata: MetadataT, privateMetadata: PrivateMetadataT): Promise<{
331
331
  rank: number;
332
332
  }>;
333
333
  /**
@@ -337,10 +337,22 @@ declare class KokimokiClient<ClientContextT = any> extends KokimokiClient_base {
337
337
  * @param limit
338
338
  * @returns
339
339
  */
340
- listLeaderboardEntries<MetadataT>(leaderboardName: string, sortMethod: "asc" | "desc", skip?: number, limit?: number): Promise<Paginated<{
340
+ listLeaderboardEntries<MetadataT>(leaderboardName: string, sortDir: "asc" | "desc", skip?: number, limit?: number): Promise<Paginated<{
341
+ rank: number;
341
342
  score: number;
342
343
  metadata: MetadataT;
343
344
  }>>;
345
+ /**
346
+ * Get best entry in leaderboard for a client, defaults to current client
347
+ * @param leaderboardName
348
+ * @param sortDir
349
+ * @param clientId
350
+ */
351
+ getBestLeaderboardEntry<MetadataT>(leaderboardName: string, sortDir: "asc" | "desc", clientId?: string): Promise<{
352
+ rank: number;
353
+ score: number;
354
+ metadata: MetadataT;
355
+ }>;
344
356
  }
345
357
 
346
358
  declare class RoomSubscription {
@@ -486,7 +486,7 @@ function eventTargetAgnosticAddListener(emitter, name, listener, flags) {
486
486
  var eventsExports = events.exports;
487
487
  var EventEmitter$1 = /*@__PURE__*/getDefaultExportFromCjs(eventsExports);
488
488
 
489
- const KOKIMOKI_APP_VERSION = "1.7.2";
489
+ const KOKIMOKI_APP_VERSION = "1.8.0";
490
490
 
491
491
  /**
492
492
  * Utility module to work with key-value stores.
@@ -15245,13 +15245,13 @@ class KokimokiClient extends EventEmitter$1 {
15245
15245
  * @param metadata
15246
15246
  * @returns
15247
15247
  */
15248
- async insertLeaderboardEntry(leaderboardName, sortMethod, score, metadata, privateMetadata) {
15248
+ async insertLeaderboardEntry(leaderboardName, sortDir, score, metadata, privateMetadata) {
15249
15249
  const res = await fetch(`${this._apiUrl}/leaderboard-entries`, {
15250
15250
  method: "POST",
15251
15251
  headers: this.apiHeaders,
15252
15252
  body: JSON.stringify({
15253
15253
  leaderboardName,
15254
- sortMethod,
15254
+ sortDir,
15255
15255
  score,
15256
15256
  metadata,
15257
15257
  privateMetadata,
@@ -15268,13 +15268,13 @@ class KokimokiClient extends EventEmitter$1 {
15268
15268
  * @param privateMetadata Can only be read using the leaderboard API
15269
15269
  * @returns
15270
15270
  */
15271
- async upsertLeaderboardEntry(leaderboardName, sortMethod, score, metadata, privateMetadata) {
15271
+ async upsertLeaderboardEntry(leaderboardName, sortDir, score, metadata, privateMetadata) {
15272
15272
  const res = await fetch(`${this._apiUrl}/leaderboard-entries`, {
15273
15273
  method: "POST",
15274
15274
  headers: this.apiHeaders,
15275
15275
  body: JSON.stringify({
15276
15276
  leaderboardName,
15277
- sortMethod,
15277
+ sortDir,
15278
15278
  score,
15279
15279
  metadata,
15280
15280
  privateMetadata,
@@ -15290,8 +15290,18 @@ class KokimokiClient extends EventEmitter$1 {
15290
15290
  * @param limit
15291
15291
  * @returns
15292
15292
  */
15293
- async listLeaderboardEntries(leaderboardName, sortMethod, skip = 0, limit = 100) {
15294
- const res = await fetch(`${this._apiUrl}/leaderboard-entries?leaderboardName=${leaderboardName}&sortMethod=${sortMethod}&skip=${skip}&limit=${limit}`);
15293
+ async listLeaderboardEntries(leaderboardName, sortDir, skip = 0, limit = 100) {
15294
+ const res = await fetch(`${this._apiUrl}/leaderboard-entries?leaderboardName=${leaderboardName}&sortDir=${sortDir}&skip=${skip}&limit=${limit}`);
15295
+ return await res.json();
15296
+ }
15297
+ /**
15298
+ * Get best entry in leaderboard for a client, defaults to current client
15299
+ * @param leaderboardName
15300
+ * @param sortDir
15301
+ * @param clientId
15302
+ */
15303
+ async getBestLeaderboardEntry(leaderboardName, sortDir, clientId) {
15304
+ const res = await fetch(`${this._apiUrl}/leaderboard-entries/best?leaderboardName=${leaderboardName}&sortDir=${sortDir}&clientId=${clientId || this.id}`);
15295
15305
  return await res.json();
15296
15306
  }
15297
15307
  }