@rebuy/rebuy 1.6.0-alpha.3 → 2.0.0-alpha.1

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/api.d.ts CHANGED
@@ -18,6 +18,7 @@ type FetchOptions = {
18
18
  };
19
19
  type RequestData = Record<string, any> | null;
20
20
  export declare class Api {
21
+ private config;
21
22
  constructor(options: string | Partial<Config> | null);
22
23
  callEvent(method: string, path: string, data: RequestData, options?: FetchOptions): Promise<any>;
23
24
  callShield(method: string, path: string, data: RequestData, options?: FetchOptions): Promise<any>;
package/dist/api.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAMA,KAAK,MAAM,GAAG;IACV;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACxB,CAAC;AAIF,KAAK,YAAY,GAAG;IAChB,KAAK,CAAC,EAAE,WAAW,GAAG;QAAE,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACpD,CAAC;AAEF,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;AAuF9C,qBAAa,GAAG;gBACA,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI;IAoB9C,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;IAIhG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;IAIjG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;IAIjG,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;IAI9F,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;IAI9F,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;CAGvG;AAGD,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAMA,KAAK,MAAM,GAAG;IACV;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACxB,CAAC;AAIF,KAAK,YAAY,GAAG;IAChB,KAAK,CAAC,EAAE,WAAW,GAAG;QAAE,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACpD,CAAC;AAEF,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;AA0E9C,qBAAa,GAAG;IACZ,OAAO,CAAC,MAAM,CAAS;gBAEX,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI;IAkC9C,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;IAIhG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;IAIjG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;IAIjG,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;IAI9F,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;IAI9F,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;CAGvG;AAGD,eAAe,GAAG,CAAC"}
package/dist/api.js CHANGED
@@ -23,19 +23,6 @@ __export(api_exports, {
23
23
  });
24
24
  module.exports = __toCommonJS(api_exports);
25
25
  var import_utilities = require("~/utilities");
26
- const config = {
27
- /**
28
- * @deprecated
29
- */
30
- cdnDomain: "https://cdn.rebuyengine.com",
31
- domain: "https://rebuyengine.com",
32
- eventDomain: "https://rebuyengine.com",
33
- geoDomain: "https://geo.rebuyengine.com",
34
- key: null,
35
- shieldDomain: "https://cached.rebuyengine.com",
36
- shop: null,
37
- staticDomain: "https://cdn.rebuyengine.com"
38
- };
39
26
  const staging = {
40
27
  /**
41
28
  * @deprecated
@@ -59,7 +46,7 @@ const stagingDomains = [
59
46
  "mike-reids-test-store.myshopify.com",
60
47
  "dash-ext-hoke.myshopify.com"
61
48
  ];
62
- const makeCall = async (method, path, data, origin, options = {}) => {
49
+ const makeCall = async (key, method, path, data, origin, options = {}) => {
63
50
  const url = `${origin}${path}`;
64
51
  const requestUrl = new URL(url);
65
52
  const fetchOptions = options?.fetch ?? {};
@@ -67,8 +54,8 @@ const makeCall = async (method, path, data, origin, options = {}) => {
67
54
  if (typeof data == "object" && data != null) {
68
55
  Object.assign(requestData, data);
69
56
  }
70
- if (typeof config.key == "string" && config.key.length > 0) {
71
- Object.assign(requestData, { key: config.key });
57
+ if (typeof key == "string" && key.length > 0) {
58
+ Object.assign(requestData, { key });
72
59
  }
73
60
  const requestObject = {
74
61
  method,
@@ -92,39 +79,52 @@ const makeCall = async (method, path, data, origin, options = {}) => {
92
79
  };
93
80
  class Api {
94
81
  constructor(options) {
82
+ this.config = {
83
+ /**
84
+ * @deprecated
85
+ */
86
+ cdnDomain: "https://cdn.rebuyengine.com",
87
+ domain: "https://rebuyengine.com",
88
+ eventDomain: "https://rebuyengine.com",
89
+ geoDomain: "https://geo.rebuyengine.com",
90
+ key: null,
91
+ shieldDomain: "https://cached.rebuyengine.com",
92
+ shop: null,
93
+ staticDomain: "https://cdn.rebuyengine.com"
94
+ };
95
95
  if (typeof options == "string") {
96
- config.key = options;
96
+ this.config.key = options;
97
97
  } else if (typeof options == "object" && options != null) {
98
- Object.assign(config, options);
98
+ Object.assign(this.config, options);
99
99
  }
100
100
  for (const domain of stagingDomains) {
101
101
  if (typeof location === "object" && location?.host?.includes(domain)) {
102
- Object.assign(config, staging);
102
+ Object.assign(this.config, staging);
103
103
  break;
104
104
  }
105
- if (typeof config.shop === "string" && config.shop.includes(domain)) {
106
- Object.assign(config, staging);
105
+ if (typeof this.config.shop === "string" && this.config.shop.includes(domain)) {
106
+ Object.assign(this.config, staging);
107
107
  break;
108
108
  }
109
109
  }
110
110
  }
111
111
  async callEvent(method, path, data, options) {
112
- return await makeCall(method, path, data, config.eventDomain, options);
112
+ return await makeCall(this.config.key, method, path, data, this.config.eventDomain, options);
113
113
  }
114
114
  async callShield(method, path, data, options) {
115
- return await makeCall(method, path, data, config.shieldDomain, options);
115
+ return await makeCall(this.config.key, method, path, data, this.config.shieldDomain, options);
116
116
  }
117
117
  async callStatic(method, path, data, options) {
118
- return await makeCall(method, path, data, config.staticDomain, options);
118
+ return await makeCall(this.config.key, method, path, data, this.config.staticDomain, options);
119
119
  }
120
120
  async callGeo(method, path, data, options) {
121
- return await makeCall(method, path, data, config.geoDomain, options);
121
+ return await makeCall(this.config.key, method, path, data, this.config.geoDomain, options);
122
122
  }
123
123
  async callCdn(method, path, data, options) {
124
- return await makeCall(method, path, data, config.cdnDomain, options);
124
+ return await makeCall(this.config.key, method, path, data, this.config.cdnDomain, options);
125
125
  }
126
126
  async callApi(method, path, data, options) {
127
- return await makeCall(method, path, data, config.domain, options);
127
+ return await makeCall(this.config.key, method, path, data, this.config.domain, options);
128
128
  }
129
129
  }
130
130
  var api_default = Api;
package/dist/api.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/api.ts"],
4
- "sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { serialize } from '~/utilities';\n\n// Type definitions\n\ntype Config = {\n /**\n * @deprecated\n */\n cdnDomain: string;\n domain: string;\n eventDomain: string;\n geoDomain: string;\n key: string | null;\n shieldDomain: string;\n shop: string | null;\n staticDomain: string;\n};\n\ntype Staging = Omit<Config, 'key' | 'shop'>;\n\ntype FetchOptions = {\n fetch?: RequestInit & { strictErrors?: boolean };\n};\n\ntype RequestData = Record<string, any> | null;\n\nconst config: Config = {\n /**\n * @deprecated\n */\n cdnDomain: 'https://cdn.rebuyengine.com',\n domain: 'https://rebuyengine.com',\n eventDomain: 'https://rebuyengine.com',\n geoDomain: 'https://geo.rebuyengine.com',\n key: null,\n shieldDomain: 'https://cached.rebuyengine.com',\n shop: null,\n staticDomain: 'https://cdn.rebuyengine.com',\n};\n\nconst staging: Staging = {\n /**\n * @deprecated\n */\n cdnDomain: 'https://cdn.enigneyuber.com',\n domain: 'https://enigneyuber.com',\n eventDomain: 'https://enigneyuber.com',\n geoDomain: 'https://geo.enigneyuber.com',\n shieldDomain: 'https://cached.enigneyuber.com',\n staticDomain: 'https://cdn.enigneyuber.com',\n};\n\nconst stagingDomains: string[] = [\n 'enigneyuber.com',\n 'rebuy-engine-regression.myshopify.com',\n 'rebuy-stage-currency-test.myshopify.com',\n 'rebuy-staging-automation.myshopify.com',\n 'rebuy-staging-regression.myshopify.com',\n 'rebuy-uat.myshopify.com',\n 'rebuy-regression-qa.myshopify.com',\n 'senator-staging.myshopify.com',\n 'mike-reids-test-store.myshopify.com',\n 'dash-ext-hoke.myshopify.com',\n];\n\nconst makeCall = async (\n method: string,\n path: string,\n data: RequestData,\n origin: string,\n options: FetchOptions = {}\n): Promise<any> => {\n const url = `${origin}${path}`;\n const requestUrl = new URL(url);\n const fetchOptions = options?.fetch ?? {};\n\n const requestData: RequestData = {};\n\n if (typeof data == 'object' && data != null) {\n Object.assign(requestData, data);\n }\n\n if (typeof config.key == 'string' && config.key.length > 0) {\n Object.assign(requestData, { key: config.key });\n }\n\n const requestObject: RequestInit & { strictErrors?: boolean } = {\n method,\n ...fetchOptions,\n };\n\n if (method === 'GET') {\n requestUrl.search = serialize(requestData);\n } else if (method === 'POST') {\n requestObject.headers = {\n 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',\n };\n requestObject.body = new URLSearchParams(requestData) as any;\n }\n\n const request = await fetch(requestUrl.toString(), requestObject);\n const response = await request.json();\n\n if (!request.ok && fetchOptions.strictErrors === true) {\n const message = `An error has occurred: ${request.status}`;\n throw new Error(message, { cause: response });\n }\n\n return response;\n};\n\nexport class Api {\n constructor(options: string | Partial<Config> | null) {\n if (typeof options == 'string') {\n config.key = options;\n } else if (typeof options == 'object' && options != null) {\n Object.assign(config, options);\n }\n\n for (const domain of stagingDomains) {\n if (typeof location === 'object' && (location as any)?.host?.includes(domain)) {\n Object.assign(config, staging);\n break;\n }\n\n if (typeof config.shop === 'string' && config.shop.includes(domain)) {\n Object.assign(config, staging);\n break;\n }\n }\n }\n\n async callEvent(method: string, path: string, data: RequestData, options?: FetchOptions): Promise<any> {\n return await makeCall(method, path, data, config.eventDomain, options);\n }\n\n async callShield(method: string, path: string, data: RequestData, options?: FetchOptions): Promise<any> {\n return await makeCall(method, path, data, config.shieldDomain, options);\n }\n\n async callStatic(method: string, path: string, data: RequestData, options?: FetchOptions): Promise<any> {\n return await makeCall(method, path, data, config.staticDomain, options);\n }\n\n async callGeo(method: string, path: string, data: RequestData, options?: FetchOptions): Promise<any> {\n return await makeCall(method, path, data, config.geoDomain, options);\n }\n\n async callCdn(method: string, path: string, data: RequestData, options?: FetchOptions): Promise<any> {\n return await makeCall(method, path, data, config.cdnDomain, options);\n }\n\n async callApi(method: string, path: string, data: RequestData, options?: FetchOptions): Promise<any> {\n return await makeCall(method, path, data, config.domain, options);\n }\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default Api;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { serialize } from '~/utilities';\n\n// Type definitions\n\ntype Config = {\n /**\n * @deprecated\n */\n cdnDomain: string;\n domain: string;\n eventDomain: string;\n geoDomain: string;\n key: string | null;\n shieldDomain: string;\n shop: string | null;\n staticDomain: string;\n};\n\ntype Staging = Omit<Config, 'key' | 'shop'>;\n\ntype FetchOptions = {\n fetch?: RequestInit & { strictErrors?: boolean };\n};\n\ntype RequestData = Record<string, any> | null;\n\nconst staging: Staging = {\n /**\n * @deprecated\n */\n cdnDomain: 'https://cdn.enigneyuber.com',\n domain: 'https://enigneyuber.com',\n eventDomain: 'https://enigneyuber.com',\n geoDomain: 'https://geo.enigneyuber.com',\n shieldDomain: 'https://cached.enigneyuber.com',\n staticDomain: 'https://cdn.enigneyuber.com',\n};\n\nconst stagingDomains: string[] = [\n 'enigneyuber.com',\n 'rebuy-engine-regression.myshopify.com',\n 'rebuy-stage-currency-test.myshopify.com',\n 'rebuy-staging-automation.myshopify.com',\n 'rebuy-staging-regression.myshopify.com',\n 'rebuy-uat.myshopify.com',\n 'rebuy-regression-qa.myshopify.com',\n 'senator-staging.myshopify.com',\n 'mike-reids-test-store.myshopify.com',\n 'dash-ext-hoke.myshopify.com',\n];\n\nconst makeCall = async (\n key: string | null,\n method: string,\n path: string,\n data: RequestData,\n origin: string,\n options: FetchOptions = {}\n): Promise<any> => {\n const url = `${origin}${path}`;\n const requestUrl = new URL(url);\n const fetchOptions = options?.fetch ?? {};\n\n const requestData: RequestData = {};\n\n if (typeof data == 'object' && data != null) {\n Object.assign(requestData, data);\n }\n\n if (typeof key == 'string' && key.length > 0) {\n Object.assign(requestData, { key: key });\n }\n\n const requestObject: RequestInit & { strictErrors?: boolean } = {\n method,\n ...fetchOptions,\n };\n\n if (method === 'GET') {\n requestUrl.search = serialize(requestData);\n } else if (method === 'POST') {\n requestObject.headers = {\n 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',\n };\n requestObject.body = new URLSearchParams(requestData) as any;\n }\n\n const request = await fetch(requestUrl.toString(), requestObject);\n const response = await request.json();\n\n if (!request.ok && fetchOptions.strictErrors === true) {\n const message = `An error has occurred: ${request.status}`;\n throw new Error(message, { cause: response });\n }\n\n return response;\n};\n\nexport class Api {\n private config: Config;\n\n constructor(options: string | Partial<Config> | null) {\n this.config = {\n /**\n * @deprecated\n */\n cdnDomain: 'https://cdn.rebuyengine.com',\n domain: 'https://rebuyengine.com',\n eventDomain: 'https://rebuyengine.com',\n geoDomain: 'https://geo.rebuyengine.com',\n key: null,\n shieldDomain: 'https://cached.rebuyengine.com',\n shop: null,\n staticDomain: 'https://cdn.rebuyengine.com',\n };\n\n if (typeof options == 'string') {\n this.config.key = options;\n } else if (typeof options == 'object' && options != null) {\n Object.assign(this.config, options);\n }\n\n for (const domain of stagingDomains) {\n if (typeof location === 'object' && (location as any)?.host?.includes(domain)) {\n Object.assign(this.config, staging);\n break;\n }\n\n if (typeof this.config.shop === 'string' && this.config.shop.includes(domain)) {\n Object.assign(this.config, staging);\n break;\n }\n }\n }\n\n async callEvent(method: string, path: string, data: RequestData, options?: FetchOptions): Promise<any> {\n return await makeCall(this.config.key, method, path, data, this.config.eventDomain, options);\n }\n\n async callShield(method: string, path: string, data: RequestData, options?: FetchOptions): Promise<any> {\n return await makeCall(this.config.key, method, path, data, this.config.shieldDomain, options);\n }\n\n async callStatic(method: string, path: string, data: RequestData, options?: FetchOptions): Promise<any> {\n return await makeCall(this.config.key, method, path, data, this.config.staticDomain, options);\n }\n\n async callGeo(method: string, path: string, data: RequestData, options?: FetchOptions): Promise<any> {\n return await makeCall(this.config.key, method, path, data, this.config.geoDomain, options);\n }\n\n async callCdn(method: string, path: string, data: RequestData, options?: FetchOptions): Promise<any> {\n return await makeCall(this.config.key, method, path, data, this.config.cdnDomain, options);\n }\n\n async callApi(method: string, path: string, data: RequestData, options?: FetchOptions): Promise<any> {\n return await makeCall(this.config.key, method, path, data, this.config.domain, options);\n }\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default Api;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
package/dist/api.mjs CHANGED
@@ -1,17 +1,4 @@
1
1
  import { serialize } from "~/utilities";
