in src/tree/AttachedAccountsTreeItem.ts [357:380]
private async persistIds(attachedAccounts: AzExtTreeItem[]): Promise<void> {
const value: IPersistedAccount[] = attachedAccounts.map((node: AzExtTreeItem) => {
let api: API;
let isEmulator: boolean | undefined;
if (node instanceof MongoAccountTreeItem || node instanceof DocDBAccountTreeItem || node instanceof GraphAccountTreeItem || node instanceof TableAccountTreeItem) {
isEmulator = node.root.isEmulator;
}
if (node instanceof MongoAccountTreeItem) {
api = API.MongoDB;
} else if (node instanceof GraphAccountTreeItem) {
api = API.Graph;
} else if (node instanceof TableAccountTreeItem) {
api = API.Table;
} else if (node instanceof DocDBAccountTreeItem) {
api = API.Core;
} else if (node instanceof PostgresServerTreeItem) {
api = API.PostgresSingle;
} else {
throw new Error(`Unexpected account node "${node.constructor.name}".`);
}
return { id: nonNullProp(node, 'id'), defaultExperience: api, isEmulator: isEmulator };
});
await ext.context.globalState.update(this._serviceName, JSON.stringify(value));
}