Skip to content

Commit 8053823

Browse files
authored
Enable eslint rule and reject with errors instead of strings (#42)
* Enable prefer-promise-reject-errors rule and supress errors for higher flexibility * Disable promise-reject-error lint error in the examples
1 parent cd07559 commit 8053823

File tree

7 files changed

+8
-1
lines changed

7 files changed

+8
-1
lines changed

eslint.config.mjs

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export default [
1414
'@typescript-eslint/no-unsafe-member-access': 'off',
1515
'@typescript-eslint/no-unsafe-return': 'off',
1616
'@typescript-eslint/only-throw-error': 'off',
17-
'@typescript-eslint/prefer-promise-reject-errors': 'off',
17+
'@typescript-eslint/prefer-promise-reject-errors': 'error',
1818
'@typescript-eslint/restrict-plus-operands': 'error',
1919
'@typescript-eslint/restrict-template-expressions': 'error',
2020
'@typescript-eslint/unbound-method': 'off',

examples/rpc-transport-throttled/src/example.ts

+1
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,7 @@ function getThrottledTransport<TClusterUrl extends ClusterUrl>(
9494
} as QueuedRequest<TClusterUrl>);
9595
if (config.signal) {
9696
config.signal.addEventListener('abort', function () {
97+
// eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors
9798
reject(this.reason);
9899
});
99100
}

packages/promises/src/abortable.ts

+2
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,11 @@ export function getAbortablePromise<T>(promise: Promise<T>, abortSignal?: AbortS
1010
// want to throw even if the input promise's result is ready
1111
new Promise<never>((_, reject) => {
1212
if (abortSignal.aborted) {
13+
// eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors
1314
reject(abortSignal.reason);
1415
} else {
1516
abortSignal.addEventListener('abort', function () {
17+
// eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors
1618
reject(this.reason);
1719
});
1820
}

packages/rpc-subscriptions-channel-websocket/src/websocket-channel.ts

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ export function createWebSocketChannel({
2525
url,
2626
}: Config): Promise<RpcSubscriptionsChannel<WebSocketMessage, string>> {
2727
if (signal.aborted) {
28+
// eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors
2829
return Promise.reject(signal.reason);
2930
}
3031
let bufferDrainWatcher: Readonly<{ onCancel(): void; promise: Promise<void> }> | undefined;

packages/rpc-subscriptions-spec/src/rpc-subscriptions-pubsub-plan.ts

+1
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,7 @@ export async function executeRpcPubSubSubscriptionPlan<TNotification>({
135135
subscriptionId = undefined;
136136
channel.send(unsubscribePayload).catch(() => {});
137137
}
138+
// eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors
138139
reject(this.reason);
139140
}
140141
if (signal.aborted) {

packages/rpc/src/__tests__/rpc-request-coalescer-test.ts

+1
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ describe('RPC request coalescer', () => {
110110
return await new Promise((resolve, reject) => {
111111
transportResponsePromise = resolve;
112112
signal?.addEventListener('abort', (e: AbortSignalEventMap['abort']) => {
113+
// eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors
113114
reject((e.target as AbortSignal).reason);
114115
});
115116
});

packages/rpc/src/rpc-request-coalescer.ts

+1
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ export function getRpcTransportWithRequestCoalescing<TTransport extends RpcTrans
8484
abortController.abort((EXPLICIT_ABORT_TOKEN ||= createExplicitAbortToken()));
8585
}
8686
});
87+
// eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors
8788
reject((e.target as AbortSignal).reason);
8889
};
8990
signal.addEventListener('abort', handleAbort);

0 commit comments

Comments
 (0)