@xylabs/pixel 1.1.3 → 1.2.2

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 (169) hide show
  1. package/README.md +24 -4
  2. package/dist/Api/Api.d.ts +0 -1
  3. package/dist/Api/Api.js +22 -21
  4. package/dist/Api/Api.js.map +1 -1
  5. package/dist/Api/UserEvent.d.ts +0 -1
  6. package/dist/Api/UserEventSystem.d.ts +0 -1
  7. package/dist/Api/index.d.ts +0 -1
  8. package/dist/CommonFields.d.ts +0 -1
  9. package/dist/ExIds.d.ts +0 -1
  10. package/dist/FunnelStartedFields.d.ts +0 -1
  11. package/dist/Pixel.d.ts +2 -4
  12. package/dist/Pixel.js +100 -75
  13. package/dist/Pixel.js.map +1 -1
  14. package/dist/Referrer.d.ts +0 -1
  15. package/dist/Referrer.js +14 -13
  16. package/dist/Referrer.js.map +1 -1
  17. package/dist/TestStartedFields.d.ts +0 -1
  18. package/dist/UniqueUserId.d.ts +0 -1
  19. package/dist/UniqueUserId.js +11 -10
  20. package/dist/UniqueUserId.js.map +1 -1
  21. package/dist/UserClickFields.d.ts +0 -1
  22. package/dist/UserEventHandler.d.ts +0 -1
  23. package/dist/UserEventHandler.js +5 -2
  24. package/dist/UserEventHandler.js.map +1 -1
  25. package/dist/UtmFields.d.ts +0 -1
  26. package/dist/UtmFields.js +18 -17
  27. package/dist/UtmFields.js.map +1 -1
  28. package/dist/ViewContentFields.d.ts +0 -1
  29. package/dist/XyLabsTrackingEventJson.d.ts +17 -0
  30. package/dist/XyLabsTrackingEventJson.js +2 -0
  31. package/dist/XyLabsTrackingEventJson.js.map +1 -0
  32. package/dist/XyUserEventHandler.d.ts +0 -1
  33. package/dist/XyUserEventHandler.js +44 -30
  34. package/dist/XyUserEventHandler.js.map +1 -1
  35. package/dist/esm2017/index.d.ts +1 -0
  36. package/dist/esm2017/index.js +238 -0
  37. package/dist/esm2017/index.js.map +1 -0
  38. package/dist/esm2017/index.node.d.ts +1 -0
  39. package/dist/esm2017/src/Api/Api.d.ts +7 -0
  40. package/dist/esm2017/src/Api/UserEvent.d.ts +18 -0
  41. package/dist/esm2017/src/Api/UserEventSystem.d.ts +3 -0
  42. package/dist/esm2017/src/Api/index.d.ts +5 -0
  43. package/dist/esm2017/src/CommonFields.d.ts +5 -0
  44. package/dist/esm2017/src/ExIds.d.ts +10 -0
  45. package/dist/esm2017/src/FunnelStartedFields.d.ts +5 -0
  46. package/dist/esm2017/src/Pixel.d.ts +23 -0
  47. package/dist/esm2017/src/Pixel.spec.d.ts +1 -0
  48. package/dist/esm2017/src/Referrer.d.ts +13 -0
  49. package/dist/esm2017/src/TestStartedFields.d.ts +5 -0
  50. package/dist/esm2017/src/UniqueUserId.d.ts +8 -0
  51. package/dist/esm2017/src/UserClickFields.d.ts +6 -0
  52. package/dist/esm2017/src/UserEventHandler.d.ts +11 -0
  53. package/dist/esm2017/src/UtmFields.d.ts +9 -0
  54. package/dist/esm2017/src/ViewContentFields.d.ts +6 -0
  55. package/dist/esm2017/src/XyLabsTrackingEventJson.d.ts +17 -0
  56. package/dist/esm2017/src/XyUserEventHandler.d.ts +13 -0
  57. package/dist/esm2017/src/getSystemInfo.d.ts +3 -0
  58. package/dist/esm2017/src/index.d.ts +14 -0
  59. package/dist/esm5/index.d.ts +1 -0
  60. package/dist/esm5/index.js +400 -0
  61. package/dist/esm5/index.js.map +1 -0
  62. package/dist/esm5/index.node.d.ts +1 -0
  63. package/dist/esm5/src/Api/Api.d.ts +7 -0
  64. package/dist/esm5/src/Api/UserEvent.d.ts +18 -0
  65. package/dist/esm5/src/Api/UserEventSystem.d.ts +3 -0
  66. package/dist/esm5/src/Api/index.d.ts +5 -0
  67. package/dist/esm5/src/CommonFields.d.ts +5 -0
  68. package/dist/esm5/src/ExIds.d.ts +10 -0
  69. package/dist/esm5/src/FunnelStartedFields.d.ts +5 -0
  70. package/dist/esm5/src/Pixel.d.ts +23 -0
  71. package/dist/esm5/src/Pixel.spec.d.ts +1 -0
  72. package/dist/esm5/src/Referrer.d.ts +13 -0
  73. package/dist/esm5/src/TestStartedFields.d.ts +5 -0
  74. package/dist/esm5/src/UniqueUserId.d.ts +8 -0
  75. package/dist/esm5/src/UserClickFields.d.ts +6 -0
  76. package/dist/esm5/src/UserEventHandler.d.ts +11 -0
  77. package/dist/esm5/src/UtmFields.d.ts +9 -0
  78. package/dist/esm5/src/ViewContentFields.d.ts +6 -0
  79. package/dist/esm5/src/XyLabsTrackingEventJson.d.ts +17 -0
  80. package/dist/esm5/src/XyUserEventHandler.d.ts +13 -0
  81. package/dist/esm5/src/getSystemInfo.d.ts +3 -0
  82. package/dist/esm5/src/index.d.ts +14 -0
  83. package/dist/getSystemInfo.d.ts +0 -1
  84. package/dist/getSystemInfo.js +3 -3
  85. package/dist/getSystemInfo.js.map +1 -1
  86. package/dist/index.d.ts +3 -3
  87. package/dist/index.js +3 -2
  88. package/dist/index.js.map +1 -1
  89. package/dist/node/index.d.ts +1 -0
  90. package/dist/node/index.js +419 -0
  91. package/dist/node/index.js.map +1 -0
  92. package/dist/node/index.node.d.ts +1 -0
  93. package/dist/node/src/Api/Api.d.ts +7 -0
  94. package/dist/node/src/Api/UserEvent.d.ts +18 -0
  95. package/dist/node/src/Api/UserEventSystem.d.ts +3 -0
  96. package/dist/node/src/Api/index.d.ts +5 -0
  97. package/dist/node/src/CommonFields.d.ts +5 -0
  98. package/dist/node/src/ExIds.d.ts +10 -0
  99. package/dist/node/src/FunnelStartedFields.d.ts +5 -0
  100. package/dist/node/src/Pixel.d.ts +23 -0
  101. package/dist/node/src/Pixel.spec.d.ts +1 -0
  102. package/dist/node/src/Referrer.d.ts +13 -0
  103. package/dist/node/src/TestStartedFields.d.ts +5 -0
  104. package/dist/node/src/UniqueUserId.d.ts +8 -0
  105. package/dist/node/src/UserClickFields.d.ts +6 -0
  106. package/dist/node/src/UserEventHandler.d.ts +11 -0
  107. package/dist/node/src/UtmFields.d.ts +9 -0
  108. package/dist/node/src/ViewContentFields.d.ts +6 -0
  109. package/dist/node/src/XyLabsTrackingEventJson.d.ts +17 -0
  110. package/dist/node/src/XyUserEventHandler.d.ts +13 -0
  111. package/dist/node/src/getSystemInfo.d.ts +3 -0
  112. package/dist/node/src/index.d.ts +14 -0
  113. package/dist/node-esm/index.d.ts +1 -0
  114. package/dist/node-esm/index.js +238 -0
  115. package/dist/node-esm/index.js.map +1 -0
  116. package/dist/node-esm/index.node.d.ts +1 -0
  117. package/dist/node-esm/package.json +1 -0
  118. package/dist/node-esm/src/Api/Api.d.ts +7 -0
  119. package/dist/node-esm/src/Api/UserEvent.d.ts +18 -0
  120. package/dist/node-esm/src/Api/UserEventSystem.d.ts +3 -0
  121. package/dist/node-esm/src/Api/index.d.ts +5 -0
  122. package/dist/node-esm/src/CommonFields.d.ts +5 -0
  123. package/dist/node-esm/src/ExIds.d.ts +10 -0
  124. package/dist/node-esm/src/FunnelStartedFields.d.ts +5 -0
  125. package/dist/node-esm/src/Pixel.d.ts +23 -0
  126. package/dist/node-esm/src/Pixel.spec.d.ts +1 -0
  127. package/dist/node-esm/src/Referrer.d.ts +13 -0
  128. package/dist/node-esm/src/TestStartedFields.d.ts +5 -0
  129. package/dist/node-esm/src/UniqueUserId.d.ts +8 -0
  130. package/dist/node-esm/src/UserClickFields.d.ts +6 -0
  131. package/dist/node-esm/src/UserEventHandler.d.ts +11 -0
  132. package/dist/node-esm/src/UtmFields.d.ts +9 -0
  133. package/dist/node-esm/src/ViewContentFields.d.ts +6 -0
  134. package/dist/node-esm/src/XyLabsTrackingEventJson.d.ts +17 -0
  135. package/dist/node-esm/src/XyUserEventHandler.d.ts +13 -0
  136. package/dist/node-esm/src/getSystemInfo.d.ts +3 -0
  137. package/dist/node-esm/src/index.d.ts +14 -0
  138. package/index.node.ts +1 -0
  139. package/index.ts +1 -0
  140. package/jest.config.cjs +4 -0
  141. package/package.json +70 -48
  142. package/rollup.config.js +123 -0
  143. package/src/Api/Api.ts +5 -3
  144. package/src/Pixel.spec.ts +10 -0
  145. package/src/Pixel.ts +3 -5
  146. package/src/Referrer.ts +2 -2
  147. package/src/UniqueUserId.ts +2 -2
  148. package/src/UtmFields.ts +3 -3
  149. package/src/XyLabsTrackingEventJson.ts +17 -0
  150. package/src/XyUserEventHandler.ts +1 -1
  151. package/src/index.ts +3 -2
  152. package/dist/Api/Api.d.ts.map +0 -1
  153. package/dist/Api/UserEvent.d.ts.map +0 -1
  154. package/dist/Api/UserEventSystem.d.ts.map +0 -1
  155. package/dist/Api/index.d.ts.map +0 -1
  156. package/dist/CommonFields.d.ts.map +0 -1
  157. package/dist/ExIds.d.ts.map +0 -1
  158. package/dist/FunnelStartedFields.d.ts.map +0 -1
  159. package/dist/Pixel.d.ts.map +0 -1
  160. package/dist/Referrer.d.ts.map +0 -1
  161. package/dist/TestStartedFields.d.ts.map +0 -1
  162. package/dist/UniqueUserId.d.ts.map +0 -1
  163. package/dist/UserClickFields.d.ts.map +0 -1
  164. package/dist/UserEventHandler.d.ts.map +0 -1
  165. package/dist/UtmFields.d.ts.map +0 -1
  166. package/dist/ViewContentFields.d.ts.map +0 -1
  167. package/dist/XyUserEventHandler.d.ts.map +0 -1
  168. package/dist/getSystemInfo.d.ts.map +0 -1
  169. package/dist/index.d.ts.map +0 -1
