UNPKG

@omniconvert/server-side-testing-sdk

Version:

TypeScript SDK for server-side A/B testing and experimentation

137 lines 11 kB
"use strict"; /** * Omniconvert Client-Side A/B Testing SDK for TypeScript/JavaScript * * This is the main entry point for the SDK. Import what you need from here. * * @example Basic Usage * ```typescript * import { ExploreClient, ContextBuilder } from '@omniconvert/client-side-testing-sdk'; * * const client = new ExploreClient({ * apiKey: 'your-api-key', * userId: 'unique-user-id' * }); * * const context = ContextBuilder.create() * .autoDetect() * .build(); * * const decisions = client.decide(context); * ``` */ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __exportStar = (this && this.__exportStar) || function(m, exports) { for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.SDK_VERSION = exports.UrlUtils = exports.BrowserDetector = exports.Ga4CookieReader = exports.LoggerDumper = exports.LoggerFactory = exports.BrowserLogger = exports.HttpClient = exports.LocalStorageDriver = exports.StorageFacade = exports.UserProviderFactory = exports.StorageFacadeFactory = exports.CP = exports.ContextParamFactory = exports.ContextBuilder = exports.VoterFactory = exports.VoterRegistry = exports.SegmentVoter = exports.AudienceVoter = exports.TimingVoter = exports.DeviceTypeVoter = exports.AbstractVoter = exports.TrafficAllocationManager = exports.Tracker = exports.DecisionManager = exports.UtmContextParam = exports.CustomContextParam = exports.IpContextParam = exports.LanguageContextParam = exports.ResolutionContextParam = exports.BrowserContextParam = exports.UserAgentContextParam = exports.DeviceTypeContextParam = exports.UrlLocationContextParam = exports.AbstractContextParam = exports.Context = exports.Bucket = exports.SessionParams = exports.Decision = exports.Experiment = exports.User = exports.ExploreClient = void 0; // Main client var ExploreClient_1 = require("./client/ExploreClient"); Object.defineProperty(exports, "ExploreClient", { enumerable: true, get: function () { return ExploreClient_1.ExploreClient; } }); // Core entities var User_1 = require("./entities/User"); Object.defineProperty(exports, "User", { enumerable: true, get: function () { return User_1.User; } }); var Experiment_1 = require("./entities/Experiment"); Object.defineProperty(exports, "Experiment", { enumerable: true, get: function () { return Experiment_1.Experiment; } }); var Decision_1 = require("./entities/Decision"); Object.defineProperty(exports, "Decision", { enumerable: true, get: function () { return Decision_1.Decision; } }); var SessionParams_1 = require("./entities/SessionParams"); Object.defineProperty(exports, "SessionParams", { enumerable: true, get: function () { return SessionParams_1.SessionParams; } }); var Bucket_1 = require("./entities/Bucket"); Object.defineProperty(exports, "Bucket", { enumerable: true, get: function () { return Bucket_1.Bucket; } }); // Context system var Context_1 = require("./entities/context/Context"); Object.defineProperty(exports, "Context", { enumerable: true, get: function () { return Context_1.Context; } }); var AbstractContextParam_1 = require("./entities/context/AbstractContextParam"); Object.defineProperty(exports, "AbstractContextParam", { enumerable: true, get: function () { return AbstractContextParam_1.AbstractContextParam; } }); // Context parameters (most commonly used) var UrlLocationContextParam_1 = require("./entities/context/params/UrlLocationContextParam"); Object.defineProperty(exports, "UrlLocationContextParam", { enumerable: true, get: function () { return UrlLocationContextParam_1.UrlLocationContextParam; } }); var DeviceTypeContextParam_1 = require("./entities/context/params/DeviceTypeContextParam"); Object.defineProperty(exports, "DeviceTypeContextParam", { enumerable: true, get: function () { return DeviceTypeContextParam_1.DeviceTypeContextParam; } }); var UserAgentContextParam_1 = require("./entities/context/params/UserAgentContextParam"); Object.defineProperty(exports, "UserAgentContextParam", { enumerable: true, get: function () { return UserAgentContextParam_1.UserAgentContextParam; } }); var BrowserContextParam_1 = require("./entities/context/params/BrowserContextParam"); Object.defineProperty(exports, "BrowserContextParam", { enumerable: true, get: function () { return BrowserContextParam_1.BrowserContextParam; } }); var ResolutionContextParam_1 = require("./entities/context/params/ResolutionContextParam"); Object.defineProperty(exports, "ResolutionContextParam", { enumerable: true, get: function () { return ResolutionContextParam_1.ResolutionContextParam; } }); var LanguageContextParam_1 = require("./entities/context/params/LanguageContextParam"); Object.defineProperty(exports, "LanguageContextParam", { enumerable: true, get: function () { return LanguageContextParam_1.LanguageContextParam; } }); var IpContextParam_1 = require("./entities/context/params/IpContextParam"); Object.defineProperty(exports, "IpContextParam", { enumerable: true, get: function () { return IpContextParam_1.IpContextParam; } }); var CustomContextParam_1 = require("./entities/context/params/CustomContextParam"); Object.defineProperty(exports, "CustomContextParam", { enumerable: true, get: function () { return CustomContextParam_1.CustomContextParam; } }); var UtmContextParam_1 = require("./entities/context/params/UtmContextParam"); Object.defineProperty(exports, "UtmContextParam", { enumerable: true, get: function () { return UtmContextParam_1.UtmContextParam; } }); // Export all context parameters for advanced usage __exportStar(require("./entities/context/params"), exports); // Services var DecisionManager_1 = require("./services/DecisionManager"); Object.defineProperty(exports, "DecisionManager", { enumerable: true, get: function () { return DecisionManager_1.DecisionManager; } }); var Tracker_1 = require("./services/Tracker"); Object.defineProperty(exports, "Tracker", { enumerable: true, get: function () { return Tracker_1.Tracker; } }); var TrafficAllocationManager_1 = require("./services/TrafficAllocationManager"); Object.defineProperty(exports, "TrafficAllocationManager", { enumerable: true, get: function () { return TrafficAllocationManager_1.TrafficAllocationManager; } }); var AbstractVoter_1 = require("./voters/AbstractVoter"); Object.defineProperty(exports, "AbstractVoter", { enumerable: true, get: function () { return AbstractVoter_1.AbstractVoter; } }); var DeviceTypeVoter_1 = require("./voters/DeviceTypeVoter"); Object.defineProperty(exports, "DeviceTypeVoter", { enumerable: true, get: function () { return DeviceTypeVoter_1.DeviceTypeVoter; } }); var TimingVoter_1 = require("./voters/TimingVoter"); Object.defineProperty(exports, "TimingVoter", { enumerable: true, get: function () { return TimingVoter_1.TimingVoter; } }); var AudienceVoter_1 = require("./voters/AudienceVoter"); Object.defineProperty(exports, "AudienceVoter", { enumerable: true, get: function () { return AudienceVoter_1.AudienceVoter; } }); var SegmentVoter_1 = require("./voters/SegmentVoter"); Object.defineProperty(exports, "SegmentVoter", { enumerable: true, get: function () { return SegmentVoter_1.SegmentVoter; } }); var VoterRegistry_1 = require("./voters/VoterRegistry"); Object.defineProperty(exports, "VoterRegistry", { enumerable: true, get: function () { return VoterRegistry_1.VoterRegistry; } }); var VoterFactory_1 = require("./voters/VoterFactory"); Object.defineProperty(exports, "VoterFactory", { enumerable: true, get: function () { return VoterFactory_1.VoterFactory; } }); // Factories (for advanced usage) var ContextBuilder_1 = require("./factories/ContextBuilder"); Object.defineProperty(exports, "ContextBuilder", { enumerable: true, get: function () { return ContextBuilder_1.ContextBuilder; } }); var ContextParamFactory_1 = require("./factories/ContextParamFactory"); Object.defineProperty(exports, "ContextParamFactory", { enumerable: true, get: function () { return ContextParamFactory_1.ContextParamFactory; } }); Object.defineProperty(exports, "CP", { enumerable: true, get: function () { return ContextParamFactory_1.CP; } }); var StorageFacadeFactory_1 = require("./factories/StorageFacadeFactory"); Object.defineProperty(exports, "StorageFacadeFactory", { enumerable: true, get: function () { return StorageFacadeFactory_1.StorageFacadeFactory; } }); var UserProviderFactory_1 = require("./factories/UserProviderFactory"); Object.defineProperty(exports, "UserProviderFactory", { enumerable: true, get: function () { return UserProviderFactory_1.UserProviderFactory; } }); // Storage implementations var StorageFacade_1 = require("./storage/StorageFacade"); Object.defineProperty(exports, "StorageFacade", { enumerable: true, get: function () { return StorageFacade_1.StorageFacade; } }); var LocalStorageDriver_1 = require("./storage/drivers/LocalStorageDriver"); Object.defineProperty(exports, "LocalStorageDriver", { enumerable: true, get: function () { return LocalStorageDriver_1.LocalStorageDriver; } }); var HttpClient_1 = require("./http/HttpClient"); Object.defineProperty(exports, "HttpClient", { enumerable: true, get: function () { return HttpClient_1.HttpClient; } }); // Logger var BrowserLogger_1 = require("./logger/BrowserLogger"); Object.defineProperty(exports, "BrowserLogger", { enumerable: true, get: function () { return BrowserLogger_1.BrowserLogger; } }); var LoggerFactory_1 = require("./logger/LoggerFactory"); Object.defineProperty(exports, "LoggerFactory", { enumerable: true, get: function () { return LoggerFactory_1.LoggerFactory; } }); var LoggerDumper_1 = require("./logger/LoggerDumper"); Object.defineProperty(exports, "LoggerDumper", { enumerable: true, get: function () { return LoggerDumper_1.LoggerDumper; } }); // Browser utilities var Ga4CookieReader_1 = require("./utils/Ga4CookieReader"); Object.defineProperty(exports, "Ga4CookieReader", { enumerable: true, get: function () { return Ga4CookieReader_1.Ga4CookieReader; } }); var BrowserDetector_1 = require("./utils/BrowserDetector"); Object.defineProperty(exports, "BrowserDetector", { enumerable: true, get: function () { return BrowserDetector_1.BrowserDetector; } }); var UrlUtils_1 = require("./utils/UrlUtils"); Object.defineProperty(exports, "UrlUtils", { enumerable: true, get: function () { return UrlUtils_1.UrlUtils; } }); // Types and interfaces __exportStar(require("./types"), exports); /** * SDK Version */ exports.SDK_VERSION = '1.0.0'; //# sourceMappingURL=index.js.map