@kokimoki/app 1.7.1 → 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, 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, 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, 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,12 +615,13 @@ export class KokimokiClient extends EventEmitter {
615
615
  * @param metadata
616
616
  * @returns
617
617
  */
618
- async insertLeaderboardEntry(leaderboardName, 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
+ sortDir,
624
625
  score,
625
626
  metadata,
626
627
  privateMetadata,
@@ -637,12 +638,13 @@ export class KokimokiClient extends EventEmitter {
637
638
  * @param privateMetadata Can only be read using the leaderboard API
638
639
  * @returns
639
640
  */
640
- async upsertLeaderboardEntry(leaderboardName, score, metadata, privateMetadata) {
641
+ async upsertLeaderboardEntry(leaderboardName, sortDir, score, metadata, privateMetadata) {
641
642
  const res = await fetch(`${this._apiUrl}/leaderboard-entries`, {
642
643
  method: "POST",
643
644
  headers: this.apiHeaders,
644
645
  body: JSON.stringify({
645
646
  leaderboardName,
647
+ sortDir,
646
648
  score,
647
649
  metadata,
648
650
  privateMetadata,
@@ -658,8 +660,18 @@ export class KokimokiClient extends EventEmitter {
658
660
  * @param limit
659
661
  * @returns
660
662
  */
661
- async listLeaderboardEntries(leaderboardName, skip = 0, limit = 100) {
662
- const res = await fetch(`${this._apiUrl}/leaderboard-entries?leaderboardName=${leaderboardName}&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}`);
663
675
  return await res.json();
664
676
  }
665
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, 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, 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, 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.1";
489
+ const KOKIMOKI_APP_VERSION = "1.8.0";
490
490
 
491
491
  /**
492
492
  * Utility module to work with key-value stores.
@@ -15245,12 +15245,13 @@ class KokimokiClient extends EventEmitter$1 {
15245
15245
  * @param metadata
15246
15246
  * @returns
15247
15247
  */
15248
- async insertLeaderboardEntry(leaderboardName, 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
+ sortDir,
15254
15255
  score,
15255
15256
  metadata,
15256
15257
  privateMetadata,
@@ -15267,12 +15268,13 @@ class KokimokiClient extends EventEmitter$1 {
15267
15268
  * @param privateMetadata Can only be read using the leaderboard API
15268
15269
  * @returns
15269
15270
  */
15270
- async upsertLeaderboardEntry(leaderboardName, score, metadata, privateMetadata) {
15271
+ async upsertLeaderboardEntry(leaderboardName, sortDir, score, metadata, privateMetadata) {
15271
15272
  const res = await fetch(`${this._apiUrl}/leaderboard-entries`, {
15272
15273
  method: "POST",
15273
15274
  headers: this.apiHeaders,
15274
15275
  body: JSON.stringify({
15275
15276
  leaderboardName,
15277
+ sortDir,
15276
15278
  score,
15277
15279
  metadata,
15278
15280
  privateMetadata,
@@ -15288,8 +15290,18 @@ class KokimokiClient extends EventEmitter$1 {
15288
15290
  * @param limit
15289
15291
  * @returns
15290
15292
  */
15291
- async listLeaderboardEntries(leaderboardName, skip = 0, limit = 100) {
15292
- const res = await fetch(`${this._apiUrl}/leaderboard-entries?leaderboardName=${leaderboardName}&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}`);
15293
15305
  return await res.json();
15294
15306
  }
15295
15307
  }