@fuul/sdk 0.18.0 → 1.0.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.
Files changed (65) hide show
  1. package/README.md +21 -26
  2. package/dist/constants.d.ts.map +1 -0
  3. package/dist/fuul-sdk.mjs +1569 -0
  4. package/dist/fuul-sdk.umd.js +3 -0
  5. package/dist/index.d.ts +36 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/{lib/cjs/types → dist}/infrastructure/conversions/conversionService.d.ts +2 -2
  8. package/dist/infrastructure/conversions/conversionService.d.ts.map +1 -0
  9. package/dist/infrastructure/conversions/dtos.d.ts +77 -0
  10. package/dist/infrastructure/conversions/dtos.d.ts.map +1 -0
  11. package/{lib/cjs/types → dist}/infrastructure/http/HttpClient.d.ts +1 -1
  12. package/dist/infrastructure/http/HttpClient.d.ts.map +1 -0
  13. package/dist/types/index.d.ts +37 -0
  14. package/dist/types/index.d.ts.map +1 -0
  15. package/dist/utils/events.d.ts +4 -0
  16. package/dist/utils/events.d.ts.map +1 -0
  17. package/{lib/cjs/types → dist}/utils/localStorage.d.ts +5 -0
  18. package/dist/utils/localStorage.d.ts.map +1 -0
  19. package/dist/utils/queryParams.d.ts.map +1 -0
  20. package/package.json +55 -17
  21. package/lib/cjs/constants.js +0 -15
  22. package/lib/cjs/index.js +0 -247
  23. package/lib/cjs/infrastructure/conversions/conversionService.js +0 -24
  24. package/lib/cjs/infrastructure/conversions/dtos.js +0 -2
  25. package/lib/cjs/infrastructure/http/HttpClient.js +0 -51
  26. package/lib/cjs/types/constants.d.ts.map +0 -1
  27. package/lib/cjs/types/index.d.ts +0 -46
  28. package/lib/cjs/types/index.d.ts.map +0 -1
  29. package/lib/cjs/types/index.js +0 -2
  30. package/lib/cjs/types/infrastructure/conversions/conversionService.d.ts.map +0 -1
  31. package/lib/cjs/types/infrastructure/conversions/dtos.d.ts +0 -37
  32. package/lib/cjs/types/infrastructure/conversions/dtos.d.ts.map +0 -1
  33. package/lib/cjs/types/infrastructure/http/HttpClient.d.ts.map +0 -1
  34. package/lib/cjs/types/types/index.d.ts +0 -27
  35. package/lib/cjs/types/types/index.d.ts.map +0 -1
  36. package/lib/cjs/types/utils/localStorage.d.ts.map +0 -1
  37. package/lib/cjs/types/utils/queryParams.d.ts.map +0 -1
  38. package/lib/cjs/utils/localStorage.js +0 -20
  39. package/lib/cjs/utils/queryParams.js +0 -14
  40. package/lib/esm/constants.js +0 -12
  41. package/lib/esm/index.mjs +0 -243
  42. package/lib/esm/infrastructure/conversions/conversionService.js +0 -20
  43. package/lib/esm/infrastructure/conversions/dtos.js +0 -1
  44. package/lib/esm/infrastructure/http/HttpClient.js +0 -44
  45. package/lib/esm/types/constants.d.ts +0 -13
  46. package/lib/esm/types/constants.d.ts.map +0 -1
  47. package/lib/esm/types/index.d.ts +0 -46
  48. package/lib/esm/types/index.d.ts.map +0 -1
  49. package/lib/esm/types/index.js +0 -1
  50. package/lib/esm/types/infrastructure/conversions/conversionService.d.ts +0 -8
  51. package/lib/esm/types/infrastructure/conversions/conversionService.d.ts.map +0 -1
  52. package/lib/esm/types/infrastructure/conversions/dtos.d.ts +0 -37
  53. package/lib/esm/types/infrastructure/conversions/dtos.d.ts.map +0 -1
  54. package/lib/esm/types/infrastructure/http/HttpClient.d.ts +0 -27
  55. package/lib/esm/types/infrastructure/http/HttpClient.d.ts.map +0 -1
  56. package/lib/esm/types/types/index.d.ts +0 -27
  57. package/lib/esm/types/types/index.d.ts.map +0 -1
  58. package/lib/esm/types/utils/localStorage.d.ts +0 -9
  59. package/lib/esm/types/utils/localStorage.d.ts.map +0 -1
  60. package/lib/esm/types/utils/queryParams.d.ts +0 -2
  61. package/lib/esm/types/utils/queryParams.d.ts.map +0 -1
  62. package/lib/esm/utils/localStorage.js +0 -9
  63. package/lib/esm/utils/queryParams.js +0 -10
  64. /package/{lib/cjs/types → dist}/constants.d.ts +0 -0
  65. /package/{lib/cjs/types → dist}/utils/queryParams.d.ts +0 -0
