Skip to content
This repository was archived by the owner on Sep 3, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
14 changes: 6 additions & 8 deletions scripts/lib/buildExpressionContainers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,10 @@ import {
ExpressionContainer,
SteppedExpressionContainer
} from 'src/types/ExpressionContainerTypes'
import * as lessonExpressions from 'scripts/lib/lessonExpressions'

const buildExpressionContainers = ({
lessonExpressionsKey,
predefinedExpressionsKeys,
initialExpressionContainer,
initialExpressionContainers,
initializeInstructions,
showAllShowSteps,
skipAlphaConvert,
Expand All @@ -19,9 +18,8 @@ const buildExpressionContainers = ({
lastAllowedExpressionStateAfterIterations,
hidePlayButton
}: ExpressionRunnerConfig): readonly ExpressionContainer[] => {
if (lessonExpressionsKey) {
let currentExpressionContainer: SteppedExpressionContainer =
lessonExpressions[lessonExpressionsKey]
if (initialExpressionContainer) {
let currentExpressionContainer: SteppedExpressionContainer = initialExpressionContainer
let results: ExpressionContainer[] = []
const stepOptions = { showAllShowSteps, skipAlphaConvert }

Expand Down Expand Up @@ -114,8 +112,8 @@ const buildExpressionContainers = ({
}

return results
} else if (predefinedExpressionsKeys) {
return predefinedExpressionsKeys.map(key => lessonExpressions[key])
} else if (initialExpressionContainers) {
return initialExpressionContainers
} else {
throw new Error()
}
Expand Down
22 changes: 11 additions & 11 deletions scripts/lib/buildExpressionRunnerConfigFromShorthand.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ import {
expressionRunnerContextDefault
} from 'src/types/ExpressionRunnerTypes'
import { HProps } from 'src/types/HTypes'
import * as lessonExpressions from 'scripts/lib/lessonExpressions'
import { SteppedExpressionContainer } from 'src/types/ExpressionContainerTypes'

export interface ExpressionRunnerConfig {
lessonExpressionsKey?: keyof typeof lessonExpressions
predefinedExpressionsKeys?: readonly (keyof typeof lessonExpressions)[]
initialExpressionContainer?: SteppedExpressionContainer
initialExpressionContainers?: SteppedExpressionContainer[]
hidePriorities: ExpressionRunnerContextProps['hidePriorities']
hideBottomRightBadges: ExpressionRunnerContextProps['hideBottomRightBadges']
hideControls: boolean
Expand Down Expand Up @@ -138,7 +138,7 @@ const buildExpressionRunnerConfigFromShorthand = (
let runnerProps
if (isExpressionRunnerSimpleConfig(config)) {
const {
lessonExpressionsKey,
initialExpressionContainer,
initialState,
isDone,
skipAlphaConvert,
Expand All @@ -164,7 +164,7 @@ const buildExpressionRunnerConfigFromShorthand = (
>(config, expressionRunnerSimpleConfigDefault)

runnerProps = {
lessonExpressionsKey,
initialExpressionContainer,
hideControls: true,
hidePriorities: !showPriorities,
explanationsVisibility,
Expand All @@ -190,7 +190,7 @@ const buildExpressionRunnerConfigFromShorthand = (
}
} else if (isExpressionRunnerPlayButtonOnlyConfig(config)) {
const {
lessonExpressionsKey,
initialExpressionContainer,
initialState,
skipToTheEnd,
hideFuncUnboundBadgeOnExplanation,
Expand All @@ -216,7 +216,7 @@ const buildExpressionRunnerConfigFromShorthand = (
runnerProps = {
speed,
highlightNumber,
lessonExpressionsKey,
initialExpressionContainer,
hidePriorities: !showPriorities,
highlightOverrides,
showAllShowSteps,
Expand All @@ -238,7 +238,7 @@ const buildExpressionRunnerConfigFromShorthand = (
}
} else if (isExpressionRunnerSingleStepConfig(config)) {
const {
lessonExpressionsKey,
initialExpressionContainer,
initialState,
finalState,
hideFuncUnboundBadgeOnExplanation,
Expand All @@ -257,7 +257,7 @@ const buildExpressionRunnerConfigFromShorthand = (
runnerProps = {
variableSize,
containerSize,
lessonExpressionsKey,
initialExpressionContainer,
hidePriorities: !showPriorities,
hideFuncUnboundBadgeOnExplanation,
hidePlayButton: true,
Expand All @@ -273,7 +273,7 @@ const buildExpressionRunnerConfigFromShorthand = (
}
} else {
const {
predefinedExpressionsKeys,
initialExpressionContainers,
hideFuncUnboundBadgeOnExplanation,
showPriorities,
explanationsVisibility,
Expand All @@ -288,7 +288,7 @@ const buildExpressionRunnerConfigFromShorthand = (
>(config, expressionRunnerPredefinedConfigDefault)

runnerProps = {
predefinedExpressionsKeys,
initialExpressionContainers,
variableSize,
containerSize,
hidePriorities: !showPriorities,
Expand Down
10 changes: 5 additions & 5 deletions scripts/lib/expressionRunnerShorthandConfig.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as lessonExpressions from 'scripts/lib/lessonExpressions'
import { ExpressionContainer } from 'src/types/ExpressionContainerTypes'
import { ExpressionRunnerProps } from 'src/types/ExpressionRunnerTypes'
import { HProps } from 'src/types/HTypes'
import { SteppedExpressionContainer } from 'src/types/ExpressionContainerTypes'

export const expressionRunnerSimpleConfigDefault = {
isDone: false,
Expand All @@ -14,7 +14,7 @@ export const expressionRunnerSimpleConfigDefault = {

interface ExpressionRunnerSimpleConfig {
runner: 'simple'
lessonExpressionsKey: keyof typeof lessonExpressions
initialExpressionContainer: SteppedExpressionContainer
initialState?: ExpressionContainer['previouslyChangedExpressionState']
isDone?: boolean
skipAlphaConvert?: boolean
Expand Down Expand Up @@ -61,7 +61,7 @@ export function isExpressionRunnerPlayButtonOnlyConfig(

interface ExpressionRunnerPlayButtonOnlyConfig {
runner: 'playButtonOnly'
lessonExpressionsKey: keyof typeof lessonExpressions
initialExpressionContainer: SteppedExpressionContainer
initialState?: ExpressionContainer['previouslyChangedExpressionState']
skipToTheEnd?: boolean
hideFuncUnboundBadgeOnExplanation?: boolean
Expand Down Expand Up @@ -96,7 +96,7 @@ export function isExpressionRunnerSingleStepConfig(

interface ExpressionRunnerSingleStepConfig {
runner: 'singleStep'
lessonExpressionsKey: keyof typeof lessonExpressions
initialExpressionContainer: SteppedExpressionContainer
initialState: ExpressionContainer['previouslyChangedExpressionState']
finalState: ExpressionContainer['previouslyChangedExpressionState']
hideFuncUnboundBadgeOnExplanation?: boolean
Expand Down Expand Up @@ -125,7 +125,7 @@ export const expressionRunnerPredefinedConfigDefault = {

interface ExpressionRunnerPredefinedConfig {
runner: 'predefined'
predefinedExpressionsKeys: readonly (keyof typeof lessonExpressions)[]
initialExpressionContainers: SteppedExpressionContainer[]
hideFuncUnboundBadgeOnExplanation?: boolean
showPriorities?: boolean
nextIteration?: boolean
Expand Down
Loading