@kameleoon/javascript-sdk-core 3.0.0 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/clientConfiguration/clientConfiguration.d.ts +4 -1
- package/dist/clientConfiguration/clientConfiguration.js +1 -1
- package/dist/clientConfiguration/clientConfiguration.js.map +1 -1
- package/dist/clientConfiguration/constants.js +1 -1
- package/dist/clientConfiguration/constants.js.map +1 -1
- package/dist/clientConfiguration/index.d.ts +1 -1
- package/dist/clientConfiguration/index.js +1 -1
- package/dist/clientConfiguration/index.js.map +1 -1
- package/dist/clientConfiguration/types.d.ts +13 -4
- package/dist/clientConfiguration/types.js +1 -1
- package/dist/clientConfiguration/types.js.map +1 -1
- package/dist/constants.js +1 -1
- package/dist/constants.js.map +1 -1
- package/dist/cookieManager/cookieManager.d.ts +16 -0
- package/dist/cookieManager/cookieManager.js +2 -0
- package/dist/cookieManager/cookieManager.js.map +1 -0
- package/dist/cookieManager/index.d.ts +1 -0
- package/dist/cookieManager/index.js +2 -0
- package/dist/cookieManager/index.js.map +1 -0
- package/dist/hasher/hasher.d.ts +1 -1
- package/dist/hasher/hasher.js +1 -1
- package/dist/hasher/hasher.js.map +1 -1
- package/dist/hasher/types.d.ts +1 -1
- package/dist/hasher/types.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/kameleoonClient.d.ts +32 -1
- package/dist/kameleoonClient.js +1 -1
- package/dist/kameleoonClient.js.map +1 -1
- package/dist/kameleoonData/customData.d.ts +6 -0
- package/dist/kameleoonData/customData.js +1 -1
- package/dist/kameleoonData/customData.js.map +1 -1
- package/dist/kameleoonData/dataManager.d.ts +4 -1
- package/dist/kameleoonData/dataManager.js +1 -1
- package/dist/kameleoonData/dataManager.js.map +1 -1
- package/dist/kameleoonData/pageView.js +1 -1
- package/dist/kameleoonData/pageView.js.map +1 -1
- package/dist/kameleoonData/types.d.ts +1 -0
- package/dist/kameleoonData/types.js.map +1 -1
- package/dist/kameleoonError/constants.d.ts +1 -0
- package/dist/kameleoonError/constants.js +1 -1
- package/dist/kameleoonError/constants.js.map +1 -1
- package/dist/kameleoonError/kameleoonError.d.ts +2 -1
- package/dist/kameleoonError/kameleoonError.js +1 -1
- package/dist/kameleoonError/kameleoonError.js.map +1 -1
- package/dist/kameleoonError/types.d.ts +1 -0
- package/dist/kameleoonError/types.js +1 -1
- package/dist/kameleoonError/types.js.map +1 -1
- package/dist/kameleoonUtils.d.ts +0 -6
- package/dist/kameleoonUtils.js +1 -1
- package/dist/kameleoonUtils.js.map +1 -1
- package/dist/requester/constants.d.ts +3 -2
- package/dist/requester/constants.js +1 -1
- package/dist/requester/constants.js.map +1 -1
- package/dist/requester/index.d.ts +2 -2
- package/dist/requester/index.js +1 -1
- package/dist/requester/index.js.map +1 -1
- package/dist/requester/requester.d.ts +5 -5
- package/dist/requester/requester.js +1 -1
- package/dist/requester/requester.js.map +1 -1
- package/dist/requester/types.d.ts +8 -6
- package/dist/requester/types.js +1 -1
- package/dist/requester/types.js.map +1 -1
- package/dist/storage/constants.d.ts +2 -1
- package/dist/storage/constants.js +1 -1
- package/dist/storage/constants.js.map +1 -1
- package/dist/storage/types.d.ts +10 -1
- package/dist/storage/types.js.map +1 -1
- package/dist/types.d.ts +46 -14
- package/dist/types.js.map +1 -1
- package/dist/utilities/types.d.ts +12 -2
- package/dist/utilities/types.js.map +1 -1
- package/dist/utilities/utilities.d.ts +10 -4
- package/dist/utilities/utilities.js +1 -1
- package/dist/utilities/utilities.js.map +1 -1
- package/dist/variationConfiguration/types.d.ts +2 -0
- package/dist/variationConfiguration/types.js.map +1 -1
- package/dist/variationConfiguration/variationConfiguration.d.ts +1 -1
- package/dist/variationConfiguration/variationConfiguration.js +1 -1
- package/dist/variationConfiguration/variationConfiguration.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EventType, ParameterType, QueryType, StrictEventTypeRecord, StrictParameterRecord, StrictQueryRecord, StrictTrackingRecord, TrackingType } from './types';
|
|
1
|
+
import { EventType, ParameterType, QueryType, StrictEventTypeRecord, StrictFirstParameterRecord, StrictParameterRecord, StrictQueryRecord, StrictTrackingRecord, TrackingType } from './types';
|
|
2
2
|
export declare enum Header {
|
|
3
3
|
UserAgent = "User-Agent",
|
|
4
4
|
ContentType = "Content-Type",
|
|
@@ -7,12 +7,13 @@ export declare enum Header {
|
|
|
7
7
|
}
|
|
8
8
|
export declare const UrlEventType: StrictEventTypeRecord<EventType>;
|
|
9
9
|
export declare const UrlParameter: StrictParameterRecord<ParameterType>;
|
|
10
|
+
export declare const UrlFirstParameter: StrictFirstParameterRecord<ParameterType>;
|
|
10
11
|
export declare const UrlQuery: StrictQueryRecord<QueryType>;
|
|
11
12
|
export declare const UrlTracking: StrictTrackingRecord<TrackingType>;
|
|
12
13
|
export declare const URL: {
|
|
13
14
|
SERVER_SENT_EVENTS: string;
|
|
14
|
-
CLIENT_CONFIGURATION: string;
|
|
15
15
|
VISIT_EVENT: string;
|
|
16
16
|
VISIT_DATA: string;
|
|
17
17
|
DATA_MAP: string;
|
|
18
18
|
};
|
|
19
|
+
export declare function getClientConfigurationUrl(siteCode: string): string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.UrlTracking=exports.UrlQuery=exports.UrlParameter=exports.UrlEventType=exports.URL=exports.Header=void 0;var Header=function(a){return a.UserAgent="User-Agent",a.ContentType="Content-Type",a.Authorization="Authorization",a.AcceptEncoding="Accept-Encoding",a}({});exports.Header=Header;var
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.UrlTracking=exports.UrlQuery=exports.UrlParameter=exports.UrlFirstParameter=exports.UrlEventType=exports.URL=exports.Header=void 0,exports.getClientConfigurationUrl=getClientConfigurationUrl;var Header=function(a){return a.UserAgent="User-Agent",a.ContentType="Content-Type",a.Authorization="Authorization",a.AcceptEncoding="Accept-Encoding",a}({});exports.Header=Header;var UrlEventType={CustomData:"eventType=customData",StaticData:"eventType=staticData",Page:"eventType=page",Conversion:"eventType=conversion",Activity:"eventType=activity",Experiment:"eventType=experiment",Geolocation:"eventType=geolocation"};exports.UrlEventType=UrlEventType;var UrlParameter={Title:"&title=",ReferrersIndices:"&referrersIndices=",Negative:"&negative=",Revenue:"&revenue=",Overwrite:"&overwrite=",Index:"&index=",BrowserIndex:"&browserIndex=",BrowserVersion:"&browserVersion=",Href:"&href=",DeviceType:"&deviceType=",SiteCode:"&siteCode=",GoalId:"&goalId=",VisitorCode:"&visitorCode=",VariationId:"&variationId=",Ts:"&ts=",Key:"&key=",SdkName:"&sdkName=",SdkVersion:"&sdkVersion=",ValuesCountMap:"&valuesCountMap=",Nonce:"&nonce=",Id:"&id=",CustomData:"&customData=",CurrentVisit:"¤tVisit=",MaxNumberPreviousVisits:"&maxNumberPreviousVisits=",Os:"&os=",OsIndex:"&osIndex=",Country:"&country=",City:"&city=",Region:"®ion=",Latitude:"&latitude=",Longitude:"&longitude=",PostalCode:"&postalCode=",Conversion:"&conversion=",StaticData:"&staticData=",Geolocation:"&geolocation=",Page:"&page=",Experiment:"&experiment=",Browser:"&browser=",Environment:"&environment=",MappingIdentifier:"&mappingIdentifier="};exports.UrlParameter=UrlParameter;var UrlFirstParameter={CustomData:"?customData=",StaticData:"?staticData=",Page:"?page=",Conversion:"?conversion=",Geolocation:"?geolocation=",Experiment:"?experiment=",ValuesCountMap:"?valuesCountMap=",Id:"?id=",Nonce:"?nonce=",Country:"?country=",Environment:"?environment=",City:"?city=",Region:"?region=",Latitude:"?latitude=",Longitude:"?longitude=",PostalCode:"?postalCode=",SdkName:"?sdkName=",SdkVersion:"?sdkVersion=",BrowserIndex:"?browserIndex=",BrowserVersion:"?browserVersion=",SiteCode:"?siteCode=",VisitorCode:"?visitorCode=",CurrentVisit:"?currentVisit=",MaxNumberPreviousVisits:"?maxNumberPreviousVisits=",Negative:"?negative=",Revenue:"?revenue=",Title:"?title=",Os:"?os=",OsIndex:"?osIndex=",Browser:"?browser=",ReferrersIndices:"?referrersIndices=",Overwrite:"?overwrite=",Index:"?index=",Href:"?href=",VariationId:"?variationId=",DeviceType:"?deviceType=",GoalId:"?goalId=",Ts:"?ts=",Key:"?key=",MappingIdentifier:"?mappingIdentifier="};exports.UrlFirstParameter=UrlFirstParameter;var UrlQuery={Sse:"sse?siteCode=",Map:"map?siteCode=",Events:"events?siteCode=",Visitor:"visitor?siteCode="};exports.UrlQuery=UrlQuery;var UrlTracking={Visit:"visit/",Map:"map/"};exports.UrlTracking=UrlTracking;var topLevelDomain="io",URL_DATA_API="https://data.kameleoon.".concat("io"),URL={SERVER_SENT_EVENTS:"https://events.kameleoon.com:8110/",VISIT_EVENT:"".concat(URL_DATA_API,"/").concat(UrlTracking.Visit+UrlQuery.Events),VISIT_DATA:"".concat(URL_DATA_API,"/").concat(UrlTracking.Visit+UrlQuery.Visitor),DATA_MAP:"".concat(URL_DATA_API,"/").concat(UrlTracking.Map+UrlQuery.Map)};exports.URL=URL;function getClientConfigurationUrl(a){return"https://".concat(a,".kameleoon.eu/sdk-config")}
|
|
2
2
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":["Header","UserAgent","ContentType","Authorization","AcceptEncoding","exports","
|
|
1
|
+
{"version":3,"file":"constants.js","names":["Header","UserAgent","ContentType","Authorization","AcceptEncoding","exports","UrlEventType","CustomData","StaticData","Page","Conversion","Activity","Experiment","Geolocation","UrlParameter","Title","ReferrersIndices","Negative","Revenue","Overwrite","Index","BrowserIndex","BrowserVersion","Href","DeviceType","SiteCode","GoalId","VisitorCode","VariationId","Ts","Key","SdkName","SdkVersion","ValuesCountMap","Nonce","Id","CurrentVisit","MaxNumberPreviousVisits","Os","OsIndex","Country","City","Region","Latitude","Longitude","PostalCode","Browser","Environment","MappingIdentifier","UrlFirstParameter","UrlQuery","Sse","Map","Events","Visitor","UrlTracking","Visit","topLevelDomain","URL_DATA_API","concat","URL","SERVER_SENT_EVENTS","VISIT_EVENT","VISIT_DATA","DATA_MAP","getClientConfigurationUrl","siteCode"],"sources":["../../src/requester/constants.ts"],"sourcesContent":["import {\n EventType,\n ParameterType,\n QueryType,\n StrictEventTypeRecord,\n StrictFirstParameterRecord,\n StrictParameterRecord,\n StrictQueryRecord,\n StrictTrackingRecord,\n TrackingType,\n} from './types';\n\nexport enum Header {\n UserAgent = 'User-Agent',\n ContentType = 'Content-Type',\n Authorization = 'Authorization',\n AcceptEncoding = 'Accept-Encoding',\n}\n\nexport const UrlEventType: StrictEventTypeRecord<EventType> = {\n CustomData: 'eventType=customData',\n StaticData: 'eventType=staticData',\n Page: 'eventType=page',\n Conversion: 'eventType=conversion',\n Activity: 'eventType=activity',\n Experiment: 'eventType=experiment',\n Geolocation: 'eventType=geolocation',\n};\nexport const UrlParameter: StrictParameterRecord<ParameterType> = {\n Title: '&title=',\n ReferrersIndices: '&referrersIndices=',\n Negative: '&negative=',\n Revenue: '&revenue=',\n Overwrite: '&overwrite=',\n Index: '&index=',\n BrowserIndex: '&browserIndex=',\n BrowserVersion: '&browserVersion=',\n Href: '&href=',\n DeviceType: '&deviceType=',\n SiteCode: '&siteCode=',\n GoalId: '&goalId=',\n VisitorCode: '&visitorCode=',\n VariationId: '&variationId=',\n Ts: '&ts=',\n Key: '&key=',\n SdkName: '&sdkName=',\n SdkVersion: '&sdkVersion=',\n ValuesCountMap: '&valuesCountMap=',\n Nonce: '&nonce=',\n Id: '&id=',\n CustomData: '&customData=',\n CurrentVisit: '¤tVisit=',\n MaxNumberPreviousVisits: '&maxNumberPreviousVisits=',\n Os: '&os=',\n OsIndex: '&osIndex=',\n Country: '&country=',\n City: '&city=',\n Region: '®ion=',\n Latitude: '&latitude=',\n Longitude: '&longitude=',\n PostalCode: '&postalCode=',\n Conversion: '&conversion=',\n StaticData: '&staticData=',\n Geolocation: '&geolocation=',\n Page: '&page=',\n Experiment: '&experiment=',\n Browser: '&browser=',\n Environment: '&environment=',\n MappingIdentifier: '&mappingIdentifier=',\n};\nexport const UrlFirstParameter: StrictFirstParameterRecord<ParameterType> = {\n CustomData: '?customData=',\n StaticData: '?staticData=',\n Page: '?page=',\n Conversion: '?conversion=',\n Geolocation: '?geolocation=',\n Experiment: '?experiment=',\n ValuesCountMap: '?valuesCountMap=',\n Id: '?id=',\n Nonce: '?nonce=',\n Country: '?country=',\n Environment: '?environment=',\n City: '?city=',\n Region: '?region=',\n Latitude: '?latitude=',\n Longitude: '?longitude=',\n PostalCode: '?postalCode=',\n SdkName: '?sdkName=',\n SdkVersion: '?sdkVersion=',\n BrowserIndex: '?browserIndex=',\n BrowserVersion: '?browserVersion=',\n SiteCode: '?siteCode=',\n VisitorCode: '?visitorCode=',\n CurrentVisit: '?currentVisit=',\n MaxNumberPreviousVisits: '?maxNumberPreviousVisits=',\n Negative: '?negative=',\n Revenue: '?revenue=',\n Title: '?title=',\n Os: '?os=',\n OsIndex: '?osIndex=',\n Browser: '?browser=',\n ReferrersIndices: '?referrersIndices=',\n Overwrite: '?overwrite=',\n Index: '?index=',\n Href: '?href=',\n VariationId: '?variationId=',\n DeviceType: '?deviceType=',\n GoalId: '?goalId=',\n Ts: '?ts=',\n Key: '?key=',\n MappingIdentifier: '?mappingIdentifier=',\n};\nexport const UrlQuery: StrictQueryRecord<QueryType> = {\n Sse: 'sse?siteCode=',\n Map: 'map?siteCode=',\n Events: 'events?siteCode=',\n Visitor: 'visitor?siteCode=',\n};\nexport const UrlTracking: StrictTrackingRecord<TrackingType> = {\n Visit: 'visit/',\n Map: 'map/',\n};\n\nconst topLevelDomain = process.env.NODE_ENV === 'test' ? 'net' : 'io';\n\nconst URL_DATA_API = `https://data.kameleoon.${topLevelDomain}`;\n\nexport const URL = {\n SERVER_SENT_EVENTS: 'https://events.kameleoon.com:8110/',\n VISIT_EVENT: `${URL_DATA_API}/${UrlTracking.Visit + UrlQuery.Events}`,\n VISIT_DATA: `${URL_DATA_API}/${UrlTracking.Visit + UrlQuery.Visitor}`,\n DATA_MAP: `${URL_DATA_API}/${UrlTracking.Map + UrlQuery.Map}`,\n};\n\nexport function getClientConfigurationUrl(siteCode: string): string {\n return `https://${siteCode}.kameleoon.eu/sdk-config`;\n}\n"],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { Requester } from './requester';
|
|
2
|
-
export { URL, UrlQuery, UrlEventType, UrlParameter, Header } from './constants';
|
|
3
|
-
export { HttpMethod, VisitType, TrackParametersType, StaticDataEventType, TrackExperimentParamsType, TrackDataParamsType, IExternalRequestDispatcher, GetVisitorDataResultType,
|
|
2
|
+
export { URL, UrlQuery, UrlEventType, UrlParameter, Header, getClientConfigurationUrl, } from './constants';
|
|
3
|
+
export { HttpMethod, VisitType, TrackParametersType, StaticDataEventType, TrackExperimentParamsType, TrackDataParamsType, IExternalRequestDispatcher, GetVisitorDataResultType, } from './types';
|
package/dist/requester/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"GetVisitorDataResultType",{enumerable:!0,get:function get(){return _types.GetVisitorDataResultType}}),Object.defineProperty(exports,"Header",{enumerable:!0,get:function get(){return _constants.Header}}),Object.defineProperty(exports,"HttpMethod",{enumerable:!0,get:function get(){return _types.HttpMethod}}),Object.defineProperty(exports,"IExternalRequestDispatcher",{enumerable:!0,get:function get(){return _types.IExternalRequestDispatcher}}),Object.defineProperty(exports,"Requester",{enumerable:!0,get:function get(){return _requester.Requester}}),Object.defineProperty(exports,"StaticDataEventType",{enumerable:!0,get:function get(){return _types.StaticDataEventType}}),Object.defineProperty(exports,"TrackDataParamsType",{enumerable:!0,get:function get(){return _types.TrackDataParamsType}}),Object.defineProperty(exports,"TrackExperimentParamsType",{enumerable:!0,get:function get(){return _types.TrackExperimentParamsType}}),Object.defineProperty(exports,"TrackParametersType",{enumerable:!0,get:function get(){return _types.TrackParametersType}}),Object.defineProperty(exports,"URL",{enumerable:!0,get:function get(){return _constants.URL}}),Object.defineProperty(exports,"UrlEventType",{enumerable:!0,get:function get(){return _constants.UrlEventType}}),Object.defineProperty(exports,"UrlParameter",{enumerable:!0,get:function get(){return _constants.UrlParameter}}),Object.defineProperty(exports,"UrlQuery",{enumerable:!0,get:function get(){return _constants.UrlQuery}}),Object.defineProperty(exports,"VisitType",{enumerable:!0,get:function get(){return _types.VisitType}}),Object.defineProperty(exports,"getClientConfigurationUrl",{enumerable:!0,get:function get(){return _constants.getClientConfigurationUrl}});var _requester=require("./requester"),_constants=require("./constants"),_types=require("./types");
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/requester/index.ts"],"sourcesContent":["export { Requester } from './requester';\nexport {
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/requester/index.ts"],"sourcesContent":["export { Requester } from './requester';\nexport {\n URL,\n UrlQuery,\n UrlEventType,\n UrlParameter,\n Header,\n getClientConfigurationUrl,\n} from './constants';\nexport {\n HttpMethod,\n VisitType,\n TrackParametersType,\n StaticDataEventType,\n TrackExperimentParamsType,\n TrackDataParamsType,\n IExternalRequestDispatcher,\n GetVisitorDataResultType,\n} from './types';\n"],"mappings":""}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Result } from 'ts-res';
|
|
2
2
|
import { KameleoonError } from '../kameleoonError';
|
|
3
|
-
import { JSONType } from '../clientConfiguration';
|
|
3
|
+
import { ConfigurationDataType, JSONType } from '../clientConfiguration';
|
|
4
4
|
import { VisitorDataFiltersType } from '../utilities';
|
|
5
|
-
import {
|
|
5
|
+
import { RequesterParamsType, TrackDataParamsType, GetVisitorDataResultType, TrackExperimentParamsType } from './types';
|
|
6
6
|
export interface IRequester {
|
|
7
|
-
getClientConfiguration: () => Promise<Result<
|
|
7
|
+
getClientConfiguration: () => Promise<Result<ConfigurationDataType, KameleoonError>>;
|
|
8
8
|
getRemoteData: (key: string) => Promise<Result<JSONType, KameleoonError>>;
|
|
9
9
|
trackData: ({ visitorCode, body, }: TrackDataParamsType) => Promise<Result<boolean, KameleoonError>>;
|
|
10
10
|
trackExperiment: ({ variationId, visitorCode, experimentId, isUnallocated, body, }: TrackExperimentParamsType) => Promise<Result<boolean, KameleoonError>>;
|
|
@@ -15,10 +15,10 @@ export declare class Requester implements IRequester {
|
|
|
15
15
|
private requestDispatcher;
|
|
16
16
|
private packageInfo;
|
|
17
17
|
constructor({ siteCode, environment, packageInfo, requestDispatcher, }: RequesterParamsType);
|
|
18
|
-
getClientConfiguration(timeStamp?: number): Promise<Result<
|
|
18
|
+
getClientConfiguration(timeStamp?: number): Promise<Result<ConfigurationDataType, KameleoonError>>;
|
|
19
19
|
getRemoteData(key: string): Promise<Result<JSONType, KameleoonError>>;
|
|
20
20
|
getVisitorData(visitorCode: string, filters: VisitorDataFiltersType): Promise<Result<GetVisitorDataResultType, KameleoonError>>;
|
|
21
|
-
trackExperiment({ variationId, visitorCode, experimentId, isUnallocated, body, userAgent, }: TrackExperimentParamsType): Promise<Result<boolean, KameleoonError>>;
|
|
21
|
+
trackExperiment({ variationId, visitorCode, experimentId, isUnallocated, body, userAgent, isTargetedRule, isConsentProvided, }: TrackExperimentParamsType): Promise<Result<boolean, KameleoonError>>;
|
|
22
22
|
trackData({ visitorCode, body, userAgent, }: TrackDataParamsType): Promise<Result<boolean, KameleoonError>>;
|
|
23
23
|
private getTrackingUrl;
|
|
24
24
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Requester=void 0;var _tsRes=require("ts-res"),_kameleoonError=require("../kameleoonError"),_utilities=require("../utilities"),_constants=require("./constants");function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}function _regeneratorRuntime(){"use strict";function a(a,b,c){return Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}),a[b]}function b(a,b,c,e){var f=b&&b.prototype instanceof d?b:d,g=Object.create(f.prototype),h=new m(e||[]);return s(g,"_invoke",{value:i(a,c,h)}),g}function c(a,b,c){try{return{type:"normal",arg:a.call(b,c)}}catch(a){return{type:"throw",arg:a}}}function d(){}function e(){}function f(){}function g(b){["next","throw","return"].forEach(function(c){a(b,c,function(a){return this._invoke(c,a)})})}function h(a,b){function d(e,f,g,h){var i=c(a[e],a,f);if("throw"!==i.type){var j=i.arg,k=j.value;return k&&"object"==_typeof(k)&&r.call(k,"__await")?b.resolve(k.__await).then(function(a){d("next",a,g,h)},function(a){d("throw",a,g,h)}):b.resolve(k).then(function(a){j.value=a,g(j)},function(a){return d("throw",a,g,h)})}h(i.arg)}var e;s(this,"_invoke",{value:function value(a,c){function f(){return new b(function(b,e){d(a,c,b,e)})}return e=e?e.then(f,f):f()}})}function i(a,b,d){var e="suspendedStart";return function(f,g){if("executing"==e)throw new Error("Generator is already running");if("completed"==e){if("throw"===f)throw g;return o()}for(d.method=f,d.arg=g;;){var h=d.delegate;if(h){var i=j(h,d);if(i){if(i===x)continue;return i}}if("next"===d.method)d.sent=d._sent=d.arg;else if("throw"===d.method){if("suspendedStart"==e)throw e="completed",d.arg;d.dispatchException(d.arg)}else"return"===d.method&&d.abrupt("return",d.arg);e="executing";var k=c(a,b,d);if("normal"===k.type){if(e=d.done?"completed":"suspendedYield",k.arg===x)continue;return{value:k.arg,done:d.done}}"throw"===k.type&&(e="completed",d.method="throw",d.arg=k.arg)}}}function j(a,b){var d=b.method,e=a.iterator[d];if(void 0===e)return b.delegate=null,"throw"===d&&a.iterator.return&&(b.method="return",b.arg=void 0,j(a,b),"throw"===b.method)||"return"!==d&&(b.method="throw",b.arg=new TypeError("The iterator does not provide a '"+d+"' method")),x;var f=c(e,a.iterator,b.arg);if("throw"===f.type)return b.method="throw",b.arg=f.arg,b.delegate=null,x;var g=f.arg;return g?g.done?(b[a.resultName]=g.value,b.next=a.nextLoc,"return"!==b.method&&(b.method="next",b.arg=void 0),b.delegate=null,x):g:(b.method="throw",b.arg=new TypeError("iterator result is not an object"),b.delegate=null,x)}function k(a){var b={tryLoc:a[0]};1 in a&&(b.catchLoc=a[1]),2 in a&&(b.finallyLoc=a[2],b.afterLoc=a[3]),this.tryEntries.push(b)}function l(a){var b=a.completion||{};b.type="normal",delete b.arg,a.completion=b}function m(a){this.tryEntries=[{tryLoc:"root"}],a.forEach(k,this),this.reset(!0)}function n(a){if(a){var b=a[u];if(b)return b.call(a);if("function"==typeof a.next)return a;if(!isNaN(a.length)){var c=-1,d=function b(){for(;++c<a.length;)if(r.call(a,c))return b.value=a[c],b.done=!1,b;return b.value=void 0,b.done=!0,b};return d.next=d}}return{next:o}}function o(){return{value:void 0,done:!0}}_regeneratorRuntime=function(){return p};var p={},q=Object.prototype,r=q.hasOwnProperty,s=Object.defineProperty||function(a,b,c){a[b]=c.value},t="function"==typeof Symbol?Symbol:{},u=t.iterator||"@@iterator",v=t.asyncIterator||"@@asyncIterator",w=t.toStringTag||"@@toStringTag";try{a({},"")}catch(b){a=function(a,b,c){return a[b]=c}}p.wrap=b;var x={},y={};a(y,u,function(){return this});var z=Object.getPrototypeOf,A=z&&z(z(n([])));A&&A!==q&&r.call(A,u)&&(y=A);var B=f.prototype=d.prototype=Object.create(y);return e.prototype=f,s(B,"constructor",{value:f,configurable:!0}),s(f,"constructor",{value:e,configurable:!0}),e.displayName=a(f,w,"GeneratorFunction"),p.isGeneratorFunction=function(a){var b="function"==typeof a&&a.constructor;return!!b&&(b===e||"GeneratorFunction"===(b.displayName||b.name))},p.mark=function(b){return Object.setPrototypeOf?Object.setPrototypeOf(b,f):(b.__proto__=f,a(b,w,"GeneratorFunction")),b.prototype=Object.create(B),b},p.awrap=function(a){return{__await:a}},g(h.prototype),a(h.prototype,v,function(){return this}),p.AsyncIterator=h,p.async=function(a,c,d,e,f){void 0===f&&(f=Promise);var g=new h(b(a,c,d,e),f);return p.isGeneratorFunction(c)?g:g.next().then(function(a){return a.done?a.value:g.next()})},g(B),a(B,w,"Generator"),a(B,u,function(){return this}),a(B,"toString",function(){return"[object Generator]"}),p.keys=function(a){var b=Object(a),c=[];for(var d in b)c.push(d);return c.reverse(),function a(){for(;c.length;){var d=c.pop();if(d in b)return a.value=d,a.done=!1,a}return a.done=!0,a}},p.values=n,m.prototype={constructor:m,reset:function reset(a){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(l),!a)for(var b in this)"t"===b.charAt(0)&&r.call(this,b)&&!isNaN(+b.slice(1))&&(this[b]=void 0)},stop:function stop(){this.done=!0;var a=this.tryEntries[0].completion;if("throw"===a.type)throw a.arg;return this.rval},dispatchException:function dispatchException(a){function b(b,d){return f.type="throw",f.arg=a,c.next=b,d&&(c.method="next",c.arg=void 0),!!d}if(this.done)throw a;for(var c=this,d=this.tryEntries.length-1;0<=d;--d){var e=this.tryEntries[d],f=e.completion;if("root"===e.tryLoc)return b("end");if(e.tryLoc<=this.prev){var g=r.call(e,"catchLoc"),h=r.call(e,"finallyLoc");if(g&&h){if(this.prev<e.catchLoc)return b(e.catchLoc,!0);if(this.prev<e.finallyLoc)return b(e.finallyLoc)}else if(!g){if(!h)throw new Error("try statement without catch or finally");if(this.prev<e.finallyLoc)return b(e.finallyLoc)}else if(this.prev<e.catchLoc)return b(e.catchLoc,!0)}}},abrupt:function abrupt(a,b){for(var c,d=this.tryEntries.length-1;0<=d;--d)if(c=this.tryEntries[d],c.tryLoc<=this.prev&&r.call(c,"finallyLoc")&&this.prev<c.finallyLoc){var e=c;break}e&&("break"===a||"continue"===a)&&e.tryLoc<=b&&b<=e.finallyLoc&&(e=null);var f=e?e.completion:{};return f.type=a,f.arg=b,e?(this.method="next",this.next=e.finallyLoc,x):this.complete(f)},complete:function complete(a,b){if("throw"===a.type)throw a.arg;return"break"===a.type||"continue"===a.type?this.next=a.arg:"return"===a.type?(this.rval=this.arg=a.arg,this.method="return",this.next="end"):"normal"===a.type&&b&&(this.next=b),x},finish:function finish(a){for(var b,c=this.tryEntries.length-1;0<=c;--c)if(b=this.tryEntries[c],b.finallyLoc===a)return this.complete(b.completion,b.afterLoc),l(b),x},catch:function _catch(a){for(var b,c=this.tryEntries.length-1;0<=c;--c)if(b=this.tryEntries[c],b.tryLoc===a){var d=b.completion;if("throw"===d.type){var e=d.arg;l(b)}return e}throw new Error("illegal catch attempt")},delegateYield:function delegateYield(a,b,c){return this.delegate={iterator:n(a),resultName:b,nextLoc:c},"next"===this.method&&(this.arg=void 0),x}},p}function asyncGeneratorStep(a,b,c,d,e,f,g){try{var h=a[f](g),i=h.value}catch(a){return void c(a)}h.done?b(i):Promise.resolve(i).then(d,e)}function _asyncToGenerator(a){return function(){var b=this,c=arguments;return new Promise(function(d,e){function f(a){asyncGeneratorStep(h,d,e,f,g,"next",a)}function g(a){asyncGeneratorStep(h,d,e,f,g,"throw",a)}var h=a.apply(b,c);f(void 0)})}}function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,_toPropertyKey(c.key),c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),Object.defineProperty(a,"prototype",{writable:!1}),a}function _defineProperty(a,b,c){return b=_toPropertyKey(b),b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _toPropertyKey(a){var b=_toPrimitive(a,"string");return"symbol"===_typeof(b)?b:b+""}function _toPrimitive(a,b){if("object"!==_typeof(a)||null===a)return a;var c=a[Symbol.toPrimitive];if(c!==void 0){var d=c.call(a,b||"default");if("object"!==_typeof(d))return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}var Requester=function(){function a(b){var c=b.siteCode,d=b.environment,e=b.packageInfo,f=b.requestDispatcher;_classCallCheck(this,a),_defineProperty(this,"siteCode",void 0),_defineProperty(this,"environment",void 0),_defineProperty(this,"requestDispatcher",void 0),_defineProperty(this,"packageInfo",void 0),this.requestDispatcher=f,this.siteCode=c,this.environment=d,this.packageInfo=e}return _createClass(a,[{key:"getClientConfiguration",value:function(){function a(){return b.apply(this,arguments)}var b=_asyncToGenerator(_regeneratorRuntime().mark(function b(a){var c,d,e,f;return _regeneratorRuntime().wrap(function g(b){for(;1;)switch(b.prev=b.next){case 0:return c=this.environment?_constants.UrlParameter.Environment+this.environment:"",d=a?_constants.UrlParameter.Ts+a:"",e=_constants.URL.CLIENT_CONFIGURATION+_constants.UrlQuery.Mobile+this.siteCode+c+d,b.prev=3,b.next=6,this.requestDispatcher.getClientConfiguration(e);case 6:if(f=b.sent,!f){b.next=9;break}return b.abrupt("return",(0,_tsRes.Ok)(f));case 9:return b.abrupt("return",(0,_tsRes.Err)(new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.MaximumRetriesReached)));case 12:return b.prev=12,b.t0=b["catch"](3),b.abrupt("return",(0,_tsRes.Err)(b.t0));case 15:case"end":return b.stop();}},b,this,[[3,12]])}));return a}()},{key:"getRemoteData",value:function(){function a(a){return b.apply(this,arguments)}var b=_asyncToGenerator(_regeneratorRuntime().mark(function b(a){var c,d;return _regeneratorRuntime().wrap(function e(b){for(;1;)switch(b.prev=b.next){case 0:return c=_constants.URL.DATA_MAP+this.siteCode+_constants.UrlParameter.Key+encodeURI(a),b.prev=1,b.next=4,this.requestDispatcher.getRemoteData(c);case 4:return d=b.sent,b.abrupt("return",(0,_tsRes.Ok)(d));case 8:return b.prev=8,b.t0=b["catch"](1),b.abrupt("return",(0,_tsRes.Err)(b.t0));case 11:case"end":return b.stop();}},b,this,[[1,8]])}));return a}()},{key:"getVisitorData",value:function(){function a(a,c){return b.apply(this,arguments)}var b=_asyncToGenerator(_regeneratorRuntime().mark(function c(a,b){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;return _regeneratorRuntime().wrap(function u(c){for(;1;)switch(c.prev=c.next){case 0:return d=b.customData,e=b.visitAmount,f=b.conversions,g=b.geolocation,h=b.experiments,i=b.pageViews,j=b.device,k=b.browser,l=b.operatingSystem,m=d?_constants.UrlParameter.CustomData+!0:"",n=f?_constants.UrlParameter.Conversion+!0:"",o=g?_constants.UrlParameter.Geolocation+!0:"",p=h?_constants.UrlParameter.Experiment+!0:"",q=i?_constants.UrlParameter.Page+!0:"",r=j||k||l?_constants.UrlParameter.StaticData+!0:"",s=_constants.URL.VISIT_DATA+this.siteCode+_constants.UrlParameter.VisitorCode+a+_constants.UrlParameter.MaxNumberPreviousVisits+e+m+n+o+p+q+r+_constants.UrlParameter.CurrentVisit+!0,c.prev=8,c.next=11,this.requestDispatcher.getRemoteData(s);case 11:return t=c.sent,c.abrupt("return",(0,_tsRes.Ok)(t));case 15:return c.prev=15,c.t0=c["catch"](8),c.abrupt("return",(0,_tsRes.Err)(c.t0));case 18:case"end":return c.stop();}},c,this,[[8,15]])}));return a}()},{key:"trackExperiment",value:function(){function a(a){return b.apply(this,arguments)}var b=_asyncToGenerator(_regeneratorRuntime().mark(function b(a){var c,d,e,f,g,h,i,j,k,l,m,n;return _regeneratorRuntime().wrap(function o(b){for(;1;)switch(b.prev=b.next){case 0:return c=a.variationId,d=a.visitorCode,e=a.experimentId,f=a.isUnallocated,g=a.body,h=a.userAgent,i=this.getTrackingUrl(d),j=g?"":_constants.UrlEventType.Activity+_constants.UrlParameter.Nonce+_utilities.Utilities.getNonce(),k=f?j:_constants.UrlEventType.Experiment+_constants.UrlParameter.Id+e+_constants.UrlParameter.VariationId+c+_constants.UrlParameter.Nonce+_utilities.Utilities.getNonce(),l=k?g+"\n"+k:g,m=h?_defineProperty({},_constants.Header.UserAgent,h):void 0,b.prev=6,b.next=9,this.requestDispatcher.track({url:i,headers:m,body:l});case 9:return n=b.sent,b.abrupt("return",(0,_tsRes.Ok)(n));case 13:return b.prev=13,b.t0=b["catch"](6),b.abrupt("return",(0,_tsRes.Err)(b.t0));case 16:case"end":return b.stop();}},b,this,[[6,13]])}));return a}()},{key:"trackData",value:function(){function a(a){return b.apply(this,arguments)}var b=_asyncToGenerator(_regeneratorRuntime().mark(function b(a){var c,d,e,f,g,h,i;return _regeneratorRuntime().wrap(function j(b){for(;1;)switch(b.prev=b.next){case 0:return c=a.visitorCode,d=a.body,e=a.userAgent,f=this.getTrackingUrl(c),g=e?_defineProperty({},_constants.Header.UserAgent,e):void 0,h=d||_constants.UrlEventType.Activity+_constants.UrlParameter.Nonce+_utilities.Utilities.getNonce(),b.prev=4,b.next=7,this.requestDispatcher.track({url:f,headers:g,body:h});case 7:return i=b.sent,b.abrupt("return",(0,_tsRes.Ok)(i));case 11:return b.prev=11,b.t0=b["catch"](4),b.abrupt("return",(0,_tsRes.Err)(b.t0));case 14:case"end":return b.stop();}},b,this,[[4,11]])}));return a}()},{key:"getTrackingUrl",value:function getTrackingUrl(a){var b=this.packageInfo,c=b.type,d=b.version;return _constants.URL.VISIT_EVENT+this.siteCode+_constants.UrlParameter.VisitorCode+a+_constants.UrlParameter.SdkName+c.toLowerCase()+_constants.UrlParameter.SdkVersion+d}}]),a}();exports.Requester=Requester;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Requester=void 0;var _tsRes=require("ts-res"),_kameleoonError=require("../kameleoonError"),_utilities=require("../utilities"),_constants=require("./constants");function _typeof(a){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(a){return typeof a}:function(a){return a&&"function"==typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},_typeof(a)}function _regeneratorRuntime(){"use strict";function a(a,b,c){return Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}),a[b]}function b(a,b,c,e){var f=b&&b.prototype instanceof d?b:d,g=Object.create(f.prototype),h=new m(e||[]);return s(g,"_invoke",{value:i(a,c,h)}),g}function c(a,b,c){try{return{type:"normal",arg:a.call(b,c)}}catch(a){return{type:"throw",arg:a}}}function d(){}function e(){}function f(){}function g(b){["next","throw","return"].forEach(function(c){a(b,c,function(a){return this._invoke(c,a)})})}function h(a,b){function d(e,f,g,h){var i=c(a[e],a,f);if("throw"!==i.type){var j=i.arg,k=j.value;return k&&"object"==_typeof(k)&&r.call(k,"__await")?b.resolve(k.__await).then(function(a){d("next",a,g,h)},function(a){d("throw",a,g,h)}):b.resolve(k).then(function(a){j.value=a,g(j)},function(a){return d("throw",a,g,h)})}h(i.arg)}var e;s(this,"_invoke",{value:function value(a,c){function f(){return new b(function(b,e){d(a,c,b,e)})}return e=e?e.then(f,f):f()}})}function i(a,b,d){var e="suspendedStart";return function(f,g){if("executing"==e)throw new Error("Generator is already running");if("completed"==e){if("throw"===f)throw g;return o()}for(d.method=f,d.arg=g;;){var h=d.delegate;if(h){var i=j(h,d);if(i){if(i===x)continue;return i}}if("next"===d.method)d.sent=d._sent=d.arg;else if("throw"===d.method){if("suspendedStart"==e)throw e="completed",d.arg;d.dispatchException(d.arg)}else"return"===d.method&&d.abrupt("return",d.arg);e="executing";var k=c(a,b,d);if("normal"===k.type){if(e=d.done?"completed":"suspendedYield",k.arg===x)continue;return{value:k.arg,done:d.done}}"throw"===k.type&&(e="completed",d.method="throw",d.arg=k.arg)}}}function j(a,b){var d=b.method,e=a.iterator[d];if(void 0===e)return b.delegate=null,"throw"===d&&a.iterator.return&&(b.method="return",b.arg=void 0,j(a,b),"throw"===b.method)||"return"!==d&&(b.method="throw",b.arg=new TypeError("The iterator does not provide a '"+d+"' method")),x;var f=c(e,a.iterator,b.arg);if("throw"===f.type)return b.method="throw",b.arg=f.arg,b.delegate=null,x;var g=f.arg;return g?g.done?(b[a.resultName]=g.value,b.next=a.nextLoc,"return"!==b.method&&(b.method="next",b.arg=void 0),b.delegate=null,x):g:(b.method="throw",b.arg=new TypeError("iterator result is not an object"),b.delegate=null,x)}function k(a){var b={tryLoc:a[0]};1 in a&&(b.catchLoc=a[1]),2 in a&&(b.finallyLoc=a[2],b.afterLoc=a[3]),this.tryEntries.push(b)}function l(a){var b=a.completion||{};b.type="normal",delete b.arg,a.completion=b}function m(a){this.tryEntries=[{tryLoc:"root"}],a.forEach(k,this),this.reset(!0)}function n(a){if(a){var b=a[u];if(b)return b.call(a);if("function"==typeof a.next)return a;if(!isNaN(a.length)){var c=-1,d=function b(){for(;++c<a.length;)if(r.call(a,c))return b.value=a[c],b.done=!1,b;return b.value=void 0,b.done=!0,b};return d.next=d}}return{next:o}}function o(){return{value:void 0,done:!0}}_regeneratorRuntime=function(){return p};var p={},q=Object.prototype,r=q.hasOwnProperty,s=Object.defineProperty||function(a,b,c){a[b]=c.value},t="function"==typeof Symbol?Symbol:{},u=t.iterator||"@@iterator",v=t.asyncIterator||"@@asyncIterator",w=t.toStringTag||"@@toStringTag";try{a({},"")}catch(b){a=function(a,b,c){return a[b]=c}}p.wrap=b;var x={},y={};a(y,u,function(){return this});var z=Object.getPrototypeOf,A=z&&z(z(n([])));A&&A!==q&&r.call(A,u)&&(y=A);var B=f.prototype=d.prototype=Object.create(y);return e.prototype=f,s(B,"constructor",{value:f,configurable:!0}),s(f,"constructor",{value:e,configurable:!0}),e.displayName=a(f,w,"GeneratorFunction"),p.isGeneratorFunction=function(a){var b="function"==typeof a&&a.constructor;return!!b&&(b===e||"GeneratorFunction"===(b.displayName||b.name))},p.mark=function(b){return Object.setPrototypeOf?Object.setPrototypeOf(b,f):(b.__proto__=f,a(b,w,"GeneratorFunction")),b.prototype=Object.create(B),b},p.awrap=function(a){return{__await:a}},g(h.prototype),a(h.prototype,v,function(){return this}),p.AsyncIterator=h,p.async=function(a,c,d,e,f){void 0===f&&(f=Promise);var g=new h(b(a,c,d,e),f);return p.isGeneratorFunction(c)?g:g.next().then(function(a){return a.done?a.value:g.next()})},g(B),a(B,w,"Generator"),a(B,u,function(){return this}),a(B,"toString",function(){return"[object Generator]"}),p.keys=function(a){var b=Object(a),c=[];for(var d in b)c.push(d);return c.reverse(),function a(){for(;c.length;){var d=c.pop();if(d in b)return a.value=d,a.done=!1,a}return a.done=!0,a}},p.values=n,m.prototype={constructor:m,reset:function reset(a){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(l),!a)for(var b in this)"t"===b.charAt(0)&&r.call(this,b)&&!isNaN(+b.slice(1))&&(this[b]=void 0)},stop:function stop(){this.done=!0;var a=this.tryEntries[0].completion;if("throw"===a.type)throw a.arg;return this.rval},dispatchException:function dispatchException(a){function b(b,d){return f.type="throw",f.arg=a,c.next=b,d&&(c.method="next",c.arg=void 0),!!d}if(this.done)throw a;for(var c=this,d=this.tryEntries.length-1;0<=d;--d){var e=this.tryEntries[d],f=e.completion;if("root"===e.tryLoc)return b("end");if(e.tryLoc<=this.prev){var g=r.call(e,"catchLoc"),h=r.call(e,"finallyLoc");if(g&&h){if(this.prev<e.catchLoc)return b(e.catchLoc,!0);if(this.prev<e.finallyLoc)return b(e.finallyLoc)}else if(!g){if(!h)throw new Error("try statement without catch or finally");if(this.prev<e.finallyLoc)return b(e.finallyLoc)}else if(this.prev<e.catchLoc)return b(e.catchLoc,!0)}}},abrupt:function abrupt(a,b){for(var c,d=this.tryEntries.length-1;0<=d;--d)if(c=this.tryEntries[d],c.tryLoc<=this.prev&&r.call(c,"finallyLoc")&&this.prev<c.finallyLoc){var e=c;break}e&&("break"===a||"continue"===a)&&e.tryLoc<=b&&b<=e.finallyLoc&&(e=null);var f=e?e.completion:{};return f.type=a,f.arg=b,e?(this.method="next",this.next=e.finallyLoc,x):this.complete(f)},complete:function complete(a,b){if("throw"===a.type)throw a.arg;return"break"===a.type||"continue"===a.type?this.next=a.arg:"return"===a.type?(this.rval=this.arg=a.arg,this.method="return",this.next="end"):"normal"===a.type&&b&&(this.next=b),x},finish:function finish(a){for(var b,c=this.tryEntries.length-1;0<=c;--c)if(b=this.tryEntries[c],b.finallyLoc===a)return this.complete(b.completion,b.afterLoc),l(b),x},catch:function _catch(a){for(var b,c=this.tryEntries.length-1;0<=c;--c)if(b=this.tryEntries[c],b.tryLoc===a){var d=b.completion;if("throw"===d.type){var e=d.arg;l(b)}return e}throw new Error("illegal catch attempt")},delegateYield:function delegateYield(a,b,c){return this.delegate={iterator:n(a),resultName:b,nextLoc:c},"next"===this.method&&(this.arg=void 0),x}},p}function asyncGeneratorStep(a,b,c,d,e,f,g){try{var h=a[f](g),i=h.value}catch(a){return void c(a)}h.done?b(i):Promise.resolve(i).then(d,e)}function _asyncToGenerator(a){return function(){var b=this,c=arguments;return new Promise(function(d,e){function f(a){asyncGeneratorStep(h,d,e,f,g,"next",a)}function g(a){asyncGeneratorStep(h,d,e,f,g,"throw",a)}var h=a.apply(b,c);f(void 0)})}}function _classCallCheck(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")}function _defineProperties(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,_toPropertyKey(c.key),c)}function _createClass(a,b,c){return b&&_defineProperties(a.prototype,b),c&&_defineProperties(a,c),Object.defineProperty(a,"prototype",{writable:!1}),a}function _defineProperty(a,b,c){return b=_toPropertyKey(b),b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function _toPropertyKey(a){var b=_toPrimitive(a,"string");return"symbol"===_typeof(b)?b:b+""}function _toPrimitive(a,b){if("object"!==_typeof(a)||null===a)return a;var c=a[Symbol.toPrimitive];if(c!==void 0){var d=c.call(a,b||"default");if("object"!==_typeof(d))return d;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===b?String:Number)(a)}var Requester=function(){function a(b){var c=b.siteCode,d=b.environment,e=b.packageInfo,f=b.requestDispatcher;_classCallCheck(this,a),_defineProperty(this,"siteCode",void 0),_defineProperty(this,"environment",void 0),_defineProperty(this,"requestDispatcher",void 0),_defineProperty(this,"packageInfo",void 0),this.requestDispatcher=f,this.siteCode=c,this.environment=d,this.packageInfo=e}return _createClass(a,[{key:"getClientConfiguration",value:function(){function a(){return b.apply(this,arguments)}var b=_asyncToGenerator(_regeneratorRuntime().mark(function b(a){var c,d,e,f;return _regeneratorRuntime().wrap(function g(b){for(;1;)switch(b.prev=b.next){case 0:return c=this.environment?_constants.UrlFirstParameter.Environment+this.environment:"",d="",a&&(c?d=_constants.UrlParameter.Ts+a:d=_constants.UrlFirstParameter.Ts+a),e=(0,_constants.getClientConfigurationUrl)(this.siteCode)+c+d,b.prev=4,b.next=7,this.requestDispatcher.getClientConfiguration(e);case 7:if(f=b.sent,!f){b.next=10;break}return b.abrupt("return",(0,_tsRes.Ok)(f));case 10:return b.abrupt("return",(0,_tsRes.Err)(new _kameleoonError.KameleoonError(_kameleoonError.KameleoonException.MaximumRetriesReached)));case 13:return b.prev=13,b.t0=b["catch"](4),b.abrupt("return",(0,_tsRes.Err)(b.t0));case 16:case"end":return b.stop();}},b,this,[[4,13]])}));return a}()},{key:"getRemoteData",value:function(){function a(a){return b.apply(this,arguments)}var b=_asyncToGenerator(_regeneratorRuntime().mark(function b(a){var c,d;return _regeneratorRuntime().wrap(function e(b){for(;1;)switch(b.prev=b.next){case 0:return c=_constants.URL.DATA_MAP+this.siteCode+_constants.UrlParameter.Key+encodeURI(a),b.prev=1,b.next=4,this.requestDispatcher.getRemoteData(c);case 4:return d=b.sent,b.abrupt("return",(0,_tsRes.Ok)(d));case 8:return b.prev=8,b.t0=b["catch"](1),b.abrupt("return",(0,_tsRes.Err)(b.t0));case 11:case"end":return b.stop();}},b,this,[[1,8]])}));return a}()},{key:"getVisitorData",value:function(){function a(a,c){return b.apply(this,arguments)}var b=_asyncToGenerator(_regeneratorRuntime().mark(function c(a,b){var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;return _regeneratorRuntime().wrap(function w(c){for(;1;)switch(c.prev=c.next){case 0:return d=b.customData,e=b.previousVisitAmount,f=b.currentVisit,g=b.conversions,h=b.geolocation,i=b.experiments,j=b.pageViews,k=b.device,l=b.browser,m=b.operatingSystem,n=d?_constants.UrlParameter.CustomData+!0:"",o=g?_constants.UrlParameter.Conversion+!0:"",p=h?_constants.UrlParameter.Geolocation+!0:"",q=i?_constants.UrlParameter.Experiment+!0:"",r=j?_constants.UrlParameter.Page+!0:"",s=k||l||m?_constants.UrlParameter.StaticData+!0:"",t=f?_constants.UrlParameter.CurrentVisit+!0:"",u=_constants.URL.VISIT_DATA+this.siteCode+_constants.UrlParameter.VisitorCode+a+_constants.UrlParameter.MaxNumberPreviousVisits+e+n+o+p+q+r+s+t,c.prev=9,c.next=12,this.requestDispatcher.getRemoteData(u);case 12:return v=c.sent,c.abrupt("return",(0,_tsRes.Ok)(v));case 16:return c.prev=16,c.t0=c["catch"](9),c.abrupt("return",(0,_tsRes.Err)(c.t0));case 19:case"end":return c.stop();}},c,this,[[9,16]])}));return a}()},{key:"trackExperiment",value:function(){function a(a){return b.apply(this,arguments)}var b=_asyncToGenerator(_regeneratorRuntime().mark(function b(a){var c,d,e,f,g,h,i,j,k,l,m,n,o,p;return _regeneratorRuntime().wrap(function q(b){for(;1;)switch(b.prev=b.next){case 0:return c=a.variationId,d=a.visitorCode,e=a.experimentId,f=a.isUnallocated,g=a.body,h=a.userAgent,i=a.isTargetedRule,j=a.isConsentProvided,k=this.getTrackingUrl(d),l=g?"":_constants.UrlEventType.Activity+_constants.UrlParameter.Nonce+_utilities.Utilities.getNonce(),m=f?l:j||!j&&i?_constants.UrlEventType.Experiment+_constants.UrlParameter.Id+e+_constants.UrlParameter.VariationId+c+_constants.UrlParameter.Nonce+_utilities.Utilities.getNonce():"",n=m?g+"\n"+m:g,o=h?_defineProperty({},_constants.Header.UserAgent,h):void 0,b.prev=6,b.next=9,this.requestDispatcher.track({url:k,headers:o,body:n});case 9:return p=b.sent,b.abrupt("return",(0,_tsRes.Ok)(p));case 13:return b.prev=13,b.t0=b["catch"](6),b.abrupt("return",(0,_tsRes.Err)(b.t0));case 16:case"end":return b.stop();}},b,this,[[6,13]])}));return a}()},{key:"trackData",value:function(){function a(a){return b.apply(this,arguments)}var b=_asyncToGenerator(_regeneratorRuntime().mark(function b(a){var c,d,e,f,g,h,i;return _regeneratorRuntime().wrap(function j(b){for(;1;)switch(b.prev=b.next){case 0:return c=a.visitorCode,d=a.body,e=a.userAgent,f=this.getTrackingUrl(c),g=e?_defineProperty({},_constants.Header.UserAgent,e):void 0,h=d||_constants.UrlEventType.Activity+_constants.UrlParameter.Nonce+_utilities.Utilities.getNonce(),b.prev=4,b.next=7,this.requestDispatcher.track({url:f,headers:g,body:h});case 7:return i=b.sent,b.abrupt("return",(0,_tsRes.Ok)(i));case 11:return b.prev=11,b.t0=b["catch"](4),b.abrupt("return",(0,_tsRes.Err)(b.t0));case 14:case"end":return b.stop();}},b,this,[[4,11]])}));return a}()},{key:"getTrackingUrl",value:function getTrackingUrl(a){var b=this.packageInfo,c=b.type,d=b.version;return _constants.URL.VISIT_EVENT+this.siteCode+_constants.UrlParameter.VisitorCode+a+_constants.UrlParameter.SdkName+c.toLowerCase()+_constants.UrlParameter.SdkVersion+d}}]),a}();exports.Requester=Requester;
|
|
2
2
|
//# sourceMappingURL=requester.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requester.js","names":["Requester","a","b","siteCode","environment","packageInfo","requestDispatcher","_classCallCheck","_defineProperty","_createClass","key","value","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","timeStamp","c","d","e","f","wrap","g","prev","next","environmentParam","UrlParameter","Environment","timeStampParam","Ts","requestUrl","URL","CLIENT_CONFIGURATION","UrlQuery","Mobile","getClientConfiguration","response","sent","abrupt","Ok","Err","KameleoonError","KameleoonException","MaximumRetriesReached","t0","stop","DATA_MAP","Key","encodeURI","getRemoteData","visitorCode","filters","h","i","j","k","l","m","n","o","p","q","r","s","t","u","customData","visitAmount","conversions","geolocation","experiments","pageViews","device","browser","operatingSystem","customDataParameter","CustomData","conversionsParameter","Conversion","geolocationParameter","Geolocation","experimentsParameter","Experiment","pageViewsParameter","Page","staticDataParameter","StaticData","VISIT_DATA","VisitorCode","MaxNumberPreviousVisits","CurrentVisit","variationId","experimentId","isUnallocated","body","userAgent","url","getTrackingUrl","unallocatedAddition","UrlEventType","Activity","Nonce","Utilities","getNonce","bodyAddition","Id","VariationId","extendedBody","headers","Header","UserAgent","track","requestBody","type","version","VISIT_EVENT","SdkName","toLowerCase","SdkVersion","exports"],"sources":["../../src/requester/requester.ts"],"sourcesContent":["import { Err, Ok, Result } from 'ts-res';\nimport { Environment, ExternalPackageInfoType } from 'src/types';\nimport { KameleoonError, KameleoonException } from 'src/kameleoonError';\nimport { JSONType } from 'src/clientConfiguration';\nimport { Utilities, VisitorDataFiltersType } from 'src/utilities';\nimport { URL, UrlParameter, Header, UrlQuery, UrlEventType } from './constants';\nimport {\n GetClientConfigurationResultType,\n RequesterParamsType,\n TrackDataParamsType,\n IExternalRequestDispatcher,\n GetVisitorDataResultType,\n TrackExperimentParamsType,\n} from './types';\n\nexport interface IRequester {\n getClientConfiguration: () => Promise<\n Result<GetClientConfigurationResultType, KameleoonError>\n >;\n getRemoteData: (key: string) => Promise<Result<JSONType, KameleoonError>>;\n trackData: ({\n visitorCode,\n body,\n }: TrackDataParamsType) => Promise<Result<boolean, KameleoonError>>;\n trackExperiment: ({\n variationId,\n visitorCode,\n experimentId,\n isUnallocated,\n body,\n }: TrackExperimentParamsType) => Promise<Result<boolean, KameleoonError>>;\n}\n\nexport class Requester implements IRequester {\n private siteCode: string;\n private environment?: Environment;\n private requestDispatcher: IExternalRequestDispatcher;\n private packageInfo: ExternalPackageInfoType;\n\n constructor({\n siteCode,\n environment,\n packageInfo,\n requestDispatcher,\n }: RequesterParamsType) {\n this.requestDispatcher = requestDispatcher;\n this.siteCode = siteCode;\n this.environment = environment;\n this.packageInfo = packageInfo;\n }\n\n public async getClientConfiguration(\n timeStamp?: number,\n ): Promise<Result<GetClientConfigurationResultType, KameleoonError>> {\n const environmentParam = this.environment\n ? UrlParameter.Environment + this.environment\n : '';\n const timeStampParam = timeStamp ? UrlParameter.Ts + timeStamp : '';\n\n const requestUrl =\n URL.CLIENT_CONFIGURATION +\n UrlQuery.Mobile +\n this.siteCode +\n environmentParam +\n timeStampParam;\n\n try {\n const response = await this.requestDispatcher.getClientConfiguration(\n requestUrl,\n );\n\n if (response) {\n return Ok(response as GetClientConfigurationResultType);\n }\n\n return Err(new KameleoonError(KameleoonException.MaximumRetriesReached));\n } catch (error) {\n return Err(error as KameleoonError);\n }\n }\n\n public async getRemoteData(\n key: string,\n ): Promise<Result<JSONType, KameleoonError>> {\n const requestUrl: string =\n URL.DATA_MAP + this.siteCode + UrlParameter.Key + encodeURI(key);\n\n try {\n const response = await this.requestDispatcher.getRemoteData(requestUrl);\n return Ok(response);\n } catch (error) {\n return Err(error as KameleoonError);\n }\n }\n\n public async getVisitorData(\n visitorCode: string,\n filters: VisitorDataFiltersType,\n ): Promise<Result<GetVisitorDataResultType, KameleoonError>> {\n const {\n customData,\n visitAmount,\n conversions,\n geolocation,\n experiments,\n pageViews,\n device,\n browser,\n operatingSystem,\n } = filters;\n\n const customDataParameter = customData\n ? UrlParameter.CustomData + true\n : '';\n const conversionsParameter = conversions\n ? UrlParameter.Conversion + true\n : '';\n const geolocationParameter = geolocation\n ? UrlParameter.Geolocation + true\n : '';\n const experimentsParameter = experiments\n ? UrlParameter.Experiment + true\n : '';\n const pageViewsParameter = pageViews ? UrlParameter.Page + true : '';\n const staticDataParameter = Boolean(device || browser || operatingSystem)\n ? UrlParameter.StaticData + true\n : '';\n\n const requestUrl: string =\n URL.VISIT_DATA +\n this.siteCode +\n UrlParameter.VisitorCode +\n visitorCode +\n UrlParameter.MaxNumberPreviousVisits +\n visitAmount +\n customDataParameter +\n conversionsParameter +\n geolocationParameter +\n experimentsParameter +\n pageViewsParameter +\n staticDataParameter +\n UrlParameter.CurrentVisit +\n true;\n\n try {\n const response = await this.requestDispatcher.getRemoteData(requestUrl);\n return Ok(response as GetVisitorDataResultType);\n } catch (error) {\n return Err(error as KameleoonError);\n }\n }\n\n public async trackExperiment({\n variationId,\n visitorCode,\n experimentId,\n isUnallocated,\n body,\n userAgent,\n }: TrackExperimentParamsType): Promise<Result<boolean, KameleoonError>> {\n const url = this.getTrackingUrl(visitorCode);\n\n const unallocatedAddition = !body\n ? UrlEventType.Activity + UrlParameter.Nonce + Utilities.getNonce()\n : '';\n const bodyAddition = isUnallocated\n ? unallocatedAddition\n : UrlEventType.Experiment +\n UrlParameter.Id +\n experimentId +\n UrlParameter.VariationId +\n variationId +\n UrlParameter.Nonce +\n Utilities.getNonce();\n const extendedBody = bodyAddition ? body + '\\n' + bodyAddition : body;\n\n const headers = userAgent\n ? {\n [Header.UserAgent]: userAgent,\n }\n : undefined;\n\n try {\n const response = await this.requestDispatcher.track({\n url,\n headers,\n body: extendedBody,\n });\n\n return Ok(response);\n } catch (error) {\n return Err(error as KameleoonError);\n }\n }\n\n public async trackData({\n visitorCode,\n body,\n userAgent,\n }: TrackDataParamsType): Promise<Result<boolean, KameleoonError>> {\n const url = this.getTrackingUrl(visitorCode);\n\n const headers = userAgent\n ? {\n [Header.UserAgent]: userAgent,\n }\n : undefined;\n\n const requestBody =\n body || UrlEventType.Activity + UrlParameter.Nonce + Utilities.getNonce();\n\n try {\n const response = await this.requestDispatcher.track({\n url,\n headers,\n body: requestBody,\n });\n\n return Ok(response);\n } catch (error) {\n return Err(error as KameleoonError);\n }\n }\n\n private getTrackingUrl(visitorCode: string): string {\n const { type, version } = this.packageInfo;\n\n return (\n URL.VISIT_EVENT +\n this.siteCode +\n UrlParameter.VisitorCode +\n visitorCode +\n UrlParameter.SdkName +\n type.toLowerCase() +\n UrlParameter.SdkVersion +\n version\n );\n }\n}\n"],"mappings":"+1QAiCa,CAAAA,SAAS,YAMpB,SAAAC,EAAAC,CAAA,CAKwB,IAJtB,CAAAC,CAAQ,CAAAD,CAAA,CAARC,QAAQ,CACRC,CAAW,CAAAF,CAAA,CAAXE,WAAW,CACXC,CAAW,CAAAH,CAAA,CAAXG,WAAW,CACXC,CAAiB,CAAAJ,CAAA,CAAjBI,iBAAiB,CAAAC,eAAA,MAAAN,CAAA,EAAAO,eAAA,yBAAAA,eAAA,4BAAAA,eAAA,kCAAAA,eAAA,4BAEjB,IAAI,CAACF,iBAAiB,CAAGA,CAAiB,CAC1C,IAAI,CAACH,QAAQ,CAAGA,CAAQ,CACxB,IAAI,CAACC,WAAW,CAAGA,CAAW,CAC9B,IAAI,CAACC,WAAW,CAAGA,CACrB,CAAC,OAAAI,YAAA,CAAAR,CAAA,GAAAS,GAAA,0BAAAC,KAAA,qBAAAV,EAAA,SAAAC,CAAA,CAAAU,KAAA,MAAAC,SAAA,MAAAX,CAAA,CAAAY,iBAAA,CAAAC,mBAAA,GAAAC,IAAA,CAED,SAAAd,EACEe,CAAkB,MAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,QAAAN,mBAAA,GAAAO,IAAA,UAAAC,EAAArB,CAAA,iBAAAA,CAAA,CAAAsB,IAAA,CAAAtB,CAAA,CAAAuB,IAAA,eAEZ,CAAAC,CAAgB,CAAG,IAAI,CAACtB,WAAW,CACrCuB,uBAAY,CAACC,WAAW,CAAG,IAAI,CAACxB,WAAW,CAC3C,EAAE,CACAyB,CAAc,CAAGZ,CAAS,CAAGU,uBAAY,CAACG,EAAE,CAAGb,CAAS,CAAG,EAAE,CAE7Dc,CAAU,CACdC,cAAG,CAACC,oBAAoB,CACxBC,mBAAQ,CAACC,MAAM,CACf,IAAI,CAAChC,QAAQ,CACbuB,CAAgB,CAChBG,CAAc,CAAA3B,CAAA,CAAAsB,IAAA,GAAAtB,CAAA,CAAAuB,IAAA,GAGS,IAAI,CAACnB,iBAAiB,CAAC8B,sBAAsB,CAClEL,CAAU,CACX,WAFKM,CAAQ,CAAAnC,CAAA,CAAAoC,IAAA,EAIVD,CAAQ,EAAAnC,CAAA,CAAAuB,IAAA,gBAAAvB,CAAA,CAAAqC,MAAA,UACH,GAAAC,SAAE,EAACH,CAAQ,CAAqC,gBAAAnC,CAAA,CAAAqC,MAAA,UAGlD,GAAAE,UAAG,EAAC,GAAI,CAAAC,8BAAc,CAACC,kCAAkB,CAACC,qBAAqB,CAAC,CAAC,iBAAA1C,CAAA,CAAAsB,IAAA,IAAAtB,CAAA,CAAA2C,EAAA,CAAA3C,CAAA,aAAAA,CAAA,CAAAqC,MAAA,UAEjE,GAAAE,UAAG,EAAAvC,CAAA,CAAA2C,EAAA,CAAyB,2BAAA3C,CAAA,CAAA4C,IAAA,MAAA5C,CAAA,gBAEtC,UAAAD,CAAA,MAAAS,GAAA,iBAAAC,KAAA,qBAAAV,GAAA,SAAAC,CAAA,CAAAU,KAAA,MAAAC,SAAA,MAAAX,CAAA,CAAAY,iBAAA,CAAAC,mBAAA,GAAAC,IAAA,CAED,SAAAd,EACEQ,CAAW,MAAAQ,CAAA,CAAAC,CAAA,QAAAJ,mBAAA,GAAAO,IAAA,UAAAF,EAAAlB,CAAA,iBAAAA,CAAA,CAAAsB,IAAA,CAAAtB,CAAA,CAAAuB,IAAA,eAEL,CAAAM,CAAkB,CACtBC,cAAG,CAACe,QAAQ,CAAG,IAAI,CAAC5C,QAAQ,CAAGwB,uBAAY,CAACqB,GAAG,CAAGC,SAAS,CAACvC,CAAG,CAAC,CAAAR,CAAA,CAAAsB,IAAA,GAAAtB,CAAA,CAAAuB,IAAA,GAGzC,IAAI,CAACnB,iBAAiB,CAAC4C,aAAa,CAACnB,CAAU,CAAC,cAAjE,CAAAM,CAAQ,CAAAnC,CAAA,CAAAoC,IAAA,CAAApC,CAAA,CAAAqC,MAAA,UACP,GAAAC,SAAE,EAACH,CAAQ,CAAC,gBAAAnC,CAAA,CAAAsB,IAAA,GAAAtB,CAAA,CAAA2C,EAAA,CAAA3C,CAAA,aAAAA,CAAA,CAAAqC,MAAA,UAEZ,GAAAE,UAAG,EAAAvC,CAAA,CAAA2C,EAAA,CAAyB,2BAAA3C,CAAA,CAAA4C,IAAA,MAAA5C,CAAA,eAEtC,UAAAD,CAAA,MAAAS,GAAA,kBAAAC,KAAA,qBAAAV,GAAA,CAAAiB,CAAA,SAAAhB,CAAA,CAAAU,KAAA,MAAAC,SAAA,MAAAX,CAAA,CAAAY,iBAAA,CAAAC,mBAAA,GAAAC,IAAA,CAED,SAAAE,EACEiC,CAAmB,CACnBC,CAA+B,MAAAjC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAE,CAAA,CAAA8B,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,QAAAlD,mBAAA,GAAAO,IAAA,UAAA4C,EAAAhD,CAAA,iBAAAA,CAAA,CAAAM,IAAA,CAAAN,CAAA,CAAAO,IAAA,eAG7B,CAAA0C,CAAU,CASRf,CAAO,CATTe,UAAU,CACVC,CAAW,CAQThB,CAAO,CARTgB,WAAW,CACXC,CAAW,CAOTjB,CAAO,CAPTiB,WAAW,CACXC,CAAW,CAMTlB,CAAO,CANTkB,WAAW,CACXC,CAAW,CAKTnB,CAAO,CALTmB,WAAW,CACXC,CAAS,CAIPpB,CAAO,CAJToB,SAAS,CACTC,CAAM,CAGJrB,CAAO,CAHTqB,MAAM,CACNC,CAAO,CAELtB,CAAO,CAFTsB,OAAO,CACPC,CAAe,CACbvB,CAAO,CADTuB,eAAe,CAGXC,CAAmB,CAAGT,CAAU,CAClCxC,uBAAY,CAACkD,UAAU,GAAO,CAC9B,EAAE,CACAC,CAAoB,CAAGT,CAAW,CACpC1C,uBAAY,CAACoD,UAAU,GAAO,CAC9B,EAAE,CACAC,CAAoB,CAAGV,CAAW,CACpC3C,uBAAY,CAACsD,WAAW,GAAO,CAC/B,EAAE,CACAC,CAAoB,CAAGX,CAAW,CACpC5C,uBAAY,CAACwD,UAAU,GAAO,CAC9B,EAAE,CACAC,CAAkB,CAAGZ,CAAS,CAAG7C,uBAAY,CAAC0D,IAAI,GAAO,CAAG,EAAE,CAC9DC,CAAmB,CAAWb,CAAM,EAAIC,CAAO,EAAIC,CAAe,CACpEhD,uBAAY,CAAC4D,UAAU,GAAO,CAC9B,EAAE,CAEAxD,CAAkB,CACtBC,cAAG,CAACwD,UAAU,CACd,IAAI,CAACrF,QAAQ,CACbwB,uBAAY,CAAC8D,WAAW,CACxBtC,CAAW,CACXxB,uBAAY,CAAC+D,uBAAuB,CACpCtB,CAAW,CACXQ,CAAmB,CACnBE,CAAoB,CACpBE,CAAoB,CACpBE,CAAoB,CACpBE,CAAkB,CAClBE,CAAmB,CACnB3D,uBAAY,CAACgE,YAAY,GACrB,CAAAzE,CAAA,CAAAM,IAAA,GAAAN,CAAA,CAAAO,IAAA,IAGmB,IAAI,CAACnB,iBAAiB,CAAC4C,aAAa,CAACnB,CAAU,CAAC,eAAjE,CAAAM,CAAQ,CAAAnB,CAAA,CAAAoB,IAAA,CAAApB,CAAA,CAAAqB,MAAA,UACP,GAAAC,SAAE,EAACH,CAAQ,CAA6B,iBAAAnB,CAAA,CAAAM,IAAA,IAAAN,CAAA,CAAA2B,EAAA,CAAA3B,CAAA,aAAAA,CAAA,CAAAqB,MAAA,UAExC,GAAAE,UAAG,EAAAvB,CAAA,CAAA2B,EAAA,CAAyB,2BAAA3B,CAAA,CAAA4B,IAAA,MAAA5B,CAAA,gBAEtC,UAAAjB,CAAA,MAAAS,GAAA,mBAAAC,KAAA,qBAAAV,GAAA,SAAAC,CAAA,CAAAU,KAAA,MAAAC,SAAA,MAAAX,CAAA,CAAAY,iBAAA,CAAAC,mBAAA,GAAAC,IAAA,CAED,SAAAd,EAAAD,CAAA,MAAAiB,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAE,CAAA,CAAA8B,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,QAAA5C,mBAAA,GAAAO,IAAA,UAAAsC,EAAA1D,CAAA,iBAAAA,CAAA,CAAAsB,IAAA,CAAAtB,CAAA,CAAAuB,IAAA,eACE,CAAAmE,CAAW,CAAA3F,CAAA,CAAX2F,WAAW,CACXzC,CAAW,CAAAlD,CAAA,CAAXkD,WAAW,CACX0C,CAAY,CAAA5F,CAAA,CAAZ4F,YAAY,CACZC,CAAa,CAAA7F,CAAA,CAAb6F,aAAa,CACbC,CAAI,CAAA9F,CAAA,CAAJ8F,IAAI,CACJC,CAAS,CAAA/F,CAAA,CAAT+F,SAAS,CAEHC,CAAG,CAAG,IAAI,CAACC,cAAc,CAAC/C,CAAW,CAAC,CAEtCgD,CAAmB,CAAIJ,CAAI,CAE7B,EAAE,CADFK,uBAAY,CAACC,QAAQ,CAAG1E,uBAAY,CAAC2E,KAAK,CAAGC,oBAAS,CAACC,QAAQ,EAC7D,CACAC,CAAY,CAAGX,CAAa,CAC9BK,CAAmB,CACnBC,uBAAY,CAACjB,UAAU,CACvBxD,uBAAY,CAAC+E,EAAE,CACfb,CAAY,CACZlE,uBAAY,CAACgF,WAAW,CACxBf,CAAW,CACXjE,uBAAY,CAAC2E,KAAK,CAClBC,oBAAS,CAACC,QAAQ,EAAE,CAClBI,CAAY,CAAGH,CAAY,CAAGV,CAAI,CAAG,IAAI,CAAGU,CAAY,CAAGV,CAAI,CAE/Dc,CAAO,CAAGb,CAAS,CAAAxF,eAAA,IAElBsG,iBAAM,CAACC,SAAS,CAAGf,CAAS,QAEtB,CAAA9F,CAAA,CAAAsB,IAAA,GAAAtB,CAAA,CAAAuB,IAAA,GAGY,IAAI,CAACnB,iBAAiB,CAAC0G,KAAK,CAAC,CAClDf,GAAG,CAAHA,CAAG,CACHY,OAAO,CAAPA,CAAO,CACPd,IAAI,CAAEa,CACR,CAAC,CAAC,cAJI,CAAAvE,CAAQ,CAAAnC,CAAA,CAAAoC,IAAA,CAAApC,CAAA,CAAAqC,MAAA,UAMP,GAAAC,SAAE,EAACH,CAAQ,CAAC,iBAAAnC,CAAA,CAAAsB,IAAA,IAAAtB,CAAA,CAAA2C,EAAA,CAAA3C,CAAA,aAAAA,CAAA,CAAAqC,MAAA,UAEZ,GAAAE,UAAG,EAAAvC,CAAA,CAAA2C,EAAA,CAAyB,2BAAA3C,CAAA,CAAA4C,IAAA,MAAA5C,CAAA,gBAEtC,UAAAD,CAAA,MAAAS,GAAA,aAAAC,KAAA,qBAAAV,GAAA,SAAAC,CAAA,CAAAU,KAAA,MAAAC,SAAA,MAAAX,CAAA,CAAAY,iBAAA,CAAAC,mBAAA,GAAAC,IAAA,CAED,SAAAd,EAAAD,CAAA,MAAAiB,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAE,CAAA,CAAA8B,CAAA,CAAAC,CAAA,QAAAvC,mBAAA,GAAAO,IAAA,UAAAiC,EAAArD,CAAA,iBAAAA,CAAA,CAAAsB,IAAA,CAAAtB,CAAA,CAAAuB,IAAA,eACE,CAAA0B,CAAW,CAAAlD,CAAA,CAAXkD,WAAW,CACX4C,CAAI,CAAA9F,CAAA,CAAJ8F,IAAI,CACJC,CAAS,CAAA/F,CAAA,CAAT+F,SAAS,CAEHC,CAAG,CAAG,IAAI,CAACC,cAAc,CAAC/C,CAAW,CAAC,CAEtC0D,CAAO,CAAGb,CAAS,CAAAxF,eAAA,IAElBsG,iBAAM,CAACC,SAAS,CAAGf,CAAS,QAEtB,CAEPiB,CAAW,CACflB,CAAI,EAAIK,uBAAY,CAACC,QAAQ,CAAG1E,uBAAY,CAAC2E,KAAK,CAAGC,oBAAS,CAACC,QAAQ,EAAE,CAAAtG,CAAA,CAAAsB,IAAA,GAAAtB,CAAA,CAAAuB,IAAA,GAGlD,IAAI,CAACnB,iBAAiB,CAAC0G,KAAK,CAAC,CAClDf,GAAG,CAAHA,CAAG,CACHY,OAAO,CAAPA,CAAO,CACPd,IAAI,CAAEkB,CACR,CAAC,CAAC,cAJI,CAAA5E,CAAQ,CAAAnC,CAAA,CAAAoC,IAAA,CAAApC,CAAA,CAAAqC,MAAA,UAMP,GAAAC,SAAE,EAACH,CAAQ,CAAC,iBAAAnC,CAAA,CAAAsB,IAAA,IAAAtB,CAAA,CAAA2C,EAAA,CAAA3C,CAAA,aAAAA,CAAA,CAAAqC,MAAA,UAEZ,GAAAE,UAAG,EAAAvC,CAAA,CAAA2C,EAAA,CAAyB,2BAAA3C,CAAA,CAAA4C,IAAA,MAAA5C,CAAA,gBAEtC,UAAAD,CAAA,MAAAS,GAAA,kBAAAC,KAAA,CAED,SAAAuF,eAAuB/C,CAAmB,CAAU,CAClD,IAAAjD,CAAA,CAA0B,IAAI,CAACG,WAAW,CAAlC6G,CAAI,CAAAhH,CAAA,CAAJgH,IAAI,CAAEC,CAAO,CAAAjH,CAAA,CAAPiH,OAAO,CAErB,MACE,CAAAnF,cAAG,CAACoF,WAAW,CACf,IAAI,CAACjH,QAAQ,CACbwB,uBAAY,CAAC8D,WAAW,CACxBtC,CAAW,CACXxB,uBAAY,CAAC0F,OAAO,CACpBH,CAAI,CAACI,WAAW,EAAE,CAClB3F,uBAAY,CAAC4F,UAAU,CACvBJ,CAEJ,CAAC,IAAAlH,CAAA,IAAAuH,OAAA,CAAAxH,SAAA,CAAAA,SAAA"}
|
|
1
|
+
{"version":3,"file":"requester.js","names":["Requester","a","b","siteCode","environment","packageInfo","requestDispatcher","_classCallCheck","_defineProperty","_createClass","key","value","apply","arguments","_asyncToGenerator","_regeneratorRuntime","mark","timeStamp","c","d","e","f","wrap","g","prev","next","environmentParam","UrlFirstParameter","Environment","timeStampParam","UrlParameter","Ts","requestUrl","getClientConfigurationUrl","getClientConfiguration","response","sent","abrupt","Ok","Err","KameleoonError","KameleoonException","MaximumRetriesReached","t0","stop","URL","DATA_MAP","Key","encodeURI","getRemoteData","visitorCode","filters","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","customData","previousVisitAmount","currentVisit","conversions","geolocation","experiments","pageViews","device","browser","operatingSystem","customDataParameter","CustomData","conversionsParameter","Conversion","geolocationParameter","Geolocation","experimentsParameter","Experiment","pageViewsParameter","Page","staticDataParameter","StaticData","currentVisitParameter","CurrentVisit","VISIT_DATA","VisitorCode","MaxNumberPreviousVisits","variationId","experimentId","isUnallocated","body","userAgent","isTargetedRule","isConsentProvided","url","getTrackingUrl","unallocatedAddition","UrlEventType","Activity","Nonce","Utilities","getNonce","bodyAddition","Id","VariationId","extendedBody","headers","Header","UserAgent","track","requestBody","type","version","VISIT_EVENT","SdkName","toLowerCase","SdkVersion","exports"],"sources":["../../src/requester/requester.ts"],"sourcesContent":["import { Err, Ok, Result } from 'ts-res';\nimport { Environment, ExternalPackageInfoType } from 'src/types';\nimport { KameleoonError, KameleoonException } from 'src/kameleoonError';\nimport { ConfigurationDataType, JSONType } from 'src/clientConfiguration';\nimport { Utilities, VisitorDataFiltersType } from 'src/utilities';\nimport {\n URL,\n UrlParameter,\n Header,\n UrlEventType,\n getClientConfigurationUrl,\n UrlFirstParameter,\n} from './constants';\nimport {\n RequesterParamsType,\n TrackDataParamsType,\n IExternalRequestDispatcher,\n GetVisitorDataResultType,\n TrackExperimentParamsType,\n} from './types';\n\nexport interface IRequester {\n getClientConfiguration: () => Promise<\n Result<ConfigurationDataType, KameleoonError>\n >;\n getRemoteData: (key: string) => Promise<Result<JSONType, KameleoonError>>;\n trackData: ({\n visitorCode,\n body,\n }: TrackDataParamsType) => Promise<Result<boolean, KameleoonError>>;\n trackExperiment: ({\n variationId,\n visitorCode,\n experimentId,\n isUnallocated,\n body,\n }: TrackExperimentParamsType) => Promise<Result<boolean, KameleoonError>>;\n}\n\nexport class Requester implements IRequester {\n private siteCode: string;\n private environment?: Environment;\n private requestDispatcher: IExternalRequestDispatcher;\n private packageInfo: ExternalPackageInfoType;\n\n constructor({\n siteCode,\n environment,\n packageInfo,\n requestDispatcher,\n }: RequesterParamsType) {\n this.requestDispatcher = requestDispatcher;\n this.siteCode = siteCode;\n this.environment = environment;\n this.packageInfo = packageInfo;\n }\n\n public async getClientConfiguration(\n timeStamp?: number,\n ): Promise<Result<ConfigurationDataType, KameleoonError>> {\n const environmentParam = this.environment\n ? UrlFirstParameter.Environment + this.environment\n : '';\n let timeStampParam = '';\n\n if (timeStamp) {\n if (environmentParam) {\n timeStampParam = UrlParameter.Ts + timeStamp;\n } else {\n timeStampParam = UrlFirstParameter.Ts + timeStamp;\n }\n }\n\n const requestUrl =\n getClientConfigurationUrl(this.siteCode) +\n environmentParam +\n timeStampParam;\n\n try {\n const response = await this.requestDispatcher.getClientConfiguration(\n requestUrl,\n );\n\n if (response) {\n return Ok(response as ConfigurationDataType);\n }\n\n return Err(new KameleoonError(KameleoonException.MaximumRetriesReached));\n } catch (error) {\n return Err(error as KameleoonError);\n }\n }\n\n public async getRemoteData(\n key: string,\n ): Promise<Result<JSONType, KameleoonError>> {\n const requestUrl: string =\n URL.DATA_MAP + this.siteCode + UrlParameter.Key + encodeURI(key);\n\n try {\n const response = await this.requestDispatcher.getRemoteData(requestUrl);\n return Ok(response);\n } catch (error) {\n return Err(error as KameleoonError);\n }\n }\n\n public async getVisitorData(\n visitorCode: string,\n filters: VisitorDataFiltersType,\n ): Promise<Result<GetVisitorDataResultType, KameleoonError>> {\n const {\n customData,\n previousVisitAmount,\n currentVisit,\n conversions,\n geolocation,\n experiments,\n pageViews,\n device,\n browser,\n operatingSystem,\n } = filters;\n\n const customDataParameter = customData\n ? UrlParameter.CustomData + true\n : '';\n const conversionsParameter = conversions\n ? UrlParameter.Conversion + true\n : '';\n const geolocationParameter = geolocation\n ? UrlParameter.Geolocation + true\n : '';\n const experimentsParameter = experiments\n ? UrlParameter.Experiment + true\n : '';\n const pageViewsParameter = pageViews ? UrlParameter.Page + true : '';\n const staticDataParameter = Boolean(device || browser || operatingSystem)\n ? UrlParameter.StaticData + true\n : '';\n const currentVisitParameter = currentVisit\n ? UrlParameter.CurrentVisit + true\n : '';\n\n const requestUrl: string =\n URL.VISIT_DATA +\n this.siteCode +\n UrlParameter.VisitorCode +\n visitorCode +\n UrlParameter.MaxNumberPreviousVisits +\n previousVisitAmount +\n customDataParameter +\n conversionsParameter +\n geolocationParameter +\n experimentsParameter +\n pageViewsParameter +\n staticDataParameter +\n currentVisitParameter;\n\n try {\n const response = await this.requestDispatcher.getRemoteData(requestUrl);\n return Ok(response as GetVisitorDataResultType);\n } catch (error) {\n return Err(error as KameleoonError);\n }\n }\n\n public async trackExperiment({\n variationId,\n visitorCode,\n experimentId,\n isUnallocated,\n body,\n userAgent,\n isTargetedRule,\n isConsentProvided,\n }: TrackExperimentParamsType): Promise<Result<boolean, KameleoonError>> {\n const url = this.getTrackingUrl(visitorCode);\n\n const unallocatedAddition = !body\n ? UrlEventType.Activity + UrlParameter.Nonce + Utilities.getNonce()\n : '';\n const bodyAddition = isUnallocated\n ? unallocatedAddition\n : isConsentProvided || (!isConsentProvided && isTargetedRule)\n ? UrlEventType.Experiment +\n UrlParameter.Id +\n experimentId +\n UrlParameter.VariationId +\n variationId +\n UrlParameter.Nonce +\n Utilities.getNonce()\n : '';\n\n const extendedBody = bodyAddition ? body + '\\n' + bodyAddition : body;\n\n const headers = userAgent\n ? {\n [Header.UserAgent]: userAgent,\n }\n : undefined;\n\n try {\n const response = await this.requestDispatcher.track({\n url,\n headers,\n body: extendedBody,\n });\n\n return Ok(response);\n } catch (error) {\n return Err(error as KameleoonError);\n }\n }\n\n public async trackData({\n visitorCode,\n body,\n userAgent,\n }: TrackDataParamsType): Promise<Result<boolean, KameleoonError>> {\n const url = this.getTrackingUrl(visitorCode);\n\n const headers = userAgent\n ? {\n [Header.UserAgent]: userAgent,\n }\n : undefined;\n\n const requestBody =\n body || UrlEventType.Activity + UrlParameter.Nonce + Utilities.getNonce();\n\n try {\n const response = await this.requestDispatcher.track({\n url,\n headers,\n body: requestBody,\n });\n\n return Ok(response);\n } catch (error) {\n return Err(error as KameleoonError);\n }\n }\n\n private getTrackingUrl(visitorCode: string): string {\n const { type, version } = this.packageInfo;\n\n return (\n URL.VISIT_EVENT +\n this.siteCode +\n UrlParameter.VisitorCode +\n visitorCode +\n UrlParameter.SdkName +\n type.toLowerCase() +\n UrlParameter.SdkVersion +\n version\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { JSONType
|
|
1
|
+
import { JSONType } from '../clientConfiguration';
|
|
2
2
|
import { Environment, ExternalPackageInfoType } from '../types';
|
|
3
3
|
import { BrowserIndexMap, BrowserType, OperatingSystemType } from '../kameleoonData';
|
|
4
4
|
import { Header } from './constants';
|
|
@@ -15,7 +15,9 @@ export type TrackExperimentParamsType = {
|
|
|
15
15
|
visitorCode: string;
|
|
16
16
|
experimentId: number;
|
|
17
17
|
isUnallocated: boolean;
|
|
18
|
+
isConsentProvided: boolean;
|
|
18
19
|
userAgent?: string;
|
|
20
|
+
isTargetedRule?: boolean;
|
|
19
21
|
};
|
|
20
22
|
export type TrackDataParamsType = {
|
|
21
23
|
visitorCode: string;
|
|
@@ -110,17 +112,14 @@ export type GetVisitorDataResultType = {
|
|
|
110
112
|
previousVisits?: VisitType[];
|
|
111
113
|
currentVisit?: VisitType;
|
|
112
114
|
};
|
|
113
|
-
export type GetClientConfigurationResultType = Omit<ConfigurationDataType, 'featureFlags'> & {
|
|
114
|
-
featureFlagConfigurations: FeatureFlagType[];
|
|
115
|
-
};
|
|
116
115
|
export declare enum HttpMethod {
|
|
117
116
|
Get = "GET",
|
|
118
117
|
Post = "POST"
|
|
119
118
|
}
|
|
120
119
|
declare const EVENT_TYPE_KEYS: readonly ["customData", "staticData", "page", "conversion", "geolocation", "activity", "experiment"];
|
|
121
|
-
declare const PARAMETER_KEYS: readonly ["valuesCountMap", "id", "nonce", "country", "city", "region", "latitude", "geolocation", "longitude", "postalCode", "sdkName", "sdkVersion", "browserIndex", "browserVersion", "siteCode", "
|
|
120
|
+
declare const PARAMETER_KEYS: readonly ["valuesCountMap", "id", "nonce", "country", "environment", "city", "region", "latitude", "geolocation", "longitude", "mappingIdentifier", "postalCode", "sdkName", "sdkVersion", "browserIndex", "browserVersion", "siteCode", "visitorCode", "currentVisit", "maxNumberPreviousVisits", "customData", "negative", "revenue", "title", "os", "conversion", "staticData", "osIndex", "browser", "referrersIndices", "overwrite", "index", "href", "experiment", "page", "variationId", "deviceType", "goalId", "ts", "key"];
|
|
122
121
|
declare const TRACKING_KEYS: readonly ["visit", "map"];
|
|
123
|
-
declare const QUERY_KEYS: readonly ["sse", "visitor", "
|
|
122
|
+
declare const QUERY_KEYS: readonly ["sse", "visitor", "map", "events"];
|
|
124
123
|
export type TrackingType = Record<Capitalize<(typeof TRACKING_KEYS)[number]>, string>;
|
|
125
124
|
export type QueryType = Record<Capitalize<(typeof QUERY_KEYS)[number]>, string>;
|
|
126
125
|
export type ParameterType = Record<Capitalize<(typeof PARAMETER_KEYS)[number]>, string>;
|
|
@@ -137,6 +136,9 @@ export type StrictEventTypeRecord<T> = {
|
|
|
137
136
|
export type StrictParameterRecord<T> = {
|
|
138
137
|
[K in keyof T]: `&${Uncapitalize<K & string>}=`;
|
|
139
138
|
};
|
|
139
|
+
export type StrictFirstParameterRecord<T> = {
|
|
140
|
+
[K in keyof T]: `?${Uncapitalize<K & string>}=`;
|
|
141
|
+
};
|
|
140
142
|
export type TrackParametersType = {
|
|
141
143
|
url: string;
|
|
142
144
|
headers?: Partial<Record<Header, string>>;
|
package/dist/requester/types.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.HttpMethod=void 0;var HttpMethod=function(a){return a.Get="GET",a.Post="POST",a}({});exports.HttpMethod=HttpMethod;var EVENT_TYPE_KEYS=["customData","staticData","page","conversion","geolocation","activity","experiment"],PARAMETER_KEYS=["valuesCountMap","id","nonce","country","city","region","latitude","geolocation","longitude","postalCode","sdkName","sdkVersion","browserIndex","browserVersion","siteCode","
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.HttpMethod=void 0;var HttpMethod=function(a){return a.Get="GET",a.Post="POST",a}({});exports.HttpMethod=HttpMethod;var EVENT_TYPE_KEYS=["customData","staticData","page","conversion","geolocation","activity","experiment"],PARAMETER_KEYS=["valuesCountMap","id","nonce","country","environment","city","region","latitude","geolocation","longitude","mappingIdentifier","postalCode","sdkName","sdkVersion","browserIndex","browserVersion","siteCode","visitorCode","currentVisit","maxNumberPreviousVisits","customData","negative","revenue","title","os","conversion","staticData","osIndex","browser","referrersIndices","overwrite","index","href","experiment","page","variationId","deviceType","goalId","ts","key"],TRACKING_KEYS=["visit","map"],QUERY_KEYS=["sse","visitor","map","events"];
|
|
2
2
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["HttpMethod","Get","Post","exports","EVENT_TYPE_KEYS","PARAMETER_KEYS","TRACKING_KEYS","QUERY_KEYS"],"sources":["../../src/requester/types.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"types.js","names":["HttpMethod","Get","Post","exports","EVENT_TYPE_KEYS","PARAMETER_KEYS","TRACKING_KEYS","QUERY_KEYS"],"sources":["../../src/requester/types.ts"],"sourcesContent":["import { JSONType } from 'src/clientConfiguration';\nimport { Environment, ExternalPackageInfoType } from 'src/types';\nimport {\n BrowserIndexMap,\n BrowserType,\n OperatingSystemType,\n} from 'src/kameleoonData';\nimport { Header } from './constants';\nimport { DeviceType, OperatingSystemIndexMap } from 'src/kameleoonData/types';\n\nexport type RequesterParamsType = {\n siteCode: string;\n environment?: Environment;\n packageInfo: ExternalPackageInfoType;\n requestDispatcher: IExternalRequestDispatcher;\n};\n\nexport type TrackExperimentParamsType = {\n body: string;\n variationId: number;\n visitorCode: string;\n experimentId: number;\n isUnallocated: boolean;\n isConsentProvided: boolean;\n userAgent?: string;\n isTargetedRule?: boolean;\n};\n\nexport type TrackDataParamsType = {\n visitorCode: string;\n body: string;\n userAgent?: string;\n};\n\ntype EventDataType = {\n sdk?: {\n name: string;\n version: string;\n };\n itp: boolean;\n time: number;\n};\n\ntype CustomDataEventType = {\n data: {\n index: number;\n valuesCountMap: {\n [value: string]: number;\n };\n overwrite: boolean;\n mappingIdentifier: boolean;\n };\n} & EventDataType;\n\ntype ExperimentEventType = {\n data: {\n id: number;\n variationId: number;\n };\n} & EventDataType;\n\ntype ConversionEventType = {\n data: {\n goalId: number;\n revenue: number;\n negative: boolean;\n };\n} & EventDataType;\n\ntype BrowserIndexType = (typeof BrowserIndexMap)[BrowserType];\ntype OperatingSystemIndexType =\n (typeof OperatingSystemIndexMap)[OperatingSystemType];\n\nexport type PageEventType = {\n data: {\n href: string;\n canonicalHref: string | null;\n title: string;\n keyPagesIndices: number[] | [null];\n referrerHref: string | null;\n referrersIndices: number[] | [null];\n };\n} & EventDataType;\n\nexport type GeolocationEventType = {\n data: {\n country: string;\n region: string | null;\n city: string | null;\n postalCode: string | null;\n latitude: number | null;\n longitude: number | null;\n };\n} & EventDataType;\n\nexport type StaticDataEventType = {\n data: {\n visitNumber: number;\n timeSincePreviousVisit: number;\n firstReferrerHref: string | null;\n browser: BrowserType | null;\n browserIndex: BrowserIndexType | null;\n browserVersion: number | null;\n os: OperatingSystemType | null;\n osIndex: OperatingSystemIndexType | null;\n windowWidth: number | null;\n windowHeight: number | null;\n screenWidth: number | null;\n screenHeight: number | null;\n timeZoneId: string | null;\n localeLanguageTag: string | null;\n deviceType: DeviceType | null;\n mappingIdentifier: string | null;\n };\n} & EventDataType;\n\nexport type VisitType = {\n siteCode: string;\n visitorCode: string;\n timeStarted: number;\n customDataEvents?: CustomDataEventType[];\n experimentEvents?: ExperimentEventType[];\n conversionEvents?: ConversionEventType[];\n geolocationEvents?: GeolocationEventType[];\n staticDataEvent?: StaticDataEventType;\n pageEvents?: PageEventType[];\n};\n\nexport type GetVisitorDataResultType = {\n previousVisits?: VisitType[];\n currentVisit?: VisitType;\n};\n\nexport enum HttpMethod {\n Get = 'GET',\n Post = 'POST',\n}\n\nconst EVENT_TYPE_KEYS = [\n 'customData',\n 'staticData',\n 'page',\n 'conversion',\n 'geolocation',\n 'activity',\n 'experiment',\n] as const;\nconst PARAMETER_KEYS = [\n 'valuesCountMap',\n 'id',\n 'nonce',\n 'country',\n 'environment',\n 'city',\n 'region',\n 'latitude',\n 'geolocation',\n 'longitude',\n 'mappingIdentifier',\n 'postalCode',\n 'sdkName',\n 'sdkVersion',\n 'browserIndex',\n 'browserVersion',\n 'siteCode',\n 'visitorCode',\n 'currentVisit',\n 'maxNumberPreviousVisits',\n 'customData',\n 'negative',\n 'revenue',\n 'title',\n 'os',\n 'conversion',\n 'staticData',\n 'osIndex',\n 'browser',\n 'referrersIndices',\n 'overwrite',\n 'index',\n 'href',\n 'experiment',\n 'page',\n 'variationId',\n 'deviceType',\n 'goalId',\n 'ts',\n 'key',\n] as const;\nconst TRACKING_KEYS = ['visit', 'map'] as const;\nconst QUERY_KEYS = ['sse', 'visitor', 'map', 'events'] as const;\n\nexport type TrackingType = Record<\n Capitalize<(typeof TRACKING_KEYS)[number]>,\n string\n>;\nexport type QueryType = Record<Capitalize<(typeof QUERY_KEYS)[number]>, string>;\nexport type ParameterType = Record<\n Capitalize<(typeof PARAMETER_KEYS)[number]>,\n string\n>;\nexport type EventType = Record<\n Capitalize<(typeof EVENT_TYPE_KEYS)[number]>,\n string\n>;\n\nexport type StrictTrackingRecord<T> = {\n [K in keyof T]: `${Uncapitalize<K & string>}/`;\n};\nexport type StrictQueryRecord<T> = {\n [K in keyof T]: `${Uncapitalize<K & string>}?siteCode=`;\n};\nexport type StrictEventTypeRecord<T> = {\n [K in keyof T]: `eventType=${Uncapitalize<K & string>}`;\n};\nexport type StrictParameterRecord<T> = {\n [K in keyof T]: `&${Uncapitalize<K & string>}=`;\n};\nexport type StrictFirstParameterRecord<T> = {\n [K in keyof T]: `?${Uncapitalize<K & string>}=`;\n};\n\nexport type TrackParametersType = {\n url: string;\n headers?: Partial<Record<Header, string>>;\n body: string;\n};\n\n/**\n * @interface an interface of External Request Dispatcher which will be used to perform requests.\n * */\nexport interface IExternalRequestDispatcher {\n /**\n * @method track - send a track request\n * @param {TrackParametersType} parameters - track parameters\n * */\n track: (params: TrackParametersType) => Promise<boolean>;\n /**\n * @method getClientConfiguration - get client configuration\n * @param {string} url - url address\n * */\n getClientConfiguration: (url: string) => Promise<JSONType>;\n /**\n * @method getRemoteData - get data from remote server of Kameleoon\n * @param {string} url - url address\n * */\n getRemoteData: (url: string) => Promise<JSONType>;\n}\n"],"mappings":"iGAqIY,CAAAA,UAAU,UAAVA,CAAU,QAAV,CAAAA,CAAU,CAAAC,GAAA,OAAVD,CAAU,CAAAE,IAAA,QAAVF,CAAU,MAAAG,OAAA,CAAAH,UAAA,CAAAA,UAAA,IAKhB,CAAAI,eAAe,CAAG,CACtB,YAAY,CACZ,YAAY,CACZ,MAAM,CACN,YAAY,CACZ,aAAa,CACb,UAAU,CACV,YAAY,CACJ,CACJC,cAAc,CAAG,CACrB,gBAAgB,CAChB,IAAI,CACJ,OAAO,CACP,SAAS,CACT,aAAa,CACb,MAAM,CACN,QAAQ,CACR,UAAU,CACV,aAAa,CACb,WAAW,CACX,mBAAmB,CACnB,YAAY,CACZ,SAAS,CACT,YAAY,CACZ,cAAc,CACd,gBAAgB,CAChB,UAAU,CACV,aAAa,CACb,cAAc,CACd,yBAAyB,CACzB,YAAY,CACZ,UAAU,CACV,SAAS,CACT,OAAO,CACP,IAAI,CACJ,YAAY,CACZ,YAAY,CACZ,SAAS,CACT,SAAS,CACT,kBAAkB,CAClB,WAAW,CACX,OAAO,CACP,MAAM,CACN,YAAY,CACZ,MAAM,CACN,aAAa,CACb,YAAY,CACZ,QAAQ,CACR,IAAI,CACJ,KAAK,CACG,CACJC,aAAa,CAAG,CAAC,OAAO,CAAE,KAAK,CAAU,CACzCC,UAAU,CAAG,CAAC,KAAK,CAAE,SAAS,CAAE,KAAK,CAAE,QAAQ,CAAU"}
|
|
@@ -7,5 +7,6 @@ export declare enum KameleoonStorageKey {
|
|
|
7
7
|
TargetingData = "kameleoonTargetingData",
|
|
8
8
|
VariationData = "kameleoonVariationData",
|
|
9
9
|
VisitorCode = "kameleoonVisitorCode",
|
|
10
|
-
OfflineTracking = "kameleoonOfflineTracking"
|
|
10
|
+
OfflineTracking = "kameleoonOfflineTracking",
|
|
11
|
+
ConsentData = "kameleoonConsentData"
|
|
11
12
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.KameleoonStorageKey=void 0;var KameleoonStorageKey=function(a){return a.ClientData="kameleoonClientData",a.TargetingData="kameleoonTargetingData",a.VariationData="kameleoonVariationData",a.VisitorCode="kameleoonVisitorCode",a.OfflineTracking="kameleoonOfflineTracking",a}({});exports.KameleoonStorageKey=KameleoonStorageKey;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.KameleoonStorageKey=void 0;var KameleoonStorageKey=function(a){return a.ClientData="kameleoonClientData",a.TargetingData="kameleoonTargetingData",a.VariationData="kameleoonVariationData",a.VisitorCode="kameleoonVisitorCode",a.OfflineTracking="kameleoonOfflineTracking",a.ConsentData="kameleoonConsentData",a}({});exports.KameleoonStorageKey=KameleoonStorageKey;
|
|
2
2
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":["KameleoonStorageKey","ClientData","TargetingData","VariationData","VisitorCode","OfflineTracking","exports"],"sources":["../../src/storage/constants.ts"],"sourcesContent":["/**\n * @readonly\n * @enum {string} an Enum containing keys for Kameleoon SDK related data stored on storage\n * */\nexport enum KameleoonStorageKey {\n ClientData = 'kameleoonClientData',\n TargetingData = 'kameleoonTargetingData',\n VariationData = 'kameleoonVariationData',\n VisitorCode = 'kameleoonVisitorCode',\n OfflineTracking = 'kameleoonOfflineTracking',\n}\n"],"mappings":"0GAIY,CAAAA,mBAAmB,UAAnBA,CAAmB,QAAnB,CAAAA,CAAmB,CAAAC,UAAA,uBAAnBD,CAAmB,CAAAE,aAAA,0BAAnBF,CAAmB,CAAAG,aAAA,0BAAnBH,CAAmB,CAAAI,WAAA,wBAAnBJ,CAAmB,CAAAK,eAAA,4BAAnBL,CAAmB,
|
|
1
|
+
{"version":3,"file":"constants.js","names":["KameleoonStorageKey","ClientData","TargetingData","VariationData","VisitorCode","OfflineTracking","ConsentData","exports"],"sources":["../../src/storage/constants.ts"],"sourcesContent":["/**\n * @readonly\n * @enum {string} an Enum containing keys for Kameleoon SDK related data stored on storage\n * */\nexport enum KameleoonStorageKey {\n ClientData = 'kameleoonClientData',\n TargetingData = 'kameleoonTargetingData',\n VariationData = 'kameleoonVariationData',\n VisitorCode = 'kameleoonVisitorCode',\n OfflineTracking = 'kameleoonOfflineTracking',\n ConsentData = 'kameleoonConsentData',\n}\n"],"mappings":"0GAIY,CAAAA,mBAAmB,UAAnBA,CAAmB,QAAnB,CAAAA,CAAmB,CAAAC,UAAA,uBAAnBD,CAAmB,CAAAE,aAAA,0BAAnBF,CAAmB,CAAAG,aAAA,0BAAnBH,CAAmB,CAAAI,WAAA,wBAAnBJ,CAAmB,CAAAK,eAAA,4BAAnBL,CAAmB,CAAAM,WAAA,wBAAnBN,CAAmB,MAAAO,OAAA,CAAAP,mBAAA,CAAAA,mBAAA"}
|
package/dist/storage/types.d.ts
CHANGED
|
@@ -20,12 +20,15 @@ export type OfflineTracking = {
|
|
|
20
20
|
isExperiment: boolean;
|
|
21
21
|
}>;
|
|
22
22
|
};
|
|
23
|
+
export type ConsentDataType = {
|
|
24
|
+
[visitorCode: string]: boolean;
|
|
25
|
+
};
|
|
23
26
|
/**
|
|
24
27
|
* @type StorageDataType - an enumeration type which represents a data stored on SDK storage
|
|
25
28
|
*
|
|
26
29
|
* `string` represents visitor code storage with only one string value
|
|
27
30
|
* */
|
|
28
|
-
export type StorageDataType = ClientDataType | VariationDataType | OfflineTracking | string;
|
|
31
|
+
export type StorageDataType = ClientDataType | VariationDataType | OfflineTracking | ConsentDataType | string;
|
|
29
32
|
/**
|
|
30
33
|
* @interface an interface of External Constructor for Storage which must be implemented by the wrapper constructor to initialize new `IExternalStorage` in order to be able to pass necessary initialization parameters
|
|
31
34
|
* */
|
|
@@ -61,5 +64,11 @@ export interface IExternalStorage<T> {
|
|
|
61
64
|
* @returns {Result<void, KameleoonError>} result with an `ok` boolean field indicated success or error. If result is ok contains an empty `data`, if not contains `error` field with a type of `KameleoonError`
|
|
62
65
|
* */
|
|
63
66
|
write: (data: T) => Result<void, KameleoonError>;
|
|
67
|
+
/**
|
|
68
|
+
* @method update - adds new data to existing data in storage
|
|
69
|
+
* @param {Partial<T>} data - representation of any generic partial data type
|
|
70
|
+
* @returns {Result<void, KameleoonError>} result with an `ok` boolean field indicated success or error. If result is ok contains an empty `data`, if not contains `error` field with a type of `KameleoonError`
|
|
71
|
+
* */
|
|
72
|
+
update: (data: Partial<T>) => Result<void, KameleoonError>;
|
|
64
73
|
}
|
|
65
74
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../src/storage/types.ts"],"sourcesContent":["import { Result } from 'ts-res';\nimport { ConfigurationDataType } from 'src/clientConfiguration';\nimport { KameleoonError } from 'src/kameleoonError';\nimport { KameleoonStorageKey } from './constants';\nimport {\n TrackDataParamsType,\n TrackExperimentParamsType,\n} from 'src/requester/types';\n\nexport type ClientDataType = {\n data: ConfigurationDataType;\n lastUpdate: string;\n};\n\nexport type FeatureFlagVariationsType = {\n [experimentId: string]: number;\n};\n\nexport type VariationDataType = {\n [visitorCode: string]: FeatureFlagVariationsType;\n};\n\ntype OfflineTrackingParameters =\n | TrackDataParamsType\n | TrackExperimentParamsType;\n\nexport type OfflineTracking = {\n requestParameters?: Array<\n OfflineTrackingParameters & { timestamp: number; isExperiment: boolean }\n >;\n};\n\n/**\n * @type StorageDataType - an enumeration type which represents a data stored on SDK storage\n *\n * `string` represents visitor code storage with only one string value\n * */\nexport type StorageDataType =\n | ClientDataType\n | VariationDataType\n | OfflineTracking\n | string;\n\n/**\n * @interface an interface of External Constructor for Storage which must be implemented by the wrapper constructor to initialize new `IExternalStorage` in order to be able to pass necessary initialization parameters\n * */\nexport interface IExternalStorageConstructor {\n /**\n * @method initialize - creates and instance of `IExternalStorage<StorageDataType>` and returns it\n *\n * Generic needs to be specified with a type for TypeScript to be able to infer concrete type based on enum variant\n * @param {KameleoonStorageKey} key - an enum variant containing keys for Kameleoon SDK related data stored on storage\n * @returns {IExternalStorage<StorageDataType>} an initialized instance of `IExternalStorage<StorageDataType>`\n * */\n initialize: <T extends StorageDataType>(\n key: KameleoonStorageKey,\n ) => IExternalStorage<T>;\n}\n\n/**\n * @interface an interface of External Storage which must be implemented to be used as external storage for initialized JS SDK Core.\n *\n * Generic `StorageDataType` needs to be specified with a type for TypeScript to be able to infer concrete type based on enum variant\n * However it's not constrained strictly by `StorageDataType` to let implementer use storage as a generic for other types\n * */\nexport interface IExternalStorage<T> {\n /**\n * @property key - an Enum `KameleoonStorageKey` variant containing a key for Kameleoon SDK related data stored on storage\n * */\n readonly key: KameleoonStorageKey;\n /**\n * @method read - reads data from the storage\n * @returns {Result<T, KameleoonError>} result with an `ok` boolean field indicated success or error. If result is ok contains `data` field with a type `T`, if not contains `error` field with a type of `KameleoonError`\n * */\n read: () => Result<T, KameleoonError>;\n /**\n * @method write - writes data to storage\n * @param {T} data - representation of any generic data type\n * @returns {Result<void, KameleoonError>} result with an `ok` boolean field indicated success or error. If result is ok contains an empty `data`, if not contains `error` field with a type of `KameleoonError`\n * */\n write: (data: T) => Result<void, KameleoonError>;\n}\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../src/storage/types.ts"],"sourcesContent":["import { Result } from 'ts-res';\nimport { ConfigurationDataType } from 'src/clientConfiguration';\nimport { KameleoonError } from 'src/kameleoonError';\nimport { KameleoonStorageKey } from './constants';\nimport {\n TrackDataParamsType,\n TrackExperimentParamsType,\n} from 'src/requester/types';\n\nexport type ClientDataType = {\n data: ConfigurationDataType;\n lastUpdate: string;\n};\n\nexport type FeatureFlagVariationsType = {\n [experimentId: string]: number;\n};\n\nexport type VariationDataType = {\n [visitorCode: string]: FeatureFlagVariationsType;\n};\n\ntype OfflineTrackingParameters =\n | TrackDataParamsType\n | TrackExperimentParamsType;\n\nexport type OfflineTracking = {\n requestParameters?: Array<\n OfflineTrackingParameters & { timestamp: number; isExperiment: boolean }\n >;\n};\n\nexport type ConsentDataType = {\n [visitorCode: string]: boolean;\n};\n\n/**\n * @type StorageDataType - an enumeration type which represents a data stored on SDK storage\n *\n * `string` represents visitor code storage with only one string value\n * */\nexport type StorageDataType =\n | ClientDataType\n | VariationDataType\n | OfflineTracking\n | ConsentDataType\n | string;\n\n/**\n * @interface an interface of External Constructor for Storage which must be implemented by the wrapper constructor to initialize new `IExternalStorage` in order to be able to pass necessary initialization parameters\n * */\nexport interface IExternalStorageConstructor {\n /**\n * @method initialize - creates and instance of `IExternalStorage<StorageDataType>` and returns it\n *\n * Generic needs to be specified with a type for TypeScript to be able to infer concrete type based on enum variant\n * @param {KameleoonStorageKey} key - an enum variant containing keys for Kameleoon SDK related data stored on storage\n * @returns {IExternalStorage<StorageDataType>} an initialized instance of `IExternalStorage<StorageDataType>`\n * */\n initialize: <T extends StorageDataType>(\n key: KameleoonStorageKey,\n ) => IExternalStorage<T>;\n}\n\n/**\n * @interface an interface of External Storage which must be implemented to be used as external storage for initialized JS SDK Core.\n *\n * Generic `StorageDataType` needs to be specified with a type for TypeScript to be able to infer concrete type based on enum variant\n * However it's not constrained strictly by `StorageDataType` to let implementer use storage as a generic for other types\n * */\nexport interface IExternalStorage<T> {\n /**\n * @property key - an Enum `KameleoonStorageKey` variant containing a key for Kameleoon SDK related data stored on storage\n * */\n readonly key: KameleoonStorageKey;\n /**\n * @method read - reads data from the storage\n * @returns {Result<T, KameleoonError>} result with an `ok` boolean field indicated success or error. If result is ok contains `data` field with a type `T`, if not contains `error` field with a type of `KameleoonError`\n * */\n read: () => Result<T, KameleoonError>;\n /**\n * @method write - writes data to storage\n * @param {T} data - representation of any generic data type\n * @returns {Result<void, KameleoonError>} result with an `ok` boolean field indicated success or error. If result is ok contains an empty `data`, if not contains `error` field with a type of `KameleoonError`\n * */\n write: (data: T) => Result<void, KameleoonError>;\n /**\n * @method update - adds new data to existing data in storage\n * @param {Partial<T>} data - representation of any generic partial data type\n * @returns {Result<void, KameleoonError>} result with an `ok` boolean field indicated success or error. If result is ok contains an empty `data`, if not contains `error` field with a type of `KameleoonError`\n * */\n update: (data: Partial<T>) => Result<void, KameleoonError>;\n}\n"],"mappings":""}
|