diff --git a/libs/base/utils/src/random/random.ts b/libs/base/utils/src/random/random.ts index fba350a8b4..bb17521739 100644 --- a/libs/base/utils/src/random/random.ts +++ b/libs/base/utils/src/random/random.ts @@ -38,9 +38,13 @@ export const getRandomShuffler = (seed: string): ((arr: T[]) => T[]) => { return (arr) => [...arr].sort(shuffleFn); }; -export const getRandomIdGenerator = (seed: string) => { - const LENGTH = 8; +export const getRandomIdGenerator = ( + seed: string, + opts: { length?: number; chars?: string } = {}, +) => { + const LENGTH = opts.length ?? 8; const VALID_CHARS = + opts.chars ?? "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; const random = getRandomGenerator(seed); return () => { diff --git a/libs/content/question-bank-type/__old__/737.json b/libs/content/question-bank-type/__old__/737.json index 73165efe84..41f1ab85d8 100644 --- a/libs/content/question-bank-type/__old__/737.json +++ b/libs/content/question-bank-type/__old__/737.json @@ -7909,44 +7909,6 @@ ] } }, - { - "id": "6ejl3a", - "relatedQuestions": [], - "externalIds": [], - "annexes": [], - "learningObjectives": ["B737"], - "explanation": "\n\n---\n\n", - "variant": { - "type": "simple", - "question": "During an ILS approach the captain observes his BARO minimum reference altitude turns from green to flashing amber for three seconds, this means:", - "options": [ - { - "id": "3tri8a", - "text": "A windshear has been encountered", - "correct": false, - "why": "" - }, - { - "id": "xhnvt", - "text": "The aircraft has descended below captains selected minimum altitude (DA)", - "correct": true, - "why": "" - }, - { - "id": "0xpv5a", - "text": "The aircraft has descended below 1000 feet", - "correct": false, - "why": "" - }, - { - "id": "pk6q7d", - "text": "Radio altitude data is unreliable", - "correct": false, - "why": "" - } - ] - } - }, { "id": "8b5q4m", "relatedQuestions": [], diff --git a/libs/content/question-bank-type/content/B737/B737.03/questions.yaml b/libs/content/question-bank-type/content/B737/B737.03/questions.yaml index 1c39757924..afa6561b20 100644 --- a/libs/content/question-bank-type/content/B737/B737.03/questions.yaml +++ b/libs/content/question-bank-type/content/B737/B737.03/questions.yaml @@ -17,7 +17,8 @@ Air Valve. answer: true - id: QKCBZAWK - relatedQuestions: [] + relatedQuestions: + - QKCBZAWJ externalIds: [] annexes: [] learningObjectives: @@ -33,6 +34,38 @@ bright blue and an amber TAI indication immediately illuminates on the CDS. answer: false +- id: QKCBZAWJ + relatedQuestions: + - QKCBZAWK + externalIds: [] + annexes: [] + learningObjectives: + - B737.03 + explanation: | + > If the cowl anti–ice valve fails to move to the position indicated by the ENG + > ANTI–ICE switch, the COWL VALVE OPEN light remains illuminated bright + > blue and an amber TAI indication illuminates on the CDS **after a short delay** + variant: + type: simple + question: What indication will there be if a cowl anti-ice valve fails to move + to the selected position? + options: + - id: fxnasf + text: The COWL VALVE OPEN light remains illuminated bright blue. + correct: true + why: "" + - id: safjkd + text: The COWL ANTI-ICE light illuminates amber. + correct: false + why: "" + - id: 21rqw + text: A green TAI indication illuminates on the CDS after a short delay. + correct: false + why: "" + - id: vdk8e + text: The COWL ANTI-ICE light momentarily illuminates bright blue + correct: false + why: "" - id: QAQPFLDN relatedQuestions: [] externalIds: [] @@ -190,3 +223,77 @@ text: Illuminated means the window Overheat system has activated. correct: false why: "" +- id: QTBVGRWD + relatedQuestions: [] + externalIds: [] + annexes: [] + learningObjectives: + - B737.03 + explanation: | + > ### WINDOW HEAT Test Switch (spring–loaded to neutral) + > + > - OVHT: simulates an overheat condition. + > - PWR TEST: provides a confidence test. + variant: + type: simple + question: Which statement is correct for when the window heat Test Switch is put + into the OVHT position? + options: + - id: k1241 + text: Simulates an overheat condition in order to test the system + correct: true + why: "" + - id: fcsfa + text: Performs a voltage check of the power supplies. + correct: false + why: "" + - id: 4ddsc + text: Checks for the presence of the window heat elements + correct: false + why: "" + - id: 124ac + text: Can only be used if all green lights are on. + correct: false + why: "" +- id: QTBVGRWE + relatedQuestions: [] + externalIds: [] + annexes: [] + learningObjectives: + - B737.03 + explanation: | + > Both valves close if either engine thrust is above the takeoff warning setting or + > either temperature sensor senses a duct overtemperature. The valves automatically + > reopen if thrust on both engines is reduced and both temperature sensors are cool. + + The switch flicks back to **OFF** when the wheight on wheels switch detects the aircraft + is airborne. + + > The WING ANTI–ICE switch automatically trips OFF at lift–off when the + > air/ground sensor goes to the air mode + variant: + type: simple + question: | + Whilst on the ground with WING ANTI-ICE selected ON, what is the + result of advancing the thrust levers beyond the take-off warning setting? + options: + - id: gvbsxh + text: Both wing anti-ice control valves close and the WING ANTI-ICE switch + remains in the ON position + correct: true + why: "" + - id: fsajkca + text: Both wing anti-ice control valves remain open and the WING ANTI-ICE switch + remains set at ON. + correct: false + why: "" + - id: q214as + text: Both wing anti-ice control valves remain open and the WING ANTI-ICE switch + trips OFF. + correct: false + why: "" + - id: fbcajs + text: Both wing anti-ice control valves close and the WING ANTI-ICE switch trips + OFF.| + correct: false + why: "" diff --git a/libs/content/question-bank-type/content/B737/B737.06/questions.yaml b/libs/content/question-bank-type/content/B737/B737.06/questions.yaml index 5c8dee73c5..4fb82a9c02 100644 --- a/libs/content/question-bank-type/content/B737/B737.06/questions.yaml +++ b/libs/content/question-bank-type/content/B737/B737.06/questions.yaml @@ -800,7 +800,15 @@ annexes: [] learningObjectives: - B737.06 - explanation: "" + explanation: | + > Under normal conditions, DC bus 1, DC bus 2, and the DC standby + > bus are connected via the cross bus tie relay. In this condition, + > TR1 and TR2 are each powering DC bus 1, DC bus 2, and the DC standby + > bus. TR3 powers the battery bus and serves as a backup power source + > for TR1 and TR2 + + Do not confuse with AC tie bus breaker. AC Power sources cannot be + parallelized. The same does not apply to DC Power sources. variant: type: simple question: Under normal conditions, what powers DC Bus 1? diff --git a/libs/content/question-bank-type/content/B737/B737.10/page.md b/libs/content/question-bank-type/content/B737/B737.10/page.md index 2cd610e540..7847a862b7 100644 --- a/libs/content/question-bank-type/content/B737/B737.10/page.md +++ b/libs/content/question-bank-type/content/B737/B737.10/page.md @@ -47,6 +47,9 @@ A DEU (Display Electronic Unit) failure will prompt a DSPLY SOURCE message. - Shows pitch limit to stall when flaps are extended or at low speeds - **Expended LOC:** - Displayed when within 1/2 dot and 5° of MCP course +- **Minimum indicators** + - Baro: turns amber and flashes for 3 seconds + - Radio Dial: dial display and pointer turn amber and flash for 3 seconds ## ALERTS @@ -56,6 +59,9 @@ A DEU (Display Electronic Unit) failure will prompt a DSPLY SOURCE message. - Capt & F/O IAS disagree by more than 5kt for 5 seconds - **AOA DISAGREE:** - Capt & F/O AOA disagree by more than 10° for 10 seconds +- **MAP RANGE DISAGREE** + - The selected range on the EFIS control panel is different from the map + display range. ## TERRAIN (On navigation display & VSD) diff --git a/libs/content/question-bank-type/content/B737/B737.10/questions.yaml b/libs/content/question-bank-type/content/B737/B737.10/questions.yaml index abd374982c..86f2f95cb0 100644 --- a/libs/content/question-bank-type/content/B737/B737.10/questions.yaml +++ b/libs/content/question-bank-type/content/B737/B737.10/questions.yaml @@ -1,36 +1,3 @@ -- id: QCTFHTSM - relatedQuestions: [] - externalIds: [] - annexes: [] - learningObjectives: - - B737.10 - explanation: | - > ### Airspeed Disagree Alert (amber) - > Indicates the Captain’s and F/O’s airspeed indications disagree by more than 5 - > knots for 5 continuous seconds. - variant: - type: simple - question: What condition causes an Amber IAS DISAGREE alert to appear at the - bottom of the speed tape? - options: - - id: s9k8w - text: V Ref has not been entered - correct: false - why: "" - - id: kpdb9 - text: Difference of more than 10 kts for more than 10 seconds between Captain's - and First Officer's airspeed indications. - correct: false - why: "" - - id: 3lem4 - text: Captain's and First Officer's airspeeds disagree by more than 5 kts for - more than 5 seconds. - correct: true - why: "" - - id: n6hpe - text: Selected V Ref is not correct for current aircraft configuration. - correct: false - why: "" - id: QQKHFNSZ relatedQuestions: [] externalIds: [] @@ -286,3 +253,256 @@ Idle to Ground Idle. correct: false why: "" +- id: QZPJBQJM + relatedQuestions: + - QZPJACDA + externalIds: [] + annexes: [] + learningObjectives: + - B737.10 + explanation: | + > ### Minimums Reference/Altitude (green) + > + > Displays approach minimum reference and altitude set by the MINS selector on + > the EFIS control panel: + > + > - BARO: + > - **turns amber and flashes for 3 seconds when airplane descends below selected minimum altitude** + variant: + type: simple + question: During approach the Captain observes his BARO minimum + reference/altitude turns from green to flashing amber for three seconds, + what does this means? + options: + - id: 5revlw + text: The aircraft has descended below the Captain's selected minimum altitude + (DA). + correct: true + why: "" + - id: gvl2c + text: A windshear has been encountered. + correct: false + why: "" + - id: ygfdq + text: Radio altitude data is unreliable. + correct: false + why: "" + - id: fsafas + text: The aircraft has descended below 1000 feet + correct: false + why: "" +- id: QZPJACDA + relatedQuestions: + - QZPJBQJM + externalIds: [] + annexes: [] + learningObjectives: + - B737.10 + explanation: | + > ### Minimums Reference/Altitude (green) + > + > Displays approach minimum reference and altitude set by the MINS selector on + > the EFIS control panel: + > + > - RADIO: + > - **turns amber and flashes for 3 seconds when airplane descends below selected minimum altitude** + + + > ### Radio Altitude – Round Dial + > + > Displayed below 2500 feet AGL: + > - the remaining perimeter and pointer turn amber and flash for 3 seconds when below radio altitude minimums, the numeric readout does not flash. + variant: + type: simple + question: Which statement is correct when the airplane has descended below the + radio altitude minimums? + options: + - id: 5revlw + text: On the Rad Alt display on the PFD, the dial display and pointer turn amber + and flash for 3 seconds. + correct: true + why: "" + - id: gvl2c + text: The Rad Alt display dial perimeter, numeric readout and pointer flash for + 5 seconds. + correct: false + why: "" + - id: ygfdq + text: On the Rad Alt display on the PFD, the dial display and pointer turn amber + and flash for 3 seconds. + correct: false + why: "" + - id: fsafas + text: The Rad Alt dial perimeter, numeric readout and pointer turn green and + flash for 3 seconds. + correct: false + why: "" +- id: QFTDMCSB + relatedQuestions: + - QFTDMCSC + - QFTDMCSD + - QFTDMCSE + externalIds: [] + annexes: [] + learningObjectives: + - B737.10 + explanation: | + A summary of *DISAGREE** messages triggers: + + - **ALT DISAGREE:** + - Capt & F/O Altitude disagree by more than 200ft for 5 seconds + - **IAS DISAGREE:** + - Capt & F/O IAS disagree by more than 5kt for 5 seconds + - **AOA DISAGREE:** + - Capt & F/O AOA disagree by more than 10° for 10 seconds + - **MAP RANGE DISAGREE** + - The selected range on the EFIS control panel is different from the map display range. + variant: + type: simple + question: What does an amber ALT DISAGREE in the bottom of the altimeter tape + indicate? + options: + - id: 5revlw + text: The captain's and first officer's altitude indications differ more than + 200 feet for more than 5 seconds + correct: true + why: "" + - id: gvl2c + text: The captains altitude reading and the standby altimeter disagree by more + than 200ft for more than 5 seconds + correct: false + why: "" + - id: ygfdq + text: There is a difference of more than 10 HPa between the selected QNH + correct: false + why: "" + - id: fsafas + text: The captains and first officer's altitude indications differ more than 50 + feet for more than 5 seconds + correct: false + why: "" +- id: QFTDMCSC + relatedQuestions: + - QFTDMCSB + - QFTDMCSD + - QFTDMCSE + externalIds: [] + annexes: [] + learningObjectives: + - B737.10 + explanation: | + A summary of *DISAGREE** messages triggers: + + - **ALT DISAGREE:** + - Capt & F/O Altitude disagree by more than 200ft for 5 seconds + - **IAS DISAGREE:** + - Capt & F/O IAS disagree by more than 5kt for 5 seconds + - **AOA DISAGREE:** + - Capt & F/O AOA disagree by more than 10° for 10 seconds + - **MAP RANGE DISAGREE** + - The selected range on the EFIS control panel is different from the map display range. + variant: + type: simple + question: What condition causes an Amber IAS DISAGREE alert to appear at the + bottom of the speed tape? + options: + - id: 3lem4 + text: Captain's and First Officer's airspeeds disagree by more than 5 kts for + more than 5 seconds. + correct: true + why: "" + - id: s9k8w + text: V Ref has not been entered + correct: false + why: "" + - id: kpdb9 + text: Difference of more than 10 kts for more than 10 seconds between Captain's + and First Officer's airspeed indications. + correct: false + why: "" + - id: n6hpe + text: Selected V Ref is not correct for current aircraft configuration. + correct: false + why: "" +- id: QFTDMCSD + relatedQuestions: + - QFTDMCSB + - QFTDMCSC + - QFTDMCSE + externalIds: [] + annexes: [] + learningObjectives: + - B737.10 + explanation: | + A summary of *DISAGREE** messages triggers: + + - **ALT DISAGREE:** + - Capt & F/O Altitude disagree by more than 200ft for 5 seconds + - **IAS DISAGREE:** + - Capt & F/O IAS disagree by more than 5kt for 5 seconds + - **AOA DISAGREE:** + - Capt & F/O AOA disagree by more than 10° for 10 seconds + variant: + type: simple + question: What does an amber ROLL displayed in the lower portion of the attitude + indicator on the PFD mean? + options: + - id: 5revlw + text: The Captain's and F/O's attitude displays differ by more than 5 degrees in + roll. + correct: true + why: "" + - id: gvl2c + text: The airplane is experiencing an uncommanded roll. + correct: false + why: "" + - id: ygfdq + text: The airplane has exceeded 46 degrees of bank. + correct: false + why: "" + - id: fsafas + text: The airplane has exceeded 46 degrees of bank. + correct: false + why: "" +- id: QFTDMCSE + relatedQuestions: + - QFTDMCSB + - QFTDMCSC + - QFTDMCSD + externalIds: [] + annexes: [] + learningObjectives: + - B737.10 + explanation: | + A summary of *DISAGREE** messages triggers: + + - **ALT DISAGREE:** + - Capt & F/O Altitude disagree by more than 200ft for 5 seconds + - **IAS DISAGREE:** + - Capt & F/O IAS disagree by more than 5kt for 5 seconds + - **AOA DISAGREE:** + - Capt & F/O AOA disagree by more than 10° for 10 seconds + - **MAP RANGE DISAGREE** + - The selected range on the EFIS control panel is different from the map display range. + variant: + type: simple + question: What does an amber MAP RANGE DISAGREE annunciation on the ND indicate? + options: + - id: 5revlw + text: The selected range on the EFIS control panel is different from the map + display range. + correct: true + why: "" + - id: gvl2c + text: Range information is not being fed to the map display. + correct: false + why: "" + - id: ygfdq + text: There is a difference of more than 10 HPa between the selected QNH + correct: false + why: "" + - id: fsafas + text: The captains and first officer's altitude indications differ more than 50 + feet for more than 5 seconds + correct: false + why: "" diff --git a/libs/providers/question-bank/src/executors/question-bank-read.ts b/libs/providers/question-bank/src/executors/question-bank-read.ts index 7a169f6cb0..a3584ddb35 100644 --- a/libs/providers/question-bank/src/executors/question-bank-read.ts +++ b/libs/providers/question-bank/src/executors/question-bank-read.ts @@ -60,7 +60,6 @@ export const readAllQuestionsFromFs = async (contentFolder: string) => { const jsonData = YAML.parse(json) as QuestionTemplateJson[]; questions.push(...jsonData); } - return questions; };