From 3460fb97b07fd0a089bc4dcbd642e7addb88dc42 Mon Sep 17 00:00:00 2001 From: Christof Marti Date: Wed, 5 Jun 2019 12:50:43 +0200 Subject: [PATCH] Avoid __nodeRequire() (#74398) --- .../workbench/api/browser/mainThreadKeytar.ts | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/src/vs/workbench/api/browser/mainThreadKeytar.ts b/src/vs/workbench/api/browser/mainThreadKeytar.ts index 49551459664..f169cc457bf 100644 --- a/src/vs/workbench/api/browser/mainThreadKeytar.ts +++ b/src/vs/workbench/api/browser/mainThreadKeytar.ts @@ -16,16 +16,14 @@ interface IKeytarModule { @extHostNamedCustomer(MainContext.MainThreadKeytar) export class MainThreadKeytar implements MainThreadKeytarShape { - private _keytar: IKeytarModule | null; + private _keytar: Promise; constructor( extHostContext: IExtHostContext ) { - try { - this._keytar = require.__$__nodeRequire('keytar'); - } catch (e) { - this._keytar = null; - } + // tslint:disable-next-line:import-patterns + this._keytar = import('keytar') + .catch(e => null); } dispose(): void { @@ -33,28 +31,32 @@ export class MainThreadKeytar implements MainThreadKeytarShape { } async $getPassword(service: string, account: string): Promise { - if (this._keytar) { - return this._keytar.getPassword(service, account); + const keytar = await this._keytar; + if (keytar) { + return keytar.getPassword(service, account); } return null; } async $setPassword(service: string, account: string, password: string): Promise { - if (this._keytar) { - return this._keytar.setPassword(service, account, password); + const keytar = await this._keytar; + if (keytar) { + return keytar.setPassword(service, account, password); } } async $deletePassword(service: string, account: string): Promise { - if (this._keytar) { - return this._keytar.deletePassword(service, account); + const keytar = await this._keytar; + if (keytar) { + return keytar.deletePassword(service, account); } return false; } async $findPassword(service: string): Promise { - if (this._keytar) { - return this._keytar.findPassword(service); + const keytar = await this._keytar; + if (keytar) { + return keytar.findPassword(service); } return null; }