@kameleoon/javascript-sdk 1.3.2 → 1.3.3

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.
@@ -0,0 +1,2 @@
1
+ export declare const NUMBER_OF_RETRIES = 3;
2
+ export declare const DELAY_MILLISECONDS = 2000;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.NUMBER_OF_RETRIES = exports.DELAY_MILLISECONDS = void 0;
7
+ const NUMBER_OF_RETRIES = 3;
8
+ exports.NUMBER_OF_RETRIES = NUMBER_OF_RETRIES;
9
+ const DELAY_MILLISECONDS = 2000;
10
+ exports.DELAY_MILLISECONDS = DELAY_MILLISECONDS;
11
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","names":["NUMBER_OF_RETRIES","exports","DELAY_MILLISECONDS"],"sources":["../src/constants.ts"],"sourcesContent":["export const NUMBER_OF_RETRIES = 3;\nexport const DELAY_MILLISECONDS = 2000;\n"],"mappings":";;;;;;AAAO,MAAMA,iBAAiB,GAAG,CAAC;AAACC,OAAA,CAAAD,iBAAA,GAAAA,iBAAA;AAC5B,MAAME,kBAAkB,GAAG,IAAI;AAACD,OAAA,CAAAC,kBAAA,GAAAA,kBAAA"}
@@ -1,4 +1,4 @@
1
- import { KameleoonCore, SDKConfigurationType } from '@kameleoon/javascript-sdk-core';
1
+ import { SDKConfigurationType, KameleoonCore } from '@kameleoon/javascript-sdk-core';
2
2
  /**
3
3
  * @class
4
4
  * KameleoonClient - a class for creating kameleoon client instance
@@ -26,7 +26,7 @@ class KameleoonClient extends _javascriptSdkCore.KameleoonCore {
26
26
  externalRequestDispatcher: requestDispatcher,
27
27
  externalPackageInfo: {
28
28
  type: _javascriptSdkCore.SDKType.JavaScript,
29
- version: "1.3.2"
29
+ version: "1.3.3"
30
30
  }
31
31
  }
32
32
  });
@@ -1 +1 @@
1
- {"version":3,"file":"kameleoonClient.js","names":["_javascriptSdkCore","require","_storage","_requester","_eventSource","KameleoonClient","KameleoonCore","constructor","siteCode","configuration","storage","StorageConstructor","eventSource","EventSourceConstructor","requestDispatcher","RequestDispatcher","internalConfiguration","externalStorage","externalEventSource","externalRequestDispatcher","externalPackageInfo","type","SDKType","JavaScript","version","exports"],"sources":["../src/kameleoonClient.ts"],"sourcesContent":["import {\n KameleoonCore,\n SDKConfigurationType,\n SDKType,\n} from '@kameleoon/javascript-sdk-core';\nimport { StorageConstructor } from './storage';\nimport { RequestDispatcher } from './requester';\nimport { EventSourceConstructor } from './eventSource';\n\n/**\n * @class\n * KameleoonClient - a class for creating kameleoon client instance\n * */\nexport class KameleoonClient extends KameleoonCore {\n constructor(siteCode: string, configuration?: Partial<SDKConfigurationType>) {\n const storage = new StorageConstructor();\n const eventSource = new EventSourceConstructor();\n const requestDispatcher = new RequestDispatcher();\n\n super({\n siteCode,\n configuration,\n internalConfiguration: {\n externalStorage: storage,\n externalEventSource: eventSource,\n externalRequestDispatcher: requestDispatcher,\n externalPackageInfo: {\n type: SDKType.JavaScript,\n version: process.env.npm_package_version as string,\n },\n },\n });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAEA;AACA;AACA;AACA;AACO,MAAMI,eAAe,SAASC,gCAAa,CAAC;EACjDC,WAAWA,CAACC,QAAgB,EAAEC,aAA6C,EAAE;IAC3E,MAAMC,OAAO,GAAG,IAAIC,2BAAkB,EAAE;IACxC,MAAMC,WAAW,GAAG,IAAIC,mCAAsB,EAAE;IAChD,MAAMC,iBAAiB,GAAG,IAAIC,4BAAiB,EAAE;IAEjD,KAAK,CAAC;MACJP,QAAQ;MACRC,aAAa;MACbO,qBAAqB,EAAE;QACrBC,eAAe,EAAEP,OAAO;QACxBQ,mBAAmB,EAAEN,WAAW;QAChCO,yBAAyB,EAAEL,iBAAiB;QAC5CM,mBAAmB,EAAE;UACnBC,IAAI,EAAEC,0BAAO,CAACC,UAAU;UACxBC,OAAO;QACT;MACF;IACF,CAAC,CAAC;EACJ;AACF;AAACC,OAAA,CAAApB,eAAA,GAAAA,eAAA"}
1
+ {"version":3,"file":"kameleoonClient.js","names":["_javascriptSdkCore","require","_storage","_requester","_eventSource","KameleoonClient","KameleoonCore","constructor","siteCode","configuration","storage","StorageConstructor","eventSource","EventSourceConstructor","requestDispatcher","RequestDispatcher","internalConfiguration","externalStorage","externalEventSource","externalRequestDispatcher","externalPackageInfo","type","SDKType","JavaScript","version","exports"],"sources":["../src/kameleoonClient.ts"],"sourcesContent":["import {\n SDKConfigurationType,\n KameleoonCore,\n SDKType,\n} from '@kameleoon/javascript-sdk-core';\nimport { StorageConstructor } from './storage';\nimport { RequestDispatcher } from './requester';\nimport { EventSourceConstructor } from './eventSource';\n\n/**\n * @class\n * KameleoonClient - a class for creating kameleoon client instance\n * */\nexport class KameleoonClient extends KameleoonCore {\n constructor(siteCode: string, configuration?: Partial<SDKConfigurationType>) {\n const storage = new StorageConstructor();\n const eventSource = new EventSourceConstructor();\n const requestDispatcher = new RequestDispatcher();\n\n super({\n siteCode,\n configuration,\n internalConfiguration: {\n externalStorage: storage,\n externalEventSource: eventSource,\n externalRequestDispatcher: requestDispatcher,\n externalPackageInfo: {\n type: SDKType.JavaScript,\n version: process.env.npm_package_version as string,\n },\n },\n });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAEA;AACA;AACA;AACA;AACO,MAAMI,eAAe,SAASC,gCAAa,CAAC;EACjDC,WAAWA,CAACC,QAAgB,EAAEC,aAA6C,EAAE;IAC3E,MAAMC,OAAO,GAAG,IAAIC,2BAAkB,EAAE;IACxC,MAAMC,WAAW,GAAG,IAAIC,mCAAsB,EAAE;IAChD,MAAMC,iBAAiB,GAAG,IAAIC,4BAAiB,EAAE;IAEjD,KAAK,CAAC;MACJP,QAAQ;MACRC,aAAa;MACbO,qBAAqB,EAAE;QACrBC,eAAe,EAAEP,OAAO;QACxBQ,mBAAmB,EAAEN,WAAW;QAChCO,yBAAyB,EAAEL,iBAAiB;QAC5CM,mBAAmB,EAAE;UACnBC,IAAI,EAAEC,0BAAO,CAACC,UAAU;UACxBC,OAAO;QACT;MACF;IACF,CAAC,CAAC;EACJ;AACF;AAACC,OAAA,CAAApB,eAAA,GAAAA,eAAA"}
@@ -1,5 +1,6 @@
1
1
  import { JSONType, TrackParametersType, IExternalRequestDispatcher } from '@kameleoon/javascript-sdk-core';
2
2
  export declare class RequestDispatcher implements IExternalRequestDispatcher {
3
3
  track({ url, headers, body, }: TrackParametersType): Promise<boolean>;
4
- get(url: string): Promise<JSONType>;
4
+ getClientConfiguration(url: string): Promise<JSONType>;
5
+ getRemoteData(url: string): Promise<JSONType>;
5
6
  }
package/dist/requester.js CHANGED
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.RequestDispatcher = void 0;
7
7
  var _javascriptSdkCore = require("@kameleoon/javascript-sdk-core");
8
+ var _constants = require("./constants");
8
9
  class RequestDispatcher {
9
10
  async track({
10
11
  url,
@@ -18,7 +19,25 @@ class RequestDispatcher {
18
19
  });
19
20
  return response.ok;
20
21
  }
21
- async get(url) {
22
+ async getClientConfiguration(url) {
23
+ for (let i = 1; i <= _constants.NUMBER_OF_RETRIES; i++) {
24
+ try {
25
+ const response = await fetch(url, {
26
+ method: _javascriptSdkCore.HttpMethod.Get
27
+ });
28
+ if (response.status !== 504) {
29
+ return response.json();
30
+ }
31
+ } catch (err) {
32
+ throw new _javascriptSdkCore.KameleoonError(_javascriptSdkCore.KameleoonException.ClientConfiguration);
33
+ }
34
+ if (i < _constants.NUMBER_OF_RETRIES) {
35
+ await new Promise(resolve => setTimeout(resolve, _constants.DELAY_MILLISECONDS));
36
+ }
37
+ }
38
+ throw new _javascriptSdkCore.KameleoonError(_javascriptSdkCore.KameleoonException.MaximumRetriesReached);
39
+ }
40
+ async getRemoteData(url) {
22
41
  const response = await fetch(url, {
23
42
  method: _javascriptSdkCore.HttpMethod.Get
24
43
  });
@@ -1 +1 @@
1
- {"version":3,"file":"requester.js","names":["_javascriptSdkCore","require","RequestDispatcher","track","url","headers","body","response","fetch","method","HttpMethod","Post","ok","get","Get","json","exports"],"sources":["../src/requester.ts"],"sourcesContent":["import {\n JSONType,\n HttpMethod,\n TrackParametersType,\n IExternalRequestDispatcher,\n} from '@kameleoon/javascript-sdk-core';\n\nexport class RequestDispatcher implements IExternalRequestDispatcher {\n public async track({\n url,\n headers,\n body,\n }: TrackParametersType): Promise<boolean> {\n const response = await fetch(url, {\n method: HttpMethod.Post,\n headers,\n body,\n });\n\n return response.ok;\n }\n\n public async get(url: string): Promise<JSONType> {\n const response = await fetch(url, {\n method: HttpMethod.Get,\n });\n\n return response.json();\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AAOO,MAAMC,iBAAiB,CAAuC;EACnE,MAAaC,KAAKA,CAAC;IACjBC,GAAG;IACHC,OAAO;IACPC;EACmB,CAAC,EAAoB;IACxC,MAAMC,QAAQ,GAAG,MAAMC,KAAK,CAACJ,GAAG,EAAE;MAChCK,MAAM,EAAEC,6BAAU,CAACC,IAAI;MACvBN,OAAO;MACPC;IACF,CAAC,CAAC;IAEF,OAAOC,QAAQ,CAACK,EAAE;EACpB;EAEA,MAAaC,GAAGA,CAACT,GAAW,EAAqB;IAC/C,MAAMG,QAAQ,GAAG,MAAMC,KAAK,CAACJ,GAAG,EAAE;MAChCK,MAAM,EAAEC,6BAAU,CAACI;IACrB,CAAC,CAAC;IAEF,OAAOP,QAAQ,CAACQ,IAAI,EAAE;EACxB;AACF;AAACC,OAAA,CAAAd,iBAAA,GAAAA,iBAAA"}
1
+ {"version":3,"file":"requester.js","names":["_javascriptSdkCore","require","_constants","RequestDispatcher","track","url","headers","body","response","fetch","method","HttpMethod","Post","ok","getClientConfiguration","i","NUMBER_OF_RETRIES","Get","status","json","err","KameleoonError","KameleoonException","ClientConfiguration","Promise","resolve","setTimeout","DELAY_MILLISECONDS","MaximumRetriesReached","getRemoteData","exports"],"sources":["../src/requester.ts"],"sourcesContent":["import {\n JSONType,\n HttpMethod,\n TrackParametersType,\n IExternalRequestDispatcher,\n KameleoonError,\n KameleoonException,\n} from '@kameleoon/javascript-sdk-core';\nimport { DELAY_MILLISECONDS, NUMBER_OF_RETRIES } from './constants';\n\nexport class RequestDispatcher implements IExternalRequestDispatcher {\n public async track({\n url,\n headers,\n body,\n }: TrackParametersType): Promise<boolean> {\n const response = await fetch(url, {\n method: HttpMethod.Post,\n headers,\n body,\n });\n\n return response.ok;\n }\n\n public async getClientConfiguration(url: string): Promise<JSONType> {\n for (let i = 1; i <= NUMBER_OF_RETRIES; i++) {\n try {\n const response = await fetch(url, {\n method: HttpMethod.Get,\n });\n\n if (response.status !== 504) {\n return response.json();\n }\n } catch (err) {\n throw new KameleoonError(KameleoonException.ClientConfiguration);\n }\n\n if (i < NUMBER_OF_RETRIES) {\n await new Promise((resolve) => setTimeout(resolve, DELAY_MILLISECONDS));\n }\n }\n\n throw new KameleoonError(KameleoonException.MaximumRetriesReached);\n }\n\n public async getRemoteData(url: string): Promise<JSONType> {\n const response = await fetch(url, {\n method: HttpMethod.Get,\n });\n\n return response.json();\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AAQA,IAAAC,UAAA,GAAAD,OAAA;AAEO,MAAME,iBAAiB,CAAuC;EACnE,MAAaC,KAAKA,CAAC;IACjBC,GAAG;IACHC,OAAO;IACPC;EACmB,CAAC,EAAoB;IACxC,MAAMC,QAAQ,GAAG,MAAMC,KAAK,CAACJ,GAAG,EAAE;MAChCK,MAAM,EAAEC,6BAAU,CAACC,IAAI;MACvBN,OAAO;MACPC;IACF,CAAC,CAAC;IAEF,OAAOC,QAAQ,CAACK,EAAE;EACpB;EAEA,MAAaC,sBAAsBA,CAACT,GAAW,EAAqB;IAClE,KAAK,IAAIU,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAIC,4BAAiB,EAAED,CAAC,EAAE,EAAE;MAC3C,IAAI;QACF,MAAMP,QAAQ,GAAG,MAAMC,KAAK,CAACJ,GAAG,EAAE;UAChCK,MAAM,EAAEC,6BAAU,CAACM;QACrB,CAAC,CAAC;QAEF,IAAIT,QAAQ,CAACU,MAAM,KAAK,GAAG,EAAE;UAC3B,OAAOV,QAAQ,CAACW,IAAI,EAAE;QACxB;MACF,CAAC,CAAC,OAAOC,GAAG,EAAE;QACZ,MAAM,IAAIC,iCAAc,CAACC,qCAAkB,CAACC,mBAAmB,CAAC;MAClE;MAEA,IAAIR,CAAC,GAAGC,4BAAiB,EAAE;QACzB,MAAM,IAAIQ,OAAO,CAAEC,OAAO,IAAKC,UAAU,CAACD,OAAO,EAAEE,6BAAkB,CAAC,CAAC;MACzE;IACF;IAEA,MAAM,IAAIN,iCAAc,CAACC,qCAAkB,CAACM,qBAAqB,CAAC;EACpE;EAEA,MAAaC,aAAaA,CAACxB,GAAW,EAAqB;IACzD,MAAMG,QAAQ,GAAG,MAAMC,KAAK,CAACJ,GAAG,EAAE;MAChCK,MAAM,EAAEC,6BAAU,CAACM;IACrB,CAAC,CAAC;IAEF,OAAOT,QAAQ,CAACW,IAAI,EAAE;EACxB;AACF;AAACW,OAAA,CAAA3B,iBAAA,GAAAA,iBAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kameleoon/javascript-sdk",
3
- "version": "1.3.2",
3
+ "version": "1.3.3",
4
4
  "description": "Kameleoon JavaScript SDK",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",