private async persistIds()

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));
    }