@hellotext/hellotext 1.0.5 → 1.0.7

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 (2) hide show
  1. package/lib/hellotext.js +32 -29
  2. package/package.json +1 -5
package/lib/hellotext.js CHANGED
@@ -1,5 +1,3 @@
1
- import axios from 'axios'
2
-
3
1
  const apiUrl = 'https://api.hellotext.com/v1/'
4
2
 
5
3
  class Hellotext {
@@ -17,8 +15,8 @@ class Hellotext {
17
15
  this.setSessionCookie(session)
18
16
  } else {
19
17
  this.mintAnonymousSession().then(response => {
20
- this._session = response.data
21
- this.setSessionCookie(response.data)
18
+ this._session = response.id
19
+ this.setSessionCookie(response.id)
22
20
  })
23
21
  }
24
22
  }
@@ -30,48 +28,53 @@ class Hellotext {
30
28
  * @param { String } url optional url, the url is automatically inferred when the action is tracked
31
29
  * @returns {Promise}
32
30
  */
33
- static track(action, params, url = null) {
34
- return axios.post(
35
- apiUrl + 'track/events',
36
- {
31
+ static async track(action, params, url = null) {
32
+ const response = await fetch(apiUrl + "track/events", {
33
+ headers: this.headers,
34
+ method: "post",
35
+ body: JSON.stringify({
37
36
  session: this.session,
38
37
  url: url || window.location.href,
39
38
  action,
40
39
  ...params,
41
- },
42
- {
43
- headers: {
44
- Authorization: `Bearer ${this.business_id}`,
45
- },
46
- },
47
- )
40
+ })
41
+ })
42
+
43
+ return response.json()
48
44
  }
49
45
 
46
+ /**
47
+ *
48
+ * @returns {Promise<any>|String}
49
+ */
50
50
  static get session() {
51
51
  if (this._session) return this._session
52
52
 
53
53
  return this.mintAnonymousSession().then(response => {
54
- this._session = response.data
55
- return response.data
56
- })
54
+ this._session = response.id
55
+ return response.id
56
+ }).then(() => this._session)
57
57
  }
58
58
 
59
59
  // private
60
60
 
61
- static mintAnonymousSession() {
61
+ static async mintAnonymousSession() {
62
62
  const trackingUrl = apiUrl + 'track/sessions'
63
63
 
64
- this.mintingPromise = axios.post(
65
- trackingUrl,
66
- {},
67
- {
68
- headers: {
69
- Authorization: `Bearer ${this.business_id}`,
70
- },
71
- },
72
- )
64
+ this.mintingPromise = await fetch(trackingUrl, {
65
+ method: "post",
66
+ headers: { Authorization: `Bearer ${this.business_id}` },
67
+ })
68
+
69
+ return this.mintingPromise.json()
70
+ }
73
71
 
74
- return this.mintingPromise
72
+ static get headers() {
73
+ return {
74
+ Authorization: `Bearer ${this.business_id}`,
75
+ Accept: 'application.json',
76
+ 'Content-Type': 'application/json'
77
+ }
75
78
  }
76
79
 
77
80
  static setSessionCookie(session) {
package/package.json CHANGED
@@ -1,15 +1,11 @@
1
1
  {
2
2
  "name": "@hellotext/hellotext",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "description": "Hellotext javascript client",
5
5
  "main": "index.js",
6
6
  "author": "Hellotext",
7
7
  "license": "MIT",
8
8
  "homepage": "https://github.com/hellotext/hellotext.js",
9
- "dependencies": {
10
- "@rails/actioncable": "^7.0.4",
11
- "axios": "^0.21.1"
12
- },
13
9
  "devDependencies": {
14
10
  "prettier": "2.8.2"
15
11
  },