@amplitude/analytics-react-native 0.6.1 → 0.7.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 (49) hide show
  1. package/lib/commonjs/config.js +38 -85
  2. package/lib/commonjs/config.js.map +1 -1
  3. package/lib/commonjs/cookie-migration/index.js +0 -16
  4. package/lib/commonjs/cookie-migration/index.js.map +1 -1
  5. package/lib/commonjs/index.js +1 -7
  6. package/lib/commonjs/index.js.map +1 -1
  7. package/lib/commonjs/plugins/context.js +4 -27
  8. package/lib/commonjs/plugins/context.js.map +1 -1
  9. package/lib/commonjs/react-native-client.js +54 -94
  10. package/lib/commonjs/react-native-client.js.map +1 -1
  11. package/lib/commonjs/storage/local-storage.js +8 -20
  12. package/lib/commonjs/storage/local-storage.js.map +1 -1
  13. package/lib/commonjs/typings/browser-snippet.d.js.map +1 -1
  14. package/lib/commonjs/typings/ua-parser.d.js.map +1 -1
  15. package/lib/commonjs/utils/platform.js +0 -5
  16. package/lib/commonjs/utils/platform.js.map +1 -1
  17. package/lib/commonjs/version.js +1 -1
  18. package/lib/commonjs/version.js.map +1 -1
  19. package/lib/module/config.js +38 -66
  20. package/lib/module/config.js.map +1 -1
  21. package/lib/module/cookie-migration/index.js +0 -8
  22. package/lib/module/cookie-migration/index.js.map +1 -1
  23. package/lib/module/index.js +2 -2
  24. package/lib/module/index.js.map +1 -1
  25. package/lib/module/plugins/context.js +4 -17
  26. package/lib/module/plugins/context.js.map +1 -1
  27. package/lib/module/react-native-client.js +54 -78
  28. package/lib/module/react-native-client.js.map +1 -1
  29. package/lib/module/storage/local-storage.js +8 -15
  30. package/lib/module/storage/local-storage.js.map +1 -1
  31. package/lib/module/typings/browser-snippet.d.js.map +1 -1
  32. package/lib/module/typings/ua-parser.d.js.map +1 -1
  33. package/lib/module/utils/platform.js.map +1 -1
  34. package/lib/module/version.js +1 -1
  35. package/lib/module/version.js.map +1 -1
  36. package/lib/typescript/config.d.ts +5 -5
  37. package/lib/typescript/config.d.ts.map +1 -1
  38. package/lib/typescript/cookie-migration/index.d.ts +2 -2
  39. package/lib/typescript/cookie-migration/index.d.ts.map +1 -1
  40. package/lib/typescript/plugins/context.d.ts +1 -2
  41. package/lib/typescript/plugins/context.d.ts.map +1 -1
  42. package/lib/typescript/react-native-client.d.ts +1 -0
  43. package/lib/typescript/react-native-client.d.ts.map +1 -1
  44. package/lib/typescript/version.d.ts +1 -1
  45. package/package.json +12 -12
  46. package/src/config.ts +14 -2
  47. package/src/plugins/context.ts +0 -2
  48. package/src/react-native-client.ts +19 -3
  49. package/src/version.ts +1 -1
@@ -4,71 +4,62 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = exports.createInstance = exports.AmplitudeReactNative = void 0;
7
-
8
7
  var _reactNative = require("react-native");
9
-
10
8
  var _analyticsCore = require("@amplitude/analytics-core");
11
-
12
9
  var _analyticsClientCommon = require("@amplitude/analytics-client-common");
13
-
14
10
  var _context = require("./plugins/context");
15
-
16
11
  var _config = require("./config");
17
-
18
12
  var _cookieMigration = require("./cookie-migration");
19
-
20
13
  var _platform = require("./utils/platform");
21
-
22
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
23
-
14
+ 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; }
15
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
16
+ 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); }
24
17
  const START_SESSION_EVENT = 'session_start';
25
18
  const END_SESSION_EVENT = 'session_end';
