@omniconvert/server-side-testing-sdk
Version:
TypeScript SDK for server-side A/B testing and experimentation
137 lines • 11 kB
JavaScript
/**
* 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
;