Skip to content

Commit 50963ee

Browse files
authored
Merge pull request #1195 from salesforcecli/mdonnalley/ms-type-error
fix: ms might be undefined
2 parents 0a19755 + 1f9df69 commit 50963ee

File tree

1 file changed

+16
-14
lines changed

1 file changed

+16
-14
lines changed

src/commands/project/retrieve/start.ts

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -148,10 +148,12 @@ export default class RetrieveMetadata extends SfCommand<RetrieveResultJson> {
148148
);
149149

150150
protected retrieveResult!: RetrieveResult;
151-
protected ms!: MultiStageOutput<{
152-
status: string;
153-
apiData: RetrieveVersionData;
154-
}>;
151+
protected ms:
152+
| MultiStageOutput<{
153+
status: string;
154+
apiData: RetrieveVersionData;
155+
}>
156+
| undefined;
155157

156158
// eslint-disable-next-line complexity
157159
public async run(): Promise<RetrieveResultJson> {
@@ -222,27 +224,27 @@ export default class RetrieveMetadata extends SfCommand<RetrieveResultJson> {
222224

223225
if (componentSetFromNonDeletes.size !== 0 || retrieveOpts.packageOptions?.length) {
224226
Lifecycle.getInstance().on('apiVersionRetrieve', async (apiData: RetrieveVersionData) =>
225-
Promise.resolve(this.ms.updateData({ apiData }))
227+
Promise.resolve(this.ms?.updateData({ apiData }))
226228
);
227229
const retrieve = await componentSetFromNonDeletes.retrieve(retrieveOpts);
228230
this.ms.goto('Waiting for the org to respond', { status: 'Pending' });
229231

230232
retrieve.onUpdate((data) => {
231-
this.ms.goto('Waiting for the org to respond', { status: mdTransferMessages.getMessage(data.status) });
233+
this.ms?.goto('Waiting for the org to respond', { status: mdTransferMessages.getMessage(data.status) });
232234
});
233235
retrieve.onFinish((data) => {
234-
this.ms.goto('Done', { status: mdTransferMessages.getMessage(data.response.status) });
236+
this.ms?.goto('Done', { status: mdTransferMessages.getMessage(data.response.status) });
235237
});
236238
retrieve.onCancel((data) => {
237-
this.ms.updateData({ status: mdTransferMessages.getMessage(data?.status ?? 'Canceled') });
238-
this.ms.error();
239+
this.ms?.updateData({ status: mdTransferMessages.getMessage(data?.status ?? 'Canceled') });
240+
this.ms?.error();
239241
});
240242
retrieve.onError((error: Error) => {
241243
if (error.message.includes('client has timed out')) {
242-
this.ms.updateData({ status: 'Client Timeout' });
244+
this.ms?.updateData({ status: 'Client Timeout' });
243245
}
244246

245-
this.ms.error();
247+
this.ms?.error();
246248
throw error;
247249
});
248250

@@ -300,8 +302,8 @@ export default class RetrieveMetadata extends SfCommand<RetrieveResultJson> {
300302

301303
protected catch(error: Error | SfError): Promise<never> {
302304
if (!this.jsonEnabled() && error instanceof SourceConflictError && error.data) {
303-
this.ms.updateData({ status: 'Failed' });
304-
this.ms.error();
305+
this.ms?.updateData({ status: 'Failed' });
306+
this.ms?.error();
305307
writeConflictTable(error.data);
306308
// set the message and add plugin-specific actions
307309
return super.catch({
@@ -310,7 +312,7 @@ export default class RetrieveMetadata extends SfCommand<RetrieveResultJson> {
310312
actions: messages.getMessages('error.Conflicts.Actions'),
311313
});
312314
} else {
313-
this.ms.error();
315+
this.ms?.error();
314316
}
315317

316318
return super.catch(error);

0 commit comments

Comments
 (0)