33
44import { RedisOptions } from 'ioredis' ;
55import { RequestOptions } from 'http' ;
6- import { SDK_UPDATE } from '../src/readiness/types' ;
7- import { SdkUpdateMetadata } from '../src/sync/polling/types' ;
86
97export as namespace SplitIO ;
108export = SplitIO ;
@@ -494,12 +492,28 @@ declare namespace SplitIO {
494492 removeItem ( key : string ) : void | Promise < void > ;
495493 }
496494
495+ /**
496+ * Metadata keys for SDK update events.
497+ */
498+ enum SdkUpdateMetadataKeys {
499+ FLAGS_UPDATE = 'FLAGS_UPDATE' ,
500+ SEGMENTS_UPDATE = 'SEGMENTS_UPDATE'
501+ }
502+
503+ /**
504+ * List of modified flags or segments
505+ * when a sdk update event is emitted.
506+ */
507+ type SdkUpdateMetadata = {
508+ type : SdkUpdateMetadataKeys . FLAGS_UPDATE | SdkUpdateMetadataKeys . SEGMENTS_UPDATE
509+ names : string [ ]
510+ }
511+
497512 /**
498513 * EventEmitter interface based on a subset of the Node.js EventEmitter methods.
499514 */
500515 interface IEventEmitter {
501516 addListener ( event : string , listener : ( ...args : any [ ] ) => void ) : this;
502- on ( event : SDK_UPDATE , listener : ( metadata : SdkUpdateMetadata ) => void ) : this;
503517 on ( event : string , listener : ( ...args : any [ ] ) => void ) : this;
504518 once ( event : string , listener : ( ...args : any [ ] ) => void ) : this;
505519 removeListener ( event : string , listener : ( ...args : any [ ] ) => void ) : this;
@@ -512,9 +526,11 @@ declare namespace SplitIO {
512526 * @see {@link https://nodejs.org/api/events.html }
513527 */
514528 interface EventEmitter extends IEventEmitter {
529+ addListener ( event : EventConsts [ 'SDK_UPDATE' ] , listener : ( metadata : SdkUpdateMetadata ) => void ) : this;
515530 addListener ( event : string | symbol , listener : ( ...args : any [ ] ) => void ) : this;
516- on ( event : SDK_UPDATE , listener : ( metadata : SdkUpdateMetadata ) => void ) : this;
531+ on ( event : EventConsts [ ' SDK_UPDATE' ] , listener : ( metadata : SdkUpdateMetadata ) => void ) : this;
517532 on ( event : string | symbol , listener : ( ...args : any [ ] ) => void ) : this;
533+ once ( event : EventConsts [ 'SDK_UPDATE' ] , listener : ( metadata : SdkUpdateMetadata ) => void ) : this;
518534 once ( event : string | symbol , listener : ( ...args : any [ ] ) => void ) : this;
519535 removeListener ( event : string | symbol , listener : ( ...args : any [ ] ) => void ) : this;
520536 off ( event : string | symbol , listener : ( ...args : any [ ] ) => void ) : this;
0 commit comments