Skip to content

Commit 7266baa

Browse files
authored
chore: moving internal StreamingProcessor class from js-sdk-common to js-server-sdk-common (#700)
**Requirements** - [ ] I have added test coverage for new or changed functionality No behavioral changes, existing tests migrated with class. - [x] I have followed the repository's [pull request submission guidelines](../blob/main/CONTRIBUTING.md#submitting-pull-requests) - [ ] I have validated my changes against all supported platform versions **Related issues** SDK-156, prepping for SDK-849
1 parent 8351aca commit 7266baa

File tree

12 files changed

+55
-42
lines changed

12 files changed

+55
-42
lines changed

packages/shared/common/src/datasource/errors.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,5 @@ export class LDStreamingError extends Error {
3535
this.recoverable = recoverable;
3636
}
3737
}
38+
39+
export type StreamingErrorHandler = (err: LDStreamingError) => void;
Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,15 @@
11
import { DataSourceErrorKind } from './DataSourceErrorKinds';
2-
import { LDFileDataSourceError, LDPollingError, LDStreamingError } from './errors';
2+
import {
3+
LDFileDataSourceError,
4+
LDPollingError,
5+
LDStreamingError,
6+
StreamingErrorHandler,
7+
} from './errors';
38

4-
export { DataSourceErrorKind, LDFileDataSourceError, LDPollingError, LDStreamingError };
9+
export {
10+
DataSourceErrorKind,
11+
LDFileDataSourceError,
12+
LDPollingError,
13+
LDStreamingError,
14+
StreamingErrorHandler,
15+
};

packages/shared/common/src/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import {
66
LDFileDataSourceError,
77
LDPollingError,
88
LDStreamingError,
9+
StreamingErrorHandler,
910
} from './datasource';
1011

1112
export * from './api';
@@ -24,5 +25,6 @@ export {
2425
DataSourceErrorKind,
2526
LDPollingError,
2627
LDStreamingError,
28+
StreamingErrorHandler,
2729
LDFileDataSourceError,
2830
};

packages/shared/common/src/internal/index.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,3 @@ export * from './context';
22
export * from './diagnostics';
33
export * from './evaluation';
44
export * from './events';
5-
export * from './stream';

packages/shared/common/src/internal/stream/index.ts

Lines changed: 0 additions & 5 deletions
This file was deleted.

packages/shared/common/src/internal/stream/types.ts

Lines changed: 0 additions & 3 deletions
This file was deleted.

packages/shared/sdk-client/src/streaming/StreamingProcessor.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import {
1313
ProcessStreamResponse,
1414
Requests,
1515
shouldRetry,
16+
StreamingErrorHandler,
1617
subsystem,
1718
} from '@launchdarkly/js-sdk-common';
1819

