Skip to content

Commit f6be10b

Browse files
committed
fix: create workaround to avoid running into this error in the future
1 parent 8bd3c92 commit f6be10b

File tree

1 file changed

+24
-3
lines changed

1 file changed

+24
-3
lines changed

src/stores/questions.ts

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,27 @@ export const waves = descriptions.waves.reduce((waves, wave, i) => {
4040
return waves;
4141
}, [] as Wave[]);
4242

43+
function getWave(wave: number): Wave {
44+
if (wave >= waves.length) {
45+
// create dummy waves
46+
for (let i = waves.length; i <= wave; i++) {
47+
console.warn(`faking wave ${i + 1}, please update the google doc`);
48+
const waveObj: Wave = {
49+
name: `Wave ${i + 1}`,
50+
wave: i + 1,
51+
published: new Date(),
52+
previous: waves[i - 1],
53+
link: waveLink(i + 1),
54+
};
55+
if (waveObj.previous) {
56+
waveObj.previous.next = waveObj;
57+
}
58+
waves.push(waveObj);
59+
}
60+
}
61+
return wave < 0 ? waves[0] : waves[wave];
62+
}
63+
4364
export interface Revision extends SensorLike {
4465
change: string;
4566
changedInWave: Wave;
@@ -69,7 +90,7 @@ export const questions: Question[] = descriptions.questions.map((desc) => {
6990
...desc,
7091
id: descriptions.id,
7192
anchor: toAnchor(desc.name),
72-
addedInWave: waves[desc.addedInWave - 1],
93+
addedInWave: getWave(desc.addedInWave - 1),
7394
oldRevisions: undefined,
7495
};
7596
if (desc.oldRevisions) {
@@ -81,8 +102,8 @@ export const questions: Question[] = descriptions.questions.map((desc) => {
81102
acc.push({
82103
...rev,
83104
id: descriptions.id,
84-
changedInWave: acc.length === 0 ? waves[desc.addedInWave - 1] : acc[acc.length - 1].addedInWave,
85-
addedInWave: waves[rev.addedInWave - 1],
105+
changedInWave: acc.length === 0 ? getWave(desc.addedInWave - 1) : acc[acc.length - 1].addedInWave,
106+
addedInWave: getWave(rev.addedInWave - 1),
86107
});
87108
return acc;
88109
}, [] as Revision[])

0 commit comments

Comments
 (0)