2
- const config = {
3
- /**
4
- * @deprecated
5
- */
6
- cdnDomain: "https://cdn.rebuyengine.com",
7
- domain: "https://rebuyengine.com",
8
- eventDomain: "https://rebuyengine.com",
9
- geoDomain: "https://geo.rebuyengine.com",
10
- key: null,
11
- shieldDomain: "https://cached.rebuyengine.com",
12
- shop: null,
13
- staticDomain: "https://cdn.rebuyengine.com"
14
- };
15
2
  const staging = {
16
3
  /**
17
4
  * @deprecated
@@ -35,7 +22,7 @@ const stagingDomains = [
35
22
  "mike-reids-test-store.myshopify.com",
36
23
  "dash-ext-hoke.myshopify.com"
37
24
  ];
38
- const makeCall = async (method, path, data, origin, options = {}) => {
25
+ const makeCall = async (key, method, path, data, origin, options = {}) => {
39
26
  const url = `${origin}${path}`;
40
27
  const requestUrl = new URL(url);
41
28
  const fetchOptions = options?.fetch ?? {};
@@ -43,8 +30,8 @@ const makeCall = async (method, path, data, origin, options = {}) => {
43
30
  if (typeof data == "object" && data != null) {
44
31
  Object.assign(requestData, data);
45
32
  }
46
- if (typeof config.key == "string" && config.key.length > 0) {
47
- Object.assign(requestData, { key: config.key });
33
+ if (typeof key == "string" && key.length > 0) {
34
+ Object.assign(requestData, { key });
48
35
  }
49
36
  const requestObject = {
50
37
  method,
@@ -68,39 +55,52 @@ const makeCall = async (method, path, data, origin, options = {}) => {
68
55
  };
69
56
  class Api {
70
57
  constructor(options) {
58
+ this.config = {
59
+ /**
60
+ * @deprecated
61
+ */
62
+ cdnDomain: "https://cdn.rebuyengine.com",
63
+ domain: "https://rebuyengine.com",
64
+ eventDomain: "https://rebuyengine.com",
65
+ geoDomain: "https://geo.rebuyengine.com",
66
+ key: null,
67
+ shieldDomain: "https://cached.rebuyengine.com",
68
+ shop: null,
69
+ staticDomain: "https://cdn.rebuyengine.com"
70
+ };
71
71
  if (typeof options == "string") {
72
- config.key = options;
72
+ this.config.key = options;
73
73
  } else if (typeof options == "object" && options != null) {
74
- Object.assign(config, options);
74
+ Object.assign(this.config, options);
75
75
  }
76
76
  for (const domain of stagingDomains) {
77
77
  if (typeof location === "object" && location?.host?.includes(domain)) {
78
- Object.assign(config, staging);
78
+ Object.assign(this.config, staging);
79
79
  break;
80
80
  }
81
- if (typeof config.shop === "string" && config.shop.includes(domain)) {
82
- Object.assign(config, staging);
81
+ if (typeof this.config.shop === "string" && this.config.shop.includes(domain)) {
82
+ Object.assign(this.config, staging);
83
83
  break;
84
84
  }
85
85
  }
86
86
  }
87
87
  async callEvent(method, path, data, options) {
88
- return await makeCall(method, path, data, config.eventDomain, options);
88
+ return await makeCall(this.config.key, method, path, data, this.config.eventDomain, options);
89
89
  }
90
90
  async callShield(method, path, data, options) {
91
- return await makeCall(method, path, data, config.shieldDomain, options);
91
+ return await makeCall(this.config.key, method, path, data, this.config.shieldDomain, options);
92
92
  }
93
93
  async callStatic(method, path, data, options) {
94
- return await makeCall(method, path, data, config.staticDomain, options);
94
+ return await makeCall(this.config.key, method, path, data, this.config.staticDomain, options);
95
95
  }
96
96
  async callGeo(method, path, data, options) {
97
- return await makeCall(method, path, data, config.geoDomain, options);
97
+ return await makeCall(this.config.key, method, path, data, this.config.geoDomain, options);
98
98
  }
99
99
  async callCdn(method, path, data, options) {
100
- return await makeCall(method, path, data, config.cdnDomain, options);
100
+ return await makeCall(this.config.key, method, path, data, this.config.cdnDomain, options);
101
101
  }
102
102
  async callApi(method, path, data, options) {
103
- return await makeCall(method, path, data, config.domain, options);
103
+ return await makeCall(this.config.key, method, path, data, this.config.domain, options);
104
104
  }
105
105
  }
106
106
  var api_default = Api;
