vc-cdp-rn-sdk 0.1.0

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.
@@ -0,0 +1,521 @@
1
+ "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.CdpRnSdk = void 0;
15
+ const storage_1 = require("./utils/storage");
16
+ const crypto_1 = require("./utils/crypto");
17
+ const device_1 = require("./utils/device");
18
+ const DEFAULT_BASE_URL = 'https://stg-ingestlog.vietcredit.com.vn';
19
+ const SENSITIVE_FIELDS = [
20
+ 'full_name', 'first_name', 'last_name',
21
+ 'idcard', 'old_idcard', 'phone', 'email',
22
+ 'gender', 'dob', 'address', 'religion',
23
+ ];
24
+ class CdpRnSdk {
25
+ constructor(config) {
26
+ this.userId = null;
27
+ this.profileId = null;
28
+ this.anonymousId = '';
29
+ this.deviceId = '';
30
+ this.sessionId = '';
31
+ this.userTraits = {};
32
+ this.platforms = {};
33
+ this.campaign = {};
34
+ this.consents = [];
35
+ this.scores = [];
36
+ this.products = [];
37
+ this.metadata = { schema_version: '1.0' };
38
+ this.eventQueue = [];
39
+ // Events tracked before init completes are buffered here
40
+ this.preInitQueue = [];
41
+ this.batchTimer = null;
42
+ this.initialized = false;
43
+ this.config = Object.assign({ baseUrl: DEFAULT_BASE_URL, isTest: false, debug: false, batchSize: 10, batchInterval: 5000, enableEncryption: true }, config);
44
+ }
45
+ /**
46
+ * Create and initialize the SDK. Call once at app startup (e.g. App.tsx).
47
+ */
48
+ static async create(config) {
49
+ const sdk = new CdpRnSdk(config);
50
+ await sdk._init();
51
+ return sdk;
52
+ }
53
+ async _init() {
54
+ // session_id is always fresh on each app launch
55
+ this.sessionId = (0, crypto_1.generateUUID)();
56
+ await storage_1.Storage.set(storage_1.STORAGE_KEYS.SESSION_ID, this.sessionId);
57
+ [this.anonymousId, this.deviceId, this.profileId] = await Promise.all([
58
+ this._getOrCreate(storage_1.STORAGE_KEYS.ANONYMOUS_ID),
59
+ this._getOrCreate(storage_1.STORAGE_KEYS.DEVICE_ID),
60
+ storage_1.Storage.get(storage_1.STORAGE_KEYS.PROFILE_ID),
61
+ ]);
62
+ this.platforms = await (0, device_1.collectDeviceInfo)();
63
+ if (this.config.batchSize > 1) {
64
+ this._startBatchProcessor();
65
+ }
66
+ this.initialized = true;
67
+ // Drain any events tracked before init finished
68
+ for (const { name, props } of this.preInitQueue) {
69
+ this._enqueueOrSend(this._createEvent(name, props));
70
+ }
71
+ this.preInitQueue = [];
72
+ this._log('SDK initialized', {
73
+ anonymousId: this.anonymousId,
74
+ deviceId: this.deviceId,
75
+ sessionId: this.sessionId,
76
+ profileId: this.profileId,
77
+ });
78
+ }
79
+ // ─── Public: User / Profile ──────────────────────────────────────────────
80
+ /**
81
+ * Identify user after login. Calls POST /v1/profiles/track and stores profile_id.
82
+ * @param partyType defaults to 'PERSON', pass 'ORG' for business accounts
83
+ */
84
+ async identifyUser(userId, traits = {}, partyType = 'PERSON') {
85
+ this.userId = userId;
86
+ this.userTraits = Object.assign(Object.assign({}, this.userTraits), traits);
87
+ const response = await this._trackProfile('login', this.userTraits, partyType);
88
+ if (response === null || response === void 0 ? void 0 : response.profile_id) {
89
+ this.profileId = response.profile_id;
90
+ await storage_1.Storage.set(storage_1.STORAGE_KEYS.PROFILE_ID, response.profile_id);
91
+ this._log('Profile ID received', response.profile_id);
92
+ }
93
+ return this;
94
+ }
95
+ /** Alias for identifyUser */
96
+ async identify(userId, traits = {}, partyType = 'PERSON') {
97
+ return this.identifyUser(userId, traits, partyType);
98
+ }
99
+ /**
100
+ * Force-update profile by profile_id. Calls POST /v1/profiles/update.
101
+ * Use when you need to push specific field changes without triggering identity resolution.
102
+ */
103
+ async updateProfile(payload) {
104
+ var _a, _b, _c, _d;
105
+ const profileId = (_a = payload.profile_id) !== null && _a !== void 0 ? _a : this.profileId;
106
+ if (!profileId) {
107
+ this._logError('updateProfile: no profile_id available');
108
+ return undefined;
109
+ }
110
+ const url = `${this.config.baseUrl}/v1/profiles/update`;
111
+ const timestamp = Math.floor(Date.now() / 1000).toString();
112
+ let encodedTraits = payload.traits;
113
+ if (payload.traits && typeof payload.traits !== 'string' && this.config.enableEncryption && this.config.secretKey) {
114
+ const sensitive = this._extractSensitiveTraits(payload.traits);
115
+ if (Object.keys(sensitive).length > 0) {
116
+ encodedTraits = (0, crypto_1.encryptTraits)(this.config.secretKey, timestamp, sensitive);
117
+ }
118
+ }
119
+ const body = {
120
+ profile_id: profileId,
121
+ traits: encodedTraits,
122
+ consents: (_b = payload.consents) !== null && _b !== void 0 ? _b : (this.consents.length ? this.consents : undefined),
123
+ scores: (_c = payload.scores) !== null && _c !== void 0 ? _c : (this.scores.length ? this.scores : undefined),
124
+ products: (_d = payload.products) !== null && _d !== void 0 ? _d : (this.products.length ? this.products : undefined),
125
+ metadata: Object.assign(Object.assign({}, this.metadata), payload.metadata),
126
+ };
127
+ try {
128
+ const headers = this._buildHeaders(body, timestamp);
129
+ return await this._request(url, headers, body);
130
+ }
131
+ catch (e) {
132
+ this._logError('updateProfile failed', e);
133
+ return undefined;
134
+ }
135
+ }
136
+ /**
137
+ * Fetch profile data from CDP. Calls GET /v1/profiles/get/{profile_id}.
138
+ */
139
+ async getProfile(profileId) {
140
+ const id = profileId !== null && profileId !== void 0 ? profileId : this.profileId;
141
+ if (!id) {
142
+ this._logError('getProfile: no profile_id available');
143
+ return undefined;
144
+ }
145
+ const url = `${this.config.baseUrl}/v1/profiles/get/${id}`;
146
+ const timestamp = Math.floor(Date.now() / 1000).toString();
147
+ try {
148
+ const headers = this._buildHeaders({}, timestamp);
149
+ return await this._requestGet(url, headers);
150
+ }
151
+ catch (e) {
152
+ this._logError('getProfile failed', e);
153
+ return undefined;
154
+ }
155
+ }
156
+ getUserIdentities() {
157
+ return {
158
+ user_id: this.userId,
159
+ profile_id: this.profileId,
160
+ anonymous_id: this.anonymousId,
161
+ device_id: this.deviceId,
162
+ session_id: this.sessionId,
163
+ };
164
+ }
165
+ getProfileId() { return this.profileId; }
166
+ getDeviceId() { return this.deviceId; }
167
+ getSessionId() { return this.sessionId; }
168
+ getUserAttribute(name) {
169
+ var _a;
170
+ return (_a = this.userTraits[name]) !== null && _a !== void 0 ? _a : null;
171
+ }
172
+ // ─── Trait setters (chainable) ────────────────────────────────────────────
173
+ add_first_name(v) { return this._setTrait('first_name', v); }
174
+ add_last_name(v) { return this._setTrait('last_name', v); }
175
+ add_user_name(v) { return this._setTrait('full_name', v); }
176
+ add_email(v) { return this._setTrait('email', v); }
177
+ add_mobile(v) { return this._setTrait('phone', v); }
178
+ add_gender(v) { return this._setTrait('gender', v); }
179
+ add_idcard(v) { return this._setTrait('idcard', v); }
180
+ add_old_idcard(v) { return this._setTrait('old_idcard', v); }
181
+ add_address(v) { return this._setTrait('address', v); }
182
+ add_religion(v) { return this._setTrait('religion', v); }
183
+ add_occupation(v) { return this._setTrait('occupation', v); }
184
+ add_nationality(v) { return this._setTrait('nationality', v); }
185
+ add_marital_status(v) { return this._setTrait('marital_status', v); }
186
+ add_zalo_id(v) { return this._setTrait('zalo_id', v); }
187
+ add_tiktok_id(v) { return this._setTrait('tiktok_id', v); }
188
+ add_birthday(birthday) {
189
+ const dob = birthday instanceof Date
190
+ ? birthday.toISOString().split('T')[0]
191
+ : birthday;
192
+ return this._setTrait('dob', dob);
193
+ }
194
+ add_user_attribute(name, value) {
195
+ this.userTraits[name] = value;
196
+ this._trackProfile('update', { [name]: value });
197
+ return this;
198
+ }
199
+ add_user_attributes(attributes) {
200
+ this.userTraits = Object.assign(Object.assign({}, this.userTraits), attributes);
201
+ this._trackProfile('update', attributes);
202
+ return this;
203
+ }
204
+ setUserAttributes(attributes) {
205
+ return this.add_user_attributes(attributes);
206
+ }
207
+ // ─── Consent / Score / Product ────────────────────────────────────────────
208
+ /**
209
+ * Set user consents (e.g. marketing opt-in).
210
+ * These are included in every subsequent profile call.
211
+ */
212
+ setConsents(consents) {
213
+ this.consents = consents;
214
+ this._trackProfile('update', this.userTraits);
215
+ return this;
216
+ }
217
+ /**
218
+ * Set user scores (credit score, risk score, etc.).
219
+ */
220
+ setScores(scores) {
221
+ this.scores = scores;
222
+ this._trackProfile('update', this.userTraits);
223
+ return this;
224
+ }
225
+ /**
226
+ * Set user associated products (loan, card, etc.).
227
+ */
228
+ setProducts(products) {
229
+ this.products = products;
230
+ this._trackProfile('update', this.userTraits);
231
+ return this;
232
+ }
233
+ /**
234
+ * Set extra metadata to include in profile and event payloads.
235
+ */
236
+ setMetadata(meta) {
237
+ this.metadata = Object.assign(Object.assign({}, this.metadata), meta);
238
+ return this;
239
+ }
240
+ setPlatform(info) {
241
+ this.platforms = Object.assign(Object.assign({}, this.platforms), info);
242
+ return this;
243
+ }
244
+ setCampaign(info) {
245
+ this.campaign = Object.assign(Object.assign({}, this.campaign), info);
246
+ return this;
247
+ }
248
+ /**
249
+ * Store FCM (Android) or APNs (iOS) push token for push notification targeting.
250
+ */
251
+ setPushToken(token) {
252
+ this.platforms.push_token = token;
253
+ return this;
254
+ }
255
+ // ─── Public: Event Tracking ───────────────────────────────────────────────
256
+ /**
257
+ * Track a custom event.
258
+ */
259
+ track(eventName, properties = {}) {
260
+ if (!this.initialized) {
261
+ // Buffer until init completes
262
+ this.preInitQueue.push({ name: eventName, props: properties });
263
+ return;
264
+ }
265
+ this._enqueueOrSend(this._createEvent(eventName, properties));
266
+ }
267
+ /**
268
+ * Track a screen view — React Native equivalent of page().
269
+ */
270
+ screen(screenName, properties = {}) {
271
+ this.track('screen_view', Object.assign({ screen_name: screenName }, properties));
272
+ }
273
+ /**
274
+ * Flush queued events to the server immediately.
275
+ */
276
+ async flush() {
277
+ if (this.eventQueue.length === 0)
278
+ return;
279
+ const batch = this.eventQueue.splice(0);
280
+ await this._sendBatch(batch);
281
+ }
282
+ /**
283
+ * Logout: sends a logout profile event and resets all user state.
284
+ * anonymous_id is rotated; device_id is kept.
285
+ */
286
+ async destroy_session() {
287
+ await this._trackProfile('logout', {});
288
+ this.userId = null;
289
+ this.profileId = null;
290
+ this.userTraits = {};
291
+ this.consents = [];
292
+ this.scores = [];
293
+ this.products = [];
294
+ this.campaign = {};
295
+ this.anonymousId = (0, crypto_1.generateUUID)();
296
+ this.sessionId = (0, crypto_1.generateUUID)();
297
+ await Promise.all([
298
+ storage_1.Storage.set(storage_1.STORAGE_KEYS.ANONYMOUS_ID, this.anonymousId),
299
+ storage_1.Storage.set(storage_1.STORAGE_KEYS.SESSION_ID, this.sessionId),
300
+ storage_1.Storage.remove(storage_1.STORAGE_KEYS.PROFILE_ID),
301
+ ]);
302
+ this._log('Session destroyed');
303
+ return this;
304
+ }
305
+ /** Alias for destroy_session */
306
+ async reset() {
307
+ return this.destroy_session();
308
+ }
309
+ async destroy() {
310
+ if (this.batchTimer) {
311
+ clearInterval(this.batchTimer);
312
+ this.batchTimer = null;
313
+ }
314
+ await this.flush();
315
+ }
316
+ // ─── Private: Profile ─────────────────────────────────────────────────────
317
+ async _trackProfile(type, traits, partyType = 'PERSON') {
318
+ var _a;
319
+ const url = `${this.config.baseUrl}/v1/profiles/track`;
320
+ const timestamp = Math.floor(Date.now() / 1000).toString();
321
+ let encodedTraits = traits;
322
+ if (this.config.enableEncryption && this.config.secretKey) {
323
+ const sensitive = this._extractSensitiveTraits(traits);
324
+ if (Object.keys(sensitive).length > 0) {
325
+ encodedTraits = (0, crypto_1.encryptTraits)(this.config.secretKey, timestamp, sensitive);
326
+ }
327
+ }
328
+ const payload = Object.assign(Object.assign(Object.assign({ type, user_id: (_a = this.userId) !== null && _a !== void 0 ? _a : this.anonymousId, session_id: this.sessionId, device_id: this.deviceId, party_type: partyType, service_name: this.config.serviceName, traits: encodedTraits, platforms: Object.assign(Object.assign({}, this.platforms), { device_id: this.deviceId }), campaign: this.campaign, metadata: this.metadata }, (this.consents.length && { consents: this.consents })), (this.scores.length && { scores: this.scores })), (this.products.length && { products: this.products }));
329
+ if (this.profileId) {
330
+ payload.profile_id = this.profileId;
331
+ }
332
+ try {
333
+ const headers = this._buildHeaders(payload, timestamp);
334
+ return await this._request(url, headers, payload);
335
+ }
336
+ catch (e) {
337
+ this._logError('_trackProfile failed', e);
338
+ return undefined;
339
+ }
340
+ }
341
+ // ─── Private: Events ──────────────────────────────────────────────────────
342
+ _createEvent(eventName, properties) {
343
+ var _a;
344
+ const context = {
345
+ locale: this._getLocale(),
346
+ timezone: this._getTimezone(),
347
+ app: {
348
+ version: this.platforms.app_version,
349
+ },
350
+ };
351
+ return {
352
+ event_id: (0, crypto_1.generateUUID)(),
353
+ type: 'track',
354
+ event_name: eventName,
355
+ service_name: this.config.serviceName,
356
+ user_id: (_a = this.userId) !== null && _a !== void 0 ? _a : '',
357
+ profile_id: this.profileId,
358
+ anonymous_id: this.anonymousId,
359
+ device_id: this.deviceId,
360
+ session_id: this.sessionId,
361
+ properties,
362
+ platforms: Object.assign(Object.assign({}, this.platforms), { device_id: this.deviceId }),
363
+ campaign: this.campaign,
364
+ context,
365
+ event_time: new Date().toISOString(),
366
+ };
367
+ }
368
+ _enqueueOrSend(event) {
369
+ if (this.config.batchSize > 1) {
370
+ this._addToQueue(event);
371
+ }
372
+ else {
373
+ this._sendEvent(event).catch((e) => this._logError('track error', e));
374
+ }
375
+ }
376
+ async _sendEvent(event) {
377
+ const url = `${this.config.baseUrl}/v2/events/track`;
378
+ const timestamp = Math.floor(Date.now() / 1000).toString();
379
+ const headers = this._buildHeaders(event, timestamp);
380
+ await this._request(url, headers, event);
381
+ this._log('Event sent', event.event_name);
382
+ }
383
+ async _sendBatch(events) {
384
+ if (events.length === 0)
385
+ return;
386
+ const url = `${this.config.baseUrl}/v2/events/batch`;
387
+ const payload = { events };
388
+ const timestamp = Math.floor(Date.now() / 1000).toString();
389
+ const headers = this._buildHeaders(payload, timestamp);
390
+ try {
391
+ await this._request(url, headers, payload);
392
+ this._log(`Batch of ${events.length} events sent`);
393
+ }
394
+ catch (e) {
395
+ this._logError('Batch send failed, re-queuing', e);
396
+ this.eventQueue.unshift(...events);
397
+ }
398
+ }
399
+ _addToQueue(event) {
400
+ this.eventQueue.push(event);
401
+ this._log('Event queued', { name: event.event_name, queueSize: this.eventQueue.length });
402
+ if (this.eventQueue.length >= this.config.batchSize) {
403
+ this.flush().catch((e) => this._logError('flush error', e));
404
+ }
405
+ }
406
+ _startBatchProcessor() {
407
+ this.batchTimer = setInterval(() => {
408
+ if (this.eventQueue.length > 0) {
409
+ this.flush().catch((e) => this._logError('batch processor error', e));
410
+ }
411
+ }, this.config.batchInterval);
412
+ }
413
+ // ─── Private: HTTP ────────────────────────────────────────────────────────
414
+ _buildHeaders(payload, timestamp) {
415
+ const payloadStr = JSON.stringify(payload);
416
+ const signature = this.config.secretKey
417
+ ? (0, crypto_1.generateSignature)(this.config.secretKey, this.config.source, timestamp, payloadStr)
418
+ : '';
419
+ return {
420
+ 'Content-Type': 'application/json',
421
+ 'X-Api-Key': this.config.apiKey,
422
+ 'X-Source': this.config.source,
423
+ 'X-Timestamp': timestamp,
424
+ 'X-Signatures': signature,
425
+ 'X-Trace-Id': (0, crypto_1.generateUUID)(),
426
+ 'isTest': String(this.config.isTest),
427
+ };
428
+ }
429
+ async _request(url, headers, body) {
430
+ var _a, _b;
431
+ const response = await fetch(url, {
432
+ method: 'POST',
433
+ headers,
434
+ body: JSON.stringify(body),
435
+ });
436
+ const json = await response.json();
437
+ if (!response.ok) {
438
+ throw new Error(`HTTP ${response.status}: ${(_a = json === null || json === void 0 ? void 0 : json.message) !== null && _a !== void 0 ? _a : response.statusText}`);
439
+ }
440
+ // Server trả HTTP 200 nhưng code trong body có thể là lỗi
441
+ if ((json === null || json === void 0 ? void 0 : json.code) !== undefined && json.code !== 200) {
442
+ throw new Error(`API error ${json.code}: ${(_b = json.message) !== null && _b !== void 0 ? _b : 'Unknown error'}`);
443
+ }
444
+ return json;
445
+ }
446
+ async _requestGet(url, headers) {
447
+ var _a, _b;
448
+ const { 'Content-Type': _ct } = headers, getHeaders = __rest(headers, ['Content-Type']);
449
+ const response = await fetch(url, {
450
+ method: 'GET',
451
+ headers: getHeaders,
452
+ });
453
+ const json = await response.json();
454
+ if (!response.ok) {
455
+ throw new Error(`HTTP ${response.status}: ${(_a = json === null || json === void 0 ? void 0 : json.message) !== null && _a !== void 0 ? _a : response.statusText}`);
456
+ }
457
+ if ((json === null || json === void 0 ? void 0 : json.code) !== undefined && json.code !== 200) {
458
+ throw new Error(`API error ${json.code}: ${(_b = json.message) !== null && _b !== void 0 ? _b : 'Unknown error'}`);
459
+ }
460
+ return json;
461
+ }
462
+ // ─── Private: Helpers ─────────────────────────────────────────────────────
463
+ _setTrait(key, value) {
464
+ this.userTraits[key] = value;
465
+ this._trackProfile('update', { [key]: value });
466
+ return this;
467
+ }
468
+ _extractSensitiveTraits(traits) {
469
+ const result = {};
470
+ for (const field of SENSITIVE_FIELDS) {
471
+ if (traits[field] != null && traits[field] !== '') {
472
+ result[field] = traits[field];
473
+ }
474
+ }
475
+ return result;
476
+ }
477
+ async _getOrCreate(key) {
478
+ let value = await storage_1.Storage.get(key);
479
+ if (!value) {
480
+ value = (0, crypto_1.generateUUID)();
481
+ await storage_1.Storage.set(key, value);
482
+ }
483
+ return value;
484
+ }
485
+ _getLocale() {
486
+ var _a, _b, _c, _d, _e, _f;
487
+ try {
488
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
489
+ const { NativeModules, Platform } = require('react-native');
490
+ if (Platform.OS === 'ios') {
491
+ return ((_b = (_a = NativeModules.SettingsManager) === null || _a === void 0 ? void 0 : _a.settings) === null || _b === void 0 ? void 0 : _b.AppleLocale)
492
+ || ((_e = (_d = (_c = NativeModules.SettingsManager) === null || _c === void 0 ? void 0 : _c.settings) === null || _d === void 0 ? void 0 : _d.AppleLanguages) === null || _e === void 0 ? void 0 : _e[0])
493
+ || 'vi-VN';
494
+ }
495
+ return ((_f = NativeModules.I18nManager) === null || _f === void 0 ? void 0 : _f.localeIdentifier) || 'vi-VN';
496
+ }
497
+ catch (_g) {
498
+ return 'vi-VN';
499
+ }
500
+ }
501
+ _getTimezone() {
502
+ try {
503
+ return Intl.DateTimeFormat().resolvedOptions().timeZone;
504
+ }
505
+ catch (_a) {
506
+ return 'Asia/Ho_Chi_Minh';
507
+ }
508
+ }
509
+ _log(...args) {
510
+ if (this.config.debug) {
511
+ console.log('[CDP RN SDK]', ...args);
512
+ }
513
+ }
514
+ _logError(...args) {
515
+ if (this.config.debug) {
516
+ console.error('[CDP RN SDK]', ...args);
517
+ }
518
+ }
519
+ }
520
+ exports.CdpRnSdk = CdpRnSdk;
521
+ //# sourceMappingURL=CdpRnSdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CdpRnSdk.js","sourceRoot":"","sources":["../src/CdpRnSdk.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { CdpRnSdk } from './CdpRnSdk';
2
+ export type { CdpRnConfig, UserTraits, PlatformInfo, CampaignInfo, ConsentInfo, ScoreInfo, ProductInfo, EventProperties, EventContext, CdpEvent, PartyType, ProfilePayload, ProfileUpdatePayload, ProfileResponse, ProfileData, UserIdentities, } from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EACV,WAAW,EACX,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,SAAS,EACT,WAAW,EACX,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,cAAc,GACf,MAAM,SAAS,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CdpRnSdk = void 0;
4
+ var CdpRnSdk_1 = require("./CdpRnSdk");
5
+ Object.defineProperty(exports, "CdpRnSdk", { enumerable: true, get: function () { return CdpRnSdk_1.CdpRnSdk; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA"}