package/package.json CHANGED
@@ -1,30 +1,12 @@
1
1
  {
2
- "name": "@xylabs/pixel",
3
- "homepage": "https://xylabs.com",
4
- "bugs": {
5
- "url": "https://github.com/xylabs/sdk-pixel-js/issues",
6
- "email": "support@xylabs.com"
7
- },
8
- "description": "Event Client for xylabs ESB",
9
2
  "author": {
3
+ "email": "support@xylabs.com",
10
4
  "name": "XY Labs Development Team",
11
- "url": "https://xylabs.com",
12
- "email": "support@xylabs.com"
13
- },
14
- "license": "LGPL-3.0",
15
- "private": false,
16
- "repository": {
17
- "type": "git",
18
- "url": "https://github.com/xylabs/sdk-pixel-js.git"
5
+ "url": "https://xylabs.com"
19
6
  },
20
- "version": "1.1.3",
21
- "main": "dist/index.js",
22
- "module": "dist/index.js",
23
- "types": "dist/index.d.ts",
24
- "sideEffects": false,
25
- "type": "module",
26
- "publishConfig": {
27
- "access": "public"
7
+ "bugs": {
8
+ "email": "support@xylabs.com",
9
+ "url": "https://github.com/xylabs/sdk-pixel-js/issues"
28
10
  },
29
11
  "dependencies": {
30
12
  "async-mutex": "^0.3.2",
@@ -34,37 +16,77 @@
34
16
  "md5": "^2.3.0",
35
17
  "randombytes": "^2.1.0"
36
18
  },
19
+ "description": "Event Client for xylabs ESB",
20
+ "devDependencies": {
21
+ "@rollup/plugin-json": "^4.1.0",
22
+ "@rollup/plugin-strip": "^2.1.0",
23
+ "@types/bn.js": "^5.1.0",
24
+ "@types/jest": "^27.0.3",
25
+ "@types/js-cookie": "^3.0.1",
26
+ "@types/jsdom": "^16.2.14",
27
+ "@types/lodash": "^4.14.178",
28
+ "@types/md5": "^2.3.1",
29
+ "@types/node": "^17",
30
+ "@types/randombytes": "^2.0.0",
31
+ "@xylabs/eslint-config": "^2.1.8",
32
+ "@xylabs/sdk-js": "^2.3.19",
33
+ "@xylabs/ts-scripts": "1.0.24",
34
+ "@xylabs/tsconfig": "^1.0.5",
35
+ "axios": "^0.24.0",
36
+ "bn.js": "^5.2.0",
37
+ "eslint": "^8",
38
+ "jest": "^27.4.5",
39
+ "jsdom": "^19.0.0",
40
+ "npm-package-json-lint": "^5.4.2",
41
+ "npm-package-json-lint-config-default": "^3.0.0",
42
+ "prettier": "^2.5.1",
43
+ "rollbar": "^2",
44
+ "rollup": "^2.61.1",
45
+ "rollup-plugin-replace": "^2.2.0",
46
+ "rollup-plugin-typescript2": "^0.31.1",
47
+ "ts-jest": "^27.1.2",
48
+ "ts-node": "^10.4.0",
49
+ "typescript": "^4.5.4"
50
+ },
51
+ "esm5": "dist/esm5/index.js",
52
+ "exports": {
53
+ ".": {
54
+ "default": "./dist/index.js",
55
+ "esm5": "./dist/esm5/index.js",
56
+ "node": {
57
+ "import": "./dist/node-esm/index.js",
58
+ "require": "./dist/node/index.js"
59
+ }
60
+ },
61
+ "./package.json": "./package.json"
62
+ },
63
+ "homepage": "https://xylabs.com",
64
+ "license": "LGPL-3.0",
65
+ "main": "dist/node/index.js",
66
+ "module": "dist/index.js",
67
+ "name": "@xylabs/pixel",
37
68
  "peerDependencies": {
38
- "@xyo-network/sdk-xyo-js": "^2",
69
+ "@xylabs/sdk-js": "^2",
39
70
  "axios": "^0",
40
71
  "rollbar": "^2"
41
72
  },
73
+ "private": false,
74
+ "publishConfig": {
75
+ "access": "public"
76
+ },
77
+ "repository": {
78
+ "type": "git",
79
+ "url": "https://github.com/xylabs/sdk-pixel-js.git"
80
+ },
42
81
  "scripts": {
43
- "build": "rm -r -f dist && yarn deps && yarn lint && yarn lint-pkg && yarn compile",
44
- "compile": "tsc -p tsconfig.build.json",
45
- "deploy": "yarn version --patch && yarn build && yarn publish",
82
+ "compile": "rm -r -f dist && yarn compile-rollup && yarn compile-tsc",
83
+ "compile-rollup": "rollup -c",
84
+ "compile-tsc": "tsc -p tsconfig.build.json",
46
85
  "lint-pkg": "npmPkgJsonLint .",
47
86
  "test": "jest"
48
87
  },
49
- "devDependencies": {
50
- "@types/jest": "^27.0.2",
51
- "@types/js-cookie": "^3.0.0",
52
- "@types/lodash": "^4.14.176",
53
- "@types/md5": "^2.3.1",
54
- "@types/node": "^16",
55
- "@types/randombytes": "^2.0.0",
56
- "@xylabs/eslint-config": "^2.0.31",
57
- "@xylabs/ts-scripts": "1.0.16",
58
- "@xyo-network/sdk-xyo-js": "^2.2.1",
59
- "axios": "^0.24.0",
60
- "eslint": "^7",
61
- "jest": "^27.3.1",
62
- "npm-package-json-lint": "^5.4.1",
63
- "npm-package-json-lint-config-default": "^3.0.0",
64
- "prettier": "^2.4.1",
65
- "rollbar": "^2",
66
- "ts-jest": "^27.0.7",
67
- "ts-node": "^10.4.0",
68
- "typescript": "^4.4.4"
69
- }
88
+ "sideEffects": false,
89
+ "type": "module",
90
+ "typings": "dist/index.d.ts",
91
+ "version": "1.2.2"
70
92
  }
@@ -0,0 +1,123 @@
1
+ import json from '@rollup/plugin-json'
2
+ import strip from '@rollup/plugin-strip'
3
+ import replace from 'rollup-plugin-replace'
4
+ import typescriptPlugin from 'rollup-plugin-typescript2'
5
+ import typescript from 'typescript'
6
+
7
+ import pkg from './package.json'
8
+
9
+ const deps = Object.keys(Object.assign({}, pkg.peerDependencies, pkg.dependencies))
10
+
11
+ const BUILD_TARGET_MAGIC_STRING = '__BUILD_TARGET__'
12
+
13
+ function generateBuildTargetReplaceConfig(moduleFormat, languageTarget) {
14
+ let buildTarget = ''
15
+
16
+ switch (moduleFormat.toLowerCase()) {
17
+ case 'esm':
18
+ buildTarget += 'esm'
19
+ break
20
+ case 'cjs':
21
+ buildTarget += 'cjs'
22
+ break
23
+ default:
24
+ throw Error(`unsupported module format ${moduleFormat}. Valid values are esm and cjs.`)
25
+ }
26
+
27
+ if (typeof languageTarget !== 'number') {
28
+ throw Error('languageTarget accepts only number')
29
+ }
30
+
31
+ // simplified input validation
32
+ if (languageTarget != 5 && languageTarget < 2015) {
33
+ throw Error(`invalid languageTarget ${languageTarget}. Valid values are 5, 2015, 2016, etc.`)
34
+ }
35
+
36
+ buildTarget += languageTarget
37
+
38
+ return {
39
+ [BUILD_TARGET_MAGIC_STRING]: buildTarget,
40
+ }
41
+ }
42
+
43
+ function emitModulePackageFile() {
44
+ return {
45
+ generateBundle() {
46
+ this.emitFile({
47
+ fileName: 'package.json',
48
+ source: '{"type":"module"}',
49
+ type: 'asset',
50
+ })
51
+ },
52
+ name: 'emit-module-package-file',
53
+ }
54
+ }
55
+
56
+ const es5BuildPlugins = [
57
+ json(),
58
+ strip({
59
+ functions: ['debugAssert.*'],
60
+ }),
61
+ typescriptPlugin({
62
+ typescript,
63
+ }),
64
+ ]
65
+
66
+ const es2017BuildPlugins = [
67
+ json(),
68
+ strip({
69
+ functions: ['debugAssert.*'],
70
+ }),
71
+ typescriptPlugin({
72
+ tsconfigOverride: {
73
+ compilerOptions: {
74
+ target: 'es2017',
75
+ },
76
+ },
77
+ typescript,
78
+ }),
79
+ ]
80
+
81
+ const browserBuilds = [
82
+ {
83
+ external: (id) => deps.some((dep) => id === dep || id.startsWith(`${dep}/`)),
84
+ input: {
85
+ index: 'index.ts',
86
+ },
87
+ output: [{ dir: 'dist/esm5', format: 'es', sourcemap: true }],
88
+ plugins: [...es5BuildPlugins, replace(generateBuildTargetReplaceConfig('esm', 5))],
89
+ },
90
+ {
91
+ external: (id) => deps.some((dep) => id === dep || id.startsWith(`${dep}/`)),
92
+ input: {
93
+ index: 'index.ts',
94
+ },
95
+ output: {
96
+ dir: 'dist/esm2017',
97
+ format: 'es',
98
+ sourcemap: true,
99
+ },
100
+ plugins: [...es2017BuildPlugins, replace(generateBuildTargetReplaceConfig('esm', 2017))],
101
+ },
102
+ ]
103
+
104
+ const nodeBuilds = [
105
+ {
106
+ external: (id) => deps.some((dep) => id === dep || id.startsWith(`${dep}/`)),
107
+ input: {
108
+ index: 'index.node.ts',
109
+ },
110
+ output: [{ dir: 'dist/node', format: 'cjs', sourcemap: true }],
111
+ plugins: [...es5BuildPlugins, replace(generateBuildTargetReplaceConfig('cjs', 5))],
112
+ },
113
+ {
114
+ external: (id) => deps.some((dep) => id === dep || id.startsWith(`${dep}/`)),
115
+ input: {
116
+ index: 'index.node.ts',
117
+ },
118
+ output: [{ dir: 'dist/node-esm', format: 'es', sourcemap: true }],
119
+ plugins: [...es2017BuildPlugins, replace(generateBuildTargetReplaceConfig('esm', 2017)), emitModulePackageFile()],
120
+ },
121
+ ]
122
+
123
+ export default [...browserBuilds, ...nodeBuilds]
package/src/Api/Api.ts CHANGED
@@ -3,9 +3,9 @@ import axios from 'axios'
3
3
  import UserEvent from './UserEvent'
4
4
 
5
5
  const apiBaseUri: Record<string, string> = {
6
- beta: 'https://beta-api.coinapp.co',
7
- local: 'http://localhost:3030/dev',
8
- prod: 'https://api.coinapp.co',
6
+ beta: 'https://pixel.xylabs.com',
7
+ local: 'http://localhost:3030',
8
+ prod: 'https://pixel.xylabs.com',
9
9
  }
10
10
 
11
11
  class PixelApi {
@@ -13,7 +13,9 @@ class PixelApi {
13
13
 
14
14
  /* baseUri can either be a preset (prod, beta, local), or a specific uri */
15
15
  constructor(baseUri = 'prod') {
16
+ console.log(`baseUri: ${baseUri}`)
16
17
  this.endPoint = apiBaseUri[baseUri] ? `${apiBaseUri[baseUri]}/t/event` : baseUri
18
+ console.log(`EndPoint: ${this.endPoint}`)
17
19
  }
18
20
 
19
21
  public async trackEvents(events: UserEvent[]) {
@@ -0,0 +1,10 @@
1
+ import { PixelApi } from './Api'
2
+ import { XyPixel } from './Pixel'
3
+
4
+ test('all', async () => {
5
+ XyPixel.api = new PixelApi('prod')
6
+ const pixel = XyPixel.init('test')
7
+ await pixel.send('testing', { testField1: true })
8
+ const x = 1
9
+ expect(x).toBe(1)
10
+ })
package/src/Pixel.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { assertEx } from '@xyo-network/sdk-xyo-js'
1
+ import { assertEx } from '@xylabs/sdk-js'
2
2
  import { Mutex } from 'async-mutex'
3
3
  import Cookies from 'js-cookie'
4
4
  import md5 from 'md5'
@@ -10,7 +10,7 @@ import Referrer from './Referrer'
10
10
  import UniqueUserId from './UniqueUserId'
11
11
  import UtmFields from './UtmFields'
12
12
 
13
- class XyPixel {
13
+ export class XyPixel {
14
14
  public pixelId?: string
15
15
  public email?: string
16
16
  public email_hash?: string | null
@@ -103,10 +103,8 @@ class XyPixel {
103
103
  return this._instance
104
104
  }
105
105
 
106
- private static api = new PixelApi()
106
+ public static api = new PixelApi()
107
107
  public static selectApi(api: PixelApi) {
108
108
  this.api = api
109
109
  }
110
110
  }
111
-
112
- export default XyPixel
package/src/Referrer.ts CHANGED
@@ -6,11 +6,11 @@ class Referrer {
6
6
  this.session = this.getFromSession() ?? document.referrer
7
7
  sessionStorage.setItem(Referrer.storageId, this.session)
8
8
  this.local = this.getFromLocal() ?? document.referrer
9
- localStorage.setItem(Referrer.storageId, this.local)
9
+ window.localStorage.setItem(Referrer.storageId, this.local)
10
10
  }
11
11
 
12
12
  private getFromLocal() {
13
- const value = localStorage.getItem(Referrer.storageId)
13
+ const value = window.localStorage.getItem(Referrer.storageId)
14
14
  if (value && value.length > 0) {
15
15
  return value
16
16
  }
@@ -4,8 +4,8 @@ class UniqueUserId {
4
4
  private static localStorageId = '_coin_cid'
5
5
  public id: string
6
6
  constructor() {
7
- this.id = localStorage.getItem(UniqueUserId.localStorageId) ?? this.generateId()
8
- localStorage.setItem(UniqueUserId.localStorageId, this.id)
7
+ this.id = window.localStorage.getItem(UniqueUserId.localStorageId) ?? this.generateId()
8
+ window.localStorage.setItem(UniqueUserId.localStorageId, this.id)
9
9
  }
10
10
  private generateId() {
11
11
  return randomBytes(16).toString('base64')
package/src/UtmFields.ts CHANGED
@@ -4,7 +4,7 @@ class UtmFields {
4
4
  private static localStorageId = '_coin_utm'
5
5
  public fields: Record<string, string>[] = []
6
6
  constructor() {
7
- const storedString = localStorage.getItem(UtmFields.localStorageId) ?? '[]'
7
+ const storedString = window.localStorage.getItem(UtmFields.localStorageId) ?? '[]'
8
8
  try {
9
9
  this.fields = JSON.parse(storedString)
10
10
  } catch {
@@ -15,14 +15,14 @@ class UtmFields {
15
15
  this.fields = []
16
16
  }
17
17
  this.update()
18
- localStorage.setItem(UtmFields.localStorageId, JSON.stringify(this.fields))
18
+ window.localStorage.setItem(UtmFields.localStorageId, JSON.stringify(this.fields))
19
19
  }
20
20
 
21
21
  public getUtmRecord = () => {
22
22
  const record: Record<string, string> = {}
23
23
  const parsedQueryString = document.location.search.split('?')[1]?.split('&') ?? []
24
24
  parsedQueryString.map((item) => {
25
- const [fullKey, value] = item?.split('=')
25
+ const [fullKey, value] = item.split('=')
26
26
  const [keyCategory, keyName] = fullKey.split('_')
27
27
  if (keyCategory === 'utm') {
28
28
  record[keyName] = value
@@ -0,0 +1,17 @@
1
+ export interface XyLabsTrackingEventJson {
2
+ cid: string
3
+ create_time?: number
4
+ email?: string
5
+ email_hash?: string
6
+ event?: string
7
+ exids?: Record<string, string>
8
+ fields?: Record<string, unknown>
9
+ host?: string
10
+ pathname?: string
11
+ pixel?: string
12
+ receive_time?: number
13
+ rid?: string
14
+ uid?: string
15
+ utm?: Record<string, string>[] | Record<string, string[]>
16
+ system?: unknown
17
+ }
@@ -1,5 +1,5 @@
1
1
  import FunnelStartedFields from './FunnelStartedFields'
2
- import XyPixel from './Pixel'
2
+ import { XyPixel } from './Pixel'
3
3
  import TestStartedFields from './TestStartedFields'
4
4
  import UserClickFields from './UserClickFields'
5
5
  import UserEventHandler from './UserEventHandler'
package/src/index.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  import FunnelStartedFields from './FunnelStartedFields'
2
- import XyPixel from './Pixel'
3
2
  import Referrer from './Referrer'
4
3
  import TestStartedFields from './TestStartedFields'
5
4
  import UniqueUserId from './UniqueUserId'
@@ -10,6 +9,8 @@ import ViewContentFields from './ViewContentFields'
10
9
  import XyUserEventHandler from './XyUserEventHandler'
11
10
 
12
11
  export * from './Api'
12
+ export * from './Pixel'
13
+ export * from './XyLabsTrackingEventJson'
13
14
 
14
- export { Referrer, UniqueUserId, UserEventHandler, UtmFields, XyPixel, XyUserEventHandler }
15
+ export { Referrer, UniqueUserId, UserEventHandler, UtmFields, XyUserEventHandler }
15
16
  export type { FunnelStartedFields, TestStartedFields, UserClickFields, ViewContentFields }
@@ -1 +0,0 @@
1
- {"version":3,"file":"Api.d.ts","sourceRoot":"","sources":["../../src/Api/Api.ts"],"names":[],"mappings":"AAEA,OAAO,SAAS,MAAM,aAAa,CAAA;AAQnC,cAAM,QAAQ;IACZ,OAAO,CAAC,QAAQ,CAAQ;gBAGZ,OAAO,SAAS;IAIf,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE;CAG7C;AAED,eAAe,QAAQ,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"UserEvent.d.ts","sourceRoot":"","sources":["../../src/Api/UserEvent.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAA;AAE/C,UAAU,SAAS;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IACzD,MAAM,CAAC,EAAE,eAAe,CAAA;CACzB;AAED,eAAe,SAAS,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"UserEventSystem.d.ts","sourceRoot":"","sources":["../../src/Api/UserEventSystem.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAE3B,aAAK,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAA;AAEjD,eAAe,eAAe,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Api/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,OAAO,CAAA;AAC5B,OAAO,SAAS,MAAM,aAAa,CAAA;AACnC,OAAO,eAAe,MAAM,mBAAmB,CAAA;AAE/C,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CommonFields.d.ts","sourceRoot":"","sources":["../src/CommonFields.ts"],"names":[],"mappings":"AAAA,UAAU,YAAa,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACpD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,eAAe,YAAY,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ExIds.d.ts","sourceRoot":"","sources":["../src/ExIds.ts"],"names":[],"mappings":"AAAA,UAAU,KAAK;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,eAAe,KAAK,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"FunnelStartedFields.d.ts","sourceRoot":"","sources":["../src/FunnelStartedFields.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,gBAAgB,CAAA;AAEzC,UAAU,mBAAoB,SAAQ,YAAY;IAChD,IAAI,EAAE,MAAM,CAAA;CACb;AAED,eAAe,mBAAmB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Pixel.d.ts","sourceRoot":"","sources":["../src/Pixel.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,KAAK,MAAM,SAAS,CAAA;AAM3B,cAAM,OAAO;IACJ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,KAAK,EAAE,SAAS,EAAE,CAAK;IACvB,GAAG,SAAwB;IAC3B,KAAK,CAAC,EAAE,KAAK,CAAA;IACpB,OAAO,CAAC,UAAU,CAAc;IAEhC,OAAO;IAIA,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM;IAK9B,OAAO,CAAC,UAAU;YAcJ,aAAa;IAoB3B,OAAO,CAAC,MAAM,CAAC,YAAY,CAAW;IACtC,OAAO,CAAC,MAAM,CAAC,SAAS,CAKvB;IAEY,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IAuB9E,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAS;IAClC,WAAkB,QAAQ,IAAI,OAAO,CAEpC;WAEa,IAAI,CAAC,OAAO,EAAE,MAAM;IAKlC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAiB;WACrB,SAAS,CAAC,GAAG,EAAE,QAAQ;CAGtC;AAED,eAAe,OAAO,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Referrer.d.ts","sourceRoot":"","sources":["../src/Referrer.ts"],"names":[],"mappings":"AAAA,cAAM,QAAQ;IACZ,OAAO,CAAC,MAAM,CAAC,SAAS,CAAmB;IACpC,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;;IAQtB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,cAAc;IAOf,MAAM;;;;CAQd;AAED,eAAe,QAAQ,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TestStartedFields.d.ts","sourceRoot":"","sources":["../src/TestStartedFields.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,gBAAgB,CAAA;AAEzC,UAAU,iBAAkB,SAAQ,YAAY;IAC9C,IAAI,EAAE,MAAM,CAAA;CACb;AAED,eAAe,iBAAiB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"UniqueUserId.d.ts","sourceRoot":"","sources":["../src/UniqueUserId.ts"],"names":[],"mappings":"AAEA,cAAM,YAAY;IAChB,OAAO,CAAC,MAAM,CAAC,cAAc,CAAc;IACpC,EAAE,EAAE,MAAM,CAAA;;IAKjB,OAAO,CAAC,UAAU;IAIX,QAAQ;CAGhB;AAED,eAAe,YAAY,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"UserClickFields.d.ts","sourceRoot":"","sources":["../src/UserClickFields.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,gBAAgB,CAAA;AAEzC,UAAU,eAAgB,SAAQ,YAAY;IAC5C,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,eAAe,eAAe,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"UserEventHandler.d.ts","sourceRoot":"","sources":["../src/UserEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,uBAAuB,CAAA;AACvD,OAAO,iBAAiB,MAAM,qBAAqB,CAAA;AACnD,OAAO,eAAe,MAAM,mBAAmB,CAAA;AAC/C,OAAO,iBAAiB,MAAM,qBAAqB,CAAA;AAEnD,uBAAe,gBAAgB,CAAC,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAClE,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IACtE,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAClE,QAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;CAC/D;AAED,eAAe,gBAAgB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"UtmFields.d.ts","sourceRoot":"","sources":["../src/UtmFields.ts"],"names":[],"mappings":"AAEA,cAAM,SAAS;IACb,OAAO,CAAC,MAAM,CAAC,cAAc,CAAc;IACpC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAK;;IAgBrC,YAAY,sCAWlB;IAGM,MAAM;IAUN,QAAQ;CAGhB;AAED,eAAe,SAAS,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ViewContentFields.d.ts","sourceRoot":"","sources":["../src/ViewContentFields.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,gBAAgB,CAAA;AAEzC,UAAU,iBAAkB,SAAQ,YAAY;IAC9C,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb;AAED,eAAe,iBAAiB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"XyUserEventHandler.d.ts","sourceRoot":"","sources":["../src/XyUserEventHandler.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,uBAAuB,CAAA;AAEvD,OAAO,iBAAiB,MAAM,qBAAqB,CAAA;AACnD,OAAO,eAAe,MAAM,mBAAmB,CAAA;AAC/C,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AACjD,OAAO,iBAAiB,MAAM,qBAAqB,CAAA;AAEnD,cAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAE,SAAQ,gBAAgB,CAAC,CAAC,CAAC;;IAIxE,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,iBAAiB;IAGzC,aAAa,CAAC,MAAM,EAAE,CAAC,GAAG,mBAAmB;IAG7C,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,iBAAiB;IAGzC,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,eAAe;CAGnD;AAED,eAAe,kBAAkB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"getSystemInfo.d.ts","sourceRoot":"","sources":["../src/getSystemInfo.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAM3B,QAAA,MAAM,aAAa,8CAOlB,CAAA;AAED,eAAe,aAAa,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,uBAAuB,CAAA;AACvD,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,QAAQ,MAAM,YAAY,CAAA;AACjC,OAAO,iBAAiB,MAAM,qBAAqB,CAAA;AACnD,OAAO,YAAY,MAAM,gBAAgB,CAAA;AACzC,OAAO,eAAe,MAAM,mBAAmB,CAAA;AAC/C,OAAO,gBAAgB,MAAM,oBAAoB,CAAA;AACjD,OAAO,SAAS,MAAM,aAAa,CAAA;AACnC,OAAO,iBAAiB,MAAM,qBAAqB,CAAA;AACnD,OAAO,kBAAkB,MAAM,sBAAsB,CAAA;AAErD,cAAc,OAAO,CAAA;AAErB,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAA;AAC3F,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,EAAE,CAAA"}