Skip to content

Commit a02f58d

Browse files
committed
refactor language url name
1 parent 9007dec commit a02f58d

File tree

2 files changed

+14
-10
lines changed

2 files changed

+14
-10
lines changed

src/reducers/states.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,17 @@ export const languageURLNames: Map<string, ISourceLanguage> = new Map([
237237
['3_Non_Det', { chapter: 3, variant: 'non-det' }]
238238
]);
239239

240+
export const urlName = (chapter: number, variant: Variant): string => {
241+
for (const name of languageURLNames.keys()) {
242+
const language: ISourceLanguage = languageURLNames.get(name)!;
243+
if (language.chapter === chapter && language.variant === variant) {
244+
return name
245+
}
246+
}
247+
248+
return chapter.toString();
249+
};
250+
240251
export const styliseChapter = (chap: number, variant: Variant = 'default') => {
241252
let res = `Source \xa7${chap}`;
242253
if (variantDisplay.has(variant)) {

src/sagas/playground.ts

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { put, select, takeEvery } from 'redux-saga/effects';
55
import * as actions from '../actions';
66
import * as actionTypes from '../actions/actionTypes';
77
import { ExternalLibraryName } from '../components/assessment/assessmentShape';
8-
import { defaultEditorValue, ISourceLanguage, IState, languageURLNames } from '../reducers/states';
8+
import { defaultEditorValue, IState, urlName } from '../reducers/states';
99

1010
import { Variant } from 'js-slang/dist/types';
1111

@@ -29,15 +29,8 @@ function* updateQueryString() {
2929
(state: IState) => state.workspaces.playground.context.variant
3030
);
3131

32-
let languageUrlName: string = chapter.toString();
33-
for (const name of languageURLNames.keys()) {
34-
const language: ISourceLanguage = languageURLNames.get(name)!;
35-
if (language.chapter === chapter && language.variant === variant) {
36-
languageUrlName = name;
37-
break;
38-
}
39-
}
40-
32+
const languageUrlName = urlName(chapter, variant);
33+
4134
const external: ExternalLibraryName = yield select(
4235
(state: IState) => state.workspaces.playground.externalLibrary
4336
);

0 commit comments

Comments
 (0)