@kekkle/shared 1.4.1 → 1.5.0-next.2
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/esm/constants/collections.js +9 -6
- package/dist/esm/enums/group-permission.js +5 -2
- package/dist/esm/enums/push-settings-options.js +5 -2
- package/dist/esm/fixtures/character-state.fixtures.js +4 -1
- package/dist/esm/fixtures/wordle-row.fixtures.js +15 -9
- package/dist/esm/helpers/permissions/is-valid-permission.js +6 -3
- package/dist/esm/helpers/worlde/all-correct-in-row.js +4 -1
- package/dist/esm/helpers/worlde/calculate-wordle-score.js +7 -4
- package/dist/esm/types/comment.js +2 -1
- package/dist/esm/types/fcm-token.js +2 -1
- package/dist/esm/types/group-general-data.js +2 -1
- package/dist/esm/types/group-member.js +2 -1
- package/dist/esm/types/group.js +2 -1
- package/dist/esm/types/match-tries.js +2 -1
- package/dist/esm/types/push-document.js +2 -1
- package/dist/esm/types/quote.js +2 -1
- package/dist/esm/types/uid.js +2 -1
- package/dist/esm/types/user.js +2 -1
- package/dist/esm/types/wordle-game-state-document.js +2 -1
- package/dist/esm/types/wordle-game-state.js +2 -1
- package/dist/esm/types/wordle-game.js +2 -1
- package/dist/esm/types/wordle-leaderboard.js +2 -1
- package/dist/esm/types/wordle-monthly-score.js +2 -1
- package/dist/esm/types/wordle-score.js +2 -1
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +5 -8
- package/dist/node/constants/collections.d.ts +0 -7
- package/dist/node/constants/collections.d.ts.map +0 -1
- package/dist/node/constants/collections.js +0 -6
- package/dist/node/enums/group-permission.d.ts +0 -6
- package/dist/node/enums/group-permission.d.ts.map +0 -1
- package/dist/node/enums/group-permission.js +0 -6
- package/dist/node/enums/push-settings-options.d.ts +0 -10
- package/dist/node/enums/push-settings-options.d.ts.map +0 -1
- package/dist/node/enums/push-settings-options.js +0 -10
- package/dist/node/fixtures/character-state.fixtures.d.ts +0 -3
- package/dist/node/fixtures/character-state.fixtures.d.ts.map +0 -1
- package/dist/node/fixtures/character-state.fixtures.js +0 -3
- package/dist/node/fixtures/wordle-row.fixtures.d.ts +0 -6
- package/dist/node/fixtures/wordle-row.fixtures.d.ts.map +0 -1
- package/dist/node/fixtures/wordle-row.fixtures.js +0 -20
- package/dist/node/helpers/permissions/is-valid-permission.d.ts +0 -2
- package/dist/node/helpers/permissions/is-valid-permission.d.ts.map +0 -1
- package/dist/node/helpers/permissions/is-valid-permission.js +0 -4
- package/dist/node/helpers/worlde/all-correct-in-row.d.ts +0 -6
- package/dist/node/helpers/worlde/all-correct-in-row.d.ts.map +0 -1
- package/dist/node/helpers/worlde/all-correct-in-row.js +0 -6
- package/dist/node/helpers/worlde/calculate-wordle-score.d.ts +0 -13
- package/dist/node/helpers/worlde/calculate-wordle-score.d.ts.map +0 -1
- package/dist/node/helpers/worlde/calculate-wordle-score.js +0 -42
- package/dist/node/types/comment.d.ts +0 -10
- package/dist/node/types/comment.d.ts.map +0 -1
- package/dist/node/types/comment.js +0 -1
- package/dist/node/types/fcm-token.d.ts +0 -2
- package/dist/node/types/fcm-token.d.ts.map +0 -1
- package/dist/node/types/fcm-token.js +0 -1
- package/dist/node/types/group-general-data.d.ts +0 -7
- package/dist/node/types/group-general-data.d.ts.map +0 -1
- package/dist/node/types/group-general-data.js +0 -1
- package/dist/node/types/group-member.d.ts +0 -9
- package/dist/node/types/group-member.d.ts.map +0 -1
- package/dist/node/types/group-member.js +0 -1
- package/dist/node/types/group.d.ts +0 -23
- package/dist/node/types/group.d.ts.map +0 -1
- package/dist/node/types/group.js +0 -1
- package/dist/node/types/match-tries.d.ts +0 -10
- package/dist/node/types/match-tries.d.ts.map +0 -1
- package/dist/node/types/match-tries.js +0 -1
- package/dist/node/types/push-document.d.ts +0 -21
- package/dist/node/types/push-document.d.ts.map +0 -1
- package/dist/node/types/push-document.js +0 -1
- package/dist/node/types/quote.d.ts +0 -13
- package/dist/node/types/quote.d.ts.map +0 -1
- package/dist/node/types/quote.js +0 -1
- package/dist/node/types/uid.d.ts +0 -2
- package/dist/node/types/uid.d.ts.map +0 -1
- package/dist/node/types/uid.js +0 -1
- package/dist/node/types/user.d.ts +0 -14
- package/dist/node/types/user.d.ts.map +0 -1
- package/dist/node/types/user.js +0 -1
- package/dist/node/types/wordle-game-state-document.d.ts +0 -13
- package/dist/node/types/wordle-game-state-document.d.ts.map +0 -1
- package/dist/node/types/wordle-game-state-document.js +0 -1
- package/dist/node/types/wordle-game-state.d.ts +0 -9
- package/dist/node/types/wordle-game-state.d.ts.map +0 -1
- package/dist/node/types/wordle-game-state.js +0 -1
- package/dist/node/types/wordle-game.d.ts +0 -19
- package/dist/node/types/wordle-game.d.ts.map +0 -1
- package/dist/node/types/wordle-game.js +0 -1
- package/dist/node/types/wordle-leaderboard.d.ts +0 -29
- package/dist/node/types/wordle-leaderboard.d.ts.map +0 -1
- package/dist/node/types/wordle-leaderboard.js +0 -1
- package/dist/node/types/wordle-monthly-score.d.ts +0 -33
- package/dist/node/types/wordle-monthly-score.d.ts.map +0 -1
- package/dist/node/types/wordle-monthly-score.js +0 -1
- package/dist/node/types/wordle-score.d.ts +0 -17
- package/dist/node/types/wordle-score.d.ts.map +0 -1
- package/dist/node/types/wordle-score.js +0 -1
- package/dist/tsconfig.node.tsbuildinfo +0 -1
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WORDLE_SCORES_COLLECTION_PATH = exports.WORDLE_MONTHLY_SCORES_COLLECTION_PATH = exports.WORDLE_LEADERBOARD_COLLECTION_PATH = exports.WORDLE_GAMES_COLLECTION_PATH = exports.GROUP_COLLECTION_PATH = exports.USER_COLLECTION_PATH = void 0;
|
|
4
|
+
exports.USER_COLLECTION_PATH = "users";
|
|
5
|
+
exports.GROUP_COLLECTION_PATH = "groups";
|
|
6
|
+
exports.WORDLE_GAMES_COLLECTION_PATH = "wordle_games";
|
|
7
|
+
exports.WORDLE_LEADERBOARD_COLLECTION_PATH = "wordle_leaderboard";
|
|
8
|
+
exports.WORDLE_MONTHLY_SCORES_COLLECTION_PATH = "wordle_monthly_scores";
|
|
9
|
+
exports.WORDLE_SCORES_COLLECTION_PATH = "wordle_scores";
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GroupPermission = void 0;
|
|
4
|
+
var GroupPermission;
|
|
2
5
|
(function (GroupPermission) {
|
|
3
6
|
GroupPermission["ADMIN"] = "admin";
|
|
4
7
|
GroupPermission["ORGANISER"] = "organiser";
|
|
5
8
|
GroupPermission["MEMBER"] = "member";
|
|
6
|
-
})(GroupPermission || (GroupPermission = {}));
|
|
9
|
+
})(GroupPermission || (exports.GroupPermission = GroupPermission = {}));
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PushSettingsOptions = void 0;
|
|
4
|
+
var PushSettingsOptions;
|
|
2
5
|
(function (PushSettingsOptions) {
|
|
3
6
|
PushSettingsOptions["EVENT_CREATE"] = "event_create";
|
|
4
7
|
PushSettingsOptions["GROUP_MEMBER_JOINED"] = "group_member_joined";
|
|
@@ -7,4 +10,4 @@ export var PushSettingsOptions;
|
|
|
7
10
|
PushSettingsOptions["EVENT_COMMENT"] = "event_comment";
|
|
8
11
|
PushSettingsOptions["PHOTO_CREATE"] = "photo_create";
|
|
9
12
|
PushSettingsOptions["PHOTO_COMMENT"] = "photo_comment";
|
|
10
|
-
})(PushSettingsOptions || (PushSettingsOptions = {}));
|
|
13
|
+
})(PushSettingsOptions || (exports.PushSettingsOptions = PushSettingsOptions = {}));
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createCharacterState = createCharacterState;
|
|
4
|
+
function createCharacterState(character, isCorrect, isLocked = false) {
|
|
2
5
|
return { character, isCorrect, isLocked };
|
|
3
6
|
}
|
|
@@ -1,20 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createWordleRow = createWordleRow;
|
|
4
|
+
exports.createAllCorrectWordleRow = createAllCorrectWordleRow;
|
|
5
|
+
exports.createAllIncorrectWordleRow = createAllIncorrectWordleRow;
|
|
6
|
+
exports.createPartialWordleRow = createPartialWordleRow;
|
|
7
|
+
const character_state_fixtures_js_1 = require("../fixtures/character-state.fixtures.js");
|
|
8
|
+
function createWordleRow(inputWord, correctWord) {
|
|
3
9
|
if (inputWord.length !== correctWord.length) {
|
|
4
10
|
throw new Error("Input word and correct word must be the same length");
|
|
5
11
|
}
|
|
6
12
|
return inputWord
|
|
7
13
|
.split("")
|
|
8
|
-
.map((char, index) => createCharacterState(char, char === correctWord[index]));
|
|
14
|
+
.map((char, index) => (0, character_state_fixtures_js_1.createCharacterState)(char, char === correctWord[index]));
|
|
9
15
|
}
|
|
10
|
-
|
|
11
|
-
return word.split("").map((char) => createCharacterState(char, true, false));
|
|
16
|
+
function createAllCorrectWordleRow(word) {
|
|
17
|
+
return word.split("").map((char) => (0, character_state_fixtures_js_1.createCharacterState)(char, true, false));
|
|
12
18
|
}
|
|
13
|
-
|
|
14
|
-
return word.split("").map((char) => createCharacterState(char, false, false));
|
|
19
|
+
function createAllIncorrectWordleRow(word) {
|
|
20
|
+
return word.split("").map((char) => (0, character_state_fixtures_js_1.createCharacterState)(char, false, false));
|
|
15
21
|
}
|
|
16
|
-
|
|
22
|
+
function createPartialWordleRow(word, correctIndices) {
|
|
17
23
|
return word
|
|
18
24
|
.split("")
|
|
19
|
-
.map((char, index) => createCharacterState(char, correctIndices.includes(index), false));
|
|
25
|
+
.map((char, index) => (0, character_state_fixtures_js_1.createCharacterState)(char, correctIndices.includes(index), false));
|
|
20
26
|
}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isValidPermission = isValidPermission;
|
|
4
|
+
const group_permission_js_1 = require("../../enums/group-permission.js");
|
|
5
|
+
function isValidPermission(permission) {
|
|
6
|
+
return Object.values(group_permission_js_1.GroupPermission).includes(permission);
|
|
4
7
|
}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.allCorrectInRow = allCorrectInRow;
|
|
1
4
|
/**
|
|
2
5
|
* Method to determine if all characters are correct for a given WordleRow
|
|
3
6
|
*/
|
|
4
|
-
|
|
7
|
+
function allCorrectInRow(row) {
|
|
5
8
|
return row.every((cell) => cell.isCorrect);
|
|
6
9
|
}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.calculateWordleScore = calculateWordleScore;
|
|
4
|
+
const all_correct_in_row_js_1 = require("./all-correct-in-row.js");
|
|
2
5
|
/**
|
|
3
6
|
* Calculates the score for a Wordle game based on the current game state.
|
|
4
7
|
*
|
|
@@ -9,7 +12,7 @@ import { allCorrectInRow } from "./all-correct-in-row.js";
|
|
|
9
12
|
* - If the game is not won yet:
|
|
10
13
|
* - Score equals the number of correct cells in the latest row
|
|
11
14
|
*/
|
|
12
|
-
|
|
15
|
+
function calculateWordleScore(gameState) {
|
|
13
16
|
// Handle empty game state
|
|
14
17
|
if (gameState.length === 0) {
|
|
15
18
|
return 0;
|
|
@@ -19,7 +22,7 @@ export function calculateWordleScore(gameState) {
|
|
|
19
22
|
// Iterate over each row in the game state to check for a win condition
|
|
20
23
|
for (const row of gameState) {
|
|
21
24
|
// If all cells in a row are correct, the game is won
|
|
22
|
-
if (allCorrectInRow(row)) {
|
|
25
|
+
if ((0, all_correct_in_row_js_1.allCorrectInRow)(row)) {
|
|
23
26
|
hasWon = true;
|
|
24
27
|
break;
|
|
25
28
|
}
|
|
@@ -34,7 +37,7 @@ export function calculateWordleScore(gameState) {
|
|
|
34
37
|
// Base score is the row length (number of letters in the word)
|
|
35
38
|
score = gameState[0].length;
|
|
36
39
|
// Calculate which attempt was successful (1-based index)
|
|
37
|
-
const numberOfTriesNeeded = gameState.findIndex(allCorrectInRow) + 1;
|
|
40
|
+
const numberOfTriesNeeded = gameState.findIndex(all_correct_in_row_js_1.allCorrectInRow) + 1;
|
|
38
41
|
// Award bonus points based on how quickly the word was guessed
|
|
39
42
|
// Maximum bonus (5) for first try, decreasing by 1 for each additional attempt
|
|
40
43
|
const bonusPoints = 6 - numberOfTriesNeeded;
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
package/dist/esm/types/group.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
package/dist/esm/types/quote.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
package/dist/esm/types/uid.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
package/dist/esm/types/user.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|