@hellotext/hellotext 1.8.1 → 1.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/jest.config.js ADDED
@@ -0,0 +1,3 @@
1
+ module.exports = {
2
+ setupFiles: ['<rootDir>/jest.setup.js'], // Setup file to run before tests
3
+ };
package/jest.setup.js ADDED
@@ -0,0 +1,7 @@
1
+ global.crypto.randomUUID = () => {
2
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
3
+ const r = (Math.random() * 16) | 0;
4
+ const v = c === 'x' ? r : (r & 0x3) | 0x8;
5
+ return v.toString(16);
6
+ });
7
+ };
package/lib/api/index.js CHANGED
@@ -10,7 +10,6 @@ Object.defineProperty(exports, "Response", {
10
10
  }
11
11
  });
12
12
  exports.default = void 0;
13
- var _sessions = _interopRequireDefault(require("./sessions"));
14
13
  var _businesses = _interopRequireDefault(require("./businesses"));
15
14
  var _events = _interopRequireDefault(require("./events"));
16
15
  var _forms = _interopRequireDefault(require("./forms"));
@@ -26,11 +25,6 @@ var API = /*#__PURE__*/function () {
26
25
  _classCallCheck(this, API);
27
26
  }
28
27
  _createClass(API, null, [{
29
- key: "sessions",
30
- value: function sessions(businessId) {
31
- return new _sessions.default(businessId);
32
- }
33
- }, {
34
28
  key: "businesses",
35
29
  get: function get() {
36
30
  return _businesses.default;
@@ -15,6 +15,13 @@ function _classPrivateFieldLooseBase(receiver, privateKey) { if (!Object.prototy
15
15
  var id = 0;
16
16
  function _classPrivateFieldLooseKey(name) { return "__private_" + id++ + "_" + name; }
17
17
  var _success = /*#__PURE__*/_classPrivateFieldLooseKey("success");
18
+ /**
19
+ * Response class
20
+ * @class
21
+ * @classdesc Represents a response from the API
22
+ * @property {Boolean} succeeded
23
+ * @property {Object} data
24
+ */
18
25
  var Response = /*#__PURE__*/function () {
19
26
  function Response(success, response) {
20
27
  _classCallCheck(this, Response);
@@ -25,11 +32,21 @@ var Response = /*#__PURE__*/function () {
25
32
  this.response = response;
26
33
  _classPrivateFieldLooseBase(this, _success)[_success] = success;
27
34
  }
35
+
36
+ /**
37
+ * Get the response data
38
+ * @returns {*}
39
+ */
28
40
  _createClass(Response, [{
29
41
  key: "data",
30
42
  get: function get() {
31
43
  return this.response;
32
44
  }
45
+
46
+ /**
47
+ * Parse the response as JSON
48
+ * @returns {Promise<*>}
49
+ */
33
50
  }, {
34
51
  key: "json",
35
52
  value: function () {
@@ -41,11 +58,20 @@ var Response = /*#__PURE__*/function () {
41
58
  }
42
59
  return json;
43
60
  }()
61
+ /**
62
+ * Has the request failed?
63
+ * @returns {boolean}
64
+ */
44
65
  }, {
45
66
  key: "failed",
46
67
  get: function get() {
47
68
  return _classPrivateFieldLooseBase(this, _success)[_success] === false;
48
69
  }
70
+
71
+ /**
72
+ * Has the request succeeded?
73
+ * @returns {boolean}
74
+ */
49
75
  }, {
50
76
  key: "succeeded",
51
77
  get: function get() {
@@ -79,9 +79,6 @@ var _default = /*#__PURE__*/function (_Controller) {
79
79
  }
80
80
  this.buttonTarget.style.display = 'none';
81
81
  this.element.querySelectorAll('input').forEach(input => input.disabled = true);
82
- if (!data.identified) {
83
- _hellotext.default.setSession(data.session);
84
- }
85
82
  this.completed();
86
83
  });
87
84
  function submit(_x) {
package/lib/hellotext.js CHANGED
@@ -5,10 +5,11 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _core = require("./core");
8
- var _api = _interopRequireDefault(require("./api"));
8
+ var _api = _interopRequireWildcard(require("./api"));
9
9
  var _models = require("./models");
10
10
  var _errors = require("./errors");
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
12
13
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
13
14
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
14
15
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
@@ -24,7 +25,6 @@ var id = 0;
24
25
  function _classPrivateFieldLooseKey(name) { return "__private_" + id++ + "_" + name; }
25
26
  var _session = /*#__PURE__*/_classPrivateFieldLooseKey("session");
26
27
  var _query = /*#__PURE__*/_classPrivateFieldLooseKey("query");
27
- var _mintAnonymousSession = /*#__PURE__*/_classPrivateFieldLooseKey("mintAnonymousSession");
28
28
  var Hellotext = /*#__PURE__*/function () {
29
29
  function Hellotext() {
30
30
  _classCallCheck(this, Hellotext);
@@ -39,24 +39,10 @@ var Hellotext = /*#__PURE__*/function () {
39
39
  */
40
40
  function initialize(business, config) {
41
41
  _core.Configuration.assign(config);
42
+ _models.Session.initialize();
42
43
  _classPrivateFieldLooseBase(this, _query)[_query] = new _models.Query();
43
44
  this.business = new _models.Business(business);
44
45
  this.forms = new _models.FormCollection();
45
- if (_classPrivateFieldLooseBase(this, _query)[_query].inPreviewMode) return;
46
- if (_core.Configuration.session) {
47
- _classPrivateFieldLooseBase(this, _session)[_session] = _core.Configuration.session;
48
- } else if (_classPrivateFieldLooseBase(this, _query)[_query].session) {
49
- _classPrivateFieldLooseBase(this, _session)[_session] = _models.Cookies.set('hello_session', _classPrivateFieldLooseBase(this, _query)[_query].session);
50
- } else if (_core.Configuration.autoGenerateSession) {
51
- _classPrivateFieldLooseBase(this, _mintAnonymousSession)[_mintAnonymousSession]().then(response => {
52
- _classPrivateFieldLooseBase(this, _session)[_session] = _models.Cookies.set('hello_session', response.id);
53
- });
54
- }
55
- }
56
- }, {
57
- key: "setSession",
58
- value: function setSession(value) {
59
- _classPrivateFieldLooseBase(this, _session)[_session] = _models.Cookies.set('hello_session', value);
60
46
  }
61
47
 
62
48
  /**
@@ -121,10 +107,7 @@ var Hellotext = /*#__PURE__*/function () {
121
107
  }, {
122
108
  key: "session",
123
109
  get: function get() {
124
- if (this.notInitialized) {
125
- throw new _errors.NotInitializedError();
126
- }
127
- return _classPrivateFieldLooseBase(this, _session)[_session];
110
+ return _models.Session.session;
128
111
  }
129
112
 
130
113
  /**
@@ -134,7 +117,7 @@ var Hellotext = /*#__PURE__*/function () {
134
117
  }, {
135
118
  key: "isInitialized",
136
119
  get: function get() {
137
- return _classPrivateFieldLooseBase(this, _session)[_session] !== undefined;
120
+ return _models.Session.session !== undefined;
138
121
  }
139
122
 
140
123
  // private
@@ -158,21 +141,6 @@ var Hellotext = /*#__PURE__*/function () {
158
141
  }]);
159
142
  return Hellotext;
160
143
  }();
161
- function _mintAnonymousSession2() {
162
- return _mintAnonymousSession3.apply(this, arguments);
163
- }
164
- function _mintAnonymousSession3() {
165
- _mintAnonymousSession3 = _asyncToGenerator(function* () {
166
- if (this.notInitialized) {
167
- throw new _errors.NotInitializedError();
168
- }
169
- return _api.default.sessions(this.business.id).create();
170
- });
171
- return _mintAnonymousSession3.apply(this, arguments);
172
- }
173
- Object.defineProperty(Hellotext, _mintAnonymousSession, {
174
- value: _mintAnonymousSession2
175
- });
176
144
  Object.defineProperty(Hellotext, _session, {
177
145
  writable: true,
178
146
  value: void 0
@@ -40,7 +40,11 @@ var Form = /*#__PURE__*/function () {
40
40
  ifCompleted = true
41
41
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
42
42
  if (ifCompleted && this.hasBeenCompleted) {
43
- return;
43
+ var _this$element;
44
+ (_this$element = this.element) === null || _this$element === void 0 ? void 0 : _this$element.remove();
45
+ return _hellotext.default.eventEmitter.dispatch('form:completed', _objectSpread({
46
+ id: this.id
47
+ }, JSON.parse(localStorage.getItem("hello-form-".concat(this.id)))));
44
48
  }
45
49
  var firstStep = this.data.steps[0];
46
50
  this.buildHeader(firstStep.header);
@@ -112,13 +116,14 @@ var Form = /*#__PURE__*/function () {
112
116
  }, {
113
117
  key: "markAsCompleted",
114
118
  value: function markAsCompleted(data) {
115
- localStorage.setItem("hello-form-".concat(this.id), JSON.stringify({
119
+ var payload = {
116
120
  state: 'completed',
117
- data
118
- }));
119
- _hellotext.default.eventEmitter.dispatch('form:completed', _objectSpread({
120
- id: this.id
121
- }, data));
121
+ id: this.id,
122
+ data,
123
+ completedAt: new Date().getTime()
124
+ };
125
+ localStorage.setItem("hello-form-".concat(this.id), JSON.stringify(payload));
126
+ _hellotext.default.eventEmitter.dispatch('form:completed', payload);
122
127
  }
123
128
  }, {
124
129
  key: "hasBeenCompleted",
@@ -33,8 +33,15 @@ Object.defineProperty(exports, "Query", {
33
33
  return _query.Query;
34
34
  }
35
35
  });
36
+ Object.defineProperty(exports, "Session", {
37
+ enumerable: true,
38
+ get: function get() {
39
+ return _session.Session;
40
+ }
41
+ });
36
42
  var _business = require("./business");
37
43
  var _form = require("./form");
38
44
  var _query = require("./query");
39
45
  var _cookies = require("./cookies");
40
- var _form_collection = require("./form_collection");
46
+ var _form_collection = require("./form_collection");
47
+ var _session = require("./session");
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Session = void 0;
7
+ var _core = require("../core");
8
+ var _index = require("./index");
9
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
10
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
11
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
12
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
13
+ function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
14
+ function _classPrivateFieldLooseBase(receiver, privateKey) { if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) { throw new TypeError("attempted to use private field on non-instance"); } return receiver; }
15
+ var id = 0;
16
+ function _classPrivateFieldLooseKey(name) { return "__private_" + id++ + "_" + name; }
17
+ var _session = /*#__PURE__*/_classPrivateFieldLooseKey("session");
18
+ var _query = /*#__PURE__*/_classPrivateFieldLooseKey("query");
19
+ var Session = /*#__PURE__*/function () {
20
+ function Session() {
21
+ _classCallCheck(this, Session);
22
+ }
23
+ _createClass(Session, null, [{
24
+ key: "session",
25
+ get: function get() {
26
+ return _classPrivateFieldLooseBase(this, _session)[_session];
27
+ },
28
+ set: function set(value) {
29
+ _classPrivateFieldLooseBase(this, _session)[_session] = value;
30
+ _index.Cookies.set('hello_session', value);
31
+ }
32
+ }, {
33
+ key: "initialize",
34
+ value: function initialize() {
35
+ _classPrivateFieldLooseBase(this, _query)[_query] = new _index.Query();
36
+ if (_core.Configuration.session) {
37
+ this.session = _core.Configuration.session;
38
+ } else if (_classPrivateFieldLooseBase(this, _query)[_query].session) {
39
+ this.session = _classPrivateFieldLooseBase(this, _query)[_query].session;
40
+ } else if (_core.Configuration.autoGenerateSession) {
41
+ this.session = crypto.randomUUID();
42
+ }
43
+ }
44
+ }]);
45
+ return Session;
46
+ }();
47
+ exports.Session = Session;
48
+ Object.defineProperty(Session, _session, {
49
+ writable: true,
50
+ value: void 0
51
+ });
52
+ Object.defineProperty(Session, _query, {
53
+ writable: true,
54
+ value: void 0
55
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hellotext/hellotext",
3
- "version": "1.8.1",
3
+ "version": "1.8.3",
4
4
  "description": "Hellotext JavaScript Client",
5
5
  "source": "src/index.js",
6
6
  "main": "lib/index.js",
package/src/api/index.js CHANGED
@@ -1,13 +1,8 @@
1
- import SessionsAPI from './sessions'
2
1
  import BusinessesAPI from './businesses'
3
2
  import EventsAPI from './events'
4
3
  import FormsAPI from './forms'
5
4
 
6
5
  export default class API {
7
- static sessions(businessId) {
8
- return new SessionsAPI(businessId)
9
- }
10
-
11
6
  static get businesses() {
12
7
  return BusinessesAPI
13
8
  }
@@ -1,3 +1,11 @@
1
+ /**
2
+ * Response class
3
+ * @class
4
+ * @classdesc Represents a response from the API
5
+ * @property {Boolean} succeeded
6
+ * @property {Object} data
7
+ */
8
+
1
9
  class Response {
2
10
  #success
3
11
 
@@ -6,18 +14,34 @@ class Response {
6
14
  this.#success = success
7
15
  }
8
16
 
17
+ /**
18
+ * Get the response data
19
+ * @returns {*}
20
+ */
9
21
  get data() {
10
22
  return this.response
11
23
  }
12
24
 
25
+ /**
26
+ * Parse the response as JSON
27
+ * @returns {Promise<*>}
28
+ */
13
29
  async json() {
14
30
  return await this.response.json()
15
31
  }
16
32
 
33
+ /**
34
+ * Has the request failed?
35
+ * @returns {boolean}
36
+ */
17
37
  get failed() {
18
38
  return this.#success === false
19
39
  }
20
40
 
41
+ /**
42
+ * Has the request succeeded?
43
+ * @returns {boolean}
44
+ */
21
45
  get succeeded() {
22
46
  return this.#success === true
23
47
  }
@@ -66,10 +66,6 @@ export default class extends Controller {
66
66
  this.buttonTarget.style.display = 'none'
67
67
  this.element.querySelectorAll('input').forEach(input => (input.disabled = true))
68
68
 
69
- if (!data.identified) {
70
- Hellotext.setSession(data.session)
71
- }
72
-
73
69
  this.completed()
74
70
  }
75
71
 
package/src/hellotext.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Event, Configuration } from './core'
2
2
 
3
- import API from './api'
4
- import { Business, Query, Cookies, FormCollection } from './models'
3
+ import API, { Response } from './api'
4
+ import { Business, Query, FormCollection, Session } from './models'
5
5
 
6
6
  import { NotInitializedError } from './errors'
7
7
 
@@ -21,27 +21,12 @@ class Hellotext {
21
21
  */
22
22
  static initialize(business, config) {
23
23
  Configuration.assign(config)
24
+ Session.initialize()
24
25
 
25
26
  this.#query = new Query()
26
27
 
27
28
  this.business = new Business(business)
28
29
  this.forms = new FormCollection()
29
-
30
- if (this.#query.inPreviewMode) return
31
-
32
- if(Configuration.session) {
33
- this.#session = Configuration.session
34
- } else if (this.#query.session) {
35
- this.#session = Cookies.set('hello_session', this.#query.session)
36
- } else if (Configuration.autoGenerateSession) {
37
- this.#mintAnonymousSession().then(response => {
38
- this.#session = Cookies.set('hello_session', response.id)
39
- })
40
- }
41
- }
42
-
43
- static setSession(value) {
44
- this.#session = Cookies.set('hello_session', value)
45
30
  }
46
31
 
47
32
  /**
@@ -99,11 +84,7 @@ class Hellotext {
99
84
  * @returns {String}
100
85
  */
101
86
  static get session() {
102
- if (this.notInitialized) {
103
- throw new NotInitializedError()
104
- }
105
-
106
- return this.#session
87
+ return Session.session
107
88
  }
108
89
 
109
90
  /**
@@ -111,7 +92,7 @@ class Hellotext {
111
92
  * @returns {boolean}
112
93
  */
113
94
  static get isInitialized() {
114
- return this.#session !== undefined
95
+ return Session.session !== undefined
115
96
  }
116
97
 
117
98
  // private
@@ -120,14 +101,6 @@ class Hellotext {
120
101
  return this.business.id === undefined
121
102
  }
122
103
 
123
- static async #mintAnonymousSession() {
124
- if (this.notInitialized) {
125
- throw new NotInitializedError()
126
- }
127
-
128
- return API.sessions(this.business.id).create()
129
- }
130
-
131
104
  static get headers() {
132
105
  if (this.notInitialized) {
133
106
  throw new NotInitializedError()
@@ -14,7 +14,12 @@ class Form {
14
14
 
15
15
  async mount({ ifCompleted = true } = {}) {
16
16
  if(ifCompleted && this.hasBeenCompleted) {
17
- return
17
+ this.element?.remove()
18
+
19
+ return Hellotext.eventEmitter.dispatch('form:completed', {
20
+ id: this.id,
21
+ ...JSON.parse(localStorage.getItem(`hello-form-${this.id}`)),
22
+ })
18
23
  }
19
24
 
20
25
  const firstStep = this.data.steps[0]
@@ -91,9 +96,15 @@ class Form {
91
96
  }
92
97
 
93
98
  markAsCompleted(data) {
94
- localStorage.setItem(`hello-form-${this.id}`, JSON.stringify({ state: 'completed', data }))
99
+ const payload = {
100
+ state: 'completed',
101
+ id: this.id,
102
+ data,
103
+ completedAt: new Date().getTime(),
104
+ }
95
105
 
96
- Hellotext.eventEmitter.dispatch('form:completed', { id: this.id, ...data })
106
+ localStorage.setItem(`hello-form-${this.id}`, JSON.stringify(payload))
107
+ Hellotext.eventEmitter.dispatch('form:completed', payload)
97
108
  }
98
109
 
99
110
  get hasBeenCompleted() {
@@ -3,3 +3,4 @@ export { Form } from './form'
3
3
  export { Query } from './query'
4
4
  export { Cookies } from './cookies'
5
5
  export { FormCollection } from './form_collection'
6
+ export { Session } from './session'
@@ -0,0 +1,30 @@
1
+ import { Configuration } from '../core';
2
+ import { Cookies, Query } from './index'
3
+
4
+ class Session {
5
+ static #session
6
+ static #query
7
+
8
+ static get session() {
9
+ return this.#session
10
+ }
11
+
12
+ static set session(value) {
13
+ this.#session = value
14
+ Cookies.set('hello_session', value)
15
+ }
16
+
17
+ static initialize() {
18
+ this.#query = new Query()
19
+
20
+ if(Configuration.session) {
21
+ this.session = Configuration.session
22
+ } else if (this.#query.session) {
23
+ this.session = this.#query.session
24
+ } else if (Configuration.autoGenerateSession) {
25
+ this.session = crypto.randomUUID()
26
+ }
27
+ }
28
+ }
29
+
30
+ export { Session }
@@ -1,12 +0,0 @@
1
- import API from '../../src/api/sessions'
2
-
3
- beforeEach(() => {
4
- global.fetch = jest.fn().mockResolvedValue({ json: jest.fn().mockResolvedValue({ id: 1 }) })
5
- })
6
-
7
- describe('create', () => {
8
- it('creates a session object', async () => {
9
- const response = await new API('M01az53K').create()
10
- expect(response.id).toEqual(1)
11
- })
12
- })
@@ -1,46 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _core = require("../core");
8
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
9
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
10
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
11
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
12
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
13
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
14
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
15
- var SessionsAPI = /*#__PURE__*/function () {
16
- function SessionsAPI(businessId) {
17
- _classCallCheck(this, SessionsAPI);
18
- this.businessId = businessId;
19
- }
20
- _createClass(SessionsAPI, [{
21
- key: "create",
22
- value: function () {
23
- var _create = _asyncToGenerator(function* () {
24
- var response = yield fetch(SessionsAPI.endpoint, {
25
- method: 'POST',
26
- headers: {
27
- Authorization: "Bearer ".concat(this.businessId),
28
- Accept: 'application/json'
29
- }
30
- });
31
- return response.json();
32
- });
33
- function create() {
34
- return _create.apply(this, arguments);
35
- }
36
- return create;
37
- }()
38
- }], [{
39
- key: "endpoint",
40
- get: function get() {
41
- return _core.Configuration.endpoint('track/sessions');
42
- }
43
- }]);
44
- return SessionsAPI;
45
- }();
46
- exports.default = SessionsAPI;
@@ -1,23 +0,0 @@
1
- import { Configuration } from '../core'
2
-
3
- export default class SessionsAPI {
4
- static get endpoint() {
5
- return Configuration.endpoint('track/sessions')
6
- }
7
-
8
- constructor(businessId) {
9
- this.businessId = businessId
10
- }
11
-
12
- async create() {
13
- const response = await fetch(SessionsAPI.endpoint, {
14
- method: 'POST',
15
- headers: {
16
- Authorization: `Bearer ${this.businessId}`,
17
- Accept: 'application/json',
18
- },
19
- })
20
-
21
- return response.json()
22
- }
23
- }