@mparticle/web-double-click-kit 2.0.2 → 2.0.4
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/dist/DoubleClick-Kit.common.js +426 -271
- package/package.json +9 -3
|
@@ -333,17 +333,6 @@ UserAttributeHandler.prototype.onConsentStateUpdated = function(
|
|
|
333
333
|
|
|
334
334
|
var userAttributeHandler = UserAttributeHandler;
|
|
335
335
|
|
|
336
|
-
/*!
|
|
337
|
-
* isobject <https://github.com/jonschlinkert/isobject>
|
|
338
|
-
*
|
|
339
|
-
* Copyright (c) 2014-2017, Jon Schlinkert.
|
|
340
|
-
* Released under the MIT License.
|
|
341
|
-
*/
|
|
342
|
-
|
|
343
|
-
function isObject(val) {
|
|
344
|
-
return val != null && typeof val === 'object' && Array.isArray(val) === false;
|
|
345
|
-
}
|
|
346
|
-
|
|
347
336
|
// =============== REACH OUT TO MPARTICLE IF YOU HAVE ANY QUESTIONS ===============
|
|
348
337
|
//
|
|
349
338
|
// Copyright 2018 mParticle, Inc.
|
|
@@ -368,332 +357,498 @@ function isObject(val) {
|
|
|
368
357
|
|
|
369
358
|
|
|
370
359
|
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
};
|
|
384
|
-
|
|
385
|
-
var constructor = function () {
|
|
386
|
-
var self = this,
|
|
387
|
-
isInitialized = false,
|
|
388
|
-
forwarderSettings,
|
|
389
|
-
reportingService,
|
|
390
|
-
eventQueue = [];
|
|
391
|
-
|
|
392
|
-
self.name = initialization_1.name;
|
|
393
|
-
self.moduleId = initialization_1.moduleId;
|
|
394
|
-
self.common = new common();
|
|
360
|
+
var name = initialization_1.name,
|
|
361
|
+
moduleId = initialization_1.moduleId,
|
|
362
|
+
MessageType = {
|
|
363
|
+
SessionStart: 1,
|
|
364
|
+
SessionEnd: 2,
|
|
365
|
+
PageView: 3,
|
|
366
|
+
PageEvent: 4,
|
|
367
|
+
CrashReport: 5,
|
|
368
|
+
OptOut: 6,
|
|
369
|
+
Commerce: 16,
|
|
370
|
+
Media: 20,
|
|
371
|
+
};
|
|
395
372
|
|
|
396
|
-
|
|
397
|
-
|
|
373
|
+
var constructor = function() {
|
|
374
|
+
var self = this,
|
|
375
|
+
isInitialized = false,
|
|
376
|
+
forwarderSettings,
|
|
377
|
+
reportingService,
|
|
378
|
+
eventQueue = [];
|
|
379
|
+
|
|
380
|
+
self.name = initialization_1.name;
|
|
381
|
+
self.moduleId = initialization_1.moduleId;
|
|
382
|
+
self.common = new common();
|
|
383
|
+
|
|
384
|
+
function initForwarder(
|
|
385
|
+
settings,
|
|
386
|
+
service,
|
|
387
|
+
testMode,
|
|
388
|
+
trackerId,
|
|
389
|
+
userAttributes,
|
|
390
|
+
userIdentities,
|
|
391
|
+
appVersion,
|
|
392
|
+
appName,
|
|
393
|
+
customFlags,
|
|
394
|
+
clientId
|
|
395
|
+
) {
|
|
396
|
+
forwarderSettings = settings;
|
|
397
|
+
|
|
398
|
+
if (
|
|
399
|
+
typeof window !== 'undefined' &&
|
|
400
|
+
window.mParticle.isTestEnvironment
|
|
401
|
+
) {
|
|
402
|
+
reportingService = function() {};
|
|
403
|
+
} else {
|
|
404
|
+
reportingService = service;
|
|
405
|
+
}
|
|
398
406
|
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
407
|
+
try {
|
|
408
|
+
initialization_1.initForwarder(
|
|
409
|
+
settings,
|
|
410
|
+
testMode,
|
|
411
|
+
userAttributes,
|
|
412
|
+
userIdentities,
|
|
413
|
+
processEvent,
|
|
414
|
+
eventQueue,
|
|
415
|
+
isInitialized,
|
|
416
|
+
self.common,
|
|
417
|
+
appVersion,
|
|
418
|
+
appName,
|
|
419
|
+
customFlags,
|
|
420
|
+
clientId
|
|
421
|
+
);
|
|
422
|
+
self.eventHandler = new eventHandler(self.common);
|
|
423
|
+
self.identityHandler = new identityHandler(self.common);
|
|
424
|
+
self.userAttributeHandler = new userAttributeHandler(self.common);
|
|
425
|
+
self.commerceHandler = new commerceHandler(self.common);
|
|
426
|
+
|
|
427
|
+
isInitialized = true;
|
|
428
|
+
} catch (e) {
|
|
429
|
+
console.log('Failed to initialize ' + name + ' - ' + e);
|
|
430
|
+
}
|
|
431
|
+
}
|
|
405
432
|
|
|
433
|
+
function processEvent(event) {
|
|
434
|
+
var reportEvent = false;
|
|
435
|
+
if (isInitialized) {
|
|
406
436
|
try {
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
437
|
+
if (event.EventDataType === MessageType.SessionStart) {
|
|
438
|
+
reportEvent = logSessionStart(event);
|
|
439
|
+
} else if (event.EventDataType === MessageType.SessionEnd) {
|
|
440
|
+
reportEvent = logSessionEnd(event);
|
|
441
|
+
} else if (event.EventDataType === MessageType.CrashReport) {
|
|
442
|
+
reportEvent = logError(event);
|
|
443
|
+
} else if (event.EventDataType === MessageType.PageView) {
|
|
444
|
+
reportEvent = logPageView(event);
|
|
445
|
+
} else if (event.EventDataType === MessageType.Commerce) {
|
|
446
|
+
reportEvent = logEcommerceEvent(event);
|
|
447
|
+
} else if (event.EventDataType === MessageType.PageEvent) {
|
|
448
|
+
reportEvent = logEvent(event);
|
|
449
|
+
} else if (event.EventDataType === MessageType.Media) {
|
|
450
|
+
// Kits should just treat Media Events as generic Events
|
|
451
|
+
reportEvent = logEvent(event);
|
|
452
|
+
}
|
|
453
|
+
if (reportEvent === true && reportingService) {
|
|
454
|
+
reportingService(self, event);
|
|
455
|
+
return 'Successfully sent to ' + name;
|
|
456
|
+
} else {
|
|
457
|
+
return (
|
|
458
|
+
'Error logging event or event type not supported on forwarder ' +
|
|
459
|
+
name
|
|
460
|
+
);
|
|
461
|
+
}
|
|
414
462
|
} catch (e) {
|
|
415
|
-
|
|
463
|
+
return 'Failed to send to ' + name + ' ' + e;
|
|
416
464
|
}
|
|
465
|
+
} else {
|
|
466
|
+
eventQueue.push(event);
|
|
467
|
+
return (
|
|
468
|
+
"Can't send to forwarder " +
|
|
469
|
+
name +
|
|
470
|
+
', not initialized. Event added to queue.'
|
|
471
|
+
);
|
|
417
472
|
}
|
|
473
|
+
}
|
|
418
474
|
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
reportEvent = logSessionEnd(event);
|
|
427
|
-
} else if (event.EventDataType === MessageType.CrashReport) {
|
|
428
|
-
reportEvent = logError(event);
|
|
429
|
-
} else if (event.EventDataType === MessageType.PageView) {
|
|
430
|
-
reportEvent = logPageView(event);
|
|
431
|
-
}
|
|
432
|
-
else if (event.EventDataType === MessageType.Commerce) {
|
|
433
|
-
reportEvent = logEcommerceEvent(event);
|
|
434
|
-
}
|
|
435
|
-
else if (event.EventDataType === MessageType.PageEvent) {
|
|
436
|
-
reportEvent = logEvent(event);
|
|
437
|
-
}
|
|
438
|
-
if (reportEvent === true && reportingService) {
|
|
439
|
-
reportingService(self, event);
|
|
440
|
-
return 'Successfully sent to ' + name;
|
|
441
|
-
}
|
|
442
|
-
else {
|
|
443
|
-
return 'Error logging event or event type not supported on forwarder ' + name;
|
|
444
|
-
}
|
|
445
|
-
}
|
|
446
|
-
catch (e) {
|
|
447
|
-
return 'Failed to send to ' + name + ' ' + e;
|
|
448
|
-
}
|
|
449
|
-
} else {
|
|
450
|
-
eventQueue.push(event);
|
|
451
|
-
return 'Can\'t send to forwarder ' + name + ', not initialized. Event added to queue.';
|
|
452
|
-
}
|
|
475
|
+
function logSessionStart(event) {
|
|
476
|
+
try {
|
|
477
|
+
return sessionHandler_1.onSessionStart(event);
|
|
478
|
+
} catch (e) {
|
|
479
|
+
return {
|
|
480
|
+
error: 'Error starting session on forwarder ' + name + '; ' + e,
|
|
481
|
+
};
|
|
453
482
|
}
|
|
483
|
+
}
|
|
454
484
|
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
}
|
|
485
|
+
function logSessionEnd(event) {
|
|
486
|
+
try {
|
|
487
|
+
return sessionHandler_1.onSessionEnd(event);
|
|
488
|
+
} catch (e) {
|
|
489
|
+
return {
|
|
490
|
+
error: 'Error ending session on forwarder ' + name + '; ' + e,
|
|
491
|
+
};
|
|
462
492
|
}
|
|
493
|
+
}
|
|
463
494
|
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
}
|
|
495
|
+
function logError(event) {
|
|
496
|
+
try {
|
|
497
|
+
return self.eventHandler.logError(event);
|
|
498
|
+
} catch (e) {
|
|
499
|
+
return {
|
|
500
|
+
error: 'Error logging error on forwarder ' + name + '; ' + e,
|
|
501
|
+
};
|
|
471
502
|
}
|
|
503
|
+
}
|
|
472
504
|
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
505
|
+
function logPageView(event) {
|
|
506
|
+
try {
|
|
507
|
+
return self.eventHandler.logPageView(event);
|
|
508
|
+
} catch (e) {
|
|
509
|
+
return {
|
|
510
|
+
error:
|
|
511
|
+
'Error logging page view on forwarder ' + name + '; ' + e,
|
|
512
|
+
};
|
|
480
513
|
}
|
|
514
|
+
}
|
|
481
515
|
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
}
|
|
516
|
+
function logEvent(event) {
|
|
517
|
+
try {
|
|
518
|
+
return self.eventHandler.logEvent(event);
|
|
519
|
+
} catch (e) {
|
|
520
|
+
return {
|
|
521
|
+
error: 'Error logging event on forwarder ' + name + '; ' + e,
|
|
522
|
+
};
|
|
489
523
|
}
|
|
524
|
+
}
|
|
490
525
|
|
|
491
|
-
|
|
526
|
+
function logEcommerceEvent(event) {
|
|
527
|
+
try {
|
|
528
|
+
return self.commerceHandler.logCommerceEvent(event);
|
|
529
|
+
} catch (e) {
|
|
530
|
+
return {
|
|
531
|
+
error:
|
|
532
|
+
'Error logging purchase event on forwarder ' +
|
|
533
|
+
name +
|
|
534
|
+
'; ' +
|
|
535
|
+
e,
|
|
536
|
+
};
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
|
|
540
|
+
function setUserAttribute(key, value) {
|
|
541
|
+
if (isInitialized) {
|
|
492
542
|
try {
|
|
493
|
-
self.
|
|
494
|
-
|
|
543
|
+
self.userAttributeHandler.onSetUserAttribute(
|
|
544
|
+
key,
|
|
545
|
+
value,
|
|
546
|
+
forwarderSettings
|
|
547
|
+
);
|
|
548
|
+
return 'Successfully set user attribute on forwarder ' + name;
|
|
495
549
|
} catch (e) {
|
|
496
|
-
return
|
|
550
|
+
return (
|
|
551
|
+
'Error setting user attribute on forwarder ' +
|
|
552
|
+
name +
|
|
553
|
+
'; ' +
|
|
554
|
+
e
|
|
555
|
+
);
|
|
497
556
|
}
|
|
557
|
+
} else {
|
|
558
|
+
return (
|
|
559
|
+
"Can't set user attribute on forwarder " +
|
|
560
|
+
name +
|
|
561
|
+
', not initialized'
|
|
562
|
+
);
|
|
498
563
|
}
|
|
564
|
+
}
|
|
499
565
|
|
|
500
|
-
|
|
566
|
+
function removeUserAttribute(key) {
|
|
567
|
+
if (isInitialized) {
|
|
501
568
|
try {
|
|
502
|
-
self.
|
|
503
|
-
|
|
569
|
+
self.userAttributeHandler.onRemoveUserAttribute(
|
|
570
|
+
key,
|
|
571
|
+
forwarderSettings
|
|
572
|
+
);
|
|
573
|
+
return (
|
|
574
|
+
'Successfully removed user attribute on forwarder ' + name
|
|
575
|
+
);
|
|
504
576
|
} catch (e) {
|
|
505
|
-
return
|
|
577
|
+
return (
|
|
578
|
+
'Error removing user attribute on forwarder ' +
|
|
579
|
+
name +
|
|
580
|
+
'; ' +
|
|
581
|
+
e
|
|
582
|
+
);
|
|
506
583
|
}
|
|
584
|
+
} else {
|
|
585
|
+
return (
|
|
586
|
+
"Can't remove user attribute on forwarder " +
|
|
587
|
+
name +
|
|
588
|
+
', not initialized'
|
|
589
|
+
);
|
|
507
590
|
}
|
|
591
|
+
}
|
|
508
592
|
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
593
|
+
function setUserIdentity(id, type) {
|
|
594
|
+
if (isInitialized) {
|
|
595
|
+
try {
|
|
596
|
+
self.identityHandler.onSetUserIdentity(
|
|
597
|
+
forwarderSettings,
|
|
598
|
+
id,
|
|
599
|
+
type
|
|
600
|
+
);
|
|
601
|
+
return 'Successfully set user Identity on forwarder ' + name;
|
|
602
|
+
} catch (e) {
|
|
603
|
+
return (
|
|
604
|
+
'Error removing user attribute on forwarder ' +
|
|
605
|
+
name +
|
|
606
|
+
'; ' +
|
|
607
|
+
e
|
|
608
|
+
);
|
|
519
609
|
}
|
|
610
|
+
} else {
|
|
611
|
+
return (
|
|
612
|
+
"Can't call setUserIdentity on forwarder " +
|
|
613
|
+
name +
|
|
614
|
+
', not initialized'
|
|
615
|
+
);
|
|
520
616
|
}
|
|
617
|
+
}
|
|
521
618
|
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
return 'Successfully removed user attribute on forwarder ' + name;
|
|
527
|
-
} catch (e) {
|
|
528
|
-
return 'Error removing user attribute on forwarder ' + name + '; ' + e;
|
|
529
|
-
}
|
|
530
|
-
} else {
|
|
531
|
-
return 'Can\'t remove user attribute on forwarder ' + name + ', not initialized';
|
|
532
|
-
}
|
|
533
|
-
}
|
|
619
|
+
function onUserIdentified(user) {
|
|
620
|
+
if (isInitialized) {
|
|
621
|
+
try {
|
|
622
|
+
self.identityHandler.onUserIdentified(user);
|
|
534
623
|
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
624
|
+
return (
|
|
625
|
+
'Successfully called onUserIdentified on forwarder ' + name
|
|
626
|
+
);
|
|
627
|
+
} catch (e) {
|
|
628
|
+
return {
|
|
629
|
+
error:
|
|
630
|
+
'Error calling onUserIdentified on forwarder ' +
|
|
631
|
+
name +
|
|
632
|
+
'; ' +
|
|
633
|
+
e,
|
|
634
|
+
};
|
|
545
635
|
}
|
|
546
|
-
|
|
636
|
+
} else {
|
|
637
|
+
return (
|
|
638
|
+
"Can't set new user identities on forwader " +
|
|
639
|
+
name +
|
|
640
|
+
', not initialized'
|
|
641
|
+
);
|
|
547
642
|
}
|
|
643
|
+
}
|
|
548
644
|
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
645
|
+
function onIdentifyComplete(user, filteredIdentityRequest) {
|
|
646
|
+
if (isInitialized) {
|
|
647
|
+
try {
|
|
648
|
+
self.identityHandler.onIdentifyComplete(
|
|
649
|
+
user,
|
|
650
|
+
filteredIdentityRequest
|
|
651
|
+
);
|
|
652
|
+
|
|
653
|
+
return (
|
|
654
|
+
'Successfully called onIdentifyComplete on forwarder ' +
|
|
655
|
+
name
|
|
656
|
+
);
|
|
657
|
+
} catch (e) {
|
|
658
|
+
return {
|
|
659
|
+
error:
|
|
660
|
+
'Error calling onIdentifyComplete on forwarder ' +
|
|
661
|
+
name +
|
|
662
|
+
'; ' +
|
|
663
|
+
e,
|
|
664
|
+
};
|
|
561
665
|
}
|
|
666
|
+
} else {
|
|
667
|
+
return (
|
|
668
|
+
"Can't call onIdentifyCompleted on forwader " +
|
|
669
|
+
name +
|
|
670
|
+
', not initialized'
|
|
671
|
+
);
|
|
562
672
|
}
|
|
673
|
+
}
|
|
563
674
|
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
675
|
+
function onLoginComplete(user, filteredIdentityRequest) {
|
|
676
|
+
if (isInitialized) {
|
|
677
|
+
try {
|
|
678
|
+
self.identityHandler.onLoginComplete(
|
|
679
|
+
user,
|
|
680
|
+
filteredIdentityRequest
|
|
681
|
+
);
|
|
682
|
+
|
|
683
|
+
return (
|
|
684
|
+
'Successfully called onLoginComplete on forwarder ' + name
|
|
685
|
+
);
|
|
686
|
+
} catch (e) {
|
|
687
|
+
return {
|
|
688
|
+
error:
|
|
689
|
+
'Error calling onLoginComplete on forwarder ' +
|
|
690
|
+
name +
|
|
691
|
+
'; ' +
|
|
692
|
+
e,
|
|
693
|
+
};
|
|
576
694
|
}
|
|
695
|
+
} else {
|
|
696
|
+
return (
|
|
697
|
+
"Can't call onLoginComplete on forwader " +
|
|
698
|
+
name +
|
|
699
|
+
', not initialized'
|
|
700
|
+
);
|
|
577
701
|
}
|
|
702
|
+
}
|
|
578
703
|
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
704
|
+
function onLogoutComplete(user, filteredIdentityRequest) {
|
|
705
|
+
if (isInitialized) {
|
|
706
|
+
try {
|
|
707
|
+
self.identityHandler.onLogoutComplete(
|
|
708
|
+
user,
|
|
709
|
+
filteredIdentityRequest
|
|
710
|
+
);
|
|
711
|
+
|
|
712
|
+
return (
|
|
713
|
+
'Successfully called onLogoutComplete on forwarder ' + name
|
|
714
|
+
);
|
|
715
|
+
} catch (e) {
|
|
716
|
+
return {
|
|
717
|
+
error:
|
|
718
|
+
'Error calling onLogoutComplete on forwarder ' +
|
|
719
|
+
name +
|
|
720
|
+
'; ' +
|
|
721
|
+
e,
|
|
722
|
+
};
|
|
591
723
|
}
|
|
724
|
+
} else {
|
|
725
|
+
return (
|
|
726
|
+
"Can't call onLogoutComplete on forwader " +
|
|
727
|
+
name +
|
|
728
|
+
', not initialized'
|
|
729
|
+
);
|
|
592
730
|
}
|
|
731
|
+
}
|
|
593
732
|
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
733
|
+
function onModifyComplete(user, filteredIdentityRequest) {
|
|
734
|
+
if (isInitialized) {
|
|
735
|
+
try {
|
|
736
|
+
self.identityHandler.onModifyComplete(
|
|
737
|
+
user,
|
|
738
|
+
filteredIdentityRequest
|
|
739
|
+
);
|
|
740
|
+
|
|
741
|
+
return (
|
|
742
|
+
'Successfully called onModifyComplete on forwarder ' + name
|
|
743
|
+
);
|
|
744
|
+
} catch (e) {
|
|
745
|
+
return {
|
|
746
|
+
error:
|
|
747
|
+
'Error calling onModifyComplete on forwarder ' +
|
|
748
|
+
name +
|
|
749
|
+
'; ' +
|
|
750
|
+
e,
|
|
751
|
+
};
|
|
606
752
|
}
|
|
753
|
+
} else {
|
|
754
|
+
return (
|
|
755
|
+
"Can't call onModifyComplete on forwader " +
|
|
756
|
+
name +
|
|
757
|
+
', not initialized'
|
|
758
|
+
);
|
|
607
759
|
}
|
|
760
|
+
}
|
|
608
761
|
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
762
|
+
function setOptOut(isOptingOutBoolean) {
|
|
763
|
+
if (isInitialized) {
|
|
764
|
+
try {
|
|
765
|
+
self.initialization.setOptOut(isOptingOutBoolean);
|
|
613
766
|
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
767
|
+
return 'Successfully called setOptOut on forwarder ' + name;
|
|
768
|
+
} catch (e) {
|
|
769
|
+
return {
|
|
770
|
+
error:
|
|
771
|
+
'Error calling setOptOut on forwarder ' +
|
|
772
|
+
name +
|
|
773
|
+
'; ' +
|
|
774
|
+
e,
|
|
775
|
+
};
|
|
621
776
|
}
|
|
777
|
+
} else {
|
|
778
|
+
return (
|
|
779
|
+
"Can't call setOptOut on forwader " +
|
|
780
|
+
name +
|
|
781
|
+
', not initialized'
|
|
782
|
+
);
|
|
622
783
|
}
|
|
784
|
+
}
|
|
623
785
|
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
786
|
+
this.init = initForwarder;
|
|
787
|
+
this.process = processEvent;
|
|
788
|
+
this.setUserAttribute = setUserAttribute;
|
|
789
|
+
this.removeUserAttribute = removeUserAttribute;
|
|
790
|
+
this.onUserIdentified = onUserIdentified;
|
|
791
|
+
this.setUserIdentity = setUserIdentity;
|
|
792
|
+
this.onIdentifyComplete = onIdentifyComplete;
|
|
793
|
+
this.onLoginComplete = onLoginComplete;
|
|
794
|
+
this.onLogoutComplete = onLogoutComplete;
|
|
795
|
+
this.onModifyComplete = onModifyComplete;
|
|
796
|
+
this.setOptOut = setOptOut;
|
|
797
|
+
};
|
|
628
798
|
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
}
|
|
633
|
-
}
|
|
634
|
-
else {
|
|
635
|
-
return 'Can\'t call setOptOut on forwader ' + name + ', not initialized';
|
|
636
|
-
}
|
|
637
|
-
}
|
|
799
|
+
function getId() {
|
|
800
|
+
return moduleId;
|
|
801
|
+
}
|
|
638
802
|
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
this.setUserIdentity = setUserIdentity;
|
|
645
|
-
this.onIdentifyComplete = onIdentifyComplete;
|
|
646
|
-
this.onLoginComplete = onLoginComplete;
|
|
647
|
-
this.onLogoutComplete = onLogoutComplete;
|
|
648
|
-
this.onModifyComplete = onModifyComplete;
|
|
649
|
-
this.setOptOut = setOptOut;
|
|
650
|
-
};
|
|
803
|
+
function isObject(val) {
|
|
804
|
+
return (
|
|
805
|
+
val != null && typeof val === 'object' && Array.isArray(val) === false
|
|
806
|
+
);
|
|
807
|
+
}
|
|
651
808
|
|
|
652
|
-
|
|
653
|
-
|
|
809
|
+
function register(config) {
|
|
810
|
+
if (!config) {
|
|
811
|
+
console.log(
|
|
812
|
+
'You must pass a config object to register the kit ' + name
|
|
813
|
+
);
|
|
814
|
+
return;
|
|
654
815
|
}
|
|
655
816
|
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
if (!isObject(config)) {
|
|
663
|
-
window.console.log('\'config\' must be an object. You passed in a ' + typeof config);
|
|
664
|
-
return;
|
|
665
|
-
}
|
|
817
|
+
if (!isObject(config)) {
|
|
818
|
+
console.log(
|
|
819
|
+
"'config' must be an object. You passed in a " + typeof config
|
|
820
|
+
);
|
|
821
|
+
return;
|
|
822
|
+
}
|
|
666
823
|
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
}
|
|
677
|
-
window.console.log('Successfully registered ' + name + ' to your mParticle configuration');
|
|
824
|
+
if (isObject(config.kits)) {
|
|
825
|
+
config.kits[name] = {
|
|
826
|
+
constructor: constructor,
|
|
827
|
+
};
|
|
828
|
+
} else {
|
|
829
|
+
config.kits = {};
|
|
830
|
+
config.kits[name] = {
|
|
831
|
+
constructor: constructor,
|
|
832
|
+
};
|
|
678
833
|
}
|
|
834
|
+
console.log(
|
|
835
|
+
'Successfully registered ' + name + ' to your mParticle configuration'
|
|
836
|
+
);
|
|
837
|
+
}
|
|
679
838
|
|
|
839
|
+
if (typeof window !== 'undefined') {
|
|
680
840
|
if (window && window.mParticle && window.mParticle.addForwarder) {
|
|
681
841
|
window.mParticle.addForwarder({
|
|
682
842
|
name: name,
|
|
683
843
|
constructor: constructor,
|
|
684
|
-
getId: getId
|
|
844
|
+
getId: getId,
|
|
685
845
|
});
|
|
686
846
|
}
|
|
847
|
+
}
|
|
687
848
|
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
getId: getId
|
|
692
|
-
});
|
|
693
|
-
|
|
694
|
-
var webKitWrapper = {
|
|
695
|
-
register: register
|
|
696
|
-
};
|
|
849
|
+
var webKitWrapper = {
|
|
850
|
+
register: register,
|
|
851
|
+
};
|
|
697
852
|
var webKitWrapper_1 = webKitWrapper.register;
|
|
698
853
|
|
|
699
854
|
exports.default = webKitWrapper;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mparticle/web-double-click-kit",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.4",
|
|
4
4
|
"repository": "https://github.com/mparticle-integrations/mparticle-javascript-integration-doubleclick",
|
|
5
5
|
"main": "dist/DoubleClick-Kit.common.js",
|
|
6
6
|
"browser": "dist/DoubleClick-Kit.common.js",
|
|
@@ -10,11 +10,17 @@
|
|
|
10
10
|
"scripts": {
|
|
11
11
|
"testKarma": "node test/boilerplate/test-karma.js",
|
|
12
12
|
"build": "rollup --config rollup.config.js",
|
|
13
|
+
"build:test": "ENVIRONMENT=production rollup --config rollup.test.config.js",
|
|
13
14
|
"watch": "rollup --config rollup.config.js -w",
|
|
15
|
+
"test": "npm run build && npm run build:test && DEBUG=false karma start test/karma.config.js",
|
|
16
|
+
"test:debug": "npm run build && npm run build:test && DEBUG=true karma start test/karma.config.js",
|
|
14
17
|
"testEndToEnd": "browserify node_modules/@mparticle/web-kit-wrapper/end-to-end-testapp/index.js -v -o test/end-to-end-testapp/build/compilation.js && open http://localhost:8082/node_modules/@mparticle/web-kit-wrapper/end-to-end-testapp/index.html && node node_modules/@mparticle/web-kit-wrapper/end-to-end-testapp/server"
|
|
15
18
|
},
|
|
16
19
|
"devDependencies": {
|
|
17
|
-
"@mparticle/web-sdk": "^2.
|
|
20
|
+
"@mparticle/web-sdk": "^2.23.4",
|
|
21
|
+
"@semantic-release/changelog": "^5.0.1",
|
|
22
|
+
"@semantic-release/exec": "^5.0.0",
|
|
23
|
+
"@semantic-release/git": "^9.0.0",
|
|
18
24
|
"chai": "^4.2.0",
|
|
19
25
|
"karma": "^5.1.0",
|
|
20
26
|
"karma-chai": "^0.1.0",
|
|
@@ -30,6 +36,6 @@
|
|
|
30
36
|
"watchify": "^3.11.1"
|
|
31
37
|
},
|
|
32
38
|
"dependencies": {
|
|
33
|
-
"@mparticle/web-kit-wrapper": "^1.0.
|
|
39
|
+
"@mparticle/web-kit-wrapper": "^1.0.6"
|
|
34
40
|
}
|
|
35
41
|
}
|