package/dist/api.mjs.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/api.ts"],
4
- "sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { serialize } from '~/utilities';\n\n// Type definitions\n\ntype Config = {\n /**\n * @deprecated\n */\n cdnDomain: string;\n domain: string;\n eventDomain: string;\n geoDomain: string;\n key: string | null;\n shieldDomain: string;\n shop: string | null;\n staticDomain: string;\n};\n\ntype Staging = Omit<Config, 'key' | 'shop'>;\n\ntype FetchOptions = {\n fetch?: RequestInit & { strictErrors?: boolean };\n};\n\ntype RequestData = Record<string, any> | null;\n\nconst config: Config = {\n /**\n * @deprecated\n */\n cdnDomain: 'https://cdn.rebuyengine.com',\n domain: 'https://rebuyengine.com',\n eventDomain: 'https://rebuyengine.com',\n geoDomain: 'https://geo.rebuyengine.com',\n key: null,\n shieldDomain: 'https://cached.rebuyengine.com',\n shop: null,\n staticDomain: 'https://cdn.rebuyengine.com',\n};\n\nconst staging: Staging = {\n /**\n * @deprecated\n */\n cdnDomain: 'https://cdn.enigneyuber.com',\n domain: 'https://enigneyuber.com',\n eventDomain: 'https://enigneyuber.com',\n geoDomain: 'https://geo.enigneyuber.com',\n shieldDomain: 'https://cached.enigneyuber.com',\n staticDomain: 'https://cdn.enigneyuber.com',\n};\n\nconst stagingDomains: string[] = [\n 'enigneyuber.com',\n 'rebuy-engine-regression.myshopify.com',\n 'rebuy-stage-currency-test.myshopify.com',\n 'rebuy-staging-automation.myshopify.com',\n 'rebuy-staging-regression.myshopify.com',\n 'rebuy-uat.myshopify.com',\n 'rebuy-regression-qa.myshopify.com',\n 'senator-staging.myshopify.com',\n 'mike-reids-test-store.myshopify.com',\n 'dash-ext-hoke.myshopify.com',\n];\n\nconst makeCall = async (\n method: string,\n path: string,\n data: RequestData,\n origin: string,\n options: FetchOptions = {}\n): Promise<any> => {\n const url = `${origin}${path}`;\n const requestUrl = new URL(url);\n const fetchOptions = options?.fetch ?? {};\n\n const requestData: RequestData = {};\n\n if (typeof data == 'object' && data != null) {\n Object.assign(requestData, data);\n }\n\n if (typeof config.key == 'string' && config.key.length > 0) {\n Object.assign(requestData, { key: config.key });\n }\n\n const requestObject: RequestInit & { strictErrors?: boolean } = {\n method,\n ...fetchOptions,\n };\n\n if (method === 'GET') {\n requestUrl.search = serialize(requestData);\n } else if (method === 'POST') {\n requestObject.headers = {\n 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',\n };\n requestObject.body = new URLSearchParams(requestData) as any;\n }\n\n const request = await fetch(requestUrl.toString(), requestObject);\n const response = await request.json();\n\n if (!request.ok && fetchOptions.strictErrors === true) {\n const message = `An error has occurred: ${request.status}`;\n throw new Error(message, { cause: response });\n }\n\n return response;\n};\n\nexport class Api {\n constructor(options: string | Partial<Config> | null) {\n if (typeof options == 'string') {\n config.key = options;\n } else if (typeof options == 'object' && options != null) {\n Object.assign(config, options);\n }\n\n for (const domain of stagingDomains) {\n if (typeof location === 'object' && (location as any)?.host?.includes(domain)) {\n Object.assign(config, staging);\n break;\n }\n\n if (typeof config.shop === 'string' && config.shop.includes(domain)) {\n Object.assign(config, staging);\n break;\n }\n }\n }\n\n async callEvent(method: string, path: string, data: RequestData, options?: FetchOptions): Promise<any> {\n return await makeCall(method, path, data, config.eventDomain, options);\n }\n\n async callShield(method: string, path: string, data: RequestData, options?: FetchOptions): Promise<any> {\n return await makeCall(method, path, data, config.shieldDomain, options);\n }\n\n async callStatic(method: string, path: string, data: RequestData, options?: FetchOptions): Promise<any> {\n return await makeCall(method, path, data, config.staticDomain, options);\n }\n\n async callGeo(method: string, path: string, data: RequestData, options?: FetchOptions): Promise<any> {\n return await makeCall(method, path, data, config.geoDomain, options);\n }\n\n async callCdn(method: string, path: string, data: RequestData, options?: FetchOptions): Promise<any> {\n return await makeCall(method, path, data, config.cdnDomain, options);\n }\n\n async callApi(method: string, path: string, data: RequestData, options?: FetchOptions): Promise<any> {\n return await makeCall(method, path, data, config.domain, options);\n }\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default Api;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport { serialize } from '~/utilities';\n\n// Type definitions\n\ntype Config = {\n /**\n * @deprecated\n */\n cdnDomain: string;\n domain: string;\n eventDomain: string;\n geoDomain: string;\n key: string | null;\n shieldDomain: string;\n shop: string | null;\n staticDomain: string;\n};\n\ntype Staging = Omit<Config, 'key' | 'shop'>;\n\ntype FetchOptions = {\n fetch?: RequestInit & { strictErrors?: boolean };\n};\n\ntype RequestData = Record<string, any> | null;\n\nconst staging: Staging = {\n /**\n * @deprecated\n */\n cdnDomain: 'https://cdn.enigneyuber.com',\n domain: 'https://enigneyuber.com',\n eventDomain: 'https://enigneyuber.com',\n geoDomain: 'https://geo.enigneyuber.com',\n shieldDomain: 'https://cached.enigneyuber.com',\n staticDomain: 'https://cdn.enigneyuber.com',\n};\n\nconst stagingDomains: string[] = [\n 'enigneyuber.com',\n 'rebuy-engine-regression.myshopify.com',\n 'rebuy-stage-currency-test.myshopify.com',\n 'rebuy-staging-automation.myshopify.com',\n 'rebuy-staging-regression.myshopify.com',\n 'rebuy-uat.myshopify.com',\n 'rebuy-regression-qa.myshopify.com',\n 'senator-staging.myshopify.com',\n 'mike-reids-test-store.myshopify.com',\n 'dash-ext-hoke.myshopify.com',\n];\n\nconst makeCall = async (\n key: string | null,\n method: string,\n path: string,\n data: RequestData,\n origin: string,\n options: FetchOptions = {}\n): Promise<any> => {\n const url = `${origin}${path}`;\n const requestUrl = new URL(url);\n const fetchOptions = options?.fetch ?? {};\n\n const requestData: RequestData = {};\n\n if (typeof data == 'object' && data != null) {\n Object.assign(requestData, data);\n }\n\n if (typeof key == 'string' && key.length > 0) {\n Object.assign(requestData, { key: key });\n }\n\n const requestObject: RequestInit & { strictErrors?: boolean } = {\n method,\n ...fetchOptions,\n };\n\n if (method === 'GET') {\n requestUrl.search = serialize(requestData);\n } else if (method === 'POST') {\n requestObject.headers = {\n 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',\n };\n requestObject.body = new URLSearchParams(requestData) as any;\n }\n\n const request = await fetch(requestUrl.toString(), requestObject);\n const response = await request.json();\n\n if (!request.ok && fetchOptions.strictErrors === true) {\n const message = `An error has occurred: ${request.status}`;\n throw new Error(message, { cause: response });\n }\n\n return response;\n};\n\nexport class Api {\n private config: Config;\n\n constructor(options: string | Partial<Config> | null) {\n this.config = {\n /**\n * @deprecated\n */\n cdnDomain: 'https://cdn.rebuyengine.com',\n domain: 'https://rebuyengine.com',\n eventDomain: 'https://rebuyengine.com',\n geoDomain: 'https://geo.rebuyengine.com',\n key: null,\n shieldDomain: 'https://cached.rebuyengine.com',\n shop: null,\n staticDomain: 'https://cdn.rebuyengine.com',\n };\n\n if (typeof options == 'string') {\n this.config.key = options;\n } else if (typeof options == 'object' && options != null) {\n Object.assign(this.config, options);\n }\n\n for (const domain of stagingDomains) {\n if (typeof location === 'object' && (location as any)?.host?.includes(domain)) {\n Object.assign(this.config, staging);\n break;\n }\n\n if (typeof this.config.shop === 'string' && this.config.shop.includes(domain)) {\n Object.assign(this.config, staging);\n break;\n }\n }\n }\n\n async callEvent(method: string, path: string, data: RequestData, options?: FetchOptions): Promise<any> {\n return await makeCall(this.config.key, method, path, data, this.config.eventDomain, options);\n }\n\n async callShield(method: string, path: string, data: RequestData, options?: FetchOptions): Promise<any> {\n return await makeCall(this.config.key, method, path, data, this.config.shieldDomain, options);\n }\n\n async callStatic(method: string, path: string, data: RequestData, options?: FetchOptions): Promise<any> {\n return await makeCall(this.config.key, method, path, data, this.config.staticDomain, options);\n }\n\n async callGeo(method: string, path: string, data: RequestData, options?: FetchOptions): Promise<any> {\n return await makeCall(this.config.key, method, path, data, this.config.geoDomain, options);\n }\n\n async callCdn(method: string, path: string, data: RequestData, options?: FetchOptions): Promise<any> {\n return await makeCall(this.config.key, method, path, data, this.config.cdnDomain, options);\n }\n\n async callApi(method: string, path: string, data: RequestData, options?: FetchOptions): Promise<any> {\n return await makeCall(this.config.key, method, path, data, this.config.domain, options);\n }\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default Api;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
package/dist/client.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export declare class RebuyClient {
2
+ private config;
2
3
  constructor(key: string, defaultParameters?: Record<string, any>, shop?: string);
3
4
  setDefaultParameters(defaultParameters: Record<string, any>): void;
4
5
  setContextParameters(contextParameters: Record<string, any>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAqGA,qBAAa,WAAW;gBACR,GAAG,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM;IAiB/E,oBAAoB,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAMlE,oBAAoB,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAM5D,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAIvG,cAAc,CAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAClC,OAAO,CAAC,GAAG,CAAC;IAIT,gBAAgB,CAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAClC,OAAO,CAAC,GAAG,CAAC;IAIT,cAAc,CAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAClC,OAAO,CAAC,GAAG,CAAC;IAIT,iBAAiB,CACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAClC,OAAO,CAAC,GAAG,CAAC;IAIT,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;CAqBpE;AAGD,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAgGA,qBAAa,WAAW;IACpB,OAAO,CAAC,MAAM,CAAS;gBAEX,GAAG,EAAE,MAAM,EAAE,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM;IA0B/E,oBAAoB,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAMlE,oBAAoB,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAM5D,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAIvG,cAAc,CAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAClC,OAAO,CAAC,GAAG,CAAC;IAIT,gBAAgB,CAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAClC,OAAO,CAAC,GAAG,CAAC;IAIT,cAAc,CAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAClC,OAAO,CAAC,GAAG,CAAC;IAIT,iBAAiB,CACnB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,GAClC,OAAO,CAAC,GAAG,CAAC;IAIT,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;CAqBpE;AAGD,eAAe,WAAW,CAAC"}
package/dist/client.js CHANGED
@@ -35,30 +35,22 @@ module.exports = __toCommonJS(client_exports);
35
35
  var import_api = __toESM(require("~/api"), 1);
36
36
  var import_identity = __toESM(require("~/identity"), 1);
37
37
  var import_utilities = require("~/utilities");
38
- const config = {
39
- api: null,
40
- contextParameters: null,
41
- defaultParameters: null,
42
- identity: null,
43
- key: null,
44
- shop: null
45
- };
46
- const trackEvent = async (eventData) => {
38
+ const trackEvent = async (config, eventData) => {
47
39
  if (config.identity && config.identity.visitorId()) {
48
40
  eventData.uuid = config.identity.visitorId();
49
41
  }
50
42
  return await config.api.callEvent("POST", "/api/v1/analytics/event", eventData);
51
43
  };
52
- const makeShieldCall = async (endpoint, params, format, options = {}) => {
53
- return await makeCall(endpoint, params, format, { ...options, shield: true });
44
+ const makeShieldCall = async (config, endpoint, params, format, options = {}) => {
45
+ return await makeCall(config, endpoint, params, format, { ...options, shield: true });
54
46
  };
55
- const makeStaticCall = async (endpoint, params, format, options = {}) => {
56
- return await makeCall(endpoint, params, format, { ...options, static: true });
47
+ const makeStaticCall = async (config, endpoint, params, format, options = {}) => {
48
+ return await makeCall(config, endpoint, params, format, { ...options, static: true });
57
49
  };
58
- const makeCDNCall = async (endpoint, params, format, options = {}) => {
59
- return await makeCall(endpoint, params, format, { ...options, cdn: true });
50
+ const makeCDNCall = async (config, endpoint, params, format, options = {}) => {
51
+ return await makeCall(config, endpoint, params, format, { ...options, cdn: true });
60
52
  };
61
- const makeCall = async (endpoint, params, format, options = {}) => {
53
+ const makeCall = async (config, endpoint, params, format, options = {}) => {
62
54
  const query = {};
63
55
  if (config.defaultParameters != null) {
64
56
  Object.assign(query, config.defaultParameters);
@@ -87,42 +79,50 @@ const makeCall = async (endpoint, params, format, options = {}) => {
87
79
  };
88
80
  class RebuyClient {
89
81
  constructor(key, defaultParameters, shop) {
82
+ this.config = {
83
+ api: null,
84
+ contextParameters: null,
85
+ defaultParameters: null,
86
+ identity: null,
87
+ key: null,
88
+ shop: null
89
+ };
90
90
  if (typeof key == "string") {
91
- config.key = key;
91
+ this.config.key = key;
92
92
  }
93
93
  if (typeof defaultParameters == "object" && defaultParameters != null) {
94
- config.defaultParameters = defaultParameters;
94
+ this.config.defaultParameters = defaultParameters;
95
95
  }
96
96
  if (typeof shop == "string" && shop.endsWith(".myshopify.com")) {
97
- config.shop = shop;
97
+ this.config.shop = shop;
98
98
  }
99
- config.api = new import_api.default({ key: config.key, shop: config.shop });
100
- config.identity = new import_identity.default(config.key);
99
+ this.config.api = new import_api.default({ key: this.config.key, shop: this.config.shop });
100
+ this.config.identity = new import_identity.default(this.config.key);
101
101
  }
102
102
  setDefaultParameters(defaultParameters) {
103
103
  if (typeof defaultParameters == "object" && defaultParameters != null) {
104
- config.defaultParameters = defaultParameters;
104
+ this.config.defaultParameters = defaultParameters;
105
105
  }
106
106
  }
107
107
  setContextParameters(contextParameters) {
108
108
  if (typeof contextParameters == "object" && contextParameters != null) {
109
- config.contextParameters = contextParameters;
109
+ this.config.contextParameters = contextParameters;
110
110
  }
111
111
  }
112
112
  async getData(endpoint, params, options = {}) {
113
- return await makeCall(endpoint, params, null, options);
113
+ return await makeCall(this.config, endpoint, params, null, options);
114
114
  }
115
115
  async getDataFromCDN(endpoint, params, options = {}) {
116
- return await makeCDNCall(endpoint, params, null, options);
116
+ return await makeCDNCall(this.config, endpoint, params, null, options);
117
117
  }
118
118
  async getShieldedAsset(endpoint, params, options = {}) {
119
- return await makeShieldCall(endpoint, params, null, options);
119
+ return await makeShieldCall(this.config, endpoint, params, null, options);
120
120
  }
121
121
  async getStaticAsset(endpoint, params, options = {}) {
122
- return await makeStaticCall(endpoint, params, null, options);
122
+ return await makeStaticCall(this.config, endpoint, params, null, options);
123
123
  }
124
124
  async getStorefrontData(endpoint, params, options = {}) {
125
- return await makeCall(endpoint, params, "storefront", options);
125
+ return await makeCall(this.config, endpoint, params, "storefront", options);
126
126
  }
127
127
  async trackProductViewed(data) {
128
128
  const requiredKeys = ["shopify_product_id", "shopify_product_handle"];
@@ -135,7 +135,7 @@ class RebuyClient {
135
135
  const dataKeys = Object.keys(data);
136
136
  if (dataKeys.some((key) => requiredKeys.includes(key))) {
137
137
  const payload = Object.assign(data, defaultData);
138
- return await trackEvent(payload);
138
+ return await trackEvent(this.config, payload);
139
139
  }
140
140
  }
141
141
  return null;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/client.ts"],
4
- "sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport Api from '~/api';\nimport Identity from '~/identity';\nimport { convertProductToStorefrontFormat } from '~/utilities';\n\ntype Config = {\n api: any;\n contextParameters: Record<string, any> | null;\n defaultParameters: Record<string, any> | null;\n identity: any;\n key: string | null;\n shop: string | null;\n};\n\nconst config: Config = {\n api: null,\n contextParameters: null,\n defaultParameters: null,\n identity: null,\n key: null,\n shop: null,\n};\n\nconst trackEvent = async (eventData: Record<string, any>): Promise<any> => {\n if (config.identity && config.identity.visitorId()) {\n eventData.uuid = config.identity.visitorId();\n }\n\n return await config.api.callEvent('POST', '/api/v1/analytics/event', eventData);\n};\n\nconst makeShieldCall = async (\n endpoint: string,\n params: Record<string, any>,\n format: string | null,\n options: Record<string, any> = {}\n): Promise<any> => {\n return await makeCall(endpoint, params, format, { ...options, shield: true });\n};\n\nconst makeStaticCall = async (\n endpoint: string,\n params: Record<string, any>,\n format: string | null,\n options: Record<string, any> = {}\n): Promise<any> => {\n return await makeCall(endpoint, params, format, { ...options, static: true });\n};\n\nconst makeCDNCall = async (\n endpoint: string,\n params: Record<string, any>,\n format: string | null,\n options: Record<string, any> = {}\n): Promise<any> => {\n return await makeCall(endpoint, params, format, { ...options, cdn: true });\n};\n\nconst makeCall = async (\n endpoint: string,\n params: Record<string, any>,\n format: string | null,\n options: Record<string, any> = {}\n): Promise<any> => {\n const query: Record<string, any> = {};\n\n if (config.defaultParameters != null) {\n Object.assign(query, config.defaultParameters);\n }\n\n if (config.contextParameters != null) {\n Object.assign(query, config.contextParameters);\n }\n\n if (typeof params == 'object' && params != null) {\n Object.assign(query, params);\n }\n\n if (typeof options != 'object' || options == null) {\n console.warn('Unsupported fetch options provided.', options);\n options = {};\n }\n\n if (config.identity && config.identity.visitorId()) {\n query.uuid = config.identity.visitorId();\n }\n\n // Origin or dedicated edge?\n const source = options.cdn ? 'callCdn' : options.shield ? 'callShield' : options.static ? 'callStatic' : 'callApi';\n const response = await config.api[source]('GET', endpoint, query, options);\n\n if (response.data && format === 'storefront') {\n for (let i = 0; i < response.data.length; i++) {\n response.data[i] = convertProductToStorefrontFormat(response.data[i]);\n }\n }\n\n return response;\n};\n\nexport class RebuyClient {\n constructor(key: string, defaultParameters?: Record<string, any>, shop?: string) {\n if (typeof key == 'string') {\n config.key = key;\n }\n\n if (typeof defaultParameters == 'object' && defaultParameters != null) {\n config.defaultParameters = defaultParameters;\n }\n\n if (typeof shop == 'string' && shop.endsWith('.myshopify.com')) {\n config.shop = shop;\n }\n\n config.api = new Api({ key: config.key, shop: config.shop });\n config.identity = new Identity(config.key);\n }\n\n setDefaultParameters(defaultParameters: Record<string, any>): void {\n if (typeof defaultParameters == 'object' && defaultParameters != null) {\n config.defaultParameters = defaultParameters;\n }\n }\n\n setContextParameters(contextParameters: Record<string, any>): void {\n if (typeof contextParameters == 'object' && contextParameters != null) {\n config.contextParameters = contextParameters;\n }\n }\n\n async getData(endpoint: string, params: Record<string, any>, options: Record<string, any> = {}): Promise<any> {\n return await makeCall(endpoint, params, null, options);\n }\n\n async getDataFromCDN(\n endpoint: string,\n params: Record<string, any>,\n options: Record<string, any> = {}\n ): Promise<any> {\n return await makeCDNCall(endpoint, params, null, options);\n }\n\n async getShieldedAsset(\n endpoint: string,\n params: Record<string, any>,\n options: Record<string, any> = {}\n ): Promise<any> {\n return await makeShieldCall(endpoint, params, null, options);\n }\n\n async getStaticAsset(\n endpoint: string,\n params: Record<string, any>,\n options: Record<string, any> = {}\n ): Promise<any> {\n return await makeStaticCall(endpoint, params, null, options);\n }\n\n async getStorefrontData(\n endpoint: string,\n params: Record<string, any>,\n options: Record<string, any> = {}\n ): Promise<any> {\n return await makeCall(endpoint, params, 'storefront', options);\n }\n\n async trackProductViewed(data: Record<string, any>): Promise<any> {\n const requiredKeys = ['shopify_product_id', 'shopify_product_handle'];\n\n const defaultData = {\n noun: 'product',\n subject: 'user',\n verb: 'viewed',\n };\n\n if (typeof data != 'undefined' && data != null) {\n const dataKeys = Object.keys(data);\n\n if (dataKeys.some((key) => requiredKeys.includes(key))) {\n const payload = Object.assign(data, defaultData);\n\n return await trackEvent(payload);\n }\n }\n\n return null;\n }\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default RebuyClient;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport Api from '~/api';\nimport Identity from '~/identity';\nimport { convertProductToStorefrontFormat } from '~/utilities';\n\ntype Config = {\n api: any;\n contextParameters: Record<string, any> | null;\n defaultParameters: Record<string, any> | null;\n identity: any;\n key: string | null;\n shop: string | null;\n};\n\nconst trackEvent = async (config: Config, eventData: Record<string, any>): Promise<any> => {\n if (config.identity && config.identity.visitorId()) {\n eventData.uuid = config.identity.visitorId();\n }\n\n return await config.api.callEvent('POST', '/api/v1/analytics/event', eventData);\n};\n\nconst makeShieldCall = async (\n config: Config,\n endpoint: string,\n params: Record<string, any>,\n format: string | null,\n options: Record<string, any> = {}\n): Promise<any> => {\n return await makeCall(config, endpoint, params, format, { ...options, shield: true });\n};\n\nconst makeStaticCall = async (\n config: Config,\n endpoint: string,\n params: Record<string, any>,\n format: string | null,\n options: Record<string, any> = {}\n): Promise<any> => {\n return await makeCall(config, endpoint, params, format, { ...options, static: true });\n};\n\nconst makeCDNCall = async (\n config: Config,\n endpoint: string,\n params: Record<string, any>,\n format: string | null,\n options: Record<string, any> = {}\n): Promise<any> => {\n return await makeCall(config, endpoint, params, format, { ...options, cdn: true });\n};\n\nconst makeCall = async (\n config: Config,\n endpoint: string,\n params: Record<string, any>,\n format: string | null,\n options: Record<string, any> = {}\n): Promise<any> => {\n const query: Record<string, any> = {};\n\n if (config.defaultParameters != null) {\n Object.assign(query, config.defaultParameters);\n }\n\n if (config.contextParameters != null) {\n Object.assign(query, config.contextParameters);\n }\n\n if (typeof params == 'object' && params != null) {\n Object.assign(query, params);\n }\n\n if (typeof options != 'object' || options == null) {\n console.warn('Unsupported fetch options provided.', options);\n options = {};\n }\n\n if (config.identity && config.identity.visitorId()) {\n query.uuid = config.identity.visitorId();\n }\n\n // Origin or dedicated edge?\n const source = options.cdn ? 'callCdn' : options.shield ? 'callShield' : options.static ? 'callStatic' : 'callApi';\n const response = await config.api[source]('GET', endpoint, query, options);\n\n if (response.data && format === 'storefront') {\n for (let i = 0; i < response.data.length; i++) {\n response.data[i] = convertProductToStorefrontFormat(response.data[i]);\n }\n }\n\n return response;\n};\n\nexport class RebuyClient {\n private config: Config;\n\n constructor(key: string, defaultParameters?: Record<string, any>, shop?: string) {\n this.config = {\n api: null,\n contextParameters: null,\n defaultParameters: null,\n identity: null,\n key: null,\n shop: null,\n };\n\n if (typeof key == 'string') {\n this.config.key = key;\n }\n\n if (typeof defaultParameters == 'object' && defaultParameters != null) {\n this.config.defaultParameters = defaultParameters;\n }\n\n if (typeof shop == 'string' && shop.endsWith('.myshopify.com')) {\n this.config.shop = shop;\n }\n\n this.config.api = new Api({ key: this.config.key, shop: this.config.shop });\n this.config.identity = new Identity(this.config.key);\n }\n\n setDefaultParameters(defaultParameters: Record<string, any>): void {\n if (typeof defaultParameters == 'object' && defaultParameters != null) {\n this.config.defaultParameters = defaultParameters;\n }\n }\n\n setContextParameters(contextParameters: Record<string, any>): void {\n if (typeof contextParameters == 'object' && contextParameters != null) {\n this.config.contextParameters = contextParameters;\n }\n }\n\n async getData(endpoint: string, params: Record<string, any>, options: Record<string, any> = {}): Promise<any> {\n return await makeCall(this.config, endpoint, params, null, options);\n }\n\n async getDataFromCDN(\n endpoint: string,\n params: Record<string, any>,\n options: Record<string, any> = {}\n ): Promise<any> {\n return await makeCDNCall(this.config, endpoint, params, null, options);\n }\n\n async getShieldedAsset(\n endpoint: string,\n params: Record<string, any>,\n options: Record<string, any> = {}\n ): Promise<any> {\n return await makeShieldCall(this.config, endpoint, params, null, options);\n }\n\n async getStaticAsset(\n endpoint: string,\n params: Record<string, any>,\n options: Record<string, any> = {}\n ): Promise<any> {\n return await makeStaticCall(this.config, endpoint, params, null, options);\n }\n\n async getStorefrontData(\n endpoint: string,\n params: Record<string, any>,\n options: Record<string, any> = {}\n ): Promise<any> {\n return await makeCall(this.config, endpoint, params, 'storefront', options);\n }\n\n async trackProductViewed(data: Record<string, any>): Promise<any> {\n const requiredKeys = ['shopify_product_id', 'shopify_product_handle'];\n\n const defaultData = {\n noun: 'product',\n subject: 'user',\n verb: 'viewed',\n };\n\n if (typeof data != 'undefined' && data != null) {\n const dataKeys = Object.keys(data);\n\n if (dataKeys.some((key) => requiredKeys.includes(key))) {\n const payload = Object.assign(data, defaultData);\n\n return await trackEvent(this.config, payload);\n }\n }\n\n return null;\n }\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default RebuyClient;\n"],
5
+ "mappings": "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",
6
6
  "names": ["Api", "Identity"]
7
7
  }
package/dist/client.mjs CHANGED
@@ -1,30 +1,22 @@
1
1
  import Api from "~/api";
2
2
  import Identity from "~/identity";
3
3
  import { convertProductToStorefrontFormat } from "~/utilities";
4
- const config = {
5
- api: null,
6
- contextParameters: null,
7
- defaultParameters: null,
8
- identity: null,
9
- key: null,
10
- shop: null
11
- };
12
- const trackEvent = async (eventData) => {
4
+ const trackEvent = async (config, eventData) => {
13
5
  if (config.identity && config.identity.visitorId()) {
14
6
  eventData.uuid = config.identity.visitorId();
15
7
  }
16
8
  return await config.api.callEvent("POST", "/api/v1/analytics/event", eventData);
17
9
  };
18
- const makeShieldCall = async (endpoint, params, format, options = {}) => {
19
- return await makeCall(endpoint, params, format, { ...options, shield: true });
10
+ const makeShieldCall = async (config, endpoint, params, format, options = {}) => {
11
+ return await makeCall(config, endpoint, params, format, { ...options, shield: true });
20
12
  };
21
- const makeStaticCall = async (endpoint, params, format, options = {}) => {
22
- return await makeCall(endpoint, params, format, { ...options, static: true });
13
+ const makeStaticCall = async (config, endpoint, params, format, options = {}) => {
14
+ return await makeCall(config, endpoint, params, format, { ...options, static: true });
23
15
  };
24
- const makeCDNCall = async (endpoint, params, format, options = {}) => {
25
- return await makeCall(endpoint, params, format, { ...options, cdn: true });
16
+ const makeCDNCall = async (config, endpoint, params, format, options = {}) => {
17
+ return await makeCall(config, endpoint, params, format, { ...options, cdn: true });
26
18
  };
27
- const makeCall = async (endpoint, params, format, options = {}) => {
19
+ const makeCall = async (config, endpoint, params, format, options = {}) => {
28
20
  const query = {};
29
21
  if (config.defaultParameters != null) {
30
22
  Object.assign(query, config.defaultParameters);
@@ -53,42 +45,50 @@ const makeCall = async (endpoint, params, format, options = {}) => {
53
45
  };
54
46
  class RebuyClient {
55
47
  constructor(key, defaultParameters, shop) {
48
+ this.config = {
49
+ api: null,
50
+ contextParameters: null,
51
+ defaultParameters: null,
52
+ identity: null,
53
+ key: null,
54
+ shop: null
55
+ };
56
56
  if (typeof key == "string") {
57
- config.key = key;
57
+ this.config.key = key;
58
58
  }
59
59
  if (typeof defaultParameters == "object" && defaultParameters != null) {
60
- config.defaultParameters = defaultParameters;
60
+ this.config.defaultParameters = defaultParameters;
61
61
  }
62
62
  if (typeof shop == "string" && shop.endsWith(".myshopify.com")) {
63
- config.shop = shop;
63
+ this.config.shop = shop;
64
64
  }
65
- config.api = new Api({ key: config.key, shop: config.shop });
66
- config.identity = new Identity(config.key);
65
+ this.config.api = new Api({ key: this.config.key, shop: this.config.shop });
66
+ this.config.identity = new Identity(this.config.key);
67
67
  }
68
68
  setDefaultParameters(defaultParameters) {
69
69
  if (typeof defaultParameters == "object" && defaultParameters != null) {
70
- config.defaultParameters = defaultParameters;
70
+ this.config.defaultParameters = defaultParameters;
71
71
  }
72
72
  }
73
73
  setContextParameters(contextParameters) {
74
74
  if (typeof contextParameters == "object" && contextParameters != null) {
75
- config.contextParameters = contextParameters;
75
+ this.config.contextParameters = contextParameters;
76
76
  }
77
77
  }
78
78
  async getData(endpoint, params, options = {}) {
79
- return await makeCall(endpoint, params, null, options);
79
+ return await makeCall(this.config, endpoint, params, null, options);
80
80
  }
81
81
  async getDataFromCDN(endpoint, params, options = {}) {
82
- return await makeCDNCall(endpoint, params, null, options);
82
+ return await makeCDNCall(this.config, endpoint, params, null, options);
83
83
  }
84
84
  async getShieldedAsset(endpoint, params, options = {}) {
85
- return await makeShieldCall(endpoint, params, null, options);
85
+ return await makeShieldCall(this.config, endpoint, params, null, options);
86
86
  }
87
87
  async getStaticAsset(endpoint, params, options = {}) {
88
- return await makeStaticCall(endpoint, params, null, options);
88
+ return await makeStaticCall(this.config, endpoint, params, null, options);
89
89
  }
90
90
  async getStorefrontData(endpoint, params, options = {}) {
91
- return await makeCall(endpoint, params, "storefront", options);
91
+ return await makeCall(this.config, endpoint, params, "storefront", options);
92
92
  }
93
93
  async trackProductViewed(data) {
94
94
  const requiredKeys = ["shopify_product_id", "shopify_product_handle"];
@@ -101,7 +101,7 @@ class RebuyClient {
101
101
  const dataKeys = Object.keys(data);
102
102
  if (dataKeys.some((key) => requiredKeys.includes(key))) {
103
103
  const payload = Object.assign(data, defaultData);
104
- return await trackEvent(payload);
104
+ return await trackEvent(this.config, payload);
105
105
  }
106
106
  }
107
107
  return null;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/client.ts"],
4
- "sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport Api from '~/api';\nimport Identity from '~/identity';\nimport { convertProductToStorefrontFormat } from '~/utilities';\n\ntype Config = {\n api: any;\n contextParameters: Record<string, any> | null;\n defaultParameters: Record<string, any> | null;\n identity: any;\n key: string | null;\n shop: string | null;\n};\n\nconst config: Config = {\n api: null,\n contextParameters: null,\n defaultParameters: null,\n identity: null,\n key: null,\n shop: null,\n};\n\nconst trackEvent = async (eventData: Record<string, any>): Promise<any> => {\n if (config.identity && config.identity.visitorId()) {\n eventData.uuid = config.identity.visitorId();\n }\n\n return await config.api.callEvent('POST', '/api/v1/analytics/event', eventData);\n};\n\nconst makeShieldCall = async (\n endpoint: string,\n params: Record<string, any>,\n format: string | null,\n options: Record<string, any> = {}\n): Promise<any> => {\n return await makeCall(endpoint, params, format, { ...options, shield: true });\n};\n\nconst makeStaticCall = async (\n endpoint: string,\n params: Record<string, any>,\n format: string | null,\n options: Record<string, any> = {}\n): Promise<any> => {\n return await makeCall(endpoint, params, format, { ...options, static: true });\n};\n\nconst makeCDNCall = async (\n endpoint: string,\n params: Record<string, any>,\n format: string | null,\n options: Record<string, any> = {}\n): Promise<any> => {\n return await makeCall(endpoint, params, format, { ...options, cdn: true });\n};\n\nconst makeCall = async (\n endpoint: string,\n params: Record<string, any>,\n format: string | null,\n options: Record<string, any> = {}\n): Promise<any> => {\n const query: Record<string, any> = {};\n\n if (config.defaultParameters != null) {\n Object.assign(query, config.defaultParameters);\n }\n\n if (config.contextParameters != null) {\n Object.assign(query, config.contextParameters);\n }\n\n if (typeof params == 'object' && params != null) {\n Object.assign(query, params);\n }\n\n if (typeof options != 'object' || options == null) {\n console.warn('Unsupported fetch options provided.', options);\n options = {};\n }\n\n if (config.identity && config.identity.visitorId()) {\n query.uuid = config.identity.visitorId();\n }\n\n // Origin or dedicated edge?\n const source = options.cdn ? 'callCdn' : options.shield ? 'callShield' : options.static ? 'callStatic' : 'callApi';\n const response = await config.api[source]('GET', endpoint, query, options);\n\n if (response.data && format === 'storefront') {\n for (let i = 0; i < response.data.length; i++) {\n response.data[i] = convertProductToStorefrontFormat(response.data[i]);\n }\n }\n\n return response;\n};\n\nexport class RebuyClient {\n constructor(key: string, defaultParameters?: Record<string, any>, shop?: string) {\n if (typeof key == 'string') {\n config.key = key;\n }\n\n if (typeof defaultParameters == 'object' && defaultParameters != null) {\n config.defaultParameters = defaultParameters;\n }\n\n if (typeof shop == 'string' && shop.endsWith('.myshopify.com')) {\n config.shop = shop;\n }\n\n config.api = new Api({ key: config.key, shop: config.shop });\n config.identity = new Identity(config.key);\n }\n\n setDefaultParameters(defaultParameters: Record<string, any>): void {\n if (typeof defaultParameters == 'object' && defaultParameters != null) {\n config.defaultParameters = defaultParameters;\n }\n }\n\n setContextParameters(contextParameters: Record<string, any>): void {\n if (typeof contextParameters == 'object' && contextParameters != null) {\n config.contextParameters = contextParameters;\n }\n }\n\n async getData(endpoint: string, params: Record<string, any>, options: Record<string, any> = {}): Promise<any> {\n return await makeCall(endpoint, params, null, options);\n }\n\n async getDataFromCDN(\n endpoint: string,\n params: Record<string, any>,\n options: Record<string, any> = {}\n ): Promise<any> {\n return await makeCDNCall(endpoint, params, null, options);\n }\n\n async getShieldedAsset(\n endpoint: string,\n params: Record<string, any>,\n options: Record<string, any> = {}\n ): Promise<any> {\n return await makeShieldCall(endpoint, params, null, options);\n }\n\n async getStaticAsset(\n endpoint: string,\n params: Record<string, any>,\n options: Record<string, any> = {}\n ): Promise<any> {\n return await makeStaticCall(endpoint, params, null, options);\n }\n\n async getStorefrontData(\n endpoint: string,\n params: Record<string, any>,\n options: Record<string, any> = {}\n ): Promise<any> {\n return await makeCall(endpoint, params, 'storefront', options);\n }\n\n async trackProductViewed(data: Record<string, any>): Promise<any> {\n const requiredKeys = ['shopify_product_id', 'shopify_product_handle'];\n\n const defaultData = {\n noun: 'product',\n subject: 'user',\n verb: 'viewed',\n };\n\n if (typeof data != 'undefined' && data != null) {\n const dataKeys = Object.keys(data);\n\n if (dataKeys.some((key) => requiredKeys.includes(key))) {\n const payload = Object.assign(data, defaultData);\n\n return await trackEvent(payload);\n }\n }\n\n return null;\n }\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default RebuyClient;\n"],
5
- "mappings": "AAEA,OAAO,SAAS;AAChB,OAAO,cAAc;AACrB,SAAS,wCAAwC;AAWjD,MAAM,SAAiB;AAAA,EACnB,KAAK;AAAA,EACL,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,UAAU;AAAA,EACV,KAAK;AAAA,EACL,MAAM;AACV;AAEA,MAAM,aAAa,OAAO,cAAiD;AACvE,MAAI,OAAO,YAAY,OAAO,SAAS,UAAU,GAAG;AAChD,cAAU,OAAO,OAAO,SAAS,UAAU;AAAA,EAC/C;AAEA,SAAO,MAAM,OAAO,IAAI,UAAU,QAAQ,2BAA2B,SAAS;AAClF;AAEA,MAAM,iBAAiB,OACnB,UACA,QACA,QACA,UAA+B,CAAC,MACjB;AACf,SAAO,MAAM,SAAS,UAAU,QAAQ,QAAQ,EAAE,GAAG,SAAS,QAAQ,KAAK,CAAC;AAChF;AAEA,MAAM,iBAAiB,OACnB,UACA,QACA,QACA,UAA+B,CAAC,MACjB;AACf,SAAO,MAAM,SAAS,UAAU,QAAQ,QAAQ,EAAE,GAAG,SAAS,QAAQ,KAAK,CAAC;AAChF;AAEA,MAAM,cAAc,OAChB,UACA,QACA,QACA,UAA+B,CAAC,MACjB;AACf,SAAO,MAAM,SAAS,UAAU,QAAQ,QAAQ,EAAE,GAAG,SAAS,KAAK,KAAK,CAAC;AAC7E;AAEA,MAAM,WAAW,OACb,UACA,QACA,QACA,UAA+B,CAAC,MACjB;AACf,QAAM,QAA6B,CAAC;AAEpC,MAAI,OAAO,qBAAqB,MAAM;AAClC,WAAO,OAAO,OAAO,OAAO,iBAAiB;AAAA,EACjD;AAEA,MAAI,OAAO,qBAAqB,MAAM;AAClC,WAAO,OAAO,OAAO,OAAO,iBAAiB;AAAA,EACjD;AAEA,MAAI,OAAO,UAAU,YAAY,UAAU,MAAM;AAC7C,WAAO,OAAO,OAAO,MAAM;AAAA,EAC/B;AAEA,MAAI,OAAO,WAAW,YAAY,WAAW,MAAM;AAC/C,YAAQ,KAAK,uCAAuC,OAAO;AAC3D,cAAU,CAAC;AAAA,EACf;AAEA,MAAI,OAAO,YAAY,OAAO,SAAS,UAAU,GAAG;AAChD,UAAM,OAAO,OAAO,SAAS,UAAU;AAAA,EAC3C;AAGA,QAAM,SAAS,QAAQ,MAAM,YAAY,QAAQ,SAAS,eAAe,QAAQ,SAAS,eAAe;AACzG,QAAM,WAAW,MAAM,OAAO,IAAI,MAAM,EAAE,OAAO,UAAU,OAAO,OAAO;AAEzE,MAAI,SAAS,QAAQ,WAAW,cAAc;AAC1C,aAAS,IAAI,GAAG,IAAI,SAAS,KAAK,QAAQ,KAAK;AAC3C,eAAS,KAAK,CAAC,IAAI,iCAAiC,SAAS,KAAK,CAAC,CAAC;AAAA,IACxE;AAAA,EACJ;AAEA,SAAO;AACX;AAEO,MAAM,YAAY;AAAA,EACrB,YAAY,KAAa,mBAAyC,MAAe;AAC7E,QAAI,OAAO,OAAO,UAAU;AACxB,aAAO,MAAM;AAAA,IACjB;AAEA,QAAI,OAAO,qBAAqB,YAAY,qBAAqB,MAAM;AACnE,aAAO,oBAAoB;AAAA,IAC/B;AAEA,QAAI,OAAO,QAAQ,YAAY,KAAK,SAAS,gBAAgB,GAAG;AAC5D,aAAO,OAAO;AAAA,IAClB;AAEA,WAAO,MAAM,IAAI,IAAI,EAAE,KAAK,OAAO,KAAK,MAAM,OAAO,KAAK,CAAC;AAC3D,WAAO,WAAW,IAAI,SAAS,OAAO,GAAG;AAAA,EAC7C;AAAA,EAEA,qBAAqB,mBAA8C;AAC/D,QAAI,OAAO,qBAAqB,YAAY,qBAAqB,MAAM;AACnE,aAAO,oBAAoB;AAAA,IAC/B;AAAA,EACJ;AAAA,EAEA,qBAAqB,mBAA8C;AAC/D,QAAI,OAAO,qBAAqB,YAAY,qBAAqB,MAAM;AACnE,aAAO,oBAAoB;AAAA,IAC/B;AAAA,EACJ;AAAA,EAEA,MAAM,QAAQ,UAAkB,QAA6B,UAA+B,CAAC,GAAiB;AAC1G,WAAO,MAAM,SAAS,UAAU,QAAQ,MAAM,OAAO;AAAA,EACzD;AAAA,EAEA,MAAM,eACF,UACA,QACA,UAA+B,CAAC,GACpB;AACZ,WAAO,MAAM,YAAY,UAAU,QAAQ,MAAM,OAAO;AAAA,EAC5D;AAAA,EAEA,MAAM,iBACF,UACA,QACA,UAA+B,CAAC,GACpB;AACZ,WAAO,MAAM,eAAe,UAAU,QAAQ,MAAM,OAAO;AAAA,EAC/D;AAAA,EAEA,MAAM,eACF,UACA,QACA,UAA+B,CAAC,GACpB;AACZ,WAAO,MAAM,eAAe,UAAU,QAAQ,MAAM,OAAO;AAAA,EAC/D;AAAA,EAEA,MAAM,kBACF,UACA,QACA,UAA+B,CAAC,GACpB;AACZ,WAAO,MAAM,SAAS,UAAU,QAAQ,cAAc,OAAO;AAAA,EACjE;AAAA,EAEA,MAAM,mBAAmB,MAAyC;AAC9D,UAAM,eAAe,CAAC,sBAAsB,wBAAwB;AAEpE,UAAM,cAAc;AAAA,MAChB,MAAM;AAAA,MACN,SAAS;AAAA,MACT,MAAM;AAAA,IACV;AAEA,QAAI,OAAO,QAAQ,eAAe,QAAQ,MAAM;AAC5C,YAAM,WAAW,OAAO,KAAK,IAAI;AAEjC,UAAI,SAAS,KAAK,CAAC,QAAQ,aAAa,SAAS,GAAG,CAAC,GAAG;AACpD,cAAM,UAAU,OAAO,OAAO,MAAM,WAAW;AAE/C,eAAO,MAAM,WAAW,OAAO;AAAA,MACnC;AAAA,IACJ;AAEA,WAAO;AAAA,EACX;AACJ;AAGA,IAAO,iBAAQ;",
4
+ "sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport Api from '~/api';\nimport Identity from '~/identity';\nimport { convertProductToStorefrontFormat } from '~/utilities';\n\ntype Config = {\n api: any;\n contextParameters: Record<string, any> | null;\n defaultParameters: Record<string, any> | null;\n identity: any;\n key: string | null;\n shop: string | null;\n};\n\nconst trackEvent = async (config: Config, eventData: Record<string, any>): Promise<any> => {\n if (config.identity && config.identity.visitorId()) {\n eventData.uuid = config.identity.visitorId();\n }\n\n return await config.api.callEvent('POST', '/api/v1/analytics/event', eventData);\n};\n\nconst makeShieldCall = async (\n config: Config,\n endpoint: string,\n params: Record<string, any>,\n format: string | null,\n options: Record<string, any> = {}\n): Promise<any> => {\n return await makeCall(config, endpoint, params, format, { ...options, shield: true });\n};\n\nconst makeStaticCall = async (\n config: Config,\n endpoint: string,\n params: Record<string, any>,\n format: string | null,\n options: Record<string, any> = {}\n): Promise<any> => {\n return await makeCall(config, endpoint, params, format, { ...options, static: true });\n};\n\nconst makeCDNCall = async (\n config: Config,\n endpoint: string,\n params: Record<string, any>,\n format: string | null,\n options: Record<string, any> = {}\n): Promise<any> => {\n return await makeCall(config, endpoint, params, format, { ...options, cdn: true });\n};\n\nconst makeCall = async (\n config: Config,\n endpoint: string,\n params: Record<string, any>,\n format: string | null,\n options: Record<string, any> = {}\n): Promise<any> => {\n const query: Record<string, any> = {};\n\n if (config.defaultParameters != null) {\n Object.assign(query, config.defaultParameters);\n }\n\n if (config.contextParameters != null) {\n Object.assign(query, config.contextParameters);\n }\n\n if (typeof params == 'object' && params != null) {\n Object.assign(query, params);\n }\n\n if (typeof options != 'object' || options == null) {\n console.warn('Unsupported fetch options provided.', options);\n options = {};\n }\n\n if (config.identity && config.identity.visitorId()) {\n query.uuid = config.identity.visitorId();\n }\n\n // Origin or dedicated edge?\n const source = options.cdn ? 'callCdn' : options.shield ? 'callShield' : options.static ? 'callStatic' : 'callApi';\n const response = await config.api[source]('GET', endpoint, query, options);\n\n if (response.data && format === 'storefront') {\n for (let i = 0; i < response.data.length; i++) {\n response.data[i] = convertProductToStorefrontFormat(response.data[i]);\n }\n }\n\n return response;\n};\n\nexport class RebuyClient {\n private config: Config;\n\n constructor(key: string, defaultParameters?: Record<string, any>, shop?: string) {\n this.config = {\n api: null,\n contextParameters: null,\n defaultParameters: null,\n identity: null,\n key: null,\n shop: null,\n };\n\n if (typeof key == 'string') {\n this.config.key = key;\n }\n\n if (typeof defaultParameters == 'object' && defaultParameters != null) {\n this.config.defaultParameters = defaultParameters;\n }\n\n if (typeof shop == 'string' && shop.endsWith('.myshopify.com')) {\n this.config.shop = shop;\n }\n\n this.config.api = new Api({ key: this.config.key, shop: this.config.shop });\n this.config.identity = new Identity(this.config.key);\n }\n\n setDefaultParameters(defaultParameters: Record<string, any>): void {\n if (typeof defaultParameters == 'object' && defaultParameters != null) {\n this.config.defaultParameters = defaultParameters;\n }\n }\n\n setContextParameters(contextParameters: Record<string, any>): void {\n if (typeof contextParameters == 'object' && contextParameters != null) {\n this.config.contextParameters = contextParameters;\n }\n }\n\n async getData(endpoint: string, params: Record<string, any>, options: Record<string, any> = {}): Promise<any> {\n return await makeCall(this.config, endpoint, params, null, options);\n }\n\n async getDataFromCDN(\n endpoint: string,\n params: Record<string, any>,\n options: Record<string, any> = {}\n ): Promise<any> {\n return await makeCDNCall(this.config, endpoint, params, null, options);\n }\n\n async getShieldedAsset(\n endpoint: string,\n params: Record<string, any>,\n options: Record<string, any> = {}\n ): Promise<any> {\n return await makeShieldCall(this.config, endpoint, params, null, options);\n }\n\n async getStaticAsset(\n endpoint: string,\n params: Record<string, any>,\n options: Record<string, any> = {}\n ): Promise<any> {\n return await makeStaticCall(this.config, endpoint, params, null, options);\n }\n\n async getStorefrontData(\n endpoint: string,\n params: Record<string, any>,\n options: Record<string, any> = {}\n ): Promise<any> {\n return await makeCall(this.config, endpoint, params, 'storefront', options);\n }\n\n async trackProductViewed(data: Record<string, any>): Promise<any> {\n const requiredKeys = ['shopify_product_id', 'shopify_product_handle'];\n\n const defaultData = {\n noun: 'product',\n subject: 'user',\n verb: 'viewed',\n };\n\n if (typeof data != 'undefined' && data != null) {\n const dataKeys = Object.keys(data);\n\n if (dataKeys.some((key) => requiredKeys.includes(key))) {\n const payload = Object.assign(data, defaultData);\n\n return await trackEvent(this.config, payload);\n }\n }\n\n return null;\n }\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default RebuyClient;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,5 +1,7 @@
1
1
  export declare class Geolocation {
2
+ private config;
2
3
  constructor(key: string | null);
4
+ _fetchGeolocation(): Promise<any>;
3
5
  geolocation(): Promise<any>;
4
6
  }
5
7
  export default Geolocation;
@@ -1 +1 @@
1
- {"version":3,"file":"geolocation.d.ts","sourceRoot":"","sources":["../src/geolocation.ts"],"names":[],"mappings":"AA8CA,qBAAa,WAAW;gBACR,GAAG,EAAE,MAAM,GAAG,IAAI;IAiBxB,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC;CAOpC;AAGD,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"geolocation.d.ts","sourceRoot":"","sources":["../src/geolocation.ts"],"names":[],"mappings":"AAcA,qBAAa,WAAW;IACpB,OAAO,CAAC,MAAM,CAAS;gBAEX,GAAG,EAAE,MAAM,GAAG,IAAI;IA0BxB,iBAAiB,IAAI,OAAO,CAAC,GAAG,CAAC;IAuBjC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC;CAOpC;AAGD,eAAe,WAAW,CAAC"}
@@ -34,45 +34,45 @@ __export(geolocation_exports, {
34
34
  module.exports = __toCommonJS(geolocation_exports);
35
35
  var import_api = __toESM(require("~/api"), 1);
36
36
  var import_cookie = __toESM(require("~/cookie"), 1);
37
- const config = {
38
- geolocation: null,
39
- geolocationCookie: "_rebuyGeolocation",
40
- geolocationDuration: {
41
- minutes: 30
42
- },
43
- key: null
44
- };
45
- const getGeolocation = async () => {
46
- const api = new import_api.default(config.key);
47
- const response = await api.callGeo("GET", "/", null);
48
- if (response.data) {
49
- config.geolocation = response.data;
50
- const cookieOptions = {
51
- secure: true
52
- };
53
- Object.assign(cookieOptions, config.geolocationDuration);
54
- import_cookie.default.set(config.geolocationCookie, config.geolocation, { ...cookieOptions, encode: false });
55
- }
56
- return config.geolocation;
57
- };
58
37
  class Geolocation {
59
38
  constructor(key) {
39
+ this.config = {
40
+ geolocation: null,
41
+ geolocationCookie: "_rebuyGeolocation",
42
+ geolocationDuration: {
43
+ minutes: 30
44
+ },
45
+ key: null
46
+ };
60
47
  if (typeof document == "undefined" || !document.cookie) {
61
48
  return;
62
49
  }
63
50
  if (typeof key == "string") {
64
- config.key = key;
51
+ this.config.key = key;
52
+ }
53
+ this.config.geolocation = import_cookie.default.get(this.config.geolocationCookie);
54
+ if (this.config.geolocation === null) {
55
+ this._fetchGeolocation();
65
56
  }
66
- config.geolocation = import_cookie.default.get(config.geolocationCookie);
67
- if (config.geolocation === null) {
68
- getGeolocation();
57
+ }
58
+ async _fetchGeolocation() {
59
+ const api = new import_api.default({ key: this.config.key });
60
+ const response = await api.callGeo("GET", "/", null);
61
+ if (response.data) {
62
+ this.config.geolocation = response.data;
63
+ const cookieOptions = {
64
+ secure: true
65
+ };
66
+ Object.assign(cookieOptions, this.config.geolocationDuration);
67
+ import_cookie.default.set(this.config.geolocationCookie, this.config.geolocation, { ...cookieOptions, encode: false });
69
68
  }
69
+ return this.config.geolocation;
70
70
  }
71
71
  async geolocation() {
72
- if (config.geolocation == null) {
73
- await getGeolocation();
72
+ if (this.config.geolocation == null) {
73
+ await this._fetchGeolocation();
74
74
  }
75
- return config.geolocation;
75
+ return this.config.geolocation;
76
76
  }
77
77
  }
78
78
  var geolocation_default = Geolocation;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/geolocation.ts"],
4
- "sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport Api from '~/api';\nimport Cookie from '~/cookie';\n\ntype Config = {\n geolocation: any;\n geolocationCookie: string;\n geolocationDuration: {\n minutes: number;\n };\n key: string | null;\n};\n\nconst config: Config = {\n geolocation: null,\n geolocationCookie: '_rebuyGeolocation',\n geolocationDuration: {\n minutes: 30,\n },\n key: null,\n};\n\nconst getGeolocation = async (): Promise<any> => {\n const api = new Api(config.key);\n const response = await api.callGeo('GET', '/', null);\n\n if (response.data) {\n // Update config with geolocation\n config.geolocation = response.data;\n\n // Write cookie with geolocation\n const cookieOptions: Record<string, any> = {\n secure: true,\n };\n\n // Merge cookie options with geolocation config\n Object.assign(cookieOptions, config.geolocationDuration);\n\n // Write cookie with geolocation\n Cookie.set(config.geolocationCookie, config.geolocation, { ...cookieOptions, encode: false });\n }\n\n return config.geolocation;\n};\n\nexport class Geolocation {\n constructor(key: string | null) {\n if (typeof document == 'undefined' || !document.cookie) {\n return;\n }\n\n if (typeof key == 'string') {\n config.key = key;\n }\n\n config.geolocation = Cookie.get(config.geolocationCookie);\n\n // Create a new geolocation (if needed)\n if (config.geolocation === null) {\n getGeolocation();\n }\n }\n\n async geolocation(): Promise<any> {\n if (config.geolocation == null) {\n await getGeolocation();\n }\n\n return config.geolocation;\n }\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default Geolocation;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,iBAAgB;AAChB,oBAAmB;AAWnB,MAAM,SAAiB;AAAA,EACnB,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,IACjB,SAAS;AAAA,EACb;AAAA,EACA,KAAK;AACT;AAEA,MAAM,iBAAiB,YAA0B;AAC7C,QAAM,MAAM,IAAI,WAAAA,QAAI,OAAO,GAAG;AAC9B,QAAM,WAAW,MAAM,IAAI,QAAQ,OAAO,KAAK,IAAI;AAEnD,MAAI,SAAS,MAAM;AAEf,WAAO,cAAc,SAAS;AAG9B,UAAM,gBAAqC;AAAA,MACvC,QAAQ;AAAA,IACZ;AAGA,WAAO,OAAO,eAAe,OAAO,mBAAmB;AAGvD,kBAAAC,QAAO,IAAI,OAAO,mBAAmB,OAAO,aAAa,EAAE,GAAG,eAAe,QAAQ,MAAM,CAAC;AAAA,EAChG;AAEA,SAAO,OAAO;AAClB;AAEO,MAAM,YAAY;AAAA,EACrB,YAAY,KAAoB;AAC5B,QAAI,OAAO,YAAY,eAAe,CAAC,SAAS,QAAQ;AACpD;AAAA,IACJ;AAEA,QAAI,OAAO,OAAO,UAAU;AACxB,aAAO,MAAM;AAAA,IACjB;AAEA,WAAO,cAAc,cAAAA,QAAO,IAAI,OAAO,iBAAiB;AAGxD,QAAI,OAAO,gBAAgB,MAAM;AAC7B,qBAAe;AAAA,IACnB;AAAA,EACJ;AAAA,EAEA,MAAM,cAA4B;AAC9B,QAAI,OAAO,eAAe,MAAM;AAC5B,YAAM,eAAe;AAAA,IACzB;AAEA,WAAO,OAAO;AAAA,EAClB;AACJ;AAGA,IAAO,sBAAQ;",
6
- "names": ["Api", "Cookie"]
4
+ "sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport Api from '~/api';\nimport Cookie from '~/cookie';\n\ntype Config = {\n geolocation: any;\n geolocationCookie: string;\n geolocationDuration: {\n minutes: number;\n };\n key: string | null;\n};\n\nexport class Geolocation {\n private config: Config;\n\n constructor(key: string | null) {\n this.config = {\n geolocation: null,\n geolocationCookie: '_rebuyGeolocation',\n geolocationDuration: {\n minutes: 30,\n },\n key: null,\n };\n\n if (typeof document == 'undefined' || !document.cookie) {\n return;\n }\n\n if (typeof key == 'string') {\n this.config.key = key;\n }\n\n this.config.geolocation = Cookie.get(this.config.geolocationCookie);\n\n // Create a new geolocation (if needed)\n if (this.config.geolocation === null) {\n this._fetchGeolocation();\n }\n }\n\n async _fetchGeolocation(): Promise<any> {\n const api = new Api({ key: this.config.key });\n const response = await api.callGeo('GET', '/', null);\n\n if (response.data) {\n // Update instance config with geolocation\n this.config.geolocation = response.data;\n\n // Write cookie with geolocation\n const cookieOptions: Record<string, any> = {\n secure: true,\n };\n\n // Merge cookie options with geolocation config\n Object.assign(cookieOptions, this.config.geolocationDuration);\n\n // Write cookie with geolocation\n Cookie.set(this.config.geolocationCookie, this.config.geolocation, { ...cookieOptions, encode: false });\n }\n\n return this.config.geolocation;\n }\n\n async geolocation(): Promise<any> {\n if (this.config.geolocation == null) {\n await this._fetchGeolocation();\n }\n\n return this.config.geolocation;\n }\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default Geolocation;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,iBAAgB;AAChB,oBAAmB;AAWZ,MAAM,YAAY;AAAA,EAGrB,YAAY,KAAoB;AAC5B,SAAK,SAAS;AAAA,MACV,aAAa;AAAA,MACb,mBAAmB;AAAA,MACnB,qBAAqB;AAAA,QACjB,SAAS;AAAA,MACb;AAAA,MACA,KAAK;AAAA,IACT;AAEA,QAAI,OAAO,YAAY,eAAe,CAAC,SAAS,QAAQ;AACpD;AAAA,IACJ;AAEA,QAAI,OAAO,OAAO,UAAU;AACxB,WAAK,OAAO,MAAM;AAAA,IACtB;AAEA,SAAK,OAAO,cAAc,cAAAA,QAAO,IAAI,KAAK,OAAO,iBAAiB;AAGlE,QAAI,KAAK,OAAO,gBAAgB,MAAM;AAClC,WAAK,kBAAkB;AAAA,IAC3B;AAAA,EACJ;AAAA,EAEA,MAAM,oBAAkC;AACpC,UAAM,MAAM,IAAI,WAAAC,QAAI,EAAE,KAAK,KAAK,OAAO,IAAI,CAAC;AAC5C,UAAM,WAAW,MAAM,IAAI,QAAQ,OAAO,KAAK,IAAI;AAEnD,QAAI,SAAS,MAAM;AAEf,WAAK,OAAO,cAAc,SAAS;AAGnC,YAAM,gBAAqC;AAAA,QACvC,QAAQ;AAAA,MACZ;AAGA,aAAO,OAAO,eAAe,KAAK,OAAO,mBAAmB;AAG5D,oBAAAD,QAAO,IAAI,KAAK,OAAO,mBAAmB,KAAK,OAAO,aAAa,EAAE,GAAG,eAAe,QAAQ,MAAM,CAAC;AAAA,IAC1G;AAEA,WAAO,KAAK,OAAO;AAAA,EACvB;AAAA,EAEA,MAAM,cAA4B;AAC9B,QAAI,KAAK,OAAO,eAAe,MAAM;AACjC,YAAM,KAAK,kBAAkB;AAAA,IACjC;AAEA,WAAO,KAAK,OAAO;AAAA,EACvB;AACJ;AAGA,IAAO,sBAAQ;",
6
+ "names": ["Cookie", "Api"]
7
7
  }
@@ -1,44 +1,44 @@
1
1
  import Api from "~/api";
2
2
  import Cookie from "~/cookie";
3
- const config = {
4
- geolocation: null,
5
- geolocationCookie: "_rebuyGeolocation",
6
- geolocationDuration: {
7
- minutes: 30
8
- },
9
- key: null
10
- };
11
- const getGeolocation = async () => {
12
- const api = new Api(config.key);
13
- const response = await api.callGeo("GET", "/", null);
14
- if (response.data) {
15
- config.geolocation = response.data;
16
- const cookieOptions = {
17
- secure: true
18
- };
19
- Object.assign(cookieOptions, config.geolocationDuration);
20
- Cookie.set(config.geolocationCookie, config.geolocation, { ...cookieOptions, encode: false });
21
- }
22
- return config.geolocation;
23
- };
24
3
  class Geolocation {
25
4
  constructor(key) {
5
+ this.config = {
6
+ geolocation: null,
7
+ geolocationCookie: "_rebuyGeolocation",
8
+ geolocationDuration: {
9
+ minutes: 30
10
+ },
11
+ key: null
12
+ };
26
13
  if (typeof document == "undefined" || !document.cookie) {
27
14
  return;
28
15
  }
29
16
  if (typeof key == "string") {
30
- config.key = key;
17
+ this.config.key = key;
18
+ }
19
+ this.config.geolocation = Cookie.get(this.config.geolocationCookie);
20
+ if (this.config.geolocation === null) {
21
+ this._fetchGeolocation();
31
22
  }
32
- config.geolocation = Cookie.get(config.geolocationCookie);
33
- if (config.geolocation === null) {
34
- getGeolocation();
23
+ }
24
+ async _fetchGeolocation() {
25
+ const api = new Api({ key: this.config.key });
26
+ const response = await api.callGeo("GET", "/", null);
27
+ if (response.data) {
28
+ this.config.geolocation = response.data;
29
+ const cookieOptions = {
30
+ secure: true
31
+ };
32
+ Object.assign(cookieOptions, this.config.geolocationDuration);
33
+ Cookie.set(this.config.geolocationCookie, this.config.geolocation, { ...cookieOptions, encode: false });
35
34
  }
35
+ return this.config.geolocation;
36
36
  }
37
37
  async geolocation() {
38
- if (config.geolocation == null) {
39
- await getGeolocation();
38
+ if (this.config.geolocation == null) {
39
+ await this._fetchGeolocation();
40
40
  }
41
- return config.geolocation;
41
+ return this.config.geolocation;
42
42
  }
43
43
  }
44
44
  var geolocation_default = Geolocation;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/geolocation.ts"],
4
- "sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport Api from '~/api';\nimport Cookie from '~/cookie';\n\ntype Config = {\n geolocation: any;\n geolocationCookie: string;\n geolocationDuration: {\n minutes: number;\n };\n key: string | null;\n};\n\nconst config: Config = {\n geolocation: null,\n geolocationCookie: '_rebuyGeolocation',\n geolocationDuration: {\n minutes: 30,\n },\n key: null,\n};\n\nconst getGeolocation = async (): Promise<any> => {\n const api = new Api(config.key);\n const response = await api.callGeo('GET', '/', null);\n\n if (response.data) {\n // Update config with geolocation\n config.geolocation = response.data;\n\n // Write cookie with geolocation\n const cookieOptions: Record<string, any> = {\n secure: true,\n };\n\n // Merge cookie options with geolocation config\n Object.assign(cookieOptions, config.geolocationDuration);\n\n // Write cookie with geolocation\n Cookie.set(config.geolocationCookie, config.geolocation, { ...cookieOptions, encode: false });\n }\n\n return config.geolocation;\n};\n\nexport class Geolocation {\n constructor(key: string | null) {\n if (typeof document == 'undefined' || !document.cookie) {\n return;\n }\n\n if (typeof key == 'string') {\n config.key = key;\n }\n\n config.geolocation = Cookie.get(config.geolocationCookie);\n\n // Create a new geolocation (if needed)\n if (config.geolocation === null) {\n getGeolocation();\n }\n }\n\n async geolocation(): Promise<any> {\n if (config.geolocation == null) {\n await getGeolocation();\n }\n\n return config.geolocation;\n }\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default Geolocation;\n"],
5
- "mappings": "AAEA,OAAO,SAAS;AAChB,OAAO,YAAY;AAWnB,MAAM,SAAiB;AAAA,EACnB,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,IACjB,SAAS;AAAA,EACb;AAAA,EACA,KAAK;AACT;AAEA,MAAM,iBAAiB,YAA0B;AAC7C,QAAM,MAAM,IAAI,IAAI,OAAO,GAAG;AAC9B,QAAM,WAAW,MAAM,IAAI,QAAQ,OAAO,KAAK,IAAI;AAEnD,MAAI,SAAS,MAAM;AAEf,WAAO,cAAc,SAAS;AAG9B,UAAM,gBAAqC;AAAA,MACvC,QAAQ;AAAA,IACZ;AAGA,WAAO,OAAO,eAAe,OAAO,mBAAmB;AAGvD,WAAO,IAAI,OAAO,mBAAmB,OAAO,aAAa,EAAE,GAAG,eAAe,QAAQ,MAAM,CAAC;AAAA,EAChG;AAEA,SAAO,OAAO;AAClB;AAEO,MAAM,YAAY;AAAA,EACrB,YAAY,KAAoB;AAC5B,QAAI,OAAO,YAAY,eAAe,CAAC,SAAS,QAAQ;AACpD;AAAA,IACJ;AAEA,QAAI,OAAO,OAAO,UAAU;AACxB,aAAO,MAAM;AAAA,IACjB;AAEA,WAAO,cAAc,OAAO,IAAI,OAAO,iBAAiB;AAGxD,QAAI,OAAO,gBAAgB,MAAM;AAC7B,qBAAe;AAAA,IACnB;AAAA,EACJ;AAAA,EAEA,MAAM,cAA4B;AAC9B,QAAI,OAAO,eAAe,MAAM;AAC5B,YAAM,eAAe;AAAA,IACzB;AAEA,WAAO,OAAO;AAAA,EAClB;AACJ;AAGA,IAAO,sBAAQ;",
4
+ "sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport Api from '~/api';\nimport Cookie from '~/cookie';\n\ntype Config = {\n geolocation: any;\n geolocationCookie: string;\n geolocationDuration: {\n minutes: number;\n };\n key: string | null;\n};\n\nexport class Geolocation {\n private config: Config;\n\n constructor(key: string | null) {\n this.config = {\n geolocation: null,\n geolocationCookie: '_rebuyGeolocation',\n geolocationDuration: {\n minutes: 30,\n },\n key: null,\n };\n\n if (typeof document == 'undefined' || !document.cookie) {\n return;\n }\n\n if (typeof key == 'string') {\n this.config.key = key;\n }\n\n this.config.geolocation = Cookie.get(this.config.geolocationCookie);\n\n // Create a new geolocation (if needed)\n if (this.config.geolocation === null) {\n this._fetchGeolocation();\n }\n }\n\n async _fetchGeolocation(): Promise<any> {\n const api = new Api({ key: this.config.key });\n const response = await api.callGeo('GET', '/', null);\n\n if (response.data) {\n // Update instance config with geolocation\n this.config.geolocation = response.data;\n\n // Write cookie with geolocation\n const cookieOptions: Record<string, any> = {\n secure: true,\n };\n\n // Merge cookie options with geolocation config\n Object.assign(cookieOptions, this.config.geolocationDuration);\n\n // Write cookie with geolocation\n Cookie.set(this.config.geolocationCookie, this.config.geolocation, { ...cookieOptions, encode: false });\n }\n\n return this.config.geolocation;\n }\n\n async geolocation(): Promise<any> {\n if (this.config.geolocation == null) {\n await this._fetchGeolocation();\n }\n\n return this.config.geolocation;\n }\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default Geolocation;\n"],
5
+ "mappings": "AAEA,OAAO,SAAS;AAChB,OAAO,YAAY;AAWZ,MAAM,YAAY;AAAA,EAGrB,YAAY,KAAoB;AAC5B,SAAK,SAAS;AAAA,MACV,aAAa;AAAA,MACb,mBAAmB;AAAA,MACnB,qBAAqB;AAAA,QACjB,SAAS;AAAA,MACb;AAAA,MACA,KAAK;AAAA,IACT;AAEA,QAAI,OAAO,YAAY,eAAe,CAAC,SAAS,QAAQ;AACpD;AAAA,IACJ;AAEA,QAAI,OAAO,OAAO,UAAU;AACxB,WAAK,OAAO,MAAM;AAAA,IACtB;AAEA,SAAK,OAAO,cAAc,OAAO,IAAI,KAAK,OAAO,iBAAiB;AAGlE,QAAI,KAAK,OAAO,gBAAgB,MAAM;AAClC,WAAK,kBAAkB;AAAA,IAC3B;AAAA,EACJ;AAAA,EAEA,MAAM,oBAAkC;AACpC,UAAM,MAAM,IAAI,IAAI,EAAE,KAAK,KAAK,OAAO,IAAI,CAAC;AAC5C,UAAM,WAAW,MAAM,IAAI,QAAQ,OAAO,KAAK,IAAI;AAEnD,QAAI,SAAS,MAAM;AAEf,WAAK,OAAO,cAAc,SAAS;AAGnC,YAAM,gBAAqC;AAAA,QACvC,QAAQ;AAAA,MACZ;AAGA,aAAO,OAAO,eAAe,KAAK,OAAO,mBAAmB;AAG5D,aAAO,IAAI,KAAK,OAAO,mBAAmB,KAAK,OAAO,aAAa,EAAE,GAAG,eAAe,QAAQ,MAAM,CAAC;AAAA,IAC1G;AAEA,WAAO,KAAK,OAAO;AAAA,EACvB;AAAA,EAEA,MAAM,cAA4B;AAC9B,QAAI,KAAK,OAAO,eAAe,MAAM;AACjC,YAAM,KAAK,kBAAkB;AAAA,IACjC;AAEA,WAAO,KAAK,OAAO;AAAA,EACvB;AACJ;AAGA,IAAO,sBAAQ;",
6
6
  "names": []
7
7
  }
@@ -1,9 +1,10 @@
1
1
  export declare class Identity {
2
+ private config;
2
3
  constructor(key: string | null);
3
4
  visitorId(): string | null;
4
- sessionId(): string;
5
- sessionStart(): string;
6
- sessionDuration(): string;
5
+ sessionId(): string | null;
6
+ sessionStart(): string | null;
7
+ sessionDuration(): string | null;
7
8
  geolocation(): Promise<any>;
8
9
  }
9
10
  export default Identity;
@@ -1 +1 @@
1
- {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AA4BA,qBAAa,QAAQ;gBACL,GAAG,EAAE,MAAM,GAAG,IAAI;IAkC9B,SAAS,IAAI,MAAM,GAAG,IAAI;IAI1B,SAAS,IAAI,MAAM;IAInB,YAAY,IAAI,MAAM;IAItB,eAAe,IAAI,MAAM;IAInB,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC;CAGpC;AAGD,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAkBA,qBAAa,QAAQ;IACjB,OAAO,CAAC,MAAM,CAAS;gBAEX,GAAG,EAAE,MAAM,GAAG,IAAI;IA6C9B,SAAS,IAAI,MAAM,GAAG,IAAI;IAI1B,SAAS,IAAI,MAAM,GAAG,IAAI;IAI1B,YAAY,IAAI,MAAM,GAAG,IAAI;IAI7B,eAAe,IAAI,MAAM,GAAG,IAAI;IAI1B,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC;CAGpC;AAGD,eAAe,QAAQ,CAAC"}
package/dist/identity.js CHANGED
@@ -36,49 +36,50 @@ var import_cookie = __toESM(require("~/cookie"), 1);
36
36
  var import_geolocation = __toESM(require("~/geolocation"), 1);
37
37
  var import_session = __toESM(require("~/session"), 1);
38
38
  var import_utilities = require("~/utilities");
39
- const config = {
40
- key: null,
41
- session: null,
42
- visitorDuration: {
43
- years: 1
44
- },
45
- visitorId: null,
46
- visitorIdCookie: "_rebuyVisitorId"
47
- };
48
39
  class Identity {
49
40
  constructor(key) {
41
+ this.config = {
42
+ geolocation: null,
43
+ key: null,
44
+ session: null,
45
+ visitorDuration: {
46
+ years: 1
47
+ },
48
+ visitorId: null,
49
+ visitorIdCookie: "_rebuyVisitorId"
50
+ };
50
51
  if (typeof document == "undefined" || !document.cookie) {
51
52
  return;
52
53
  }
53
54
  if (typeof key == "string") {
54
- config.key = key;
55
+ this.config.key = key;
55
56
  }
56
- config.visitorId = import_cookie.default.get(config.visitorIdCookie);
57
- if (config.visitorId === null) {
58
- config.visitorId = (0, import_utilities.uuid)();
57
+ this.config.visitorId = import_cookie.default.get(this.config.visitorIdCookie);
58
+ if (this.config.visitorId === null) {
59
+ this.config.visitorId = (0, import_utilities.uuid)();
59
60
  }
60
61
  const cookieOptions = {
61
62
  secure: true
62
63
  };
63
- Object.assign(cookieOptions, config.visitorDuration);
64
- import_cookie.default.set(config.visitorIdCookie, config.visitorId, cookieOptions);
65
- config.session = new import_session.default();
66
- config.geolocation = new import_geolocation.default(config.key);
64
+ Object.assign(cookieOptions, this.config.visitorDuration);
65
+ import_cookie.default.set(this.config.visitorIdCookie, this.config.visitorId, cookieOptions);
66
+ this.config.session = new import_session.default();
67
+ this.config.geolocation = new import_geolocation.default(this.config.key);
67
68
  }
68
69
  visitorId() {
69
- return config.visitorId;
70
+ return this.config.visitorId;
70
71
  }
71
72
  sessionId() {
72
- return config.session.sessionId();
73
+ return this.config.session ? this.config.session.sessionId() : null;
73
74
  }
74
75
  sessionStart() {
75
- return config.session.sessionStart();
76
+ return this.config.session ? this.config.session.sessionStart() : null;
76
77
  }
77
78
  sessionDuration() {
78
- return config.session.sessionDuration();
79
+ return this.config.session ? this.config.session.sessionDuration() : null;
79
80
  }
80
81
  async geolocation() {
81
- return await config.geolocation.geolocation();
82
+ return this.config.geolocation ? await this.config.geolocation.geolocation() : null;
82
83
  }
83
84
  }
84
85
  var identity_default = Identity;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/identity.ts"],
4
- "sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport Cookie from '~/cookie';\nimport Geolocation from '~/geolocation';\nimport Session from '~/session';\nimport { uuid } from '~/utilities';\n\ntype Config = {\n geolocation?: any;\n key: string | null;\n session: any;\n visitorDuration: {\n years: number;\n };\n visitorId: string | null;\n visitorIdCookie: string;\n};\n\nconst config: Config = {\n key: null,\n session: null,\n visitorDuration: {\n years: 1,\n },\n visitorId: null,\n visitorIdCookie: '_rebuyVisitorId',\n};\n\nexport class Identity {\n constructor(key: string | null) {\n if (typeof document == 'undefined' || !document.cookie) {\n return;\n }\n\n if (typeof key == 'string') {\n config.key = key;\n }\n\n config.visitorId = Cookie.get(config.visitorIdCookie);\n\n // Create a new identifier (if needed)\n if (config.visitorId === null) {\n config.visitorId = uuid();\n }\n\n // Write cookie with visitor ID\n const cookieOptions: Record<string, any> = {\n secure: true,\n };\n\n // Merge cookie options with visitor config\n Object.assign(cookieOptions, config.visitorDuration);\n\n // Write cookie with session ID\n Cookie.set(config.visitorIdCookie, config.visitorId, cookieOptions);\n\n // Create visitor session\n config.session = new Session();\n\n // Create visitor geolocation\n config.geolocation = new Geolocation(config.key);\n }\n\n visitorId(): string | null {\n return config.visitorId;\n }\n\n sessionId(): string {\n return config.session.sessionId();\n }\n\n sessionStart(): string {\n return config.session.sessionStart();\n }\n\n sessionDuration(): string {\n return config.session.sessionDuration();\n }\n\n async geolocation(): Promise<any> {\n return await config.geolocation.geolocation();\n }\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default Identity;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAAmB;AACnB,yBAAwB;AACxB,qBAAoB;AACpB,uBAAqB;AAarB,MAAM,SAAiB;AAAA,EACnB,KAAK;AAAA,EACL,SAAS;AAAA,EACT,iBAAiB;AAAA,IACb,OAAO;AAAA,EACX;AAAA,EACA,WAAW;AAAA,EACX,iBAAiB;AACrB;AAEO,MAAM,SAAS;AAAA,EAClB,YAAY,KAAoB;AAC5B,QAAI,OAAO,YAAY,eAAe,CAAC,SAAS,QAAQ;AACpD;AAAA,IACJ;AAEA,QAAI,OAAO,OAAO,UAAU;AACxB,aAAO,MAAM;AAAA,IACjB;AAEA,WAAO,YAAY,cAAAA,QAAO,IAAI,OAAO,eAAe;AAGpD,QAAI,OAAO,cAAc,MAAM;AAC3B,aAAO,gBAAY,uBAAK;AAAA,IAC5B;AAGA,UAAM,gBAAqC;AAAA,MACvC,QAAQ;AAAA,IACZ;AAGA,WAAO,OAAO,eAAe,OAAO,eAAe;AAGnD,kBAAAA,QAAO,IAAI,OAAO,iBAAiB,OAAO,WAAW,aAAa;AAGlE,WAAO,UAAU,IAAI,eAAAC,QAAQ;AAG7B,WAAO,cAAc,IAAI,mBAAAC,QAAY,OAAO,GAAG;AAAA,EACnD;AAAA,EAEA,YAA2B;AACvB,WAAO,OAAO;AAAA,EAClB;AAAA,EAEA,YAAoB;AAChB,WAAO,OAAO,QAAQ,UAAU;AAAA,EACpC;AAAA,EAEA,eAAuB;AACnB,WAAO,OAAO,QAAQ,aAAa;AAAA,EACvC;AAAA,EAEA,kBAA0B;AACtB,WAAO,OAAO,QAAQ,gBAAgB;AAAA,EAC1C;AAAA,EAEA,MAAM,cAA4B;AAC9B,WAAO,MAAM,OAAO,YAAY,YAAY;AAAA,EAChD;AACJ;AAGA,IAAO,mBAAQ;",
4
+ "sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport Cookie from '~/cookie';\nimport Geolocation from '~/geolocation';\nimport Session from '~/session';\nimport { uuid } from '~/utilities';\n\ntype Config = {\n geolocation?: any;\n key: string | null;\n session: any;\n visitorDuration: {\n years: number;\n };\n visitorId: string | null;\n visitorIdCookie: string;\n};\n\nexport class Identity {\n private config: Config;\n\n constructor(key: string | null) {\n this.config = {\n geolocation: null,\n key: null,\n session: null,\n visitorDuration: {\n years: 1,\n },\n visitorId: null,\n visitorIdCookie: '_rebuyVisitorId',\n };\n\n if (typeof document == 'undefined' || !document.cookie) {\n return;\n }\n\n if (typeof key == 'string') {\n this.config.key = key;\n }\n\n this.config.visitorId = Cookie.get(this.config.visitorIdCookie);\n\n // Create a new identifier (if needed)\n if (this.config.visitorId === null) {\n this.config.visitorId = uuid();\n }\n\n // Write cookie with visitor ID\n const cookieOptions: Record<string, any> = {\n secure: true,\n };\n\n // Merge cookie options with visitor config\n Object.assign(cookieOptions, this.config.visitorDuration);\n\n // Write cookie with session ID\n Cookie.set(this.config.visitorIdCookie, this.config.visitorId, cookieOptions);\n\n // Create visitor session\n this.config.session = new Session();\n\n // Create visitor geolocation, passing the key\n this.config.geolocation = new Geolocation(this.config.key);\n }\n\n visitorId(): string | null {\n return this.config.visitorId;\n }\n\n sessionId(): string | null {\n return this.config.session ? this.config.session.sessionId() : null;\n }\n\n sessionStart(): string | null {\n return this.config.session ? this.config.session.sessionStart() : null;\n }\n\n sessionDuration(): string | null {\n return this.config.session ? this.config.session.sessionDuration() : null;\n }\n\n async geolocation(): Promise<any> {\n return this.config.geolocation ? await this.config.geolocation.geolocation() : null;\n }\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default Identity;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,oBAAmB;AACnB,yBAAwB;AACxB,qBAAoB;AACpB,uBAAqB;AAad,MAAM,SAAS;AAAA,EAGlB,YAAY,KAAoB;AAC5B,SAAK,SAAS;AAAA,MACV,aAAa;AAAA,MACb,KAAK;AAAA,MACL,SAAS;AAAA,MACT,iBAAiB;AAAA,QACb,OAAO;AAAA,MACX;AAAA,MACA,WAAW;AAAA,MACX,iBAAiB;AAAA,IACrB;AAEA,QAAI,OAAO,YAAY,eAAe,CAAC,SAAS,QAAQ;AACpD;AAAA,IACJ;AAEA,QAAI,OAAO,OAAO,UAAU;AACxB,WAAK,OAAO,MAAM;AAAA,IACtB;AAEA,SAAK,OAAO,YAAY,cAAAA,QAAO,IAAI,KAAK,OAAO,eAAe;AAG9D,QAAI,KAAK,OAAO,cAAc,MAAM;AAChC,WAAK,OAAO,gBAAY,uBAAK;AAAA,IACjC;AAGA,UAAM,gBAAqC;AAAA,MACvC,QAAQ;AAAA,IACZ;AAGA,WAAO,OAAO,eAAe,KAAK,OAAO,eAAe;AAGxD,kBAAAA,QAAO,IAAI,KAAK,OAAO,iBAAiB,KAAK,OAAO,WAAW,aAAa;AAG5E,SAAK,OAAO,UAAU,IAAI,eAAAC,QAAQ;AAGlC,SAAK,OAAO,cAAc,IAAI,mBAAAC,QAAY,KAAK,OAAO,GAAG;AAAA,EAC7D;AAAA,EAEA,YAA2B;AACvB,WAAO,KAAK,OAAO;AAAA,EACvB;AAAA,EAEA,YAA2B;AACvB,WAAO,KAAK,OAAO,UAAU,KAAK,OAAO,QAAQ,UAAU,IAAI;AAAA,EACnE;AAAA,EAEA,eAA8B;AAC1B,WAAO,KAAK,OAAO,UAAU,KAAK,OAAO,QAAQ,aAAa,IAAI;AAAA,EACtE;AAAA,EAEA,kBAAiC;AAC7B,WAAO,KAAK,OAAO,UAAU,KAAK,OAAO,QAAQ,gBAAgB,IAAI;AAAA,EACzE;AAAA,EAEA,MAAM,cAA4B;AAC9B,WAAO,KAAK,OAAO,cAAc,MAAM,KAAK,OAAO,YAAY,YAAY,IAAI;AAAA,EACnF;AACJ;AAGA,IAAO,mBAAQ;",
6
6
  "names": ["Cookie", "Session", "Geolocation"]
7
7
  }
package/dist/identity.mjs CHANGED
@@ -2,49 +2,50 @@ import Cookie from "~/cookie";
2
2
  import Geolocation from "~/geolocation";
3
3
  import Session from "~/session";
4
4
  import { uuid } from "~/utilities";
5
- const config = {
6
- key: null,
7
- session: null,
8
- visitorDuration: {
9
- years: 1
10
- },
11
- visitorId: null,
12
- visitorIdCookie: "_rebuyVisitorId"
13
- };
14
5
  class Identity {
15
6
  constructor(key) {
7
+ this.config = {
8
+ geolocation: null,
9
+ key: null,
10
+ session: null,
11
+ visitorDuration: {
12
+ years: 1
13
+ },
14
+ visitorId: null,
15
+ visitorIdCookie: "_rebuyVisitorId"
16
+ };
16
17
  if (typeof document == "undefined" || !document.cookie) {
17
18
  return;
18
19
  }
19
20
  if (typeof key == "string") {
20
- config.key = key;
21
+ this.config.key = key;
21
22
  }
22
- config.visitorId = Cookie.get(config.visitorIdCookie);
23
- if (config.visitorId === null) {
24
- config.visitorId = uuid();
23
+ this.config.visitorId = Cookie.get(this.config.visitorIdCookie);
24
+ if (this.config.visitorId === null) {
25
+ this.config.visitorId = uuid();
25
26
  }
26
27
  const cookieOptions = {
27
28
  secure: true
28
29
  };
29
- Object.assign(cookieOptions, config.visitorDuration);
30
- Cookie.set(config.visitorIdCookie, config.visitorId, cookieOptions);
31
- config.session = new Session();
32
- config.geolocation = new Geolocation(config.key);
30
+ Object.assign(cookieOptions, this.config.visitorDuration);
31
+ Cookie.set(this.config.visitorIdCookie, this.config.visitorId, cookieOptions);
32
+ this.config.session = new Session();
33
+ this.config.geolocation = new Geolocation(this.config.key);
33
34
  }
34
35
  visitorId() {
35
- return config.visitorId;
36
+ return this.config.visitorId;
36
37
  }
37
38
  sessionId() {
38
- return config.session.sessionId();
39
+ return this.config.session ? this.config.session.sessionId() : null;
39
40
  }
40
41
  sessionStart() {
41
- return config.session.sessionStart();
42
+ return this.config.session ? this.config.session.sessionStart() : null;
42
43
  }
43
44
  sessionDuration() {
44
- return config.session.sessionDuration();
45
+ return this.config.session ? this.config.session.sessionDuration() : null;
45
46
  }
46
47
  async geolocation() {
47
- return await config.geolocation.geolocation();
48
+ return this.config.geolocation ? await this.config.geolocation.geolocation() : null;
48
49
  }
49
50
  }
50
51
  var identity_default = Identity;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/identity.ts"],
4
- "sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport Cookie from '~/cookie';\nimport Geolocation from '~/geolocation';\nimport Session from '~/session';\nimport { uuid } from '~/utilities';\n\ntype Config = {\n geolocation?: any;\n key: string | null;\n session: any;\n visitorDuration: {\n years: number;\n };\n visitorId: string | null;\n visitorIdCookie: string;\n};\n\nconst config: Config = {\n key: null,\n session: null,\n visitorDuration: {\n years: 1,\n },\n visitorId: null,\n visitorIdCookie: '_rebuyVisitorId',\n};\n\nexport class Identity {\n constructor(key: string | null) {\n if (typeof document == 'undefined' || !document.cookie) {\n return;\n }\n\n if (typeof key == 'string') {\n config.key = key;\n }\n\n config.visitorId = Cookie.get(config.visitorIdCookie);\n\n // Create a new identifier (if needed)\n if (config.visitorId === null) {\n config.visitorId = uuid();\n }\n\n // Write cookie with visitor ID\n const cookieOptions: Record<string, any> = {\n secure: true,\n };\n\n // Merge cookie options with visitor config\n Object.assign(cookieOptions, config.visitorDuration);\n\n // Write cookie with session ID\n Cookie.set(config.visitorIdCookie, config.visitorId, cookieOptions);\n\n // Create visitor session\n config.session = new Session();\n\n // Create visitor geolocation\n config.geolocation = new Geolocation(config.key);\n }\n\n visitorId(): string | null {\n return config.visitorId;\n }\n\n sessionId(): string {\n return config.session.sessionId();\n }\n\n sessionStart(): string {\n return config.session.sessionStart();\n }\n\n sessionDuration(): string {\n return config.session.sessionDuration();\n }\n\n async geolocation(): Promise<any> {\n return await config.geolocation.geolocation();\n }\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default Identity;\n"],
5
- "mappings": "AAEA,OAAO,YAAY;AACnB,OAAO,iBAAiB;AACxB,OAAO,aAAa;AACpB,SAAS,YAAY;AAarB,MAAM,SAAiB;AAAA,EACnB,KAAK;AAAA,EACL,SAAS;AAAA,EACT,iBAAiB;AAAA,IACb,OAAO;AAAA,EACX;AAAA,EACA,WAAW;AAAA,EACX,iBAAiB;AACrB;AAEO,MAAM,SAAS;AAAA,EAClB,YAAY,KAAoB;AAC5B,QAAI,OAAO,YAAY,eAAe,CAAC,SAAS,QAAQ;AACpD;AAAA,IACJ;AAEA,QAAI,OAAO,OAAO,UAAU;AACxB,aAAO,MAAM;AAAA,IACjB;AAEA,WAAO,YAAY,OAAO,IAAI,OAAO,eAAe;AAGpD,QAAI,OAAO,cAAc,MAAM;AAC3B,aAAO,YAAY,KAAK;AAAA,IAC5B;AAGA,UAAM,gBAAqC;AAAA,MACvC,QAAQ;AAAA,IACZ;AAGA,WAAO,OAAO,eAAe,OAAO,eAAe;AAGnD,WAAO,IAAI,OAAO,iBAAiB,OAAO,WAAW,aAAa;AAGlE,WAAO,UAAU,IAAI,QAAQ;AAG7B,WAAO,cAAc,IAAI,YAAY,OAAO,GAAG;AAAA,EACnD;AAAA,EAEA,YAA2B;AACvB,WAAO,OAAO;AAAA,EAClB;AAAA,EAEA,YAAoB;AAChB,WAAO,OAAO,QAAQ,UAAU;AAAA,EACpC;AAAA,EAEA,eAAuB;AACnB,WAAO,OAAO,QAAQ,aAAa;AAAA,EACvC;AAAA,EAEA,kBAA0B;AACtB,WAAO,OAAO,QAAQ,gBAAgB;AAAA,EAC1C;AAAA,EAEA,MAAM,cAA4B;AAC9B,WAAO,MAAM,OAAO,YAAY,YAAY;AAAA,EAChD;AACJ;AAGA,IAAO,mBAAQ;",
4
+ "sourcesContent": ["/* eslint-disable @typescript-eslint/no-explicit-any */\n\nimport Cookie from '~/cookie';\nimport Geolocation from '~/geolocation';\nimport Session from '~/session';\nimport { uuid } from '~/utilities';\n\ntype Config = {\n geolocation?: any;\n key: string | null;\n session: any;\n visitorDuration: {\n years: number;\n };\n visitorId: string | null;\n visitorIdCookie: string;\n};\n\nexport class Identity {\n private config: Config;\n\n constructor(key: string | null) {\n this.config = {\n geolocation: null,\n key: null,\n session: null,\n visitorDuration: {\n years: 1,\n },\n visitorId: null,\n visitorIdCookie: '_rebuyVisitorId',\n };\n\n if (typeof document == 'undefined' || !document.cookie) {\n return;\n }\n\n if (typeof key == 'string') {\n this.config.key = key;\n }\n\n this.config.visitorId = Cookie.get(this.config.visitorIdCookie);\n\n // Create a new identifier (if needed)\n if (this.config.visitorId === null) {\n this.config.visitorId = uuid();\n }\n\n // Write cookie with visitor ID\n const cookieOptions: Record<string, any> = {\n secure: true,\n };\n\n // Merge cookie options with visitor config\n Object.assign(cookieOptions, this.config.visitorDuration);\n\n // Write cookie with session ID\n Cookie.set(this.config.visitorIdCookie, this.config.visitorId, cookieOptions);\n\n // Create visitor session\n this.config.session = new Session();\n\n // Create visitor geolocation, passing the key\n this.config.geolocation = new Geolocation(this.config.key);\n }\n\n visitorId(): string | null {\n return this.config.visitorId;\n }\n\n sessionId(): string | null {\n return this.config.session ? this.config.session.sessionId() : null;\n }\n\n sessionStart(): string | null {\n return this.config.session ? this.config.session.sessionStart() : null;\n }\n\n sessionDuration(): string | null {\n return this.config.session ? this.config.session.sessionDuration() : null;\n }\n\n async geolocation(): Promise<any> {\n return this.config.geolocation ? await this.config.geolocation.geolocation() : null;\n }\n}\n\n// eslint-disable-next-line import/no-default-export\nexport default Identity;\n"],
5
+ "mappings": "AAEA,OAAO,YAAY;AACnB,OAAO,iBAAiB;AACxB,OAAO,aAAa;AACpB,SAAS,YAAY;AAad,MAAM,SAAS;AAAA,EAGlB,YAAY,KAAoB;AAC5B,SAAK,SAAS;AAAA,MACV,aAAa;AAAA,MACb,KAAK;AAAA,MACL,SAAS;AAAA,MACT,iBAAiB;AAAA,QACb,OAAO;AAAA,MACX;AAAA,MACA,WAAW;AAAA,MACX,iBAAiB;AAAA,IACrB;AAEA,QAAI,OAAO,YAAY,eAAe,CAAC,SAAS,QAAQ;AACpD;AAAA,IACJ;AAEA,QAAI,OAAO,OAAO,UAAU;AACxB,WAAK,OAAO,MAAM;AAAA,IACtB;AAEA,SAAK,OAAO,YAAY,OAAO,IAAI,KAAK,OAAO,eAAe;AAG9D,QAAI,KAAK,OAAO,cAAc,MAAM;AAChC,WAAK,OAAO,YAAY,KAAK;AAAA,IACjC;AAGA,UAAM,gBAAqC;AAAA,MACvC,QAAQ;AAAA,IACZ;AAGA,WAAO,OAAO,eAAe,KAAK,OAAO,eAAe;AAGxD,WAAO,IAAI,KAAK,OAAO,iBAAiB,KAAK,OAAO,WAAW,aAAa;AAG5E,SAAK,OAAO,UAAU,IAAI,QAAQ;AAGlC,SAAK,OAAO,cAAc,IAAI,YAAY,KAAK,OAAO,GAAG;AAAA,EAC7D;AAAA,EAEA,YAA2B;AACvB,WAAO,KAAK,OAAO;AAAA,EACvB;AAAA,EAEA,YAA2B;AACvB,WAAO,KAAK,OAAO,UAAU,KAAK,OAAO,QAAQ,UAAU,IAAI;AAAA,EACnE;AAAA,EAEA,eAA8B;AAC1B,WAAO,KAAK,OAAO,UAAU,KAAK,OAAO,QAAQ,aAAa,IAAI;AAAA,EACtE;AAAA,EAEA,kBAAiC;AAC7B,WAAO,KAAK,OAAO,UAAU,KAAK,OAAO,QAAQ,gBAAgB,IAAI;AAAA,EACzE;AAAA,EAEA,MAAM,cAA4B;AAC9B,WAAO,KAAK,OAAO,cAAc,MAAM,KAAK,OAAO,YAAY,YAAY,IAAI;AAAA,EACnF;AACJ;AAGA,IAAO,mBAAQ;",
6
6
  "names": []
7
7
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@rebuy/rebuy",
3
3
  "description": "This is the default library for Rebuy",
4
- "version": "1.6.0-alpha.3",
4
+ "version": "2.0.0-alpha.1",
5
5
  "license": "MIT",
6
6
  "author": "Rebuy, Inc.",
7
7
  "type": "module",