Skip to content

Commit d51192a

Browse files
committed
Make evaluate method generic to avoid cast on call site
1 parent 9424166 commit d51192a

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

src/plug.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ export interface Plug {
4848

4949
track<T extends ExternalEventType>(type: T, payload: ExternalEventPayload<T>): Promise<ExternalEvent<T>>;
5050

51-
evaluate(expression: string, options?: EvaluationOptions): Promise<JsonValue>;
51+
evaluate<T extends JsonValue>(expression: string, options?: EvaluationOptions): Promise<T>;
5252

5353
unplug(): Promise<void>;
5454
}
@@ -281,8 +281,8 @@ export class GlobalPlug implements Plug {
281281
return this.sdk.tracker.track(type, payload);
282282
}
283283

284-
public evaluate(expression: string, options: EvaluationOptions = {}): Promise<JsonValue> {
285-
return this.sdk.evaluator.evaluate(expression, options);
284+
public evaluate<T extends JsonValue>(expression: string, options: EvaluationOptions = {}): Promise<T> {
285+
return this.sdk.evaluator.evaluate(expression, options) as Promise<T>;
286286
}
287287

288288
public test(expression: string, options: EvaluationOptions = {}): Promise<boolean> {

0 commit comments

Comments
 (0)