Skip to content

Commit fc7c397

Browse files
committed
Use SyncPromise static methods everywhere
1 parent f459bba commit fc7c397

File tree

8 files changed

+18
-14
lines changed

8 files changed

+18
-14
lines changed

packages/browser/src/sdk.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { getCurrentHub, initAndBind, Integrations as CoreIntegrations } from '@sentry/core';
2-
import { getGlobalObject } from '@sentry/utils';
2+
import { getGlobalObject, SyncPromise } from '@sentry/utils';
33

44
import { BrowserOptions } from './backend';
55
import { BrowserClient, ReportDialogOptions } from './client';
@@ -138,7 +138,7 @@ export function flush(timeout?: number): Promise<boolean> {
138138
if (client) {
139139
return client.flush(timeout);
140140
}
141-
return Promise.reject(false);
141+
return SyncPromise.reject(false);
142142
}
143143

144144
/**
@@ -152,7 +152,7 @@ export function close(timeout?: number): Promise<boolean> {
152152
if (client) {
153153
return client.close(timeout);
154154
}
155-
return Promise.reject(false);
155+
return SyncPromise.reject(false);
156156
}
157157

158158
/**

packages/browser/src/transports/xhr.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { Event, Response, Status } from '@sentry/types';
2+
import { SyncPromise } from '@sentry/utils';
23

34
import { BaseTransport } from './base';
45

@@ -9,7 +10,7 @@ export class XHRTransport extends BaseTransport {
910
*/
1011
public sendEvent(event: Event): Promise<Response> {
1112
return this._buffer.add(
12-
new Promise<Response>((resolve, reject) => {
13+
new SyncPromise<Response>((resolve, reject) => {
1314
const request = new XMLHttpRequest();
1415

1516
request.onreadystatechange = () => {

packages/browser/test/unit/mocks/simpletransport.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
1+
import { SyncPromise } from '@sentry/utils';
2+
13
import { Event, Response, Status } from '../../../src';
24
import { BaseTransport } from '../../../src/transports';
35

46
export class SimpleTransport extends BaseTransport {
57
public sendEvent(_: Event): Promise<Response> {
68
return this._buffer.add(
7-
Promise.resolve({
9+
SyncPromise.resolve({
810
status: Status.fromHttpCode(200),
911
}),
1012
);

packages/core/src/baseclient.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ export abstract class BaseClient<B extends Backend, O extends Options> implement
205205

206206
/** Waits for the client to be done with processing. */
207207
protected _isClientProcessing(timeout?: number): Promise<{ ready: boolean; interval: number }> {
208-
return new Promise<{ ready: boolean; interval: number }>(resolve => {
208+
return new SyncPromise<{ ready: boolean; interval: number }>(resolve => {
209209
let ticked: number = 0;
210210
const tick: number = 1;
211211

packages/core/src/transports/noop.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
import { Event, Response, Status, Transport } from '@sentry/types';
2+
import { SyncPromise } from '@sentry/utils';
23

34
/** Noop transport */
45
export class NoopTransport implements Transport {
56
/**
67
* @inheritDoc
78
*/
89
public sendEvent(_: Event): Promise<Response> {
9-
return Promise.resolve({
10+
return SyncPromise.resolve({
1011
reason: `NoopTransport: Event has been skipped because no Dsn is configured.`,
1112
status: Status.Skipped,
1213
});
@@ -16,6 +17,6 @@ export class NoopTransport implements Transport {
1617
* @inheritDoc
1718
*/
1819
public close(_?: number): Promise<boolean> {
19-
return Promise.resolve(true);
20+
return SyncPromise.resolve(true);
2021
}
2122
}

packages/core/test/mocks/transport.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { Event, Response, Status, Transport } from '@sentry/types';
2-
import { PromiseBuffer } from '@sentry/utils';
2+
import { PromiseBuffer, SyncPromise } from '@sentry/utils';
33

44
async function sleep(delay: number): Promise<void> {
5-
return new Promise(resolve => setTimeout(resolve, delay));
5+
return new SyncPromise(resolve => setTimeout(resolve, delay));
66
}
77

88
export class FakeTransport implements Transport {
@@ -16,7 +16,7 @@ export class FakeTransport implements Transport {
1616
public sendEvent(_event: Event): Promise<Response> {
1717
this.sendCalled += 1;
1818
return this._buffer.add(
19-
new Promise(async res => {
19+
new SyncPromise(async res => {
2020
await sleep(this.delay);
2121
this.sentCount += 1;
2222
res({ status: Status.Success });

packages/utils/src/promisebuffer.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { SentryError } from './error';
2+
import { SyncPromise } from './syncpromise';
23

34
/** A simple queue that holds promises. */
45
export class PromiseBuffer<T> {
@@ -22,7 +23,7 @@ export class PromiseBuffer<T> {
2223
*/
2324
public add(task: Promise<T>): Promise<T> {
2425
if (!this.isReady()) {
25-
return Promise.reject(new SentryError('Not adding Promise due to buffer limit reached.'));
26+
return SyncPromise.reject(new SentryError('Not adding Promise due to buffer limit reached.'));
2627
}
2728
if (this._buffer.indexOf(task) === -1) {
2829
this._buffer.push(task);
@@ -63,7 +64,7 @@ export class PromiseBuffer<T> {
6364
* @param timeout Number in ms to wait until it resolves with false.
6465
*/
6566
public drain(timeout?: number): Promise<boolean> {
66-
return new Promise<boolean>(resolve => {
67+
return new SyncPromise<boolean>(resolve => {
6768
const capturedSetTimeout = setTimeout(() => {
6869
if (timeout && timeout > 0) {
6970
resolve(false);

packages/utils/src/syncpromise.ts

-1
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,6 @@ export class SyncPromise<T> implements Promise<T> {
7878
if (counter !== 0) {
7979
return;
8080
}
81-
8281
resolve(resolvedCollection);
8382
})
8483
.catch(reject);

0 commit comments

Comments
 (0)