{"version":3,"file":"application.js","mappings":"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","sources":["webpack:///./node_modules/cheet.js/cheet.js","webpack:///webpack/bootstrap","webpack:///./node_modules/timeago.js/esm/lang/en_US.js","webpack:///./node_modules/timeago.js/esm/lang/zh_CN.js","webpack:///./node_modules/timeago.js/esm/register.js","webpack:///./node_modules/timeago.js/esm/utils/date.js","webpack:///./node_modules/timeago.js/esm/index.js","webpack:///./app/javascript/application.js","webpack:///./app/javascript/application/listing.js","webpack:///./node_modules/timeago.js/esm/format.js","webpack:///./app/javascript/lib/sieve.js"],"sourcesContent":["/*\nThe MIT License (MIT)\n\nCopyright (c) 2013 Louis Acresti\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n*/\n\n\n(function (global) {\n 'use strict';\n\n var cheet,\n sequences = {},\n keys = {\n backspace: 8,\n tab: 9,\n enter: 13,\n 'return': 13,\n shift: 16,\n '⇧': 16,\n control: 17,\n ctrl: 17,\n '⌃': 17,\n alt: 18,\n option: 18,\n '⌥': 18,\n pause: 19,\n capslock: 20,\n esc: 27,\n space: 32,\n pageup: 33,\n pagedown: 34,\n end: 35,\n home: 36,\n left: 37,\n L: 37,\n '←': 37,\n up: 38,\n U: 38,\n '↑': 38,\n right: 39,\n R: 39,\n '→': 39,\n down: 40,\n D: 40,\n '↓': 40,\n insert: 45,\n 'delete': 46,\n '0': 48,\n '1': 49,\n '2': 50,\n '3': 51,\n '4': 52,\n '5': 53,\n '6': 54,\n '7': 55,\n '8': 56,\n '9': 57,\n a: 65,\n b: 66,\n c: 67,\n d: 68,\n e: 69,\n f: 70,\n g: 71,\n h: 72,\n i: 73,\n j: 74,\n k: 75,\n l: 76,\n m: 77,\n n: 78,\n o: 79,\n p: 80,\n q: 81,\n r: 82,\n s: 83,\n t: 84,\n u: 85,\n v: 86,\n w: 87,\n x: 88,\n y: 89,\n z: 90,\n '⌘': 91,\n command: 91,\n kp_0: 96,\n kp_1: 97,\n kp_2: 98,\n kp_3: 99,\n kp_4: 100,\n kp_5: 101,\n kp_6: 102,\n kp_7: 103,\n kp_8: 104,\n kp_9: 105,\n kp_multiply: 106,\n kp_plus: 107,\n kp_minus: 109,\n kp_decimal: 110,\n kp_divide: 111,\n f1: 112,\n f2: 113,\n f3: 114,\n f4: 115,\n f5: 116,\n f6: 117,\n f7: 118,\n f8: 119,\n f9: 120,\n f10: 121,\n f11: 122,\n f12: 123,\n equal: 187,\n '=': 187,\n comma: 188,\n ',': 188,\n minus: 189,\n '-': 189,\n period: 190,\n '.': 190\n },\n Sequence,\n NOOP = function NOOP() {},\n held = {};\n\n Sequence = function Sequence (str, next, fail, done) {\n var i;\n\n this.str = str;\n this.next = next ? next : NOOP;\n this.fail = fail ? fail : NOOP;\n this.done = done ? done : NOOP;\n\n this.seq = str.split(' ');\n this.keys = [];\n\n for (i=0; i 0) {\n this.reset();\n this.fail(this.str);\n cheet.__fail(this.str);\n }\n return;\n }\n\n this.next(this.str, this.seq[i], i, this.seq);\n cheet.__next(this.str, this.seq[i], i, this.seq);\n\n if (++this.idx === this.keys.length) {\n this.done(this.str);\n cheet.__done(this.str);\n this.reset();\n }\n };\n\n Sequence.prototype.reset = function () {\n this.idx = 0;\n };\n\n cheet = function cheet (str, handlers) {\n var next, fail, done;\n\n if (typeof handlers === 'function') {\n done = handlers;\n } else if (handlers !== null && handlers !== undefined) {\n next = handlers.next;\n fail = handlers.fail;\n done = handlers.done;\n }\n\n sequences[str] = new Sequence(str, next, fail, done);\n };\n\n cheet.disable = function disable (str) {\n delete sequences[str];\n };\n\n function keydown (e) {\n var id,\n k = e ? e.keyCode : event.keyCode;\n\n if (held[k]) return;\n held[k] = true;\n\n for (id in sequences) {\n sequences[id].keydown(k);\n }\n }\n\n function keyup (e) {\n var k = e ? e.keyCode : event.keyCode;\n held[k] = false;\n }\n\n function resetHeldKeys (e) {\n var k;\n for (k in held) {\n held[k] = false;\n }\n }\n\n function on (obj, type, fn) {\n if (obj.addEventListener) {\n obj.addEventListener(type, fn, false);\n } else if (obj.attachEvent) {\n obj['e' + type + fn] = fn;\n obj[type + fn] = function () {\n obj['e' + type + fn](window.event);\n };\n obj.attachEvent('on' + type, obj[type + fn]);\n }\n }\n\n on(window, 'keydown', keydown);\n on(window, 'keyup', keyup);\n on(window, 'blur', resetHeldKeys);\n on(window, 'focus', resetHeldKeys);\n\n cheet.__next = NOOP;\n cheet.next = function next (fn) {\n cheet.__next = fn === null ? NOOP : fn;\n };\n\n cheet.__fail = NOOP;\n cheet.fail = function fail (fn) {\n cheet.__fail = fn === null ? NOOP : fn;\n };\n\n cheet.__done = NOOP;\n cheet.done = function done (fn) {\n cheet.__done = fn === null ? NOOP : fn;\n };\n\n cheet.reset = function reset (id) {\n var seq = sequences[id];\n if (!(seq instanceof Sequence)) {\n console.warn('cheet: Unknown sequence: ' + id);\n return;\n }\n\n seq.reset();\n };\n\n global.cheet = cheet;\n\n if (typeof define === 'function' && define.amd) {\n define([], function () { return cheet; });\n } else if (typeof module !== 'undefined' && module !== null) {\n module.exports = cheet;\n }\n\n})(this);\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","var EN_US = ['second', 'minute', 'hour', 'day', 'week', 'month', 'year'];\nexport default function (diff, idx) {\n if (idx === 0)\n return ['just now', 'right now'];\n var unit = EN_US[Math.floor(idx / 2)];\n if (diff > 1)\n unit += 's';\n return [diff + \" \" + unit + \" ago\", \"in \" + diff + \" \" + unit];\n}\n//# sourceMappingURL=en_US.js.map","var ZH_CN = ['秒', '分钟', '小时', '天', '周', '个月', '年'];\nexport default function (diff, idx) {\n if (idx === 0)\n return ['刚刚', '片刻后'];\n var unit = ZH_CN[~~(idx / 2)];\n return [diff + \" \" + unit + \"\\u524D\", diff + \" \" + unit + \"\\u540E\"];\n}\n//# sourceMappingURL=zh_CN.js.map","/**\n * Created by hustcc on 18/5/20.\n * Contract: i@hust.cc\n */\n/**\n * All supported locales\n */\nvar Locales = {};\n/**\n * register a locale\n * @param locale\n * @param func\n */\nexport var register = function (locale, func) {\n Locales[locale] = func;\n};\n/**\n * get a locale, default is en_US\n * @param locale\n * @returns {*}\n */\nexport var getLocale = function (locale) {\n return Locales[locale] || Locales['en_US'];\n};\n//# sourceMappingURL=register.js.map","/**\n * Created by hustcc on 18/5/20.\n * Contract: i@hust.cc\n */\nvar SEC_ARRAY = [\n 60,\n 60,\n 24,\n 7,\n 365 / 7 / 12,\n 12,\n];\n/**\n * format Date / string / timestamp to timestamp\n * @param input\n * @returns {*}\n */\nexport function toDate(input) {\n if (input instanceof Date)\n return input;\n // @ts-ignore\n if (!isNaN(input) || /^\\d+$/.test(input))\n return new Date(parseInt(input));\n input = (input || '')\n // @ts-ignore\n .trim()\n .replace(/\\.\\d+/, '') // remove milliseconds\n .replace(/-/, '/')\n .replace(/-/, '/')\n .replace(/(\\d)T(\\d)/, '$1 $2')\n .replace(/Z/, ' UTC') // 2017-2-5T3:57:52Z -> 2017-2-5 3:57:52UTC\n .replace(/([+-]\\d\\d):?(\\d\\d)/, ' $1$2'); // -04:00 -> -0400\n return new Date(input);\n}\n/**\n * format the diff second to *** time ago, with setting locale\n * @param diff\n * @param localeFunc\n * @returns\n */\nexport function formatDiff(diff, localeFunc) {\n /**\n * if locale is not exist, use defaultLocale.\n * if defaultLocale is not exist, use build-in `en`.\n * be sure of no error when locale is not exist.\n *\n * If `time in`, then 1\n * If `time ago`, then 0\n */\n var agoIn = diff < 0 ? 1 : 0;\n /**\n * Get absolute value of number (|diff| is non-negative) value of x\n * |diff| = diff if diff is positive\n * |diff| = -diff if diff is negative\n * |0| = 0\n */\n diff = Math.abs(diff);\n /**\n * Time in seconds\n */\n var totalSec = diff;\n /**\n * Unit of time\n */\n var idx = 0;\n for (; diff >= SEC_ARRAY[idx] && idx < SEC_ARRAY.length; idx++) {\n diff /= SEC_ARRAY[idx];\n }\n /**\n * Math.floor() is alternative of ~~\n *\n * The differences and bugs:\n * Math.floor(3.7) -> 4 but ~~3.7 -> 3\n * Math.floor(1559125440000.6) -> 1559125440000 but ~~1559125440000.6 -> 52311552\n *\n * More information about the performance of algebraic:\n * https://www.youtube.com/watch?v=65-RbBwZQdU\n */\n diff = Math.floor(diff);\n idx *= 2;\n if (diff > (idx === 0 ? 9 : 1))\n idx += 1;\n return localeFunc(diff, idx, totalSec)[agoIn].replace('%s', diff.toString());\n}\n/**\n * calculate the diff second between date to be formatted an now date.\n * @param date\n * @param relativeDate\n * @returns {number}\n */\nexport function diffSec(date, relativeDate) {\n var relDate = relativeDate ? toDate(relativeDate) : new Date();\n return (+relDate - +toDate(date)) / 1000;\n}\n/**\n * nextInterval: calculate the next interval time.\n * - diff: the diff sec between now and date to be formatted.\n *\n * What's the meaning?\n * diff = 61 then return 59\n * diff = 3601 (an hour + 1 second), then return 3599\n * make the interval with high performance.\n **/\nexport function nextInterval(diff) {\n var rst = 1, i = 0, d = Math.abs(diff);\n for (; diff >= SEC_ARRAY[i] && i < SEC_ARRAY.length; i++) {\n diff /= SEC_ARRAY[i];\n rst *= SEC_ARRAY[i];\n }\n d = d % rst;\n d = d ? rst - d : rst;\n return Math.ceil(d);\n}\n//# sourceMappingURL=date.js.map","/**\n * Created by hustcc on 18/5/20.\n * Contract: i@hust.cc\n */\nimport en_US from './lang/en_US';\nimport zh_CN from './lang/zh_CN';\nimport { register } from './register';\nregister('en_US', en_US);\nregister('zh_CN', zh_CN);\nexport { format } from './format';\nexport { render, cancel } from './realtime';\nexport { register };\n//# sourceMappingURL=index.js.map","import { initListings } from './application/listing'\nimport { initSieveList } from './lib/sieve'\n\nwindow.addEventListener(\"DOMContentLoaded\", () => {\n initListings();\n initSieveList(\".sieveInput\", \".sieveList\");\n});\n\nvar cheet = require('cheet.js')\n\ncheet('↑ ↑ ↓ ↓ ← → ← → b a', function () {\n window.open(\"https://www.youtube.com/embed/iEaSaIhYZXg?autoplay=1\", \"popupWindow\", \"width=560,height=315\");\n});\n","import { format } from 'timeago.js'\n\nexport function initListings() {\n if (document.body.classList.contains('listings') && document.body.classList.contains('index')) {\n var timeago = document.querySelector('time.timeago')\n timeago.innerHTML = format(timeago.getAttribute('time'));\n }\n};\n\n","import { formatDiff, diffSec } from './utils/date';\nimport { getLocale } from './register';\n/**\n * format a TDate into string\n * @param date\n * @param locale\n * @param opts\n */\nexport var format = function (date, locale, opts) {\n // diff seconds\n var sec = diffSec(date, opts && opts.relativeDate);\n // format it with locale\n return formatDiff(sec, getLocale(locale));\n};\n//# sourceMappingURL=format.js.map","export function initSieveTable(inputSelector, tableSelector) {\n const input = document.querySelector(inputSelector);\n const table = document.querySelector(tableSelector);\n if (table === null) return;\n\n input.addEventListener(\"keyup\", () => {\n sieveTable(input, table);\n });\n}\n\nexport function initSieveList(inputSelector, listSelector) {\n const input = document.querySelector(inputSelector);\n const list = document.querySelector(listSelector);\n if (list === null) return;\n\n input.addEventListener(\"keyup\", () => {\n sieveList(input, list);\n });\n}\n\nfunction sieveList(input, list) {\n const filter = input.value.toLowerCase();\n var items = list.getElementsByTagName(\"li\");\n\n for(var item of items) {\n const itemText = item.textContent || item.innerText;\n if (itemText.toLowerCase().indexOf(filter) > -1) {\n item.style.display = \"\";\n } else {\n item.style.display = \"none\";\n }\n }\n}\n\nfunction sieveTable(input, table) {\n const filter = input.value.toLowerCase();\n var rows = table.getElementsByTagName(\"tr\");\n for(var row of rows) {\n const cells = row.getElementsByTagName(\"td\");\n\n for(var cell of cells) {\n const cellText = cell.textContent || cell.innerText;\n if (cellText.toLowerCase().indexOf(filter) > -1) {\n row.style.display = \"\";\n break; // If we have a match, *anywhere*, don't hide, and break so that we stop looking\n } else {\n row.style.display = \"none\";\n }\n }\n }\n}\n"],"names":["global","cheet","Sequence","sequences","keys","backspace","tab","enter","shift","control","ctrl","alt","option","pause","capslock","esc","space","pageup","pagedown","end","home","left","L","up","U","right","R","down","D","insert","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","command","kp_0","kp_1","kp_2","kp_3","kp_4","kp_5","kp_6","kp_7","kp_8","kp_9","kp_multiply","kp_plus","kp_minus","kp_decimal","kp_divide","f1","f2","f3","f4","f5","f6","f7","f8","f9","f10","f11","f12","equal","comma","minus","period","NOOP","held","resetHeldKeys","on","obj","type","fn","addEventListener","attachEvent","window","event","str","next","fail","done","this","seq","split","length","push","idx","prototype","keydown","keyCode","__next","__done","reset","__fail","handlers","disable","id","console","warn","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","call","EN_US","ZH_CN","Locales","register","locale","func","SEC_ARRAY","toDate","input","Date","isNaN","test","parseInt","trim","replace","diff","unit","Math","floor","document","body","classList","contains","timeago","querySelector","innerHTML","localeFunc","agoIn","totalSec","abs","toString","date","relativeDate","getAttribute","opts","initListings","inputSelector","listSelector","list","filter","value","toLowerCase","items","getElementsByTagName","item","textContent","innerText","indexOf","style","display","sieveList","initSieveList","open"],"sourceRoot":""}