The extension checks typeof input === "object", so a null input routes into translateMultiple and throws in Object.entries(null) (functions/src/translate/translateMultiple.ts:35). The kit adds && input !== null (kits/firestore-translate-text/src/translate/translateDocument.ts:44), which routes null to translateSingle instead. Only reachable on the update path, since create is guarded by if (input).
#3109 (#3106) added a test that pins the kit's routing (tests/translate-document.test.ts:116), so the divergence is now deliberate in code but not yet ruled.
Decide one of:
Parity ledger: #2974, firestore-translate-text §4a.
The extension checks
typeof input === "object", so anullinput routes intotranslateMultipleand throws inObject.entries(null)(functions/src/translate/translateMultiple.ts:35). The kit adds&& input !== null(kits/firestore-translate-text/src/translate/translateDocument.ts:44), which routesnulltotranslateSingleinstead. Only reachable on the update path, since create is guarded byif (input).#3109 (#3106) added a test that pins the kit's routing (
tests/translate-document.test.ts:116), so the divergence is now deliberate in code but not yet ruled.Decide one of:
TypeErrorhere, so this is a fix, not a divergence. Record it in the Notes entries (docs(kits): write the Notes entries for accepted divergences #3035).nullfail the same way. Unlikely to be wanted, since the extension behaviour is a crash.Parity ledger: #2974, firestore-translate-text §4a.