26
-
27
19
  class AmplitudeReactNative extends _analyticsCore.AmplitudeCore {
28
20
  constructor() {
29
21
  super(...arguments);
30
-
31
22
  _defineProperty(this, "appState", 'background');
32
-
23
+ _defineProperty(this, "appStateChangeHandler", void 0);
33
24
  _defineProperty(this, "explicitSessionId", void 0);
34
-
35
25
  _defineProperty(this, "handleAppStateChange", nextAppState => {
36
26
  const currentAppState = this.appState;
37
27
  this.appState = nextAppState;
38
-
39
28
  if (currentAppState !== nextAppState && nextAppState === 'active') {
29
+ var _this$config$loggerPr;
30
+ (_this$config$loggerPr = this.config.loggerProvider) === null || _this$config$loggerPr === void 0 ? void 0 : _this$config$loggerPr.log('App Activated');
40
31
  this.startNewSessionIfNeeded();
41
32
  }
42
33
  });
43
34
  }
44
-
45
35
  async init() {
46
- var _oldCookies$deviceId, _options$optOut;
47
-
36
+ var _this$config$loggerPr2;
48
37
  let apiKey = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
49
38
  let userId = arguments.length > 1 ? arguments[1] : undefined;
50
39
  let options = arguments.length > 2 ? arguments[2] : undefined;
51
-
52
40
  // Step 0: Block concurrent initialization
53
41
  if (this.initializing) {
54
42
  return;
55
43
  }
56
-
57
44
  this.initializing = true;
58
- this.explicitSessionId = options === null || options === void 0 ? void 0 : options.sessionId; // Step 1: Read cookies stored by old SDK
45
+ this.explicitSessionId = options === null || options === void 0 ? void 0 : options.sessionId;
59
46
 
60
- const oldCookies = await (0, _cookieMigration.parseOldCookies)(apiKey, options); // Step 2: Create react native config
47
+ // Step 1: Read cookies stored by old SDK
48
+ const oldCookies = await (0, _cookieMigration.parseOldCookies)(apiKey, options);
61
49
 
62
- const reactNativeOptions = await (0, _config.useReactNativeConfig)(apiKey, userId || oldCookies.userId, { ...options,
63
- deviceId: (_oldCookies$deviceId = oldCookies.deviceId) !== null && _oldCookies$deviceId !== void 0 ? _oldCookies$deviceId : options === null || options === void 0 ? void 0 : options.deviceId,
50
+ // Step 2: Create react native config
51
+ const reactNativeOptions = await (0, _config.useReactNativeConfig)(apiKey, userId || oldCookies.userId, {
52
+ ...options,
53
+ deviceId: oldCookies.deviceId ?? (options === null || options === void 0 ? void 0 : options.deviceId),
64
54
  sessionId: oldCookies.sessionId,
65
- optOut: (_options$optOut = options === null || options === void 0 ? void 0 : options.optOut) !== null && _options$optOut !== void 0 ? _options$optOut : oldCookies.optOut,
55
+ optOut: (options === null || options === void 0 ? void 0 : options.optOut) ?? oldCookies.optOut,
66
56
  lastEventTime: oldCookies.lastEventTime
67
57
  });
68
- await super._init(reactNativeOptions); // Set up the analytics connector to integrate with the experiment SDK.
58
+ await super._init(reactNativeOptions);
59
+
60
+ // Set up the analytics connector to integrate with the experiment SDK.
69
61
  // Send events from the experiment SDK and forward identifies to the
70
62
  // identity store.
71
-
72
63
  const connector = (0, _analyticsClientCommon.getAnalyticsConnector)();
73
64
  connector.eventBridge.setEventReceiver(event => {
74
65
  void this.track(event.eventType, event.eventProperties);
@@ -76,126 +67,111 @@ class AmplitudeReactNative extends _analyticsCore.AmplitudeCore {
76
67
  connector.identityStore.setIdentity({
77
68
  userId: this.config.userId,
78
69
  deviceId: this.config.deviceId
79
- }); // Step 3: Install plugins
80
- // Do not track any events before this
70
+ });
81
71
 
72
+ // Step 3: Install plugins
73
+ // Do not track any events before this
82
74
  await this.add(new _context.Context());
83
75
  await this.add(new _analyticsClientCommon.IdentityEventSender());
84
- await this.add(new _analyticsCore.Destination()); // Step 4: Manage session
76
+ await this.add(new _analyticsCore.Destination());
85
77
 
78
+ // Step 4: Manage session
86
79
  this.appState = _reactNative.AppState.currentState;
87
80
  const isNewSession = this.startNewSessionIfNeeded();
81
+ (_this$config$loggerPr2 = this.config.loggerProvider) === null || _this$config$loggerPr2 === void 0 ? void 0 : _this$config$loggerPr2.log(`Init: startNewSessionIfNeeded = ${isNewSession ? 'yes' : 'no'}, sessionId = ${this.getSessionId() ?? 'undefined'}`);
82
+ this.appStateChangeHandler = _reactNative.AppState.addEventListener('change', this.handleAppStateChange);
83
+ this.initializing = false;
88
84
 
89
- _reactNative.AppState.addEventListener('change', this.handleAppStateChange);
90
-
91
- this.initializing = false; // Step 5: Track attributions
92
-
93
- await this.runAttributionStrategy(options === null || options === void 0 ? void 0 : options.attribution, isNewSession); // Step 6: Run queued functions
85
+ // Step 5: Track attributions
86
+ await this.runAttributionStrategy(options === null || options === void 0 ? void 0 : options.attribution, isNewSession);
94
87
 
88
+ // Step 6: Run queued functions
95
89
  await this.runQueuedFunctions('dispatchQ');
96
90
  }
97
-
98
91
  shutdown() {
99
- _reactNative.AppState.removeEventListener('change', this.handleAppStateChange);
92
+ var _this$appStateChangeH;
93
+ (_this$appStateChangeH = this.appStateChangeHandler) === null || _this$appStateChangeH === void 0 ? void 0 : _this$appStateChangeH.remove();
100
94
  }
101
-
102
95
  async runAttributionStrategy(attributionConfig) {
103
96
  let isNewSession = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
104
-
105
97
  if ((0, _platform.isNative)()) {
106
98
  return;
107
99
  }
108
-
109
100
  const track = this.track.bind(this);
110
101
  const onNewCampaign = this.setSessionId.bind(this, this.currentTimeMillis());
111
102
  const storage = await (0, _config.createFlexibleStorage)(this.config);
112
- const campaignTracker = new _analyticsClientCommon.CampaignTracker(this.config.apiKey, { ...attributionConfig,
103
+ const campaignTracker = new _analyticsClientCommon.CampaignTracker(this.config.apiKey, {
104
+ ...attributionConfig,
113
105
  storage,
114
106
  track,
115
107
  onNewCampaign
116
108
  });
117
109
  await campaignTracker.send(isNewSession);
118
110
  }
119
-
120
111
  getUserId() {
121
112
  var _this$config;
122
-
123
113
  return (_this$config = this.config) === null || _this$config === void 0 ? void 0 : _this$config.userId;
124
114
  }
125
-
126
115
  setUserId(userId) {
127
116
  if (!this.config) {
128
117
  this.q.push(this.setUserId.bind(this, userId));
129
118
  return;
130
119
  }
131
-
132
120
  this.config.userId = userId;
133
- (0, _analyticsClientCommon.getAnalyticsConnector)().identityStore.editIdentity() // eslint-disable-next-line @typescript-eslint/ban-ts-comment
121
+ (0, _analyticsClientCommon.getAnalyticsConnector)().identityStore.editIdentity()
122
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
134
123
  // @ts-ignore
135
124
  .setUserId(userId).commit();
136
125
  }
137
-
138
126
  getDeviceId() {
139
127
  var _this$config2;
140
-
141
128
  return (_this$config2 = this.config) === null || _this$config2 === void 0 ? void 0 : _this$config2.deviceId;
142
129
  }
143
-
144
130
  setDeviceId(deviceId) {
145
131
  if (!this.config) {
146
132
  this.q.push(this.setDeviceId.bind(this, deviceId));
147
133
  return;
148
134
  }
149
-
150
135
  this.config.deviceId = deviceId;
151
- (0, _analyticsClientCommon.getAnalyticsConnector)().identityStore.editIdentity() // eslint-disable-next-line @typescript-eslint/ban-ts-comment
136
+ (0, _analyticsClientCommon.getAnalyticsConnector)().identityStore.editIdentity()
137
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
152
138
  // @ts-ignore
153
139
  .setDeviceId(deviceId).commit();
154
140
  }
155
-
156
141
  identify(identify, eventOptions) {
157
142
  if (eventOptions !== null && eventOptions !== void 0 && eventOptions.user_id) {
158
143
  this.setUserId(eventOptions.user_id);
159
144
  }
160
-
161
145
  if (eventOptions !== null && eventOptions !== void 0 && eventOptions.device_id) {
162
146
  this.setDeviceId(eventOptions.device_id);
163
147
  }
164
-
165
148
  return super.identify(identify, eventOptions);
166
149
  }
167
-
168
150
  reset() {
169
151
  this.setUserId(undefined);
170
152
  this.setDeviceId((0, _analyticsCore.UUID)());
171
153
  }
172
-
173
154
  getSessionId() {
174
155
  var _this$config3;
175
-
176
156
  return (_this$config3 = this.config) === null || _this$config3 === void 0 ? void 0 : _this$config3.sessionId;
177
157
  }
178
-
179
158
  setSessionId(sessionId) {
180
159
  if (!this.config) {
181
160
  this.q.push(this.setSessionId.bind(this, sessionId));
182
161
  return;
183
162
  }
184
-
185
163
  this.explicitSessionId = sessionId;
186
164
  void this.setSessionIdInternal(sessionId, this.currentTimeMillis());
187
165
  }
188
-
189
166
  setSessionIdInternal(sessionId, eventTime) {
190
167
  const previousSessionId = this.config.sessionId;
191
-
192
168
  if (previousSessionId === sessionId) {
193
169
  return;
194
170
  }
195
-
196
171
  this.config.sessionId = sessionId;
197
-
198
172
  if (this.config.trackingSessionEvents) {
173
+ var _this$config$loggerPr3, _this$config$loggerPr4;
174
+ (_this$config$loggerPr3 = this.config.loggerProvider) === null || _this$config$loggerPr3 === void 0 ? void 0 : _this$config$loggerPr3.log(`SESSION_END event: previousSessionId = ${previousSessionId ?? 'undefined'}`);
199
175
  if (previousSessionId !== undefined) {
200
176
  const sessionEndEvent = {
201
177
  event_type: END_SESSION_EVENT,
@@ -205,7 +181,7 @@ class AmplitudeReactNative extends _analyticsCore.AmplitudeCore {
205
181
  };
206
182
  void this.track(sessionEndEvent);
207
183
  }
208
-
184
+ (_this$config$loggerPr4 = this.config.loggerProvider) === null || _this$config$loggerPr4 === void 0 ? void 0 : _this$config$loggerPr4.log(`SESSION_START event: sessionId = ${sessionId}`);
209
185
  const sessionStartEvent = {
210
186
  event_type: START_SESSION_EVENT,
211
187
  time: eventTime,
@@ -213,71 +189,58 @@ class AmplitudeReactNative extends _analyticsCore.AmplitudeCore {
213
189
  };
214
190
  void this.track(sessionStartEvent);
215
191
  }
216
-
217
192
  this.config.lastEventTime = eventTime;
218
193
  }
219
-
220
194
  async process(event) {
221
195
  if (!this.config.optOut) {
222
- var _event$time;
223
-
224
- const eventTime = (_event$time = event.time) !== null && _event$time !== void 0 ? _event$time : this.currentTimeMillis();
225
-
196
+ const eventTime = event.time ?? this.currentTimeMillis();
226
197
  if (event.time === undefined) {
227
- event = { ...event,
198
+ event = {
199
+ ...event,
228
200
  time: eventTime
229
201
  };
230
202
  }
231
-
232
203
  if (event.event_type != START_SESSION_EVENT && event.event_type != END_SESSION_EVENT) {
233
204
  if (this.appState !== 'active') {
234
205
  this.startNewSessionIfNeeded(eventTime);
235
206
  }
236
207
  }
237
-
238
208
  this.config.lastEventTime = eventTime;
239
-
240
209
  if (event.session_id == undefined) {
241
210
  event.session_id = this.getSessionId();
242
211
  }
212
+ if (event.event_id === undefined) {
213
+ const eventId = (this.config.sessionManager.getLastEventId() ?? -1) + 1;
214
+ event = {
215
+ ...event,
216
+ event_id: eventId
217
+ };
218
+ this.config.sessionManager.setLastEventId(eventId);
219
+ }
243
220
  }
244
-
245
221
  return super.process(event);
246
222
  }
247
-
248
223
  currentTimeMillis() {
249
224
  return Date.now();
250
225
  }
251
-
252
226
  startNewSessionIfNeeded(eventTime) {
253
- var _eventTime, _this$explicitSession;
254
-
255
- eventTime = (_eventTime = eventTime) !== null && _eventTime !== void 0 ? _eventTime : this.currentTimeMillis();
256
- const sessionId = (_this$explicitSession = this.explicitSessionId) !== null && _this$explicitSession !== void 0 ? _this$explicitSession : eventTime;
257
-
227
+ eventTime = eventTime ?? this.currentTimeMillis();
228
+ const sessionId = this.explicitSessionId ?? eventTime;
258
229
  if (this.inSession() && (this.explicitSessionId === this.config.sessionId || this.explicitSessionId === undefined && this.isWithinMinTimeBetweenSessions(sessionId))) {
259
230
  this.config.lastEventTime = eventTime;
260
231
  return false;
261
232
  }
262
-
263
233
  this.setSessionIdInternal(sessionId, eventTime);
264
234
  return true;
265
235
  }
266
-
267
236
  isWithinMinTimeBetweenSessions(eventTime) {
268
- var _this$config$lastEven;
269
-
270
- return eventTime - ((_this$config$lastEven = this.config.lastEventTime) !== null && _this$config$lastEven !== void 0 ? _this$config$lastEven : 0) < this.config.sessionTimeout;
237
+ return eventTime - (this.config.lastEventTime ?? 0) < this.config.sessionTimeout;
271
238
  }
272
-
273
239
  inSession() {
274
240
  return this.config.sessionId != undefined;
275
241
  }
276
-
277
242
  }
278
-
279
243
  exports.AmplitudeReactNative = AmplitudeReactNative;
280
-
281
244
  const createInstance = () => {
282
245
  const client = new AmplitudeReactNative();
283
246
  return {
@@ -301,10 +264,7 @@ const createInstance = () => {
301
264
  setOptOut: (0, _analyticsCore.debugWrapper)(client.setOptOut.bind(client), 'setOptOut', (0, _analyticsCore.getClientLogConfig)(client), (0, _analyticsCore.getClientStates)(client, ['config']))
302
265
  };
303
266
  };
304
-
305
267
  exports.createInstance = createInstance;
306
-
307
268
  var _default = createInstance();
308
-
309
269
  exports.default = _default;
310
270
  //# sourceMappingURL=react-native-client.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["START_SESSION_EVENT","END_SESSION_EVENT","AmplitudeReactNative","AmplitudeCore","nextAppState","currentAppState","appState","startNewSessionIfNeeded","init","apiKey","userId","options","initializing","explicitSessionId","sessionId","oldCookies","parseOldCookies","reactNativeOptions","useReactNativeConfig","deviceId","optOut","lastEventTime","_init","connector","getAnalyticsConnector","eventBridge","setEventReceiver","event","track","eventType","eventProperties","identityStore","setIdentity","config","add","Context","IdentityEventSender","Destination","AppState","currentState","isNewSession","addEventListener","handleAppStateChange","runAttributionStrategy","attribution","runQueuedFunctions","shutdown","removeEventListener","attributionConfig","isNative","bind","onNewCampaign","setSessionId","currentTimeMillis","storage","createFlexibleStorage","campaignTracker","CampaignTracker","send","getUserId","setUserId","q","push","editIdentity","commit","getDeviceId","setDeviceId","identify","eventOptions","user_id","device_id","reset","undefined","UUID","getSessionId","setSessionIdInternal","eventTime","previousSessionId","trackingSessionEvents","sessionEndEvent","event_type","time","session_id","sessionStartEvent","process","Date","now","inSession","isWithinMinTimeBetweenSessions","sessionTimeout","createInstance","client","debugWrapper","returnWrapper","getClientLogConfig","getClientStates","remove","logEvent","groupIdentify","setGroup","revenue","flush","setOptOut"],"sources":["react-native-client.ts"],"sourcesContent":["import { AppState, AppStateStatus } from 'react-native';\nimport {\n AmplitudeCore,\n Destination,\n UUID,\n returnWrapper,\n debugWrapper,\n getClientLogConfig,\n getClientStates,\n} from '@amplitude/analytics-core';\nimport { CampaignTracker, IdentityEventSender, getAnalyticsConnector } from '@amplitude/analytics-client-common';\nimport {\n ReactNativeConfig,\n Campaign,\n ReactNativeOptions,\n AttributionOptions,\n ReactNativeClient,\n Identify as IIdentify,\n EventOptions,\n Event,\n Result,\n} from '@amplitude/analytics-types';\nimport { Context } from './plugins/context';\nimport { useReactNativeConfig, createFlexibleStorage } from './config';\nimport { parseOldCookies } from './cookie-migration';\nimport { isNative } from './utils/platform';\n\nconst START_SESSION_EVENT = 'session_start';\nconst END_SESSION_EVENT = 'session_end';\n\nexport class AmplitudeReactNative extends AmplitudeCore<ReactNativeConfig> {\n appState: AppStateStatus = 'background';\n explicitSessionId: number | undefined;\n\n async init(apiKey = '', userId?: string, options?: ReactNativeOptions) {\n // Step 0: Block concurrent initialization\n if (this.initializing) {\n return;\n }\n this.initializing = true;\n this.explicitSessionId = options?.sessionId;\n\n // Step 1: Read cookies stored by old SDK\n const oldCookies = await parseOldCookies(apiKey, options);\n\n // Step 2: Create react native config\n const reactNativeOptions = await useReactNativeConfig(apiKey, userId || oldCookies.userId, {\n ...options,\n deviceId: oldCookies.deviceId ?? options?.deviceId,\n sessionId: oldCookies.sessionId,\n optOut: options?.optOut ?? oldCookies.optOut,\n lastEventTime: oldCookies.lastEventTime,\n });\n await super._init(reactNativeOptions);\n\n // Set up the analytics connector to integrate with the experiment SDK.\n // Send events from the experiment SDK and forward identifies to the\n // identity store.\n const connector = getAnalyticsConnector();\n connector.eventBridge.setEventReceiver((event) => {\n void this.track(event.eventType, event.eventProperties);\n });\n connector.identityStore.setIdentity({\n userId: this.config.userId,\n deviceId: this.config.deviceId,\n });\n\n // Step 3: Install plugins\n // Do not track any events before this\n await this.add(new Context());\n await this.add(new IdentityEventSender());\n await this.add(new Destination());\n\n // Step 4: Manage session\n this.appState = AppState.currentState;\n const isNewSession = this.startNewSessionIfNeeded();\n AppState.addEventListener('change', this.handleAppStateChange);\n\n this.initializing = false;\n\n // Step 5: Track attributions\n await this.runAttributionStrategy(options?.attribution, isNewSession);\n\n // Step 6: Run queued functions\n await this.runQueuedFunctions('dispatchQ');\n }\n\n shutdown() {\n AppState.removeEventListener('change', this.handleAppStateChange);\n }\n\n async runAttributionStrategy(attributionConfig?: AttributionOptions, isNewSession = false) {\n if (isNative()) {\n return;\n }\n const track = this.track.bind(this);\n const onNewCampaign = this.setSessionId.bind(this, this.currentTimeMillis());\n\n const storage = await createFlexibleStorage<Campaign>(this.config);\n const campaignTracker = new CampaignTracker(this.config.apiKey, {\n ...attributionConfig,\n storage,\n track,\n onNewCampaign,\n });\n\n await campaignTracker.send(isNewSession);\n }\n\n getUserId() {\n return this.config?.userId;\n }\n\n setUserId(userId: string | undefined) {\n if (!this.config) {\n this.q.push(this.setUserId.bind(this, userId));\n return;\n }\n this.config.userId = userId;\n getAnalyticsConnector()\n .identityStore.editIdentity()\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n .setUserId(userId)\n .commit();\n }\n\n getDeviceId() {\n return this.config?.deviceId;\n }\n\n setDeviceId(deviceId: string) {\n if (!this.config) {\n this.q.push(this.setDeviceId.bind(this, deviceId));\n return;\n }\n this.config.deviceId = deviceId;\n getAnalyticsConnector()\n .identityStore.editIdentity()\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n .setDeviceId(deviceId)\n .commit();\n }\n\n identify(identify: IIdentify, eventOptions?: EventOptions) {\n if (eventOptions?.user_id) {\n this.setUserId(eventOptions.user_id);\n }\n if (eventOptions?.device_id) {\n this.setDeviceId(eventOptions.device_id);\n }\n return super.identify(identify, eventOptions);\n }\n\n reset() {\n this.setUserId(undefined);\n this.setDeviceId(UUID());\n }\n\n getSessionId() {\n return this.config?.sessionId;\n }\n\n setSessionId(sessionId: number) {\n if (!this.config) {\n this.q.push(this.setSessionId.bind(this, sessionId));\n return;\n }\n\n this.explicitSessionId = sessionId;\n void this.setSessionIdInternal(sessionId, this.currentTimeMillis());\n }\n\n private setSessionIdInternal(sessionId: number, eventTime: number) {\n const previousSessionId = this.config.sessionId;\n if (previousSessionId === sessionId) {\n return;\n }\n\n this.config.sessionId = sessionId;\n\n if (this.config.trackingSessionEvents) {\n if (previousSessionId !== undefined) {\n const sessionEndEvent: Event = {\n event_type: END_SESSION_EVENT,\n time: this.config.lastEventTime !== undefined ? this.config.lastEventTime + 1 : sessionId, // increment lastEventTime to sort events properly in UI - session_end should be the last event in a session\n session_id: previousSessionId,\n };\n void this.track(sessionEndEvent);\n }\n\n const sessionStartEvent: Event = {\n event_type: START_SESSION_EVENT,\n time: eventTime,\n session_id: sessionId,\n };\n void this.track(sessionStartEvent);\n }\n\n this.config.lastEventTime = eventTime;\n }\n\n async process(event: Event): Promise<Result> {\n if (!this.config.optOut) {\n const eventTime = event.time ?? this.currentTimeMillis();\n if (event.time === undefined) {\n event = { ...event, time: eventTime };\n }\n\n if (event.event_type != START_SESSION_EVENT && event.event_type != END_SESSION_EVENT) {\n if (this.appState !== 'active') {\n this.startNewSessionIfNeeded(eventTime);\n }\n }\n this.config.lastEventTime = eventTime;\n\n if (event.session_id == undefined) {\n event.session_id = this.getSessionId();\n }\n }\n\n return super.process(event);\n }\n\n currentTimeMillis() {\n return Date.now();\n }\n\n private startNewSessionIfNeeded(eventTime?: number): boolean {\n eventTime = eventTime ?? this.currentTimeMillis();\n const sessionId = this.explicitSessionId ?? eventTime;\n\n if (\n this.inSession() &&\n (this.explicitSessionId === this.config.sessionId ||\n (this.explicitSessionId === undefined && this.isWithinMinTimeBetweenSessions(sessionId)))\n ) {\n this.config.lastEventTime = eventTime;\n return false;\n }\n\n this.setSessionIdInternal(sessionId, eventTime);\n return true;\n }\n\n private isWithinMinTimeBetweenSessions(eventTime: number) {\n return eventTime - (this.config.lastEventTime ?? 0) < this.config.sessionTimeout;\n }\n\n private inSession() {\n return this.config.sessionId != undefined;\n }\n\n private readonly handleAppStateChange = (nextAppState: AppStateStatus) => {\n const currentAppState = this.appState;\n this.appState = nextAppState;\n if (currentAppState !== nextAppState && nextAppState === 'active') {\n this.startNewSessionIfNeeded();\n }\n };\n}\n\nexport const createInstance = (): ReactNativeClient => {\n const client = new AmplitudeReactNative();\n return {\n init: debugWrapper(\n returnWrapper(client.init.bind(client)),\n 'init',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n add: debugWrapper(\n returnWrapper(client.add.bind(client)),\n 'add',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.plugins']),\n ),\n remove: debugWrapper(\n returnWrapper(client.remove.bind(client)),\n 'remove',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.plugins']),\n ),\n track: debugWrapper(\n returnWrapper(client.track.bind(client)),\n 'track',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n logEvent: debugWrapper(\n returnWrapper(client.logEvent.bind(client)),\n 'logEvent',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n identify: debugWrapper(\n returnWrapper(client.identify.bind(client)),\n 'identify',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n groupIdentify: debugWrapper(\n returnWrapper(client.groupIdentify.bind(client)),\n 'groupIdentify',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n setGroup: debugWrapper(\n returnWrapper(client.setGroup.bind(client)),\n 'setGroup',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n revenue: debugWrapper(\n returnWrapper(client.revenue.bind(client)),\n 'revenue',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n flush: debugWrapper(\n returnWrapper(client.flush.bind(client)),\n 'flush',\n getClientLogConfig(client),\n getClientStates(client, ['config.apiKey', 'timeline.queue.length']),\n ),\n getUserId: debugWrapper(\n client.getUserId.bind(client),\n 'getUserId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.userId']),\n ),\n setUserId: debugWrapper(\n client.setUserId.bind(client),\n 'setUserId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.userId']),\n ),\n getDeviceId: debugWrapper(\n client.getDeviceId.bind(client),\n 'getDeviceId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.deviceId']),\n ),\n setDeviceId: debugWrapper(\n client.setDeviceId.bind(client),\n 'setDeviceId',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.deviceId']),\n ),\n reset: debugWrapper(\n client.reset.bind(client),\n 'reset',\n getClientLogConfig(client),\n getClientStates(client, ['config', 'config.userId', 'config.deviceId']),\n ),\n getSessionId: debugWrapper(\n client.getSessionId.bind(client),\n 'getSessionId',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n setSessionId: debugWrapper(\n client.setSessionId.bind(client),\n 'setSessionId',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n setOptOut: debugWrapper(\n client.setOptOut.bind(client),\n 'setOptOut',\n getClientLogConfig(client),\n getClientStates(client, ['config']),\n ),\n };\n};\n\nexport default createInstance();\n"],"mappings":"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"}
1
+ {"version":3,"names":["START_SESSION_EVENT","END_SESSION_EVENT","AmplitudeReactNative","AmplitudeCore","nextAppState","currentAppState","appState","config","loggerProvider","log","startNewSessionIfNeeded","init","apiKey","userId","options","initializing","explicitSessionId","sessionId","oldCookies","parseOldCookies","reactNativeOptions","useReactNativeConfig","deviceId","optOut","lastEventTime","_init","connector","getAnalyticsConnector","eventBridge","setEventReceiver","event","track","eventType","eventProperties","identityStore","setIdentity","add","Context","IdentityEventSender","Destination","AppState","currentState","isNewSession","getSessionId","appStateChangeHandler","addEventListener","handleAppStateChange","runAttributionStrategy","attribution","runQueuedFunctions","shutdown","remove","attributionConfig","isNative","bind","onNewCampaign","setSessionId","currentTimeMillis","storage","createFlexibleStorage","campaignTracker","CampaignTracker","send","getUserId","setUserId","q","push","editIdentity","commit","getDeviceId","setDeviceId","identify","eventOptions","user_id","device_id","reset","undefined","UUID","setSessionIdInternal","eventTime","previousSessionId","trackingSessionEvents","sessionEndEvent","event_type","time","session_id","sessionStartEvent","process","event_id","eventId","sessionManager","getLastEventId","setLastEventId","Date","now","inSession","isWithinMinTimeBetweenSessions","sessionTimeout","createInstance","client","debugWrapper","returnWrapper","getClientLogConfig","getClientStates","logEvent","groupIdentify","setGroup","revenue","flush","setOptOut"],"sourceRoot":"../../src","sources":["react-native-client.ts"],"mappings":"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"}
@@ -4,24 +4,18 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.LocalStorage = void 0;
7
-
8
7
  var _analyticsClientCommon = require("@amplitude/analytics-client-common");
9
-
10
8
  var _asyncStorage = _interopRequireDefault(require("@react-native-async-storage/async-storage"));
11
-
12
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
-
14
10
  class LocalStorage {
15
11
  async isEnabled() {
16
12
  /* istanbul ignore if */
17
13
  if (!(0, _analyticsClientCommon.getGlobalScope)()) {
18
14
  return false;
19
15
  }
20
-
21
16
  const random = String(Date.now());
22
17
  const testStorage = new LocalStorage();
23
18
  const testKey = 'AMP_TEST';
24
-
25
19
  try {
26
20
  await testStorage.set(testKey, random);
27
21
  const value = await testStorage.get(testKey);
@@ -33,49 +27,43 @@ class LocalStorage {
33
27
  await testStorage.remove(testKey);
34
28
  }
35
29
  }
36
-
37
30
  async get(key) {
38
31
  try {
39
32
  const value = await this.getRaw(key);
40
-
41
33
  if (!value) {
42
34
  return undefined;
43
- } // eslint-disable-next-line @typescript-eslint/no-unsafe-return
44
-
45
-
35
+ }
36
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
46
37
  return JSON.parse(value);
47
38
  } catch {
48
39
  /* istanbul ignore next */
49
40
  return undefined;
50
41
  }
51
42
  }
52
-
53
43
  async getRaw(key) {
54
44
  return (await _asyncStorage.default.getItem(key)) || undefined;
55
45
  }
56
-
57
46
  async set(key, value) {
58
47
  try {
59
48
  await _asyncStorage.default.setItem(key, JSON.stringify(value));
60
- } catch {//
49
+ } catch {
50
+ //
61
51
  }
62
52
  }
63
-
64
53
  async remove(key) {
65
54
  try {
66
55
  await _asyncStorage.default.removeItem(key);
67
- } catch {//
56
+ } catch {
57
+ //
68
58
  }
69
59
  }
70
-
71
60
  async reset() {
72
61
  try {
73
62
  await _asyncStorage.default.clear();
74
- } catch {//
63
+ } catch {
64
+ //
75
65
  }
76
66
  }
77
-
78
67
  }
79
-
80
68
  exports.LocalStorage = LocalStorage;
81
69
  //# sourceMappingURL=local-storage.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["LocalStorage","isEnabled","getGlobalScope","random","String","Date","now","testStorage","testKey","set","value","get","remove","key","getRaw","undefined","JSON","parse","AsyncStorage","getItem","setItem","stringify","removeItem","reset","clear"],"sources":["local-storage.ts"],"sourcesContent":["import { getGlobalScope } from '@amplitude/analytics-client-common';\nimport { Storage } from '@amplitude/analytics-types';\nimport AsyncStorage from '@react-native-async-storage/async-storage';\n\nexport class LocalStorage<T> implements Storage<T> {\n async isEnabled(): Promise<boolean> {\n /* istanbul ignore if */\n if (!getGlobalScope()) {\n return false;\n }\n\n const random = String(Date.now());\n const testStorage = new LocalStorage<string>();\n const testKey = 'AMP_TEST';\n try {\n await testStorage.set(testKey, random);\n const value = await testStorage.get(testKey);\n return value === random;\n } catch {\n /* istanbul ignore next */\n return false;\n } finally {\n await testStorage.remove(testKey);\n }\n }\n\n async get(key: string): Promise<T | undefined> {\n try {\n const value = await this.getRaw(key);\n if (!value) {\n return undefined;\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return JSON.parse(value);\n } catch {\n /* istanbul ignore next */\n return undefined;\n }\n }\n\n async getRaw(key: string): Promise<string | undefined> {\n return (await AsyncStorage.getItem(key)) || undefined;\n }\n\n async set(key: string, value: T): Promise<void> {\n try {\n await AsyncStorage.setItem(key, JSON.stringify(value));\n } catch {\n //\n }\n }\n\n async remove(key: string): Promise<void> {\n try {\n await AsyncStorage.removeItem(key);\n } catch {\n //\n }\n }\n\n async reset(): Promise<void> {\n try {\n await AsyncStorage.clear();\n } catch {\n //\n }\n }\n}\n"],"mappings":";;;;;;;AAAA;;AAEA;;;;AAEO,MAAMA,YAAN,CAA4C;EAClC,MAATC,SAAS,GAAqB;IAClC;IACA,IAAI,CAAC,IAAAC,qCAAA,GAAL,EAAuB;MACrB,OAAO,KAAP;IACD;;IAED,MAAMC,MAAM,GAAGC,MAAM,CAACC,IAAI,CAACC,GAAL,EAAD,CAArB;IACA,MAAMC,WAAW,GAAG,IAAIP,YAAJ,EAApB;IACA,MAAMQ,OAAO,GAAG,UAAhB;;IACA,IAAI;MACF,MAAMD,WAAW,CAACE,GAAZ,CAAgBD,OAAhB,EAAyBL,MAAzB,CAAN;MACA,MAAMO,KAAK,GAAG,MAAMH,WAAW,CAACI,GAAZ,CAAgBH,OAAhB,CAApB;MACA,OAAOE,KAAK,KAAKP,MAAjB;IACD,CAJD,CAIE,MAAM;MACN;MACA,OAAO,KAAP;IACD,CAPD,SAOU;MACR,MAAMI,WAAW,CAACK,MAAZ,CAAmBJ,OAAnB,CAAN;IACD;EACF;;EAEQ,MAAHG,GAAG,CAACE,GAAD,EAAsC;IAC7C,IAAI;MACF,MAAMH,KAAK,GAAG,MAAM,KAAKI,MAAL,CAAYD,GAAZ,CAApB;;MACA,IAAI,CAACH,KAAL,EAAY;QACV,OAAOK,SAAP;MACD,CAJC,CAKF;;;MACA,OAAOC,IAAI,CAACC,KAAL,CAAWP,KAAX,CAAP;IACD,CAPD,CAOE,MAAM;MACN;MACA,OAAOK,SAAP;IACD;EACF;;EAEW,MAAND,MAAM,CAACD,GAAD,EAA2C;IACrD,OAAO,CAAC,MAAMK,qBAAA,CAAaC,OAAb,CAAqBN,GAArB,CAAP,KAAqCE,SAA5C;EACD;;EAEQ,MAAHN,GAAG,CAACI,GAAD,EAAcH,KAAd,EAAuC;IAC9C,IAAI;MACF,MAAMQ,qBAAA,CAAaE,OAAb,CAAqBP,GAArB,EAA0BG,IAAI,CAACK,SAAL,CAAeX,KAAf,CAA1B,CAAN;IACD,CAFD,CAEE,MAAM,CACN;IACD;EACF;;EAEW,MAANE,MAAM,CAACC,GAAD,EAA6B;IACvC,IAAI;MACF,MAAMK,qBAAA,CAAaI,UAAb,CAAwBT,GAAxB,CAAN;IACD,CAFD,CAEE,MAAM,CACN;IACD;EACF;;EAEU,MAALU,KAAK,GAAkB;IAC3B,IAAI;MACF,MAAML,qBAAA,CAAaM,KAAb,EAAN;IACD,CAFD,CAEE,MAAM,CACN;IACD;EACF;;AA9DgD"}
1
+ {"version":3,"names":["LocalStorage","isEnabled","getGlobalScope","random","String","Date","now","testStorage","testKey","set","value","get","remove","key","getRaw","undefined","JSON","parse","AsyncStorage","getItem","setItem","stringify","removeItem","reset","clear"],"sourceRoot":"../../src","sources":["local-storage.ts"],"mappings":";;;;;;AAAA;AAEA;AAAqE;AAE9D,MAAMA,YAAY,CAA0B;EACjD,MAAMC,SAAS,GAAqB;IAClC;IACA,IAAI,CAAC,IAAAC,qCAAc,GAAE,EAAE;MACrB,OAAO,KAAK;IACd;IAEA,MAAMC,MAAM,GAAGC,MAAM,CAACC,IAAI,CAACC,GAAG,EAAE,CAAC;IACjC,MAAMC,WAAW,GAAG,IAAIP,YAAY,EAAU;IAC9C,MAAMQ,OAAO,GAAG,UAAU;IAC1B,IAAI;MACF,MAAMD,WAAW,CAACE,GAAG,CAACD,OAAO,EAAEL,MAAM,CAAC;MACtC,MAAMO,KAAK,GAAG,MAAMH,WAAW,CAACI,GAAG,CAACH,OAAO,CAAC;MAC5C,OAAOE,KAAK,KAAKP,MAAM;IACzB,CAAC,CAAC,MAAM;MACN;MACA,OAAO,KAAK;IACd,CAAC,SAAS;MACR,MAAMI,WAAW,CAACK,MAAM,CAACJ,OAAO,CAAC;IACnC;EACF;EAEA,MAAMG,GAAG,CAACE,GAAW,EAA0B;IAC7C,IAAI;MACF,MAAMH,KAAK,GAAG,MAAM,IAAI,CAACI,MAAM,CAACD,GAAG,CAAC;MACpC,IAAI,CAACH,KAAK,EAAE;QACV,OAAOK,SAAS;MAClB;MACA;MACA,OAAOC,IAAI,CAACC,KAAK,CAACP,KAAK,CAAC;IAC1B,CAAC,CAAC,MAAM;MACN;MACA,OAAOK,SAAS;IAClB;EACF;EAEA,MAAMD,MAAM,CAACD,GAAW,EAA+B;IACrD,OAAO,CAAC,MAAMK,qBAAY,CAACC,OAAO,CAACN,GAAG,CAAC,KAAKE,SAAS;EACvD;EAEA,MAAMN,GAAG,CAACI,GAAW,EAAEH,KAAQ,EAAiB;IAC9C,IAAI;MACF,MAAMQ,qBAAY,CAACE,OAAO,CAACP,GAAG,EAAEG,IAAI,CAACK,SAAS,CAACX,KAAK,CAAC,CAAC;IACxD,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;EAEA,MAAME,MAAM,CAACC,GAAW,EAAiB;IACvC,IAAI;MACF,MAAMK,qBAAY,CAACI,UAAU,CAACT,GAAG,CAAC;IACpC,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;EAEA,MAAMU,KAAK,GAAkB;IAC3B,IAAI;MACF,MAAML,qBAAY,CAACM,KAAK,EAAE;IAC5B,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;AACF;AAAC"}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["browser-snippet.d.ts"],"sourcesContent":["import { InstanceProxy } from '@amplitude/analytics-types';\n\ndeclare global {\n // globalThis only includes `var` declarations\n // eslint-disable-next-line no-var\n var amplitude: InstanceProxy & { invoked: boolean };\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["browser-snippet.d.ts"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["ua-parser.d.ts"],"sourcesContent":["declare module '@amplitude/ua-parser-js' {\n import UAParser from 'ua-parser-js';\n export = UAParser;\n}\n"],"mappings":""}
1
+ {"version":3,"names":[],"sourceRoot":"../../src","sources":["ua-parser.d.ts"],"mappings":""}
@@ -4,18 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.isWeb = exports.isNative = void 0;
7
-
8
7
  var _reactNative = require("react-native");
9
-
10
8
  const isWeb = () => {
11
9
  return _reactNative.Platform.OS === 'web';
12
10
  };
13
-
14
11
  exports.isWeb = isWeb;
15
-
16
12
  const isNative = () => {
17
13
  return !isWeb();
18
14
  };
19
-
20
15
  exports.isNative = isNative;
21
16
  //# sourceMappingURL=platform.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["isWeb","Platform","OS","isNative"],"sources":["platform.ts"],"sourcesContent":["import { Platform } from 'react-native';\n\nexport const isWeb = (): boolean => {\n return Platform.OS === 'web';\n};\n\nexport const isNative = (): boolean => {\n return !isWeb();\n};\n"],"mappings":";;;;;;;AAAA;;AAEO,MAAMA,KAAK,GAAG,MAAe;EAClC,OAAOC,qBAAA,CAASC,EAAT,KAAgB,KAAvB;AACD,CAFM;;;;AAIA,MAAMC,QAAQ,GAAG,MAAe;EACrC,OAAO,CAACH,KAAK,EAAb;AACD,CAFM"}
1
+ {"version":3,"names":["isWeb","Platform","OS","isNative"],"sourceRoot":"../../src","sources":["platform.ts"],"mappings":";;;;;;AAAA;AAEO,MAAMA,KAAK,GAAG,MAAe;EAClC,OAAOC,qBAAQ,CAACC,EAAE,KAAK,KAAK;AAC9B,CAAC;AAAC;AAEK,MAAMC,QAAQ,GAAG,MAAe;EACrC,OAAO,CAACH,KAAK,EAAE;AACjB,CAAC;AAAC"}
@@ -4,6 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.VERSION = void 0;
7
- const VERSION = '0.6.1';
7
+ const VERSION = '0.7.1';
8
8
  exports.VERSION = VERSION;
9
9
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["VERSION"],"sources":["version.ts"],"sourcesContent":["export const VERSION = '0.6.1';\n"],"mappings":";;;;;;AAAO,MAAMA,OAAO,GAAG,OAAhB"}
1
+ {"version":3,"names":["VERSION"],"sourceRoot":"../../src","sources":["version.ts"],"mappings":";;;;;;AAAO,MAAMA,OAAO,GAAG,OAAO;AAAC"}