wavelovers/docs/js/app.5de4fb60.js.map

1 line
34 KiB
Plaintext

{"version":3,"file":"js/app.5de4fb60.js","mappings":"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","sources":["webpack://wavelovers/./src/App.vue?9d68","webpack://wavelovers/./src/components/WaveloversApp.vue?49ce","webpack://wavelovers/./src/components/PatternList.vue?4ba1","webpack://wavelovers/./src/components/PatternItem.vue?8022","webpack://wavelovers/./src/components/PatternItem.vue?80c2","webpack://wavelovers/./src/components/PatternItem.vue","webpack://wavelovers/./src/components/PatternList.vue?eb4b","webpack://wavelovers/./src/components/PatternList.vue","webpack://wavelovers/./src/components/GamepadList.vue?306d","webpack://wavelovers/./src/components/GamepadItem.vue?ffc2","webpack://wavelovers/./src/components/GamepadItem.vue?ef0b","webpack://wavelovers/./src/components/GamepadItem.vue","webpack://wavelovers/./src/components/GamepadList.vue?8510","webpack://wavelovers/./src/components/GamepadList.vue","webpack://wavelovers/./src/components/MessageItem.vue?df26","webpack://wavelovers/./src/components/MessageItem.vue?b787","webpack://wavelovers/./src/components/MessageItem.vue","webpack://wavelovers/./src/components/Vibrator.ts","webpack://wavelovers/./src/components/WaveloversApp.vue?23c2","webpack://wavelovers/./src/components/WaveloversApp.vue","webpack://wavelovers/./src/App.vue?847a","webpack://wavelovers/./src/App.vue","webpack://wavelovers/./src/main.ts","webpack://wavelovers/webpack/bootstrap","webpack://wavelovers/webpack/runtime/chunk loaded","webpack://wavelovers/webpack/runtime/compat get default export","webpack://wavelovers/webpack/runtime/define property getters","webpack://wavelovers/webpack/runtime/global","webpack://wavelovers/webpack/runtime/hasOwnProperty shorthand","webpack://wavelovers/webpack/runtime/jsonp chunk loading","webpack://wavelovers/webpack/startup"],"sourcesContent":["import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock } from \"vue\"\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_Wavelovers = _resolveComponent(\"Wavelovers\")!\n\n return (_openBlock(), _createBlock(_component_Wavelovers))\n}","import { resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, withCtx as _withCtx, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"wavelovers\" }\nconst _hoisted_2 = /*#__PURE__*/_createTextVNode(\"Loading...\")\nconst _hoisted_3 = /*#__PURE__*/_createTextVNode(\"Press any gamepad's button or connect new gamepad.\")\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_PatternList = _resolveComponent(\"PatternList\")!\n const _component_MessageItem = _resolveComponent(\"MessageItem\")!\n const _component_GamepadList = _resolveComponent(\"GamepadList\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_ctx.patterns.length > 0)\n ? (_openBlock(), _createBlock(_component_PatternList, {\n key: 0,\n patterns: _ctx.patterns,\n mode: _ctx.mode,\n isActive: _ctx.isActive,\n onChange: _ctx.change\n }, null, 8, [\"patterns\", \"mode\", \"isActive\", \"onChange\"]))\n : (_openBlock(), _createBlock(_component_MessageItem, { key: 1 }, {\n default: _withCtx(() => [\n _hoisted_2\n ]),\n _: 1\n })),\n (_ctx.gamepads.length > 0)\n ? (_openBlock(), _createBlock(_component_GamepadList, {\n key: 2,\n gamepads: _ctx.gamepads\n }, null, 8, [\"gamepads\"]))\n : (_openBlock(), _createBlock(_component_MessageItem, { key: 3 }, {\n default: _withCtx(() => [\n _hoisted_3\n ]),\n _: 1\n }))\n ]))\n}","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"pattern-list\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_PatternItem = _resolveComponent(\"PatternItem\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.patterns, (pattern, index) => {\n return (_openBlock(), _createBlock(_component_PatternItem, {\n key: pattern.name,\n pattern: pattern,\n index: index,\n mode: _ctx.mode,\n isActive: _ctx.isActive,\n onChange: _ctx.change\n }, null, 8, [\"pattern\", \"index\", \"mode\", \"isActive\", \"onChange\"]))\n }), 128))\n ]))\n}","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = [\"textContent\"]\nconst _hoisted_2 = [\"textContent\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", {\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.change(_ctx.index))),\n class: _normalizeClass(['pattern-item',\r\n _ctx.index === _ctx.mode && _ctx.isActive === true ?\r\n 'pattern-item_selected' : '',\r\n ])\n }, [\n _createElementVNode(\"span\", {\n class: \"pattern-item__icon\",\n textContent: _toDisplayString(_ctx.pattern.icon)\n }, null, 8, _hoisted_1),\n _createElementVNode(\"span\", {\n class: \"pattern-item__name\",\n textContent: _toDisplayString(_ctx.pattern.name)\n }, null, 8, _hoisted_2)\n ], 2))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'PatternItem',\r\n props: {\r\n pattern: {\r\n type: Object,\r\n },\r\n index: {\r\n type: Number,\r\n },\r\n mode: {\r\n type: Number,\r\n },\r\n isActive: {\r\n type: Boolean,\r\n },\r\n },\r\n methods: {\r\n change(index: number): void {\r\n this.$emit('change', index);\r\n },\r\n },\r\n });\r\n","import { render } from \"./PatternItem.vue?vue&type=template&id=9978faf0&ts=true\"\nimport script from \"./PatternItem.vue?vue&type=script&lang=ts\"\nexport * from \"./PatternItem.vue?vue&type=script&lang=ts\"\n\nimport \"./PatternItem.vue?vue&type=style&index=0&id=9978faf0&lang=css\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n import { defineComponent } from 'vue';\r\n import PatternItem from '@/components/PatternItem.vue';\r\n\r\n export default defineComponent({\r\n name: 'PatternList',\r\n props: {\r\n patterns: {\r\n type: Array,\r\n },\r\n mode: {\r\n type: Number,\r\n },\r\n isActive: {\r\n type: Boolean,\r\n },\r\n },\r\n components: {\r\n PatternItem: PatternItem,\r\n },\r\n methods: {\r\n change(index: number): void {\r\n this.$emit('change', index);\r\n },\r\n },\r\n });\r\n","import { render } from \"./PatternList.vue?vue&type=template&id=73431295&ts=true\"\nimport script from \"./PatternList.vue?vue&type=script&lang=ts\"\nexport * from \"./PatternList.vue?vue&type=script&lang=ts\"\n\nimport \"./PatternList.vue?vue&type=style&index=0&id=73431295&lang=css\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, toDisplayString as _toDisplayString, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"device-list\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_GamepadItem = _resolveComponent(\"GamepadItem\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_ctx.gamepads, (gamepad) => {\n return (_openBlock(), _createBlock(_component_GamepadItem, {\n key: gamepad.id,\n textContent: _toDisplayString(gamepad.unit.id)\n }, null, 8, [\"textContent\"]))\n }), 128))\n ]))\n}","import { openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"list-item\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'GamepadItem',\r\n });\r\n","import { render } from \"./GamepadItem.vue?vue&type=template&id=1327133d&ts=true\"\nimport script from \"./GamepadItem.vue?vue&type=script&lang=ts\"\nexport * from \"./GamepadItem.vue?vue&type=script&lang=ts\"\n\nimport \"./GamepadItem.vue?vue&type=style&index=0&id=1327133d&lang=css\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\r\n import { defineComponent } from 'vue';\r\n import GamepadItem from '@/components/GamepadItem.vue';\r\n\r\n export default defineComponent({\r\n name: 'GamepadList',\r\n props: {\r\n gamepads: {\r\n type: Array,\r\n },\r\n },\r\n components: {\r\n GamepadItem: GamepadItem,\r\n },\r\n });\r\n ","import { render } from \"./GamepadList.vue?vue&type=template&id=1e070cff&ts=true\"\nimport script from \"./GamepadList.vue?vue&type=script&lang=ts\"\nexport * from \"./GamepadList.vue?vue&type=script&lang=ts\"\n\nimport \"./GamepadList.vue?vue&type=style&index=0&id=1e070cff&lang=css\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { renderSlot as _renderSlot, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"message\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"span\", null, [\n _renderSlot(_ctx.$slots, \"default\")\n ])\n ]))\n}","\r\n import { defineComponent } from 'vue';\r\n\r\n export default defineComponent({\r\n name: 'MessageItem',\r\n });\r\n","import { render } from \"./MessageItem.vue?vue&type=template&id=64e1789c&ts=true\"\nimport script from \"./MessageItem.vue?vue&type=script&lang=ts\"\nexport * from \"./MessageItem.vue?vue&type=script&lang=ts\"\n\nimport \"./MessageItem.vue?vue&type=style&index=0&id=64e1789c&lang=css\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","interface IPatternUnit {\r\n startDelay: number,\r\n duration: number,\r\n weakMagnitude: number,\r\n strongMagnitude: number,\r\n}\r\n\r\ninterface IVibrationActuator {\r\n type: string;\r\n reset(): void;\r\n playEffect(mode: string, pattern: IPatternUnit): void;\r\n}\r\n\r\ninterface IGamepad {\r\n id: string;\r\n index: number;\r\n timestamp: number;\r\n connected: boolean;\r\n vibrationActuator: IVibrationActuator;\r\n}\r\n\r\ninterface IVibrator {\r\n readonly id: number,\r\n readonly canVibrate: boolean;\r\n isVibrating: boolean;\r\n unit: IGamepad;\r\n pattern: IPatternUnit[];\r\n update(): void;\r\n reset(): void;\r\n vibrate(pattern: IPatternUnit[]): void;\r\n sleep(ms: number): Promise<number>;\r\n}\r\n\r\nexport default class Vibrator implements IVibrator {\r\n readonly id: number;\r\n readonly canVibrate: boolean;\r\n isVibrating: boolean;\r\n unit: IGamepad;\r\n pattern: IPatternUnit[];\r\n\r\n constructor(unit: IGamepad) {\r\n this.unit = unit;\r\n this.id = Date.now();\r\n this.canVibrate = (this.unit.vibrationActuator) ? true : false;\r\n this.isVibrating = false;\r\n this.pattern = [];\r\n }\r\n\r\n update(): void {\r\n const gamepads = navigator.getGamepads();\r\n this.unit = <IGamepad><any>gamepads[this.unit.index];\r\n }\r\n\r\n reset(): void {\r\n this.isVibrating = false;\r\n this.unit.vibrationActuator.reset();\r\n }\r\n\r\n async vibrate(pattern: IPatternUnit[]) {\r\n this.isVibrating = true;\r\n this.pattern = pattern;\r\n\r\n while (this.isVibrating === true) {\r\n for (let i = 0; i < this.pattern.length; i++) {\r\n if (this.isVibrating === true) {\r\n this.unit.vibrationActuator.playEffect('dual-rumble', this.pattern[i]);\r\n await this.sleep(this.pattern[i].startDelay + this.pattern[i].duration + 100);\r\n } else {\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n\r\n sleep(ms: number): Promise<number> {\r\n return new Promise(resolve => setTimeout(resolve, ms));\r\n }\r\n}\r\n\r\n","\r\n import { defineComponent } from 'vue';\r\n import PatternList from '@/components/PatternList.vue';\r\n import GamepadList from '@/components/GamepadList.vue';\r\n import MessageItem from '@/components/MessageItem.vue';\r\n import Vibrator from '@/components/Vibrator';\r\n\r\n interface IVibrationActuator {\r\n type: string;\r\n reset(): void;\r\n playEffect(mode: string, pattern: IPatternUnit): void;\r\n }\r\n\r\n interface IGamepad {\r\n id: string;\r\n index: number;\r\n timestamp: number;\r\n connected: boolean;\r\n vibrationActuator: IVibrationActuator;\r\n }\r\n\r\n interface Event {\r\n gamepad: IGamepad | any;\r\n }\r\n\r\n interface IPattern {\r\n pattern: IPatternUnit[];\r\n }\r\n\r\n interface IPatternUnit {\r\n startDelay: number,\r\n duration: number,\r\n weakMagnitude: number,\r\n strongMagnitude: number,\r\n }\r\n\r\n interface IVibrator {\r\n unit: IGamepad;\r\n update(): void;\r\n reset(): void;\r\n vibrate(pattern: IPatternUnit[]): void;\r\n }\r\n\r\n export default defineComponent({\r\n name: 'WaveloversApp',\r\n components: {\r\n PatternList: PatternList,\r\n GamepadList: GamepadList,\r\n MessageItem: MessageItem,\r\n },\r\n data: () => {\r\n return {\r\n gamepads: [] as IVibrator[],\r\n patterns: [] as IPattern[],\r\n isActive: false,\r\n mode: 0,\r\n };\r\n },\r\n methods: {\r\n loadPatterns: async function () {\r\n const url = 'https://wavelovers.ru/assets/patterns.json';\r\n try {\r\n const response = await fetch(url);\r\n if (response.ok) {\r\n let json = await response.json();\r\n this.patterns = json;\r\n } else {\r\n console.log('Connect to the Internet for download more patterns...');\r\n }\r\n } catch (error) {\r\n console.log('[error]', error);\r\n }\r\n },\r\n addEventListeners(): void {\r\n window.addEventListener('gamepadconnected', (event: Event) => this.addGamepad(event));\r\n window.addEventListener('gamepaddisconnected', (event: Event) => this.deleteGamepad(event));\r\n },\r\n addGamepad(event: Event) {\r\n if (this.gamepads.length >= 1) {\r\n return;\r\n } else {\r\n this.gamepads.push(new Vibrator(event.gamepad));\r\n }\r\n },\r\n deleteGamepad(event: Event) {\r\n this.gamepads.forEach((gamepad, index) => {\r\n if (gamepad.unit.id === event.gamepad.id) {\r\n this.gamepads.splice(index, 1);\r\n }\r\n });\r\n },\r\n change(index: number) {\r\n if (this.mode === index) {\r\n this.isActive = !this.isActive;\r\n this.reset();\r\n } else {\r\n this.isActive = true;\r\n this.mode = index;\r\n }\r\n if (this.isActive === true) {\r\n this.reset();\r\n this.vibrate();\r\n }\r\n },\r\n vibrate() {\r\n this.gamepads.forEach(gamepad => {\r\n gamepad.vibrate(this.patterns[this.mode].pattern);\r\n });\r\n },\r\n reset() {\r\n this.gamepads.forEach(gamepad => {\r\n gamepad.reset();\r\n });\r\n },\r\n },\r\n mounted() {\r\n this.loadPatterns();\r\n this.addEventListeners();\r\n },\r\n });\r\n","import { render } from \"./WaveloversApp.vue?vue&type=template&id=cd0f4222&ts=true\"\nimport script from \"./WaveloversApp.vue?vue&type=script&lang=ts\"\nexport * from \"./WaveloversApp.vue?vue&type=script&lang=ts\"\n\nimport \"./WaveloversApp.vue?vue&type=style&index=0&id=cd0f4222&lang=css\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","\n import { defineComponent } from 'vue';\n import WaveloversApp from '@/components/WaveloversApp.vue';\n\n export default defineComponent({\n name: 'App',\n components: {\n Wavelovers: WaveloversApp,\n },\n });\n","import { render } from \"./App.vue?vue&type=template&id=04aaecd4&ts=true\"\nimport script from \"./App.vue?vue&type=script&lang=ts\"\nexport * from \"./App.vue?vue&type=script&lang=ts\"\n\nimport exportComponent from \"E:\\\\Sources\\\\Repos\\\\wavelovers\\\\node_modules\\\\vue-loader\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { createApp } from 'vue'\nimport App from './App.vue'\n\ncreateApp(App).mount('#app')\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](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkwavelovers\"] = self[\"webpackChunkwavelovers\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(2010); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["render","_ctx","_cache","$props","$setup","$data","$options","_component_Wavelovers","_resolveComponent","_openBlock","_createBlock","_hoisted_1","class","_hoisted_2","_createTextVNode","_hoisted_3","_component_PatternList","_component_MessageItem","_component_GamepadList","_createElementBlock","patterns","length","key","mode","isActive","onChange","change","default","_withCtx","_","gamepads","_component_PatternItem","_Fragment","_renderList","pattern","index","name","onClick","$event","_normalizeClass","_createElementVNode","textContent","_toDisplayString","icon","defineComponent","props","type","Object","Number","Boolean","methods","this","$emit","__exports__","Array","components","PatternItem","_component_GamepadItem","gamepad","id","unit","GamepadItem","_renderSlot","$slots","Vibrator","constructor","Date","now","canVibrate","vibrationActuator","isVibrating","update","navigator","getGamepads","reset","i","playEffect","sleep","startDelay","duration","ms","Promise","resolve","setTimeout","PatternList","GamepadList","MessageItem","data","loadPatterns","async","url","response","fetch","ok","json","console","log","error","addEventListeners","window","addEventListener","event","addGamepad","deleteGamepad","push","forEach","splice","vibrate","mounted","Wavelovers","WaveloversApp","createApp","App","mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","__webpack_modules__","m","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","j","keys","every","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","g","globalThis","Function","e","obj","prop","prototype","hasOwnProperty","call","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","bind","__webpack_exports__"],"sourceRoot":""}