Skip to content

Commit 1e1d827

Browse files
Revert specialization of the INodeAsyncSettings interface
1 parent d052757 commit 1e1d827

File tree

1 file changed

+107
-118
lines changed

1 file changed

+107
-118
lines changed

types/splitio.d.ts

Lines changed: 107 additions & 118 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,113 @@ interface IServerSideSharedSettings {
186186
*/
187187
IPAddressesEnabled?: boolean;
188188
};
189+
/**
190+
* SDK Startup settings for NodeJS.
191+
*/
192+
startup?: {
193+
/**
194+
* Maximum amount of time used before notify a timeout.
195+
*
196+
* @defaultValue `15`
197+
*/
198+
readyTimeout?: number;
199+
/**
200+
* Time to wait for a request before the SDK is ready. If this time expires, JS SDK will retry 'retriesOnFailureBeforeReady' times before notifying its failure to be 'ready'.
201+
*
202+
* @defaultValue `15`
203+
*/
204+
requestTimeoutBeforeReady?: number;
205+
/**
206+
* How many quick retries we will do while starting up the SDK.
207+
*
208+
* @defaultValue `1`
209+
*/
210+
retriesOnFailureBeforeReady?: number;
211+
/**
212+
* For SDK posts the queued events data in bulks with a given rate, but the first push window is defined separately,
213+
* to better control on browsers. This number defines that window before the first events push.
214+
*
215+
* @defaultValue `0`
216+
*/
217+
eventsFirstPushWindow?: number;
218+
};
219+
/**
220+
* SDK scheduler settings.
221+
*/
222+
scheduler?: {
223+
/**
224+
* The SDK polls Split servers for changes to feature flag definitions. This parameter controls this polling period in seconds.
225+
*
226+
* @defaultValue `60`
227+
*/
228+
featuresRefreshRate?: number;
229+
/**
230+
* The SDK sends information on who got what treatment at what time back to Split servers to power analytics. This parameter controls how often this data is sent to Split servers. The parameter should be in seconds.
231+
*
232+
* @defaultValue `300`
233+
*/
234+
impressionsRefreshRate?: number;
235+
/**
236+
* The maximum number of impression items we want to queue. If we queue more values, it will trigger a flush and reset the timer.
237+
* If you use a 0 here, the queue will have no maximum size.
238+
*
239+
* @defaultValue `30000`
240+
*/
241+
impressionsQueueSize?: number;
242+
/**
243+
* The SDK sends diagnostic metrics to Split servers. This parameters controls this metric flush period in seconds.
244+
*
245+
* @defaultValue `120`
246+
* @deprecated This parameter is ignored now. Use `telemetryRefreshRate` instead.
247+
*/
248+
metricsRefreshRate?: number;
249+
/**
250+
* The SDK sends diagnostic metrics to Split servers. This parameters controls this metric flush period in seconds.
251+
*
252+
* @defaultValue `3600`
253+
*/
254+
telemetryRefreshRate?: number;
255+
/**
256+
* The SDK polls Split servers for changes to segment definitions. This parameter controls this polling period in seconds.
257+
*
258+
* @defaultValue `60`
259+
*/
260+
segmentsRefreshRate?: number;
261+
/**
262+
* The SDK posts the queued events data in bulks. This parameter controls the posting rate in seconds.
263+
*
264+
* @defaultValue `60`
265+
*/
266+
eventsPushRate?: number;
267+
/**
268+
* The maximum number of event items we want to queue. If we queue more values, it will trigger a flush and reset the timer.
269+
* If you use a 0 here, the queue will have no maximum size.
270+
*
271+
* @defaultValue `500`
272+
*/
273+
eventsQueueSize?: number;
274+
/**
275+
* For mocking/testing only. The SDK will refresh the features mocked data when mode is set to "localhost" by defining the key.
276+
* For more information see {@link https://help.split.io/hc/en-us/articles/360020564931-Node-js-SDK#localhost-mode}
277+
*
278+
* @defaultValue `15`
279+
*/
280+
offlineRefreshRate?: number;
281+
/**
282+
* When using streaming mode, seconds to wait before re attempting to connect for push notifications.
283+
* Next attempts follow intervals in power of two: base seconds, base x 2 seconds, base x 4 seconds, ...
284+
*
285+
* @defaultValue `1`
286+
*/
287+
pushRetryBackoffBase?: number;
288+
};
289+
/**
290+
* Mocked features file path. For testing purposes only. For using this you should specify "localhost" as authorizationKey on core settings.
291+
* @see {@link https://help.split.io/hc/en-us/articles/360020564931-Node-js-SDK#localhost-mode}
292+
*
293+
* @defaultValue `'$HOME/.split'`
294+
*/
295+
features?: SplitIO.MockedFeaturesFilePath;
189296
}
190297
/**
191298
* Common settings properties for client-side SDKs.
@@ -1136,113 +1243,6 @@ declare namespace SplitIO {
11361243
* @see {@link https://help.split.io/hc/en-us/articles/360020564931-Node-js-SDK#configuration}
11371244
*/
11381245
interface INodeSettings extends IServerSideSharedSettings, ISyncSharedSettings, INonPluggableSettings {
1139-
/**
1140-
* SDK Startup settings for NodeJS.
1141-
*/
1142-
startup?: {
1143-
/**
1144-
* Maximum amount of time used before notify a timeout.
1145-
*
1146-
* @defaultValue `15`
1147-
*/
1148-
readyTimeout?: number;
1149-
/**
1150-
* Time to wait for a request before the SDK is ready. If this time expires, JS SDK will retry 'retriesOnFailureBeforeReady' times before notifying its failure to be 'ready'.
1151-
*
1152-
* @defaultValue `15`
1153-
*/
1154-
requestTimeoutBeforeReady?: number;
1155-
/**
1156-
* How many quick retries we will do while starting up the SDK.
1157-
*
1158-
* @defaultValue `1`
1159-
*/
1160-
retriesOnFailureBeforeReady?: number;
1161-
/**
1162-
* For SDK posts the queued events data in bulks with a given rate, but the first push window is defined separately,
1163-
* to better control on browsers. This number defines that window before the first events push.
1164-
*
1165-
* @defaultValue `0`
1166-
*/
1167-
eventsFirstPushWindow?: number;
1168-
};
1169-
/**
1170-
* SDK scheduler settings.
1171-
*/
1172-
scheduler?: {
1173-
/**
1174-
* The SDK polls Split servers for changes to feature flag definitions. This parameter controls this polling period in seconds.
1175-
*
1176-
* @defaultValue `60`
1177-
*/
1178-
featuresRefreshRate?: number;
1179-
/**
1180-
* The SDK sends information on who got what treatment at what time back to Split servers to power analytics. This parameter controls how often this data is sent to Split servers. The parameter should be in seconds.
1181-
*
1182-
* @defaultValue `300`
1183-
*/
1184-
impressionsRefreshRate?: number;
1185-
/**
1186-
* The maximum number of impression items we want to queue. If we queue more values, it will trigger a flush and reset the timer.
1187-
* If you use a 0 here, the queue will have no maximum size.
1188-
*
1189-
* @defaultValue `30000`
1190-
*/
1191-
impressionsQueueSize?: number;
1192-
/**
1193-
* The SDK sends diagnostic metrics to Split servers. This parameters controls this metric flush period in seconds.
1194-
*
1195-
* @defaultValue `120`
1196-
* @deprecated This parameter is ignored now. Use `telemetryRefreshRate` instead.
1197-
*/
1198-
metricsRefreshRate?: number;
1199-
/**
1200-
* The SDK sends diagnostic metrics to Split servers. This parameters controls this metric flush period in seconds.
1201-
*
1202-
* @defaultValue `3600`
1203-
*/
1204-
telemetryRefreshRate?: number;
1205-
/**
1206-
* The SDK polls Split servers for changes to segment definitions. This parameter controls this polling period in seconds.
1207-
*
1208-
* @defaultValue `60`
1209-
*/
1210-
segmentsRefreshRate?: number;
1211-
/**
1212-
* The SDK posts the queued events data in bulks. This parameter controls the posting rate in seconds.
1213-
*
1214-
* @defaultValue `60`
1215-
*/
1216-
eventsPushRate?: number;
1217-
/**
1218-
* The maximum number of event items we want to queue. If we queue more values, it will trigger a flush and reset the timer.
1219-
* If you use a 0 here, the queue will have no maximum size.
1220-
*
1221-
* @defaultValue `500`
1222-
*/
1223-
eventsQueueSize?: number;
1224-
/**
1225-
* For mocking/testing only. The SDK will refresh the features mocked data when mode is set to "localhost" by defining the key.
1226-
* For more information see {@link https://help.split.io/hc/en-us/articles/360020564931-Node-js-SDK#localhost-mode}
1227-
*
1228-
* @defaultValue `15`
1229-
*/
1230-
offlineRefreshRate?: number;
1231-
/**
1232-
* When using streaming mode, seconds to wait before re attempting to connect for push notifications.
1233-
* Next attempts follow intervals in power of two: base seconds, base x 2 seconds, base x 4 seconds, ...
1234-
*
1235-
* @defaultValue `1`
1236-
*/
1237-
pushRetryBackoffBase?: number;
1238-
};
1239-
/**
1240-
* Mocked features file path. For testing purposes only. For using this you should specify "localhost" as authorizationKey on core settings.
1241-
* @see {@link https://help.split.io/hc/en-us/articles/360020564931-Node-js-SDK#localhost-mode}
1242-
*
1243-
* @defaultValue `'$HOME/.split'`
1244-
*/
1245-
features?: MockedFeaturesFilePath;
12461246
/**
12471247
* Defines which kind of storage we can instantiate on NodeJS for 'standalone' mode.
12481248
* The only possible storage type is 'MEMORY', which is the default.
@@ -1331,17 +1331,6 @@ declare namespace SplitIO {
13311331
* @see {@link https://help.split.io/hc/en-us/articles/360020564931-Node-js-SDK#state-sharing-redis-integration}
13321332
*/
13331333
mode: 'consumer';
1334-
/**
1335-
* SDK Startup settings for NodeJS.
1336-
*/
1337-
startup?: {
1338-
/**
1339-
* Maximum amount of time used before notify a timeout.
1340-
*
1341-
* @defaultValue `15`
1342-
*/
1343-
readyTimeout?: number;
1344-
};
13451334
/**
13461335
* Defines which kind of async storage we can instantiate on NodeJS for 'consumer' mode.
13471336
* The only possible storage type is 'REDIS'.

0 commit comments

Comments
 (0)