in src/scaler/scaler-core/state.js [460:483]
static convertFromStorage(docData) {
/** @type {{[x:string]: any}} */
const ret = {};
const docDataKeys = Object.keys(docData);
// Copy values into row that are present and are known keys.
for (const colDef of STATE_KEY_DEFINITIONS) {
if (docDataKeys.includes(colDef.name)) {
ret[colDef.name] = docData[colDef.name];
if (docData[colDef.name] instanceof firestore.Timestamp) {
ret[colDef.name] = docData[colDef.name].toMillis();
}
} else {
// not present in doc:
if (colDef.type === 'timestamp') {
ret[colDef.name] = 0;
} else {
ret[colDef.name] = null;
}
}
}
return /** @type {StateData} */ (ret);
}