package/lib/esm/index.mjs DELETED
@@ -1,243 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import { nanoid } from "nanoid";
11
- import { getReferrerId, getSessionId, getTrackingId, getTrafficCategory, getTrafficSource, getTrafficTag, getTrafficTitle, } from "./utils/localStorage.js";
12
- import { REFERRER_ID_KEY, SENT_EVENT_ID_KEY, SESSION_ID_KEY, TRACKING_ID_KEY, SENT_EVENT_VALIDITY_PERIOD_MS, TRAFFIC_SOURCE_KEY, TRAFFIC_CATEGORY_KEY, TRAFFIC_TITLE_KEY, TRAFFIC_TAG_KEY, SEARCH_ENGINE_URLS, TRAFFIC_ORIGIN_URL, } from "./constants.js";
13
- import { HttpClient } from "./infrastructure/http/HttpClient.js";
14
- import { ConversionService } from "./infrastructure/conversions/conversionService.js";
15
- const saveSentEvent = (eventName, params) => {
16
- const timestamp = Date.now();
17
- const SENT_EVENT_KEY = `${SENT_EVENT_ID_KEY}_${eventName}`;
18
- const eventParams = Object.assign(Object.assign({}, params), { timestamp });
19
- localStorage.setItem(SENT_EVENT_KEY, JSON.stringify(eventParams));
20
- };
21
- const shouldEventBeSent = (eventName, params) => {
22
- const SENT_EVENT_KEY = `${SENT_EVENT_ID_KEY}_${eventName}`;
23
- const sentEvent = localStorage.getItem(SENT_EVENT_KEY);
24
- if (!sentEvent) {
25
- return true;
26
- }
27
- const parsedEvent = JSON.parse(sentEvent);
28
- const nowTimestamp = Date.now();
29
- const timespanMillis = nowTimestamp - parsedEvent.timestamp;
30
- const sentEventExpired = timespanMillis > SENT_EVENT_VALIDITY_PERIOD_MS;
31
- if (sentEventExpired) {
32
- return true;
33
- }
34
- let eventArgsMatch = false;
35
- if (eventName === "connect_wallet") {
36
- eventArgsMatch =
37
- parsedEvent["tracking_id"] === params.tracking_id &&
38
- parsedEvent["address"] === params.address;
39
- }
40
- else {
41
- eventArgsMatch =
42
- parsedEvent["tracking_id"] === params.tracking_id &&
43
- parsedEvent["project_id"] === params.project_id &&
44
- parsedEvent["referrer_id"] === params.referrer_id &&
45
- parsedEvent["source"] === params.source &&
46
- parsedEvent["category"] === params.category &&
47
- parsedEvent["title"] === params.title &&
48
- parsedEvent["tag"] === params.tag;
49
- }
50
- return !eventArgsMatch;
51
- };
52
- const generateRandomId = () => nanoid();
53
- const isBrowserUndefined = typeof window === "undefined" || typeof document === "undefined";
54
- const saveSessionId = () => {
55
- if (isBrowserUndefined) {
56
- return;
57
- }
58
- localStorage.setItem(SESSION_ID_KEY, generateRandomId());
59
- };
60
- const saveTrackingId = () => {
61
- if (isBrowserUndefined) {
62
- return;
63
- }
64
- if (!getTrackingId()) {
65
- localStorage.setItem(TRACKING_ID_KEY, generateRandomId());
66
- }
67
- };
68
- const saveUrlParams = () => {
69
- var _a, _b, _c, _d, _e, _f;
70
- if (isBrowserUndefined) {
71
- return;
72
- }
73
- const queryParams = new URLSearchParams(window.location.search);
74
- localStorage.setItem(REFERRER_ID_KEY, (_a = queryParams.get("referrer")) !== null && _a !== void 0 ? _a : "");
75
- localStorage.setItem(TRAFFIC_SOURCE_KEY, (_b = queryParams.get("source")) !== null && _b !== void 0 ? _b : "");
76
- localStorage.setItem(TRAFFIC_CATEGORY_KEY, (_c = queryParams.get("category")) !== null && _c !== void 0 ? _c : "");
77
- localStorage.setItem(TRAFFIC_TITLE_KEY, (_d = queryParams.get("title")) !== null && _d !== void 0 ? _d : "");
78
- localStorage.setItem(TRAFFIC_TAG_KEY, (_e = queryParams.get("tag")) !== null && _e !== void 0 ? _e : "");
79
- localStorage.setItem(TRAFFIC_ORIGIN_URL, (_f = document.referrer) !== null && _f !== void 0 ? _f : "");
80
- saveTrafficSource();
81
- };
82
- const saveTrafficSource = () => {
83
- const queryParams = new URLSearchParams(window.location.search);
84
- const source = queryParams.get("source");
85
- const referrer = queryParams.get("referrer");
86
- if (source) {
87
- return;
88
- }
89
- if (referrer) {
90
- localStorage.setItem(TRAFFIC_SOURCE_KEY, "affiliate");
91
- localStorage.setItem(TRAFFIC_CATEGORY_KEY, "affiliate");
92
- localStorage.setItem(TRAFFIC_TITLE_KEY, referrer);
93
- }
94
- else {
95
- // if traffic source is not defined
96
- const originURL = document.referrer;
97
- localStorage.setItem(TRAFFIC_CATEGORY_KEY, originURL);
98
- localStorage.setItem(TRAFFIC_TITLE_KEY, originURL);
99
- // if traffic source is a search engine
100
- if (SEARCH_ENGINE_URLS.includes(originURL)) {
101
- localStorage.setItem(TRAFFIC_SOURCE_KEY, "organic");
102
- }
103
- else {
104
- // if traffic source is direct
105
- localStorage.setItem(TRAFFIC_SOURCE_KEY, "direct");
106
- }
107
- }
108
- };
109
- const buildTrackingLinkQueryParams = (referrer, projectId) => {
110
- return `p=${projectId}&source=fuul&referrer=${referrer}`;
111
- };
112
- export class Fuul {
113
- constructor(apiKey, settings = {}) {
114
- this.BASE_API_URL = "https://api.fuul.xyz/api/v1/";
115
- this.apiKey = apiKey;
116
- this.settings = settings;
117
- this.checkApiKey();
118
- saveSessionId();
119
- saveTrackingId();
120
- saveUrlParams();
121
- this.httpClient = new HttpClient(Object.assign({ baseURL: this.BASE_API_URL, timeout: 10000, apiKey: this.apiKey }, (this.settings.defaultQueryParams &&
122
- typeof this.settings.defaultQueryParams !== "string" && {
123
- queryParams: this.settings.defaultQueryParams,
124
- })));
125
- this.conversionService = new ConversionService(this.httpClient);
126
- this.init();
127
- }
128
- init() {
129
- return __awaiter(this, void 0, void 0, function* () {
130
- if (isBrowserUndefined) {
131
- return;
132
- }
133
- yield this.sendEvent("pageview");
134
- });
135
- }
136
- checkApiKey() {
137
- if (!this.apiKey) {
138
- throw new Error("Fuul API key is required");
139
- }
140
- }
141
- /**
142
- * @param {EventType} name Event name.
143
- * @param {EventArgsType} args Event additional arguments.
144
- * @param {String} signature Event signature.
145
- * @param {String} signature_message Event signature message.
146
- * ```js
147
- * import { Fuul } from 'fuul-sdk'
148
- *
149
- * // Initialize Fuul in your app root file
150
- * new Fuul('your-api-key')
151
- *
152
- * // Then you can send an event as follows:
153
- * fuul.sendEvent('connect_wallet', {
154
- * address,
155
- * })
156
- * ```
157
- */
158
- sendEvent(name, args, signature, signature_message) {
159
- return __awaiter(this, void 0, void 0, function* () {
160
- const session_id = getSessionId();
161
- const tracking_id = getTrackingId();
162
- const referrer_id = getReferrerId();
163
- const source = getTrafficSource();
164
- const category = getTrafficCategory();
165
- const title = getTrafficTitle();
166
- const tag = getTrafficTag();
167
- if (!tracking_id)
168
- return;
169
- let params = {
170
- tracking_id,
171
- source,
172
- category,
173
- title,
174
- tag,
175
- };
176
- let reqBody = {};
177
- if (name === "connect_wallet") {
178
- params = Object.assign(Object.assign({}, params), { address: args === null || args === void 0 ? void 0 : args.address });
179
- reqBody = {
180
- name,
181
- session_id,
182
- event_args: Object.assign(Object.assign({}, args), { tracking_id,
183
- source,
184
- category,
185
- title,
186
- tag }),
187
- };
188
- }
189
- else {
190
- params = Object.assign(Object.assign({}, params), { project_id: args === null || args === void 0 ? void 0 : args.project_id, referrer_id });
191
- reqBody = {
192
- name,
193
- session_id,
194
- event_args: Object.assign(Object.assign({}, args), { referrer: referrer_id, tracking_id,
195
- source,
196
- category,
197
- title,
198
- tag }),
199
- };
200
- }
201
- reqBody = Object.assign(Object.assign(Object.assign({}, reqBody), (signature && {
202
- signature,
203
- })), (signature_message && {
204
- signature_message,
205
- }));
206
- if (!shouldEventBeSent(name, params)) {
207
- return;
208
- }
209
- try {
210
- yield this.httpClient.post("events", reqBody);
211
- saveSentEvent(name, params);
212
- }
213
- catch (error) {
214
- return error;
215
- }
216
- });
217
- }
218
- verifyConnection() {
219
- if (isBrowserUndefined) {
220
- throw new Error('Fuul SDK is not supported in this environment. Please use "typeof window !== undefined" to check if you are in the browser environment.');
221
- }
222
- window.alert("You are successfully connected to Fuul SDK! ✅");
223
- }
224
- /**
225
- * Generates a tracking link for a referrer
226
- * @param {Object} trackingLinkParams - Tracking link parameters
227
- * @param {string} trackingLinkParams.address - Referrer wallet address.
228
- * @param {string} trackingLinkParams.projectId - Project ID.
229
- * @param {string} trackingLinkParams.baseUrl - Base URL of your app. Defaults to window.location.href.
230
- * @returns {string} tracking link
231
- **/
232
- generateTrackingLink({ address, projectId, baseUrl, }) {
233
- return `${baseUrl !== null && baseUrl !== void 0 ? baseUrl : window.location.href}?${buildTrackingLinkQueryParams(address, projectId)}`;
234
- }
235
- getAllConversions() {
236
- return __awaiter(this, void 0, void 0, function* () {
237
- return this.conversionService.getAll();
238
- });
239
- }
240
- }
241
- export default {
242
- Fuul,
243
- };
@@ -1,20 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- export class ConversionService {
11
- constructor(httpClient) {
12
- this.httpClient = httpClient;
13
- }
14
- getAll() {
15
- return __awaiter(this, void 0, void 0, function* () {
16
- const { data } = yield this.httpClient.get("conversions");
17
- return data;
18
- });
19
- }
20
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,44 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import axios from "axios";
11
- import { buildQueryParams } from "../../utils/queryParams.js";
12
- export class HttpClient {
13
- constructor(options) {
14
- this.client = axios.create(Object.assign(Object.assign({}, options), { headers: options.apiKey ? this._getHeaders(options.apiKey) : {} }));
15
- this.queryParams = options.queryParams
16
- ? buildQueryParams(options.queryParams)
17
- : "";
18
- }
19
- get(path, params) {
20
- return __awaiter(this, void 0, void 0, function* () {
21
- return this.client.get(path + this.queryParams, { params });
22
- });
23
- }
24
- post(path, data) {
25
- return __awaiter(this, void 0, void 0, function* () {
26
- return this.client.post(path + this.queryParams, data);
27
- });
28
- }
29
- put(path, data) {
30
- return __awaiter(this, void 0, void 0, function* () {
31
- return this.client.put(path + this.queryParams, data);
32
- });
33
- }
34
- delete(path) {
35
- return __awaiter(this, void 0, void 0, function* () {
36
- return this.client.delete(path + this.queryParams);
37
- });
38
- }
39
- _getHeaders(apiKey) {
40
- const headers = {};
41
- headers.Authorization = `Bearer ${apiKey}`;
42
- return headers;
43
- }
44
- }
@@ -1,13 +0,0 @@
1
- export declare const SESSION_ID_KEY = "fuul.session_id";
2
- export declare const TRACKING_ID_KEY = "fuul.tracking_id";
3
- export declare const PROJECT_ID_KEY = "fuul.project_id";
4
- export declare const REFERRER_ID_KEY = "fuul.referrer_id";
5
- export declare const TRAFFIC_SOURCE_KEY = "fuul.traffic_source";
6
- export declare const TRAFFIC_CATEGORY_KEY = "fuul.traffic_category";
7
- export declare const TRAFFIC_TITLE_KEY = "fuul.traffic_title";
8
- export declare const TRAFFIC_TAG_KEY = "fuul.traffic_tag";
9
- export declare const TRAFFIC_ORIGIN_URL = "fuul.traffic_origin_url";
10
- export declare const SENT_EVENT_ID_KEY = "fuul.sent";
11
- export declare const SENT_EVENT_VALIDITY_PERIOD_MS = 60000;
12
- export declare const SEARCH_ENGINE_URLS: string[];
13
- //# sourceMappingURL=constants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,oBAAoB,CAAC;AAChD,eAAO,MAAM,eAAe,qBAAqB,CAAC;AAClD,eAAO,MAAM,cAAc,oBAAoB,CAAC;AAChD,eAAO,MAAM,eAAe,qBAAqB,CAAC;AAClD,eAAO,MAAM,kBAAkB,wBAAwB,CAAC;AACxD,eAAO,MAAM,oBAAoB,0BAA0B,CAAC;AAC5D,eAAO,MAAM,iBAAiB,uBAAuB,CAAC;AACtD,eAAO,MAAM,eAAe,qBAAqB,CAAC;AAClD,eAAO,MAAM,kBAAkB,4BAA4B,CAAC;AAC5D,eAAO,MAAM,iBAAiB,cAAc,CAAC;AAC7C,eAAO,MAAM,6BAA6B,QAAQ,CAAC;AAEnD,eAAO,MAAM,kBAAkB,UAA0C,CAAC"}
@@ -1,46 +0,0 @@
1
- import { EventArgsType, EventType, FuulSettings, IGenerateTrackingLink } from "./types/index.js";
2
- import { ConversionDTO } from "./infrastructure/conversions/dtos.js";
3
- export declare class Fuul {
4
- private readonly apiKey;
5
- private readonly BASE_API_URL;
6
- private readonly httpClient;
7
- private readonly settings;
8
- private conversionService;
9
- constructor(apiKey: string, settings?: FuulSettings);
10
- init(): Promise<void>;
11
- checkApiKey(): void;
12
- /**
13
- * @param {EventType} name Event name.
14
- * @param {EventArgsType} args Event additional arguments.
15
- * @param {String} signature Event signature.
16
- * @param {String} signature_message Event signature message.
17
- * ```js
18
- * import { Fuul } from 'fuul-sdk'
19
- *
20
- * // Initialize Fuul in your app root file
21
- * new Fuul('your-api-key')
22
- *
23
- * // Then you can send an event as follows:
24
- * fuul.sendEvent('connect_wallet', {
25
- * address,
26
- * })
27
- * ```
28
- */
29
- sendEvent(name: EventType, args?: EventArgsType, signature?: string, signature_message?: string): Promise<any>;
30
- verifyConnection(): void;
31
- /**
32
- * Generates a tracking link for a referrer
33
- * @param {Object} trackingLinkParams - Tracking link parameters
34
- * @param {string} trackingLinkParams.address - Referrer wallet address.
35
- * @param {string} trackingLinkParams.projectId - Project ID.
36
- * @param {string} trackingLinkParams.baseUrl - Base URL of your app. Defaults to window.location.href.
37
- * @returns {string} tracking link
38
- **/
39
- generateTrackingLink({ address, projectId, baseUrl, }: IGenerateTrackingLink): string;
40
- getAllConversions(): Promise<ConversionDTO[]>;
41
- }
42
- declare const _default: {
43
- Fuul: typeof Fuul;
44
- };
45
- export default _default;
46
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AA0BA,OAAO,EACL,aAAa,EACb,SAAS,EACT,YAAY,EACZ,qBAAqB,EAEtB,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AA8HrE,qBAAa,IAAI;IACf,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0C;IACvE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IAExC,OAAO,CAAC,iBAAiB,CAAoB;gBAEjC,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAE,YAAiB;IAwBjD,IAAI;IAQV,WAAW,IAAI,IAAI;IAMnB;;;;;;;;;;;;;;;;OAgBG;IACG,SAAS,CACb,IAAI,EAAE,SAAS,EACf,IAAI,CAAC,EAAE,aAAa,EACpB,SAAS,CAAC,EAAE,MAAM,EAClB,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,GAAG,CAAC;IAoFf,gBAAgB,IAAI,IAAI;IAUxB;;;;;;;QAOI;IACJ,oBAAoB,CAAC,EACnB,OAAO,EACP,SAAS,EACT,OAAO,GACR,EAAE,qBAAqB,GAAG,MAAM;IAO3B,iBAAiB,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;CAGpD;;;;AAED,wBAEE"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,8 +0,0 @@
1
- import { HttpClient } from "../http/HttpClient.js";
2
- import { ConversionDTO } from "./dtos.js";
3
- export declare class ConversionService {
4
- private httpClient;
5
- constructor(httpClient: HttpClient);
6
- getAll(): Promise<ConversionDTO[]>;
7
- }
8
- //# sourceMappingURL=conversionService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"conversionService.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/conversions/conversionService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,UAAU,CAAa;gBAEnB,UAAU,EAAE,UAAU;IAI5B,MAAM,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;CAKzC"}
@@ -1,37 +0,0 @@
1
- export interface Project {
2
- id: string;
3
- name: string;
4
- thumbnail_url: string;
5
- integration_type: string;
6
- user_landing_page_url?: string;
7
- partner_landing_page_url?: string;
8
- user_onboarding_page_url?: string;
9
- }
10
- interface ConversionPaymentActionArgs {
11
- payment_type: string;
12
- payment_currency: string;
13
- referral_amount: number;
14
- referrer_amount: number;
15
- }
16
- interface ContractDTO {
17
- address: string;
18
- network: string;
19
- }
20
- interface TriggerDTO {
21
- name: string;
22
- description: string;
23
- contracts: ContractDTO[];
24
- }
25
- export interface ConversionDTO {
26
- action_args?: ConversionPaymentActionArgs;
27
- action_type?: string;
28
- attribution_type: string;
29
- conversion_window: number;
30
- created_at: string;
31
- id: string;
32
- name: string;
33
- project: Project;
34
- triggers: TriggerDTO[];
35
- }
36
- export {};
37
- //# sourceMappingURL=dtos.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dtos.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/conversions/dtos.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,UAAU,2BAA2B;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,WAAW,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE,2BAA2B,CAAC;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,UAAU,EAAE,CAAC;CACxB"}
@@ -1,27 +0,0 @@
1
- import { AxiosResponse, RawAxiosRequestHeaders } from "axios";
2
- interface HttpClientOptions {
3
- baseURL: string;
4
- timeout: number;
5
- apiKey?: string;
6
- queryParams?: Record<string, string>;
7
- }
8
- export interface HttpError {
9
- message: string;
10
- status?: number;
11
- }
12
- export declare class HttpClient {
13
- private readonly client;
14
- private readonly queryParams;
15
- constructor(options: HttpClientOptions);
16
- get<T>(path: string, params?: any): Promise<AxiosResponse<T>>;
17
- post<T>(path: string, data: {
18
- [key: string]: any;
19
- }): Promise<AxiosResponse<T>>;
20
- put<T>(path: string, data: {
21
- [key: string]: any;
22
- }): Promise<AxiosResponse<T>>;
23
- delete<T>(path: string): Promise<AxiosResponse<T>>;
24
- _getHeaders(apiKey: string): RawAxiosRequestHeaders;
25
- }
26
- export {};
27
- //# sourceMappingURL=HttpClient.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HttpClient.d.ts","sourceRoot":"","sources":["../../../../../src/infrastructure/http/HttpClient.ts"],"names":[],"mappings":"AAAA,OAAc,EAEZ,aAAa,EACb,sBAAsB,EACvB,MAAM,OAAO,CAAC;AAGf,UAAU,iBAAiB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAEzB,OAAO,EAAE,iBAAiB;IAUhC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAI7D,IAAI,CAAC,CAAC,EACV,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE;QACJ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,GACA,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAItB,GAAG,CAAC,CAAC,EACT,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE;QACJ,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,GACA,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAItB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAIxD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,sBAAsB;CAOpD"}
@@ -1,27 +0,0 @@
1
- export interface SendEventParams {
2
- name: EventType;
3
- args?: EventArgsType;
4
- }
5
- export type EventArgsType = {
6
- [key: string]: string;
7
- };
8
- export type FuulSettings = {
9
- [key: string]: string | Record<string, string>;
10
- };
11
- export type EventType = "connect_wallet" | "pageview";
12
- export interface SentEventParams {
13
- tracking_id: string;
14
- project_id?: string;
15
- referrer_id?: string | null;
16
- address?: string | null;
17
- source?: string | null;
18
- category?: string | null;
19
- title?: string | null;
20
- tag?: string | null;
21
- }
22
- export interface IGenerateTrackingLink {
23
- address: string;
24
- projectId: string;
25
- baseUrl?: string;
26
- }
27
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,gBAAgB,GAAG,UAAU,CAAC;AAEtD,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
@@ -1,9 +0,0 @@
1
- export declare const getSessionId: () => string | null;
2
- export declare const getTrackingId: () => string | null;
3
- export declare const getProjectId: () => string | null;
4
- export declare const getReferrerId: () => string | null;
5
- export declare const getTrafficSource: () => string | null;
6
- export declare const getTrafficCategory: () => string | null;
7
- export declare const getTrafficTitle: () => string | null;
8
- export declare const getTrafficTag: () => string | null;
9
- //# sourceMappingURL=localStorage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"localStorage.d.ts","sourceRoot":"","sources":["../../../../src/utils/localStorage.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,YAAY,qBAA6C,CAAC;AACvE,eAAO,MAAM,aAAa,qBAA8C,CAAC;AACzE,eAAO,MAAM,YAAY,qBAA6C,CAAC;AACvE,eAAO,MAAM,aAAa,qBAA8C,CAAC;AACzE,eAAO,MAAM,gBAAgB,qBAAiD,CAAC;AAC/E,eAAO,MAAM,kBAAkB,qBACa,CAAC;AAC7C,eAAO,MAAM,eAAe,qBAAgD,CAAC;AAC7E,eAAO,MAAM,aAAa,qBAA8C,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const buildQueryParams: (args: Record<string, string>) => string;
2
- //# sourceMappingURL=queryParams.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"queryParams.d.ts","sourceRoot":"","sources":["../../../../src/utils/queryParams.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,SAAU,OAAO,MAAM,EAAE,MAAM,CAAC,WAW5D,CAAC"}
@@ -1,9 +0,0 @@
1
- import { PROJECT_ID_KEY, REFERRER_ID_KEY, SESSION_ID_KEY, TRACKING_ID_KEY, TRAFFIC_CATEGORY_KEY, TRAFFIC_SOURCE_KEY, TRAFFIC_TAG_KEY, TRAFFIC_TITLE_KEY, } from "../constants.js";
2
- export const getSessionId = () => localStorage.getItem(SESSION_ID_KEY);
3
- export const getTrackingId = () => localStorage.getItem(TRACKING_ID_KEY);
4
- export const getProjectId = () => localStorage.getItem(PROJECT_ID_KEY);
5
- export const getReferrerId = () => localStorage.getItem(REFERRER_ID_KEY);
6
- export const getTrafficSource = () => localStorage.getItem(TRAFFIC_SOURCE_KEY);
7
- export const getTrafficCategory = () => localStorage.getItem(TRAFFIC_CATEGORY_KEY);
8
- export const getTrafficTitle = () => localStorage.getItem(TRAFFIC_TITLE_KEY);
9
- export const getTrafficTag = () => localStorage.getItem(TRAFFIC_TAG_KEY);
@@ -1,10 +0,0 @@
1
- export const buildQueryParams = (args) => {
2
- let queryParams = "";
3
- Object.keys(args).forEach((key) => {
4
- queryParams =
5
- queryParams === ""
6
- ? queryParams + `?${key}=${args[key]}`
7
- : queryParams + "&" + `${key}=${args[key]}`;
8
- });
9
- return queryParams;
10
- };
File without changes
File without changes