@kekkle/shared 1.3.1 → 1.4.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/cjs/constants/collections.d.ts +1 -0
- package/dist/cjs/constants/collections.d.ts.map +1 -0
- package/dist/cjs/enums/group-permission.d.ts +1 -0
- package/dist/cjs/enums/group-permission.d.ts.map +1 -0
- package/dist/cjs/enums/push-settings-options.d.ts +1 -0
- package/dist/cjs/enums/push-settings-options.d.ts.map +1 -0
- package/dist/cjs/fixtures/character-state.fixtures.d.ts +2 -1
- package/dist/cjs/fixtures/character-state.fixtures.d.ts.map +1 -0
- package/dist/cjs/fixtures/wordle-row.fixtures.d.ts +2 -1
- package/dist/cjs/fixtures/wordle-row.fixtures.d.ts.map +1 -0
- package/dist/cjs/fixtures/wordle-row.fixtures.js +5 -5
- package/dist/cjs/helpers/permissions/is-valid-permission.d.ts +1 -0
- package/dist/cjs/helpers/permissions/is-valid-permission.d.ts.map +1 -0
- package/dist/cjs/helpers/permissions/is-valid-permission.js +2 -2
- package/dist/cjs/helpers/worlde/all-correct-in-row.d.ts +2 -1
- package/dist/cjs/helpers/worlde/all-correct-in-row.d.ts.map +1 -0
- package/dist/cjs/helpers/worlde/calculate-wordle-score.d.ts +2 -1
- package/dist/cjs/helpers/worlde/calculate-wordle-score.d.ts.map +1 -0
- package/dist/cjs/helpers/worlde/calculate-wordle-score.js +3 -3
- package/dist/cjs/types/comment.d.ts +1 -0
- package/dist/cjs/types/comment.d.ts.map +1 -0
- package/dist/cjs/types/fcm-token.d.ts +1 -0
- package/dist/cjs/types/fcm-token.d.ts.map +1 -0
- package/dist/cjs/types/group-general-data.d.ts +1 -0
- package/dist/cjs/types/group-general-data.d.ts.map +1 -0
- package/dist/cjs/types/group-member.d.ts +2 -1
- package/dist/cjs/types/group-member.d.ts.map +1 -0
- package/dist/cjs/types/group.d.ts +4 -3
- package/dist/cjs/types/group.d.ts.map +1 -0
- package/dist/cjs/types/match-tries.d.ts +1 -0
- package/dist/cjs/types/match-tries.d.ts.map +1 -0
- package/dist/cjs/types/push-document.d.ts +3 -2
- package/dist/cjs/types/push-document.d.ts.map +1 -0
- package/dist/cjs/types/quote.d.ts +1 -0
- package/dist/cjs/types/quote.d.ts.map +1 -0
- package/dist/cjs/types/uid.d.ts +1 -0
- package/dist/cjs/types/uid.d.ts.map +1 -0
- package/dist/cjs/types/user.d.ts +2 -1
- package/dist/cjs/types/user.d.ts.map +1 -0
- package/dist/cjs/types/wordle-game-state-document.d.ts +2 -1
- package/dist/cjs/types/wordle-game-state-document.d.ts.map +1 -0
- package/dist/cjs/types/wordle-game-state.d.ts +1 -0
- package/dist/cjs/types/wordle-game-state.d.ts.map +1 -0
- package/dist/cjs/types/wordle-game.d.ts +1 -0
- package/dist/cjs/types/wordle-game.d.ts.map +1 -0
- package/dist/cjs/types/wordle-leaderboard.d.ts +2 -1
- package/dist/cjs/types/wordle-leaderboard.d.ts.map +1 -0
- package/dist/cjs/types/wordle-monthly-score.d.ts +2 -1
- package/dist/cjs/types/wordle-monthly-score.d.ts.map +1 -0
- package/dist/cjs/types/wordle-score.d.ts +2 -1
- package/dist/cjs/types/wordle-score.d.ts.map +1 -0
- package/dist/esm/constants/collections.d.ts +1 -0
- package/dist/esm/constants/collections.d.ts.map +1 -0
- package/dist/esm/enums/group-permission.d.ts +1 -0
- package/dist/esm/enums/group-permission.d.ts.map +1 -0
- package/dist/esm/enums/push-settings-options.d.ts +1 -0
- package/dist/esm/enums/push-settings-options.d.ts.map +1 -0
- package/dist/esm/fixtures/character-state.fixtures.d.ts +2 -1
- package/dist/esm/fixtures/character-state.fixtures.d.ts.map +1 -0
- package/dist/esm/fixtures/wordle-row.fixtures.d.ts +2 -1
- package/dist/esm/fixtures/wordle-row.fixtures.d.ts.map +1 -0
- package/dist/esm/fixtures/wordle-row.fixtures.js +1 -1
- package/dist/esm/helpers/permissions/is-valid-permission.d.ts +1 -0
- package/dist/esm/helpers/permissions/is-valid-permission.d.ts.map +1 -0
- package/dist/esm/helpers/permissions/is-valid-permission.js +1 -1
- package/dist/esm/helpers/worlde/all-correct-in-row.d.ts +2 -1
- package/dist/esm/helpers/worlde/all-correct-in-row.d.ts.map +1 -0
- package/dist/esm/helpers/worlde/calculate-wordle-score.d.ts +2 -1
- package/dist/esm/helpers/worlde/calculate-wordle-score.d.ts.map +1 -0
- package/dist/esm/helpers/worlde/calculate-wordle-score.js +1 -1
- package/dist/esm/types/comment.d.ts +1 -0
- package/dist/esm/types/comment.d.ts.map +1 -0
- package/dist/esm/types/fcm-token.d.ts +1 -0
- package/dist/esm/types/fcm-token.d.ts.map +1 -0
- package/dist/esm/types/group-general-data.d.ts +1 -0
- package/dist/esm/types/group-general-data.d.ts.map +1 -0
- package/dist/esm/types/group-member.d.ts +2 -1
- package/dist/esm/types/group-member.d.ts.map +1 -0
- package/dist/esm/types/group.d.ts +4 -3
- package/dist/esm/types/group.d.ts.map +1 -0
- package/dist/esm/types/match-tries.d.ts +1 -0
- package/dist/esm/types/match-tries.d.ts.map +1 -0
- package/dist/esm/types/push-document.d.ts +3 -2
- package/dist/esm/types/push-document.d.ts.map +1 -0
- package/dist/esm/types/quote.d.ts +1 -0
- package/dist/esm/types/quote.d.ts.map +1 -0
- package/dist/esm/types/uid.d.ts +1 -0
- package/dist/esm/types/uid.d.ts.map +1 -0
- package/dist/esm/types/user.d.ts +2 -1
- package/dist/esm/types/user.d.ts.map +1 -0
- package/dist/esm/types/wordle-game-state-document.d.ts +2 -1
- package/dist/esm/types/wordle-game-state-document.d.ts.map +1 -0
- package/dist/esm/types/wordle-game-state.d.ts +1 -0
- package/dist/esm/types/wordle-game-state.d.ts.map +1 -0
- package/dist/esm/types/wordle-game.d.ts +1 -0
- package/dist/esm/types/wordle-game.d.ts.map +1 -0
- package/dist/esm/types/wordle-leaderboard.d.ts +2 -1
- package/dist/esm/types/wordle-leaderboard.d.ts.map +1 -0
- package/dist/esm/types/wordle-monthly-score.d.ts +2 -1
- package/dist/esm/types/wordle-monthly-score.d.ts.map +1 -0
- package/dist/esm/types/wordle-score.d.ts +2 -1
- package/dist/esm/types/wordle-score.d.ts.map +1 -0
- package/dist/node/constants/collections.d.ts +7 -0
- package/dist/node/constants/collections.d.ts.map +1 -0
- package/dist/node/enums/group-permission.d.ts +6 -0
- package/dist/node/enums/group-permission.d.ts.map +1 -0
- package/dist/node/enums/group-permission.js +6 -0
- package/dist/node/enums/push-settings-options.d.ts +10 -0
- package/dist/node/enums/push-settings-options.d.ts.map +1 -0
- package/dist/node/enums/push-settings-options.js +10 -0
- package/dist/node/fixtures/character-state.fixtures.d.ts +3 -0
- package/dist/node/fixtures/character-state.fixtures.d.ts.map +1 -0
- package/dist/node/fixtures/character-state.fixtures.js +3 -0
- package/dist/node/fixtures/wordle-row.fixtures.d.ts +6 -0
- package/dist/node/fixtures/wordle-row.fixtures.d.ts.map +1 -0
- package/dist/node/fixtures/wordle-row.fixtures.js +20 -0
- package/dist/node/helpers/permissions/is-valid-permission.d.ts +2 -0
- package/dist/node/helpers/permissions/is-valid-permission.d.ts.map +1 -0
- package/dist/node/helpers/permissions/is-valid-permission.js +4 -0
- package/dist/node/helpers/worlde/all-correct-in-row.d.ts +6 -0
- package/dist/node/helpers/worlde/all-correct-in-row.d.ts.map +1 -0
- package/dist/node/helpers/worlde/all-correct-in-row.js +6 -0
- package/dist/node/helpers/worlde/calculate-wordle-score.d.ts +13 -0
- package/dist/node/helpers/worlde/calculate-wordle-score.d.ts.map +1 -0
- package/dist/node/helpers/worlde/calculate-wordle-score.js +42 -0
- package/{src/types/comment.ts → dist/node/types/comment.d.ts} +5 -6
- package/dist/node/types/comment.d.ts.map +1 -0
- package/dist/node/types/comment.js +1 -0
- package/dist/node/types/fcm-token.d.ts +2 -0
- package/dist/node/types/fcm-token.d.ts.map +1 -0
- package/dist/node/types/fcm-token.js +1 -0
- package/dist/node/types/group-general-data.d.ts +7 -0
- package/dist/node/types/group-general-data.d.ts.map +1 -0
- package/dist/node/types/group-general-data.js +1 -0
- package/dist/node/types/group-member.d.ts +9 -0
- package/dist/node/types/group-member.d.ts.map +1 -0
- package/dist/node/types/group-member.js +1 -0
- package/dist/node/types/group.d.ts +21 -0
- package/dist/node/types/group.d.ts.map +1 -0
- package/dist/node/types/group.js +1 -0
- package/dist/node/types/match-tries.d.ts +10 -0
- package/dist/node/types/match-tries.d.ts.map +1 -0
- package/dist/node/types/match-tries.js +1 -0
- package/dist/node/types/push-document.d.ts +21 -0
- package/dist/node/types/push-document.d.ts.map +1 -0
- package/dist/node/types/push-document.js +1 -0
- package/dist/node/types/quote.d.ts +13 -0
- package/dist/node/types/quote.d.ts.map +1 -0
- package/dist/node/types/quote.js +1 -0
- package/dist/node/types/uid.d.ts +2 -0
- package/dist/node/types/uid.d.ts.map +1 -0
- package/dist/node/types/uid.js +1 -0
- package/dist/node/types/user.d.ts +14 -0
- package/dist/node/types/user.d.ts.map +1 -0
- package/dist/node/types/user.js +1 -0
- package/dist/node/types/wordle-game-state-document.d.ts +13 -0
- package/dist/node/types/wordle-game-state-document.d.ts.map +1 -0
- package/dist/node/types/wordle-game-state-document.js +1 -0
- package/{src/types/wordle-game-state.ts → dist/node/types/wordle-game-state.d.ts} +4 -6
- package/dist/node/types/wordle-game-state.d.ts.map +1 -0
- package/dist/node/types/wordle-game-state.js +1 -0
- package/dist/node/types/wordle-game.d.ts +19 -0
- package/dist/node/types/wordle-game.d.ts.map +1 -0
- package/dist/node/types/wordle-game.js +1 -0
- package/dist/node/types/wordle-leaderboard.d.ts +29 -0
- package/dist/node/types/wordle-leaderboard.d.ts.map +1 -0
- package/dist/node/types/wordle-leaderboard.js +1 -0
- package/dist/node/types/wordle-monthly-score.d.ts +33 -0
- package/dist/node/types/wordle-monthly-score.d.ts.map +1 -0
- package/dist/node/types/wordle-monthly-score.js +1 -0
- package/dist/node/types/wordle-score.d.ts +17 -0
- package/dist/node/types/wordle-score.d.ts.map +1 -0
- package/dist/node/types/wordle-score.js +1 -0
- package/dist/tsconfig.cjs.tsbuildinfo +1 -0
- package/dist/tsconfig.esm.tsbuildinfo +1 -0
- package/dist/tsconfig.node.tsbuildinfo +1 -0
- package/package.json +8 -30
- package/src/enums/group-permission.ts +0 -5
- package/src/enums/push-settings-options.ts +0 -9
- package/src/fixtures/character-state.fixtures.ts +0 -9
- package/src/fixtures/wordle-row.fixtures.ts +0 -36
- package/src/helpers/permissions/is-valid-permission.ts +0 -5
- package/src/helpers/permissions/is-valid-permission.vi.spec.ts +0 -109
- package/src/helpers/worlde/all-correct-in-row.ts +0 -8
- package/src/helpers/worlde/all-correct-in-row.vi.spec.ts +0 -96
- package/src/helpers/worlde/calculate-wordle-score.ts +0 -53
- package/src/helpers/worlde/calculate-wordle-score.vi.spec.ts +0 -171
- package/src/types/fcm-token.ts +0 -1
- package/src/types/group-general-data.ts +0 -6
- package/src/types/group-member.ts +0 -9
- package/src/types/group.ts +0 -21
- package/src/types/match-tries.ts +0 -9
- package/src/types/push-document.ts +0 -26
- package/src/types/quote.ts +0 -13
- package/src/types/uid.ts +0 -1
- package/src/types/user.ts +0 -14
- package/src/types/wordle-game-state-document.ts +0 -13
- package/src/types/wordle-game.ts +0 -19
- package/src/types/wordle-leaderboard.ts +0 -30
- package/src/types/wordle-monthly-score.ts +0 -34
- package/src/types/wordle-score.ts +0 -17
- /package/{src/constants/collections.ts → dist/node/constants/collections.js} +0 -0
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from "vitest";
|
|
2
|
-
import { calculateWordleScore } from "./calculate-wordle-score";
|
|
3
|
-
import type { WordleGameState } from "../../types/wordle-game-state";
|
|
4
|
-
import {
|
|
5
|
-
createWordleRow,
|
|
6
|
-
createAllCorrectWordleRow,
|
|
7
|
-
createAllIncorrectWordleRow,
|
|
8
|
-
} from "../../fixtures/wordle-row.fixtures";
|
|
9
|
-
|
|
10
|
-
describe("calculateWordleScore", () => {
|
|
11
|
-
describe("Game in progress (not won)", () => {
|
|
12
|
-
it("should return 0 when no letters are correct in the latest row", () => {
|
|
13
|
-
const gameState: WordleGameState = [createAllIncorrectWordleRow("WRONG")];
|
|
14
|
-
|
|
15
|
-
expect(calculateWordleScore(gameState)).toBe(0);
|
|
16
|
-
});
|
|
17
|
-
|
|
18
|
-
it("should return 1 when one letter is correct in the latest row", () => {
|
|
19
|
-
const gameState: WordleGameState = [
|
|
20
|
-
createAllIncorrectWordleRow("WRONG"),
|
|
21
|
-
createWordleRow("HOUSE", "HXXXX"),
|
|
22
|
-
];
|
|
23
|
-
|
|
24
|
-
expect(calculateWordleScore(gameState)).toBe(1);
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
it("should return 3 when three letters are correct in the latest row", () => {
|
|
28
|
-
const gameState: WordleGameState = [
|
|
29
|
-
createAllIncorrectWordleRow("WRONG"),
|
|
30
|
-
createWordleRow("HOUSE", "HXUXE"),
|
|
31
|
-
];
|
|
32
|
-
|
|
33
|
-
expect(calculateWordleScore(gameState)).toBe(3);
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
it("should only count correct letters from the latest row when game not won", () => {
|
|
37
|
-
const gameState: WordleGameState = [
|
|
38
|
-
createAllIncorrectWordleRow("WRONG"), // No correct in first row
|
|
39
|
-
createWordleRow("HOUSE", "HXXXX"), // Only one correct in latest row
|
|
40
|
-
];
|
|
41
|
-
|
|
42
|
-
expect(calculateWordleScore(gameState)).toBe(1);
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
|
|
46
|
-
describe("Game won", () => {
|
|
47
|
-
it("should return 10 when won on first try (5 + 5 bonus)", () => {
|
|
48
|
-
const gameState: WordleGameState = [createAllCorrectWordleRow("HOUSE")];
|
|
49
|
-
|
|
50
|
-
expect(calculateWordleScore(gameState)).toBe(10);
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
it("should return 9 when won on second try (5 + 4 bonus)", () => {
|
|
54
|
-
const gameState: WordleGameState = [
|
|
55
|
-
createAllIncorrectWordleRow("WRONG"),
|
|
56
|
-
createAllCorrectWordleRow("HOUSE"),
|
|
57
|
-
];
|
|
58
|
-
|
|
59
|
-
expect(calculateWordleScore(gameState)).toBe(9);
|
|
60
|
-
});
|
|
61
|
-
|
|
62
|
-
it("should return 8 when won on third try (5 + 3 bonus)", () => {
|
|
63
|
-
const gameState: WordleGameState = [
|
|
64
|
-
createAllIncorrectWordleRow("WRONG"),
|
|
65
|
-
createAllIncorrectWordleRow("TESTS"),
|
|
66
|
-
createAllCorrectWordleRow("HOUSE"),
|
|
67
|
-
];
|
|
68
|
-
|
|
69
|
-
expect(calculateWordleScore(gameState)).toBe(8);
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
it("should return 7 when won on fourth try (5 + 2 bonus)", () => {
|
|
73
|
-
const gameState: WordleGameState = [
|
|
74
|
-
createAllIncorrectWordleRow("WRONG"),
|
|
75
|
-
createAllIncorrectWordleRow("TESTS"),
|
|
76
|
-
createAllIncorrectWordleRow("FLAME"),
|
|
77
|
-
createAllCorrectWordleRow("HOUSE"),
|
|
78
|
-
];
|
|
79
|
-
|
|
80
|
-
expect(calculateWordleScore(gameState)).toBe(7);
|
|
81
|
-
});
|
|
82
|
-
|
|
83
|
-
it("should return 6 when won on fifth try (5 + 1 bonus)", () => {
|
|
84
|
-
const gameState: WordleGameState = [
|
|
85
|
-
createAllIncorrectWordleRow("WRONG"),
|
|
86
|
-
createAllIncorrectWordleRow("TESTS"),
|
|
87
|
-
createAllIncorrectWordleRow("FLAME"),
|
|
88
|
-
createAllIncorrectWordleRow("STEAM"),
|
|
89
|
-
createAllCorrectWordleRow("HOUSE"),
|
|
90
|
-
];
|
|
91
|
-
|
|
92
|
-
expect(calculateWordleScore(gameState)).toBe(6);
|
|
93
|
-
});
|
|
94
|
-
|
|
95
|
-
it("should return 5 when won on sixth try (5 + 0 bonus)", () => {
|
|
96
|
-
const gameState: WordleGameState = [
|
|
97
|
-
createAllIncorrectWordleRow("WRONG"),
|
|
98
|
-
createAllIncorrectWordleRow("TESTS"),
|
|
99
|
-
createAllIncorrectWordleRow("FLAME"),
|
|
100
|
-
createAllIncorrectWordleRow("STEAM"),
|
|
101
|
-
createAllIncorrectWordleRow("GRAND"),
|
|
102
|
-
createAllCorrectWordleRow("HOUSE"),
|
|
103
|
-
];
|
|
104
|
-
|
|
105
|
-
expect(calculateWordleScore(gameState)).toBe(5);
|
|
106
|
-
});
|
|
107
|
-
|
|
108
|
-
it("should find winning row even when not the last row", () => {
|
|
109
|
-
const gameState: WordleGameState = [
|
|
110
|
-
createAllIncorrectWordleRow("WRONG"),
|
|
111
|
-
createAllCorrectWordleRow("HOUSE"), // Winning row
|
|
112
|
-
createAllIncorrectWordleRow("TESTS"), // Additional row after win
|
|
113
|
-
];
|
|
114
|
-
|
|
115
|
-
expect(calculateWordleScore(gameState)).toBe(9); // Won on second try
|
|
116
|
-
});
|
|
117
|
-
});
|
|
118
|
-
|
|
119
|
-
describe("Edge cases", () => {
|
|
120
|
-
it("should handle single row game state", () => {
|
|
121
|
-
const gameState: WordleGameState = [createWordleRow("HOUSE", "HXUXX")];
|
|
122
|
-
|
|
123
|
-
expect(calculateWordleScore(gameState)).toBe(2);
|
|
124
|
-
});
|
|
125
|
-
|
|
126
|
-
it("should handle empty game state", () => {
|
|
127
|
-
const gameState: WordleGameState = [];
|
|
128
|
-
|
|
129
|
-
expect(calculateWordleScore(gameState)).toBe(0);
|
|
130
|
-
});
|
|
131
|
-
|
|
132
|
-
it("should handle different word lengths", () => {
|
|
133
|
-
const gameState: WordleGameState = [createAllCorrectWordleRow("HELLO")];
|
|
134
|
-
|
|
135
|
-
expect(calculateWordleScore(gameState)).toBe(10); // 5 + 5 bonus
|
|
136
|
-
});
|
|
137
|
-
|
|
138
|
-
it("should handle 4-letter words", () => {
|
|
139
|
-
const gameState: WordleGameState = [createAllCorrectWordleRow("WORD")];
|
|
140
|
-
|
|
141
|
-
expect(calculateWordleScore(gameState)).toBe(9); // 4 + 5 bonus
|
|
142
|
-
});
|
|
143
|
-
|
|
144
|
-
it("should handle 6-letter words", () => {
|
|
145
|
-
const gameState: WordleGameState = [createAllCorrectWordleRow("PUZZLE")];
|
|
146
|
-
|
|
147
|
-
expect(calculateWordleScore(gameState)).toBe(11); // 6 + 5 bonus
|
|
148
|
-
});
|
|
149
|
-
});
|
|
150
|
-
|
|
151
|
-
describe("Mixed scenarios", () => {
|
|
152
|
-
it("should handle partial correct letters in non-winning rows", () => {
|
|
153
|
-
const gameState: WordleGameState = [
|
|
154
|
-
createWordleRow("HOUSE", "HXUXX"), // 2 correct
|
|
155
|
-
createWordleRow("TESTS", "XEXEX"), // 2 correct
|
|
156
|
-
createAllCorrectWordleRow("FLAME"), // All correct - winning row
|
|
157
|
-
];
|
|
158
|
-
|
|
159
|
-
expect(calculateWordleScore(gameState)).toBe(8); // Won on third try: 5 + 3 bonus
|
|
160
|
-
});
|
|
161
|
-
|
|
162
|
-
it("should prioritize win condition over partial correct letters", () => {
|
|
163
|
-
const gameState: WordleGameState = [
|
|
164
|
-
createAllCorrectWordleRow("HOUSE"), // All correct - should win here
|
|
165
|
-
createWordleRow("TESTS", "TXXXX"), // Partial correct in later row
|
|
166
|
-
];
|
|
167
|
-
|
|
168
|
-
expect(calculateWordleScore(gameState)).toBe(10); // Won on first try: 5 + 5 bonus
|
|
169
|
-
});
|
|
170
|
-
});
|
|
171
|
-
});
|
package/src/types/fcm-token.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type FcmToken = string;
|
package/src/types/group.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { Timestamp } from "firebase-admin/firestore";
|
|
2
|
-
import type { GroupGeneralData } from "./group-general-data";
|
|
3
|
-
import type { GroupMember } from "./group-member";
|
|
4
|
-
import type { Uid } from "./uid";
|
|
5
|
-
|
|
6
|
-
export type Group = {
|
|
7
|
-
created_at: Timestamp;
|
|
8
|
-
updated_at: Timestamp;
|
|
9
|
-
description: string | undefined;
|
|
10
|
-
general_data: GroupGeneralData;
|
|
11
|
-
ical_token: string;
|
|
12
|
-
join_token: string | null | undefined;
|
|
13
|
-
join_token_timestamp: Timestamp | null | undefined;
|
|
14
|
-
members: {
|
|
15
|
-
[key: Uid]: GroupMember;
|
|
16
|
-
};
|
|
17
|
-
members_uuids: string[];
|
|
18
|
-
name: string;
|
|
19
|
-
premium: boolean | null | undefined;
|
|
20
|
-
premium_till: Timestamp | null | undefined;
|
|
21
|
-
};
|
package/src/types/match-tries.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { Timestamp } from "firebase-admin/firestore";
|
|
2
|
-
|
|
3
|
-
import type { PushSettingsOptions } from "../enums/push-settings-options";
|
|
4
|
-
import type { Uid } from "./uid";
|
|
5
|
-
|
|
6
|
-
export type AllPushSettings = {
|
|
7
|
-
[key in PushSettingsOptions]: boolean | null;
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
export type GroupPushDocumentSettings = {
|
|
11
|
-
[key: Uid]: AllPushSettings;
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
export type GroupPushDocumentTokens = {
|
|
15
|
-
[key: Uid]: Array<PushTokenObject>;
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
export type PushTokenObject = {
|
|
19
|
-
token: string | null;
|
|
20
|
-
updated_at: Timestamp | string;
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
export type GroupPushDocument = {
|
|
24
|
-
settings: GroupPushDocumentSettings;
|
|
25
|
-
tokens: GroupPushDocumentTokens;
|
|
26
|
-
};
|
package/src/types/quote.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { Timestamp } from "firebase-admin/firestore";
|
|
2
|
-
|
|
3
|
-
export type Quote = {
|
|
4
|
-
authors: Array<string> | null;
|
|
5
|
-
quote: string;
|
|
6
|
-
context: string | null;
|
|
7
|
-
created_by: string;
|
|
8
|
-
custom_author: string | null;
|
|
9
|
-
timestamp: Date | Timestamp;
|
|
10
|
-
trigrams: {
|
|
11
|
-
[key: string]: string;
|
|
12
|
-
} | null;
|
|
13
|
-
};
|
package/src/types/uid.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type Uid = string;
|
package/src/types/user.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { Timestamp } from "firebase-admin/firestore";
|
|
2
|
-
import type { PushTokenObject, AllPushSettings } from "./push-document";
|
|
3
|
-
|
|
4
|
-
export type User = {
|
|
5
|
-
active_group: "";
|
|
6
|
-
birthdate: Timestamp;
|
|
7
|
-
groups: string[];
|
|
8
|
-
message_tokens?: Array<PushTokenObject>;
|
|
9
|
-
push_settings?: AllPushSettings;
|
|
10
|
-
language?: string;
|
|
11
|
-
name: string;
|
|
12
|
-
new_auth_claim: boolean;
|
|
13
|
-
profile_picture: string;
|
|
14
|
-
};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { StringifiedWordleGameState } from "./wordle-game-state";
|
|
2
|
-
import type { Timestamp } from "firebase-admin/firestore";
|
|
3
|
-
|
|
4
|
-
export type WordleGameStateDocument = {
|
|
5
|
-
calculated_score: number;
|
|
6
|
-
game_state: StringifiedWordleGameState;
|
|
7
|
-
has_finished: boolean;
|
|
8
|
-
has_lost: boolean;
|
|
9
|
-
has_won: boolean;
|
|
10
|
-
number_of_tries_needed: number;
|
|
11
|
-
updated_at: Timestamp;
|
|
12
|
-
user_id: string;
|
|
13
|
-
};
|
package/src/types/wordle-game.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { Timestamp } from "firebase-admin/firestore";
|
|
2
|
-
|
|
3
|
-
export type WordleGame = {
|
|
4
|
-
language: string;
|
|
5
|
-
word: string;
|
|
6
|
-
locked: boolean;
|
|
7
|
-
date: Timestamp;
|
|
8
|
-
created_at: Timestamp;
|
|
9
|
-
updated_at: Timestamp;
|
|
10
|
-
game_number: number;
|
|
11
|
-
year?: number;
|
|
12
|
-
month?: number;
|
|
13
|
-
date_number?: number;
|
|
14
|
-
day?: number;
|
|
15
|
-
year_utc?: number;
|
|
16
|
-
month_utc?: number;
|
|
17
|
-
date_number_utc?: number;
|
|
18
|
-
day_utc?: number;
|
|
19
|
-
};
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import type { Timestamp } from "firebase-admin/firestore";
|
|
2
|
-
import type { MatchTries } from "./match-tries";
|
|
3
|
-
|
|
4
|
-
export type WordleLeaderboard = {
|
|
5
|
-
created_at: Timestamp;
|
|
6
|
-
has_lost: number;
|
|
7
|
-
has_won: number;
|
|
8
|
-
language: string;
|
|
9
|
-
match_tries: MatchTries;
|
|
10
|
-
matches_played: string[];
|
|
11
|
-
new_score: number | null;
|
|
12
|
-
score: number;
|
|
13
|
-
updated_at: Timestamp;
|
|
14
|
-
username: string;
|
|
15
|
-
user_id: string;
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
export type PartialWordleLeaderboard = Partial<{
|
|
19
|
-
created_at: Timestamp;
|
|
20
|
-
has_lost: number;
|
|
21
|
-
has_won: number;
|
|
22
|
-
language: string;
|
|
23
|
-
match_tries: MatchTries;
|
|
24
|
-
matches_played: string[];
|
|
25
|
-
new_score: number | null;
|
|
26
|
-
score: number;
|
|
27
|
-
updated_at: Timestamp;
|
|
28
|
-
username: string;
|
|
29
|
-
user_id: string;
|
|
30
|
-
}>;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import type { Timestamp } from "firebase-admin/firestore";
|
|
2
|
-
import type { MatchTries } from "./match-tries";
|
|
3
|
-
|
|
4
|
-
export type WordleMonthlyScore = {
|
|
5
|
-
created_at: Timestamp;
|
|
6
|
-
has_lost: number;
|
|
7
|
-
has_won: number;
|
|
8
|
-
language: string;
|
|
9
|
-
match_tries: MatchTries;
|
|
10
|
-
matches_played: string[];
|
|
11
|
-
month: number;
|
|
12
|
-
new_score: number;
|
|
13
|
-
score: number;
|
|
14
|
-
updated_at: Timestamp;
|
|
15
|
-
user_id: string;
|
|
16
|
-
username: string;
|
|
17
|
-
year: number;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
export type PartialWordleMonthlyScore = Partial<{
|
|
21
|
-
created_at: Timestamp;
|
|
22
|
-
has_lost: number;
|
|
23
|
-
has_won: number;
|
|
24
|
-
language: string;
|
|
25
|
-
match_tries: MatchTries;
|
|
26
|
-
matches_played: string[];
|
|
27
|
-
month: number;
|
|
28
|
-
new_score: number;
|
|
29
|
-
score: number;
|
|
30
|
-
updated_at: Timestamp;
|
|
31
|
-
user_id: string;
|
|
32
|
-
username: string;
|
|
33
|
-
year: number;
|
|
34
|
-
}>;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { Timestamp } from "firebase-admin/firestore";
|
|
2
|
-
import type { StringifiedWordleGameState } from "./wordle-game-state";
|
|
3
|
-
|
|
4
|
-
export type WordleScore = {
|
|
5
|
-
created_at: Timestamp;
|
|
6
|
-
game_id: string;
|
|
7
|
-
game_state: StringifiedWordleGameState;
|
|
8
|
-
has_lost: boolean;
|
|
9
|
-
has_won: boolean;
|
|
10
|
-
language: string;
|
|
11
|
-
new_score: number | null;
|
|
12
|
-
score: number;
|
|
13
|
-
number_of_tries_needed: number;
|
|
14
|
-
updated_at: Timestamp;
|
|
15
|
-
user_id: string;
|
|
16
|
-
username: string;
|
|
17
|
-
};
|
|
File without changes
|