@@ -23,7 +24,7 @@ const reportJsonError = (
2324
type: string,
2425
data: string,
2526
logger?: LDLogger,
26-
errorHandler?: internal.StreamingErrorHandler,
27+
errorHandler?: StreamingErrorHandler,
2728
) => {
2829
logger?.error(`Stream received invalid data in "${type}" message`);
2930
logger?.debug(`Invalid JSON follows: ${data}`);
@@ -47,7 +48,7 @@ class StreamingProcessor implements subsystem.LDStreamProcessor {
4748
encoding: Encoding,
4849
private readonly _pollingRequestor: Requestor,
4950
private readonly _diagnosticsManager?: internal.DiagnosticsManager,
50-
private readonly _errorHandler?: internal.StreamingErrorHandler,
51+
private readonly _errorHandler?: StreamingErrorHandler,
5152
private readonly _logger?: LDLogger,
5253
) {
5354
let path: string;

packages/shared/common/__tests__/internal/stream/StreamingProcessor.test.ts renamed to packages/shared/sdk-server/__tests__/data_sources/StreamingProcessor.test.ts

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,17 @@
1-
import { EventName, Info, LDLogger, ProcessStreamResponse } from '../../../src/api';
2-
import { LDStreamProcessor } from '../../../src/api/subsystem';
3-
import { DataSourceErrorKind } from '../../../src/datasource/DataSourceErrorKinds';
4-
import { LDStreamingError } from '../../../src/datasource/errors';
5-
import { DiagnosticsManager } from '../../../src/internal/diagnostics';
6-
import StreamingProcessor from '../../../src/internal/stream/StreamingProcessor';
7-
import { defaultHeaders } from '../../../src/utils';
8-
import { createBasicPlatform } from '../../createBasicPlatform';
1+
import {
2+
DataSourceErrorKind,
3+
defaultHeaders,
4+
EventName,
5+
Info,
6+
internal,
7+
LDLogger,
8+
LDStreamingError,
9+
ProcessStreamResponse,
10+
subsystem,
11+
} from '@launchdarkly/js-sdk-common';
12+
13+
import StreamingProcessor from '../../src/data_sources/StreamingProcessor';
14+
import { createBasicPlatform } from '../createBasicPlatform';
915

1016
let logger: LDLogger;
1117

@@ -61,8 +67,8 @@ const createMockEventSource = (streamUri: string = '', options: any = {}) => ({
6167

6268
describe('given a stream processor with mock event source', () => {
6369
let info: Info;
64-
let streamingProcessor: LDStreamProcessor;
65-
let diagnosticsManager: DiagnosticsManager;
70+
let streamingProcessor: subsystem.LDStreamProcessor;
71+
let diagnosticsManager: internal.DiagnosticsManager;
6672
let listeners: Map<EventName, ProcessStreamResponse>;
6773
let mockEventSource: any;
6874
let mockListener: ProcessStreamResponse;
@@ -104,7 +110,7 @@ describe('given a stream processor with mock event source', () => {
104110
listeners.set('put', mockListener);
105111
listeners.set('patch', mockListener);
106112

107-
diagnosticsManager = new DiagnosticsManager(sdkKey, basicPlatform, {});
113+
diagnosticsManager = new internal.DiagnosticsManager(sdkKey, basicPlatform, {});
108114
streamingProcessor = new StreamingProcessor(
109115
{
110116
basicConfiguration: getBasicConfiguration(logger),

packages/shared/sdk-server/__tests__/streamingProcessor.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import type {
55
LDHeaders,
66
LDStreamingError,
77
ProcessStreamResponse,
8+
StreamingErrorHandler,
89
} from '@launchdarkly/js-sdk-common';
910

1011
export const MockStreamingProcessor = jest.fn();
@@ -29,7 +30,7 @@ export const setupMockStreamingProcessor = (
2930
listeners: Map<EventName, ProcessStreamResponse>,
3031
baseHeaders: LDHeaders,
3132
diagnosticsManager: internal.DiagnosticsManager,
32-
errorHandler: internal.StreamingErrorHandler,
33+
errorHandler: StreamingErrorHandler,
3334
_streamInitialReconnectDelay: number,
3435
) => ({
3536
start: jest.fn(async () => {

packages/shared/sdk-server/src/LDClientImpl.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ import { createStreamListeners } from './data_sources/createStreamListeners';
3636
import DataSourceUpdates from './data_sources/DataSourceUpdates';
3737
import PollingProcessor from './data_sources/PollingProcessor';
3838
import Requestor from './data_sources/Requestor';
39+
import StreamingProcessor from './data_sources/StreamingProcessor';
3940
import createDiagnosticsInitConfig from './diagnostics/createDiagnosticsInitConfig';
4041
import { allAsync } from './evaluation/collection';
4142
import { Flag } from './evaluation/data/Flag';
@@ -220,7 +221,7 @@ export default class LDClientImpl implements LDClient {
220221
});
221222
const makeDefaultProcessor = () =>
222223
config.stream
223-
? new internal.StreamingProcessor(
224+
? new StreamingProcessor(
224225
clientContext,
225226
'/all',
226227
[],

0 commit comments

Comments
 (0)