{"version":3,"file":"akamai/amp/nielsen/Nielsen.min.js","sources":["Nielsen.js"],"sourcesContent":["(function (exports) {\n'use strict';\n\nvar Nielsen = function (_akamai$amp$Plugin) {\n babelHelpers.inherits(Nielsen, _akamai$amp$Plugin);\n\n function Nielsen(player, config) {\n babelHelpers.classCallCheck(this, Nielsen);\n\n var _this = babelHelpers.possibleConstructorReturn(this, (Nielsen.__proto__ || Object.getPrototypeOf(Nielsen)).call(this, player, config));\n\n _this.sdk = window.NOLCMB.getInstance();\n\n var data = _this.data.data;\n _this.isDTVR = data.dtvr === true;\n _this.currentTime = 0;\n _this.sdk.ggInitialize(data);\n window.addEventListener(\"beforeunload\", function () {\n return _this.fireBeacon(\"end\", _this.currentTime.toFixed(0));\n });\n return _this;\n }\n\n babelHelpers.createClass(Nielsen, [{\n key: \"generateNielsenVO\",\n value: function generateNielsenVO(type) {\n var vo = {};\n var events = this.data.events;\n\n switch (type) {\n case \"content\":\n if (events.video != null) vo = events.video;\n break;\n\n case \"static\":\n vo = events.static;\n break;\n\n default:\n vo = events.ad;\n vo.type = type;\n }\n\n return vo;\n }\n }, {\n key: \"fireBeacon\",\n value: function fireBeacon(eventName, object) {\n var codes = {\n \"loadmetadata\": 15,\n \"play\": 5,\n \"stop\": 7,\n \"timeupdate\": 49,\n \"end\": 57,\n \"sendID3\": 55\n };\n\n this.player.logger.log(\"[AMP Nielsen DCR Event] : Event - \" + eventName, object);\n this.sdk.ggPM(codes[eventName], object);\n }\n }, {\n key: \"onready\",\n value: function onready() {\n this.bindHandlers([\"onadbreakend\", \"onadstarted\", \"onadended\", \"onadtimeupdate\"]);\n this.player.addEventListener(\"adbreakend\", this.onadbreakend);\n this.player.addEventListener(\"adstarted\", this.onadstarted);\n this.player.addEventListener(\"adended\", this.onadended);\n this.player.addEventListener(\"adtimeupdate\", this.onadtimeupdate);\n }\n }, {\n key: \"onadstarted\",\n value: function onadstarted(event) {\n this.adVO = event.detail;\n var type = this.adVO.type;\n\n if (type == \"midroll\" && this.adVO.position == 1) this.fireBeacon(\"stop\", this.currentTime);\n\n if (type == \"preroll\") this.fireBeacon(\"loadmetadata\", this.generateNielsenVO(\"content\"));\n\n if (this.adVO != null) {\n this.fireBeacon(\"loadmetadata\", this.generateNielsenVO(type));\n }\n }\n }, {\n key: \"onadended\",\n value: function onadended() {\n this.fireBeacon(\"stop\", this.currentTime);\n }\n }, {\n key: \"onadbreakend\",\n value: function onadbreakend(event) {\n this.adVO = event.detail;\n if (this.adVO.type == \"midroll\") this.fireBeacon(\"loadmetadata\", this.generateNielsenVO(\"content\"));\n }\n }, {\n key: \"onadtimeupdate\",\n value: function onadtimeupdate(event) {\n var currentTime = event.detail > 1 ? event.detail : 1; // to start counting at 1\n currentTime = Math.floor(currentTime);\n\n if (this.currentTime != currentTime) {\n this.currentTime = currentTime;\n this.fireBeacon(\"timeupdate\", this.currentTime);\n }\n }\n }, {\n key: \"onstarted\",\n value: function onstarted() {\n if (this.adVO && this.adVO.type == \"midroll\") {\n this.fireBeacon(\"stop\", this.generateNielsenVO(this.adVO.type));\n } else {\n this.fireBeacon(\"loadmetadata\", this.generateNielsenVO(\"content\"));\n }\n }\n }, {\n key: \"onended\",\n value: function onended() {\n this.fireBeacon(\"end\", this.currentTime);\n }\n }, {\n key: \"ontimeupdate\",\n value: function ontimeupdate(event) {\n if (this.isDTVR === true) return;\n var currentTime = !this.player.media.isLive ? event.detail > 1 ? event.detail : 1 : Date.now() / 1000; // to start counting at 1\n currentTime = Math.floor(currentTime);\n\n if (this.currentTime != currentTime) {\n this.currentTime = currentTime;\n this.fireBeacon(\"timeupdate\", this.currentTime);\n }\n }\n }, {\n key: \"onmediasequenceaborted\",\n value: function onmediasequenceaborted() {\n this.fireBeacon(\"end\", this.currentTime);\n }\n }, {\n key: \"ontimedmetadata\",\n value: function ontimedmetadata(event) {\n if (!this.isDTVR) return;\n\n var info = event.data.value.info;\n if (!/www\\.nielsen\\.com/.test(info)) return;\n\n this.fireBeacon(\"sendID3\", info);\n }\n }]);\n return Nielsen;\n}(akamai.amp.Plugin);\n\nakamai.amp.AMP.registerPlugin(\"nielsen\", akamai.amp.Plugin.createFactory(Nielsen));\n\nexports.Nielsen = Nielsen;\n\n}((this.akamai.amp.nielsen = this.akamai.amp.nielsen || {})));\n//# sourceMappingURL=Nielsen.js.map\n"],"names":["exports","Nielsen","_akamai$amp$Plugin","babelHelpers","inherits","player","config","classCallCheck","this","_this","possibleConstructorReturn","__proto__","Object","getPrototypeOf","call","sdk","window","NOLCMB","getInstance","data","isDTVR","dtvr","currentTime","ggInitialize","addEventListener","fireBeacon","toFixed","createClass","key","value","generateNielsenVO","type","vo","events","video","static","ad","eventName","object","codes","loadmetadata","play","stop","timeupdate","end","sendID3","logger","log","ggPM","onready","bindHandlers","onadbreakend","onadstarted","onadended","onadtimeupdate","event","adVO","detail","position","Math","floor","onstarted","onended","ontimeupdate","media","isLive","Date","now","onmediasequenceaborted","ontimedmetadata","info","test","akamai","amp","Plugin","AMP","registerPlugin","createFactory","nielsen"],"mappings":"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"}