{ "version": 3, "sources": ["../../javascript/lib/array-from.js", "../../javascript/lib/bind.js", "../../javascript/packs/stats.js"], "sourcesContent": ["// Production steps of ECMA-262, Edition 6, 22.1.2.1\nif (!Array.from) {\n Array.from = (function () {\n var toStr = Object.prototype.toString;\n var isCallable = function (fn) {\n return typeof fn === 'function' || toStr.call(fn) === '[object Function]';\n };\n var toInteger = function (value) {\n var number = Number(value);\n if (isNaN(number)) { return 0; }\n if (number === 0 || !isFinite(number)) { return number; }\n return (number > 0 ? 1 : -1) * Math.floor(Math.abs(number));\n };\n var maxSafeInteger = Math.pow(2, 53) - 1;\n var toLength = function (value) {\n var len = toInteger(value);\n return Math.min(Math.max(len, 0), maxSafeInteger);\n };\n\n // The length property of the from method is 1.\n return function from(arrayLike/*, mapFn, thisArg */) {\n // 1. Let C be the this value.\n var C = this;\n\n // 2. Let items be ToObject(arrayLike).\n var items = Object(arrayLike);\n\n // 3. ReturnIfAbrupt(items).\n if (arrayLike == null) {\n throw new TypeError('Array.from requires an array-like object - not null or undefined');\n }\n\n // 4. If mapfn is undefined, then let mapping be false.\n var mapFn = arguments.length > 1 ? arguments[1] : void undefined;\n var T;\n if (typeof mapFn !== 'undefined') {\n // 5. else\n // 5. a If IsCallable(mapfn) is false, throw a TypeError exception.\n if (!isCallable(mapFn)) {\n throw new TypeError('Array.from: when provided, the second argument must be a function');\n }\n\n // 5. b. If thisArg was supplied, let T be thisArg; else let T be undefined.\n if (arguments.length > 2) {\n T = arguments[2];\n }\n }\n\n // 10. Let lenValue be Get(items, \"length\").\n // 11. Let len be ToLength(lenValue).\n var len = toLength(items.length);\n\n // 13. If IsConstructor(C) is true, then\n // 13. a. Let A be the result of calling the [[Construct]] internal method\n // of C with an argument list containing the single item len.\n // 14. a. Else, Let A be ArrayCreate(len).\n var A = isCallable(C) ? Object(new C(len)) : new Array(len);\n\n // 16. Let k be 0.\n var k = 0;\n // 17. Repeat, while k < len\u2026 (also steps a - h)\n var kValue;\n while (k < len) {\n kValue = items[k];\n if (mapFn) {\n A[k] = typeof T === 'undefined' ? mapFn(kValue, k) : mapFn.call(T, kValue, k);\n } else {\n A[k] = kValue;\n }\n k += 1;\n }\n // 18. Let putStatus be Put(A, \"length\", len, true).\n A.length = len;\n // 20. Return A.\n return A;\n };\n }());\n}\n\nif (!Array.isArray) {\n Array.isArray = function(arg) {\n return Object.prototype.toString.call(arg) === '[object Array]';\n };\n}\n", "require('./array-from')\n\nconst bind = function(elements, events, fn) {\n events = events.split(' ')\n\n if (typeof(elements) == 'string') {\n elements = Array.from(document.querySelectorAll(elements))\n }\n\n if (!Array.isArray(elements)) {\n elements = Array.from([elements])\n }\n\n elements.forEach((element) => {\n events.forEach((event) => {\n if (element.addEventListener) {\n element.addEventListener(event, fn, false);\n } else if (element.attachEvent) {\n element.attachEvent(`on${event}`, fn);\n } else {\n element[`on${event}`] = fn;\n }\n })\n })\n};\n\nconst unbind = function(elements, events, fn) {\n events = events.split(' ')\n\n if (typeof(elements) == 'string') {\n elements = Array.from(document.querySelectorAll(elements))\n }\n\n if (!Array.isArray(elements)) {\n elements = Array.from([elements])\n }\n\n elements.forEach((element) => {\n events.forEach((event) => {\n if (element.addEventListener) {\n element.removeEventListener(event, fn, false);\n } else if (element.attachEvent) {\n element.detachEvent(`on${event}`, fn);\n } else {\n element[`on${event}`] = null;\n }\n })\n })\n};\n\n\n\nmodule.exports = {bind, unbind}\n", "const {bind} = require('../lib/bind')\n\nStats = {\n host: \"speakerdeck.com\",\n\n record: function(type, data) {\n const image = new Image()\n image.src = `${this.beaconUrl()}?${this.toQueryString(type, data)}`;\n },\n\n toQueryString: function(type, data) {\n const queryStringParts = [\n 'version=one',\n `type=${type}`,\n `timestamp=${Stats.timestamp()}`,\n ];\n\n const encodedData = Object.entries(data).map(([key, value]) => {\n return [this.encode(key), this.encode(value)]\n });\n\n encodedData.forEach(([key, value]) => {\n queryStringParts.push(`data[${key}]=${value}`);\n });\n\n return queryStringParts.join('&');\n },\n\n beaconUrl: function() {\n return `//${this.host}/beacon.gif`;\n },\n\n timestamp: function() {\n return new Date().getTime();\n },\n\n encode: function(string) {\n return string ? window.encodeURIComponent(string) : \"\";\n }\n};\n\nStats.Page = {\n data: function() {\n const pageData = {\n page: Stats.Page.url(),\n referrer: Stats.Page.referrer(),\n }\n\n return Object.assign({}, pageData, this.metaTagData());\n },\n\n metaTagData: function() {\n const queryResult = document.querySelectorAll('meta[name|=stats]');\n const metaTags = Array.prototype.slice.call(queryResult);\n\n return metaTags.reduce(function(data, tag) {\n const key = tag.name.replace(/^stats-/, '');\n const value = tag.content;\n data[key] = value;\n return data;\n }, {});\n },\n\n url: function() {\n try {\n return document.location.href;\n } catch(error) {\n return undefined;\n }\n },\n\n referrer: function() {\n try {\n return window.top.document.referrer;\n } catch(error1) {\n try {\n return window.parent.document.referrer;\n } catch(error2) {\n return undefined;\n }\n }\n return document.referrer;\n }\n}\n\nbind(document, 'DOMContentLoaded', () => {\n Stats.record('page_view', Stats.Page.data());\n});\n"], "mappings": "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", "names": ["require_array_from", "__commonJSMin", "toStr", "isCallable", "fn", "toInteger", "value", "number", "maxSafeInteger", "toLength", "len", "arrayLike", "C", "items", "mapFn", "T", "A", "k", "kValue", "arg", "require_bind", "__commonJSMin", "exports", "module", "bind", "elements", "events", "fn", "element", "event", "unbind", "bind", "type", "data", "image", "queryStringParts", "key", "value", "string", "pageData", "queryResult", "tag", "error", "error1", "error2"] }