@launchdarkly/js-server-sdk-common
Version:
LaunchDarkly Server SDK for JavaScript - common code
49 lines • 1.6 kB
TypeScript
import { VersionedData } from '../api/interfaces';
import { Flag } from '../evaluation/data/Flag';
import { Segment } from '../evaluation/data/Segment';
import { VersionedDataKind } from './VersionedDataKinds';
export interface FlagsAndSegments {
flags: {
[name: string]: Flag;
};
segments: {
[name: string]: Segment;
};
}
export interface AllData {
data: FlagsAndSegments;
}
/**
* Performs deep removal of null values.
*
* Does not remove null values from arrays.
*
* Note: This is a non-recursive implementation for performance and to avoid
* potential stack overflows.
*
* @param target The target to remove null values from.
* @param excludeKeys A list of top-level keys to exclude from null removal.
*/
export declare function nullReplacer(target: any, excludeKeys?: string[]): void;
export interface DeleteData extends Omit<VersionedData, 'key'> {
path: string;
kind?: VersionedDataKind;
}
type VersionedFlag = VersionedData & Flag;
type VersionedSegment = VersionedData & Segment;
export interface PatchData {
path: string;
data: VersionedFlag | VersionedSegment;
kind?: VersionedDataKind;
}
/**
* This function is intended for usage inside LaunchDarkly SDKs.
* This function should NOT be used by customer applications.
* This function may be changed or removed without a major version.
*
* @param data String data from launchdarkly.
* @returns The parsed and processed data.
*/
export declare function deserializePoll(data: string): FlagsAndSegments | undefined;
export {};
//# sourceMappingURL=serialization.d.ts.map