@sajari/sdk-react
Version:
React SDK for the Sajari API
46 lines (45 loc) • 1.41 kB
TypeScript
export declare type ValueFn = () => string;
export declare type ValuesMap = Map<string, string | string[] | number | boolean | ValueFn>;
export interface ValuesObject {
[k: string]: string | string[] | number | boolean | ValueFn | undefined;
}
export declare type CallbackFn = (values: ValuesObject, set: (values: ValuesObject) => void) => void;
export declare class Values {
private values;
private listeners;
/**
* Constructor for Values object.
* @param values Initial values.
*/
constructor(values?: {
[k: string]: string | string[] | number | boolean | ValueFn;
});
/**
* Register a listener for a specific event.
* @param event Event to listen for
* @param callback Callback to run when the event happens.
*/
listen(event: string, callback: CallbackFn): import("./listener").UnlistenFn;
/**
* Merge values into the value map.
*
* Set a value to undefined to remove it.
*/
set(values: ValuesObject): void;
/**
* get returns the current values.
*/
get(): {
[k: string]: string;
};
/**
* Emits an event to notify listener that the values have been updated.
*
* @private
*/
private _emitUpdated;
/**
* Sets values without triggering an event, internal use only.
*/
private _set;
}