From eb66939c30e8cf65b42065d3305bc65dc8798ac7 Mon Sep 17 00:00:00 2001 From: Eric Petzel Date: Thu, 17 Aug 2023 10:10:18 -0500 Subject: [PATCH 1/2] export assignment hooks interface. update generated docs --- js-client-sdk-common.api.md | 8 ++++++++ src/index.ts | 2 ++ 2 files changed, 10 insertions(+) diff --git a/js-client-sdk-common.api.md b/js-client-sdk-common.api.md index 26d99fa..71820f5 100644 --- a/js-client-sdk-common.api.md +++ b/js-client-sdk-common.api.md @@ -26,6 +26,8 @@ export class EppoClient implements IEppoClient { // (undocumented) getAssignment(subjectKey: string, experimentKey: string, subjectAttributes?: {}): string; // (undocumented) + getAssignmentWithHooks(subjectKey: string, experimentKey: string, subjectAttributes: {}, assignmentHooks: IAssignmentHooks): Promise; + // (undocumented) setLogger(logger: IAssignmentLogger): void; } @@ -56,6 +58,12 @@ export interface IAssignmentEvent { variation: string; } +// @public +export interface IAssignmentHooks { + onPostAssignment(variation: string): Promise; + onPreAssignment(subject: string): Promise; +} + // @public export interface IAssignmentLogger { logAssignment(assignment: IAssignmentEvent): void; diff --git a/src/index.ts b/src/index.ts index a757ca8..175b568 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,3 +1,4 @@ +import { IAssignmentHooks } from './assignment-hooks'; import { IAssignmentLogger, IAssignmentEvent } from './assignment-logger'; import EppoClient, { IEppoClient } from './client/eppo-client'; import { IConfigurationStore } from './configuration-store'; @@ -7,6 +8,7 @@ import HttpClient from './http-client'; import * as validation from './validation'; export { + IAssignmentHooks, IAssignmentLogger, IAssignmentEvent, EppoClient, From 5847e338c31e06e02ac09188ec566d81309cd8ed Mon Sep 17 00:00:00 2001 From: Eric Petzel Date: Thu, 17 Aug 2023 10:11:57 -0500 Subject: [PATCH 2/2] bump version to 1.2.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7dbebc6..365241b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@eppo/js-client-sdk-common", - "version": "1.2.0", + "version": "1.2.1", "description": "Eppo SDK for client-side JavaScript applications (base for both web and react native)", "main": "dist/index.js", "files": [